test(frontend): migrate MSW in Storybook to v2 (#13195)

This commit is contained in:
zyoshoka 2024-02-08 13:28:49 +09:00 committed by GitHub
parent 82c34f7f45
commit 5299d17060
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 140 additions and 143 deletions

View file

@ -286,18 +286,17 @@ export const argTypes = {
min: 1, min: 1,
max: 4, max: 4,
}, },
},
}; };
``` ```
Also, you can use msw to mock API requests in the storybook. Creating a `MyComponent.stories.msw.ts` file to define the mock handlers. Also, you can use msw to mock API requests in the storybook. Creating a `MyComponent.stories.msw.ts` file to define the mock handlers.
```ts ```ts
import { rest } from 'msw'; import { HttpResponse, http } from 'msw';
export const handlers = [ export const handlers = [
rest.post('/api/notes/timeline', (req, res, ctx) => { http.post('/api/notes/timeline', ({ request }) => {
return res( return HttpResponse.json([]);
ctx.json([]),
);
}), }),
]; ];
``` ```

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only * SPDX-License-Identifier: AGPL-3.0-only
*/ */
import { type SharedOptions, rest } from 'msw'; import { type SharedOptions, http, HttpResponse } from 'msw';
export const onUnhandledRequest = ((req, print) => { export const onUnhandledRequest = ((req, print) => {
if (req.url.hostname !== 'localhost' || /^\/(?:client-assets\/|fluent-emojis?\/|iframe.html$|node_modules\/|src\/|sb-|static-assets\/|vite\/)/.test(req.url.pathname)) { if (req.url.hostname !== 'localhost' || /^\/(?:client-assets\/|fluent-emojis?\/|iframe.html$|node_modules\/|src\/|sb-|static-assets\/|vite\/)/.test(req.url.pathname)) {
@ -13,19 +13,31 @@ export const onUnhandledRequest = ((req, print) => {
}) satisfies SharedOptions['onUnhandledRequest']; }) satisfies SharedOptions['onUnhandledRequest'];
export const commonHandlers = [ export const commonHandlers = [
rest.get('/fluent-emoji/:codepoints.png', async (req, res, ctx) => { http.get('/fluent-emoji/:codepoints.png', async ({ params }) => {
const { codepoints } = req.params; const { codepoints } = params;
const value = await fetch(`https://raw.githubusercontent.com/misskey-dev/emojis/main/dist/${codepoints}.png`).then((response) => response.blob()); const value = await fetch(`https://raw.githubusercontent.com/misskey-dev/emojis/main/dist/${codepoints}.png`).then((response) => response.blob());
return res(ctx.set('Content-Type', 'image/png'), ctx.body(value)); return new HttpResponse(value, {
headers: {
'Content-Type': 'image/png',
},
});
}), }),
rest.get('/fluent-emojis/:codepoints.png', async (req, res, ctx) => { http.get('/fluent-emojis/:codepoints.png', async ({ params }) => {
const { codepoints } = req.params; const { codepoints } = params;
const value = await fetch(`https://raw.githubusercontent.com/misskey-dev/emojis/main/dist/${codepoints}.png`).then((response) => response.blob()); const value = await fetch(`https://raw.githubusercontent.com/misskey-dev/emojis/main/dist/${codepoints}.png`).then((response) => response.blob());
return res(ctx.set('Content-Type', 'image/png'), ctx.body(value)); return new HttpResponse(value, {
headers: {
'Content-Type': 'image/png',
},
});
}), }),
rest.get('/twemoji/:codepoints.svg', async (req, res, ctx) => { http.get('/twemoji/:codepoints.svg', async ({ params }) => {
const { codepoints } = req.params; const { codepoints } = params;
const value = await fetch(`https://unpkg.com/@discordapp/twemoji@15.0.2/dist/svg/${codepoints}.svg`).then((response) => response.blob()); const value = await fetch(`https://unpkg.com/@discordapp/twemoji@15.0.2/dist/svg/${codepoints}.svg`).then((response) => response.blob());
return res(ctx.set('Content-Type', 'image/svg+xml'), ctx.body(value)); return new HttpResponse(value, {
headers: {
'Content-Type': 'image/svg+xml',
},
});
}), }),
]; ];

View file

@ -122,8 +122,8 @@
"happy-dom": "10.0.3", "happy-dom": "10.0.3",
"intersection-observer": "0.12.2", "intersection-observer": "0.12.2",
"micromatch": "4.0.5", "micromatch": "4.0.5",
"msw": "2.1.2", "msw": "2.1.7",
"msw-storybook-addon": "1.10.0", "msw-storybook-addon": "2.0.0-beta.1",
"nodemon": "3.0.3", "nodemon": "3.0.3",
"prettier": "3.2.4", "prettier": "3.2.4",
"react": "18.2.0", "react": "18.2.0",

View file

@ -6,7 +6,7 @@
/* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable @typescript-eslint/explicit-function-return-type */
import { action } from '@storybook/addon-actions'; import { action } from '@storybook/addon-actions';
import { StoryObj } from '@storybook/vue3'; import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw'; import { HttpResponse, http } from 'msw';
import { abuseUserReport } from '../../.storybook/fakes.js'; import { abuseUserReport } from '../../.storybook/fakes.js';
import { commonHandlers } from '../../.storybook/mocks.js'; import { commonHandlers } from '../../.storybook/mocks.js';
import MkAbuseReport from './MkAbuseReport.vue'; import MkAbuseReport from './MkAbuseReport.vue';
@ -44,9 +44,9 @@ export const Default = {
msw: { msw: {
handlers: [ handlers: [
...commonHandlers, ...commonHandlers,
rest.post('/api/admin/resolve-abuse-user-report', async (req, res, ctx) => { http.post('/api/admin/resolve-abuse-user-report', async ({ request }) => {
action('POST /api/admin/resolve-abuse-user-report')(await req.json()); action('POST /api/admin/resolve-abuse-user-report')(await request.json());
return res(ctx.json({})); return HttpResponse.json({});
}), }),
], ],
}, },

View file

@ -6,7 +6,7 @@
/* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable @typescript-eslint/explicit-function-return-type */
import { action } from '@storybook/addon-actions'; import { action } from '@storybook/addon-actions';
import { StoryObj } from '@storybook/vue3'; import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw'; import { HttpResponse, http } from 'msw';
import { userDetailed } from '../../.storybook/fakes.js'; import { userDetailed } from '../../.storybook/fakes.js';
import { commonHandlers } from '../../.storybook/mocks.js'; import { commonHandlers } from '../../.storybook/mocks.js';
import MkAbuseReportWindow from './MkAbuseReportWindow.vue'; import MkAbuseReportWindow from './MkAbuseReportWindow.vue';
@ -44,9 +44,9 @@ export const Default = {
msw: { msw: {
handlers: [ handlers: [
...commonHandlers, ...commonHandlers,
rest.post('/api/users/report-abuse', async (req, res, ctx) => { http.post('/api/users/report-abuse', async ({ request }) => {
action('POST /api/users/report-abuse')(await req.json()); action('POST /api/users/report-abuse')(await request.json());
return res(ctx.json({})); return HttpResponse.json({});
}), }),
], ],
}, },

View file

@ -5,7 +5,7 @@
/* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable @typescript-eslint/explicit-function-return-type */
import { StoryObj } from '@storybook/vue3'; import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw'; import { HttpResponse, http } from 'msw';
import { userDetailed } from '../../.storybook/fakes.js'; import { userDetailed } from '../../.storybook/fakes.js';
import { commonHandlers } from '../../.storybook/mocks.js'; import { commonHandlers } from '../../.storybook/mocks.js';
import MkAchievements from './MkAchievements.vue'; import MkAchievements from './MkAchievements.vue';
@ -39,8 +39,8 @@ export const Empty = {
msw: { msw: {
handlers: [ handlers: [
...commonHandlers, ...commonHandlers,
rest.post('/api/users/achievements', (req, res, ctx) => { http.post('/api/users/achievements', () => {
return res(ctx.json([])); return HttpResponse.json([]);
}), }),
], ],
}, },
@ -52,8 +52,8 @@ export const All = {
msw: { msw: {
handlers: [ handlers: [
...commonHandlers, ...commonHandlers,
rest.post('/api/users/achievements', (req, res, ctx) => { http.post('/api/users/achievements', () => {
return res(ctx.json(ACHIEVEMENT_TYPES.map((name) => ({ name, unlockedAt: 0 })))); return HttpResponse.json(ACHIEVEMENT_TYPES.map((name) => ({ name, unlockedAt: 0 })));
}), }),
], ],
}, },

View file

@ -8,7 +8,7 @@ import { action } from '@storybook/addon-actions';
import { expect } from '@storybook/jest'; import { expect } from '@storybook/jest';
import { userEvent, waitFor, within } from '@storybook/testing-library'; import { userEvent, waitFor, within } from '@storybook/testing-library';
import { StoryObj } from '@storybook/vue3'; import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw'; import { HttpResponse, http } from 'msw';
import { userDetailed } from '../../.storybook/fakes.js'; import { userDetailed } from '../../.storybook/fakes.js';
import { commonHandlers } from '../../.storybook/mocks.js'; import { commonHandlers } from '../../.storybook/mocks.js';
import MkAutocomplete from './MkAutocomplete.vue'; import MkAutocomplete from './MkAutocomplete.vue';
@ -99,11 +99,11 @@ export const User = {
msw: { msw: {
handlers: [ handlers: [
...commonHandlers, ...commonHandlers,
rest.post('/api/users/search-by-username-and-host', (req, res, ctx) => { http.post('/api/users/search-by-username-and-host', () => {
return res(ctx.json([ return HttpResponse.json([
userDetailed('44', 'mizuki', 'misskey-hub.net', 'Mizuki'), userDetailed('44', 'mizuki', 'misskey-hub.net', 'Mizuki'),
userDetailed('49', 'momoko', 'misskey-hub.net', 'Momoko'), userDetailed('49', 'momoko', 'misskey-hub.net', 'Momoko'),
])); ]);
}), }),
], ],
}, },
@ -132,12 +132,12 @@ export const Hashtag = {
msw: { msw: {
handlers: [ handlers: [
...commonHandlers, ...commonHandlers,
rest.post('/api/hashtags/search', (req, res, ctx) => { http.post('/api/hashtags/search', () => {
return res(ctx.json([ return HttpResponse.json([
'気象警報注意報', '気象警報注意報',
'気象警報', '気象警報',
'気象情報', '気象情報',
])); ]);
}), }),
], ],
}, },

View file

@ -5,7 +5,7 @@
/* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable @typescript-eslint/explicit-function-return-type */
import { StoryObj } from '@storybook/vue3'; import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw'; import { HttpResponse, http } from 'msw';
import { userDetailed } from '../../.storybook/fakes.js'; import { userDetailed } from '../../.storybook/fakes.js';
import { commonHandlers } from '../../.storybook/mocks.js'; import { commonHandlers } from '../../.storybook/mocks.js';
import MkAvatars from './MkAvatars.vue'; import MkAvatars from './MkAvatars.vue';
@ -38,12 +38,12 @@ export const Default = {
msw: { msw: {
handlers: [ handlers: [
...commonHandlers, ...commonHandlers,
rest.post('/api/users/show', (req, res, ctx) => { http.post('/api/users/show', () => {
return res(ctx.json([ return HttpResponse.json([
userDetailed('17'), userDetailed('17'),
userDetailed('20'), userDetailed('20'),
userDetailed('18'), userDetailed('18'),
])); ]);
}), }),
], ],
}, },

View file

@ -5,7 +5,7 @@
/* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable @typescript-eslint/explicit-function-return-type */
import { StoryObj } from '@storybook/vue3'; import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw'; import { HttpResponse, http } from 'msw';
import { userDetailed, inviteCode } from '../../.storybook/fakes.js'; import { userDetailed, inviteCode } from '../../.storybook/fakes.js';
import { commonHandlers } from '../../.storybook/mocks.js'; import { commonHandlers } from '../../.storybook/mocks.js';
import MkInviteCode from './MkInviteCode.vue'; import MkInviteCode from './MkInviteCode.vue';
@ -39,8 +39,8 @@ export const Default = {
msw: { msw: {
handlers: [ handlers: [
...commonHandlers, ...commonHandlers,
rest.post('/api/users/show', (req, res, ctx) => { http.post('/api/users/show', ({ params }) => {
return res(ctx.json(userDetailed(req.params.userId as string))); return HttpResponse.json(userDetailed(params.userId as string));
}), }),
], ],
}, },

View file

@ -5,7 +5,7 @@
/* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable @typescript-eslint/explicit-function-return-type */
import { StoryObj } from '@storybook/vue3'; import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw'; import { HttpResponse, http } from 'msw';
import { commonHandlers } from '../../.storybook/mocks.js'; import { commonHandlers } from '../../.storybook/mocks.js';
import { userDetailed } from '../../.storybook/fakes.js'; import { userDetailed } from '../../.storybook/fakes.js';
import MkUserSetupDialog_Follow from './MkUserSetupDialog.Follow.vue'; import MkUserSetupDialog_Follow from './MkUserSetupDialog.Follow.vue';
@ -38,17 +38,17 @@ export const Default = {
msw: { msw: {
handlers: [ handlers: [
...commonHandlers, ...commonHandlers,
rest.post('/api/users', (req, res, ctx) => { http.post('/api/users', () => {
return res(ctx.json([ return HttpResponse.json([
userDetailed('44'), userDetailed('44'),
userDetailed('49'), userDetailed('49'),
])); ]);
}), }),
rest.post('/api/pinned-users', (req, res, ctx) => { http.post('/api/pinned-users', () => {
return res(ctx.json([ return HttpResponse.json([
userDetailed('44'), userDetailed('44'),
userDetailed('49'), userDetailed('49'),
])); ]);
}), }),
], ],
}, },

View file

@ -5,7 +5,7 @@
/* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable @typescript-eslint/explicit-function-return-type */
import { StoryObj } from '@storybook/vue3'; import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw'; import { HttpResponse, http } from 'msw';
import { commonHandlers } from '../../.storybook/mocks.js'; import { commonHandlers } from '../../.storybook/mocks.js';
import { userDetailed } from '../../.storybook/fakes.js'; import { userDetailed } from '../../.storybook/fakes.js';
import MkUserSetupDialog from './MkUserSetupDialog.vue'; import MkUserSetupDialog from './MkUserSetupDialog.vue';
@ -38,17 +38,17 @@ export const Default = {
msw: { msw: {
handlers: [ handlers: [
...commonHandlers, ...commonHandlers,
rest.post('/api/users', (req, res, ctx) => { http.post('/api/users', () => {
return res(ctx.json([ return HttpResponse.json([
userDetailed('44'), userDetailed('44'),
userDetailed('49'), userDetailed('49'),
])); ]);
}), }),
rest.post('/api/pinned-users', (req, res, ctx) => { http.post('/api/pinned-users', () => {
return res(ctx.json([ return HttpResponse.json([
userDetailed('44'), userDetailed('44'),
userDetailed('49'), userDetailed('49'),
])); ]);
}), }),
], ],
}, },

View file

@ -7,7 +7,7 @@
import { expect } from '@storybook/jest'; import { expect } from '@storybook/jest';
import { userEvent, waitFor, within } from '@storybook/testing-library'; import { userEvent, waitFor, within } from '@storybook/testing-library';
import { StoryObj } from '@storybook/vue3'; import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw'; import { HttpResponse, http } from 'msw';
import { commonHandlers } from '../../../.storybook/mocks.js'; import { commonHandlers } from '../../../.storybook/mocks.js';
import MkUrl from './MkUrl.vue'; import MkUrl from './MkUrl.vue';
export const Default = { export const Default = {
@ -59,8 +59,8 @@ export const Default = {
msw: { msw: {
handlers: [ handlers: [
...commonHandlers, ...commonHandlers,
rest.get('/url', (req, res, ctx) => { http.get('/url', () => {
return res(ctx.json({ return HttpResponse.json({
title: 'Misskey Hub', title: 'Misskey Hub',
icon: 'https://misskey-hub.net/favicon.ico', icon: 'https://misskey-hub.net/favicon.ico',
description: 'Misskeyはオープンソースの分散型ソーシャルネットワーキングプラットフォームです。', description: 'Misskeyはオープンソースの分散型ソーシャルネットワーキングプラットフォームです。',
@ -74,7 +74,7 @@ export const Default = {
sitename: 'misskey-hub.net', sitename: 'misskey-hub.net',
sensitive: false, sensitive: false,
url: 'https://misskey-hub.net/', url: 'https://misskey-hub.net/',
})); });
}), }),
], ],
}, },

View file

@ -5,7 +5,7 @@
/* eslint-disable @typescript-eslint/explicit-function-return-type */ /* eslint-disable @typescript-eslint/explicit-function-return-type */
import { StoryObj } from '@storybook/vue3'; import { StoryObj } from '@storybook/vue3';
import { rest } from 'msw'; import { HttpResponse, http } from 'msw';
import { userDetailed } from '../../../.storybook/fakes.js'; import { userDetailed } from '../../../.storybook/fakes.js';
import { commonHandlers } from '../../../.storybook/mocks.js'; import { commonHandlers } from '../../../.storybook/mocks.js';
import home_ from './home.vue'; import home_ from './home.vue';
@ -39,12 +39,13 @@ export const Default = {
msw: { msw: {
handlers: [ handlers: [
...commonHandlers, ...commonHandlers,
rest.post('/api/users/notes', (req, res, ctx) => { http.post('/api/users/notes', () => {
return res(ctx.json([])); return HttpResponse.json([]);
}), }),
rest.get('/api/charts/user/notes', (req, res, ctx) => { http.get('/api/charts/user/notes', ({ request }) => {
const length = Math.max(Math.min(parseInt(req.url.searchParams.get('limit') ?? '30', 10), 1), 300); const url = new URL(request.url);
return res(ctx.json({ const length = Math.max(Math.min(parseInt(url.searchParams.get('limit') ?? '30', 10), 1), 300);
return HttpResponse.json({
total: Array.from({ length }, () => 0), total: Array.from({ length }, () => 0),
inc: Array.from({ length }, () => 0), inc: Array.from({ length }, () => 0),
dec: Array.from({ length }, () => 0), dec: Array.from({ length }, () => 0),
@ -54,11 +55,12 @@ export const Default = {
renote: Array.from({ length }, () => 0), renote: Array.from({ length }, () => 0),
withFile: Array.from({ length }, () => 0), withFile: Array.from({ length }, () => 0),
}, },
})); });
}), }),
rest.get('/api/charts/user/pv', (req, res, ctx) => { http.get('/api/charts/user/pv', ({ request }) => {
const length = Math.max(Math.min(parseInt(req.url.searchParams.get('limit') ?? '30', 10), 1), 300); const url = new URL(request.url);
return res(ctx.json({ const length = Math.max(Math.min(parseInt(url.searchParams.get('limit') ?? '30', 10), 1), 300);
return HttpResponse.json({
upv: { upv: {
user: Array.from({ length }, () => 0), user: Array.from({ length }, () => 0),
visitor: Array.from({ length }, () => 0), visitor: Array.from({ length }, () => 0),
@ -67,7 +69,7 @@ export const Default = {
user: Array.from({ length }, () => 0), user: Array.from({ length }, () => 0),
visitor: Array.from({ length }, () => 0), visitor: Array.from({ length }, () => 0),
}, },
})); });
}), }),
], ],
}, },

View file

@ -978,11 +978,11 @@ importers:
specifier: 4.0.5 specifier: 4.0.5
version: 4.0.5 version: 4.0.5
msw: msw:
specifier: 2.1.2 specifier: 2.1.7
version: 2.1.2(typescript@5.3.3) version: 2.1.7(typescript@5.3.3)
msw-storybook-addon: msw-storybook-addon:
specifier: 1.10.0 specifier: 2.0.0-beta.1
version: 1.10.0(msw@2.1.2) version: 2.0.0-beta.1(msw@2.1.7)
nodemon: nodemon:
specifier: 3.0.3 specifier: 3.0.3
version: 3.0.3 version: 3.0.3
@ -1909,7 +1909,7 @@ packages:
'@babel/traverse': 7.22.11 '@babel/traverse': 7.22.11
'@babel/types': 7.22.17 '@babel/types': 7.22.17
convert-source-map: 1.9.0 convert-source-map: 1.9.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
gensync: 1.0.0-beta.2 gensync: 1.0.0-beta.2
json5: 2.2.3 json5: 2.2.3
semver: 6.3.1 semver: 6.3.1
@ -1932,7 +1932,7 @@ packages:
'@babel/traverse': 7.23.5 '@babel/traverse': 7.23.5
'@babel/types': 7.23.5 '@babel/types': 7.23.5
convert-source-map: 2.0.0 convert-source-map: 2.0.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
gensync: 1.0.0-beta.2 gensync: 1.0.0-beta.2
json5: 2.2.3 json5: 2.2.3
semver: 6.3.1 semver: 6.3.1
@ -2034,7 +2034,7 @@ packages:
'@babel/core': 7.23.5 '@babel/core': 7.23.5
'@babel/helper-compilation-targets': 7.22.15 '@babel/helper-compilation-targets': 7.22.15
'@babel/helper-plugin-utils': 7.22.5 '@babel/helper-plugin-utils': 7.22.5
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
lodash.debounce: 4.0.8 lodash.debounce: 4.0.8
resolve: 1.22.8 resolve: 1.22.8
transitivePeerDependencies: transitivePeerDependencies:
@ -3433,7 +3433,7 @@ packages:
'@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.23.5 '@babel/parser': 7.23.5
'@babel/types': 7.22.17 '@babel/types': 7.22.17
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
globals: 11.12.0 globals: 11.12.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -3451,7 +3451,7 @@ packages:
'@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.23.6 '@babel/parser': 7.23.6
'@babel/types': 7.23.5 '@babel/types': 7.23.5
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
globals: 11.12.0 globals: 11.12.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -3521,12 +3521,6 @@ packages:
cookie: 0.5.0 cookie: 0.5.0
dev: true dev: true
/@bundled-es-modules/js-levenshtein@2.0.1:
resolution: {integrity: sha512-DERMS3yfbAljKsQc0U2wcqGKUWpdFjwqWuoMugEJlqBnKO180/n+4SR/J8MRDt1AN48X1ovgoD9KrdVXcaa3Rg==}
dependencies:
js-levenshtein: 1.1.6
dev: true
/@bundled-es-modules/statuses@1.0.1: /@bundled-es-modules/statuses@1.0.1:
resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==}
dependencies: dependencies:
@ -4158,7 +4152,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies: dependencies:
ajv: 6.12.6 ajv: 6.12.6
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
espree: 9.6.1 espree: 9.6.1
globals: 13.19.0 globals: 13.19.0
ignore: 5.2.4 ignore: 5.2.4
@ -4175,7 +4169,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies: dependencies:
ajv: 6.12.6 ajv: 6.12.6
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
espree: 9.6.1 espree: 9.6.1
globals: 13.19.0 globals: 13.19.0
ignore: 5.2.4 ignore: 5.2.4
@ -4410,7 +4404,7 @@ packages:
engines: {node: '>=10.10.0'} engines: {node: '>=10.10.0'}
dependencies: dependencies:
'@humanwhocodes/object-schema': 2.0.1 '@humanwhocodes/object-schema': 2.0.1
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
minimatch: 3.1.2 minimatch: 3.1.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -4974,8 +4968,8 @@ packages:
engines: {node: '>=18'} engines: {node: '>=18'}
dev: true dev: true
/@mswjs/interceptors@0.25.14: /@mswjs/interceptors@0.25.16:
resolution: {integrity: sha512-2dnIxl+obqIqjoPXTFldhe6pcdOrqiz+GcLaQQ6hmL02OldAF7nIC+rUgTWm+iF6lvmyCVhFFqbgbapNhR8eag==} resolution: {integrity: sha512-8QC8JyKztvoGAdPgyZy49c9vSHHAZjHagwl4RY9E8carULk8ym3iTaiawrT1YoLF/qb449h48f71XDPgkUSOUg==}
engines: {node: '>=18'} engines: {node: '>=18'}
dependencies: dependencies:
'@open-draft/deferred-promise': 2.2.0 '@open-draft/deferred-promise': 2.2.0
@ -8207,10 +8201,6 @@ packages:
pretty-format: 29.7.0 pretty-format: 29.7.0
dev: true dev: true
/@types/js-levenshtein@1.1.3:
resolution: {integrity: sha512-jd+Q+sD20Qfu9e2aEXogiO3vpOC1PYJOUdyN9gvs4Qrvkg4wF43L5OhqrPeokdv8TL0/mXoYfpkcoGZMNN2pkQ==}
dev: true
/@types/js-yaml@4.0.9: /@types/js-yaml@4.0.9:
resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==}
dev: true dev: true
@ -8593,7 +8583,7 @@ packages:
'@typescript-eslint/type-utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3) '@typescript-eslint/type-utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
'@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.11.0 '@typescript-eslint/visitor-keys': 6.11.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.53.0 eslint: 8.53.0
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 5.2.4 ignore: 5.2.4
@ -8622,7 +8612,7 @@ packages:
'@typescript-eslint/type-utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/type-utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.18.1 '@typescript-eslint/visitor-keys': 6.18.1
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0 eslint: 8.56.0
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 5.2.4 ignore: 5.2.4
@ -8648,7 +8638,7 @@ packages:
'@typescript-eslint/types': 6.11.0 '@typescript-eslint/types': 6.11.0
'@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3) '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.11.0 '@typescript-eslint/visitor-keys': 6.11.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.53.0 eslint: 8.53.0
typescript: 5.3.3 typescript: 5.3.3
transitivePeerDependencies: transitivePeerDependencies:
@ -8669,7 +8659,7 @@ packages:
'@typescript-eslint/types': 6.18.1 '@typescript-eslint/types': 6.18.1
'@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3) '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.18.1 '@typescript-eslint/visitor-keys': 6.18.1
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0 eslint: 8.56.0
typescript: 5.3.3 typescript: 5.3.3
transitivePeerDependencies: transitivePeerDependencies:
@ -8704,7 +8694,7 @@ packages:
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3) '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3)
'@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.53.0 eslint: 8.53.0
ts-api-utils: 1.0.1(typescript@5.3.3) ts-api-utils: 1.0.1(typescript@5.3.3)
typescript: 5.3.3 typescript: 5.3.3
@ -8724,7 +8714,7 @@ packages:
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3) '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3)
'@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0 eslint: 8.56.0
ts-api-utils: 1.0.1(typescript@5.3.3) ts-api-utils: 1.0.1(typescript@5.3.3)
typescript: 5.3.3 typescript: 5.3.3
@ -8753,7 +8743,7 @@ packages:
dependencies: dependencies:
'@typescript-eslint/types': 6.11.0 '@typescript-eslint/types': 6.11.0
'@typescript-eslint/visitor-keys': 6.11.0 '@typescript-eslint/visitor-keys': 6.11.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
globby: 11.1.0 globby: 11.1.0
is-glob: 4.0.3 is-glob: 4.0.3
semver: 7.5.4 semver: 7.5.4
@ -8774,7 +8764,7 @@ packages:
dependencies: dependencies:
'@typescript-eslint/types': 6.18.1 '@typescript-eslint/types': 6.18.1
'@typescript-eslint/visitor-keys': 6.18.1 '@typescript-eslint/visitor-keys': 6.18.1
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
globby: 11.1.0 globby: 11.1.0
is-glob: 4.0.3 is-glob: 4.0.3
minimatch: 9.0.3 minimatch: 9.0.3
@ -9215,7 +9205,7 @@ packages:
engines: {node: '>= 6.0.0'} engines: {node: '>= 6.0.0'}
requiresBuild: true requiresBuild: true
dependencies: dependencies:
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -9223,7 +9213,7 @@ packages:
resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
dependencies: dependencies:
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: false dev: false
@ -9605,7 +9595,7 @@ packages:
resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==} resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==}
dependencies: dependencies:
archy: 1.0.0 archy: 1.0.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
fastq: 1.15.0 fastq: 1.15.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -11057,6 +11047,7 @@ packages:
dependencies: dependencies:
ms: 2.1.2 ms: 2.1.2
supports-color: 5.5.0 supports-color: 5.5.0
dev: true
/debug@4.3.4(supports-color@8.1.1): /debug@4.3.4(supports-color@8.1.1):
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
@ -11069,7 +11060,6 @@ packages:
dependencies: dependencies:
ms: 2.1.2 ms: 2.1.2
supports-color: 8.1.1 supports-color: 8.1.1
dev: true
/decamelize-keys@1.1.1: /decamelize-keys@1.1.1:
resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
@ -11286,7 +11276,7 @@ packages:
hasBin: true hasBin: true
dependencies: dependencies:
address: 1.2.2 address: 1.2.2
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
@ -11610,7 +11600,7 @@ packages:
peerDependencies: peerDependencies:
esbuild: '>=0.12 <1' esbuild: '>=0.12 <1'
dependencies: dependencies:
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
esbuild: 0.18.20 esbuild: 0.18.20
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -11919,7 +11909,7 @@ packages:
ajv: 6.12.6 ajv: 6.12.6
chalk: 4.1.2 chalk: 4.1.2
cross-spawn: 7.0.3 cross-spawn: 7.0.3
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
doctrine: 3.0.0 doctrine: 3.0.0
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
eslint-scope: 7.2.2 eslint-scope: 7.2.2
@ -11966,7 +11956,7 @@ packages:
ajv: 6.12.6 ajv: 6.12.6
chalk: 4.1.2 chalk: 4.1.2
cross-spawn: 7.0.3 cross-spawn: 7.0.3
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
doctrine: 3.0.0 doctrine: 3.0.0
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
eslint-scope: 7.2.2 eslint-scope: 7.2.2
@ -12597,7 +12587,7 @@ packages:
debug: debug:
optional: true optional: true
dependencies: dependencies:
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
/for-each@0.3.3: /for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
@ -13153,6 +13143,7 @@ packages:
/has-flag@3.0.0: /has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
engines: {node: '>=4'} engines: {node: '>=4'}
dev: true
/has-flag@4.0.0: /has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
@ -13290,7 +13281,7 @@ packages:
engines: {node: '>= 14'} engines: {node: '>= 14'}
dependencies: dependencies:
agent-base: 7.1.0 agent-base: 7.1.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: false dev: false
@ -13350,7 +13341,7 @@ packages:
engines: {node: '>= 6.0.0'} engines: {node: '>= 6.0.0'}
dependencies: dependencies:
agent-base: 5.1.1 agent-base: 5.1.1
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
@ -13360,7 +13351,7 @@ packages:
engines: {node: '>= 6'} engines: {node: '>= 6'}
dependencies: dependencies:
agent-base: 6.0.2 agent-base: 6.0.2
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -13369,7 +13360,7 @@ packages:
engines: {node: '>= 14'} engines: {node: '>= 14'}
dependencies: dependencies:
agent-base: 7.1.0 agent-base: 7.1.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: false dev: false
@ -13529,7 +13520,7 @@ packages:
dependencies: dependencies:
'@ioredis/commands': 1.2.0 '@ioredis/commands': 1.2.0
cluster-key-slot: 1.1.2 cluster-key-slot: 1.1.2
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
denque: 2.1.0 denque: 2.1.0
lodash.defaults: 4.2.0 lodash.defaults: 4.2.0
lodash.isarguments: 3.1.0 lodash.isarguments: 3.1.0
@ -13975,7 +13966,7 @@ packages:
resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
engines: {node: '>=10'} engines: {node: '>=10'}
dependencies: dependencies:
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
istanbul-lib-coverage: 3.2.2 istanbul-lib-coverage: 3.2.2
source-map: 0.6.1 source-map: 0.6.1
transitivePeerDependencies: transitivePeerDependencies:
@ -14532,11 +14523,6 @@ packages:
nopt: 6.0.0 nopt: 6.0.0
dev: true dev: true
/js-levenshtein@1.1.6:
resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==}
engines: {node: '>=0.10.0'}
dev: true
/js-stringify@1.0.2: /js-stringify@1.0.2:
resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==} resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==}
@ -15485,17 +15471,17 @@ packages:
msgpackr-extract: 3.0.2 msgpackr-extract: 3.0.2
dev: false dev: false
/msw-storybook-addon@1.10.0(msw@2.1.2): /msw-storybook-addon@2.0.0-beta.1(msw@2.1.7):
resolution: {integrity: sha512-soCTMTf7DnLeaMnFHPrtVgbyeFTJALVvnDHpzzXpJad+HOzJgQdwU4EAzVfDs1q+X5cVEgxOdAhSMC7ljvnSXg==} resolution: {integrity: sha512-DRyIAMK3waEfC+pKTyiIq68OZfiZ4WZGUVAn6J4YwCRpDdoCvLzzoC2spN0Jgegx4dEmJ7589ATnS14NxqeBig==}
peerDependencies: peerDependencies:
msw: '>=0.35.0 <2.0.0' msw: ^2.0.0
dependencies: dependencies:
is-node-process: 1.2.0 is-node-process: 1.2.0
msw: 2.1.2(typescript@5.3.3) msw: 2.1.7(typescript@5.3.3)
dev: true dev: true
/msw@2.1.2(typescript@5.3.3): /msw@2.1.7(typescript@5.3.3):
resolution: {integrity: sha512-7OKbeZNFQTCPFe++o+zZHMkQRIUi4D/5N1dAD3lOlaV+2Wpv3Srp3VFrFeH+2ftZJbb4jAiC0caZoW1efr80KQ==} resolution: {integrity: sha512-yTIYqEMqDSrdbVMrfmqP6rTKQsnIbglTvVmAHDWwNegyXPXRcV+RjsaFEqubRS266gwWCDLm9YdOkWSKLdDvJQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
hasBin: true hasBin: true
requiresBuild: true requiresBuild: true
@ -15506,13 +15492,11 @@ packages:
optional: true optional: true
dependencies: dependencies:
'@bundled-es-modules/cookie': 2.0.0 '@bundled-es-modules/cookie': 2.0.0
'@bundled-es-modules/js-levenshtein': 2.0.1
'@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/statuses': 1.0.1
'@mswjs/cookies': 1.1.0 '@mswjs/cookies': 1.1.0
'@mswjs/interceptors': 0.25.14 '@mswjs/interceptors': 0.25.16
'@open-draft/until': 2.1.0 '@open-draft/until': 2.1.0
'@types/cookie': 0.6.0 '@types/cookie': 0.6.0
'@types/js-levenshtein': 1.1.3
'@types/statuses': 2.0.4 '@types/statuses': 2.0.4
chalk: 4.1.2 chalk: 4.1.2
chokidar: 3.5.3 chokidar: 3.5.3
@ -15520,7 +15504,6 @@ packages:
headers-polyfill: 4.0.2 headers-polyfill: 4.0.2
inquirer: 8.2.5 inquirer: 8.2.5
is-node-process: 1.2.0 is-node-process: 1.2.0
js-levenshtein: 1.1.6
outvariant: 1.4.2 outvariant: 1.4.2
path-to-regexp: 6.2.1 path-to-regexp: 6.2.1
strict-event-emitter: 0.5.1 strict-event-emitter: 0.5.1
@ -17286,7 +17269,7 @@ packages:
engines: {node: '>=8.16.0'} engines: {node: '>=8.16.0'}
dependencies: dependencies:
'@types/mime-types': 2.1.4 '@types/mime-types': 2.1.4
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
extract-zip: 1.7.0 extract-zip: 1.7.0
https-proxy-agent: 4.0.0 https-proxy-agent: 4.0.0
mime: 2.6.0 mime: 2.6.0
@ -18287,7 +18270,7 @@ packages:
dependencies: dependencies:
'@hapi/hoek': 10.0.1 '@hapi/hoek': 10.0.1
'@hapi/wreck': 18.0.1 '@hapi/wreck': 18.0.1
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
joi: 17.7.0 joi: 17.7.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -18487,7 +18470,7 @@ packages:
engines: {node: '>= 14'} engines: {node: '>= 14'}
dependencies: dependencies:
agent-base: 7.1.0 agent-base: 7.1.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
socks: 2.7.1 socks: 2.7.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -18640,7 +18623,7 @@ packages:
arg: 5.0.2 arg: 5.0.2
bluebird: 3.7.2 bluebird: 3.7.2
check-more-types: 2.24.0 check-more-types: 2.24.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
execa: 5.1.1 execa: 5.1.1
lazy-ass: 1.6.0 lazy-ass: 1.6.0
ps-tree: 1.2.0 ps-tree: 1.2.0
@ -18898,6 +18881,7 @@ packages:
engines: {node: '>=4'} engines: {node: '>=4'}
dependencies: dependencies:
has-flag: 3.0.0 has-flag: 3.0.0
dev: true
/supports-color@7.2.0: /supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
@ -19518,7 +19502,7 @@ packages:
chalk: 4.1.2 chalk: 4.1.2
cli-highlight: 2.1.11 cli-highlight: 2.1.11
dayjs: 1.11.10 dayjs: 1.11.10
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
dotenv: 16.0.3 dotenv: 16.0.3
glob: 10.3.10 glob: 10.3.10
ioredis: 5.3.2 ioredis: 5.3.2
@ -19878,7 +19862,7 @@ packages:
hasBin: true hasBin: true
dependencies: dependencies:
cac: 6.7.14 cac: 6.7.14
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
mlly: 1.5.0 mlly: 1.5.0
pathe: 1.1.2 pathe: 1.1.2
picocolors: 1.0.0 picocolors: 1.0.0
@ -19990,7 +19974,7 @@ packages:
acorn-walk: 8.3.2 acorn-walk: 8.3.2
cac: 6.7.14 cac: 6.7.14
chai: 4.3.10 chai: 4.3.10
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
happy-dom: 10.0.3 happy-dom: 10.0.3
local-pkg: 0.4.3 local-pkg: 0.4.3
magic-string: 0.30.5 magic-string: 0.30.5
@ -20064,7 +20048,7 @@ packages:
peerDependencies: peerDependencies:
eslint: '>=6.0.0' eslint: '>=6.0.0'
dependencies: dependencies:
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0 eslint: 8.56.0
eslint-scope: 7.2.2 eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3