diff --git a/.circleci/config.yml b/.circleci/config.yml index ae9183fdf07f..5aa1adf2ec7f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -204,7 +204,7 @@ jobs: name: Run tests command: | cd scripts - yarn test --coverage --ci + yarn test --coverage - store_test_results: path: scripts/junit.xml - report-workflow-on-failure @@ -222,7 +222,7 @@ jobs: name: Test command: | cd code - yarn test --coverage --ci --maxWorkers=6 + yarn test --coverage - store_test_results: path: code/junit.xml - persist_to_workspace: @@ -706,22 +706,22 @@ workflows: requires: - build - create-sandboxes: - parallelism: 31 + parallelism: 32 requires: - build # - smoke-test-sandboxes: # disabled for now # requires: # - create-sandboxes - build-sandboxes: - parallelism: 31 + parallelism: 32 requires: - create-sandboxes - chromatic-sandboxes: - parallelism: 28 + parallelism: 29 requires: - build-sandboxes - e2e-production: - parallelism: 26 + parallelism: 27 requires: - build-sandboxes - e2e-dev: @@ -729,7 +729,7 @@ workflows: requires: - create-sandboxes - test-runner-production: - parallelism: 26 + parallelism: 27 requires: - build-sandboxes diff --git a/.github/workflows/tests-unit.yml b/.github/workflows/tests-unit.yml index 650d40d3ff10..dbb4f498ab6e 100644 --- a/.github/workflows/tests-unit.yml +++ b/.github/workflows/tests-unit.yml @@ -24,4 +24,4 @@ jobs: - name: install and compile run: yarn task --task compile --start-from=auto --no-link - name: test - run: yarn test --runInBand --ci + run: yarn test diff --git a/.gitignore b/.gitignore index 0d0e9ac8d8ce..f23bfa05951d 100644 --- a/.gitignore +++ b/.gitignore @@ -51,4 +51,5 @@ code/playwright-report/ code/playwright/.cache/ code/bench-results/ -/packs \ No newline at end of file +/packs +code/.nx/cache \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ba60ca1636f..96041db16abb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +## 7.6.6 + +- SvelteKit: Support 2.0 modules with mocks - [#25244](https://github.com/storybookjs/storybook/pull/25244), thanks [@paoloricciuti](https://github.com/paoloricciuti)! + +## 7.6.5 + +- Angular: Update Angular cli templates - [#25152](https://github.com/storybookjs/storybook/pull/25152), thanks [@Marklb](https://github.com/Marklb)! +- Blocks: Fix Subtitle block for unattached docs pages - [#25157](https://github.com/storybookjs/storybook/pull/25157), thanks [@kripod](https://github.com/kripod)! +- SvelteKit: Fix missing `$app` modules - [#25132](https://github.com/storybookjs/storybook/pull/25132), thanks [@paoloricciuti](https://github.com/paoloricciuti)! + ## 7.6.4 - Angular: Fix CSF Plugin - [#25098](https://github.com/storybookjs/storybook/pull/25098), thanks [@valentinpalkovic](https://github.com/valentinpalkovic)! diff --git a/CHANGELOG.prerelease.md b/CHANGELOG.prerelease.md index 0f95d73be3a1..11c0c137f628 100644 --- a/CHANGELOG.prerelease.md +++ b/CHANGELOG.prerelease.md @@ -1,3 +1,26 @@ +## 8.0.0-alpha.5 + +- Core: Remove the `-s` flag from build & dev - [#25266](https://github.com/storybookjs/storybook/pull/25266), thanks [@ndelangen](https://github.com/ndelangen)! +- Core: Skip no-framework error when ignorePreview=true - [#25286](https://github.com/storybookjs/storybook/pull/25286), thanks [@ndelangen](https://github.com/ndelangen)! +- Core: Unique outputDir/cacheDir for each configDir - [#25264](https://github.com/storybookjs/storybook/pull/25264), thanks [@ndelangen](https://github.com/ndelangen)! +- Dependencies: Semver dependency fixes - [#25283](https://github.com/storybookjs/storybook/pull/25283), thanks [@ndelangen](https://github.com/ndelangen)! +- NextJS: Mock out `server-only` package for RSC - [#25263](https://github.com/storybookjs/storybook/pull/25263), thanks [@shilman](https://github.com/shilman)! + +## 8.0.0-alpha.4 + +- API: Remove stories.json support - [#25236](https://github.com/storybookjs/storybook/pull/25236), thanks [@shilman](https://github.com/shilman)! +- Addon Docs: Remove `react` peer dependency - [#24881](https://github.com/storybookjs/storybook/pull/24881), thanks [@JReinhold](https://github.com/JReinhold)! +- Addon-docs: Support `` and `` in source viewer - [#19785](https://github.com/storybookjs/storybook/pull/19785), thanks [@zhyd1997](https://github.com/zhyd1997)! +- Angular: Add random attribute to bootstrapped selector - [#24972](https://github.com/storybookjs/storybook/pull/24972), thanks [@Marklb](https://github.com/Marklb)! +- Angular: Reduce the warnings from `ts-loader` via stricter list of `includes` - [#24531](https://github.com/storybookjs/storybook/pull/24531), thanks [@ndelangen](https://github.com/ndelangen)! +- Blocks: Render colors in the same order as provided - [#25001](https://github.com/storybookjs/storybook/pull/25001), thanks [@kaelig](https://github.com/kaelig)! +- CLI: Add prompt-only automigrate asking for react-removal - [#25215](https://github.com/storybookjs/storybook/pull/25215), thanks [@ndelangen](https://github.com/ndelangen)! +- CLI: No longer add react in init - [#25196](https://github.com/storybookjs/storybook/pull/25196), thanks [@ndelangen](https://github.com/ndelangen)! +- Core: Set bundle target to `node18` - [#25239](https://github.com/storybookjs/storybook/pull/25239), thanks [@shilman](https://github.com/shilman)! +- SvelteKit: Fix missing `$app` modules - [#25132](https://github.com/storybookjs/storybook/pull/25132), thanks [@paoloricciuti](https://github.com/paoloricciuti)! +- SvelteKit: Support 2.0 modules with mocks - [#25244](https://github.com/storybookjs/storybook/pull/25244), thanks [@paoloricciuti](https://github.com/paoloricciuti)! +- UI: Embed `react-textarea-autosize` types - [#25235](https://github.com/storybookjs/storybook/pull/25235), thanks [@ndelangen](https://github.com/ndelangen)! + ## 8.0.0-alpha.3 - Addon-docs: Fix storybook MDX check - [#24696](https://github.com/storybookjs/storybook/pull/24696), thanks [@shilman](https://github.com/shilman)! diff --git a/MIGRATION.md b/MIGRATION.md index 78f0a0c5779f..c69c72a1fc66 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -12,6 +12,7 @@ - [Icons is deprecated](#icons-is-deprecated) - [React-docgen component analysis by default](#react-docgen-component-analysis-by-default) - [Removed postinstall](#removed-postinstall) + - [Removed stories.json](#removed-storiesjson) - [Framework-specific changes](#framework-specific-changes) - [Angular: Drop support for Angular \< 15](#angular-drop-support-for-angular--15) - [Next.js: Drop support for version \< 13.5](#nextjs-drop-support-for-version--135) @@ -473,6 +474,12 @@ For more information see: https://storybook.js.org/docs/react/api/main-config-ty We removed the `@storybook/postinstall` package, which provided some utilities for addons to programmatically modify user configuration files on install. This package was years out of date, so this should be a non-disruptive change. If your addon used the package, you can view the old source code [here](https://github.com/storybookjs/storybook/tree/release-7-5/code/lib/postinstall) and adapt it into your addon. +#### Removed stories.json + +In addition to the built storybook, `storybook build` generates two files, `index.json` and `stories.json`, that list out the contents of the Storybook. `stories.json` is a legacy format and we included it for backwards compatibility. As of 8.0 we no longer build `stories.json` by default, and we will remove it completely in 9.0. + +In the meantime if you have code that relies on `stories.json`, you can find code that transforms the "v4" `index.json` to the "v3" `stories.json` format (and their respective TS types): https://github.com/storybookjs/storybook/blob/release-7-5/code/lib/core-server/src/utils/stories-json.ts#L71-L91 + ### Framework-specific changes #### Angular: Drop support for Angular \< 15 @@ -542,7 +549,7 @@ To summarize: #### typescript.skipBabel deprecated -We will remove the `typescript.skipBabel` option in Storybook 8.0.0. Please use `typescirpt.skipCompiler` instead. +We will remove the `typescript.skipBabel` option in Storybook 8.0.0. Please use `typescript.skipCompiler` instead. #### Primary doc block accepts of prop diff --git a/code/.eslintignore b/code/.eslintignore index 69b8bfb98ce3..d4623aea1453 100644 --- a/code/.eslintignore +++ b/code/.eslintignore @@ -16,6 +16,5 @@ ember-output !.babelrc.js !.eslintrc.js !.eslintrc-markdown.js -!.jest.config.js !.storybook diff --git a/code/.eslintrc.js b/code/.eslintrc.js index d298ea5a9f68..d770489b6580 100644 --- a/code/.eslintrc.js +++ b/code/.eslintrc.js @@ -23,11 +23,15 @@ module.exports = { }, plugins: ['local-rules'], rules: { + // remove as shared eslint has jest rules removed + 'jest/no-standalone-expect': 'off', + 'jest/no-done-callback': 'off', + 'jest/no-deprecated-functions': 'off', + 'eslint-comments/disable-enable-pair': ['error', { allowWholeFile: true }], 'eslint-comments/no-unused-disable': 'error', 'react-hooks/rules-of-hooks': 'off', 'import/extensions': 'off', // for mjs, we sometimes need extensions - 'jest/no-done-callback': 'off', 'jsx-a11y/control-has-associated-label': 'off', '@typescript-eslint/dot-notation': [ 'error', @@ -53,15 +57,7 @@ module.exports = { }, }, { - files: [ - '*.js', - '*.jsx', - '*.json', - '*.html', - '**/.storybook/*.ts', - '**/.storybook/*.tsx', - 'setup-jest.ts', - ], + files: ['*.js', '*.jsx', '*.json', '*.html', '**/.storybook/*.ts', '**/.storybook/*.tsx'], parserOptions: { project: null, }, @@ -197,12 +193,6 @@ module.exports = { 'spaced-comment': 'off', }, }, - { - files: ['**/e2e-tests/**/*'], - rules: { - 'jest/no-test-callback': 'off', // These aren't jest tests - }, - }, { files: ['**/builder-vite/input/iframe.html'], rules: { @@ -218,6 +208,7 @@ module.exports = { }, { files: ['**/*.ts', '!**/*.test.*', '!**/*.spec.*'], + excludedFiles: ['**/*.test.*', '**/*.mockdata.*'], rules: { 'local-rules/no-uncategorized-errors': 'warn', }, diff --git a/code/__mocks__/fs-extra.js b/code/__mocks__/fs-extra.js deleted file mode 100644 index 7e18c3ead80d..000000000000 --- a/code/__mocks__/fs-extra.js +++ /dev/null @@ -1,37 +0,0 @@ -const fs = jest.createMockFromModule('fs-extra'); - -// This is a custom function that our tests can use during setup to specify -// what the files on the "mock" filesystem should look like when any of the -// `fs` APIs are used. -let mockFiles = Object.create(null); - -// eslint-disable-next-line no-underscore-dangle, @typescript-eslint/naming-convention -function __setMockFiles(newMockFiles) { - mockFiles = newMockFiles; -} - -// A custom version of `readdirSync` that reads from the special mocked out -// file list set via __setMockFiles -const readFile = async (filePath) => mockFiles[filePath]; -const readFileSync = (filePath = '') => mockFiles[filePath]; -const existsSync = (filePath) => !!mockFiles[filePath]; -const readJson = (filePath = '') => JSON.parse(mockFiles[filePath]); -const readJsonSync = (filePath = '') => JSON.parse(mockFiles[filePath]); -const lstatSync = (filePath) => ({ - isFile: () => !!mockFiles[filePath], -}); -const writeJson = jest.fn((filePath, json, { spaces } = {}) => { - mockFiles[filePath] = JSON.stringify(json, null, spaces); -}); - -// eslint-disable-next-line no-underscore-dangle -fs.__setMockFiles = __setMockFiles; -fs.readFile = readFile; -fs.readFileSync = readFileSync; -fs.readJson = readJson; -fs.readJsonSync = readJsonSync; -fs.existsSync = existsSync; -fs.lstatSync = lstatSync; -fs.writeJson = writeJson; - -module.exports = fs; diff --git a/code/__mocks__/fs-extra.ts b/code/__mocks__/fs-extra.ts new file mode 100644 index 000000000000..3f996b7c9cda --- /dev/null +++ b/code/__mocks__/fs-extra.ts @@ -0,0 +1,40 @@ +import { vi } from 'vitest'; + +// This is a custom function that our tests can use during setup to specify +// what the files on the "mock" filesystem should look like when any of the +// `fs` APIs are used. +let mockFiles = Object.create(null); + +// eslint-disable-next-line no-underscore-dangle, @typescript-eslint/naming-convention +export function __setMockFiles(newMockFiles: Record) { + mockFiles = newMockFiles; +} + +// A custom version of `readdirSync` that reads from the special mocked out +// file list set via __setMockFiles +export const writeFile = vi.fn(async (filePath: string, content: string) => { + mockFiles[filePath] = content; +}); +export const readFile = vi.fn(async (filePath: string) => mockFiles[filePath]); +export const readFileSync = vi.fn((filePath = '') => mockFiles[filePath]); +export const existsSync = vi.fn((filePath: string) => !!mockFiles[filePath]); +export const readJson = vi.fn((filePath = '') => JSON.parse(mockFiles[filePath])); +export const readJsonSync = vi.fn((filePath = '') => JSON.parse(mockFiles[filePath])); +export const lstatSync = vi.fn((filePath: string) => ({ + isFile: () => !!mockFiles[filePath], +})); +export const writeJson = vi.fn((filePath, json, { spaces } = {}) => { + mockFiles[filePath] = JSON.stringify(json, null, spaces); +}); + +export default { + __setMockFiles, + writeFile, + readFile, + readFileSync, + existsSync, + readJson, + readJsonSync, + lstatSync, + writeJson, +}; diff --git a/code/__mocks__/fs.js b/code/__mocks__/fs.js index 18710b4986d5..9e608c3ff038 100644 --- a/code/__mocks__/fs.js +++ b/code/__mocks__/fs.js @@ -1,4 +1,6 @@ -const fs = jest.createMockFromModule('fs'); +import { vi } from 'vitest'; + +const fs = vi.createMockFromModule('fs'); // This is a custom function that our tests can use during setup to specify // what the files on the "mock" filesystem should look like when any of the diff --git a/code/addons/a11y/README.md b/code/addons/a11y/README.md index 7ff0d885ec0a..64730ef61033 100755 --- a/code/addons/a11y/README.md +++ b/code/addons/a11y/README.md @@ -193,6 +193,10 @@ export const inaccessible = () => ( ); ``` +## Automate accessibility tests with test runner + +The test runner does not apply any rules that you have set on your stories by default. You can configure the runner to correctly apply the rules by [following the guide on the Storybook docs](https://storybook.js.org/docs/writing-tests/accessibility-testing#automate-accessibility-tests-with-test-runner). + ## Roadmap - Make UI accessible diff --git a/code/addons/a11y/jest.config.js b/code/addons/a11y/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/a11y/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/a11y/package.json b/code/addons/a11y/package.json index 6ae9e46501c0..d951986511cc 100644 --- a/code/addons/a11y/package.json +++ b/code/addons/a11y/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-a11y", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Test component compliance with web accessibility standards", "keywords": [ "a11y", diff --git a/code/addons/a11y/src/a11yRunner.test.ts b/code/addons/a11y/src/a11yRunner.test.ts index c1662d39369b..9a8e479f1beb 100644 --- a/code/addons/a11y/src/a11yRunner.test.ts +++ b/code/addons/a11y/src/a11yRunner.test.ts @@ -1,22 +1,23 @@ +import type { Mock } from 'vitest'; +import { describe, beforeEach, it, expect, vi } from 'vitest'; import { addons } from '@storybook/preview-api'; import { EVENTS } from './constants'; -jest.mock('@storybook/preview-api'); -const mockedAddons = addons as jest.Mocked; +vi.mock('@storybook/preview-api'); +const mockedAddons = vi.mocked(addons); describe('a11yRunner', () => { - let mockChannel: { on: jest.Mock; emit?: jest.Mock }; + let mockChannel: { on: Mock; emit?: Mock }; beforeEach(() => { mockedAddons.getChannel.mockReset(); - mockChannel = { on: jest.fn(), emit: jest.fn() }; + mockChannel = { on: vi.fn(), emit: vi.fn() }; mockedAddons.getChannel.mockReturnValue(mockChannel as any); }); - it('should listen to events', () => { - // eslint-disable-next-line global-require - require('./a11yRunner'); + it('should listen to events', async () => { + await import('./a11yRunner'); expect(mockedAddons.getChannel).toHaveBeenCalled(); expect(mockChannel.on).toHaveBeenCalledWith(EVENTS.REQUEST, expect.any(Function)); diff --git a/code/addons/a11y/src/components/A11YPanel.test.tsx b/code/addons/a11y/src/components/A11YPanel.test.tsx index cb1be531cad3..a90050f00c3a 100644 --- a/code/addons/a11y/src/components/A11YPanel.test.tsx +++ b/code/addons/a11y/src/components/A11YPanel.test.tsx @@ -1,5 +1,6 @@ +import { describe, beforeEach, afterEach, it, expect, vi } from 'vitest'; import React from 'react'; -import { render, waitFor, fireEvent, act } from '@testing-library/react'; +import { render, waitFor, fireEvent, act, cleanup } from '@testing-library/react'; import { ThemeProvider, themes, convert } from '@storybook/theming'; import * as api from '@storybook/manager-api'; @@ -7,11 +8,11 @@ import * as api from '@storybook/manager-api'; import { A11YPanel } from './A11YPanel'; import { EVENTS } from '../constants'; -jest.mock('@storybook/manager-api'); +vi.mock('@storybook/manager-api'); global.ResizeObserver = require('resize-observer-polyfill'); -const mockedApi = api as jest.Mocked; +const mockedApi = vi.mocked(api); const axeResult = { incomplete: [ @@ -67,7 +68,7 @@ describe('A11YPanel', () => { mockedApi.useAddonState.mockReset(); mockedApi.useAddonState.mockImplementation((_, defaultState) => React.useState(defaultState)); - mockedApi.useChannel.mockReturnValue(jest.fn()); + mockedApi.useChannel.mockReturnValue(vi.fn()); mockedApi.useParameter.mockReturnValue({ manual: false }); const state: Partial = { storyId: 'jest' }; // Lazy to mock entire state @@ -75,6 +76,10 @@ describe('A11YPanel', () => { mockedApi.useAddonState.mockImplementation(React.useState); }); + afterEach(() => { + cleanup(); + }); + it('should render', () => { const { container } = render(); expect(container.firstChild).toBeTruthy(); @@ -95,7 +100,18 @@ describe('A11YPanel', () => { expect(getByText(/Initializing/)).toBeTruthy(); }); - it('should handle "manual" status', async () => { + it('should set running status on event', async () => { + const { getByText } = render(); + const useChannelArgs = mockedApi.useChannel.mock.calls[0][0]; + act(() => useChannelArgs[EVENTS.RUNNING]()); + await waitFor(() => { + expect(getByText(/Please wait while the accessibility scan is running/)).toBeTruthy(); + }); + }); + + // TODO: The tests below are skipped because of unknown issues with ThemeProvider + // which cause errors like TypeError: Cannot read properties of undefined (reading 'defaultText') + it.skip('should handle "manual" status', async () => { mockedApi.useParameter.mockReturnValue({ manual: true }); const { getByText } = render(); await waitFor(() => { @@ -103,8 +119,8 @@ describe('A11YPanel', () => { }); }); - it('should handle "running" status', async () => { - const emit = jest.fn(); + it.skip('should handle "running" status', async () => { + const emit = vi.fn(); mockedApi.useChannel.mockReturnValue(emit); mockedApi.useParameter.mockReturnValue({ manual: true }); const { getByRole, getByText } = render(); @@ -118,16 +134,7 @@ describe('A11YPanel', () => { }); }); - it('should set running status on event', async () => { - const { getByText } = render(); - const useChannelArgs = mockedApi.useChannel.mock.calls[0][0]; - act(() => useChannelArgs[EVENTS.RUNNING]()); - await waitFor(() => { - expect(getByText(/Please wait while the accessibility scan is running/)).toBeTruthy(); - }); - }); - - it('should handle "ran" status', async () => { + it.skip('should handle "ran" status', async () => { const { getByText } = render(); const useChannelArgs = mockedApi.useChannel.mock.calls[0][0]; act(() => useChannelArgs[EVENTS.RESULT](axeResult)); diff --git a/code/addons/a11y/src/components/A11yContext.test.tsx b/code/addons/a11y/src/components/A11yContext.test.tsx index 0d7db6e8de46..5cfde1886953 100644 --- a/code/addons/a11y/src/components/A11yContext.test.tsx +++ b/code/addons/a11y/src/components/A11yContext.test.tsx @@ -1,6 +1,7 @@ +import { describe, beforeEach, afterEach, it, expect, vi } from 'vitest'; import * as React from 'react'; import type { AxeResults } from 'axe-core'; -import { render, act } from '@testing-library/react'; +import { render, act, cleanup } from '@testing-library/react'; import * as api from '@storybook/manager-api'; import { STORY_CHANGED } from '@storybook/core-events'; import { HIGHLIGHT } from '@storybook/addon-highlight'; @@ -8,8 +9,8 @@ import { HIGHLIGHT } from '@storybook/addon-highlight'; import { A11yContextProvider, useA11yContext } from './A11yContext'; import { EVENTS } from '../constants'; -jest.mock('@storybook/manager-api'); -const mockedApi = api as jest.Mocked; +vi.mock('@storybook/manager-api'); +const mockedApi = vi.mocked(api); const storyId = 'jest'; const axeResult: Partial = { @@ -51,14 +52,18 @@ const axeResult: Partial = { }; describe('A11YPanel', () => { - const getCurrentStoryData = jest.fn(); + afterEach(() => { + cleanup(); + }); + + const getCurrentStoryData = vi.fn(); beforeEach(() => { mockedApi.useChannel.mockReset(); mockedApi.useStorybookApi.mockReset(); mockedApi.useAddonState.mockReset(); mockedApi.useAddonState.mockImplementation((_, defaultState) => React.useState(defaultState)); - mockedApi.useChannel.mockReturnValue(jest.fn()); + mockedApi.useChannel.mockReturnValue(vi.fn()); getCurrentStoryData.mockReset().mockReturnValue({ id: storyId, type: 'story' }); mockedApi.useStorybookApi.mockReturnValue({ getCurrentStoryData } as any); }); @@ -73,7 +78,7 @@ describe('A11YPanel', () => { }); it('should not render when inactive', () => { - const emit = jest.fn(); + const emit = vi.fn(); mockedApi.useChannel.mockReturnValue(emit); const { queryByTestId } = render( @@ -85,7 +90,7 @@ describe('A11YPanel', () => { }); it('should emit request when moving from inactive to active', () => { - const emit = jest.fn(); + const emit = vi.fn(); mockedApi.useChannel.mockReturnValue(emit); const { rerender } = render(); rerender(); @@ -93,7 +98,7 @@ describe('A11YPanel', () => { }); it('should emit highlight with no values when inactive', () => { - const emit = jest.fn(); + const emit = vi.fn(); mockedApi.useChannel.mockReturnValue(emit); const { rerender } = render(); rerender(); diff --git a/code/addons/a11y/src/components/Report/HighlightToggle.test.tsx b/code/addons/a11y/src/components/Report/HighlightToggle.test.tsx index 9bda14726da1..24ee9848e91f 100644 --- a/code/addons/a11y/src/components/Report/HighlightToggle.test.tsx +++ b/code/addons/a11y/src/components/Report/HighlightToggle.test.tsx @@ -1,5 +1,6 @@ +import { describe, it, expect, afterEach, vi } from 'vitest'; import React from 'react'; -import { render, fireEvent } from '@testing-library/react'; +import { render, fireEvent, cleanup } from '@testing-library/react'; import type { NodeResult } from 'axe-core'; import HighlightToggle from './HighlightToggle'; import { A11yContext } from '../A11yContext'; @@ -18,15 +19,19 @@ const defaultProviderValue = { incomplete: [], violations: [], }, - setResults: jest.fn(), + setResults: vi.fn(), highlighted: [], - toggleHighlight: jest.fn(), - clearHighlights: jest.fn(), + toggleHighlight: vi.fn(), + clearHighlights: vi.fn(), tab: 0, - setTab: jest.fn(), + setTab: vi.fn(), }; describe('', () => { + afterEach(() => { + cleanup(); + }); + it('should render', () => { const { container } = render( @@ -67,6 +72,10 @@ describe('', () => { }); describe('toggleHighlight', () => { + afterEach(() => { + cleanup(); + }); + it.each` highlighted | elementsToHighlight | expected ${[]} | ${['#storybook-root']} | ${true} diff --git a/code/addons/a11y/src/components/VisionSimulator.test.tsx b/code/addons/a11y/src/components/VisionSimulator.test.tsx index 7c66fb762b64..2d58cda7fd09 100644 --- a/code/addons/a11y/src/components/VisionSimulator.test.tsx +++ b/code/addons/a11y/src/components/VisionSimulator.test.tsx @@ -1,3 +1,5 @@ +/// ; +import { describe, it, expect } from 'vitest'; import React from 'react'; import { render, fireEvent, screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; @@ -23,7 +25,9 @@ function ThemedVisionSimulator() { } describe('Vision Simulator', () => { - it('should render tool button', async () => { + // TODO: there are issues with the ThemeProvider from lib/theming for some reason + // which are causing rendering issues in the component for all these tests + it.skip('should render tool button', async () => { // when render(); diff --git a/code/addons/a11y/src/manager.test.tsx b/code/addons/a11y/src/manager.test.tsx index f389266ce785..b707a9bd5cff 100644 --- a/code/addons/a11y/src/manager.test.tsx +++ b/code/addons/a11y/src/manager.test.tsx @@ -1,12 +1,13 @@ +import { describe, it, expect, vi } from 'vitest'; import * as api from '@storybook/manager-api'; import type { Addon_BaseType } from '@storybook/types'; import { PANEL_ID } from './constants'; import './manager'; -jest.mock('@storybook/manager-api'); -const mockedApi = api as unknown as jest.Mocked; -mockedApi.useAddonState = jest.fn(); -const mockedAddons = api.addons as jest.Mocked; +vi.mock('@storybook/manager-api'); +const mockedApi = vi.mocked(api as any); +mockedApi.useAddonState = vi.fn(); +const mockedAddons = vi.mocked(api.addons); const registrationImpl = mockedAddons.register.mock.calls[0][1]; const isPanel = (input: Parameters[1]): input is Addon_BaseType => @@ -35,7 +36,7 @@ describe('A11yManager', () => { mockedApi.useAddonState.mockImplementation(() => [undefined]); registrationImpl(api as unknown as api.API); const title = mockedAddons.add.mock.calls.map(([_, def]) => def).find(isPanel) - ?.title as Function; + ?.title as () => void; // when / then expect(title()).toMatchInlineSnapshot(` @@ -45,7 +46,7 @@ describe('A11yManager', () => { > { ]); registrationImpl(mockedApi); const title = mockedAddons.add.mock.calls.map(([_, def]) => def).find(isPanel) - ?.title as Function; + ?.title as () => void; // when / then expect(title()).toMatchInlineSnapshot(` @@ -79,7 +80,7 @@ describe('A11yManager', () => { > { - const channel = { emit: jest.fn() }; + const channel = { emit: vi.fn() }; addons.getChannel.mockReturnValue(channel); return channel; }; diff --git a/code/addons/actions/src/runtime/__tests__/actions.test.js b/code/addons/actions/src/runtime/__tests__/actions.test.js index b3e1ae2779ad..de2f9adc0352 100644 --- a/code/addons/actions/src/runtime/__tests__/actions.test.js +++ b/code/addons/actions/src/runtime/__tests__/actions.test.js @@ -1,10 +1,11 @@ +import { describe, it, expect, vi } from 'vitest'; import { addons } from '@storybook/preview-api'; import { actions } from '../..'; -jest.mock('@storybook/preview-api'); +vi.mock('@storybook/preview-api'); const createChannel = () => { - const channel = { emit: jest.fn() }; + const channel = { emit: vi.fn() }; addons.getChannel.mockReturnValue(channel); return channel; }; diff --git a/code/addons/actions/src/runtime/__tests__/configureActions.test.js b/code/addons/actions/src/runtime/__tests__/configureActions.test.js index 7bebbe8a2524..7034904a2a5c 100644 --- a/code/addons/actions/src/runtime/__tests__/configureActions.test.js +++ b/code/addons/actions/src/runtime/__tests__/configureActions.test.js @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { config } from '../configureActions'; import { configureActions } from '../..'; diff --git a/code/addons/actions/vitest.config.ts b/code/addons/actions/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/actions/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/backgrounds/jest.config.js b/code/addons/backgrounds/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/backgrounds/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/backgrounds/package.json b/code/addons/backgrounds/package.json index 0ccc6cae34a2..2133e680bd20 100644 --- a/code/addons/backgrounds/package.json +++ b/code/addons/backgrounds/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-backgrounds", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Switch backgrounds to view components in different settings", "keywords": [ "addon", diff --git a/code/addons/backgrounds/vitest.config.ts b/code/addons/backgrounds/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/backgrounds/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/controls/jest.config.js b/code/addons/controls/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/controls/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/controls/package.json b/code/addons/controls/package.json index 911bb4c540c8..9af8033cb9ef 100644 --- a/code/addons/controls/package.json +++ b/code/addons/controls/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-controls", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Interact with component inputs dynamically in the Storybook UI", "keywords": [ "addon", diff --git a/code/addons/controls/vitest.config.ts b/code/addons/controls/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/controls/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/docs/jest.config.js b/code/addons/docs/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/docs/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/docs/package.json b/code/addons/docs/package.json index 0a5f8a94f0f5..84eb2c858ec2 100644 --- a/code/addons/docs/package.json +++ b/code/addons/docs/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-docs", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Document component usage and properties in Markdown", "keywords": [ "addon", @@ -38,7 +38,8 @@ }, "./preset": { "types": "./dist/preset.d.ts", - "require": "./dist/preset.js" + "require": "./dist/preset.js", + "import": "./dist/preset.js" }, "./blocks": { "types": "./dist/blocks.d.ts", @@ -112,21 +113,17 @@ "@storybook/theming": "workspace:*", "@storybook/types": "workspace:*", "fs-extra": "^11.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", "remark-external-links": "^8.0.0", "remark-slug": "^6.0.0", "ts-dedent": "^2.0.0" }, "devDependencies": { "@rollup/pluginutils": "^5.0.2", - "react": "^18.2.0", - "react-dom": "^18.2.0", "typescript": "^5.3.2", "vite": "^4.0.4" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, "publishConfig": { "access": "public" }, diff --git a/code/addons/docs/src/ensure-react-peer-deps.ts b/code/addons/docs/src/ensure-react-peer-deps.ts deleted file mode 100644 index 37520dff343e..000000000000 --- a/code/addons/docs/src/ensure-react-peer-deps.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { logger } from '@storybook/node-logger'; -import dedent from 'ts-dedent'; - -export function ensureReactPeerDeps() { - try { - require.resolve('react'); - require.resolve('react-dom'); - } catch (e) { - logger.error(dedent` - Starting in 7.0, react and react-dom are now required peer dependencies of @storybook/addon-docs. - https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#react-peer-dependencies-required - - You can continue to use Storybook without addon-docs, or you can install react and react-dom in your project: - - You can use the upgrade command in Storybook's CLI to automatically install the required - peer dependencies for you. - - If you want to upgrade to the latest prerelease version, please run: - - $ npx storybook@next upgrade --prerelease - - Otherwise, please run: - - $ npx storybook upgrade - - If you do not want to use the upgrade commands, - please install react and react-dom in your project manually. - - npm: - $ npm add react react-dom --dev - - yarn: - $ yarn add react react-dom --dev - - pnpm: - $ pnpm add react react-dom --dev - `); - process.exit(1); - } -} diff --git a/code/addons/docs/src/preset.ts b/code/addons/docs/src/preset.ts index 2ead78d53ac6..0877643bae9f 100644 --- a/code/addons/docs/src/preset.ts +++ b/code/addons/docs/src/preset.ts @@ -10,7 +10,26 @@ import type { JSXOptions, CompileOptions } from '@storybook/mdx2-csf'; import { global } from '@storybook/global'; import { loadCsf } from '@storybook/csf-tools'; import { logger } from '@storybook/node-logger'; -import { ensureReactPeerDeps } from './ensure-react-peer-deps'; + +/** + * Get the resolvedReact preset, which points either to + * the user's react dependencies or the react dependencies shipped with addon-docs + * if the user has not installed react explicitly. + */ +const getResolvedReact = async (options: Options) => { + const resolvedReact = (await options.presets.apply('resolvedReact', {})) as any; + // resolvedReact should always be set by the time we get here, but just in case, we'll default to addon-docs's react dependencies + return { + react: resolvedReact.react ?? dirname(require.resolve('react/package.json')), + reactDom: resolvedReact.reactDom ?? dirname(require.resolve('react-dom/package.json')), + // In Webpack, symlinked MDX files will cause @mdx-js/react to not be resolvable if it is not hoisted + // This happens for the SB monorepo's template stories when a sandbox has a different react version than + // addon-docs, causing addon-docs's dependencies not to be hoisted. + // This might also affect regular users who have a similar setup. + // Explicitly alias @mdx-js/react to avoid this issue. + mdx: resolvedReact.mdx ?? dirname(require.resolve('@mdx-js/react/package.json')), + }; +}; async function webpack( webpackConfig: any = {}, @@ -90,6 +109,35 @@ async function webpack( ? require.resolve('@storybook/mdx1-csf/loader') : require.resolve('@storybook/mdx2-csf/loader'); + // Use the resolvedReact preset to alias react and react-dom to either the users version or the version shipped with addon-docs + const { react, reactDom, mdx } = await getResolvedReact(options); + + let alias; + if (Array.isArray(webpackConfig.resolve?.alias)) { + alias = [...webpackConfig.resolve?.alias]; + alias.push( + { + name: 'react', + alias: react, + }, + { + name: 'react-dom', + alias: reactDom, + }, + { + name: '@mdx-js/react', + alias: mdx, + } + ); + } else { + alias = { + ...webpackConfig.resolve?.alias, + react, + 'react-dom': reactDom, + '@mdx-js/react': mdx, + }; + } + const result = { ...webpackConfig, plugins: [ @@ -99,7 +147,10 @@ async function webpack( ? [(await import('@storybook/csf-plugin')).webpack(csfPluginOptions)] : []), ], - + resolve: { + ...webpackConfig.resolve, + alias, + }, module: { ...module, rules: [ @@ -179,6 +230,25 @@ export const viteFinal = async (config: any, options: Options) => { const { plugins = [] } = config; const { mdxPlugin } = await import('./plugins/mdx-plugin'); + // Use the resolvedReact preset to alias react and react-dom to either the users version or the version shipped with addon-docs + const { react, reactDom } = await getResolvedReact(options); + + const reactAliasPlugin = { + name: 'storybook:react-alias', + enforce: 'pre', + config: () => ({ + resolve: { + alias: { + react, + 'react-dom': reactDom, + }, + }, + }), + }; + + // add alias plugin early to ensure any other plugins that also add the aliases will override this + // eg. the preact vite plugin adds its own aliases + plugins.unshift(reactAliasPlugin); plugins.push(mdxPlugin(options)); return config; @@ -192,7 +262,18 @@ const webpackX = webpack as any; const indexersX = indexers as any; const docsX = docs as any; -ensureReactPeerDeps(); +/** + * If the user has not installed react explicitly in their project, + * the resolvedReact preset will not be set. + * We then set it here in addon-docs to use addon-docs's react version that always exists. + * This is just a fallback that never overrides the existing preset, + * but ensures that there is always a resolved react. + */ +export const resolvedReact = async (existing: any) => ({ + react: existing?.react ?? dirname(require.resolve('react/package.json')), + reactDom: existing?.reactDom ?? dirname(require.resolve('react-dom/package.json')), + mdx: existing?.mdx ?? dirname(require.resolve('@mdx-js/react/package.json')), +}); const optimizeViteDeps = [ '@mdx-js/react', diff --git a/code/addons/docs/template/stories/docs2/ResolvedReact.mdx b/code/addons/docs/template/stories/docs2/ResolvedReact.mdx new file mode 100644 index 000000000000..7a5f04ab6bc8 --- /dev/null +++ b/code/addons/docs/template/stories/docs2/ResolvedReact.mdx @@ -0,0 +1,13 @@ +import { version as reactVersion } from 'react'; +import { version as reactDomVersion } from 'react-dom'; +import { ResolvedReactVersion } from './ResolvedReactVersion'; + +## In MDX + +react: {reactVersion} + +react-dom: {reactDomVersion} + +## In `ResolvedReactVersion` component + + diff --git a/code/addons/docs/template/stories/docs2/ResolvedReactVersion.jsx b/code/addons/docs/template/stories/docs2/ResolvedReactVersion.jsx new file mode 100644 index 000000000000..6e094c1e64d0 --- /dev/null +++ b/code/addons/docs/template/stories/docs2/ResolvedReactVersion.jsx @@ -0,0 +1,15 @@ +import React, { version as reactVersion } from 'react'; +import { version as reactDomVersion } from 'react-dom'; + +export const ResolvedReactVersion = () => { + return ( + <> + + react: {reactVersion} + + + react-dom: {reactDomVersion} + + > + ); +}; diff --git a/code/addons/docs/vitest.config.ts b/code/addons/docs/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/docs/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/essentials/jest.config.js b/code/addons/essentials/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/essentials/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/essentials/package.json b/code/addons/essentials/package.json index f1f031a1f918..ab47a59356b8 100644 --- a/code/addons/essentials/package.json +++ b/code/addons/essentials/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-essentials", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Curated addons to bring out the best of Storybook", "keywords": [ "addon", @@ -78,10 +78,6 @@ "devDependencies": { "typescript": "^5.3.2" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, "publishConfig": { "access": "public" }, diff --git a/code/addons/essentials/vitest.config.ts b/code/addons/essentials/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/essentials/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/gfm/jest.config.js b/code/addons/gfm/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/gfm/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/gfm/package.json b/code/addons/gfm/package.json index f1d1b530400d..0794b44e106a 100644 --- a/code/addons/gfm/package.json +++ b/code/addons/gfm/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-mdx-gfm", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "GitHub Flavored Markdown in Storybook", "keywords": [ "addon", diff --git a/code/addons/gfm/vitest.config.ts b/code/addons/gfm/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/gfm/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/highlight/jest.config.js b/code/addons/highlight/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/highlight/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/highlight/package.json b/code/addons/highlight/package.json index 3a9cee6633a1..7ee96e846df2 100644 --- a/code/addons/highlight/package.json +++ b/code/addons/highlight/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-highlight", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Highlight DOM nodes within your stories", "keywords": [ "storybook-addons", diff --git a/code/addons/highlight/vitest.config.ts b/code/addons/highlight/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/highlight/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/interactions/jest.config.js b/code/addons/interactions/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/interactions/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/interactions/package.json b/code/addons/interactions/package.json index 88151078d685..2b81da285f7c 100644 --- a/code/addons/interactions/package.json +++ b/code/addons/interactions/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-interactions", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Automate, test and debug user interactions", "keywords": [ "storybook-addons", diff --git a/code/addons/interactions/src/Panel.test.ts b/code/addons/interactions/src/Panel.test.ts index 869b64b8bb0d..e8cc77fcfa78 100644 --- a/code/addons/interactions/src/Panel.test.ts +++ b/code/addons/interactions/src/Panel.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { type Call, CallStates, type LogItem } from '@storybook/instrumenter'; import { getInteractions } from './Panel'; diff --git a/code/addons/interactions/tsconfig.json b/code/addons/interactions/tsconfig.json index 4bc2c0bffe1f..a6f65038a17b 100644 --- a/code/addons/interactions/tsconfig.json +++ b/code/addons/interactions/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "types": ["testing-library__jest-dom"], "skipLibCheck": true, "strict": false }, diff --git a/code/addons/interactions/vitest.config.ts b/code/addons/interactions/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/interactions/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/jest/jest.config.js b/code/addons/jest/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/jest/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/jest/package.json b/code/addons/jest/package.json index d277c470a4eb..a17caffadef5 100644 --- a/code/addons/jest/package.json +++ b/code/addons/jest/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-jest", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "React storybook addon that show component jest report", "keywords": [ "addon", diff --git a/code/addons/jest/src/shared.test.ts b/code/addons/jest/src/shared.test.ts index ddc3a0c71b17..599276a12355 100644 --- a/code/addons/jest/src/shared.test.ts +++ b/code/addons/jest/src/shared.test.ts @@ -1,32 +1,33 @@ +import { describe, expect, it } from 'vitest'; import { defineJestParameter } from './shared'; describe('defineJestParameter', () => { - test('infers from story file name if jest parameter is not provided', () => { + it('infers from story file name if jest parameter is not provided', () => { expect(defineJestParameter({ fileName: './stories/addon-jest.stories.js' })).toEqual([ 'addon-jest', ]); }); - test('wraps string jest parameter with an array', () => { + it('wraps string jest parameter with an array', () => { expect(defineJestParameter({ jest: 'addon-jest' })).toEqual(['addon-jest']); }); - test('returns as is if jest parameter is an array', () => { + it('returns as is if jest parameter is an array', () => { expect(defineJestParameter({ jest: ['addon-jest', 'something-else'] })).toEqual([ 'addon-jest', 'something-else', ]); }); - test('returns null if disabled option is passed to jest parameter', () => { + it('returns null if disabled option is passed to jest parameter', () => { expect(defineJestParameter({ jest: { disabled: true } })).toBeNull(); }); - test('returns null if no filename to infer from', () => { + it('returns null if no filename to infer from', () => { expect(defineJestParameter({})).toBeNull(); }); - test('returns null if filename is a module ID that cannot be inferred from', () => { + it('returns null if filename is a module ID that cannot be inferred from', () => { // @ts-expect-error Storybook's fileName type is string, but according to this test it could be number in case it is a module id. expect(defineJestParameter({ fileName: 1234 })).toBeNull(); }); diff --git a/code/addons/jest/vitest.config.ts b/code/addons/jest/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/jest/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/links/jest.config.js b/code/addons/links/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/links/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/links/package.json b/code/addons/links/package.json index 05fcd9d0d9c5..ea391377950e 100644 --- a/code/addons/links/package.json +++ b/code/addons/links/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-links", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Link stories together to build demos and prototypes with your UI components", "keywords": [ "addon", diff --git a/code/addons/links/src/react/components/link.test.tsx b/code/addons/links/src/react/components/link.test.tsx index 43538b927aeb..e49ad02ede9f 100644 --- a/code/addons/links/src/react/components/link.test.tsx +++ b/code/addons/links/src/react/components/link.test.tsx @@ -1,12 +1,14 @@ +/// ; +import { describe, it, expect, afterEach, vi } from 'vitest'; import React from 'react'; import { addons } from '@storybook/preview-api'; -import { render, screen, waitFor } from '@testing-library/react'; +import { render, screen, waitFor, cleanup, act } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { SELECT_STORY } from '@storybook/core-events'; import LinkTo from './link'; -jest.mock('@storybook/preview-api'); -jest.mock('@storybook/global', () => ({ +vi.mock('@storybook/preview-api'); +vi.mock('@storybook/global', () => ({ global: { document: { location: { @@ -17,22 +19,25 @@ jest.mock('@storybook/global', () => ({ }, window: global, __STORYBOOK_STORY_STORE__: { - fromId: jest.fn(() => ({})), + fromId: vi.fn(() => ({})), }, }, })); const mockChannel = () => { return { - emit: jest.fn(), - on: jest.fn(), - once: jest.fn(), + emit: vi.fn(), + on: vi.fn(), + once: vi.fn(), }; }; -const mockAddons = addons as unknown as jest.Mocked; +const mockAddons = vi.mocked(addons); describe('LinkTo', () => { describe('render', () => { + afterEach(() => { + cleanup(); + }); it('should render a link', async () => { const channel = mockChannel() as any; mockAddons.getChannel.mockReturnValue(channel); @@ -62,23 +67,26 @@ describe('LinkTo', () => { describe('events', () => { it('should select the kind and story on click', async () => { - const channel = mockChannel() as any; + const channel = { + emit: vi.fn(), + on: vi.fn(), + } as any; mockAddons.getChannel.mockReturnValue(channel); - render( - // eslint-disable-next-line jsx-a11y/anchor-is-valid - - link - - ); - - await waitFor(() => { - expect(screen.getByText('link')).toHaveAttribute( - 'href', - 'originpathname?path=/story/foo--bar' + await act(async () => { + await render( + // eslint-disable-next-line jsx-a11y/anchor-is-valid + + link + ); }); + expect(screen.getByText('link')).toHaveAttribute( + 'href', + 'originpathname?path=/story/foo--bar' + ); + await userEvent.click(screen.getByText('link')); expect(channel.emit).toHaveBeenLastCalledWith( diff --git a/code/addons/links/src/utils.test.ts b/code/addons/links/src/utils.test.ts index f2dd2871501c..11cc359c1cc8 100644 --- a/code/addons/links/src/utils.test.ts +++ b/code/addons/links/src/utils.test.ts @@ -1,20 +1,21 @@ +import { describe, beforeAll, beforeEach, it, expect, vi } from 'vitest'; import { addons } from '@storybook/preview-api'; import { SELECT_STORY } from '@storybook/core-events'; import { linkTo, hrefTo } from './utils'; -jest.mock('@storybook/preview-api'); -jest.mock('@storybook/global', () => ({ +vi.mock('@storybook/preview-api'); +vi.mock('@storybook/global', () => ({ global: { document: global.document, window: global, }, })); -const mockAddons = addons as unknown as jest.Mocked; +const mockAddons = vi.mocked(addons); describe('preview', () => { - const channel = { emit: jest.fn() }; + const channel = { emit: vi.fn() }; beforeAll(() => { mockAddons.getChannel.mockReturnValue(channel as any); }); diff --git a/code/addons/links/tsconfig.json b/code/addons/links/tsconfig.json index a774dc60331e..5b3f3a56a68d 100644 --- a/code/addons/links/tsconfig.json +++ b/code/addons/links/tsconfig.json @@ -2,8 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "strict": true, - "skipLibCheck": true, - "types": ["testing-library__jest-dom"] + "skipLibCheck": true }, "include": ["src/**/*"] } diff --git a/code/addons/links/vitest.config.ts b/code/addons/links/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/links/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/measure/jest.config.js b/code/addons/measure/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/measure/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/measure/package.json b/code/addons/measure/package.json index 0ca5292c606c..572484818054 100644 --- a/code/addons/measure/package.json +++ b/code/addons/measure/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-measure", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Inspect layouts by visualizing the box model", "keywords": [ "storybook-addons", diff --git a/code/addons/measure/vitest.config.ts b/code/addons/measure/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/measure/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/outline/jest.config.js b/code/addons/outline/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/outline/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/outline/package.json b/code/addons/outline/package.json index 4be945b80a81..179dce716baf 100644 --- a/code/addons/outline/package.json +++ b/code/addons/outline/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-outline", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Outline all elements with CSS to help with layout placement and alignment", "keywords": [ "storybook-addons", diff --git a/code/addons/outline/vitest.config.ts b/code/addons/outline/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/outline/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/storysource/jest.config.js b/code/addons/storysource/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/storysource/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/storysource/package.json b/code/addons/storysource/package.json index 17708380025e..8545b0d959dd 100644 --- a/code/addons/storysource/package.json +++ b/code/addons/storysource/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-storysource", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "View a story’s source code to see how it works and paste into your app", "keywords": [ "addon", diff --git a/code/addons/storysource/vitest.config.ts b/code/addons/storysource/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/storysource/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/themes/jest.config.js b/code/addons/themes/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/themes/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/themes/package.json b/code/addons/themes/package.json index a86344964f7f..bbac31861023 100644 --- a/code/addons/themes/package.json +++ b/code/addons/themes/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-themes", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Switch between multiple themes for you components in Storybook", "keywords": [ "css", diff --git a/code/addons/themes/vitest.config.ts b/code/addons/themes/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/themes/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/toolbars/jest.config.js b/code/addons/toolbars/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/toolbars/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/toolbars/package.json b/code/addons/toolbars/package.json index facc49ddf709..3a8e32e9ca5c 100644 --- a/code/addons/toolbars/package.json +++ b/code/addons/toolbars/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-toolbars", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Create your own toolbar items that control story rendering", "keywords": [ "addon", diff --git a/code/addons/toolbars/vitest.config.ts b/code/addons/toolbars/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/toolbars/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/addons/viewport/jest.config.js b/code/addons/viewport/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/addons/viewport/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/addons/viewport/package.json b/code/addons/viewport/package.json index 4c6838b759e6..c110c4fba7f9 100644 --- a/code/addons/viewport/package.json +++ b/code/addons/viewport/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/addon-viewport", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Build responsive components by adjusting Storybook’s viewport size and orientation", "keywords": [ "addon", diff --git a/code/addons/viewport/vitest.config.ts b/code/addons/viewport/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/addons/viewport/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/builders/builder-manager/jest.config.js b/code/builders/builder-manager/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/builders/builder-manager/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/builders/builder-manager/package.json b/code/builders/builder-manager/package.json index 5eca5d7a6e70..e2e435f837b1 100644 --- a/code/builders/builder-manager/package.json +++ b/code/builders/builder-manager/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/builder-manager", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook manager builder", "keywords": [ "storybook" @@ -49,14 +49,12 @@ "@storybook/manager": "workspace:*", "@storybook/node-logger": "workspace:*", "@types/ejs": "^3.1.1", - "@types/find-cache-dir": "^3.2.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", "browser-assert": "^1.2.1", "ejs": "^3.1.8", "esbuild": "^0.18.0", "esbuild-plugin-alias": "^0.2.1", "express": "^4.17.3", - "find-cache-dir": "^3.0.0", "fs-extra": "^11.1.0", "process": "^0.11.10", "util": "^0.12.4" diff --git a/code/builders/builder-manager/src/index.ts b/code/builders/builder-manager/src/index.ts index 89b9846184e6..b7923a64a2ba 100644 --- a/code/builders/builder-manager/src/index.ts +++ b/code/builders/builder-manager/src/index.ts @@ -40,10 +40,8 @@ export const getConfig: ManagerBuilder['getConfig'] = async (options) => { ? [...addonsEntryPoints, customManagerEntryPoint] : addonsEntryPoints; - const realEntryPoints = await wrapManagerEntries(entryPoints); - return { - entryPoints: realEntryPoints, + entryPoints: await wrapManagerEntries(entryPoints, options.cacheKey), outdir: join(options.outputDir || './', 'sb-addons'), format: 'iife', write: false, diff --git a/code/builders/builder-manager/src/utils/files.test.ts b/code/builders/builder-manager/src/utils/files.test.ts index 3a76234ec8d1..ed902f1d391f 100644 --- a/code/builders/builder-manager/src/utils/files.test.ts +++ b/code/builders/builder-manager/src/utils/files.test.ts @@ -1,3 +1,4 @@ +import { it, expect } from 'vitest'; import type { OutputFile } from 'esbuild'; import { platform } from 'os'; import { sanitizePath } from './files'; @@ -5,7 +6,7 @@ import { sanitizePath } from './files'; const os = platform(); const isWindows = os === 'win32'; -test('sanitizePath', () => { +it('sanitizePath', () => { const addonsDir = isWindows ? 'C:\\Users\\username\\Projects\\projectname\\storybook' : '/Users/username/Projects/projectname/storybook'; diff --git a/code/builders/builder-manager/src/utils/managerEntries.ts b/code/builders/builder-manager/src/utils/managerEntries.ts index 51413bfb852e..c30357851dd6 100644 --- a/code/builders/builder-manager/src/utils/managerEntries.ts +++ b/code/builders/builder-manager/src/utils/managerEntries.ts @@ -1,5 +1,5 @@ -import findCacheDirectory from 'find-cache-dir'; import fs from 'fs-extra'; +import { resolvePathInStorybookCache } from '@storybook/core-common'; import { join, parse, relative, sep } from 'node:path'; import slash from 'slash'; @@ -34,11 +34,11 @@ const sanitizeFinal = (path: string) => { * * We need to wrap each managerEntry with a try-catch because if we do not, a failing managerEntry can stop execution of other managerEntries. */ -export async function wrapManagerEntries(entrypoints: string[]) { +export async function wrapManagerEntries(entrypoints: string[], uniqueId?: string) { return Promise.all( entrypoints.map(async (entry, i) => { const { name, dir } = parse(entry); - const cacheLocation = findCacheDirectory({ name: 'sb-manager' }); + const cacheLocation = resolvePathInStorybookCache('sb-manager', uniqueId); if (!cacheLocation) { throw new Error('Could not create/find cache directory'); diff --git a/code/builders/builder-manager/vitest.config.ts b/code/builders/builder-manager/vitest.config.ts new file mode 100644 index 000000000000..63f6ca234803 --- /dev/null +++ b/code/builders/builder-manager/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'node', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/builders/builder-vite/jest.config.js b/code/builders/builder-vite/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/builders/builder-vite/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/builders/builder-vite/package.json b/code/builders/builder-vite/package.json index 55ebcfed1785..e0459493dbd2 100644 --- a/code/builders/builder-vite/package.json +++ b/code/builders/builder-vite/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/builder-vite", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "A plugin to run and build Storybooks with Vite", "homepage": "https://github.com/storybookjs/storybook/tree/next/code/builders/builder-vite/#readme", "bugs": { diff --git a/code/builders/builder-vite/src/plugins/external-globals-plugin.test.ts b/code/builders/builder-vite/src/plugins/external-globals-plugin.test.ts index 2bd540ee9c29..fc9ec9e47abc 100644 --- a/code/builders/builder-vite/src/plugins/external-globals-plugin.test.ts +++ b/code/builders/builder-vite/src/plugins/external-globals-plugin.test.ts @@ -1,3 +1,4 @@ +import { it, expect } from 'vitest'; import { rewriteImport } from './external-globals-plugin'; const packageName = '@storybook/package'; @@ -36,7 +37,7 @@ const cases = [ }, ]; -test('rewriteImport', () => { +it('rewriteImport', () => { cases.forEach(({ input, output, globals: caseGlobals, packageName: casePackage }) => { expect(rewriteImport(input, caseGlobals, casePackage)).toStrictEqual(output); }); diff --git a/code/builders/builder-vite/src/utils/has-vite-plugins.test.ts b/code/builders/builder-vite/src/utils/has-vite-plugins.test.ts index d82211fba6b3..8070b69220be 100644 --- a/code/builders/builder-vite/src/utils/has-vite-plugins.test.ts +++ b/code/builders/builder-vite/src/utils/has-vite-plugins.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { hasVitePlugins } from './has-vite-plugins'; describe('hasVitePlugins', () => { diff --git a/code/builders/builder-vite/src/utils/process-preview-annotation.test.ts b/code/builders/builder-vite/src/utils/process-preview-annotation.test.ts index 085c8547d0a9..4d211fd5fafb 100644 --- a/code/builders/builder-vite/src/utils/process-preview-annotation.test.ts +++ b/code/builders/builder-vite/src/utils/process-preview-annotation.test.ts @@ -1,5 +1,6 @@ +import { describe, it, expect } from 'vitest'; import { processPreviewAnnotation } from './process-preview-annotation'; -import 'jest-os-detection'; +import { onlyWindows, skipWindows } from '../../../../vitest.helpers'; describe('processPreviewAnnotation()', () => { it('should pull the `bare` value from an object', () => { @@ -11,58 +12,55 @@ describe('processPreviewAnnotation()', () => { expect(url).toBe('@storybook/addon-links/preview'); }); - it.skipWindows( - 'should convert absolute filesystem paths into urls relative to project root', - () => { - const annotation = '/Users/foo/storybook/.storybook/preview.js'; - const url = processPreviewAnnotation(annotation, '/Users/foo/storybook/'); - expect(url).toBe('/.storybook/preview.js'); - } - ); - - it.onWindows( - 'should convert absolute windows filesystem paths into urls relative to project root', - () => { - const annotation = 'C:/foo/storybook/.storybook/preview.js'; - const url = processPreviewAnnotation(annotation, 'C:/foo/storybook'); - expect(url).toBe('/.storybook/preview.js'); - } - ); - it('should convert relative paths into urls', () => { const annotation = './src/stories/components'; const url = processPreviewAnnotation(annotation, '/Users/foo/storybook/'); expect(url).toBe('/src/stories/components'); }); - // TODO: figure out why this fails on windows. Could be related to storybook-metadata.test file altering path.sep - it.skipWindows('should convert node_modules into bare paths', () => { - const annotation = '/Users/foo/storybook/node_modules/storybook-addon/preview'; - const url = processPreviewAnnotation(annotation, '/Users/foo/storybook/'); - expect(url).toBe('storybook-addon/preview'); - }); + skipWindows(() => { + it('should convert absolute filesystem paths into urls relative to project root', () => { + const annotation = '/Users/foo/storybook/.storybook/preview.js'; + const url = processPreviewAnnotation(annotation, '/Users/foo/storybook/'); + expect(url).toBe('/.storybook/preview.js'); + }); - it.skipWindows('should convert relative paths outside the root into absolute', () => { - const annotation = '../parent.js'; - const url = processPreviewAnnotation(annotation, '/Users/foo/storybook/'); - expect(url).toBe('/Users/foo/parent.js'); - }); + // TODO: figure out why this fails on windows. Could be related to storybook-metadata.test file altering path.sep + it('should convert node_modules into bare paths', () => { + const annotation = '/Users/foo/storybook/node_modules/storybook-addon/preview'; + const url = processPreviewAnnotation(annotation, '/Users/foo/storybook/'); + expect(url).toBe('storybook-addon/preview'); + }); - it.onWindows('should convert relative paths outside the root into absolute on Windows', () => { - const annotation = '../parent.js'; - const url = processPreviewAnnotation(annotation, 'C:/Users/foo/storybook/'); - expect(url).toBe('C:/Users/foo/parent.js'); - }); + it('should convert relative paths outside the root into absolute', () => { + const annotation = '../parent.js'; + const url = processPreviewAnnotation(annotation, '/Users/foo/storybook/'); + expect(url).toBe('/Users/foo/parent.js'); + }); - it.skipWindows('should not change absolute paths outside of the project root', () => { - const annotation = '/Users/foo/parent.js'; - const url = processPreviewAnnotation(annotation, '/Users/foo/storybook/'); - expect(url).toBe(annotation); + it('should not change absolute paths outside of the project root', () => { + const annotation = '/Users/foo/parent.js'; + const url = processPreviewAnnotation(annotation, '/Users/foo/storybook/'); + expect(url).toBe(annotation); + }); }); - it.onWindows('should not change Windows absolute paths outside of the project root', () => { - const annotation = 'D:/Users/foo/parent.js'; - const url = processPreviewAnnotation(annotation, 'D:/Users/foo/storybook/'); - expect(url).toBe(annotation); + onlyWindows(() => { + it('should convert absolute windows filesystem paths into urls relative to project root', () => { + const annotation = 'C:/foo/storybook/.storybook/preview.js'; + const url = processPreviewAnnotation(annotation, 'C:/foo/storybook'); + expect(url).toBe('/.storybook/preview.js'); + }); + it('should convert relative paths outside the root into absolute on Windows', () => { + const annotation = '../parent.js'; + const url = processPreviewAnnotation(annotation, 'C:/Users/foo/storybook/'); + expect(url).toBe('C:/Users/foo/parent.js'); + }); + + it('should not change Windows absolute paths outside of the project root', () => { + const annotation = 'D:/Users/foo/parent.js'; + const url = processPreviewAnnotation(annotation, 'D:/Users/foo/storybook/'); + expect(url).toBe(annotation); + }); }); }); diff --git a/code/builders/builder-vite/src/utils/without-vite-plugins.test.ts b/code/builders/builder-vite/src/utils/without-vite-plugins.test.ts index c53422cc69ed..dea82e6af9cb 100644 --- a/code/builders/builder-vite/src/utils/without-vite-plugins.test.ts +++ b/code/builders/builder-vite/src/utils/without-vite-plugins.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { withoutVitePlugins } from './without-vite-plugins'; describe('withoutVitePlugins', () => { @@ -7,8 +8,8 @@ describe('withoutVitePlugins', () => { const names = ['vite-plugin-root-to-remove']; expect(await withoutVitePlugins(plugins, names)).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "name": "vite-plugin-root-keep", }, ] @@ -23,13 +24,13 @@ describe('withoutVitePlugins', () => { const names = ['vite-plugin-nested-to-remove']; expect(await withoutVitePlugins(plugins, names)).toMatchInlineSnapshot(` - Array [ - Array [ - Object { + [ + [ + { "name": "vite-plugin-nested-keep", }, ], - Object { + { "name": "vite-plugin-root-keep", }, ] @@ -46,9 +47,9 @@ describe('withoutVitePlugins', () => { const names = ['vite-plugin-nested-async-to-remove']; expect(await withoutVitePlugins(plugins, names)).toMatchInlineSnapshot(` - Array [ - Array [ - Object { + [ + [ + { "name": "vite-plugin-nested-async-keep", }, ], @@ -64,8 +65,8 @@ describe('withoutVitePlugins', () => { const names = ['vite-plugin-async-root-to-remove']; expect(await withoutVitePlugins(plugins, names)).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "name": "vite-plugin-async-root-keep", }, ] @@ -83,13 +84,13 @@ describe('withoutVitePlugins', () => { const names = ['vite-plugin-async-nested-to-remove']; expect(await withoutVitePlugins(plugins, names)).toMatchInlineSnapshot(` - Array [ - Array [ - Object { + [ + [ + { "name": "vite-plugin-async-nested-keep", }, ], - Object { + { "name": "vite-plugin-async-root-keep", }, ] @@ -105,9 +106,9 @@ describe('withoutVitePlugins', () => { const names = ['vite-plugin-async-nested-async-to-remove']; expect(await withoutVitePlugins(plugins, names)).toMatchInlineSnapshot(` - Array [ - Array [ - Object { + [ + [ + { "name": "vite-plugin-async-nested-async-keep", }, ], @@ -124,8 +125,8 @@ describe('withoutVitePlugins', () => { const names = ['vite-plugin-root-first-to-remove', 'vite-plugin-root-second-to-remove']; expect(await withoutVitePlugins(plugins, names)).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "name": "vite-plugin-root-keep", }, ] @@ -151,11 +152,11 @@ describe('withoutVitePlugins', () => { ]; expect(await withoutVitePlugins(plugins, names)).toMatchInlineSnapshot(` - Array [ - Array [], - Array [], - Array [], - Array [], + [ + [], + [], + [], + [], ] `); }); @@ -172,25 +173,25 @@ describe('withoutVitePlugins', () => { const names = ['vite-plugin-to-remove-first', 'vite-plugin-to-remove-second']; expect(await withoutVitePlugins(plugins, names)).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "name": "vite-plugin-root", }, - Array [ - Object { + [ + { "name": "vite-plugin-in-nested-array", }, ], - Object { + { "name": "vite-plugin-async-root", }, - Array [ - Object { + [ + { "name": "vite-plugin-in-nested-async-array", }, ], - Array [ - Object { + [ + { "name": "vite-plugin-async-in-nested-async-array", }, ], diff --git a/code/builders/builder-vite/src/vite-config.test.ts b/code/builders/builder-vite/src/vite-config.test.ts index c4f2f212be48..9437bdaee678 100644 --- a/code/builders/builder-vite/src/vite-config.test.ts +++ b/code/builders/builder-vite/src/vite-config.test.ts @@ -1,12 +1,13 @@ +import { describe, it, expect, vi } from 'vitest'; import type { Options, Presets } from '@storybook/types'; import { loadConfigFromFile } from 'vite'; import { commonConfig } from './vite-config'; -jest.mock('vite', () => ({ - ...jest.requireActual('vite'), - loadConfigFromFile: jest.fn(async () => ({})), +vi.mock('vite', async (importOriginal) => ({ + ...(await importOriginal()), + loadConfigFromFile: vi.fn(async () => ({})), })); -const loadConfigFromFileMock = jest.mocked(loadConfigFromFile); +const loadConfigFromFileMock = vi.mocked(loadConfigFromFile); const dummyOptions: Options = { configType: 'DEVELOPMENT', diff --git a/code/builders/builder-vite/src/vite-config.ts b/code/builders/builder-vite/src/vite-config.ts index b4d1744d3833..f4f258902b2b 100644 --- a/code/builders/builder-vite/src/vite-config.ts +++ b/code/builders/builder-vite/src/vite-config.ts @@ -1,5 +1,4 @@ import * as path from 'path'; -import findCacheDirectory from 'find-cache-dir'; import type { ConfigEnv, InlineConfig as ViteInlineConfig, @@ -7,7 +6,12 @@ import type { UserConfig as ViteConfig, InlineConfig, } from 'vite'; -import { isPreservingSymlinks, getFrameworkName, getBuilderOptions } from '@storybook/core-common'; +import { + isPreservingSymlinks, + getFrameworkName, + getBuilderOptions, + resolvePathInStorybookCache, +} from '@storybook/core-common'; import { globalsNameReferenceMap } from '@storybook/preview/globals'; import type { Options } from '@storybook/types'; import { @@ -54,7 +58,7 @@ export async function commonConfig( const sbConfig: InlineConfig = { configFile: false, - cacheDir: findCacheDirectory({ name: 'sb-vite' }), + cacheDir: resolvePathInStorybookCache('sb-vite', options.cacheKey), root: projectRoot, // Allow storybook deployed as subfolder. See https://github.com/storybookjs/builder-vite/issues/238 base: './', diff --git a/code/builders/builder-vite/src/vite-server.ts b/code/builders/builder-vite/src/vite-server.ts index ce4631cabaed..0b1e80435027 100644 --- a/code/builders/builder-vite/src/vite-server.ts +++ b/code/builders/builder-vite/src/vite-server.ts @@ -11,6 +11,8 @@ export async function createViteServer(options: Options, devServer: Server) { const config = { ...commonCfg, + // Needed in Vite 5: https://github.com/storybookjs/storybook/issues/25256 + assetsInclude: ['/sb-preview/**'], // Set up dev server server: { middlewareMode: true, diff --git a/code/builders/builder-vite/vitest.config.ts b/code/builders/builder-vite/vitest.config.ts new file mode 100644 index 000000000000..63f6ca234803 --- /dev/null +++ b/code/builders/builder-vite/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'node', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/builders/builder-webpack5/jest.config.js b/code/builders/builder-webpack5/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/builders/builder-webpack5/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/builders/builder-webpack5/package.json b/code/builders/builder-webpack5/package.json index 6cbb2b16b946..e38893b42bcd 100644 --- a/code/builders/builder-webpack5/package.json +++ b/code/builders/builder-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/builder-webpack5", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook framework-agnostic API", "keywords": [ "storybook" diff --git a/code/builders/builder-webpack5/vitest.config.ts b/code/builders/builder-webpack5/vitest.config.ts new file mode 100644 index 000000000000..63f6ca234803 --- /dev/null +++ b/code/builders/builder-webpack5/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'node', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/e2e-tests/addon-docs.spec.ts b/code/e2e-tests/addon-docs.spec.ts index 7edd143360ab..fce9785adf04 100644 --- a/code/e2e-tests/addon-docs.spec.ts +++ b/code/e2e-tests/addon-docs.spec.ts @@ -186,4 +186,31 @@ test.describe('addon-docs', () => { await expect(stories.nth(1)).toHaveText('Basic'); await expect(stories.last()).toHaveText('Another'); }); + + test('should resolve react to the correct version', async ({ page }) => { + const sbPage = new SbPage(page); + await sbPage.navigateToUnattachedDocs('addons/docs/docs2', 'ResolvedReact'); + const root = sbPage.previewRoot(); + + let expectedReactVersion = /^18/; + if ( + templateName.includes('preact') || + templateName.includes('react-webpack/17') || + templateName.includes('react-vite/17') + ) { + expectedReactVersion = /^17/; + } else if (templateName.includes('react16')) { + expectedReactVersion = /^16/; + } + + const mdxReactVersion = await root.getByTestId('mdx-react'); + const mdxReactDomVersion = await root.getByTestId('mdx-react-dom'); + const componentReactVersion = await root.getByTestId('component-react'); + const componentReactDomVersion = await root.getByTestId('component-react-dom'); + + await expect(mdxReactVersion).toHaveText(expectedReactVersion); + await expect(mdxReactDomVersion).toHaveText(expectedReactVersion); + await expect(componentReactVersion).toHaveText(expectedReactVersion); + await expect(componentReactDomVersion).toHaveText(expectedReactVersion); + }); }); diff --git a/code/e2e-tests/framework-svelte.spec.ts b/code/e2e-tests/framework-svelte.spec.ts index 40d2b7f817dd..7033342b6890 100644 --- a/code/e2e-tests/framework-svelte.spec.ts +++ b/code/e2e-tests/framework-svelte.spec.ts @@ -122,5 +122,21 @@ test.describe('SvelteKit', () => { hasText: `"invalidateAll"`, }); await expect(invalidateAllLogItem).toBeVisible(); + + const replaceState = root.getByRole('button', { name: 'replaceState' }); + await replaceState.click(); + + const replaceStateLogItem = page.locator('#storybook-panel-root #panel-tab-content', { + hasText: `/storybook-replace-state`, + }); + await expect(replaceStateLogItem).toBeVisible(); + + const pushState = root.getByRole('button', { name: 'pushState' }); + await pushState.click(); + + const pushStateLogItem = page.locator('#storybook-panel-root #panel-tab-content', { + hasText: `/storybook-push-state`, + }); + await expect(pushStateLogItem).toBeVisible(); }); }); diff --git a/code/e2e-tests/util.ts b/code/e2e-tests/util.ts index e0c45c1ae336..38b0e78cb4c8 100644 --- a/code/e2e-tests/util.ts +++ b/code/e2e-tests/util.ts @@ -1,4 +1,4 @@ -/* eslint-disable jest/no-standalone-expect, no-await-in-loop */ +/* eslint-disable no-await-in-loop */ import type { Page } from '@playwright/test'; import { expect } from '@playwright/test'; import { toId } from '@storybook/csf'; @@ -61,6 +61,26 @@ export class SbPage { await this.previewRoot(); } + async navigateToUnattachedDocs(title: string, name = 'docs') { + await this.openComponent(title); + + const titleId = toId(title); + const storyId = toId(name); + const storyLinkId = `#${titleId}-${storyId}--docs`; + await this.page.waitForSelector(storyLinkId); + const storyLink = this.page.locator('*', { has: this.page.locator(`> ${storyLinkId}`) }); + await storyLink.click({ force: true }); + + await this.page.waitForURL((url) => + url.search.includes(`path=/docs/${titleId}-${storyId}--docs`) + ); + + const selected = await storyLink.getAttribute('data-selected'); + await expect(selected).toBe('true'); + + await this.previewRoot(); + } + async waitUntilLoaded() { // make sure we start every test with clean state – to avoid possible flakyness await this.page.context().addInitScript(() => { diff --git a/code/frameworks/angular/jest.config.js b/code/frameworks/angular/jest.config.js deleted file mode 100644 index 3f12cc3ea9ef..000000000000 --- a/code/frameworks/angular/jest.config.js +++ /dev/null @@ -1,31 +0,0 @@ -const path = require('path'); - -module.exports = { - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), - preset: 'jest-preset-angular/presets/defaults-esm', - setupFilesAfterEnv: ['/setup-jest.ts'], - transformIgnorePatterns: ['/node_modules/(?!@angular|rxjs|nanoid|uuid)'], - snapshotFormat: { - escapeString: true, - printBasicPrototype: true, - }, - coverageDirectory: './coverage/testapp', - transform: { - '^.+\\.(ts|mjs|js|html)$': [ - 'jest-preset-angular', - { - tsconfig: '/tsconfig.spec.json', - stringifyContentPathRegex: '\\.(html|svg)$', - }, - ], - }, - snapshotSerializers: [ - 'jest-preset-angular/build/serializers/no-ng-attributes', - 'jest-preset-angular/build/serializers/ng-snapshot', - 'jest-preset-angular/build/serializers/html-comment', - ], - testMatch: [ - '/src/**/__tests__/**/*.[jt]s?(x)', - '/src/**/?(*.)+(spec|test).[jt]s?(x)', - ], -}; diff --git a/code/frameworks/angular/package.json b/code/frameworks/angular/package.json index 64ce060ebecb..ef030dd8bf55 100644 --- a/code/frameworks/angular/package.json +++ b/code/frameworks/angular/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/angular", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook for Angular: Develop Angular components in isolation with hot reloading.", "keywords": [ "storybook", @@ -65,6 +65,7 @@ "webpack": "5" }, "devDependencies": { + "@analogjs/vite-plugin-angular": "^0.2.24", "@angular-devkit/architect": "^0.1700.5", "@angular-devkit/build-angular": "^17.0.5", "@angular-devkit/core": "^17.0.5", @@ -80,9 +81,7 @@ "@types/cross-spawn": "^6.0.2", "@types/tmp": "^0.2.3", "cross-spawn": "^7.0.3", - "jest": "^29.7.0", - "jest-preset-angular": "^13.0.1", - "jest-specific-snapshot": "^8.0.0", + "jsdom": "^23.0.1", "tmp": "^0.2.1", "typescript": "^5.3.2", "webpack": "5", diff --git a/code/frameworks/angular/setup-jest.ts b/code/frameworks/angular/setup-jest.ts deleted file mode 100644 index 98ac45feb4eb..000000000000 --- a/code/frameworks/angular/setup-jest.ts +++ /dev/null @@ -1,12 +0,0 @@ -// eslint-disable-next-line import/no-extraneous-dependencies -import 'jest-preset-angular/setup-jest'; - -import { webcrypto } from 'node:crypto'; - -Object.defineProperty(global, 'crypto', { - get() { - return webcrypto; - }, -}); - -global.EventSource = class {} as any; diff --git a/code/frameworks/angular/src/__tests__/button.css b/code/frameworks/angular/src/__tests__/button.css new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/code/frameworks/angular/src/builders/build-storybook/index.spec.ts b/code/frameworks/angular/src/builders/build-storybook/index.spec.ts index 52b328aede7b..fcac33c0fab9 100644 --- a/code/frameworks/angular/src/builders/build-storybook/index.spec.ts +++ b/code/frameworks/angular/src/builders/build-storybook/index.spec.ts @@ -1,14 +1,16 @@ /* - * @jest-environment node + * @vitest-environment node */ +// eslint-disable-next-line import/no-extraneous-dependencies +import { vi, describe, beforeEach, expect } from 'vitest'; import { Architect, createBuilder } from '@angular-devkit/architect'; import { TestingArchitectHost } from '@angular-devkit/architect/testing'; import { schema } from '@angular-devkit/core'; import * as path from 'path'; -const buildDevStandaloneMock = jest.fn(); -const buildStaticStandaloneMock = jest.fn(); +const buildDevStandaloneMock = vi.fn(); +const buildStaticStandaloneMock = vi.fn(); const buildMock = { buildDevStandalone: buildDevStandaloneMock, @@ -16,8 +18,8 @@ const buildMock = { withTelemetry: (name: string, options: any, fn: any) => fn(), }; -jest.doMock('@storybook/core-server', () => buildMock); -jest.doMock('@storybook/cli', () => ({ +vi.doMock('@storybook/core-server', () => buildMock); +vi.doMock('@storybook/cli', () => ({ JsPackageManagerFactory: { getPackageManager: () => ({ runPackageCommand: mockRunScript, @@ -28,9 +30,9 @@ jest.doMock('@storybook/cli', () => ({ storybook: 'x.x.x', }, })); -jest.doMock('find-up', () => ({ sync: () => './storybook/tsconfig.ts' })); +vi.doMock('find-up', () => ({ sync: () => './storybook/tsconfig.ts' })); -const mockRunScript = jest.fn(); +const mockRunScript = vi.fn(); // Randomly fails on CI. TODO: investigate why // eslint-disable-next-line jest/no-disabled-tests @@ -76,7 +78,7 @@ describe.skip('Build Storybook Builder', () => { }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); it('should start storybook with angularBrowserTarget', async () => { diff --git a/code/frameworks/angular/src/builders/start-storybook/index.spec.ts b/code/frameworks/angular/src/builders/start-storybook/index.spec.ts index 9ef597063ca1..291326d53ce8 100644 --- a/code/frameworks/angular/src/builders/start-storybook/index.spec.ts +++ b/code/frameworks/angular/src/builders/start-storybook/index.spec.ts @@ -1,25 +1,27 @@ /* - * @jest-environment node + * @vitest-environment node */ +// eslint-disable-next-line import/no-extraneous-dependencies +import { vi, describe, expect, it, beforeEach } from 'vitest'; import { Architect, createBuilder } from '@angular-devkit/architect'; import { TestingArchitectHost } from '@angular-devkit/architect/testing'; import { schema } from '@angular-devkit/core'; import * as path from 'path'; -const buildDevStandaloneMock = jest.fn(); -const buildStaticStandaloneMock = jest.fn(); +const buildDevStandaloneMock = vi.fn(); +const buildStaticStandaloneMock = vi.fn(); const buildMock = { buildDevStandalone: buildDevStandaloneMock, buildStaticStandalone: buildStaticStandaloneMock, withTelemetry: (_: string, __: any, fn: any) => fn(), }; -jest.doMock('@storybook/core-server', () => buildMock); -jest.doMock('find-up', () => ({ sync: () => './storybook/tsconfig.ts' })); +vi.doMock('@storybook/core-server', () => buildMock); +vi.doMock('find-up', () => ({ sync: () => './storybook/tsconfig.ts' })); -const mockRunScript = jest.fn(); +const mockRunScript = vi.fn(); -jest.mock('@storybook/cli', () => ({ +vi.mock('@storybook/cli', () => ({ getEnvConfig: (options: any) => options, versions: { storybook: 'x.x.x', @@ -74,7 +76,7 @@ describe.skip('Start Storybook Builder', () => { }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); it('should start storybook with angularBrowserTarget', async () => { diff --git a/code/frameworks/angular/src/builders/utils/run-compodoc.spec.ts b/code/frameworks/angular/src/builders/utils/run-compodoc.spec.ts index c8cbbf2133f6..26b99317811a 100644 --- a/code/frameworks/angular/src/builders/utils/run-compodoc.spec.ts +++ b/code/frameworks/angular/src/builders/utils/run-compodoc.spec.ts @@ -1,11 +1,14 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +import { vi, describe, afterEach, it, expect } from 'vitest'; import { LoggerApi } from '@angular-devkit/core/src/logger'; import { take } from 'rxjs/operators'; +import { BuilderContext } from '@angular-devkit/architect'; -const { runCompodoc } = require('./run-compodoc'); +import { runCompodoc } from './run-compodoc'; -const mockRunScript = jest.fn(); +const mockRunScript = vi.fn(); -jest.mock('@storybook/cli', () => ({ +vi.mock('@storybook/cli', () => ({ JsPackageManagerFactory: { getPackageManager: () => ({ runPackageCommandSync: mockRunScript, @@ -14,13 +17,13 @@ jest.mock('@storybook/cli', () => ({ })); const builderContextLoggerMock: LoggerApi = { - createChild: jest.fn(), - log: jest.fn(), - debug: jest.fn(), - info: jest.fn(), - warn: jest.fn(), - error: jest.fn(), - fatal: jest.fn(), + createChild: vi.fn(), + log: vi.fn(), + debug: vi.fn(), + info: vi.fn(), + warn: vi.fn(), + error: vi.fn(), + fatal: vi.fn(), }; describe('runCompodoc', () => { @@ -28,16 +31,18 @@ describe('runCompodoc', () => { mockRunScript.mockClear(); }); + const builderContextMock = { + workspaceRoot: 'path/to/project', + logger: builderContextLoggerMock, + } as BuilderContext; + it('should run compodoc with tsconfig from context', async () => { runCompodoc( { compodocArgs: [], tsconfig: 'path/to/tsconfig.json', }, - { - workspaceRoot: 'path/to/project', - logger: builderContextLoggerMock, - } + builderContextMock ) .pipe(take(1)) .subscribe(); @@ -56,10 +61,7 @@ describe('runCompodoc', () => { compodocArgs: ['-p', 'path/to/tsconfig.stories.json'], tsconfig: 'path/to/tsconfig.json', }, - { - workspaceRoot: 'path/to/project', - logger: builderContextLoggerMock, - } + builderContextMock ) .pipe(take(1)) .subscribe(); @@ -78,10 +80,7 @@ describe('runCompodoc', () => { compodocArgs: [], tsconfig: 'path/to/tsconfig.json', }, - { - workspaceRoot: 'path/to/project', - logger: builderContextLoggerMock, - } + builderContextMock ) .pipe(take(1)) .subscribe(); @@ -100,10 +99,7 @@ describe('runCompodoc', () => { compodocArgs: ['--output', 'path/to/customFolder'], tsconfig: 'path/to/tsconfig.json', }, - { - workspaceRoot: 'path/to/project', - logger: builderContextLoggerMock, - } + builderContextMock ) .pipe(take(1)) .subscribe(); @@ -122,10 +118,7 @@ describe('runCompodoc', () => { compodocArgs: ['-d', 'path/to/customFolder'], tsconfig: 'path/to/tsconfig.json', }, - { - workspaceRoot: 'path/to/project', - logger: builderContextLoggerMock, - } + builderContextMock ) .pipe(take(1)) .subscribe(); diff --git a/code/frameworks/angular/src/client/angular-beta/RendererFactory.test.ts b/code/frameworks/angular/src/client/angular-beta/RendererFactory.test.ts index 8a543b3df201..922da9c7ab94 100644 --- a/code/frameworks/angular/src/client/angular-beta/RendererFactory.test.ts +++ b/code/frameworks/angular/src/client/angular-beta/RendererFactory.test.ts @@ -1,3 +1,4 @@ +import { vi, describe, it, expect, beforeEach } from 'vitest'; import { Component, ɵresetJitOptions } from '@angular/core'; import { platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; @@ -6,7 +7,7 @@ import { CanvasRenderer } from './CanvasRenderer'; import { RendererFactory } from './RendererFactory'; import { DocsRenderer } from './DocsRenderer'; -jest.mock('@angular/platform-browser-dynamic'); +vi.mock('@angular/platform-browser-dynamic'); declare const document: Document; describe('RendererFactory', () => { @@ -23,11 +24,11 @@ describe('RendererFactory', () => { rootTargetDOMNode = global.document.getElementById('storybook-root'); rootDocstargetDOMNode = global.document.getElementById('root-docs'); (platformBrowserDynamic as any).mockImplementation(platformBrowserDynamicTesting); - jest.spyOn(console, 'log').mockImplementation(() => {}); + vi.spyOn(console, 'log').mockImplementation(() => {}); }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); // Necessary to avoid this error "Provided value for `preserveWhitespaces` can not be changed once it has been set." : // Source: https://github.com/angular/angular/commit/e342ffd855ffeb8af7067b42307ffa320d82177e#diff-92b125e532cc22977b46a91f068d6d7ea81fd61b772842a4a0212f1cfd875be6R28 diff --git a/code/frameworks/angular/src/client/angular-beta/utils/PropertyExtractor.test.ts b/code/frameworks/angular/src/client/angular-beta/utils/PropertyExtractor.test.ts index 4c8778cdc31a..6357bc117164 100644 --- a/code/frameworks/angular/src/client/angular-beta/utils/PropertyExtractor.test.ts +++ b/code/frameworks/angular/src/client/angular-beta/utils/PropertyExtractor.test.ts @@ -1,3 +1,4 @@ +import { vi, describe, it, expect } from 'vitest'; import { CommonModule } from '@angular/common'; import { Component, Directive, Injectable, InjectionToken, NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; @@ -46,7 +47,7 @@ const extractApplicationProviders = (metadata: NgModuleMetadata, component?: any }; describe('PropertyExtractor', () => { - jest.spyOn(console, 'warn').mockImplementation(() => {}); + vi.spyOn(console, 'warn').mockImplementation(() => {}); describe('analyzeMetadata', () => { it('should remove BrowserModule', () => { diff --git a/code/frameworks/angular/src/client/decorators.test.ts b/code/frameworks/angular/src/client/decorators.test.ts index a1fc71efe581..72a6f6836713 100644 --- a/code/frameworks/angular/src/client/decorators.test.ts +++ b/code/frameworks/angular/src/client/decorators.test.ts @@ -1,5 +1,6 @@ import { Addon_StoryContext } from '@storybook/types'; +import { vi, expect, describe, it } from 'vitest'; import { Component } from '@angular/core'; import { moduleMetadata, applicationConfig } from './decorators'; import { AngularRenderer } from './types'; @@ -19,7 +20,7 @@ const defaultContext: Addon_StoryContext = { globals: {}, hooks: {}, loaded: {}, - originalStoryFn: jest.fn(), + originalStoryFn: vi.fn(), viewMode: 'story', abortSignal: undefined, canvasElement: undefined, diff --git a/code/frameworks/angular/src/client/docs/angular-properties.test.ts b/code/frameworks/angular/src/client/docs/angular-properties.test.ts index b24bae9506b8..0a58ecde4836 100644 --- a/code/frameworks/angular/src/client/docs/angular-properties.test.ts +++ b/code/frameworks/angular/src/client/docs/angular-properties.test.ts @@ -1,4 +1,3 @@ -import 'jest-specific-snapshot'; import path from 'path'; import fs from 'fs'; import tmp from 'tmp'; @@ -50,14 +49,14 @@ describe('angular component properties', () => { // // snapshot the output of compodoc // const compodocOutput = runCompodoc(inputPath); // const compodocJson = JSON.parse(compodocOutput); - // expect(compodocJson).toMatchSpecificSnapshot( + // expect(compodocJson).toMatchFileSnapshot( // path.join(testDir, `compodoc-${SNAPSHOT_OS}.snapshot`) // ); // // snapshot the output of addon-docs angular-properties // const componentData = findComponentByName('InputComponent', compodocJson); // const argTypes = extractArgTypesFromData(componentData); - // expect(argTypes).toMatchSpecificSnapshot(path.join(testDir, 'argtypes.snapshot')); + // expect(argTypes).toMatchFileSnapshot(path.join(testDir, 'argtypes.snapshot')); // }); } } diff --git a/code/frameworks/angular/src/client/docs/compodoc.test.ts b/code/frameworks/angular/src/client/docs/compodoc.test.ts index aeb9eb8feb74..ff91661c8d25 100644 --- a/code/frameworks/angular/src/client/docs/compodoc.test.ts +++ b/code/frameworks/angular/src/client/docs/compodoc.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { extractType, setCompodocJson } from './compodoc'; import { CompodocJson, Decorator } from './types'; diff --git a/code/frameworks/angular/src/test-setup.ts b/code/frameworks/angular/src/test-setup.ts new file mode 100644 index 000000000000..d28182c6e7b7 --- /dev/null +++ b/code/frameworks/angular/src/test-setup.ts @@ -0,0 +1,10 @@ +// eslint-disable-next-line import/no-extraneous-dependencies +import '@analogjs/vite-plugin-angular/setup-vitest'; + +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting, +} from '@angular/platform-browser-dynamic/testing'; +import { getTestBed } from '@angular/core/testing'; + +getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting()); diff --git a/code/frameworks/angular/tsconfig.spec.json b/code/frameworks/angular/tsconfig.spec.json index d52945662591..f51238e7bb34 100644 --- a/code/frameworks/angular/tsconfig.spec.json +++ b/code/frameworks/angular/tsconfig.spec.json @@ -1,9 +1,9 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "types": ["webpack-env", "jest", "node"], + "types": ["webpack-env", "node"], "typeRoots": ["../../node_modules/@types", "node_modules/@types"], "allowJs": true }, - "include": ["**/*.test.ts", "**/*.d.ts", "setup-jest.ts"] + "include": ["**/*.test.ts", "**/*.d.ts"] } diff --git a/code/frameworks/angular/vitest.config.ts b/code/frameworks/angular/vitest.config.ts new file mode 100644 index 000000000000..10b357937a4a --- /dev/null +++ b/code/frameworks/angular/vitest.config.ts @@ -0,0 +1,15 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default defineConfig(({ mode }) => { + return mergeConfig(vitestCommonConfig, { + test: { + setupFiles: ['src/test-setup.ts'], + environment: 'jsdom', + + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }); +}); diff --git a/code/frameworks/ember/jest.config.js b/code/frameworks/ember/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/frameworks/ember/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/frameworks/ember/package.json b/code/frameworks/ember/package.json index a8e41672d4b9..c843c7712cde 100644 --- a/code/frameworks/ember/package.json +++ b/code/frameworks/ember/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/ember", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook for Ember: Develop Ember Component in isolation with Hot Reloading.", "homepage": "https://github.com/storybookjs/storybook/tree/next/code/frameworks/ember", "bugs": { diff --git a/code/frameworks/ember/vitest.config.ts b/code/frameworks/ember/vitest.config.ts new file mode 100644 index 000000000000..63f6ca234803 --- /dev/null +++ b/code/frameworks/ember/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'node', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/frameworks/html-vite/package.json b/code/frameworks/html-vite/package.json index 697df6bea721..010de8d6a3dd 100644 --- a/code/frameworks/html-vite/package.json +++ b/code/frameworks/html-vite/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/html-vite", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook for HTML and Vite: Develop HTML in isolation with Hot Reloading.", "keywords": [ "storybook" diff --git a/code/frameworks/html-webpack5/jest.config.js b/code/frameworks/html-webpack5/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/frameworks/html-webpack5/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/frameworks/html-webpack5/package.json b/code/frameworks/html-webpack5/package.json index 835357cc5ce1..825bccbf896d 100644 --- a/code/frameworks/html-webpack5/package.json +++ b/code/frameworks/html-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/html-webpack5", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook for HTML: View HTML snippets in isolation with Hot Reloading.", "keywords": [ "storybook" diff --git a/code/frameworks/html-webpack5/vitest.config.ts b/code/frameworks/html-webpack5/vitest.config.ts new file mode 100644 index 000000000000..63f6ca234803 --- /dev/null +++ b/code/frameworks/html-webpack5/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'node', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/frameworks/nextjs/jest.config.js b/code/frameworks/nextjs/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/frameworks/nextjs/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/frameworks/nextjs/package.json b/code/frameworks/nextjs/package.json index 56d9af4fc9da..ed10bbe5c119 100644 --- a/code/frameworks/nextjs/package.json +++ b/code/frameworks/nextjs/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/nextjs", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook for Next.js", "keywords": [ "storybook", @@ -42,7 +42,7 @@ "import": "./dist/font/webpack/loader/storybook-nextjs-font-loader.mjs" }, "./dist/preview.mjs": "./dist/preview.mjs", - "./dist/previewRSC.mjs": "./dist/previewRSC.mjs", + "./dist/rsc/preview.mjs": "./dist/rsc/preview.mjs", "./next-image-loader-stub.js": { "types": "./dist/next-image-loader-stub.d.ts", "require": "./dist/next-image-loader-stub.js", @@ -98,6 +98,7 @@ "@storybook/preview-api": "workspace:*", "@storybook/react": "workspace:*", "@types/node": "^18.0.0", + "@types/semver": "^7.3.4", "css-loader": "^6.7.3", "find-up": "^5.0.0", "fs-extra": "^11.1.0", @@ -153,12 +154,13 @@ "./src/index.ts", "./src/preset.ts", "./src/preview.tsx", - "./src/previewRSC.tsx", "./src/next-image-loader-stub.ts", "./src/images/decorator.tsx", "./src/images/next-legacy-image.tsx", "./src/images/next-image.tsx", "./src/font/webpack/loader/storybook-nextjs-font-loader.ts", + "./src/rsc/preview.tsx", + "./src/rsc/server-only.ts", "./src/swc/next-swc-loader-patch.ts" ], "externals": [ diff --git a/code/frameworks/nextjs/src/font/babel/index.test.ts b/code/frameworks/nextjs/src/font/babel/index.test.ts index 405d25b227cf..8e5996fc6c60 100644 --- a/code/frameworks/nextjs/src/font/babel/index.test.ts +++ b/code/frameworks/nextjs/src/font/babel/index.test.ts @@ -1,4 +1,5 @@ /* eslint-disable @typescript-eslint/no-non-null-assertion */ +import { it, expect } from 'vitest'; import { transform } from '@babel/core'; import TransformFontImports from '.'; @@ -47,10 +48,10 @@ const randomObj = {} it('should transform next/font AST properly', () => { const { code } = transform(example, { plugins: [TransformFontImports] })!; expect(code).toMatchInlineSnapshot(` - "import inter from \\"storybook-nextjs-font-loader?{\\\\\\"source\\\\\\":\\\\\\"next/font/google\\\\\\",\\\\\\"props\\\\\\":{\\\\\\"subsets\\\\\\":[\\\\\\"latin\\\\\\"]},\\\\\\"fontFamily\\\\\\":\\\\\\"Inter\\\\\\",\\\\\\"filename\\\\\\":\\\\\\"\\\\\\"}!next/font/google\\"; - import lora from \\"storybook-nextjs-font-loader?{\\\\\\"source\\\\\\":\\\\\\"next/font/google\\\\\\",\\\\\\"props\\\\\\":{\\\\\\"weight\\\\\\":\\\\\\"400\\\\\\"},\\\\\\"fontFamily\\\\\\":\\\\\\"Lora\\\\\\",\\\\\\"filename\\\\\\":\\\\\\"\\\\\\"}!next/font/google\\"; - import roboto from \\"storybook-nextjs-font-loader?{\\\\\\"source\\\\\\":\\\\\\"next/font/google\\\\\\",\\\\\\"props\\\\\\":{\\\\\\"weight\\\\\\":\\\\\\"400\\\\\\"},\\\\\\"fontFamily\\\\\\":\\\\\\"Roboto\\\\\\",\\\\\\"filename\\\\\\":\\\\\\"\\\\\\"}!next/font/google\\"; - import myFont from \\"storybook-nextjs-font-loader?{\\\\\\"source\\\\\\":\\\\\\"next/font/local\\\\\\",\\\\\\"props\\\\\\":{\\\\\\"src\\\\\\":\\\\\\"./my-font.woff2\\\\\\"},\\\\\\"fontFamily\\\\\\":\\\\\\"localFont\\\\\\",\\\\\\"filename\\\\\\":\\\\\\"\\\\\\"}!next/font/local\\"; + "import inter from "storybook-nextjs-font-loader?{\\"source\\":\\"next/font/google\\",\\"props\\":{\\"subsets\\":[\\"latin\\"]},\\"fontFamily\\":\\"Inter\\",\\"filename\\":\\"\\"}!next/font/google"; + import lora from "storybook-nextjs-font-loader?{\\"source\\":\\"next/font/google\\",\\"props\\":{\\"weight\\":\\"400\\"},\\"fontFamily\\":\\"Lora\\",\\"filename\\":\\"\\"}!next/font/google"; + import roboto from "storybook-nextjs-font-loader?{\\"source\\":\\"next/font/google\\",\\"props\\":{\\"weight\\":\\"400\\"},\\"fontFamily\\":\\"Roboto\\",\\"filename\\":\\"\\"}!next/font/google"; + import myFont from "storybook-nextjs-font-loader?{\\"source\\":\\"next/font/local\\",\\"props\\":{\\"src\\":\\"./my-font.woff2\\"},\\"fontFamily\\":\\"localFont\\",\\"filename\\":\\"\\"}!next/font/local"; const randomObj = {};" `); }); @@ -58,10 +59,10 @@ it('should transform next/font AST properly', () => { it('should transform @next/font AST properly', () => { const { code } = transform(exampleLegacy, { plugins: [TransformFontImports] })!; expect(code).toMatchInlineSnapshot(` - "import inter from \\"storybook-nextjs-font-loader?{\\\\\\"source\\\\\\":\\\\\\"@next/font/google\\\\\\",\\\\\\"props\\\\\\":{\\\\\\"subsets\\\\\\":[\\\\\\"latin\\\\\\"]},\\\\\\"fontFamily\\\\\\":\\\\\\"Inter\\\\\\",\\\\\\"filename\\\\\\":\\\\\\"\\\\\\"}!@next/font/google\\"; - import lora from \\"storybook-nextjs-font-loader?{\\\\\\"source\\\\\\":\\\\\\"@next/font/google\\\\\\",\\\\\\"props\\\\\\":{\\\\\\"weight\\\\\\":\\\\\\"400\\\\\\"},\\\\\\"fontFamily\\\\\\":\\\\\\"Lora\\\\\\",\\\\\\"filename\\\\\\":\\\\\\"\\\\\\"}!@next/font/google\\"; - import roboto from \\"storybook-nextjs-font-loader?{\\\\\\"source\\\\\\":\\\\\\"@next/font/google\\\\\\",\\\\\\"props\\\\\\":{\\\\\\"weight\\\\\\":\\\\\\"400\\\\\\"},\\\\\\"fontFamily\\\\\\":\\\\\\"Roboto\\\\\\",\\\\\\"filename\\\\\\":\\\\\\"\\\\\\"}!@next/font/google\\"; - import myFont from \\"storybook-nextjs-font-loader?{\\\\\\"source\\\\\\":\\\\\\"@next/font/local\\\\\\",\\\\\\"props\\\\\\":{\\\\\\"src\\\\\\":\\\\\\"./my-font.woff2\\\\\\"},\\\\\\"fontFamily\\\\\\":\\\\\\"localFont\\\\\\",\\\\\\"filename\\\\\\":\\\\\\"\\\\\\"}!@next/font/local\\"; + "import inter from "storybook-nextjs-font-loader?{\\"source\\":\\"@next/font/google\\",\\"props\\":{\\"subsets\\":[\\"latin\\"]},\\"fontFamily\\":\\"Inter\\",\\"filename\\":\\"\\"}!@next/font/google"; + import lora from "storybook-nextjs-font-loader?{\\"source\\":\\"@next/font/google\\",\\"props\\":{\\"weight\\":\\"400\\"},\\"fontFamily\\":\\"Lora\\",\\"filename\\":\\"\\"}!@next/font/google"; + import roboto from "storybook-nextjs-font-loader?{\\"source\\":\\"@next/font/google\\",\\"props\\":{\\"weight\\":\\"400\\"},\\"fontFamily\\":\\"Roboto\\",\\"filename\\":\\"\\"}!@next/font/google"; + import myFont from "storybook-nextjs-font-loader?{\\"source\\":\\"@next/font/local\\",\\"props\\":{\\"src\\":\\"./my-font.woff2\\"},\\"fontFamily\\":\\"localFont\\",\\"filename\\":\\"\\"}!@next/font/local"; const randomObj = {};" `); }); diff --git a/code/frameworks/nextjs/src/preset.ts b/code/frameworks/nextjs/src/preset.ts index 504425df0297..5ee5e2e319a5 100644 --- a/code/frameworks/nextjs/src/preset.ts +++ b/code/frameworks/nextjs/src/preset.ts @@ -9,6 +9,7 @@ import { configureCss } from './css/webpack'; import { configureImports } from './imports/webpack'; import { configureStyledJsx } from './styledJsx/webpack'; import { configureImages } from './images/webpack'; +import { configureRSC } from './rsc/webpack'; import { configureRuntimeNextjsVersionResolution } from './utils'; import type { FrameworkOptions, StorybookConfig } from './types'; import TransformFontImports from './font/babel'; @@ -72,7 +73,7 @@ export const previewAnnotations: PresetProperty<'previewAnnotations'> = ( const nextDir = dirname(require.resolve('@storybook/nextjs/package.json')); const result = [...entry, join(nextDir, 'dist/preview.mjs')]; if (features?.experimentalNextRSC) { - result.unshift(join(nextDir, 'dist/previewRSC.mjs')); + result.unshift(join(nextDir, 'dist/rsc/preview.mjs')); } return result; }; @@ -155,6 +156,10 @@ export const webpackFinal: StorybookConfig['webpackFinal'] = async (baseConfig, configureStyledJsx(baseConfig); configureNodePolyfills(baseConfig); + if (options.features?.experimentalNextRSC) { + configureRSC(baseConfig); + } + // TODO: In Storybook 8.0, we have to check whether the babel-compiler addon is used. Otherwise, swc should be used. if (builder?.useSWC) { await configureSWCLoader(baseConfig, options, nextConfig); diff --git a/code/frameworks/nextjs/src/previewRSC.tsx b/code/frameworks/nextjs/src/rsc/preview.tsx similarity index 78% rename from code/frameworks/nextjs/src/previewRSC.tsx rename to code/frameworks/nextjs/src/rsc/preview.tsx index d605a96db980..a26737ec1e06 100644 --- a/code/frameworks/nextjs/src/previewRSC.tsx +++ b/code/frameworks/nextjs/src/rsc/preview.tsx @@ -1,5 +1,5 @@ import type { Addon_DecoratorFunction } from '@storybook/types'; -import { ServerComponentDecorator } from './rsc/decorator'; +import { ServerComponentDecorator } from './decorator'; export const decorators: Addon_DecoratorFunction[] = [ServerComponentDecorator]; diff --git a/code/frameworks/nextjs/src/rsc/server-only.ts b/code/frameworks/nextjs/src/rsc/server-only.ts new file mode 100644 index 000000000000..07a7f2053f18 --- /dev/null +++ b/code/frameworks/nextjs/src/rsc/server-only.ts @@ -0,0 +1,2 @@ +// dummy export to make this a module +export default {}; diff --git a/code/frameworks/nextjs/src/rsc/webpack.ts b/code/frameworks/nextjs/src/rsc/webpack.ts new file mode 100644 index 000000000000..1b6502266e73 --- /dev/null +++ b/code/frameworks/nextjs/src/rsc/webpack.ts @@ -0,0 +1,9 @@ +import type { Configuration as WebpackConfig } from 'webpack'; + +export const configureRSC = (baseConfig: WebpackConfig): void => { + const resolve = baseConfig.resolve ?? {}; + resolve.alias = { + ...resolve.alias, + 'server-only$': require.resolve('./rsc/server-only.js'), + }; +}; diff --git a/code/frameworks/nextjs/template/stories/RSC.jsx b/code/frameworks/nextjs/template/stories/RSC.jsx index 17a98b954919..9c894710b439 100644 --- a/code/frameworks/nextjs/template/stories/RSC.jsx +++ b/code/frameworks/nextjs/template/stories/RSC.jsx @@ -1,4 +1,5 @@ import React from 'react'; +import 'server-only'; export const RSC = async ({ label }) => <>RSC {label}>; diff --git a/code/frameworks/nextjs/template/stories_nextjs-default-ts/Navigation.stories.tsx b/code/frameworks/nextjs/template/stories_nextjs-default-ts/Navigation.stories.tsx index 8bb209bd9d45..d9f2a3dc361f 100644 --- a/code/frameworks/nextjs/template/stories_nextjs-default-ts/Navigation.stories.tsx +++ b/code/frameworks/nextjs/template/stories_nextjs-default-ts/Navigation.stories.tsx @@ -24,6 +24,7 @@ function Component() { name: 'Prefetch', }, { + // @ts-expect-error (a legacy nextjs api?) cb: () => router.push('/push-html', { forceOptimisticNavigation: true }), name: 'Push HTML', }, @@ -32,6 +33,7 @@ function Component() { name: 'Refresh', }, { + // @ts-expect-error (a legacy nextjs api?) cb: () => router.replace('/replaced-html', { forceOptimisticNavigation: true }), name: 'Replace', }, diff --git a/code/frameworks/nextjs/vitest.config.ts b/code/frameworks/nextjs/vitest.config.ts new file mode 100644 index 000000000000..63f6ca234803 --- /dev/null +++ b/code/frameworks/nextjs/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'node', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/frameworks/preact-vite/jest.config.js b/code/frameworks/preact-vite/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/frameworks/preact-vite/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/frameworks/preact-vite/package.json b/code/frameworks/preact-vite/package.json index 1152624d2a09..d9a44ff4fc49 100644 --- a/code/frameworks/preact-vite/package.json +++ b/code/frameworks/preact-vite/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preact-vite", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook for Preact and Vite: Develop Preact components in isolation with Hot Reloading.", "keywords": [ "storybook" diff --git a/code/frameworks/preact-vite/vitest.config.ts b/code/frameworks/preact-vite/vitest.config.ts new file mode 100644 index 000000000000..63f6ca234803 --- /dev/null +++ b/code/frameworks/preact-vite/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'node', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/frameworks/preact-webpack5/jest.config.js b/code/frameworks/preact-webpack5/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/frameworks/preact-webpack5/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/frameworks/preact-webpack5/package.json b/code/frameworks/preact-webpack5/package.json index f3db774e9f08..7b49a2845fad 100644 --- a/code/frameworks/preact-webpack5/package.json +++ b/code/frameworks/preact-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/preact-webpack5", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook for Preact: Develop Preact Component in isolation.", "keywords": [ "storybook" diff --git a/code/frameworks/preact-webpack5/vitest.config.ts b/code/frameworks/preact-webpack5/vitest.config.ts new file mode 100644 index 000000000000..63f6ca234803 --- /dev/null +++ b/code/frameworks/preact-webpack5/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'node', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/frameworks/react-vite/jest.config.js b/code/frameworks/react-vite/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/frameworks/react-vite/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/frameworks/react-vite/package.json b/code/frameworks/react-vite/package.json index 1552d12dfa98..58bba3326b45 100644 --- a/code/frameworks/react-vite/package.json +++ b/code/frameworks/react-vite/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/react-vite", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook for React and Vite: Develop React components in isolation with Hot Reloading.", "keywords": [ "storybook" diff --git a/code/frameworks/react-vite/vitest.config.ts b/code/frameworks/react-vite/vitest.config.ts new file mode 100644 index 000000000000..63f6ca234803 --- /dev/null +++ b/code/frameworks/react-vite/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'node', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/frameworks/react-webpack5/jest.config.js b/code/frameworks/react-webpack5/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/frameworks/react-webpack5/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/frameworks/react-webpack5/package.json b/code/frameworks/react-webpack5/package.json index eca3e9b8d014..c63b840d6071 100644 --- a/code/frameworks/react-webpack5/package.json +++ b/code/frameworks/react-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/react-webpack5", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook for React: Develop React Component in isolation with Hot Reloading.", "keywords": [ "storybook" @@ -52,9 +52,6 @@ "@storybook/react": "workspace:*", "@types/node": "^18.0.0" }, - "devDependencies": { - "jest-specific-snapshot": "^8.0.0" - }, "peerDependencies": { "@babel/core": "^7.22.0", "react": "^16.8.0 || ^17.0.0 || ^18.0.0", diff --git a/code/frameworks/react-webpack5/vitest.config.ts b/code/frameworks/react-webpack5/vitest.config.ts new file mode 100644 index 000000000000..63f6ca234803 --- /dev/null +++ b/code/frameworks/react-webpack5/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'node', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/frameworks/server-webpack5/jest.config.js b/code/frameworks/server-webpack5/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/frameworks/server-webpack5/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/frameworks/server-webpack5/package.json b/code/frameworks/server-webpack5/package.json index db28264c4921..959f06e435b7 100644 --- a/code/frameworks/server-webpack5/package.json +++ b/code/frameworks/server-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/server-webpack5", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook for Server: View HTML snippets from a server in isolation with Hot Reloading.", "keywords": [ "storybook" diff --git a/code/frameworks/server-webpack5/vitest.config.ts b/code/frameworks/server-webpack5/vitest.config.ts new file mode 100644 index 000000000000..63f6ca234803 --- /dev/null +++ b/code/frameworks/server-webpack5/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'node', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/frameworks/svelte-vite/jest.config.js b/code/frameworks/svelte-vite/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/frameworks/svelte-vite/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/frameworks/svelte-vite/package.json b/code/frameworks/svelte-vite/package.json index 884034368438..d8abba1f31d1 100644 --- a/code/frameworks/svelte-vite/package.json +++ b/code/frameworks/svelte-vite/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/svelte-vite", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook for Svelte and Vite: Develop Svelte components in isolation with Hot Reloading.", "keywords": [ "storybook" diff --git a/code/frameworks/svelte-vite/vitest.config.ts b/code/frameworks/svelte-vite/vitest.config.ts new file mode 100644 index 000000000000..63f6ca234803 --- /dev/null +++ b/code/frameworks/svelte-vite/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'node', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/frameworks/svelte-webpack5/jest.config.js b/code/frameworks/svelte-webpack5/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/frameworks/svelte-webpack5/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/frameworks/svelte-webpack5/package.json b/code/frameworks/svelte-webpack5/package.json index 9f4943122673..7c5441c1989f 100644 --- a/code/frameworks/svelte-webpack5/package.json +++ b/code/frameworks/svelte-webpack5/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/svelte-webpack5", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook for Svelte: Develop Svelte Component in isolation with Hot Reloading.", "keywords": [ "storybook" diff --git a/code/frameworks/svelte-webpack5/vitest.config.ts b/code/frameworks/svelte-webpack5/vitest.config.ts new file mode 100644 index 000000000000..63f6ca234803 --- /dev/null +++ b/code/frameworks/svelte-webpack5/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'node', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/frameworks/sveltekit/README.md b/code/frameworks/sveltekit/README.md index 2f2755dc91a2..c3c01c771897 100644 --- a/code/frameworks/sveltekit/README.md +++ b/code/frameworks/sveltekit/README.md @@ -136,6 +136,8 @@ You can add the name of the module you want to mock to `parameters.sveltekit_exp | `import { navigating } from "$app/stores"` | `parameters.sveltekit_experimental.stores.navigating` | A Partial of the navigating store | | `import { updated } from "$app/stores"` | `parameters.sveltekit_experimental.stores.updated` | A boolean representing the value of updated (you can also access `check()` which will be a noop) | | `import { goto } from "$app/navigation"` | `parameters.sveltekit_experimental.navigation.goto` | A callback that will be called whenever goto is called, in no function is provided an action will be logged to the Actions panel | +| `import { pushState } from "$app/navigation"` | `parameters.sveltekit_experimental.navigation.pushState` | A callback that will be called whenever pushState is called, in no function is provided an action will be logged to the Actions panel | +| `import { replaceState } from "$app/navigation"` | `parameters.sveltekit_experimental.navigation.replaceState` | A callback that will be called whenever replaceState is called, in no function is provided an action will be logged to the Actions panel | | `import { invalidate } from "$app/navigation"` | `parameters.sveltekit_experimental.navigation.invalidate` | A callback that will be called whenever invalidate is called, in no function is provided an action will be logged to the Actions panel | | `import { invalidateAll } from "$app/navigation"` | `parameters.sveltekit_experimental.navigation.invalidateAll` | A callback that will be called whenever invalidateAll is called, in no function is provided an action will be logged to the Actions panel | | `import { afterNavigate } from "$app/navigation"` | `parameters.sveltekit_experimental.navigation.afterNavigate` | An object that will be passed to the afterNavigate function (which will be invoked onMount) called | diff --git a/code/frameworks/sveltekit/jest.config.js b/code/frameworks/sveltekit/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/frameworks/sveltekit/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/frameworks/sveltekit/package.json b/code/frameworks/sveltekit/package.json index 95f01fb533ef..d3330cb5cfb7 100644 --- a/code/frameworks/sveltekit/package.json +++ b/code/frameworks/sveltekit/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/sveltekit", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook for SvelteKit", "keywords": [ "storybook", @@ -65,7 +65,7 @@ }, "peerDependencies": { "svelte": "^4.0.0 || ^5.0.0-next.16", - "vite": "^4.0.0" + "vite": "^4.0.0 || ^5.0.0" }, "engines": { "node": "^14.18 || >=16" diff --git a/code/frameworks/sveltekit/src/mocks/app/navigation.ts b/code/frameworks/sveltekit/src/mocks/app/navigation.ts index 8d23ddbea46a..edd60f5ebf83 100644 --- a/code/frameworks/sveltekit/src/mocks/app/navigation.ts +++ b/code/frameworks/sveltekit/src/mocks/app/navigation.ts @@ -41,3 +41,17 @@ export async function invalidateAll() { export function preloadCode() {} export function preloadData() {} + +export async function pushState(...args: any[]) { + const event = new CustomEvent('storybook:pushState', { + detail: args, + }); + window.dispatchEvent(event); +} + +export async function replaceState(...args: any[]) { + const event = new CustomEvent('storybook:replaceState', { + detail: args, + }); + window.dispatchEvent(event); +} diff --git a/code/frameworks/sveltekit/src/preview.ts b/code/frameworks/sveltekit/src/preview.ts index 10affca46fc4..fc3ab8bcc65a 100644 --- a/code/frameworks/sveltekit/src/preview.ts +++ b/code/frameworks/sveltekit/src/preview.ts @@ -117,7 +117,7 @@ export const decorators: Decorator[] = [ const removeNavigationListeners = createListeners( 'navigation', - ['goto', 'invalidate', 'invalidateAll'], + ['goto', 'invalidate', 'invalidateAll', 'pushState', 'replaceState'], true ); const removeFormsListeners = createListeners('forms', ['enhance']); diff --git a/code/frameworks/sveltekit/template/stories_svelte-kit-prerelease-ts/Navigation.svelte b/code/frameworks/sveltekit/template/stories_svelte-kit-prerelease-ts/Navigation.svelte index 4bcb7d0e6fc9..24a37f3517f8 100644 --- a/code/frameworks/sveltekit/template/stories_svelte-kit-prerelease-ts/Navigation.svelte +++ b/code/frameworks/sveltekit/template/stories_svelte-kit-prerelease-ts/Navigation.svelte @@ -1,5 +1,5 @@ {browser} {dev} {building} -{version} +{version} diff --git a/code/frameworks/sveltekit/template/stories_svelte-kit-skeleton-js/Navigation.svelte b/code/frameworks/sveltekit/template/stories_svelte-kit-skeleton-js/Navigation.svelte index b923b8ee78d8..c9d5459f0d4a 100644 --- a/code/frameworks/sveltekit/template/stories_svelte-kit-skeleton-js/Navigation.svelte +++ b/code/frameworks/sveltekit/template/stories_svelte-kit-skeleton-js/Navigation.svelte @@ -1,5 +1,5 @@ {browser} {dev} {building} -{version} +{version} diff --git a/code/frameworks/sveltekit/template/stories_svelte-kit-skeleton-ts/Navigation.svelte b/code/frameworks/sveltekit/template/stories_svelte-kit-skeleton-ts/Navigation.svelte index 4bcb7d0e6fc9..24a37f3517f8 100644 --- a/code/frameworks/sveltekit/template/stories_svelte-kit-skeleton-ts/Navigation.svelte +++ b/code/frameworks/sveltekit/template/stories_svelte-kit-skeleton-ts/Navigation.svelte @@ -1,5 +1,5 @@ + - - - - - {rounded ? 'Round' : 'Square'} corners - - + + + + {rounded ? 'Round' : 'Square'} corners + {text} - - + + + " `); }); @@ -65,71 +62,71 @@ describe('Extracting Arguments', () => { const results = createArgTypes(doc); expect(results).toMatchInlineSnapshot(` - Object { - "event_afterUpdate": Object { + { + "event_afterUpdate": { "action": "afterUpdate", "control": false, "description": "After Update", "name": "afterUpdate", - "table": Object { + "table": { "category": "events", }, }, - "event_click": Object { + "event_click": { "action": "click", "control": false, "description": "Click Event", "name": "click", - "table": Object { + "table": { "category": "events", }, }, - "rounded": Object { - "control": Object { + "rounded": { + "control": { "type": "boolean", }, "description": undefined, "name": "rounded", - "table": Object { + "table": { "category": "properties", - "defaultValue": Object { + "defaultValue": { "summary": true, }, - "type": Object { + "type": { "summary": "boolean", }, }, - "type": Object { + "type": { "name": "boolean", "required": false, }, }, - "slot_default": Object { + "slot_default": { "control": false, "description": "Default Slot \`{rounded}\`", "name": "default", - "table": Object { + "table": { "category": "slots", }, }, - "text": Object { - "control": Object { + "text": { + "control": { "type": "text", }, "description": undefined, "name": "text", - "table": Object { + "table": { "category": "properties", - "defaultValue": Object { + "defaultValue": { "summary": "", }, - "type": Object { + "type": { "summary": "string", }, }, - "type": Object { + "type": { "name": "string", "required": false, }, diff --git a/code/renderers/svelte/src/docs/extractComponentDescription.test.ts b/code/renderers/svelte/src/docs/extractComponentDescription.test.ts index f2e7866f6394..89d592b44789 100644 --- a/code/renderers/svelte/src/docs/extractComponentDescription.test.ts +++ b/code/renderers/svelte/src/docs/extractComponentDescription.test.ts @@ -1,16 +1,16 @@ -import { describe, expect, test } from '@jest/globals'; +import { describe, expect, it } from 'vitest'; import { extractComponentDescription } from './extractComponentDescription'; describe('extractComponentDescription', () => { - test('Extract from docgen', () => { + it('Extract from docgen', () => { expect(extractComponentDescription({ __docgen: { description: 'a description' } })).toBe( 'a description' ); }); - test('Null Component', () => { + it('Null Component', () => { expect(extractComponentDescription(null)).toBeFalsy(); }); - test('Missing docgen', () => { + it('Missing docgen', () => { expect(extractComponentDescription({})).toBeFalsy(); }); }); diff --git a/code/renderers/svelte/src/docs/sourceDecorator.test.ts b/code/renderers/svelte/src/docs/sourceDecorator.test.ts index 6123b45d8b94..7546f6a9b660 100644 --- a/code/renderers/svelte/src/docs/sourceDecorator.test.ts +++ b/code/renderers/svelte/src/docs/sourceDecorator.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, test } from '@jest/globals'; +import { describe, expect, it } from 'vitest'; import type { Args } from '@storybook/types'; import { generateSvelteSource } from './sourceDecorator'; @@ -15,30 +15,30 @@ function generateForArgs(args: Args, slotProperty: string | null = null) { } describe('generateSvelteSource', () => { - test('boolean true', () => { + it('boolean true', () => { expect(generateForArgs({ bool: true })).toMatchInlineSnapshot(``); }); - test('boolean false', () => { + it('boolean false', () => { expect(generateForArgs({ bool: false })).toMatchInlineSnapshot(``); }); - test('null property', () => { + it('null property', () => { expect(generateForArgs({ propnull: null })).toMatchInlineSnapshot(``); }); - test('string property', () => { + it('string property', () => { expect(generateForArgs({ str: 'mystr' })).toMatchInlineSnapshot(``); }); - test('number property', () => { + it('number property', () => { expect(generateForArgs({ count: 42 })).toMatchInlineSnapshot(``); }); - test('object property', () => { + it('object property', () => { expect(generateForArgs({ obj: { x: true } })).toMatchInlineSnapshot( `` ); }); - test('multiple properties', () => { + it('multiple properties', () => { expect(generateForArgs({ a: 1, b: 2 })).toMatchInlineSnapshot(``); }); - test('lot of properties', () => { + it('lot of properties', () => { expect(generateForArgs(lotOfProperties)).toMatchInlineSnapshot(` { property3="Lorem ipsum dolor sit amet"/> `); }); - test('slot property', () => { + it('slot property', () => { expect(generateForArgs({ content: 'xyz', myProp: 'abc' }, 'content')).toMatchInlineSnapshot(` xyz `); }); - test('slot property with lot of properties', () => { + it('slot property with lot of properties', () => { expect(generateForArgs({ content: 'xyz', ...lotOfProperties }, 'content')) .toMatchInlineSnapshot(` { `); }); - test('component is not set', () => { + it('component is not set', () => { expect(generateSvelteSource(null, {}, {}, null)).toBeNull(); }); - test('Skip event property', () => { + it('Skip event property', () => { expect( generateSvelteSource( { name: 'Component' }, @@ -76,7 +76,7 @@ describe('generateSvelteSource', () => { ) ).toMatchInlineSnapshot(``); }); - test('Property value is a function', () => { + it('Property value is a function', () => { expect( generateSvelteSource({ name: 'Component' }, { myHandler: () => {} }, {}) ).toMatchInlineSnapshot(`}/>`); diff --git a/code/renderers/svelte/src/public-types.test.ts b/code/renderers/svelte/src/public-types.test.ts index 9459fe91e41b..7a967db4da66 100644 --- a/code/renderers/svelte/src/public-types.test.ts +++ b/code/renderers/svelte/src/public-types.test.ts @@ -1,4 +1,6 @@ -import { describe, test } from '@jest/globals'; +// this file tests Typescript types that's why there are no assertions +/* eslint-disable jest/expect-expect */ +import { describe, it } from 'vitest'; import { satisfies } from '@storybook/core-common'; import type { ComponentAnnotations, StoryAnnotations } from '@storybook/types'; import { expectTypeOf } from 'expect-type'; @@ -17,7 +19,7 @@ type SvelteStory = S >; describe('Meta', () => { - test('Generic parameter of Meta can be a component', () => { + it('Generic parameter of Meta can be a component', () => { const meta: Meta = { component: Button, args: { @@ -31,7 +33,7 @@ describe('Meta', () => { >(); }); - test('Generic parameter of Meta can be the props of the component', () => { + it('Generic parameter of Meta can be the props of the component', () => { const meta: Meta<{ disabled: boolean; label: string }> = { component: Button, args: { label: 'good', disabled: false }, @@ -42,7 +44,7 @@ describe('Meta', () => { >(); }); - test('Events are inferred from component', () => { + it('Events are inferred from component', () => { const meta: Meta = { component: Button, args: { @@ -62,7 +64,7 @@ describe('Meta', () => { expectTypeOf(meta).toMatchTypeOf>(); }); - test('Events fallback to custom events when no component is specified', () => { + it('Events fallback to custom events when no component is specified', () => { const meta: Meta<{ disabled: boolean; label: string }> = { component: Button, args: { label: 'good', disabled: false }, @@ -81,7 +83,7 @@ describe('Meta', () => { }); describe('StoryObj', () => { - test('✅ Required args may be provided partial in meta and the story', () => { + it('✅ Required args may be provided partial in meta and the story', () => { const meta = satisfies>()({ component: Button, args: { label: 'good' }, @@ -96,7 +98,7 @@ describe('StoryObj', () => { expectTypeOf().toEqualTypeOf(); }); - test('❌ The combined shape of meta args and story args must match the required args.', () => { + it('❌ The combined shape of meta args and story args must match the required args.', () => { { const meta = satisfies>()({ component: Button }); @@ -138,7 +140,7 @@ describe('StoryObj', () => { } }); - test('Component can be used as generic parameter for StoryObj', () => { + it('Component can be used as generic parameter for StoryObj', () => { expectTypeOf>().toEqualTypeOf< SvelteStory< Button, @@ -152,7 +154,7 @@ describe('StoryObj', () => { type ThemeData = 'light' | 'dark'; describe('Story args can be inferred', () => { - test('Correct args are inferred when type is widened for render function', () => { + it('Correct args are inferred when type is widened for render function', () => { const meta = satisfies & { theme: ThemeData }>>()({ component: Button, args: { disabled: false }, @@ -182,7 +184,7 @@ describe('Story args can be inferred', () => { props: { decoratorArg }, }); - test('Correct args are inferred when type is widened for decorators', () => { + it('Correct args are inferred when type is widened for decorators', () => { type Props = ComponentProps & { decoratorArg: string }; const meta = satisfies>()({ @@ -201,7 +203,7 @@ describe('Story args can be inferred', () => { expectTypeOf(Basic).toEqualTypeOf(); }); - test('Correct args are inferred when type is widened for multiple decorators', () => { + it('Correct args are inferred when type is widened for multiple decorators', () => { type Props = ComponentProps & { decoratorArg: string; decoratorArg2: string }; const secondDecorator: Decorator<{ decoratorArg2: string }> = ( diff --git a/code/renderers/svelte/vitest.config.ts b/code/renderers/svelte/vitest.config.ts new file mode 100644 index 000000000000..edd280537aec --- /dev/null +++ b/code/renderers/svelte/vitest.config.ts @@ -0,0 +1,19 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default defineConfig( + mergeConfig(vitestCommonConfig, { + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + plugins: [ + // eslint-disable-next-line import/no-unresolved + import('@sveltejs/vite-plugin-svelte').then(({ svelte, vitePreprocess }) => + svelte({ preprocess: vitePreprocess() }) + ), + ], + }) +); diff --git a/code/renderers/vue3/jest.config.js b/code/renderers/vue3/jest.config.js deleted file mode 100644 index 47b606e09fc4..000000000000 --- a/code/renderers/vue3/jest.config.js +++ /dev/null @@ -1,11 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), - transform: { - ...baseConfig.transform, - '^.+\\.vue$': '@vue/vue3-jest', - }, -}; diff --git a/code/renderers/vue3/package.json b/code/renderers/vue3/package.json index 2b4c8e4743dd..beccc0f8a1f6 100644 --- a/code/renderers/vue3/package.json +++ b/code/renderers/vue3/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/vue3", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook Vue 3 renderer", "keywords": [ "storybook" @@ -59,9 +59,8 @@ "devDependencies": { "@digitak/esrun": "^3.2.2", "@types/prettier": "2.7.2", + "@vitejs/plugin-vue": "^4.4.0", "@vue/compiler-core": "^3.3.4", - "@vue/vue3-jest": "29", - "babel-jest": "^29.7.0", "typescript": "^5.3.2", "vue": "^3.2.47", "vue-tsc": "latest" diff --git a/code/renderers/vue3/src/docs/sourceDecorator.test.ts b/code/renderers/vue3/src/docs/sourceDecorator.test.ts index ec59ae61c9b3..0a97bd9884f9 100644 --- a/code/renderers/vue3/src/docs/sourceDecorator.test.ts +++ b/code/renderers/vue3/src/docs/sourceDecorator.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, test } from '@jest/globals'; +import { describe, expect, it } from 'vitest'; import { mapAttributesAndDirectives, @@ -13,26 +13,26 @@ expect.addSnapshotSerializer({ }); describe('Vue3: sourceDecorator->mapAttributesAndDirective()', () => { - test('camelCase boolean Arg', () => { + it('camelCase boolean Arg', () => { expect(mapAttributesAndDirectives({ camelCaseBooleanArg: true })).toMatchInlineSnapshot(` - Array [ - Object { - arg: Object { + [ + { + arg: { content: camel-case-boolean-arg, - loc: Object { + loc: { source: camel-case-boolean-arg, }, }, - exp: Object { + exp: { isStatic: false, - loc: Object { + loc: { source: true, }, }, - loc: Object { + loc: { source: :camel-case-boolean-arg="true", }, - modifiers: Array [ + modifiers: [ , ], name: bind, @@ -41,26 +41,26 @@ describe('Vue3: sourceDecorator->mapAttributesAndDirective()', () => { ] `); }); - test('camelCase string Arg', () => { + it('camelCase string Arg', () => { expect(mapAttributesAndDirectives({ camelCaseStringArg: 'foo' })).toMatchInlineSnapshot(` - Array [ - Object { - arg: Object { + [ + { + arg: { content: camel-case-string-arg, - loc: Object { + loc: { source: camel-case-string-arg, }, }, - exp: Object { + exp: { isStatic: false, - loc: Object { + loc: { source: foo, }, }, - loc: Object { + loc: { source: camel-case-string-arg="foo", }, - modifiers: Array [ + modifiers: [ , ], name: bind, @@ -69,26 +69,26 @@ describe('Vue3: sourceDecorator->mapAttributesAndDirective()', () => { ] `); }); - test('boolean arg', () => { + it('boolean arg', () => { expect(mapAttributesAndDirectives({ booleanarg: true })).toMatchInlineSnapshot(` - Array [ - Object { - arg: Object { + [ + { + arg: { content: booleanarg, - loc: Object { + loc: { source: booleanarg, }, }, - exp: Object { + exp: { isStatic: false, - loc: Object { + loc: { source: true, }, }, - loc: Object { + loc: { source: :booleanarg="true", }, - modifiers: Array [ + modifiers: [ , ], name: bind, @@ -97,26 +97,26 @@ describe('Vue3: sourceDecorator->mapAttributesAndDirective()', () => { ] `); }); - test('string arg', () => { + it('string arg', () => { expect(mapAttributesAndDirectives({ stringarg: 'bar' })).toMatchInlineSnapshot(` - Array [ - Object { - arg: Object { + [ + { + arg: { content: stringarg, - loc: Object { + loc: { source: stringarg, }, }, - exp: Object { + exp: { isStatic: false, - loc: Object { + loc: { source: bar, }, }, - loc: Object { + loc: { source: stringarg="bar", }, - modifiers: Array [ + modifiers: [ , ], name: bind, @@ -125,26 +125,26 @@ describe('Vue3: sourceDecorator->mapAttributesAndDirective()', () => { ] `); }); - test('number arg', () => { + it('number arg', () => { expect(mapAttributesAndDirectives({ numberarg: 2023 })).toMatchInlineSnapshot(` - Array [ - Object { - arg: Object { + [ + { + arg: { content: numberarg, - loc: Object { + loc: { source: numberarg, }, }, - exp: Object { + exp: { isStatic: false, - loc: Object { + loc: { source: 2023, }, }, - loc: Object { + loc: { source: :numberarg="2023", }, - modifiers: Array [ + modifiers: [ , ], name: bind, @@ -153,7 +153,7 @@ describe('Vue3: sourceDecorator->mapAttributesAndDirective()', () => { ] `); }); - test('camelCase boolean, string, and number Args', () => { + it('camelCase boolean, string, and number Args', () => { expect( mapAttributesAndDirectives({ camelCaseBooleanArg: true, @@ -161,68 +161,68 @@ describe('Vue3: sourceDecorator->mapAttributesAndDirective()', () => { cameCaseNumberArg: 2023, }) ).toMatchInlineSnapshot(` - Array [ - Object { - arg: Object { + [ + { + arg: { content: camel-case-boolean-arg, - loc: Object { + loc: { source: camel-case-boolean-arg, }, }, - exp: Object { + exp: { isStatic: false, - loc: Object { + loc: { source: true, }, }, - loc: Object { + loc: { source: :camel-case-boolean-arg="true", }, - modifiers: Array [ + modifiers: [ , ], name: bind, type: 6, }, - Object { - arg: Object { + { + arg: { content: camel-case-string-arg, - loc: Object { + loc: { source: camel-case-string-arg, }, }, - exp: Object { + exp: { isStatic: false, - loc: Object { + loc: { source: foo, }, }, - loc: Object { + loc: { source: camel-case-string-arg="foo", }, - modifiers: Array [ + modifiers: [ , ], name: bind, type: 6, }, - Object { - arg: Object { + { + arg: { content: came-case-number-arg, - loc: Object { + loc: { source: came-case-number-arg, }, }, - exp: Object { + exp: { isStatic: false, - loc: Object { + loc: { source: 2023, }, }, - loc: Object { + loc: { source: :came-case-number-arg="2023", }, - modifiers: Array [ + modifiers: [ , ], name: bind, @@ -234,7 +234,7 @@ describe('Vue3: sourceDecorator->mapAttributesAndDirective()', () => { }); describe('Vue3: sourceDecorator->generateAttributesSource()', () => { - test('camelCase boolean Arg', () => { + it('camelCase boolean Arg', () => { expect( generateAttributesSource( mapAttributesAndDirectives({ camelCaseBooleanArg: true }), @@ -243,7 +243,7 @@ describe('Vue3: sourceDecorator->generateAttributesSource()', () => { ) ).toMatchInlineSnapshot(`:camel-case-boolean-arg="true"`); }); - test('camelCase string Arg', () => { + it('camelCase string Arg', () => { expect( generateAttributesSource( mapAttributesAndDirectives({ camelCaseStringArg: 'foo' }), @@ -253,7 +253,7 @@ describe('Vue3: sourceDecorator->generateAttributesSource()', () => { ).toMatchInlineSnapshot(`camel-case-string-arg="foo"`); }); - test('camelCase boolean, string, and number Args', () => { + it('camelCase boolean, string, and number Args', () => { expect( generateAttributesSource( mapAttributesAndDirectives({ @@ -275,18 +275,18 @@ describe('Vue3: sourceDecorator->generateAttributesSource()', () => { }); describe('Vue3: sourceDecorator->attributeSoure()', () => { - test('camelCase boolean Arg', () => { + it('camelCase boolean Arg', () => { expect(attributeSource('stringArg', 'foo')).toMatchInlineSnapshot(`stringArg="foo"`); }); - test('html event attribute should convert to vue event directive', () => { + it('html event attribute should convert to vue event directive', () => { expect(attributeSource('onClick', () => {})).toMatchInlineSnapshot(`v-on:click='()=>({})'`); expect(attributeSource('onclick', () => {})).toMatchInlineSnapshot(`v-on:click='()=>({})'`); }); - test('normal html attribute should not convert to vue event directive', () => { + it('normal html attribute should not convert to vue event directive', () => { expect(attributeSource('on-click', () => {})).toMatchInlineSnapshot(`on-click='()=>({})'`); }); - test('htmlEventAttributeToVueEventAttribute onEv => v-on:', () => { + it('htmlEventAttributeToVueEventAttribute onEv => v-on:', () => { const htmlEventAttributeToVueEventAttribute = (attribute: string) => { return htmlEventToVueEvent(attribute); }; diff --git a/code/renderers/vue3/src/public-types.test.ts b/code/renderers/vue3/src/public-types.test.ts index 910361b2b629..41080f5459a6 100644 --- a/code/renderers/vue3/src/public-types.test.ts +++ b/code/renderers/vue3/src/public-types.test.ts @@ -1,3 +1,6 @@ +// this file tests Typescript types that's why there are no assertions +/* eslint-disable jest/expect-expect */ +import { describe, it } from 'vitest'; import { satisfies } from '@storybook/core-common'; import type { ComponentAnnotations, StoryAnnotations } from '@storybook/types'; import { expectTypeOf } from 'expect-type'; @@ -13,7 +16,7 @@ import Decorator2TsVue from './__tests__/Decorator2.vue'; type ButtonProps = ComponentPropsAndSlots; describe('Meta', () => { - test('Generic parameter of Meta can be a component', () => { + it('Generic parameter of Meta can be a component', () => { const meta: Meta = { component: Button, args: { label: 'good', disabled: false }, @@ -22,7 +25,7 @@ describe('Meta', () => { expectTypeOf(meta).toEqualTypeOf>(); }); - test('Generic parameter of Meta can be the props of the component', () => { + it('Generic parameter of Meta can be the props of the component', () => { const meta: Meta<{ disabled: boolean; label: string }> = { component: Button, args: { label: 'good', disabled: false }, @@ -33,7 +36,7 @@ describe('Meta', () => { >(); }); - test('Events are inferred from component', () => { + it('Events are inferred from component', () => { const meta: Meta = { component: Button, args: { @@ -57,7 +60,7 @@ describe('Meta', () => { }); describe('StoryObj', () => { - test('✅ Required args may be provided partial in meta and the story', () => { + it('✅ Required args may be provided partial in meta and the story', () => { const meta = satisfies>()({ component: Button, args: { label: 'good' }, @@ -68,7 +71,7 @@ describe('StoryObj', () => { expectTypeOf().toEqualTypeOf(); }); - test('❌ The combined shape of meta args and story args must match the required args.', () => { + it('❌ The combined shape of meta args and story args must match the required args.', () => { { const meta = satisfies>()({ component: Button }); @@ -98,7 +101,7 @@ describe('StoryObj', () => { } }); - test('Component can be used as generic parameter for StoryObj', () => { + it('Component can be used as generic parameter for StoryObj', () => { expectTypeOf>().toEqualTypeOf< StoryAnnotations >(); @@ -108,7 +111,7 @@ describe('StoryObj', () => { type ThemeData = 'light' | 'dark'; describe('Story args can be inferred', () => { - test('Correct args are inferred when type is widened for render function', () => { + it('Correct args are inferred when type is widened for render function', () => { type Props = ButtonProps & { theme: ThemeData }; const meta = satisfies>()({ @@ -130,7 +133,7 @@ describe('Story args can be inferred', () => { { args: { decoratorArg } } ) => h(DecoratorTsVue, { decoratorArg }, h(storyFn())); - test('Correct args are inferred when type is widened for decorators', () => { + it('Correct args are inferred when type is widened for decorators', () => { type Props = ButtonProps & { decoratorArg: string }; const meta = satisfies>()({ @@ -145,7 +148,7 @@ describe('Story args can be inferred', () => { expectTypeOf(Basic).toEqualTypeOf(); }); - test('Correct args are inferred when type is widened for multiple decorators', () => { + it('Correct args are inferred when type is widened for multiple decorators', () => { type Props = ButtonProps & { decoratorArg: string; decoratorArg2: string; @@ -171,7 +174,7 @@ describe('Story args can be inferred', () => { }); }); -test('Infer type of slots', () => { +it('Infer type of slots', () => { const meta = { component: BaseLayout, } satisfies Meta; diff --git a/code/renderers/vue3/src/render.test.ts b/code/renderers/vue3/src/render.test.ts index d1d04cf40638..6666889f209b 100644 --- a/code/renderers/vue3/src/render.test.ts +++ b/code/renderers/vue3/src/render.test.ts @@ -1,10 +1,11 @@ +import { describe, expect, it } from 'vitest'; import { expectTypeOf } from 'expect-type'; import { reactive } from 'vue'; import { updateArgs } from './render'; describe('Render Story', () => { - test('update reactive Args updateArgs()', () => { + it('update reactive Args updateArgs()', () => { const reactiveArgs = reactive({ argFoo: 'foo', argBar: 'bar' }); // get reference to reactiveArgs or create a new one; expectTypeOf(reactiveArgs).toMatchTypeOf>(); expectTypeOf(reactiveArgs).toEqualTypeOf<{ argFoo: string; argBar: string }>(); @@ -15,7 +16,7 @@ describe('Render Story', () => { expect(reactiveArgs).toEqual({ argFoo: 'foo2', argBar: 'bar2' }); }); - test('update reactive Args component inherit objectArg updateArgs()', () => { + it('update reactive Args component inherit objectArg updateArgs()', () => { const reactiveArgs = reactive({ objectArg: { argFoo: 'foo', argBar: 'bar' } }); // get reference to reactiveArgs or create a new one; expectTypeOf(reactiveArgs).toMatchTypeOf>(); expectTypeOf(reactiveArgs).toEqualTypeOf<{ objectArg: { argFoo: string; argBar: string } }>(); @@ -29,7 +30,7 @@ describe('Render Story', () => { }); }); - test('update reactive Args component inherit objectArg', () => { + it('update reactive Args component inherit objectArg', () => { const reactiveArgs = reactive({ objectArg: { argFoo: 'foo' } }); // get reference to reactiveArgs or create a new one; expectTypeOf(reactiveArgs).toMatchTypeOf>(); expectTypeOf(reactiveArgs).toEqualTypeOf<{ objectArg: { argFoo: string } }>(); @@ -39,7 +40,7 @@ describe('Render Story', () => { expect(reactiveArgs).toEqual({ argFoo: 'foo2', argBar: 'bar2' }); }); - test('update reactive Args component 2 object args -> updateArgs()', () => { + it('update reactive Args component 2 object args -> updateArgs()', () => { const reactiveArgs = reactive({ objectArg: { argFoo: 'foo' }, objectArg2: { argBar: 'bar' }, @@ -59,7 +60,7 @@ describe('Render Story', () => { }); }); - test('update reactive Args component object with object -> updateArgs()', () => { + it('update reactive Args component object with object -> updateArgs()', () => { const reactiveArgs = reactive({ objectArg: { argFoo: 'foo' }, }); // get reference to reactiveArgs or create a new one; @@ -74,7 +75,7 @@ describe('Render Story', () => { expect(reactiveArgs).toEqual({ objectArg: { argFoo: 'bar' } }); }); - test('update reactive Args component no arg with all args -> updateArgs()', () => { + it('update reactive Args component no arg with all args -> updateArgs()', () => { const reactiveArgs = reactive({ objectArg: { argFoo: 'foo' } }); // get reference to reactiveArgs or create a new one; expectTypeOf(reactiveArgs).toMatchTypeOf>(); expectTypeOf(reactiveArgs).toEqualTypeOf<{ diff --git a/code/renderers/vue3/template/stories_vue3-vite-default-ts/GlobalSetup.stories.ts b/code/renderers/vue3/template/stories_vue3-vite-default-ts/GlobalSetup.stories.ts index 2c0319724491..f3403375c924 100644 --- a/code/renderers/vue3/template/stories_vue3-vite-default-ts/GlobalSetup.stories.ts +++ b/code/renderers/vue3/template/stories_vue3-vite-default-ts/GlobalSetup.stories.ts @@ -1,6 +1,3 @@ -/// -/// - import { expect } from '@storybook/jest'; import type { Meta, StoryObj } from '@storybook/vue3'; import { within } from '@storybook/testing-library'; diff --git a/code/renderers/vue3/vitest.config.ts b/code/renderers/vue3/vitest.config.ts new file mode 100644 index 000000000000..dfc036af048d --- /dev/null +++ b/code/renderers/vue3/vitest.config.ts @@ -0,0 +1,18 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import vue from '@vitejs/plugin-vue'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + // @ts-expect-error seems like there's a type mismatch in the vue plugin + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + // @ts-expect-error seems like there's a type mismatch in the vue plugin + plugins: [vue()], + }) +); diff --git a/code/renderers/web-components/jest.config.js b/code/renderers/web-components/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/renderers/web-components/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/renderers/web-components/package.json b/code/renderers/web-components/package.json index d3dd17392f96..a14f941475a3 100644 --- a/code/renderers/web-components/package.json +++ b/code/renderers/web-components/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/web-components", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook web-components renderer", "keywords": [ "lit", diff --git a/code/renderers/web-components/src/docs/__testfixtures__/lit-element-demo-card/custom-elements.snapshot b/code/renderers/web-components/src/docs/__testfixtures__/lit-element-demo-card/custom-elements.snapshot index cbf4b8fa4254..3a13d3d6c2a6 100644 --- a/code/renderers/web-components/src/docs/__testfixtures__/lit-element-demo-card/custom-elements.snapshot +++ b/code/renderers/web-components/src/docs/__testfixtures__/lit-element-demo-card/custom-elements.snapshot @@ -1,78 +1,75 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`web-components component properties lit-element-demo-card 1`] = ` -Object { - "tags": Array [ - Object { - "attributes": Array [ - Object { +{ + "tags": [ + { + "attributes": [ + { "default": "false", "description": "Indicates that the back of the card is shown", "name": "back-side", "type": "boolean", }, - Object { - "default": "\\"Your Message\\"", + { + "default": ""Your Message"", "description": "Header message", "name": "header", "type": "string", }, - Object { + { "default": "[]", "description": "Data rows", "name": "rows", "type": "object", }, ], - "cssParts": Array [ - Object { + "cssParts": [ + { "description": "Front of the card", "name": "front", }, - Object { + { "description": "Back of the card", "name": "back", }, ], - "cssProperties": Array [ - Object { + "cssProperties": [ + { "description": "Header font size", "name": "--demo-wc-card-header-font-size", }, - Object { + { "description": "Font color for front", "name": "--demo-wc-card-front-color", }, - Object { + { "description": "Font color for back", "name": "--demo-wc-card-back-color", }, ], "description": "This is a container looking like a card with a back and front side you can switch", - "events": Array [ - Object { + "events": [ + { "description": "Fires whenever it switches between front/back", "name": "side-changed", }, ], "name": "input", "path": "dummy-path-to-component", - "properties": Array [ - Object { + "properties": [ + { "attribute": "back-side", "default": "false", "description": "Indicates that the back of the card is shown", "name": "backSide", "type": "boolean", }, - Object { + { "attribute": "header", - "default": "\\"Your Message\\"", + "default": ""Your Message"", "description": "Header message", "name": "header", "type": "string", }, - Object { + { "attribute": "rows", "default": "[]", "description": "Data rows", @@ -80,8 +77,8 @@ Object { "type": "object", }, ], - "slots": Array [ - Object { + "slots": [ + { "description": "This is an unnamed slot (the default slot)", "name": "", }, @@ -89,5 +86,4 @@ Object { }, ], "version": "experimental", -} -`; +} \ No newline at end of file diff --git a/code/renderers/web-components/src/docs/__testfixtures__/lit-element-demo-card/properties.snapshot b/code/renderers/web-components/src/docs/__testfixtures__/lit-element-demo-card/properties.snapshot index 7f1b194d16b6..861891bca1ce 100644 --- a/code/renderers/web-components/src/docs/__testfixtures__/lit-element-demo-card/properties.snapshot +++ b/code/renderers/web-components/src/docs/__testfixtures__/lit-element-demo-card/properties.snapshot @@ -1,185 +1,181 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`web-components component properties lit-element-demo-card 1`] = ` -Object { - "--demo-wc-card-back-color": Object { +{ + "--demo-wc-card-back-color": { "description": "Font color for back", "name": "--demo-wc-card-back-color", "required": false, - "table": Object { + "table": { "category": "css custom properties", - "defaultValue": Object { + "defaultValue": { "summary": undefined, }, - "type": Object { + "type": { "summary": undefined, }, }, - "type": Object { + "type": { "name": "void", }, }, - "--demo-wc-card-front-color": Object { + "--demo-wc-card-front-color": { "description": "Font color for front", "name": "--demo-wc-card-front-color", "required": false, - "table": Object { + "table": { "category": "css custom properties", - "defaultValue": Object { + "defaultValue": { "summary": undefined, }, - "type": Object { + "type": { "summary": undefined, }, }, - "type": Object { + "type": { "name": "void", }, }, - "--demo-wc-card-header-font-size": Object { + "--demo-wc-card-header-font-size": { "description": "Header font size", "name": "--demo-wc-card-header-font-size", "required": false, - "table": Object { + "table": { "category": "css custom properties", - "defaultValue": Object { + "defaultValue": { "summary": undefined, }, - "type": Object { + "type": { "summary": undefined, }, }, - "type": Object { + "type": { "name": "void", }, }, - "back": Object { + "back": { "description": "Back of the card", "name": "back", "required": false, - "table": Object { + "table": { "category": "css shadow parts", - "defaultValue": Object { + "defaultValue": { "summary": undefined, }, - "type": Object { + "type": { "summary": undefined, }, }, - "type": Object { + "type": { "name": "void", }, }, - "back-side": Object { + "back-side": { "description": "Indicates that the back of the card is shown", "name": "back-side", "required": false, - "table": Object { + "table": { "category": "attributes", - "defaultValue": Object { + "defaultValue": { "summary": "false", }, - "type": Object { + "type": { "summary": "boolean", }, }, - "type": Object { + "type": { "name": "boolean", }, }, - "backSide": Object { + "backSide": { "description": "Indicates that the back of the card is shown", "name": "backSide", "required": false, - "table": Object { + "table": { "category": "properties", - "defaultValue": Object { + "defaultValue": { "summary": "false", }, - "type": Object { + "type": { "summary": "boolean", }, }, - "type": Object { + "type": { "name": "boolean", }, }, - "front": Object { + "front": { "description": "Front of the card", "name": "front", "required": false, - "table": Object { + "table": { "category": "css shadow parts", - "defaultValue": Object { + "defaultValue": { "summary": undefined, }, - "type": Object { + "type": { "summary": undefined, }, }, - "type": Object { + "type": { "name": "void", }, }, - "header": Object { + "header": { "description": "Header message", "name": "header", "required": false, - "table": Object { + "table": { "category": "attributes", - "defaultValue": Object { - "summary": "\\"Your Message\\"", + "defaultValue": { + "summary": ""Your Message"", }, - "type": Object { + "type": { "summary": "string", }, }, - "type": Object { + "type": { "name": "string", }, }, - "onSideChanged": Object { - "action": Object { + "onSideChanged": { + "action": { "name": "side-changed", }, "name": "onSideChanged", - "table": Object { + "table": { "disable": true, }, }, - "rows": Object { + "rows": { "description": "Data rows", "name": "rows", "required": false, - "table": Object { + "table": { "category": "attributes", - "defaultValue": Object { + "defaultValue": { "summary": "[]", }, - "type": Object { + "type": { "summary": "object", }, }, - "type": Object { + "type": { "name": "object", }, }, - "side-changed": Object { + "side-changed": { "description": "Fires whenever it switches between front/back", "name": "side-changed", "required": false, - "table": Object { + "table": { "category": "events", - "defaultValue": Object { + "defaultValue": { "summary": undefined, }, - "type": Object { + "type": { "summary": undefined, }, }, - "type": Object { + "type": { "name": "void", }, }, -} -`; +} \ No newline at end of file diff --git a/code/renderers/web-components/src/docs/__testfixtures__/lit-html-welcome/custom-elements.snapshot b/code/renderers/web-components/src/docs/__testfixtures__/lit-html-welcome/custom-elements.snapshot index c1416386b1b1..81832c9edbed 100644 --- a/code/renderers/web-components/src/docs/__testfixtures__/lit-html-welcome/custom-elements.snapshot +++ b/code/renderers/web-components/src/docs/__testfixtures__/lit-html-welcome/custom-elements.snapshot @@ -1,13 +1,9 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`web-components component properties lit-html-welcome 1`] = ` -Object { - "tags": Array [ - Object { +{ + "tags": [ + { "name": "input", "path": "dummy-path-to-component", }, ], "version": "experimental", -} -`; +} \ No newline at end of file diff --git a/code/renderers/web-components/src/docs/__testfixtures__/lit-html-welcome/properties.snapshot b/code/renderers/web-components/src/docs/__testfixtures__/lit-html-welcome/properties.snapshot index a0d337eb0697..9e26dfeeb6e6 100644 --- a/code/renderers/web-components/src/docs/__testfixtures__/lit-html-welcome/properties.snapshot +++ b/code/renderers/web-components/src/docs/__testfixtures__/lit-html-welcome/properties.snapshot @@ -1,3 +1 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`web-components component properties lit-html-welcome 1`] = `Object {}`; +{} \ No newline at end of file diff --git a/code/renderers/web-components/src/docs/custom-elements.test.ts b/code/renderers/web-components/src/docs/custom-elements.test.ts index edbffc37994b..a67e903492ab 100644 --- a/code/renderers/web-components/src/docs/custom-elements.test.ts +++ b/code/renderers/web-components/src/docs/custom-elements.test.ts @@ -1,4 +1,5 @@ /* eslint-disable no-underscore-dangle */ +import { describe, it, expect, beforeEach, afterEach } from 'vitest'; import { global } from '@storybook/global'; import { extractArgTypes } from './custom-elements'; import customElementsManifest from './__testfixtures__/custom-elements.json'; diff --git a/code/renderers/web-components/src/docs/sourceDecorator.test.ts b/code/renderers/web-components/src/docs/sourceDecorator.test.ts index d09a4136c7f5..119f4e786d38 100644 --- a/code/renderers/web-components/src/docs/sourceDecorator.test.ts +++ b/code/renderers/web-components/src/docs/sourceDecorator.test.ts @@ -1,13 +1,15 @@ import { html, render } from 'lit'; +import type { Mock } from 'vitest'; +import { describe, beforeEach, it, vi, expect } from 'vitest'; import { styleMap } from 'lit/directives/style-map.js'; import { addons, useEffect } from '@storybook/preview-api'; import { SNIPPET_RENDERED } from '@storybook/docs-tools'; import type { StoryContext } from '../types'; import { sourceDecorator } from './sourceDecorator'; -jest.mock('@storybook/preview-api'); -const mockedAddons = addons as jest.Mocked; -const mockedUseEffect = useEffect as jest.Mock; +vi.mock('@storybook/preview-api'); +const mockedAddons = vi.mocked(addons); +const mockedUseEffect = vi.mocked(useEffect); expect.addSnapshotSerializer({ print: (val: any) => val, @@ -30,12 +32,12 @@ const makeContext = (name: string, parameters: any, args: any, extra?: Partial { - let mockChannel: { on: jest.Mock; emit?: jest.Mock }; + let mockChannel: { on: Mock; emit?: Mock }; beforeEach(() => { mockedAddons.getChannel.mockReset(); mockedUseEffect.mockImplementation((cb) => setTimeout(() => cb(), 0)); - mockChannel = { on: jest.fn(), emit: jest.fn() }; + mockChannel = { on: vi.fn(), emit: vi.fn() }; mockedAddons.getChannel.mockReturnValue(mockChannel as any); }); diff --git a/code/renderers/web-components/src/docs/web-components-properties.test.ts b/code/renderers/web-components/src/docs/web-components-properties.test.ts index 1e4e90915ce3..3b418464e152 100644 --- a/code/renderers/web-components/src/docs/web-components-properties.test.ts +++ b/code/renderers/web-components/src/docs/web-components-properties.test.ts @@ -1,8 +1,9 @@ -import 'jest-specific-snapshot'; import path from 'path'; +import { vi, describe, it, expect } from 'vitest'; import fs from 'fs'; import tmp from 'tmp'; import { sync as spawnSync } from 'cross-spawn'; +import { extractArgTypesFromElements } from './custom-elements'; // File hierarchy: // __testfixtures__ / some-test-case / input.* @@ -32,10 +33,8 @@ describe('web-components component properties', () => { // we need to mock lit and dynamically require custom-elements // because lit is distributed as ESM not CJS // https://github.com/Polymer/lit-html/issues/516 - jest.mock('lit', () => {}); - jest.mock('lit/directive-helpers.js', () => {}); - // eslint-disable-next-line global-require - const { extractArgTypesFromElements } = require('./custom-elements'); + vi.mock('lit', () => ({ default: {} })); + vi.mock('lit/directive-helpers.js', () => ({ default: {} })); const fixturesDir = path.join(__dirname, '__testfixtures__'); fs.readdirSync(fixturesDir, { withFileTypes: true }).forEach((testEntry) => { @@ -53,13 +52,13 @@ describe('web-components component properties', () => { // eslint-disable-next-line no-param-reassign tag.path = 'dummy-path-to-component'; }); - expect(customElements).toMatchSpecificSnapshot( + expect(customElements).toMatchFileSnapshot( path.join(testDir, 'custom-elements.snapshot') ); // snapshot the properties const properties = extractArgTypesFromElements('input', customElements); - expect(properties).toMatchSpecificSnapshot(path.join(testDir, 'properties.snapshot')); + expect(properties).toMatchFileSnapshot(path.join(testDir, 'properties.snapshot')); }); } } diff --git a/code/renderers/web-components/vitest.config.ts b/code/renderers/web-components/vitest.config.ts new file mode 100644 index 000000000000..0432e7483834 --- /dev/null +++ b/code/renderers/web-components/vitest.config.ts @@ -0,0 +1,14 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/tsconfig.json b/code/tsconfig.json index 26de1b5ba684..d26e5efa6de8 100644 --- a/code/tsconfig.json +++ b/code/tsconfig.json @@ -17,10 +17,9 @@ "strictBindCallApply": true, "lib": ["dom", "dom.iterable", "esnext"], "noUnusedLocals": true, - "types": ["jest"], "strict": true }, - "exclude": ["dist", "**/dist", "node_modules", "**/node_modules", "**/setup-jest.ts"], + "exclude": ["dist", "**/dist", "node_modules", "**/node_modules"], "ts-node": { "transpileOnly": true, "files": true, diff --git a/code/ui/blocks/jest.config.js b/code/ui/blocks/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/ui/blocks/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/ui/blocks/package.json b/code/ui/blocks/package.json index 718d4f3b7d85..ed0f5f5c144d 100644 --- a/code/ui/blocks/package.json +++ b/code/ui/blocks/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/blocks", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Storybook Doc Blocks", "keywords": [ "storybook" diff --git a/code/ui/blocks/src/blocks/DocsPage.test.ts b/code/ui/blocks/src/blocks/DocsPage.test.ts index 6acf3c09215f..99fb18a9c9ad 100644 --- a/code/ui/blocks/src/blocks/DocsPage.test.ts +++ b/code/ui/blocks/src/blocks/DocsPage.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { extractTitle } from './Title'; describe('defaultTitleSlot', () => { diff --git a/code/ui/blocks/src/blocks/internal/InternalCanvas.stories.tsx b/code/ui/blocks/src/blocks/internal/InternalCanvas.stories.tsx index b45015c94b50..77602505077a 100644 --- a/code/ui/blocks/src/blocks/internal/InternalCanvas.stories.tsx +++ b/code/ui/blocks/src/blocks/internal/InternalCanvas.stories.tsx @@ -1,4 +1,5 @@ -/// ; +/// ; +/// ; import React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { userEvent, within } from '@storybook/testing-library'; diff --git a/code/ui/blocks/src/components/ArgsTable/ArgJsDoc.tsx b/code/ui/blocks/src/components/ArgsTable/ArgJsDoc.tsx index b40b30306c2d..76bac5490d0c 100644 --- a/code/ui/blocks/src/components/ArgsTable/ArgJsDoc.tsx +++ b/code/ui/blocks/src/components/ArgsTable/ArgJsDoc.tsx @@ -1,5 +1,6 @@ import type { FC } from 'react'; import React from 'react'; +import type { CSSObject } from '@storybook/theming'; import { styled } from '@storybook/theming'; import { codeCommon } from '@storybook/components'; import type { JsDocTags } from './types'; @@ -53,7 +54,7 @@ export const Table = styled.table(({ theme }) => ({ border: 'none', }, - code: codeCommon({ theme }), + code: codeCommon({ theme }) as CSSObject, div: { span: { diff --git a/code/ui/blocks/src/components/ArgsTable/ArgRow.tsx b/code/ui/blocks/src/components/ArgsTable/ArgRow.tsx index d6f02f4dc2a7..d6e2c73ad905 100644 --- a/code/ui/blocks/src/components/ArgsTable/ArgRow.tsx +++ b/code/ui/blocks/src/components/ArgsTable/ArgRow.tsx @@ -2,6 +2,7 @@ import type { FC } from 'react'; import React, { useState } from 'react'; import Markdown from 'markdown-to-jsx'; import { transparentize } from 'polished'; +import type { CSSObject } from '@storybook/theming'; import { styled } from '@storybook/theming'; import { codeCommon } from '@storybook/components'; import type { ArgType, Args, TableAnnotation } from './types'; @@ -39,10 +40,10 @@ const Description = styled.div(({ theme }) => ({ }, code: { - ...codeCommon({ theme }), + ...(codeCommon({ theme }) as CSSObject), fontSize: 12, fontFamily: theme.typography.fonts.mono, - }, + } as CSSObject, '& code': { margin: 0, diff --git a/code/ui/blocks/src/components/Title.tsx b/code/ui/blocks/src/components/Title.tsx index 39a276159941..4a1e45aad1c6 100644 --- a/code/ui/blocks/src/components/Title.tsx +++ b/code/ui/blocks/src/components/Title.tsx @@ -1,10 +1,9 @@ -import type { Theme } from '@storybook/theming'; import { styled } from '@storybook/theming'; import { withReset } from '@storybook/components'; const breakpoint = 600; -export const Title = styled.h1(withReset, ({ theme }: { theme: Theme }) => ({ +export const Title = styled.h1(withReset, ({ theme }) => ({ color: theme.color.defaultText, fontSize: theme.typography.size.m3, fontWeight: theme.typography.weight.bold, diff --git a/code/ui/blocks/src/controls/Date.test.ts b/code/ui/blocks/src/controls/Date.test.ts index 08ad139676df..b19fdafea602 100644 --- a/code/ui/blocks/src/controls/Date.test.ts +++ b/code/ui/blocks/src/controls/Date.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { parseDate, parseTime, formatDate, formatTime } from './Date'; describe('Date control', () => { diff --git a/code/ui/blocks/src/controls/helpers.test.ts b/code/ui/blocks/src/controls/helpers.test.ts index c902a025507e..21b3d7c95c8d 100644 --- a/code/ui/blocks/src/controls/helpers.test.ts +++ b/code/ui/blocks/src/controls/helpers.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { getControlId, getControlSetterButtonId } from './helpers'; describe('getControlId', () => { diff --git a/code/ui/blocks/src/controls/options/Select.tsx b/code/ui/blocks/src/controls/options/Select.tsx index b05d58a4a3a7..e2f9835a7c47 100644 --- a/code/ui/blocks/src/controls/options/Select.tsx +++ b/code/ui/blocks/src/controls/options/Select.tsx @@ -23,9 +23,7 @@ const styleResets: CSSObject = { position: 'relative', }; -const OptionsSelect = styled.select(({ theme }) => ({ - ...styleResets, - +const OptionsSelect = styled.select(styleResets, ({ theme }) => ({ boxSizing: 'border-box', position: 'relative', padding: '6px 10px', diff --git a/code/ui/blocks/tsconfig.json b/code/ui/blocks/tsconfig.json index fcad33be23fa..061b6a531157 100644 --- a/code/ui/blocks/tsconfig.json +++ b/code/ui/blocks/tsconfig.json @@ -4,7 +4,6 @@ "module": "esnext", "skipLibCheck": true, "rootDir": "./src", - "types": ["jest"], "strict": false }, "include": ["src/**/*"] diff --git a/code/ui/blocks/vitest.config.ts b/code/ui/blocks/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/ui/blocks/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/ui/components/jest.config.js b/code/ui/components/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/ui/components/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/ui/components/package.json b/code/ui/components/package.json index 1cab757ae8ed..f56cf5480e52 100644 --- a/code/ui/components/package.json +++ b/code/ui/components/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/components", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Core Storybook Components", "keywords": [ "storybook" @@ -67,7 +67,6 @@ "@storybook/theming": "workspace:*", "@storybook/types": "workspace:*", "memoizerific": "^1.11.3", - "use-resize-observer": "^9.1.0", "util-deprecate": "^1.0.2" }, "devDependencies": { @@ -82,7 +81,8 @@ "react-syntax-highlighter": "^15.4.5", "react-textarea-autosize": "^8.3.0", "ts-dedent": "^2.0.0", - "typescript": "^5.3.2" + "typescript": "^5.3.2", + "use-resize-observer": "^9.1.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", @@ -94,8 +94,7 @@ "bundler": { "entries": [ "./src/index.ts" - ], - "platform": "neutral" + ] }, "gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae17" } diff --git a/code/ui/components/src/components/form/input/input.tsx b/code/ui/components/src/components/form/input/input.tsx index 15f647c7cdb2..cf143915b426 100644 --- a/code/ui/components/src/components/form/input/input.tsx +++ b/code/ui/components/src/components/form/input/input.tsx @@ -1,11 +1,30 @@ -import type { HTMLProps, SelectHTMLAttributes } from 'react'; +import type { FC, HTMLProps, SelectHTMLAttributes } from 'react'; import React, { forwardRef } from 'react'; -import type { Theme, CSSObject } from '@storybook/theming'; +import type { CSSObject, FunctionInterpolation } from '@storybook/theming'; import { styled } from '@storybook/theming'; -import type { TextareaAutosizeProps } from 'react-textarea-autosize'; import TextareaAutoResize from 'react-textarea-autosize'; +/** + * these types are copied from `react-textarea-autosize`. + * I copied them because of https://github.com/storybookjs/storybook/issues/18734 + * Maybe there's some bug in `tsup` or `react-textarea-autosize`? + */ +type TextareaPropsRaw = React.TextareaHTMLAttributes; +type Style = Omit, 'maxHeight' | 'minHeight'> & { + height?: number; +}; +type TextareaHeightChangeMeta = { + rowHeight: number; +}; +export interface TextareaAutosizeProps extends Omit { + maxRows?: number; + minRows?: number; + onHeightChange?: (height: number, meta: TextareaHeightChangeMeta) => void; + cacheMeasurements?: boolean; + style?: Style; +} + const styleResets: CSSObject = { // resets appearance: 'none', @@ -19,8 +38,8 @@ const styleResets: CSSObject = { position: 'relative', }; -const styles = ({ theme }: { theme: Theme }): CSSObject => ({ - ...styleResets, +const styles: FunctionInterpolation = ({ theme }) => ({ + ...(styleResets as any), transition: 'box-shadow 200ms ease-out, opacity 200ms ease-out', color: theme.input.color || 'inherit', @@ -58,7 +77,7 @@ export type Sizes = '100%' | 'flex' | 'auto'; export type Alignments = 'end' | 'center' | 'start'; export type ValidationStates = 'valid' | 'error' | 'warn'; -const sizes = ({ size }: { size?: Sizes }): CSSObject => { +const sizes: FunctionInterpolation<{ size?: Sizes }> = ({ size }) => { switch (size) { case '100%': { return { width: '100%' }; @@ -72,14 +91,12 @@ const sizes = ({ size }: { size?: Sizes }): CSSObject => { } } }; -const alignment = ({ - align, -}: { +const alignment: FunctionInterpolation<{ size?: Sizes; align?: Alignments; valid?: ValidationStates; height?: number; -}): CSSObject => { +}> = ({ align }) => { switch (align) { case 'end': { return { textAlign: 'right' }; @@ -93,7 +110,7 @@ const alignment = ({ } } }; -const validation = ({ valid, theme }: { valid: ValidationStates; theme: Theme }): CSSObject => { +const validation: FunctionInterpolation<{ valid: ValidationStates }> = ({ valid, theme }) => { switch (valid) { case 'valid': { return { boxShadow: `${theme.color.positive} 0 0 0 1px inset !important` }; @@ -189,8 +206,8 @@ type TextareaProps = Omit< align?: Alignments; valid?: ValidationStates; height?: number; -}; -export const Textarea = Object.assign( +} & React.RefAttributes; +export const Textarea: FC = Object.assign( styled( forwardRef(function Textarea({ size, valid, align, ...props }, ref) { return ; diff --git a/code/ui/components/src/components/syntaxhighlighter/formatter.test.ts b/code/ui/components/src/components/syntaxhighlighter/formatter.test.ts index 45637a79488c..55975adb24bc 100644 --- a/code/ui/components/src/components/syntaxhighlighter/formatter.test.ts +++ b/code/ui/components/src/components/syntaxhighlighter/formatter.test.ts @@ -1,23 +1,24 @@ +import { describe, it, expect } from 'vitest'; import { dedent } from 'ts-dedent'; import { formatter } from './formatter'; describe('dedent', () => { - test('handles empty string', () => { + it('handles empty string', () => { const input = ''; const result = formatter(true, input); expect(result).toBe(input); }); - test('handles single line', () => { + it('handles single line', () => { const input = 'console.log("hello world")'; const result = formatter(true, input); expect(result).toBe(input); }); - test('does not transform correct code', () => { + it('does not transform correct code', () => { const input = dedent` console.log("hello"); console.log("world"); @@ -27,7 +28,7 @@ describe('dedent', () => { expect(result).toBe(input); }); - test('does transform incorrect code', () => { + it('does transform incorrect code', () => { const input = ` console.log("hello"); console.log("world"); @@ -38,9 +39,9 @@ describe('dedent', () => { console.log("world");`); }); - test('more indentations - skip first line', () => { + it('more indentations - skip first line', () => { const input = ` - test('handles empty string', () => { + it('handles empty string', () => { const input = ''; const result = formatter(input); @@ -49,7 +50,7 @@ console.log("world");`); `; const result = formatter(true, input); - expect(result).toBe(`test('handles empty string', () => { + expect(result).toBe(`it('handles empty string', () => { const input = ''; const result = formatter(input); @@ -57,9 +58,9 @@ console.log("world");`); });`); }); - test('more indentations - code on first line', () => { + it('more indentations - code on first line', () => { const input = `// some comment - test('handles empty string', () => { + it('handles empty string', () => { const input = ''; const result = formatter(input); @@ -69,7 +70,7 @@ console.log("world");`); const result = formatter(true, input); expect(result).toBe(`// some comment -test('handles empty string', () => { +it('handles empty string', () => { const input = ''; const result = formatter(input); @@ -77,7 +78,7 @@ test('handles empty string', () => { });`); }); - test('removes whitespace in empty line completely', () => { + it('removes whitespace in empty line completely', () => { const input = ` console.log("hello"); @@ -92,14 +93,14 @@ console.log("world");`); }); describe('prettier (babel)', () => { - test('handles empty string', () => { + it('handles empty string', () => { const input = ''; const result = formatter('angular', input); expect(result).toBe(input); }); - test('handles single line', () => { + it('handles single line', () => { const input = 'console.log("hello world")'; const result = formatter('angular', input); diff --git a/code/ui/components/src/components/typography/elements/DL.tsx b/code/ui/components/src/components/typography/elements/DL.tsx index 07c40986d641..138ca41bdfe3 100644 --- a/code/ui/components/src/components/typography/elements/DL.tsx +++ b/code/ui/components/src/components/typography/elements/DL.tsx @@ -1,8 +1,7 @@ import { styled } from '@storybook/theming'; import { withReset, withMargin } from '../lib/common'; -export const DL = styled.dl(withReset, { - ...withMargin, +export const DL = styled.dl(withReset, withMargin, { padding: 0, '& dt': { fontSize: '14px', diff --git a/code/ui/components/src/components/typography/elements/LI.tsx b/code/ui/components/src/components/typography/elements/LI.tsx index a44704043248..4dc7090bc6e9 100644 --- a/code/ui/components/src/components/typography/elements/LI.tsx +++ b/code/ui/components/src/components/typography/elements/LI.tsx @@ -1,3 +1,4 @@ +import type { CSSObject } from '@storybook/theming'; import { styled } from '@storybook/theming'; import { withReset, codeCommon } from '../lib/common'; @@ -12,5 +13,5 @@ export const LI = styled.li(withReset, ({ theme }) => ({ marginTop: '.25em', marginBottom: 0, }, - '& code': codeCommon({ theme }), + '& code': codeCommon({ theme }) as CSSObject, })); diff --git a/code/ui/components/src/components/typography/elements/OL.tsx b/code/ui/components/src/components/typography/elements/OL.tsx index 7f2da5b57082..e1e0ec7ce462 100644 --- a/code/ui/components/src/components/typography/elements/OL.tsx +++ b/code/ui/components/src/components/typography/elements/OL.tsx @@ -1,8 +1,8 @@ import { styled } from '@storybook/theming'; -import type { CSSObject } from '@storybook/theming'; +import type { Interpolation } from '@storybook/theming'; import { withReset, withMargin } from '../lib/common'; -const listCommon: CSSObject = { +const listCommon: Interpolation = { paddingLeft: 30, '& :first-of-type': { marginTop: 0, @@ -12,4 +12,6 @@ const listCommon: CSSObject = { }, }; -export const OL = styled.ol(withReset, withMargin, { ...listCommon, listStyle: 'decimal' }); +export const OL = styled.ol(withReset, withMargin, listCommon, { + listStyle: 'decimal', +}); diff --git a/code/ui/components/src/components/typography/elements/P.tsx b/code/ui/components/src/components/typography/elements/P.tsx index f6e4ab723114..86624fbe1ce9 100644 --- a/code/ui/components/src/components/typography/elements/P.tsx +++ b/code/ui/components/src/components/typography/elements/P.tsx @@ -1,3 +1,4 @@ +import type { CSSObject } from '@storybook/theming'; import { styled } from '@storybook/theming'; import { withReset, withMargin, codeCommon } from '../lib/common'; @@ -5,5 +6,5 @@ export const P = styled.p(withReset, withMargin, ({ theme }) => ({ fontSize: theme.typography.size.s2, lineHeight: '24px', color: theme.color.defaultText, - '& code': codeCommon({ theme }), + '& code': codeCommon({ theme }) as CSSObject, })); diff --git a/code/ui/components/src/components/typography/elements/UL.tsx b/code/ui/components/src/components/typography/elements/UL.tsx index 9d4e72622a92..08ff3150f1de 100644 --- a/code/ui/components/src/components/typography/elements/UL.tsx +++ b/code/ui/components/src/components/typography/elements/UL.tsx @@ -1,8 +1,8 @@ import { styled } from '@storybook/theming'; -import type { CSSObject } from '@storybook/theming'; +import type { Interpolation } from '@storybook/theming'; import { withReset, withMargin } from '../lib/common'; -const listCommon: CSSObject = { +const listCommon: Interpolation = { paddingLeft: 30, '& :first-of-type': { marginTop: 0, @@ -12,4 +12,4 @@ const listCommon: CSSObject = { }, }; -export const UL = styled.ul(withReset, withMargin, { ...listCommon, listStyle: 'disc' }); +export const UL = styled.ul(withReset, withMargin, listCommon, { listStyle: 'disc' }); diff --git a/code/ui/components/src/components/typography/lib/common.tsx b/code/ui/components/src/components/typography/lib/common.tsx index dcd6f9adc573..6f7bf0158929 100644 --- a/code/ui/components/src/components/typography/lib/common.tsx +++ b/code/ui/components/src/components/typography/lib/common.tsx @@ -1,7 +1,7 @@ import { transparentize } from 'polished'; -import type { CSSObject, Theme } from '@storybook/theming'; +import type { CSSObject, FunctionInterpolation } from '@storybook/theming'; -export const headerCommon = ({ theme }: { theme: Theme }): CSSObject => ({ +export const headerCommon: FunctionInterpolation = ({ theme }) => ({ margin: '20px 0 8px', padding: 0, cursor: 'text', @@ -19,7 +19,7 @@ export const headerCommon = ({ theme }: { theme: Theme }): CSSObject => ({ }, }); -export const codeCommon = ({ theme }: { theme: Theme }): CSSObject => ({ +export const codeCommon: FunctionInterpolation = ({ theme }) => ({ lineHeight: 1, margin: '0 2px', padding: '3px 5px', @@ -39,7 +39,7 @@ export const codeCommon = ({ theme }: { theme: Theme }): CSSObject => ({ backgroundColor: theme.base === 'light' ? theme.color.lighter : theme.color.border, }); -export const withReset = ({ theme }: { theme: Theme }): CSSObject => ({ +export const withReset: FunctionInterpolation = ({ theme }) => ({ fontFamily: theme.typography.fonts.base, fontSize: theme.typography.size.s3, margin: 0, diff --git a/code/ui/components/src/components/typography/link/link.test.tsx b/code/ui/components/src/components/typography/link/link.test.tsx index 007a0ab3d374..08b6eae09103 100644 --- a/code/ui/components/src/components/typography/link/link.test.tsx +++ b/code/ui/components/src/components/typography/link/link.test.tsx @@ -1,6 +1,7 @@ +import { vi, describe, afterEach, it, expect } from 'vitest'; import type { AnchorHTMLAttributes } from 'react'; import React from 'react'; -import { render, screen } from '@testing-library/react'; +import { cleanup, render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { ThemeProvider, themes, convert } from '@storybook/theming'; import type { LinkProps } from './link'; @@ -28,51 +29,55 @@ async function click(target: Element, button: string, modifier?: string) { } describe('Link', () => { + afterEach(() => { + cleanup(); + }); + describe('events', () => { it('should call onClick on a plain left click', async () => { - const handleClick = jest.fn(); + const handleClick = vi.fn(); render(Content); await click(screen.getByText('Content'), 'MouseLeft'); expect(handleClick).toHaveBeenCalled(); }); it("shouldn't call onClick on a middle click", async () => { - const handleClick = jest.fn(); + const handleClick = vi.fn(); render(Content); await click(screen.getByText('Content'), 'MouseMiddle'); expect(handleClick).not.toHaveBeenCalled(); }); it("shouldn't call onClick on a right click", async () => { - const handleClick = jest.fn(); + const handleClick = vi.fn(); render(Content); await click(screen.getByText('Content'), 'MouseRight'); expect(handleClick).not.toHaveBeenCalled(); }); it("shouldn't call onClick on alt+click", async () => { - const handleClick = jest.fn(); + const handleClick = vi.fn(); render(Content); await click(screen.getByText('Content'), 'MouseLeft', 'Alt'); expect(handleClick).not.toHaveBeenCalled(); }); it("shouldn't call onClick on ctrl+click", async () => { - const handleClick = jest.fn(); + const handleClick = vi.fn(); render(Content); await click(screen.getByText('Content'), 'MouseLeft', 'Control'); expect(handleClick).not.toHaveBeenCalled(); }); it("shouldn't call onClick on cmd+click / win+click", async () => { - const handleClick = jest.fn(); + const handleClick = vi.fn(); render(Content); await click(screen.getByText('Content'), 'MouseLeft', 'Meta'); expect(handleClick).not.toHaveBeenCalled(); }); it("shouldn't call onClick on shift+click", async () => { - const handleClick = jest.fn(); + const handleClick = vi.fn(); render(Content); await click(screen.getByText('Content'), 'MouseLeft', 'Shift'); expect(handleClick).not.toHaveBeenCalled(); diff --git a/code/ui/components/tsconfig.json b/code/ui/components/tsconfig.json index a2bea817d943..bbe2d66fb72a 100644 --- a/code/ui/components/tsconfig.json +++ b/code/ui/components/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "types": ["react-syntax-highlighter", "jest", "testing-library__jest-dom"], + "types": ["react-syntax-highlighter"], "skipLibCheck": true, "strict": false }, diff --git a/code/ui/components/vitest.config.ts b/code/ui/components/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/ui/components/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/ui/manager/jest.config.js b/code/ui/manager/jest.config.js deleted file mode 100644 index 4396fbc7010d..000000000000 --- a/code/ui/manager/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.browser'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/ui/manager/package.json b/code/ui/manager/package.json index 2c08555e73d0..2ed814f9dbd4 100644 --- a/code/ui/manager/package.json +++ b/code/ui/manager/package.json @@ -1,6 +1,6 @@ { "name": "@storybook/manager", - "version": "8.0.0-alpha.3", + "version": "8.0.0-alpha.5", "description": "Core Storybook UI", "keywords": [ "storybook" diff --git a/code/ui/manager/src/__tests__/index.test.ts b/code/ui/manager/src/__tests__/index.test.ts index 60bd0492a31c..18224d4c10b9 100644 --- a/code/ui/manager/src/__tests__/index.test.ts +++ b/code/ui/manager/src/__tests__/index.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { renderStorybookUI } from '..'; describe('Main API', () => { diff --git a/code/ui/manager/src/components/sidebar/__tests__/Sidebar.test.tsx b/code/ui/manager/src/components/sidebar/__tests__/Sidebar.test.tsx index 78ebfb697ac7..abb84a24c980 100644 --- a/code/ui/manager/src/components/sidebar/__tests__/Sidebar.test.tsx +++ b/code/ui/manager/src/components/sidebar/__tests__/Sidebar.test.tsx @@ -1,5 +1,6 @@ +import { afterEach, describe, test } from 'vitest'; import React from 'react'; -import { render, screen, fireEvent } from '@testing-library/react'; +import { render, screen, fireEvent, cleanup } from '@testing-library/react'; import { ThemeProvider, ensure, themes } from '@storybook/theming'; import type { HashEntry, Refs } from '@storybook/manager-api'; @@ -77,6 +78,14 @@ const generateStories = ({ title, refId }: { title: string; refId?: string }): A }; describe('Sidebar', () => { + afterEach(() => { + cleanup(); + }); + + // TODO: Bring this test back whenever possible. + // Seems to be failing because of two reasons: + // - There is a warning "ReactDOM.render is no longer supported in React 18. Use createRoot instead." + // - There is a TypeError: Cannot read properties of undefined (reading 'size') - coming from ThemeProvider test.skip("should not render an extra nested 'Page'", async () => { const refId = 'next'; const title = 'Getting Started/Install'; diff --git a/code/ui/manager/src/utils/status.test.ts b/code/ui/manager/src/utils/status.test.ts index 294e23caea6d..77fe29b82adc 100644 --- a/code/ui/manager/src/utils/status.test.ts +++ b/code/ui/manager/src/utils/status.test.ts @@ -1,11 +1,12 @@ +import { describe, it, expect } from 'vitest'; import { getHighestStatus, getGroupStatus } from './status'; import { mockDataset } from '../components/sidebar/mockdata'; describe('getHighestStatus', () => { - test('default value', () => { + it('default value', () => { expect(getHighestStatus([])).toBe('unknown'); }); - test('should return the highest status', () => { + it('should return the highest status', () => { expect(getHighestStatus(['success', 'error', 'warn', 'pending'])).toBe('error'); expect(getHighestStatus(['error', 'error', 'warn', 'pending'])).toBe('error'); expect(getHighestStatus(['warn', 'pending'])).toBe('warn'); @@ -13,16 +14,16 @@ describe('getHighestStatus', () => { }); describe('getGroupStatus', () => { - test('empty case', () => { + it('empty case', () => { expect(getGroupStatus({}, {})).toEqual({}); }); - test('should return a color', () => { + it('should return a color', () => { expect( getGroupStatus(mockDataset.withRoot, { 'group-1--child-b1': { a: { status: 'warn', description: '', title: '' } }, }) ).toMatchInlineSnapshot(` - Object { + { "group-1": "warn", "root-1-child-a1": "unknown", "root-1-child-a2": "unknown", @@ -30,7 +31,7 @@ describe('getGroupStatus', () => { } `); }); - test('should return the highest status', () => { + it('should return the highest status', () => { expect( getGroupStatus(mockDataset.withRoot, { 'group-1--child-b1': { @@ -39,7 +40,7 @@ describe('getGroupStatus', () => { }, }) ).toMatchInlineSnapshot(` - Object { + { "group-1": "error", "root-1-child-a1": "unknown", "root-1-child-a2": "unknown", diff --git a/code/ui/manager/src/utils/tree.test.js b/code/ui/manager/src/utils/tree.test.js index 3481e21f6c29..6dd38d797baf 100644 --- a/code/ui/manager/src/utils/tree.test.js +++ b/code/ui/manager/src/utils/tree.test.js @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { mockDataset, mockExpanded, mockSelected } from '../components/sidebar/mockdata'; import * as utils from './tree'; @@ -9,7 +10,7 @@ const noRoot = { }; describe('sanity', () => { - test('all exports should be functions', () => { + it('all exports should be functions', () => { Object.values(utils).forEach((i) => { expect(typeof i).toBe('function'); }); @@ -17,7 +18,7 @@ describe('sanity', () => { }); describe('createId', () => { - test('creates an id', () => { + it('creates an id', () => { const inputs = ['testpath', 'testref']; const output = utils.createId(...inputs); @@ -26,14 +27,14 @@ describe('createId', () => { }); describe('get', () => { - test('retrieved by key', () => { + it('retrieved by key', () => { const value = {}; const inputs = ['testkey', { testkey: value, x: 'incorrect' }]; const output = utils.get(inputs[0], inputs[1]); expect(output).toBe(value); }); - test('retrieve non-existent returns undefined', () => { + it('retrieve non-existent returns undefined', () => { const value = {}; const inputs = ['NONEXISTENT', { testkey: value, x: 'incorrect' }]; const output = utils.get(inputs[0], inputs[1]); @@ -43,50 +44,50 @@ describe('get', () => { }); describe('getParent', () => { - test('retrieved by id (level 0) returns undefined', () => { + it('retrieved by id (level 0) returns undefined', () => { const output = utils.getParent('group-1', noRoot.dataset); expect(output).toBe(undefined); }); - test('retrieved by id (level 1) returns correctly', () => { + it('retrieved by id (level 1) returns correctly', () => { const output = utils.getParent('group-1--child-b1', noRoot.dataset); expect(output).toBe(noRoot.dataset['group-1']); }); - test('retrieved by id (level 2) returns correctly', () => { + it('retrieved by id (level 2) returns correctly', () => { const output = utils.getParent('root-1-child-a2--grandchild-a1-1', noRoot.dataset); expect(output).toBe(noRoot.dataset['root-1-child-a2']); }); - test('retrieve non-existent returns undefined', () => { + it('retrieve non-existent returns undefined', () => { const output = utils.getParent('NONEXISTENT', noRoot.dataset); expect(output).toBe(undefined); }); }); describe('getParents', () => { - test('retrieved by id (level 0) returns correctly', () => { + it('retrieved by id (level 0) returns correctly', () => { const output = utils.getParents('group-1', noRoot.dataset); expect(output).toEqual([]); }); - test('retrieved by id (level 1) returns correctly', () => { + it('retrieved by id (level 1) returns correctly', () => { const output = utils.getParents('group-1--child-b1', noRoot.dataset); expect(output).toEqual([noRoot.dataset['group-1']]); }); - test('retrieved by id (level 2) returns correctly', () => { + it('retrieved by id (level 2) returns correctly', () => { const output = utils.getParents('root-1-child-a2--grandchild-a1-1', noRoot.dataset); expect(output).toEqual([noRoot.dataset['root-1-child-a2'], noRoot.dataset['root-1']]); }); - test('retrieve non-existent returns empty array', () => { + it('retrieve non-existent returns empty array', () => { const output = utils.getParents('NONEXISTENT', noRoot.dataset); expect(output).toEqual([]); }); }); describe('isStoryHoistable', () => { - test('return true for matching Story and Component name', () => { + it('return true for matching Story and Component name', () => { const output = utils.isStoryHoistable('Very_Long-Button Story Name', 'VeryLongButtonStoryName'); expect(output).toEqual(true); }); - test('return false for non-matching names', () => { + it('return false for non-matching names', () => { const output = utils.isStoryHoistable('Butto Story', 'ButtonStory'); expect(output).toEqual(false); }); diff --git a/code/ui/manager/tsconfig.json b/code/ui/manager/tsconfig.json index 4bc2c0bffe1f..a6f65038a17b 100644 --- a/code/ui/manager/tsconfig.json +++ b/code/ui/manager/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "types": ["testing-library__jest-dom"], "skipLibCheck": true, "strict": false }, diff --git a/code/ui/manager/vitest.config.ts b/code/ui/manager/vitest.config.ts new file mode 100644 index 000000000000..622642938f21 --- /dev/null +++ b/code/ui/manager/vitest.config.ts @@ -0,0 +1,13 @@ +import { defineConfig, mergeConfig } from 'vitest/config'; +import { sep, posix } from 'path'; +import { vitestCommonConfig } from '../../vitest.workspace'; + +export default mergeConfig( + vitestCommonConfig, + defineConfig({ + test: { + environment: 'jsdom', + name: __dirname.split(sep).slice(-2).join(posix.sep), + }, + }) +); diff --git a/code/vitest-setup.ts b/code/vitest-setup.ts new file mode 100644 index 000000000000..efb10035936b --- /dev/null +++ b/code/vitest-setup.ts @@ -0,0 +1,42 @@ +import '@testing-library/jest-dom/vitest'; +import { vi } from 'vitest'; + +import { dedent } from 'ts-dedent'; + +const ignoreList = [ + (error: any) => error.message.includes('":nth-child" is potentially unsafe'), + (error: any) => error.message.includes('":first-child" is potentially unsafe'), + (error: any) => error.message.match(/Browserslist: .* is outdated. Please run:/), + (error: any) => + error.message.includes('react-async-component-lifecycle-hooks') && + error.stack.includes('addons/knobs/src/components/__tests__/Options.js'), +]; + +const throwMessage = (type: any, message: any) => { + // eslint-disable-next-line local-rules/no-uncategorized-errors + const error = new Error(`${type}${message}`); + if (!ignoreList.reduce((acc, item) => acc || item(error), false)) { + throw error; + } +}; +const throwWarning = (message: any) => throwMessage('warn: ', message); +const throwError = (message: any) => throwMessage('error: ', message); + +vi.spyOn(console, 'warn').mockImplementation(throwWarning); +vi.spyOn(console, 'error').mockImplementation(throwError); + +expect.extend({ + toMatchPaths(regex: RegExp, paths: string[]) { + const matched = paths.map((p) => !!p.match(regex)); + + const pass = matched.every(Boolean); + const failures = paths.filter((_, i) => (pass ? matched[i] : !matched[i])); + const message = () => dedent`Expected ${regex} to ${pass ? 'not ' : ''}match all strings. + + Failures:${['', ...failures].join('\n - ')}`; + return { + pass, + message, + }; + }, +}); diff --git a/code/vitest.helpers.ts b/code/vitest.helpers.ts new file mode 100644 index 000000000000..df1de32f54a3 --- /dev/null +++ b/code/vitest.helpers.ts @@ -0,0 +1,37 @@ +/* eslint-disable @typescript-eslint/ban-types */ +import { platform } from 'os'; + +const WINDOWS_PLATFORM = 'win32'; +// Implement these whenever needed... +// const MACOS_PLATFORM = 'darwin'; +// const LINUX_PLATFORM = 'linux'; + +let currentPlatform: NodeJS.Platform; + +const getPlatform = () => { + if (!currentPlatform) { + currentPlatform = platform(); + } + + return currentPlatform; +}; + +function skipOn(platfm: NodeJS.Platform) { + return (fn: Function) => { + if (getPlatform() !== platfm) { + fn(); + } + }; +} + +function onlyOn(platfm: NodeJS.Platform) { + return (fn: Function) => { + if (getPlatform() === platfm) { + fn(); + } + }; +} + +export const IS_WINDOWS = getPlatform() === WINDOWS_PLATFORM; +export const skipWindows = skipOn(WINDOWS_PLATFORM); +export const onlyWindows = onlyOn(WINDOWS_PLATFORM); diff --git a/code/vitest.workspace.ts b/code/vitest.workspace.ts new file mode 100644 index 000000000000..fda0ab58e871 --- /dev/null +++ b/code/vitest.workspace.ts @@ -0,0 +1,21 @@ +import { resolve } from 'path'; +import { defineConfig, defineWorkspace } from 'vitest/config'; + +export default defineWorkspace([ + 'addons/*/vitest.config.ts', + 'frameworks/*/vitest.config.ts', + 'lib/*/vitest.config.ts', + 'deprecated/*/vitest.config.ts', + 'builders/*/vitest.config.ts', + 'ui/*/vitest.config.ts', + 'presets/*/vitest.config.ts', + 'renderers/*/vitest.config.ts', +]); + +export const vitestCommonConfig = defineConfig({ + test: { + clearMocks: true, + setupFiles: [resolve('./vitest-setup.ts')], + globals: true, + }, +}); diff --git a/code/yarn.lock b/code/yarn.lock index fe0b388fcdd4..6fe3d551d312 100644 --- a/code/yarn.lock +++ b/code/yarn.lock @@ -24,7 +24,7 @@ __metadata: languageName: node linkType: hard -"@adobe/css-tools@npm:^4.0.1, @adobe/css-tools@npm:^4.3.1": +"@adobe/css-tools@npm:^4.3.1": version: 4.3.2 resolution: "@adobe/css-tools@npm:4.3.2" checksum: 296a03dd29f227c60500d2da8c7f64991fecf1d8b456ce2b4adb8cec7363d9c08b5b03f1463673fc8cbfe54b538745588e7a13c736d2dd14a80c01a20f127f39 @@ -41,6 +41,15 @@ __metadata: languageName: node linkType: hard +"@analogjs/vite-plugin-angular@npm:^0.2.24": + version: 0.2.28 + resolution: "@analogjs/vite-plugin-angular@npm:0.2.28" + peerDependencies: + "@angular-devkit/build-angular": ^15.0.0 || >=16.0.0 + checksum: 5677d251206d8eb4e7f2da6f43d8c6baf738c1c7fa9c4880e2c2360963d985a40a66c208e56700200e90dbc62634f33841b75f55683623853778b70bdd653dec + languageName: node + linkType: hard + "@angular-devkit/architect@npm:0.1700.5, @angular-devkit/architect@npm:^0.1700.5": version: 0.1700.5 resolution: "@angular-devkit/architect@npm:0.1700.5" @@ -366,7 +375,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.22.13": version: 7.23.5 resolution: "@babel/code-frame@npm:7.23.5" dependencies: @@ -376,7 +385,7 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9, @babel/compat-data@npm:^7.23.2, @babel/compat-data@npm:^7.23.3, @babel/compat-data@npm:^7.23.5": +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.2, @babel/compat-data@npm:^7.23.3, @babel/compat-data@npm:^7.23.5": version: 7.23.5 resolution: "@babel/compat-data@npm:7.23.5" checksum: 081278ed46131a890ad566a59c61600a5f9557bd8ee5e535890c8548192532ea92590742fd74bd9db83d74c669ef8a04a7e1c85cdea27f960233e3b83c3a957c @@ -384,29 +393,29 @@ __metadata: linkType: hard "@babel/core@npm:^7.23.2": - version: 7.23.5 - resolution: "@babel/core@npm:7.23.5" + version: 7.23.2 + resolution: "@babel/core@npm:7.23.2" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.23.5" - "@babel/generator": "npm:^7.23.5" + "@babel/code-frame": "npm:^7.22.13" + "@babel/generator": "npm:^7.23.0" "@babel/helper-compilation-targets": "npm:^7.22.15" - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helpers": "npm:^7.23.5" - "@babel/parser": "npm:^7.23.5" + "@babel/helper-module-transforms": "npm:^7.23.0" + "@babel/helpers": "npm:^7.23.2" + "@babel/parser": "npm:^7.23.0" "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.5" - "@babel/types": "npm:^7.23.5" + "@babel/traverse": "npm:^7.23.2" + "@babel/types": "npm:^7.23.0" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 311a512a870ee330a3f9a7ea89e5df790b2b5af0b1bd98b10b4edc0de2ac440f0df4d69ea2c0ee38a4b89041b9a495802741d93603be7d4fd834ec8bb6970bd2 + checksum: 14ad6e0a3ac0085dc008e7fb0c8513f0a3e39f2ab883a964a89ef1311338d49cf085c94cb6165c07fdec0fdcc6e865ce4811253c479f9f45ac375226dfe3ad3b languageName: node linkType: hard -"@babel/generator@npm:7.23.0": +"@babel/generator@npm:7.23.0, @babel/generator@npm:^7.12.11, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.7.2": version: 7.23.0 resolution: "@babel/generator@npm:7.23.0" dependencies: @@ -418,18 +427,6 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.23.5, @babel/generator@npm:^7.7.2": - version: 7.23.5 - resolution: "@babel/generator@npm:7.23.5" - dependencies: - "@babel/types": "npm:^7.23.5" - "@jridgewell/gen-mapping": "npm:^0.3.2" - "@jridgewell/trace-mapping": "npm:^0.3.17" - jsesc: "npm:^2.5.1" - checksum: 14c6e874f796c4368e919bed6003bb0adc3ce837760b08f9e646d20aeb5ae7d309723ce6e4f06bcb4a2b5753145446c8e4425851380f695e40e71e1760f49e7b - languageName: node - linkType: hard - "@babel/helper-annotate-as-pure@npm:7.22.5, @babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-annotate-as-pure@npm:7.22.5" @@ -448,16 +445,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.12.0, @babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.6": - version: 7.22.15 - resolution: "@babel/helper-compilation-targets@npm:7.22.15" +"@babel/helper-compilation-targets@npm:^7.12.0, @babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/helper-compilation-targets@npm:7.23.6" dependencies: - "@babel/compat-data": "npm:^7.22.9" - "@babel/helper-validator-option": "npm:^7.22.15" - browserslist: "npm:^4.21.9" + "@babel/compat-data": "npm:^7.23.5" + "@babel/helper-validator-option": "npm:^7.23.5" + browserslist: "npm:^4.22.2" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 45b9286861296e890f674a3abb199efea14a962a27d9b8adeb44970a9fd5c54e73a9e342e8414d2851cf4f98d5994537352fbce7b05ade32e9849bbd327f9ff1 + checksum: ba38506d11185f48b79abf439462ece271d3eead1673dd8814519c8c903c708523428806f05f2ec5efd0c56e4e278698fac967e5a4b5ee842c32415da54bc6fa languageName: node linkType: hard @@ -552,7 +549,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.23.3": +"@babel/helper-module-transforms@npm:^7.23.0, @babel/helper-module-transforms@npm:^7.23.3": version: 7.23.3 resolution: "@babel/helper-module-transforms@npm:7.23.3" dependencies: @@ -668,14 +665,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/helpers@npm:7.23.5" +"@babel/helpers@npm:^7.23.2": + version: 7.23.2 + resolution: "@babel/helpers@npm:7.23.2" dependencies: "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.5" - "@babel/types": "npm:^7.23.5" - checksum: a37e2728eb4378a4888e5d614e28de7dd79b55ac8acbecd0e5c761273e2a02a8f33b34b1932d9069db55417ace2937cbf8ec37c42f1030ce6d228857d7ccaa4f + "@babel/traverse": "npm:^7.23.2" + "@babel/types": "npm:^7.23.0" + checksum: 3a6a939c5277a27486e7c626812f0643b35d1c053ac2eb66911f5ae6c0a4e4bcdd40750eba36b766b0ee8a753484287f50ae56232a5f8f2947116723e44b9e35 languageName: node linkType: hard @@ -691,11 +688,11 @@ __metadata: linkType: hard "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.11.5, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.4, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.3, @babel/parser@npm:^7.23.5, @babel/parser@npm:^7.4.5, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.7.0, @babel/parser@npm:^7.9.6": - version: 7.23.5 - resolution: "@babel/parser@npm:7.23.5" + version: 7.23.6 + resolution: "@babel/parser@npm:7.23.6" bin: parser: ./bin/babel-parser.js - checksum: 3356aa90d7bafb4e2c7310e7c2c3d443c4be4db74913f088d3d577a1eb914ea4188e05fd50a47ce907a27b755c4400c4e3cbeee73dbeb37761f6ca85954f5a20 + checksum: 6f76cd5ccae1fa9bcab3525b0865c6222e9c1d22f87abc69f28c5c7b2c8816a13361f5bd06bddbd5faf903f7320a8feba02545c981468acec45d12a03db7755e languageName: node linkType: hard @@ -748,17 +745,17 @@ __metadata: linkType: hard "@babel/plugin-proposal-decorators@npm:^7.13.5": - version: 7.23.5 - resolution: "@babel/plugin-proposal-decorators@npm:7.23.5" + version: 7.23.0 + resolution: "@babel/plugin-proposal-decorators@npm:7.23.0" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.23.5" + "@babel/helper-create-class-features-plugin": "npm:^7.22.15" "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-replace-supers": "npm:^7.22.20" "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/plugin-syntax-decorators": "npm:^7.23.3" + "@babel/plugin-syntax-decorators": "npm:^7.22.10" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f1fffa9f24668e3a2f78ee4c6ca1b8e65b46f69d8fbe77be46dc286b0ac02336fbc77eeaffadcec1b08019e241547cfbfee9a494aeaf6bb6b4eeac1149be5994 + checksum: 983e7113f9ca3b2ae632869f71accec48cb652d68840697c3977071d44879657ca6b4427ed02e76e448e385d0feca9bd3d40edfaf1530c6c6c25fe8b97d46689 languageName: node linkType: hard @@ -866,14 +863,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-decorators@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-syntax-decorators@npm:7.23.3" +"@babel/plugin-syntax-decorators@npm:^7.22.10": + version: 7.22.10 + resolution: "@babel/plugin-syntax-decorators@npm:7.22.10" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 86299c050b0a5b6565d6b9e3529f2d6dca4780215ab88050bdd0ae9a576868a17f9cd1e140857089cc5d06bdfeb89f0711285f99481b82316896a552a62e449f + checksum: cf606ef13ed98b3adf560ede27a873c0ab37e884c762a6f15493c881f5a78b67f24dcdd5c70e8cd8f39dbe4b23475cb98619729812f29feb2dcc241130195e7c languageName: node linkType: hard @@ -899,14 +896,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-flow@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-syntax-flow@npm:7.23.3" +"@babel/plugin-syntax-flow@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-syntax-flow@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8a5e1e8b6a3728a2c8fe6d70c09a43642e737d9c0485e1b041cd3a6021ef05376ec3c9137be3b118c622ba09b5770d26fdc525473f8d06d4ab9e46de2783dd0a + checksum: 07afc7df02141597968532bfbfa3f6c0ad21a2bdd885d0e5e035dcf60fdf35f0995631c9750b464e1a6f2feea14160a82787f914e88e8f7115dc99f09853e43e languageName: node linkType: hard @@ -1289,26 +1286,27 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-flow-strip-types@npm:7.23.3" +"@babel/plugin-transform-flow-strip-types@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" - "@babel/plugin-syntax-flow": "npm:^7.23.3" + "@babel/plugin-syntax-flow": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9ab627f9668fc1f95564b26bffd6706f86205960d9ccc168236752fbef65dbe10aa0ce74faae12f48bb3b72ec7f38ef2a78b4874c222c1e85754e981639f3b33 + checksum: 5949a8e5214e3fc65d31dab0551423cea9d9eef35faa5d0004707ba7347baf96166aa400907ce7498f754db4e1e9d039ca434a508546b0dc9fdae9a42e814c1a languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.22.15, @babel/plugin-transform-for-of@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-for-of@npm:7.23.3" +"@babel/plugin-transform-for-of@npm:^7.22.15, @babel/plugin-transform-for-of@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/plugin-transform-for-of@npm:7.23.6" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8a36202cfee312ba80e509c7c2131e6773524e572b4dc64a8ee95bd912634fdeb5ea91c6c7747ee30e03562d0f0d333f88ed7dbb929b36b60b8d74189189e12f + checksum: 46681b6ab10f3ca2d961f50d4096b62ab5d551e1adad84e64be1ee23e72eb2f26a1e30e617e853c74f1349fffe4af68d33921a128543b6f24b6d46c09a3e2aec languageName: node linkType: hard @@ -1383,7 +1381,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.2.0, @babel/plugin-transform-modules-commonjs@npm:^7.23.0, @babel/plugin-transform-modules-commonjs@npm:^7.23.3": +"@babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.23.0, @babel/plugin-transform-modules-commonjs@npm:^7.23.3": version: 7.23.3 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.3" dependencies: @@ -1470,13 +1468,13 @@ __metadata: linkType: hard "@babel/plugin-transform-object-assign@npm:^7.8.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-object-assign@npm:7.23.3" + version: 7.22.5 + resolution: "@babel/plugin-transform-object-assign@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 44467e8bd8eaae3fe54834dac9d1647d2b2598529a90722281832f6905d485c05e37b5fbd6fd7660c5d2e32e6f005824cda8a9321ddac2e2d619536fafc9783c + checksum: c80ca956ccc45c68a6f35e8aea80e08c0a653e4baf243727d4258f242d312d71be20e3fad35a1f2cd9d58b30dcbb5cdf5f8d6c6614a3f8c6079d90f9b1dadee6 languageName: node linkType: hard @@ -1603,24 +1601,24 @@ __metadata: linkType: hard "@babel/plugin-transform-react-jsx-self@npm:^7.18.6": - version: 7.23.3 - resolution: "@babel/plugin-transform-react-jsx-self@npm:7.23.3" + version: 7.22.5 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6b586508fc58998483d4ee93a7e784c4f4d2350e2633739cf1990b7ad172e13906f72382fdaf7f07b4e3c7e7555342634d392bdeb1a079bb64762c6368ca9a32 + checksum: 263091bdede1f448cb2c59b84eb69972c15d3f022c929a75337bd20d8b65551ac38cd26dad1946eaa93289643506b10ddaea3445a28cb8fca5a773a22a0df90b languageName: node linkType: hard "@babel/plugin-transform-react-jsx-source@npm:^7.19.6": - version: 7.23.3 - resolution: "@babel/plugin-transform-react-jsx-source@npm:7.23.3" + version: 7.22.5 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a3aad7cf738e9bfaddc26cdbb83bb9684c2e689d26fb0793d772af0c8da0cd25bb02523d192fbc6946c32143e56b472c1d33fa82466b3f2d3346e1ce8fe83cf6 + checksum: defc9debb76b4295e3617ef7795a0533dbbecef6f51bf5ba4bfc162df892a84fd39e14d5f1b9a5aad7b09b97074fef4c6756f9d2036eef5a9874acabe198f75a languageName: node linkType: hard @@ -1691,8 +1689,8 @@ __metadata: linkType: hard "@babel/plugin-transform-runtime@npm:^7.13.9, @babel/plugin-transform-runtime@npm:^7.23.2": - version: 7.23.4 - resolution: "@babel/plugin-transform-runtime@npm:7.23.4" + version: 7.23.6 + resolution: "@babel/plugin-transform-runtime@npm:7.23.6" dependencies: "@babel/helper-module-imports": "npm:^7.22.15" "@babel/helper-plugin-utils": "npm:^7.22.5" @@ -1702,7 +1700,7 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6ac29012550cdd10b65ec43fef0c7f43904ec458c43d597f627d8f52807413e57ea94e3986dbace576d734e67c2d09be5e43e77c72567d18f8c4ac5e19844625 + checksum: 94a7ee92f073df53fd8bebf9ed391a95553716077da1c6c3a57f10f042358c938495d55e6b09b4b50544c01f03560c4770c17698e1c24817a15d3668e8231249 languageName: node linkType: hard @@ -1924,11 +1922,11 @@ __metadata: linkType: hard "@babel/preset-env@npm:^7.16.5, @babel/preset-env@npm:^7.23.2": - version: 7.23.5 - resolution: "@babel/preset-env@npm:7.23.5" + version: 7.23.6 + resolution: "@babel/preset-env@npm:7.23.6" dependencies: "@babel/compat-data": "npm:^7.23.5" - "@babel/helper-compilation-targets": "npm:^7.22.15" + "@babel/helper-compilation-targets": "npm:^7.23.6" "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-validator-option": "npm:^7.23.5" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.23.3" @@ -1968,7 +1966,7 @@ __metadata: "@babel/plugin-transform-dynamic-import": "npm:^7.23.4" "@babel/plugin-transform-exponentiation-operator": "npm:^7.23.3" "@babel/plugin-transform-export-namespace-from": "npm:^7.23.4" - "@babel/plugin-transform-for-of": "npm:^7.23.3" + "@babel/plugin-transform-for-of": "npm:^7.23.6" "@babel/plugin-transform-function-name": "npm:^7.23.3" "@babel/plugin-transform-json-strings": "npm:^7.23.4" "@babel/plugin-transform-literals": "npm:^7.23.3" @@ -2009,20 +2007,20 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2a0e1274dec045186e131c6433659b75492583290e8d41633c616f6bff829cb2e4b2f9a57f556283a54db3bd6aa697911e56a36f607911a29b731c445a5b5a06 + checksum: 5b24d179af52f082d04b9b98cc4777e37bf31a97cef5a91d8917e996dbd75f2f743c88c40f80744cb8529355bb674619d150c0260c32d834aa4067e21d0c8962 languageName: node linkType: hard "@babel/preset-flow@npm:^7.13.13, @babel/preset-flow@npm:^7.22.15": - version: 7.23.3 - resolution: "@babel/preset-flow@npm:7.23.3" + version: 7.22.15 + resolution: "@babel/preset-flow@npm:7.22.15" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-validator-option": "npm:^7.22.15" - "@babel/plugin-transform-flow-strip-types": "npm:^7.23.3" + "@babel/plugin-transform-flow-strip-types": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1cf109925791f2af679f03289848d27596b4f27cb0ad4ee74a8dd4c1cbecc119bdef3b45cbbe12489bc9bdf61163f94c1c0bf6013cc58c325f1cc99edc01bda9 + checksum: 7eef0c84ec1889d6c4f7a67d7d1a81703420eed123a8c23f25af148eead77907f0bd701f3e729fdb37d3ddb2a373bf43938b36a9ba17f546111ddb9521466b92 languageName: node linkType: hard @@ -2093,12 +2091,12 @@ __metadata: linkType: hard "@babel/runtime-corejs3@npm:^7.10.2": - version: 7.23.5 - resolution: "@babel/runtime-corejs3@npm:7.23.5" + version: 7.23.1 + resolution: "@babel/runtime-corejs3@npm:7.23.1" dependencies: core-js-pure: "npm:^3.30.2" regenerator-runtime: "npm:^0.14.0" - checksum: 9bbad4ae7efea21e2c92ddee70b42ce9773a56e044cfc16267f9610b38ee531c87b465d84d39433fca93f7f567b47d5e40383e3d2cfe85dbeceea7fba8a52cc8 + checksum: 6e2c2b11779ff56c88b1f3a8742498640f7271ad4fcf9cfd24052bbb236a5e7c4c7c8d81cda751da3b4effa678736303deb78441c5752e63bfb90d6453fd870f languageName: node linkType: hard @@ -2129,12 +2127,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.14.8, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": - version: 7.23.5 - resolution: "@babel/runtime@npm:7.23.5" +"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.14.8, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": + version: 7.23.6 + resolution: "@babel/runtime@npm:7.23.6" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: ca679cc91bb7e424bc2db87bb58cc3b06ade916b9adb21fbbdc43e54cdaacb3eea201ceba2a0464b11d2eb65b9fe6a6ffcf4d7521fa52994f19be96f1af14788 + checksum: d886954e985ef8e421222f7a2848884d96a752e0020d3078b920dd104e672fdf23bcc6f51a44313a048796319f1ac9d09c2c88ec8cbb4e1f09174bcd3335b9ff languageName: node linkType: hard @@ -2147,7 +2145,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.3.3, @babel/template@npm:^7.7.0": +"@babel/template@npm:^7.22.15, @babel/template@npm:^7.7.0": version: 7.22.15 resolution: "@babel/template@npm:7.22.15" dependencies: @@ -2158,32 +2156,32 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.23.5, @babel/traverse@npm:^7.4.5, @babel/traverse@npm:^7.7.0": - version: 7.23.5 - resolution: "@babel/traverse@npm:7.23.5" +"@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.4.5, @babel/traverse@npm:^7.7.0": + version: 7.23.2 + resolution: "@babel/traverse@npm:7.23.2" dependencies: - "@babel/code-frame": "npm:^7.23.5" - "@babel/generator": "npm:^7.23.5" + "@babel/code-frame": "npm:^7.22.13" + "@babel/generator": "npm:^7.23.0" "@babel/helper-environment-visitor": "npm:^7.22.20" "@babel/helper-function-name": "npm:^7.23.0" "@babel/helper-hoist-variables": "npm:^7.22.5" "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.23.5" - "@babel/types": "npm:^7.23.5" + "@babel/parser": "npm:^7.23.0" + "@babel/types": "npm:^7.23.0" debug: "npm:^4.1.0" globals: "npm:^11.1.0" - checksum: c5ea793080ca6719b0a1612198fd25e361cee1f3c14142d7a518d2a1eeb5c1d21f7eec1b26c20ea6e1ddd8ed12ab50b960ff95ffd25be353b6b46e1b54d6f825 + checksum: d096c7c4bab9262a2f658298a3c630ae4a15a10755bb257ae91d5ab3e3b2877438934859c8d34018b7727379fe6b26c4fa2efc81cf4c462a7fe00caf79fa02ff languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.11.5, @babel/types@npm:^7.18.9, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.4, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.4, @babel/types@npm:^7.23.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.7.0, @babel/types@npm:^7.7.2, @babel/types@npm:^7.8.3, @babel/types@npm:^7.9.6": - version: 7.23.5 - resolution: "@babel/types@npm:7.23.5" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.11.5, @babel/types@npm:^7.18.9, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.4, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.3, @babel/types@npm:^7.23.4, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.7.0, @babel/types@npm:^7.7.2, @babel/types@npm:^7.8.3, @babel/types@npm:^7.9.6": + version: 7.23.6 + resolution: "@babel/types@npm:7.23.6" dependencies: "@babel/helper-string-parser": "npm:^7.23.4" "@babel/helper-validator-identifier": "npm:^7.22.20" to-fast-properties: "npm:^2.0.0" - checksum: 7dd5e2f59828ed046ad0b06b039df2524a8b728d204affb4fc08da2502b9dd3140b1356b5166515d229dc811539a8b70dcd4bc507e06d62a89f4091a38d0b0fb + checksum: 42cefce8a68bd09bb5828b4764aa5586c53c60128ac2ac012e23858e1c179347a4aac9c66fc577994fbf57595227611c5ec8270bf0cfc94ff033bbfac0550b70 languageName: node linkType: hard @@ -2201,13 +2199,13 @@ __metadata: languageName: node linkType: hard -"@chromaui/addon-visual-tests@npm:^0.0.114": - version: 0.0.114 - resolution: "@chromaui/addon-visual-tests@npm:0.0.114" +"@chromaui/addon-visual-tests@npm:^0.0.124": + version: 0.0.124 + resolution: "@chromaui/addon-visual-tests@npm:0.0.124" dependencies: "@storybook/design-system": "npm:^7.15.15" "@urql/exchange-auth": "npm:^2.1.6" - chromatic: "npm:^7.2.3" + chromatic: "npm:^9.0.0" date-fns: "npm:^2.30.0" filesize: "npm:^10.0.12" jsonfile: "npm:^6.1.0" @@ -2232,7 +2230,7 @@ __metadata: optional: true react-dom: optional: true - checksum: 786858de1712c2b807f2622da42176fe8f2ac9e05bd26afba662fabe179f78033d7dd9e23d71615554c92129b94314cf48fff977069008a15c033500261b7307 + checksum: d4ff22ca45c87f31e5799ed57e540c4669c917c099fe7284b945d2c49faccd4aec9c6d981dc33380c4c9b44e6e10942fdc0cdc29da63eb75346491da2ec346d8 languageName: node linkType: hard @@ -2378,7 +2376,7 @@ __metadata: languageName: node linkType: hard -"@emotion/cache@npm:^11.10.7, @emotion/cache@npm:^11.11.0": +"@emotion/cache@npm:^11.11.0": version: 11.11.0 resolution: "@emotion/cache@npm:11.11.0" dependencies: @@ -2391,16 +2389,6 @@ __metadata: languageName: node linkType: hard -"@emotion/css-prettifier@npm:^1.1.3": - version: 1.1.3 - resolution: "@emotion/css-prettifier@npm:1.1.3" - dependencies: - "@emotion/memoize": "npm:^0.8.1" - stylis: "npm:4.2.0" - checksum: 9ce3d7e5851054a24ca68cca4f6973de47d64567d03b6be730aa83f1cf9ae15e4da8c4611e68620e7b972f7a9fb7c36099fdf7e26b78589eb64f094fce46ce1b - languageName: node - linkType: hard - "@emotion/hash@npm:^0.9.1": version: 0.9.1 resolution: "@emotion/hash@npm:0.9.1" @@ -2408,7 +2396,7 @@ __metadata: languageName: node linkType: hard -"@emotion/is-prop-valid@npm:^1.2.0, @emotion/is-prop-valid@npm:^1.2.1": +"@emotion/is-prop-valid@npm:^1.2.1": version: 1.2.1 resolution: "@emotion/is-prop-valid@npm:1.2.1" dependencies: @@ -2417,27 +2405,6 @@ __metadata: languageName: node linkType: hard -"@emotion/jest@npm:^11.10.0": - version: 11.11.0 - resolution: "@emotion/jest@npm:11.11.0" - dependencies: - "@babel/runtime": "npm:^7.18.3" - "@emotion/css-prettifier": "npm:^1.1.3" - chalk: "npm:^4.1.0" - specificity: "npm:^0.4.1" - stylis: "npm:4.2.0" - peerDependencies: - "@types/jest": ^26.0.14 || ^27.0.0 || ^28.0.0 || ^29.0.0 - enzyme-to-json: ^3.2.1 - peerDependenciesMeta: - "@types/jest": - optional: true - enzyme-to-json: - optional: true - checksum: 919def636000234c4af8447a6cdf7f9675146bb020074fd06cf3c6eb42c365e727354ae79b2a7cdccb472d38da8ed8d6fd57f4235cab2e1b7605a2c6672a0fc5 - languageName: node - linkType: hard - "@emotion/memoize@npm:^0.8.1": version: 0.8.1 resolution: "@emotion/memoize@npm:0.8.1" @@ -2445,7 +2412,7 @@ __metadata: languageName: node linkType: hard -"@emotion/react@npm:^11.10.4": +"@emotion/react@npm:^11.11.1": version: 11.11.1 resolution: "@emotion/react@npm:11.11.1" dependencies: @@ -2486,7 +2453,7 @@ __metadata: languageName: node linkType: hard -"@emotion/styled@npm:^11.10.4": +"@emotion/styled@npm:^11.11.0": version: 11.11.0 resolution: "@emotion/styled@npm:11.11.0" dependencies: @@ -2702,15 +2669,15 @@ __metadata: linkType: hard "@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.6.1": - version: 4.10.0 - resolution: "@eslint-community/regexpp@npm:4.10.0" - checksum: c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4 + version: 4.9.1 + resolution: "@eslint-community/regexpp@npm:4.9.1" + checksum: d0e1bd1a37cb2cb6bbac88dfe97b62b412d4b6ea3a4bb1c4e1e503be03125063db5d80999cef9728f57b19b49979aa902ac68182bcf5f80dfce6fa9a9d34eee1 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.3": - version: 2.1.3 - resolution: "@eslint/eslintrc@npm:2.1.3" +"@eslint/eslintrc@npm:^2.1.2": + version: 2.1.2 + resolution: "@eslint/eslintrc@npm:2.1.2" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" @@ -2721,14 +2688,14 @@ __metadata: js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: f4103f4346126292eb15581c5a1d12bef03410fd3719dedbdb92e1f7031d46a5a2d60de8566790445d5d4b70b75ba050876799a11f5fff8265a91ee3fa77dab0 + checksum: 00efdc3797e6f05518060522b7788e5f5aff02f13facbd0c83b176c3dee86554023283a5f68542df379c5137685d2d29745c87f62bf2406a1d38d95471f44ce6 languageName: node linkType: hard -"@eslint/js@npm:8.54.0": - version: 8.54.0 - resolution: "@eslint/js@npm:8.54.0" - checksum: d61fb4a0be6af2d8cb290121c329697664a75d6255a29926d5454fb02aeb02b87112f67fdf218d10abac42f90c570ac366126751baefc5405d0e017ed0c946c5 +"@eslint/js@npm:8.50.0": + version: 8.50.0 + resolution: "@eslint/js@npm:8.50.0" + checksum: 92cb0a823869e85f287bd172f14a6a20d7d65c3f4db886a0356a9efebfe8fe519e9ead84a5687bd18f45eca417bdcce96e3b83fe3feae8baf0f8f44d14073bae languageName: node linkType: hard @@ -3204,14 +3171,14 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.13": - version: 0.11.13 - resolution: "@humanwhocodes/config-array@npm:0.11.13" +"@humanwhocodes/config-array@npm:^0.11.11": + version: 0.11.11 + resolution: "@humanwhocodes/config-array@npm:0.11.11" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.1" + "@humanwhocodes/object-schema": "npm:^1.2.1" debug: "npm:^4.1.1" minimatch: "npm:^3.0.5" - checksum: d76ca802d853366094d0e98ff0d0994117fc8eff96649cd357b15e469e428228f597cd2e929d54ab089051684949955f16ee905bb19f7b2f0446fb377157be7a + checksum: 4195f68e485f7d1a7c95cf0f126cc41f7223eeda2f1b46b893123c99b35bb76145c37d25e2ba452d54815ed69bb656c0ce9e343ffa984470c08afa6e82a4713f languageName: node linkType: hard @@ -3229,10 +3196,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.1": - version: 2.0.1 - resolution: "@humanwhocodes/object-schema@npm:2.0.1" - checksum: 9dba24e59fdb4041829d92b693aacb778add3b6f612aaa9c0774f3b650c11a378cc64f042a59da85c11dae33df456580a3c36837b953541aed6ff94294f97fac +"@humanwhocodes/object-schema@npm:^1.2.1": + version: 1.2.1 + resolution: "@humanwhocodes/object-schema@npm:1.2.1" + checksum: c3c35fdb70c04a569278351c75553e293ae339684ed75895edc79facc7276e351115786946658d78133130c0cca80e57e2203bc07f8fa7fe7980300e8deef7db languageName: node linkType: hard @@ -3283,70 +3250,6 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/console@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 7be408781d0a6f657e969cbec13b540c329671819c2f57acfad0dae9dbfe2c9be859f38fe99b35dba9ff1536937dc6ddc69fdcd2794812fa3c647a1619797f6c - languageName: node - linkType: hard - -"@jest/core@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/core@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/reporters": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-changed-files: "npm:^29.7.0" - jest-config: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-resolve-dependencies: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-ansi: "npm:^6.0.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 934f7bf73190f029ac0f96662c85cd276ec460d407baf6b0dbaec2872e157db4d55a7ee0b1c43b18874602f662b37cb973dda469a4e6d88b4e4845b521adeeb2 - languageName: node - linkType: hard - -"@jest/create-cache-key-function@npm:^27.4.2": - version: 27.5.1 - resolution: "@jest/create-cache-key-function@npm:27.5.1" - dependencies: - "@jest/types": "npm:^27.5.1" - checksum: 1890ac93fad852e0a98c31de1e5f2c548974aefd36e838d27b70834dda1654a153ed6a52258447ebacfd47463e9bdb83750631bee827797c7b9973c083998a96 - languageName: node - linkType: hard - "@jest/environment@npm:^29.7.0": version: 29.7.0 resolution: "@jest/environment@npm:29.7.0" @@ -3392,7 +3295,7 @@ __metadata: languageName: node linkType: hard -"@jest/globals@npm:^29.3.1, @jest/globals@npm:^29.5.0, @jest/globals@npm:^29.7.0": +"@jest/globals@npm:^29.3.1, @jest/globals@npm:^29.5.0": version: 29.7.0 resolution: "@jest/globals@npm:29.7.0" dependencies: @@ -3404,43 +3307,6 @@ __metadata: languageName: node linkType: hard -"@jest/reporters@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/reporters@npm:29.7.0" - dependencies: - "@bcoe/v8-coverage": "npm:^0.2.3" - "@jest/console": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - collect-v8-coverage: "npm:^1.0.0" - exit: "npm:^0.1.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - istanbul-lib-coverage: "npm:^3.0.0" - istanbul-lib-instrument: "npm:^6.0.0" - istanbul-lib-report: "npm:^3.0.0" - istanbul-lib-source-maps: "npm:^4.0.0" - istanbul-reports: "npm:^3.1.3" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - slash: "npm:^3.0.0" - string-length: "npm:^4.0.1" - strip-ansi: "npm:^6.0.0" - v8-to-istanbul: "npm:^9.0.1" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: a754402a799541c6e5aff2c8160562525e2a47e7d568f01ebfc4da66522de39cbb809bbb0a841c7052e4270d79214e70aec3c169e4eae42a03bc1a8a20cb9fa2 - languageName: node - linkType: hard - "@jest/schemas@npm:^28.1.3": version: 28.1.3 resolution: "@jest/schemas@npm:28.1.3" @@ -3459,41 +3325,6 @@ __metadata: languageName: node linkType: hard -"@jest/source-map@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/source-map@npm:29.6.3" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.18" - callsites: "npm:^3.0.0" - graceful-fs: "npm:^4.2.9" - checksum: a2f177081830a2e8ad3f2e29e20b63bd40bade294880b595acf2fc09ec74b6a9dd98f126a2baa2bf4941acd89b13a4ade5351b3885c224107083a0059b60a219 - languageName: node - linkType: hard - -"@jest/test-result@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-result@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - collect-v8-coverage: "npm:^1.0.0" - checksum: 7de54090e54a674ca173470b55dc1afdee994f2d70d185c80236003efd3fa2b753fff51ffcdda8e2890244c411fd2267529d42c4a50a8303755041ee493e6a04 - languageName: node - linkType: hard - -"@jest/test-sequencer@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-sequencer@npm:29.7.0" - dependencies: - "@jest/test-result": "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 593a8c4272797bb5628984486080cbf57aed09c7cfdc0a634e8c06c38c6bef329c46c0016e84555ee55d1cd1f381518cf1890990ff845524c1123720c8c1481b - languageName: node - linkType: hard - "@jest/transform@npm:^29.3.1, @jest/transform@npm:^29.7.0": version: 29.7.0 resolution: "@jest/transform@npm:29.7.0" @@ -3628,12 +3459,12 @@ __metadata: linkType: hard "@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.20 - resolution: "@jridgewell/trace-mapping@npm:0.3.20" + version: 0.3.19 + resolution: "@jridgewell/trace-mapping@npm:0.3.19" dependencies: "@jridgewell/resolve-uri": "npm:^3.1.0" "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 0ea0b2675cf513ec44dc25605616a3c9b808b9832e74b5b63c44260d66b58558bba65764f81928fc1033ead911f8718dca1134049c3e7a93937faf436671df31 + checksum: 845e6c6efca621b2b85e4d13fd25c319b6e4ab1ea78d4385ff6c0f78322ea0fcdfec8ac763aa4b56e8378c96d7bef101a2638c7a1a076f7d62f6376230c940a7 languageName: node linkType: hard @@ -3659,9 +3490,9 @@ __metadata: linkType: hard "@lit-labs/ssr-dom-shim@npm:^1.0.0, @lit-labs/ssr-dom-shim@npm:^1.1.0": - version: 1.1.2 - resolution: "@lit-labs/ssr-dom-shim@npm:1.1.2" - checksum: e51c7c156317ac95cac8d534d8608ac2a9dda7441f14f73e9e66a995d277851a90315324fe74690d1169a66dce645ed9674a8f5a9a467d183156de1c87549b23 + version: 1.1.1 + resolution: "@lit-labs/ssr-dom-shim@npm:1.1.1" + checksum: bc530a6d390a71e44a74f0d79ab78df0c3cf814f5a69e64c60271d626f4b871d0269c82f2b1bcaf9ef1a84f361f50a1fc70c790873cded769e8f0e4f1fa01ff8 languageName: node linkType: hard @@ -3706,72 +3537,72 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:14.0.3": - version: 14.0.3 - resolution: "@next/env@npm:14.0.3" - checksum: 8688367c22461a075b5406463d16c284cf58e6861418e974fbd5901721da73402988340f8dd72d8e2e41e32ae0b7f24f91bd49029ee6e63424361587165febc5 +"@next/env@npm:14.0.4": + version: 14.0.4 + resolution: "@next/env@npm:14.0.4" + checksum: 59b893d30aea0556379a24f6e4eac830677feb149bd8416b72383ea2600ce194fa22a79b2dd86e0b295c4a8f0702e461f48edaff1ac9173eddef42a4cce7fd98 languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:14.0.3": - version: 14.0.3 - resolution: "@next/swc-darwin-arm64@npm:14.0.3" +"@next/swc-darwin-arm64@npm:14.0.4": + version: 14.0.4 + resolution: "@next/swc-darwin-arm64@npm:14.0.4" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@next/swc-darwin-x64@npm:14.0.3": - version: 14.0.3 - resolution: "@next/swc-darwin-x64@npm:14.0.3" +"@next/swc-darwin-x64@npm:14.0.4": + version: 14.0.4 + resolution: "@next/swc-darwin-x64@npm:14.0.4" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:14.0.3": - version: 14.0.3 - resolution: "@next/swc-linux-arm64-gnu@npm:14.0.3" +"@next/swc-linux-arm64-gnu@npm:14.0.4": + version: 14.0.4 + resolution: "@next/swc-linux-arm64-gnu@npm:14.0.4" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:14.0.3": - version: 14.0.3 - resolution: "@next/swc-linux-arm64-musl@npm:14.0.3" +"@next/swc-linux-arm64-musl@npm:14.0.4": + version: 14.0.4 + resolution: "@next/swc-linux-arm64-musl@npm:14.0.4" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:14.0.3": - version: 14.0.3 - resolution: "@next/swc-linux-x64-gnu@npm:14.0.3" +"@next/swc-linux-x64-gnu@npm:14.0.4": + version: 14.0.4 + resolution: "@next/swc-linux-x64-gnu@npm:14.0.4" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:14.0.3": - version: 14.0.3 - resolution: "@next/swc-linux-x64-musl@npm:14.0.3" +"@next/swc-linux-x64-musl@npm:14.0.4": + version: 14.0.4 + resolution: "@next/swc-linux-x64-musl@npm:14.0.4" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:14.0.3": - version: 14.0.3 - resolution: "@next/swc-win32-arm64-msvc@npm:14.0.3" +"@next/swc-win32-arm64-msvc@npm:14.0.4": + version: 14.0.4 + resolution: "@next/swc-win32-arm64-msvc@npm:14.0.4" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@next/swc-win32-ia32-msvc@npm:14.0.3": - version: 14.0.3 - resolution: "@next/swc-win32-ia32-msvc@npm:14.0.3" +"@next/swc-win32-ia32-msvc@npm:14.0.4": + version: 14.0.4 + resolution: "@next/swc-win32-ia32-msvc@npm:14.0.4" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:14.0.3": - version: 14.0.3 - resolution: "@next/swc-win32-x64-msvc@npm:14.0.3" +"@next/swc-win32-x64-msvc@npm:14.0.4": + version: 14.0.4 + resolution: "@next/swc-win32-x64-msvc@npm:14.0.4" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -4561,6 +4392,97 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-android-arm-eabi@npm:4.9.1": + version: 4.9.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.9.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.9.1": + version: 4.9.1 + resolution: "@rollup/rollup-android-arm64@npm:4.9.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.9.1": + version: 4.9.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.9.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.9.1": + version: 4.9.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.9.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.9.1": + version: 4.9.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.9.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.9.1": + version: 4.9.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.9.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.9.1": + version: 4.9.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.9.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.9.1": + version: 4.9.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.9.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.9.1": + version: 4.9.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.9.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.9.1": + version: 4.9.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.9.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.9.1": + version: 4.9.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.9.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.9.1": + version: 4.9.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.9.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.9.1": + version: 4.9.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.9.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@schematics/angular@npm:17.0.5": version: 17.0.5 resolution: "@schematics/angular@npm:17.0.5" @@ -4833,9 +4755,6 @@ __metadata: ts-dedent: "npm:^2.0.0" typescript: "npm:^5.3.2" vite: "npm:^4.0.4" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: unknown linkType: soft @@ -4858,9 +4777,6 @@ __metadata: "@storybook/preview-api": "workspace:*" ts-dedent: "npm:^2.0.0" typescript: "npm:^5.3.2" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: unknown linkType: soft @@ -5075,6 +4991,7 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/angular@workspace:frameworks/angular" dependencies: + "@analogjs/vite-plugin-angular": "npm:^0.2.24" "@angular-devkit/architect": "npm:^0.1700.5" "@angular-devkit/build-angular": "npm:^17.0.5" "@angular-devkit/core": "npm:^17.0.5" @@ -5109,9 +5026,7 @@ __metadata: "@types/webpack-env": "npm:^1.18.0" cross-spawn: "npm:^7.0.3" find-up: "npm:^5.0.0" - jest: "npm:^29.7.0" - jest-preset-angular: "npm:^13.0.1" - jest-specific-snapshot: "npm:^8.0.0" + jsdom: "npm:^23.0.1" read-pkg-up: "npm:^7.0.1" semver: "npm:^7.3.7" telejson: "npm:^7.2.0" @@ -5221,14 +5136,12 @@ __metadata: "@storybook/manager": "workspace:*" "@storybook/node-logger": "workspace:*" "@types/ejs": "npm:^3.1.1" - "@types/find-cache-dir": "npm:^3.2.1" "@yarnpkg/esbuild-plugin-pnp": "npm:^3.0.0-rc.10" browser-assert: "npm:^1.2.1" ejs: "npm:^3.1.8" esbuild: "npm:^0.18.0" esbuild-plugin-alias: "npm:^0.2.1" express: "npm:^4.17.3" - find-cache-dir: "npm:^3.0.0" fs-extra: "npm:^11.1.0" process: "npm:^0.11.10" slash: "npm:^5.0.0" @@ -5403,12 +5316,12 @@ __metadata: languageName: unknown linkType: soft -"@storybook/client-logger@npm:7.6.3": - version: 7.6.3 - resolution: "@storybook/client-logger@npm:7.6.3" +"@storybook/client-logger@npm:7.5.0": + version: 7.5.0 + resolution: "@storybook/client-logger@npm:7.5.0" dependencies: "@storybook/global": "npm:^5.0.0" - checksum: e32a9932aa7ddc05a17540c2bea7faf613cfc927ef855db2e15dad1fbfb35173c3669f1aeab2a589f16f9dda6a761ee055b98b40700b522a984ec81675817cd1 + checksum: 90326c49a224bf21680c04ffee94725bf75658086093ccb839a8aae39476929c4719eafb18e498a148cf0dd956d4e9a5d3b2a34d09ca4fd25e2af553458558ac languageName: node linkType: hard @@ -5437,8 +5350,6 @@ __metadata: ansi-regex: "npm:^5.0.1" cross-spawn: "npm:^7.0.3" globby: "npm:^11.0.2" - jest: "npm:^29.7.0" - jest-specific-snapshot: "npm:^8.0.0" jscodeshift: "npm:^0.15.1" lodash: "npm:^4.17.21" mdast-util-mdx-jsx: "npm:^2.1.2" @@ -5574,8 +5485,6 @@ __metadata: fs-extra: "npm:^11.1.0" globby: "npm:^11.0.2" ip: "npm:^2.0.0" - jest-os-detection: "npm:^1.3.1" - jest-specific-snapshot: "npm:^8.0.0" lodash: "npm:^4.17.21" node-fetch: "npm:^3.3.1" open: "npm:^8.4.0" @@ -5703,7 +5612,6 @@ __metadata: assert: "npm:^2.1.0" babel-plugin-react-docgen: "npm:4.2.1" doctrine: "npm:^3.0.0" - jest-specific-snapshot: "npm:^8.0.0" lodash: "npm:^4.17.21" require-from-string: "npm:^2.0.2" typescript: "npm:^5.3.2" @@ -5883,6 +5791,7 @@ __metadata: "@storybook/types": "workspace:*" "@types/lodash": "npm:^4.14.167" "@types/qs": "npm:^6" + "@types/semver": "npm:^7.3.4" dequal: "npm:^2.0.2" flush-promises: "npm:^1.0.2" lodash: "npm:^4.17.21" @@ -5980,6 +5889,7 @@ __metadata: "@types/babel__preset-env": "npm:^7" "@types/loader-utils": "npm:^2.0.5" "@types/node": "npm:^18.0.0" + "@types/semver": "npm:^7.3.4" css-loader: "npm:^6.7.3" find-up: "npm:^5.0.0" fs-extra: "npm:^11.1.0" @@ -6085,6 +5995,7 @@ __metadata: "@storybook/types": "workspace:*" "@types/babel__core": "npm:^7.1.7" "@types/node": "npm:^18.0.0" + "@types/semver": "npm:^7.3.4" pnp-webpack-plugin: "npm:^1.7.0" semver: "npm:^7.3.5" typescript: "npm:^5.3.2" @@ -6168,7 +6079,6 @@ __metadata: "@storybook/server": "workspace:*" "@types/node": "npm:^18.0.0" fs-extra: "npm:^11.1.0" - jest-specific-snapshot: "npm:^8.0.0" safe-identifier: "npm:^0.4.1" ts-dedent: "npm:^2.0.0" typescript: "npm:^5.3.2" @@ -6334,7 +6244,6 @@ __metadata: "@storybook/preset-react-webpack": "workspace:*" "@storybook/react": "workspace:*" "@types/node": "npm:^18.0.0" - jest-specific-snapshot: "npm:^8.0.0" peerDependencies: "@babel/core": ^7.22.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -6370,7 +6279,6 @@ __metadata: escodegen: "npm:^2.1.0" expect-type: "npm:^0.15.0" html-tags: "npm:^3.1.0" - jest-specific-snapshot: "npm:^8.0.0" lodash: "npm:^4.17.21" prop-types: "npm:^15.7.2" react-element-to-jsx-string: "npm:^15.0.0" @@ -6397,9 +6305,7 @@ __metadata: "@babel/preset-react": "npm:^7.22.15" "@babel/preset-typescript": "npm:^7.23.2" "@babel/runtime": "npm:^7.23.2" - "@chromaui/addon-visual-tests": "npm:^0.0.114" - "@emotion/jest": "npm:^11.10.0" - "@jest/globals": "npm:^29.3.1" + "@chromaui/addon-visual-tests": "npm:^0.0.124" "@nx/workspace": "npm:17.0.2" "@playwright/test": "npm:1.36.0" "@storybook/addon-a11y": "workspace:*" @@ -6484,15 +6390,14 @@ __metadata: "@storybook/web-components-vite": "workspace:*" "@storybook/web-components-webpack5": "workspace:*" "@swc/core": "npm:1.3.82" - "@swc/jest": "npm:^0.2.26" "@testing-library/dom": "npm:^7.29.4" - "@testing-library/jest-dom": "npm:^5.11.9" + "@testing-library/jest-dom": "npm:^6.1.4" "@testing-library/react": "npm:^14.0.0" "@testing-library/user-event": "npm:^14.4.3" "@types/express": "npm:^4.17.11" "@types/fs-extra": "npm:^11.0.1" - "@types/jest-specific-snapshot": "npm:^0.5.6" "@types/lodash": "npm:^4.14.167" + "@types/mock-require": "npm:^2.0.3" "@types/node": "npm:^18.0.0" "@types/react": "npm:^18.0.37" "@types/react-dom": "npm:^18.0.11" @@ -6502,6 +6407,7 @@ __metadata: "@typescript-eslint/experimental-utils": "npm:^5.45.0" "@typescript-eslint/parser": "npm:^5.45.0" "@vitejs/plugin-react": "npm:^3.0.1" + "@vitest/coverage-v8": "npm:^1.0.1" babel-eslint: "npm:^10.1.0" babel-loader: "npm:^9.1.2" chromatic: "npm:7.1.0" @@ -6522,15 +6428,9 @@ __metadata: glob: "npm:^10.0.0" http-server: "npm:^14.1.1" husky: "npm:^4.3.7" - jest: "npm:^29.7.0" - jest-environment-jsdom: "npm:^29.5.0" - jest-junit: "npm:^16.0.0" - jest-os-detection: "npm:^1.3.1" - jest-serializer-html: "npm:^7.1.0" - jest-specific-snapshot: "npm:^8.0.0" - jest-watch-typeahead: "npm:^2.2.1" lint-staged: "npm:^13.2.2" lodash: "npm:^4.17.21" + mock-require: "npm:^3.0.3" node-gyp: "npm:^9.3.1" nx: "npm:17.0.2" prettier: "npm:2.8.0" @@ -6547,6 +6447,7 @@ __metadata: util: "npm:^0.12.4" vite: "npm:^4.0.0" vite-plugin-turbosnap: "npm:^1.0.1" + vitest: "npm:^1.0.1" wait-on: "npm:^7.0.1" dependenciesMeta: ejs: @@ -6622,7 +6523,6 @@ __metadata: "@storybook/csf": "npm:^0.1.2" "@storybook/types": "workspace:*" estraverse: "npm:^5.2.0" - jest-specific-snapshot: "npm:^8.0.0" lodash: "npm:^4.17.21" prettier: "npm:^2.8.0" typescript: "npm:^5.3.2" @@ -6679,8 +6579,9 @@ __metadata: "@storybook/global": "npm:^5.0.0" "@storybook/preview-api": "workspace:*" "@storybook/types": "workspace:*" + "@sveltejs/vite-plugin-svelte": "npm:^3.0.1" expect-type: "npm:^0.15.0" - svelte: "npm:^5.0.0-next.15" + svelte: "npm:^5.0.0-next.22" svelte-check: "npm:^3.6.1" sveltedoc-parser: "npm:^4.2.1" ts-dedent: "npm:^2.0.0" @@ -6704,7 +6605,7 @@ __metadata: vite: "npm:^4.0.0" peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.16 - vite: ^4.0.0 + vite: ^4.0.0 || ^5.0.0 languageName: unknown linkType: soft @@ -6760,17 +6661,17 @@ __metadata: linkType: hard "@storybook/theming@npm:^7.0.2": - version: 7.6.3 - resolution: "@storybook/theming@npm:7.6.3" + version: 7.5.0 + resolution: "@storybook/theming@npm:7.5.0" dependencies: "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.0" - "@storybook/client-logger": "npm:7.6.3" + "@storybook/client-logger": "npm:7.5.0" "@storybook/global": "npm:^5.0.0" memoizerific: "npm:^1.11.3" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 465b060d5aef79dddc69c71bd66d2c5bbe04d4204ca2d3e5a6eb21f79ad64e1bd54ed214e7a092800580d9261361227094d8c9b9fd5a3ee5051ddf3096ee01eb + checksum: 57da8e27c748cbec4dc1661cdd2d449949d97476d8e97933696b31d07c7361cbbcca8d7225cc00ca078daa160023b8965ddec7c23519ce0a4ef2658246b062e7 languageName: node linkType: hard @@ -6778,11 +6679,11 @@ __metadata: version: 0.0.0-use.local resolution: "@storybook/theming@workspace:lib/theming" dependencies: - "@emotion/cache": "npm:^11.10.7" - "@emotion/is-prop-valid": "npm:^1.2.0" - "@emotion/react": "npm:^11.10.4" - "@emotion/styled": "npm:^11.10.4" - "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.0" + "@emotion/cache": "npm:^11.11.0" + "@emotion/is-prop-valid": "npm:^1.2.1" + "@emotion/react": "npm:^11.11.1" + "@emotion/styled": "npm:^11.11.0" + "@emotion/use-insertion-effect-with-fallbacks": "npm:^1.0.1" "@storybook/client-logger": "workspace:*" "@storybook/global": "npm:^5.0.0" "@types/fs-extra": "npm:^11.0.1" @@ -6862,9 +6763,8 @@ __metadata: "@storybook/preview-api": "workspace:*" "@storybook/types": "workspace:*" "@types/prettier": "npm:2.7.2" + "@vitejs/plugin-vue": "npm:^4.4.0" "@vue/compiler-core": "npm:^3.3.4" - "@vue/vue3-jest": "npm:29" - babel-jest: "npm:^29.7.0" lodash: "npm:^4.17.21" ts-dedent: "npm:^2.0.0" type-fest: "npm:~2.19" @@ -6952,8 +6852,21 @@ __metadata: languageName: node linkType: hard -"@sveltejs/vite-plugin-svelte@npm:^2.4.2": - version: 2.5.3 +"@sveltejs/vite-plugin-svelte-inspector@npm:^2.0.0-next.0 || ^2.0.0": + version: 2.0.0 + resolution: "@sveltejs/vite-plugin-svelte-inspector@npm:2.0.0" + dependencies: + debug: "npm:^4.3.4" + peerDependencies: + "@sveltejs/vite-plugin-svelte": ^3.0.0 + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.0 + checksum: 7c3b8159b819485a54de726591bf89d53e641d6b3961ea2100b1908c6e68e08d887a07890d16daee9e63b4781c629469ef72d504351bc0d125b3720faf420920 + languageName: node + linkType: hard + +"@sveltejs/vite-plugin-svelte@npm:^2.4.2": + version: 2.5.3 resolution: "@sveltejs/vite-plugin-svelte@npm:2.5.3" dependencies: "@sveltejs/vite-plugin-svelte-inspector": "npm:^1.0.4" @@ -6970,6 +6883,24 @@ __metadata: languageName: node linkType: hard +"@sveltejs/vite-plugin-svelte@npm:^3.0.1": + version: 3.0.1 + resolution: "@sveltejs/vite-plugin-svelte@npm:3.0.1" + dependencies: + "@sveltejs/vite-plugin-svelte-inspector": "npm:^2.0.0-next.0 || ^2.0.0" + debug: "npm:^4.3.4" + deepmerge: "npm:^4.3.1" + kleur: "npm:^4.1.5" + magic-string: "npm:^0.30.5" + svelte-hmr: "npm:^0.15.3" + vitefu: "npm:^0.2.5" + peerDependencies: + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.0 + checksum: 889d41014d4cc5dfb578cb0a80e64f72c0f8c143e9a299c3a4e2372fd582d982ce118dad5e158e0b747d1df7354a909ed9490b1adcd1bf982b56c82fffd4652c + languageName: node + linkType: hard + "@swc/core-darwin-arm64@npm:1.3.100": version: 1.3.100 resolution: "@swc/core-darwin-arm64@npm:1.3.100" @@ -7207,18 +7138,6 @@ __metadata: languageName: node linkType: hard -"@swc/jest@npm:^0.2.26": - version: 0.2.29 - resolution: "@swc/jest@npm:0.2.29" - dependencies: - "@jest/create-cache-key-function": "npm:^27.4.2" - jsonc-parser: "npm:^3.2.0" - peerDependencies: - "@swc/core": "*" - checksum: 10f34341f9bc8003cec44f91a88b531ba44094aad97b2f8410fb2f94db9eb3b8fc7f6d14ba867eb9c1dc6ba29cc46058244b8280d673a7c681062fe0dc73c3f0 - languageName: node - linkType: hard - "@swc/types@npm:^0.1.4, @swc/types@npm:^0.1.5": version: 0.1.5 resolution: "@swc/types@npm:0.1.5" @@ -7267,24 +7186,7 @@ __metadata: languageName: node linkType: hard -"@testing-library/jest-dom@npm:^5.11.9": - version: 5.17.0 - resolution: "@testing-library/jest-dom@npm:5.17.0" - dependencies: - "@adobe/css-tools": "npm:^4.0.1" - "@babel/runtime": "npm:^7.9.2" - "@types/testing-library__jest-dom": "npm:^5.9.1" - aria-query: "npm:^5.0.0" - chalk: "npm:^3.0.0" - css.escape: "npm:^1.5.1" - dom-accessibility-api: "npm:^0.5.6" - lodash: "npm:^4.17.15" - redent: "npm:^3.0.0" - checksum: 24e09c5779ea44644945ec26f2e4e5f48aecfe57d469decf2317a3253a5db28d865c55ad0ea4818d8d1df7572a6486c45daa06fa09644a833a7dd84563881939 - languageName: node - linkType: hard - -"@testing-library/jest-dom@npm:^6.1.2, @testing-library/jest-dom@npm:^6.1.3": +"@testing-library/jest-dom@npm:^6.1.2, @testing-library/jest-dom@npm:^6.1.3, @testing-library/jest-dom@npm:^6.1.4": version: 6.1.5 resolution: "@testing-library/jest-dom@npm:6.1.5" dependencies: @@ -7428,13 +7330,13 @@ __metadata: linkType: hard "@types/aria-query@npm:^5.0.1": - version: 5.0.4 - resolution: "@types/aria-query@npm:5.0.4" - checksum: dc667bc6a3acc7bba2bccf8c23d56cb1f2f4defaa704cfef595437107efaa972d3b3db9ec1d66bc2711bfc35086821edd32c302bffab36f2e79b97f312069f08 + version: 5.0.2 + resolution: "@types/aria-query@npm:5.0.2" + checksum: 74579b9e3f7f5042e8a05ab103dd652e724a556a5700fab778c76c53729635b73da5d242143df1fb9447e607f904cbd81871dd2b876f0974831a794165287b20 languageName: node linkType: hard -"@types/babel__core@npm:^7, @types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.1.7, @types/babel__core@npm:^7.18.0": +"@types/babel__core@npm:^7, @types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.7, @types/babel__core@npm:^7.18.0": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" dependencies: @@ -7448,11 +7350,11 @@ __metadata: linkType: hard "@types/babel__generator@npm:*": - version: 7.6.7 - resolution: "@types/babel__generator@npm:7.6.7" + version: 7.6.6 + resolution: "@types/babel__generator@npm:7.6.6" dependencies: "@babel/types": "npm:^7.0.0" - checksum: 2427203864ef231857e102eeb32b731a419164863983119cdd4dac9f1503c2831eb4262d05ade95d4574aa410b94c16e54e36a616758452f685a34881f4596d9 + checksum: 214d8b170e0eb04282d0e9dfda2c27116f64751729479786c2bf1b7ec22a5e9e5bbeb70585f047b0fd580d7d8948dc2108223c5a16e998d9674de0582d4e23d7 languageName: node linkType: hard @@ -7471,40 +7373,40 @@ __metadata: linkType: hard "@types/babel__template@npm:*": - version: 7.4.4 - resolution: "@types/babel__template@npm:7.4.4" + version: 7.4.3 + resolution: "@types/babel__template@npm:7.4.3" dependencies: "@babel/parser": "npm:^7.1.0" "@babel/types": "npm:^7.0.0" - checksum: cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b + checksum: f989bd918e1ebfcc6e68c72a3818b7518049673c4e7ba31b11c10d5d3064261c534f3d2f3097f82f80d5fc58f56f3633c21ddf0332552a926a488c105d042c45 languageName: node linkType: hard -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6, @types/babel__traverse@npm:^7.18.0": - version: 7.20.4 - resolution: "@types/babel__traverse@npm:7.20.4" +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.18.0": + version: 7.20.3 + resolution: "@types/babel__traverse@npm:7.20.3" dependencies: "@babel/types": "npm:^7.20.7" - checksum: e76cb4974c7740fd61311152dc497e7b05c1c46ba554aab875544ab0a7457f343cafcad34ba8fb2ff543ab0e012ef2d3fa0c13f1a4e9a4cd9c4c703c7a2a8d62 + checksum: 295ed9b837e62e17ee43be0df45d90fff5208986bd43af593c9020d152d3b2c55328e038c2f8585926b63cc22f887f28bf3f4c805aa881e2dd0bdd5ead92ece0 languageName: node linkType: hard "@types/body-parser@npm:*": - version: 1.19.5 - resolution: "@types/body-parser@npm:1.19.5" + version: 1.19.3 + resolution: "@types/body-parser@npm:1.19.3" dependencies: "@types/connect": "npm:*" "@types/node": "npm:*" - checksum: aebeb200f25e8818d8cf39cd0209026750d77c9b85381cdd8deeb50913e4d18a1ebe4b74ca9b0b4d21952511eeaba5e9fbbf739b52731a2061e206ec60d568df + checksum: d35f76406232ee68b02b4b37b4b63cce26329f4302f55c19d5f4fd346f5b7df0994af486331849c4992567d83ded10f5beb3e200280c2142f53e0424f1565082 languageName: node linkType: hard "@types/bonjour@npm:^3.5.9": - version: 3.5.13 - resolution: "@types/bonjour@npm:3.5.13" + version: 3.5.11 + resolution: "@types/bonjour@npm:3.5.11" dependencies: "@types/node": "npm:*" - checksum: eebedbca185ac3c39dd5992ef18d9e2a9f99e7f3c2f52f5561f90e9ed482c5d224c7962db95362712f580ed5713264e777a98d8f0bd8747f4eadf62937baed16 + checksum: 963b8260708186981b6fc75fcdbf1ab95bd83ec0472c1b9649c635bdf260d2af94c2930c1a08f97c9d6e370a14737a697e05e10796f29c2a8d81f7f0a80a8ed0 languageName: node linkType: hard @@ -7537,9 +7439,9 @@ __metadata: linkType: hard "@types/color-name@npm:*": - version: 1.1.3 - resolution: "@types/color-name@npm:1.1.3" - checksum: caea7b6446623acdbf38138a8d4416b0363314784d82b13f3e3fa29f2070bc5630f674f2c953edac5f1c9710f3302328abf912b32de5b6e799d3bdb149269fbc + version: 1.1.1 + resolution: "@types/color-name@npm:1.1.1" + checksum: 2abeac8d8d833e0622c66f21487cc8b522792abb2eff2e40df0e3e53261728cb65bab590edf24953eb8d8653ec88044dc801d9a4e58c489a0f10c025de522868 languageName: node linkType: hard @@ -7553,21 +7455,21 @@ __metadata: linkType: hard "@types/connect-history-api-fallback@npm:^1.3.5": - version: 1.5.4 - resolution: "@types/connect-history-api-fallback@npm:1.5.4" + version: 1.5.1 + resolution: "@types/connect-history-api-fallback@npm:1.5.1" dependencies: "@types/express-serve-static-core": "npm:*" "@types/node": "npm:*" - checksum: 1b4035b627dcd714b05a22557f942e24a57ca48e7377dde0d2f86313fe685bc0a6566512a73257a55b5665b96c3041fb29228ac93331d8133011716215de8244 + checksum: 306e19429a404625ea8bee2043e67b1222ccf46cf25846d580074519bfead6839f38fe8c710e45ea66e3e39b4ed0ebe8d0e506098d31ce078711bc94fae990f2 languageName: node linkType: hard "@types/connect@npm:*": - version: 3.4.38 - resolution: "@types/connect@npm:3.4.38" + version: 3.4.36 + resolution: "@types/connect@npm:3.4.36" dependencies: "@types/node": "npm:*" - checksum: 2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c + checksum: 0dd8fcf576e178e69cbc00d47be69d3198dca4d86734a00fc55de0df147982e0a5f34592117571c5979e92ce8f3e0596e31aa454496db8a43ab90c5ab1068f40 languageName: node linkType: hard @@ -7597,11 +7499,11 @@ __metadata: linkType: hard "@types/debug@npm:^4.0.0": - version: 4.1.12 - resolution: "@types/debug@npm:4.1.12" + version: 4.1.9 + resolution: "@types/debug@npm:4.1.9" dependencies: "@types/ms": "npm:*" - checksum: 5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f + checksum: 8b550c47c70cc1af9a58e5c572f2418f30bface5bf5d5afa0d938923978f40be4c55646f1ab260f6f1492ca6ab065d447de23cb3b30d7b38597c2cbf89f4cb21 languageName: node linkType: hard @@ -7634,9 +7536,9 @@ __metadata: linkType: hard "@types/emscripten@npm:^1.39.6": - version: 1.39.10 - resolution: "@types/emscripten@npm:1.39.10" - checksum: c9adde9307d54efb5152931bfe99966fbe12fbd4d07663fb5cdc4cc1bd3a1f030882d50d4a27875b7b2d9713d160609e67b72e92177a021c9f4699ee5ac41035 + version: 1.39.8 + resolution: "@types/emscripten@npm:1.39.8" + checksum: a2cc8ddb734b0cbead13c9d4b7733da07655529bdfbcd8a858067bd6b97f2b622935526a6d6ee5c9c5495d50854d608e34ad9a4e09700858d7b9418799e33197 languageName: node linkType: hard @@ -7648,38 +7550,38 @@ __metadata: linkType: hard "@types/eslint-scope@npm:^3.7.3": - version: 3.7.7 - resolution: "@types/eslint-scope@npm:3.7.7" + version: 3.7.5 + resolution: "@types/eslint-scope@npm:3.7.5" dependencies: "@types/eslint": "npm:*" "@types/estree": "npm:*" - checksum: a0ecbdf2f03912679440550817ff77ef39a30fa8bfdacaf6372b88b1f931828aec392f52283240f0d648cf3055c5ddc564544a626bcf245f3d09fcb099ebe3cc + checksum: 9ade676030067a14d34acb4a48362bcf16632e867d059e734cf082e0523362415ed698e3776f8fad7e346019078d63a5264992b33054182607ce20ad9eaeec80 languageName: node linkType: hard "@types/eslint@npm:*": - version: 8.44.8 - resolution: "@types/eslint@npm:8.44.8" + version: 8.44.3 + resolution: "@types/eslint@npm:8.44.3" dependencies: "@types/estree": "npm:*" "@types/json-schema": "npm:*" - checksum: 610966753add984f6ac9f00eeb766691e141e66a7e20b724a45ad077f60e8cd8fd7874b7e655e93537e54873cc5711cd6f57728474e08b478407cd942f098263 + checksum: d9d681efe461ec8934800a89773be251a200c9d4528ca2330bb99f4ca3bd6b2d053034d2b5fe645a1567331af2c89e364aed4be8c839f10a1028a3cbe2856b01 languageName: node linkType: hard "@types/estree-jsx@npm:^1.0.0": - version: 1.0.3 - resolution: "@types/estree-jsx@npm:1.0.3" + version: 1.0.1 + resolution: "@types/estree-jsx@npm:1.0.1" dependencies: "@types/estree": "npm:*" - checksum: 41742a7b0874f63e61396d87a46d3ca531850a0e2cd7cec304339b8df439b6371d5e8758f34de9b5d9e940486ea21305b2f74cb420754838ecdfdaba918afc66 + checksum: 3aa4d648ba3ddffa73eff63904a4ef7f78fc78c2fc22ad0ef80908e7e5839e4622dc8d8dc46708b07a6e732e72692cf234db63650c3ca608cc5b41c3e81f37a2 languageName: node linkType: hard "@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.1": - version: 1.0.5 - resolution: "@types/estree@npm:1.0.5" - checksum: b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d + version: 1.0.2 + resolution: "@types/estree@npm:1.0.2" + checksum: 4b5c601d435ea8e2205458de15fd1556b5ae6c9a8323bad8a940ea502d6c824664faca94234c0bf76bf9c87cbf6ac41abee550c9e20433256549d589c9b543bd languageName: node linkType: hard @@ -7691,14 +7593,14 @@ __metadata: linkType: hard "@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.33": - version: 4.17.41 - resolution: "@types/express-serve-static-core@npm:4.17.41" + version: 4.17.37 + resolution: "@types/express-serve-static-core@npm:4.17.37" dependencies: "@types/node": "npm:*" "@types/qs": "npm:*" "@types/range-parser": "npm:*" "@types/send": "npm:*" - checksum: dc166cbf4475c00a81fbcab120bf7477c527184be11ae149df7f26d9c1082114c68f8d387a2926fe80291b06477c8bbd9231ff4f5775de328e887695aefce269 + checksum: 45487318802d9c44aac4323b9f5b33c24bb37c0258a5984c8ffe2b57f1bfc5b8ebbdc47149d6ce1b9e47e39b6cc4d1ef4468903a339990bfb8eac7995392f19f languageName: node linkType: hard @@ -7770,30 +7672,30 @@ __metadata: linkType: hard "@types/graceful-fs@npm:^4.1.3": - version: 4.1.9 - resolution: "@types/graceful-fs@npm:4.1.9" + version: 4.1.7 + resolution: "@types/graceful-fs@npm:4.1.7" dependencies: "@types/node": "npm:*" - checksum: 235d2fc69741448e853333b7c3d1180a966dd2b8972c8cbcd6b2a0c6cd7f8d582ab2b8e58219dbc62cce8f1b40aa317ff78ea2201cdd8249da5025adebed6f0b + checksum: a8c04a250cb40207b15097b33c053f5ecf4352f5107c0a2635f674dae8c9a90b28dc9bd6e28307d5aab0b5d3853e713de42110a149a6e303626915047134e87d languageName: node linkType: hard "@types/hast@npm:^2.0.0": - version: 2.3.8 - resolution: "@types/hast@npm:2.3.8" + version: 2.3.6 + resolution: "@types/hast@npm:2.3.6" dependencies: "@types/unist": "npm:^2" - checksum: 0b358a65135922df8465f5daabed08602afc9098cf9065439f2fa46a5757d1630c88c4ad208b9ff0114bed95d468a75eeed49a099615096a9ad3bb1a85d8a3a1 + checksum: e44fa492f9ae8a0e499a738b598fc50c6cfa8131f2758ed98f292fbe67e37f4e85edb1aa53b27450bdafcf4e52c1a9660df0478914199c058193d9cffdc7d93c languageName: node linkType: hard "@types/hoist-non-react-statics@npm:^3.3.1": - version: 3.3.5 - resolution: "@types/hoist-non-react-statics@npm:3.3.5" + version: 3.3.2 + resolution: "@types/hoist-non-react-statics@npm:3.3.2" dependencies: "@types/react": "npm:*" hoist-non-react-statics: "npm:^3.3.0" - checksum: 2a3b64bf3d9817d7830afa60ee314493c475fb09570a64e7737084cd482d2177ebdddf888ce837350bac51741278b077683facc9541f052d4bbe8487b4e3e618 + checksum: 2aaff564e7674b0b7389592f30e4681919a0a71986bc5d8c5ef67d9b5b3b46913920f5002a96fd37d8904fe5c0cc1e4cc5c92884c847b2f4a74cb30d841494d4 languageName: node linkType: hard @@ -7805,25 +7707,25 @@ __metadata: linkType: hard "@types/http-cache-semantics@npm:*": - version: 4.0.4 - resolution: "@types/http-cache-semantics@npm:4.0.4" - checksum: 51b72568b4b2863e0fe8d6ce8aad72a784b7510d72dc866215642da51d84945a9459fa89f49ec48f1e9a1752e6a78e85a4cda0ded06b1c73e727610c925f9ce6 + version: 4.0.2 + resolution: "@types/http-cache-semantics@npm:4.0.2" + checksum: 975258beba5a6ce446b67f9bf905385d8d44cecad54d839208e86018b0fe4a517c62ec7a169ec64ed454363628def75446fa09d99755f3797f213b596477fe97 languageName: node linkType: hard "@types/http-errors@npm:*": - version: 2.0.4 - resolution: "@types/http-errors@npm:2.0.4" - checksum: 494670a57ad4062fee6c575047ad5782506dd35a6b9ed3894cea65830a94367bd84ba302eb3dde331871f6d70ca287bfedb1b2cf658e6132cd2cbd427ab56836 + version: 2.0.2 + resolution: "@types/http-errors@npm:2.0.2" + checksum: ecedc65091baf7c83e0e61e7d1992112e0fa09461d69004747f55c80b801b796bdb60161e54efdac8a720b5f78a54720b0cabde3ae7094103a552d5c189222ce languageName: node linkType: hard "@types/http-proxy@npm:^1.17.8": - version: 1.17.14 - resolution: "@types/http-proxy@npm:1.17.14" + version: 1.17.12 + resolution: "@types/http-proxy@npm:1.17.12" dependencies: "@types/node": "npm:*" - checksum: c4bffd87be9aff7e879c05bd2c28716220e0eb39788e3f8d314eee665324ad8f5f0919041cbd710254d553cd9cea023f8b776d4b1ec31d2188eac60af18c3022 + checksum: 06719371ece6bdf9fd28b90b03bd56e48ffca675dfaadca81ae12ca18db6e77e70a509537ebfa3b2c37810d77dc52e5a3190c09bc490668dde7e384c7b579090 languageName: node linkType: hard @@ -7837,46 +7739,27 @@ __metadata: linkType: hard "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.6 - resolution: "@types/istanbul-lib-coverage@npm:2.0.6" - checksum: 3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 + version: 2.0.4 + resolution: "@types/istanbul-lib-coverage@npm:2.0.4" + checksum: af5f6b64e788331ed3f7b2e2613cb6ca659c58b8500be94bbda8c995ad3da9216c006f1cfe6f66b321c39392b1bda18b16e63cef090a77d24a00b4bd5ba3b018 languageName: node linkType: hard "@types/istanbul-lib-report@npm:*": - version: 3.0.3 - resolution: "@types/istanbul-lib-report@npm:3.0.3" + version: 3.0.1 + resolution: "@types/istanbul-lib-report@npm:3.0.1" dependencies: "@types/istanbul-lib-coverage": "npm:*" - checksum: 247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c + checksum: a2a002ee7ecd9079a2c06235d28d1bc77089c3d834eec7e6dac38986203634936f2a017812624acfbedabec4bddd933942f14ac93eba2dc57f581ad4f35bbf1d languageName: node linkType: hard "@types/istanbul-reports@npm:^3.0.0": - version: 3.0.4 - resolution: "@types/istanbul-reports@npm:3.0.4" + version: 3.0.2 + resolution: "@types/istanbul-reports@npm:3.0.2" dependencies: "@types/istanbul-lib-report": "npm:*" - checksum: 1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee - languageName: node - linkType: hard - -"@types/jest-specific-snapshot@npm:^0.5.6": - version: 0.5.9 - resolution: "@types/jest-specific-snapshot@npm:0.5.9" - dependencies: - "@types/jest": "npm:*" - checksum: b987c7951532aa6399ef043468c2c4fae6345c1434261f03b2c501c91581f997569aafed56c67c6cc77ac7d907db003d05ae4314e6b43f6d137ea539d83484d5 - languageName: node - linkType: hard - -"@types/jest@npm:*": - version: 29.5.10 - resolution: "@types/jest@npm:29.5.10" - dependencies: - expect: "npm:^29.0.0" - pretty-format: "npm:^29.0.0" - checksum: b46171d59d12a5f69bbe710f65eaf59a8073337c6b4a67dff8158575caec53f1c61f8a7d645b34d6ac3c4ea398acd30f0c5d1c4a131c0c918798019264a3397d + checksum: df6c9e6865006be06bae29f63d5240b96bc7041b18a8c6d66be5b5d92ef5c95675c7a605a603029065f4f8aece7dba7360349e9d0543f512417e64a707a3c4fa languageName: node linkType: hard @@ -7907,21 +7790,10 @@ __metadata: languageName: node linkType: hard -"@types/jsdom@npm:^20.0.0": - version: 20.0.1 - resolution: "@types/jsdom@npm:20.0.1" - dependencies: - "@types/node": "npm:*" - "@types/tough-cookie": "npm:*" - parse5: "npm:^7.0.0" - checksum: 3d4b2a3eab145674ee6da482607c5e48977869109f0f62560bf91ae1a792c9e847ac7c6aaf243ed2e97333cb3c51aef314ffa54a19ef174b8f9592dfcb836b25 - languageName: node - linkType: hard - "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": - version: 7.0.15 - resolution: "@types/json-schema@npm:7.0.15" - checksum: a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + version: 7.0.13 + resolution: "@types/json-schema@npm:7.0.13" + checksum: 446fe6722899333ff647b5853fdcc9f039156d56abe517166154d3578d641841cc869f61e8b7822c24a1daeb7dfbd4fdcea84bf07c0858e2f9cca415e2ca8dd4 languageName: node linkType: hard @@ -7933,11 +7805,11 @@ __metadata: linkType: hard "@types/jsonfile@npm:*": - version: 6.1.4 - resolution: "@types/jsonfile@npm:6.1.4" + version: 6.1.2 + resolution: "@types/jsonfile@npm:6.1.2" dependencies: "@types/node": "npm:*" - checksum: b12d068b021e4078f6ac4441353965769be87acf15326173e2aea9f3bf8ead41bd0ad29421df5bbeb0123ec3fc02eb0a734481d52903704a1454a1845896b9eb + checksum: c2943f9bfa7867b33fb362b88a932efdc00e9e5f2762b6ef912617cb0a3e3221a98920f8976a4cf817aa576e03d28a25391236e9644e2ebe648081b08df62ef5 languageName: node linkType: hard @@ -7968,32 +7840,32 @@ __metadata: linkType: hard "@types/mdast@npm:^3.0.0": - version: 3.0.15 - resolution: "@types/mdast@npm:3.0.15" + version: 3.0.13 + resolution: "@types/mdast@npm:3.0.13" dependencies: "@types/unist": "npm:^2" - checksum: fcbf716c03d1ed5465deca60862e9691414f9c43597c288c7d2aefbe274552e1bbd7aeee91b88a02597e88a28c139c57863d0126fcf8416a95fdc681d054ee3d + checksum: b328d1622075a67db1d8eac78dcbd55aefb4adaf63206b58abfce902c0ce5232a2674bd0bf961696c9a3765d5fcf145378ce03075bd1690a25adc617650f1228 languageName: node linkType: hard "@types/mdx@npm:^2.0.0": - version: 2.0.10 - resolution: "@types/mdx@npm:2.0.10" - checksum: a2a5d71967c44c650e883eaaeb61db9c0758b9c1d675e04b7a3cfeeaee6efd5044dc9c78d780aa3fe408a2f85680bf3b723c92a1772bb6c2da35ef346d766de2 + version: 2.0.8 + resolution: "@types/mdx@npm:2.0.8" + checksum: 6ee0e54d886afcbc2547f1db73ac9de60603ce26592e21f5fff2ba2791f6c58d3eb7b849add8f6b8b9c10f7c8ff3855d29fe7122f532f2f64fce95fe5b8e23ef languageName: node linkType: hard "@types/mime@npm:*": - version: 3.0.4 - resolution: "@types/mime@npm:3.0.4" - checksum: db478bc0f99e40f7b3e01d356a9bdf7817060808a294978111340317bcd80ca35382855578c5b60fbc84ae449674bd9bb38427b18417e1f8f19e4f72f8b242cd + version: 3.0.2 + resolution: "@types/mime@npm:3.0.2" + checksum: 7eef33033d9990881626611ef87d0dbb06ebff96a7ee09303874389eb482acd0fbf20fe2dc96edb861095e42e6c18d5df8476840131f9c06c57be6f1c1dc77fe languageName: node linkType: hard "@types/mime@npm:^1": - version: 1.3.5 - resolution: "@types/mime@npm:1.3.5" - checksum: c2ee31cd9b993804df33a694d5aa3fa536511a49f2e06eeab0b484fef59b4483777dbb9e42a4198a0809ffbf698081fdbca1e5c2218b82b91603dfab10a10fbc + version: 1.3.3 + resolution: "@types/mime@npm:1.3.3" + checksum: 56c9981b637154721753d38888c2cba85f8891a16e0f1cb1286dcbd741b220ff56d99aa2be03bf7fe88b188a27e32bf1d92976dafd6574b8f345bbf0853d462c languageName: node linkType: hard @@ -8020,10 +7892,19 @@ __metadata: languageName: node linkType: hard +"@types/mock-require@npm:^2.0.3": + version: 2.0.3 + resolution: "@types/mock-require@npm:2.0.3" + dependencies: + "@types/node": "npm:*" + checksum: 44552580cb933ed4739fe1faab9c84272879624313c112fd0afbc85bd1d05fabdd0cac68f5869911c27e028909e17af4ebe8c6604c46f7fb7b618f6834649683 + languageName: node + linkType: hard + "@types/ms@npm:*": - version: 0.7.34 - resolution: "@types/ms@npm:0.7.34" - checksum: ac80bd90012116ceb2d188fde62d96830ca847823e8ca71255616bc73991aa7d9f057b8bfab79e8ee44ffefb031ddd1bcce63ea82f9e66f7c31ec02d2d823ccc + version: 0.7.32 + resolution: "@types/ms@npm:0.7.32" + checksum: 16f60d0a2485edfa459e9570aec9135d9ef08dd855630754063f3baf1d1df7a5edd0f249ff9b460a33842181250f51b27b35078b83cf6ec1dccabb4485de19d6 languageName: node linkType: hard @@ -8037,25 +7918,7 @@ __metadata: languageName: node linkType: hard -"@types/node-forge@npm:^1.3.0": - version: 1.3.10 - resolution: "@types/node-forge@npm:1.3.10" - dependencies: - "@types/node": "npm:*" - checksum: b190e93e36e3bf5881e099df930645bbeb963c1cabb110948f90e11f5f59a2514d5632e6bd1101dfb839725eab25a8e2eba4a2b1b7551f12bc43302863e050ae - languageName: node - linkType: hard - -"@types/node@npm:*, @types/node@npm:>= 8": - version: 20.10.1 - resolution: "@types/node@npm:20.10.1" - dependencies: - undici-types: "npm:~5.26.4" - checksum: c1b4b5a33f57bd39a8a0d074f27e3e370fccc6cda6a1c46caa48cc4c1687677cfdbffd9dc93fc803c6d355696dd9c73cd6f6507c749f61f83beb7326aec077d2 - languageName: node - linkType: hard - -"@types/node@npm:>=10.0.0": +"@types/node@npm:*, @types/node@npm:>= 8, @types/node@npm:>=10.0.0": version: 20.10.3 resolution: "@types/node@npm:20.10.3" dependencies: @@ -8065,18 +7928,18 @@ __metadata: linkType: hard "@types/node@npm:^18.0.0": - version: 18.19.0 - resolution: "@types/node@npm:18.19.0" + version: 18.19.3 + resolution: "@types/node@npm:18.19.3" dependencies: undici-types: "npm:~5.26.4" - checksum: 3205c61d4152487cd8961ef73cfe57a2c90217439ae985cdf587117cf20694c7974d549a840478a8683ead4db6e6e95bdd194b59b8acff717fdac5cb3f198924 + checksum: 3ed943d06e9dff70a3da793f794f1192cd93b0ababdb9f07425a05680f17cfce649cbc46734265f6fbe52fd9f277496d3a4da26c013f1193a0345f2420ea6cd0 languageName: node linkType: hard "@types/normalize-package-data@npm:^2.4.0": - version: 2.4.4 - resolution: "@types/normalize-package-data@npm:2.4.4" - checksum: aef7bb9b015883d6f4119c423dd28c4bdc17b0e8a0ccf112c78b4fe0e91fbc4af7c6204b04bba0e199a57d2f3fbbd5b4a14bf8739bf9d2a39b2a0aad545e0f86 + version: 2.4.2 + resolution: "@types/normalize-package-data@npm:2.4.2" + checksum: e38713ca1befc341701c078d592d1fddc1d13eec73b4d81fbab14638221733029f03cdf410b4486b23d48fd8d3809fa36611de98220e76f71517d42b582b3509 languageName: node linkType: hard @@ -8090,9 +7953,9 @@ __metadata: linkType: hard "@types/parse-json@npm:^4.0.0": - version: 4.0.2 - resolution: "@types/parse-json@npm:4.0.2" - checksum: b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1 + version: 4.0.0 + resolution: "@types/parse-json@npm:4.0.0" + checksum: 1d3012ab2fcdad1ba313e1d065b737578f6506c8958e2a7a5bdbdef517c7e930796cb1599ee067d5dee942fb3a764df64b5eef7e9ae98548d776e86dcffba985 languageName: node linkType: hard @@ -8125,9 +7988,9 @@ __metadata: linkType: hard "@types/prismjs@npm:^1.16.6": - version: 1.26.3 - resolution: "@types/prismjs@npm:1.26.3" - checksum: 3e8a64bcf0ab5f9a47ec2590938c5a8a20ac849b4949a95ed96e73e64cb890fc56e9c9b724286914717458267b28405f965709e1b9f80db5d68817a7ce5a18a9 + version: 1.26.1 + resolution: "@types/prismjs@npm:1.26.1" + checksum: 74b624bd0def16ba2fe4492ac74422ed9eaf5588814c14d8825c85dd4ef05b900a3685c5ec00bb13991e9f0cc4bbda196b9de3ba75cf7c00bc8ffd960c125124 languageName: node linkType: hard @@ -8142,16 +8005,16 @@ __metadata: linkType: hard "@types/prop-types@npm:*": - version: 15.7.11 - resolution: "@types/prop-types@npm:15.7.11" - checksum: e53423cf9d510515ef8b47ff42f4f1b65a7b7b37c8704e2dbfcb9a60defe0c0e1f3cb1acfdeb466bad44ca938d7c79bffdd51b48ffb659df2432169d0b27a132 + version: 15.7.8 + resolution: "@types/prop-types@npm:15.7.8" + checksum: 706b3de6faa5c1a4763fc90069f25ddc54108e8b43e9724e22f510b103c418571bf14b34b241fcacd6875650959c8374af7f4633f80ec6e33e7525cb42ef6a30 languageName: node linkType: hard "@types/pug@npm:^2.0.6": - version: 2.0.10 - resolution: "@types/pug@npm:2.0.10" - checksum: 6fac37fd84ad4bcf755061caad274db70591699739070bc30c5c1b5f0aecf98646dc29ec8da11cfca82a2b7cc57d949a3ae50aba2f88bf098751ebdd25d9aaea + version: 2.0.7 + resolution: "@types/pug@npm:2.0.7" + checksum: 3d0cf7945f56a2763d0917d63f1ebe9c86eed9bc0b64781d0d5ec842bcdf1779e1065e132300942a1c34fefa87212d877d7fad24a576c4ce52db8fb17c4dcd0e languageName: node linkType: hard @@ -8163,9 +8026,9 @@ __metadata: linkType: hard "@types/range-parser@npm:*": - version: 1.2.7 - resolution: "@types/range-parser@npm:1.2.7" - checksum: 361bb3e964ec5133fa40644a0b942279ed5df1949f21321d77de79f48b728d39253e5ce0408c9c17e4e0fd95ca7899da36841686393b9f7a1e209916e9381a3c + version: 1.2.5 + resolution: "@types/range-parser@npm:1.2.5" + checksum: fe4bbbbfb19f0765ea15e66e2c58e29e04f4e52055c0d348b08dbfb161c2d2a363cc21b8a6071936a0cab3f02d0f5f362a3f752b37b05ff868000dcfe9120581 languageName: node linkType: hard @@ -8179,11 +8042,11 @@ __metadata: linkType: hard "@types/react-modal@npm:^3.12.1": - version: 3.16.3 - resolution: "@types/react-modal@npm:3.16.3" + version: 3.16.1 + resolution: "@types/react-modal@npm:3.16.1" dependencies: "@types/react": "npm:*" - checksum: dfcf52fa4b5d5c203aa47ffaafade369836cb9f891e9b60e7056bf5fdfc508ebec7971bb3d4c4018f422953c1c79948755ef19da3e816c28d7c5fdacf9466af8 + checksum: 4f586bd00e4b15633ec6607cb3266183b81419a2c0931d40e6127427e944a986d3d9a9c8a23c86cb586b15e541a1c6682f6ab0d2561a3b81fcf857772727ff44 languageName: node linkType: hard @@ -8197,38 +8060,38 @@ __metadata: linkType: hard "@types/react-transition-group@npm:^4": - version: 4.4.9 - resolution: "@types/react-transition-group@npm:4.4.9" + version: 4.4.10 + resolution: "@types/react-transition-group@npm:4.4.10" dependencies: "@types/react": "npm:*" - checksum: 279cd319202f7ec24ecad174dffd19fd161250bc438bf3c62951f467093e5664a0c895b185976bf45f55b68ec901e520924216eb8abafe934b66f55337319ff5 + checksum: 3eb9bca143abc21eb781aa5cb1bded0c9335689d515bf0513fb8e63217b7a8122c6a323ecd5644a06938727e1f467ee061d8df1c93b68825a80ff1b47ab777a2 languageName: node linkType: hard "@types/react@npm:*, @types/react@npm:>=16, @types/react@npm:^18.0.37": - version: 18.2.39 - resolution: "@types/react@npm:18.2.39" + version: 18.2.43 + resolution: "@types/react@npm:18.2.43" dependencies: "@types/prop-types": "npm:*" "@types/scheduler": "npm:*" csstype: "npm:^3.0.2" - checksum: e91a5419d7615ab4fcaa7cb3ad2bd372093676e86c082748ab36ac394d3ed560070482d092a5488f74d6b1d913369e4dabf6eb287debed4d70cd3eb7dc135542 + checksum: 10477a50fbd3c0cc5b8a2ade679f442717f68fb27c8460b2aa1d3256cd18c48f742bbe5b9ee37a8c4c5f832ffa37b3a23c09fd96dd880a8e3182d8929c05e803 languageName: node linkType: hard "@types/resolve@npm:^1.20.2": - version: 1.20.6 - resolution: "@types/resolve@npm:1.20.6" - checksum: a9b0549d816ff2c353077365d865a33655a141d066d0f5a3ba6fd4b28bc2f4188a510079f7c1f715b3e7af505a27374adce2a5140a3ece2a059aab3d6e1a4244 + version: 1.20.3 + resolution: "@types/resolve@npm:1.20.3" + checksum: 0f499b6509186bd32faaf4ed640c166be0a6d487567cea1da9cdf3dc85e6b546451479ac80bd912daf4d8546c547d9feaf9e9867b438f7650cdd5a75169c5763 languageName: node linkType: hard "@types/responselike@npm:^1.0.0": - version: 1.0.3 - resolution: "@types/responselike@npm:1.0.3" + version: 1.0.1 + resolution: "@types/responselike@npm:1.0.1" dependencies: "@types/node": "npm:*" - checksum: a58ba341cb9e7d74f71810a88862da7b2a6fa42e2a1fc0ce40498f6ea1d44382f0640117057da779f74c47039f7166bf48fad02dc876f94e005c7afa50f5e129 + checksum: f49d4765498d64e81fdff91267575caef0b364538994512605323b4ef74297f6ac5c61658713e1e1cc6d3951f6a5bcd436fcdec79c5f9d5e72c6b3f700b6f997 languageName: node linkType: hard @@ -8250,9 +8113,9 @@ __metadata: linkType: hard "@types/scheduler@npm:*": - version: 0.16.8 - resolution: "@types/scheduler@npm:0.16.8" - checksum: f86de504945b8fc41b1f391f847444d542e2e4067cf7e5d9bfeb5d2d2393d3203b1161bc0ef3b1e104d828dabfb60baf06e8d2c27e27ff7e8258e6e618d8c4ec + version: 0.16.4 + resolution: "@types/scheduler@npm:0.16.4" + checksum: 2355e63251c6c6467806c9e7085f5fad350a1e87f811cf416f1e48a888b7da4ecc4bae2b67b7b10d8f5e518305ef2b5d4a8451227158552942794b87be43c5dd languageName: node linkType: hard @@ -8264,21 +8127,21 @@ __metadata: linkType: hard "@types/send@npm:*": - version: 0.17.4 - resolution: "@types/send@npm:0.17.4" + version: 0.17.2 + resolution: "@types/send@npm:0.17.2" dependencies: "@types/mime": "npm:^1" "@types/node": "npm:*" - checksum: 7f17fa696cb83be0a104b04b424fdedc7eaba1c9a34b06027239aba513b398a0e2b7279778af521f516a397ced417c96960e5f50fcfce40c4bc4509fb1a5883c + checksum: 3fdd87a1b82fae523b2609f2acef25705b40899fed3c5f4dd40bf0dc91ad6a2c0a2b6c1494d1584525fe6e88bea271fcdb9775b3996ddc7f16d52261eea73432 languageName: node linkType: hard "@types/serve-index@npm:^1.9.1": - version: 1.9.4 - resolution: "@types/serve-index@npm:1.9.4" + version: 1.9.2 + resolution: "@types/serve-index@npm:1.9.2" dependencies: "@types/express": "npm:*" - checksum: 94c1b9e8f1ea36a229e098e1643d5665d9371f8c2658521718e259130a237c447059b903bac0dcc96ee2c15fd63f49aa647099b7d0d437a67a6946527a837438 + checksum: 9b82300c6930f8a768e742f89414ef84cd7bd8bc242f13a070fd754144890ba281e7ae99d018e40a256963c12be600f4bb5cfd6e3ad72c686bc9482260c168eb languageName: node linkType: hard @@ -8294,53 +8157,39 @@ __metadata: linkType: hard "@types/sockjs@npm:^0.3.33": - version: 0.3.36 - resolution: "@types/sockjs@npm:0.3.36" + version: 0.3.34 + resolution: "@types/sockjs@npm:0.3.34" dependencies: "@types/node": "npm:*" - checksum: b20b7820ee813f22de4f2ce98bdd12c68c930e016a8912b1ed967595ac0d8a4cbbff44f4d486dd97f77f5927e7b5725bdac7472c9ec5b27f53a5a13179f0612f + checksum: e546c306dc7630e88a7be14faa26c6c6115847f4d334dcf7957166616c1f6d35549c93cb0985f0e0bdcc4c362fb66841b2c418c03c8df24b39be385c5496df11 languageName: node linkType: hard "@types/source-list-map@npm:*": - version: 0.1.6 - resolution: "@types/source-list-map@npm:0.1.6" - checksum: 1e6d8d4a48535c51368c65bb2c44a1c9fd9afe2eeefefa32cbf06f9c191f7b20f638b3aa755100de0a750b0ba6a76140e912f1bee75705bc2b9a58b5a5185539 + version: 0.1.3 + resolution: "@types/source-list-map@npm:0.1.3" + checksum: b0734c05ebfca29c28c1418237a13561bd16e5a848c48f0b6295bd2405aa070a317e869d9e8ba6907132928d5ea5cd339076e5e205c75137de7d6aedde11e365 languageName: node linkType: hard "@types/stack-utils@npm:^2.0.0": - version: 2.0.3 - resolution: "@types/stack-utils@npm:2.0.3" - checksum: 1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c - languageName: node - linkType: hard - -"@types/strip-bom@npm:^3.0.0": - version: 3.0.0 - resolution: "@types/strip-bom@npm:3.0.0" - checksum: 6638635fb52dc1f7a4aa596445170ffc731f3bea307d25d79709dcce14f80870128a6f0304032863b9d1a86b4b5f45d48bcaf96abe81f42e61f0a3eb18a1b996 - languageName: node - linkType: hard - -"@types/strip-json-comments@npm:0.0.30": - version: 0.0.30 - resolution: "@types/strip-json-comments@npm:0.0.30" - checksum: 90509e345ac16c79f7aa7d7ef52e388e5be923f3456cf8052d36ee0eb4abc5ec4080c5f010f78cf01f5599546577eb3724256bc698663e86f0fe08a5a3fb7f68 + version: 2.0.1 + resolution: "@types/stack-utils@npm:2.0.1" + checksum: 3327ee919a840ffe907bbd5c1d07dfd79137dd9732d2d466cf717ceec5bb21f66296173c53bb56cff95fae4185b9cd6770df3e9745fe4ba528bbc4975f54d13f languageName: node linkType: hard "@types/symlink-or-copy@npm:^1.2.0": - version: 1.2.2 - resolution: "@types/symlink-or-copy@npm:1.2.2" - checksum: 09ee39bd319f39c775c4e2049fc4018212b9b6043736bd2046537acbb59c98af7aa725c539f32672cd2ca27144073fa1f1101b4c0ed7db3fbddb305b638895b2 + version: 1.2.0 + resolution: "@types/symlink-or-copy@npm:1.2.0" + checksum: cbc621ee4eb1c8b67beecba205ff47383584f6f69e5dbfd13ddb9fce3e64355bd01ba456dc9a5719e527da87c0f710f352931bfdf97efa0e23fff65d87e9315a languageName: node linkType: hard "@types/tapable@npm:^1": - version: 1.0.12 - resolution: "@types/tapable@npm:1.0.12" - checksum: d6a080f5839b323eb96dd5b65a6c3161c1297d8c2433eb52437912d1c3df54e38fce12ce7a57650f6453d96942298bd0935436e2501d09e407b7f41634483131 + version: 1.0.9 + resolution: "@types/tapable@npm:1.0.9" + checksum: 51e7a55432c3abf71ae5e13907eb01a576efdf66ddfcd4f2a765436e684e182df527885980d4f710250cd61304a61f7fe9d447b33fef8db1fa434a395c85933d languageName: node linkType: hard @@ -8353,15 +8202,6 @@ __metadata: languageName: node linkType: hard -"@types/testing-library__jest-dom@npm:^5.9.1": - version: 5.14.9 - resolution: "@types/testing-library__jest-dom@npm:5.14.9" - dependencies: - "@types/jest": "npm:*" - checksum: 91f7b15e8813b515912c54da44464fb60ecf21162b7cae2272fcb3918074f4e1387dc2beca1f5041667e77b76b34253c39675ea4e0b3f28f102d8cc87fdba9fa - languageName: node - linkType: hard - "@types/tmp@npm:^0.2.3": version: 0.2.6 resolution: "@types/tmp@npm:0.2.6" @@ -8369,33 +8209,26 @@ __metadata: languageName: node linkType: hard -"@types/tough-cookie@npm:*": - version: 4.0.5 - resolution: "@types/tough-cookie@npm:4.0.5" - checksum: 68c6921721a3dcb40451543db2174a145ef915bc8bcbe7ad4e59194a0238e776e782b896c7a59f4b93ac6acefca9161fccb31d1ce3b3445cb6faa467297fb473 - languageName: node - linkType: hard - "@types/trusted-types@npm:^2.0.2": - version: 2.0.7 - resolution: "@types/trusted-types@npm:2.0.7" - checksum: 4c4855f10de7c6c135e0d32ce462419d8abbbc33713b31d294596c0cc34ae1fa6112a2f9da729c8f7a20707782b0d69da3b1f8df6645b0366d08825ca1522e0c + version: 2.0.4 + resolution: "@types/trusted-types@npm:2.0.4" + checksum: ad7ca5059168880d8fa04ebf9d5f57d402bef4d7bb8a50df5103db8bf3821a334aaa2dab9937cf5d440beb707bed35b700fa387fcbce0611821d4cea7fa94dc1 languageName: node linkType: hard "@types/uglify-js@npm:*": - version: 3.17.4 - resolution: "@types/uglify-js@npm:3.17.4" + version: 3.17.2 + resolution: "@types/uglify-js@npm:3.17.2" dependencies: source-map: "npm:^0.6.1" - checksum: e1625b203872aeb73d58df2dbe6baec8bcb7de651e44b6616e2b3b5bb2634ee535c9c8260c4e3258055adcec5fe057d8b655d6cc564916b7e4fc4ffe8bce520a + checksum: 22ead0f6c4c5f184f5db06aa68c357ace72536ee8ccbd7abe655df2cc375ab92e1bec6c425d9be85fa309190427971c89989c0b58977e9c9167b7c26fb07b898 languageName: node linkType: hard "@types/unist@npm:^2, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": - version: 2.0.10 - resolution: "@types/unist@npm:2.0.10" - checksum: 5f247dc2229944355209ad5c8e83cfe29419fa7f0a6d557421b1985a1500444719cc9efcc42c652b55aab63c931813c88033e0202c1ac684bcd4829d66e44731 + version: 2.0.8 + resolution: "@types/unist@npm:2.0.8" + checksum: 2c4685d5258b4f543677d20dce0d72b8235e70b6c859af24fcf445f92dac98ec8a1faa0cfb43307466561fcd9dbd2534a4860000944401ac3314a685b5efe3d7 languageName: node linkType: hard @@ -8439,13 +8272,13 @@ __metadata: linkType: hard "@types/webpack-sources@npm:*": - version: 3.2.3 - resolution: "@types/webpack-sources@npm:3.2.3" + version: 3.2.1 + resolution: "@types/webpack-sources@npm:3.2.1" dependencies: "@types/node": "npm:*" "@types/source-list-map": "npm:*" source-map: "npm:^0.7.3" - checksum: 74e9dfdd38bc345ce99442f3be5b5ad1efc7af5890304175c141717a7c0b38c152e6f7fe1d2875fc19aaa68964019ff4661678eba7fdeee8c3ad42dc6dbf6b62 + checksum: 651fcf880b2ed4f309fce9f47b85b7d1771a63436880792688b8c5e6e4177272dbe80c88cc4d877bc8370446499ab9b6a9ac6348b1fd2b29e56f7657f4562dd7 languageName: node linkType: hard @@ -8459,8 +8292,8 @@ __metadata: linkType: hard "@types/webpack@npm:^4": - version: 4.41.38 - resolution: "@types/webpack@npm:4.41.38" + version: 4.41.34 + resolution: "@types/webpack@npm:4.41.34" dependencies: "@types/node": "npm:*" "@types/tapable": "npm:^1" @@ -8468,7 +8301,7 @@ __metadata: "@types/webpack-sources": "npm:*" anymatch: "npm:^3.0.0" source-map: "npm:^0.6.0" - checksum: 5a0a7465d45a0e7701a8c863e88c6cba7660b37e4aeab851c71baf505dbab2e178be1cac82488c2e7d0ea11fb703ceddb53476daec3ec9a004e2fc1554233483 + checksum: 630ebd822e7ee85b7118d1c095370709ce493831365f7fd750bea88ac4726ef52df33cc25261922526e45b354c9fdb3edfabc7738d5b9ec18416fd502cda3838 languageName: node linkType: hard @@ -8482,36 +8315,36 @@ __metadata: linkType: hard "@types/yargs-parser@npm:*": - version: 21.0.3 - resolution: "@types/yargs-parser@npm:21.0.3" - checksum: e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 + version: 21.0.1 + resolution: "@types/yargs-parser@npm:21.0.1" + checksum: f1d723a4c4383a9c53b975820b7490186ca127237ca58eb2ee8f5eacdcdb195a81aeabd1d75560abdf22fc29f70e8bb103d7ab34c5ec49bc19196195a7bf3189 languageName: node linkType: hard "@types/yargs@npm:^15.0.0": - version: 15.0.19 - resolution: "@types/yargs@npm:15.0.19" + version: 15.0.16 + resolution: "@types/yargs@npm:15.0.16" dependencies: "@types/yargs-parser": "npm:*" - checksum: 9fe9b8645304a628006cbba2d1990fb015e2727274d0e3853f321a379a1242d1da2c15d2f56cff0d4313ae94f0383ccf834c3bded9fb3589608aefb3432fcf00 + checksum: 07f0960062e66226ae602fccd62e351143291d778e1f4dd645c51111e62fbedafe2a976c223dcfa7ae052e989407b62e97a7472fc1d73536110cd05502c204a5 languageName: node linkType: hard "@types/yargs@npm:^16.0.0": - version: 16.0.9 - resolution: "@types/yargs@npm:16.0.9" + version: 16.0.6 + resolution: "@types/yargs@npm:16.0.6" dependencies: "@types/yargs-parser": "npm:*" - checksum: be24bd9a56c97ddb2964c1c18f5b9fe8271a50e100dc6945989901aae58f7ce6fb8f3a591c749a518401b6301358dbd1997e83c36138a297094feae7f9ac8211 + checksum: a2cc5796cea1aac492c856ff35e829a6a230e6d72540a9446273ab16392f6ef04b8fef05ddcff71c8106c047820b5534b22e031245ee55995b1ba0c8caa382b2 languageName: node linkType: hard "@types/yargs@npm:^17.0.8": - version: 17.0.32 - resolution: "@types/yargs@npm:17.0.32" + version: 17.0.26 + resolution: "@types/yargs@npm:17.0.26" dependencies: "@types/yargs-parser": "npm:*" - checksum: 2095e8aad8a4e66b86147415364266b8d607a3b95b4239623423efd7e29df93ba81bb862784a6e08664f645cc1981b25fd598f532019174cd3e5e1e689e1cccf + checksum: 34ab6eff6dff086b1044c65d53131e1d14e87c0c6dc44cb6851d74d8a4d1ac4503f7d12d1e1ecff25f8aea62ff7a9d6b04b05870a0324d15bbb226ddfc1d6065 languageName: node linkType: hard @@ -8647,14 +8480,7 @@ __metadata: languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d - languageName: node - linkType: hard - -"@urql/core@npm:>=4.1.0, @urql/core@npm:^4.2.0": +"@urql/core@npm:>=4.1.0, @urql/core@npm:^4.1.0": version: 4.2.0 resolution: "@urql/core@npm:4.2.0" dependencies: @@ -8698,13 +8524,36 @@ __metadata: languageName: node linkType: hard -"@vitejs/plugin-vue@npm:^4.0.0": - version: 4.5.1 - resolution: "@vitejs/plugin-vue@npm:4.5.1" +"@vitejs/plugin-vue@npm:^4.0.0, @vitejs/plugin-vue@npm:^4.4.0": + version: 4.5.2 + resolution: "@vitejs/plugin-vue@npm:4.5.2" peerDependencies: vite: ^4.0.0 || ^5.0.0 vue: ^3.2.25 - checksum: e14bcae83faa6f0a6b55a39635841aeb4f45b753404914bf6f5744c24b407d8b60cf2c5adfa47bc6d6c8b92566e203793bc106214fdd2af26a661d7c80a3c428 + checksum: dd024b9ee2eda3174e197bda2b42df30b594d1a7f50d20b4b0de01c5a130bd99b84452e8a8d597ade50f89106025346a56f7abbf63c560e82fe97223589d2514 + languageName: node + linkType: hard + +"@vitest/coverage-v8@npm:^1.0.1": + version: 1.0.4 + resolution: "@vitest/coverage-v8@npm:1.0.4" + dependencies: + "@ampproject/remapping": "npm:^2.2.1" + "@bcoe/v8-coverage": "npm:^0.2.3" + debug: "npm:^4.3.4" + istanbul-lib-coverage: "npm:^3.2.2" + istanbul-lib-report: "npm:^3.0.1" + istanbul-lib-source-maps: "npm:^4.0.1" + istanbul-reports: "npm:^3.1.6" + magic-string: "npm:^0.30.5" + magicast: "npm:^0.3.2" + picocolors: "npm:^1.0.0" + std-env: "npm:^3.5.0" + test-exclude: "npm:^6.0.0" + v8-to-istanbul: "npm:^9.2.0" + peerDependencies: + vitest: ^1.0.0 + checksum: e4fb7e7f818a320dcef451193a6aba7b4173a3246695fb5c7b406251c860e10a02f41c3a9678301d6d14e9453bef16de5624658bc3abc11775c708bb20f15ace languageName: node linkType: hard @@ -8719,6 +8568,17 @@ __metadata: languageName: node linkType: hard +"@vitest/expect@npm:1.0.4": + version: 1.0.4 + resolution: "@vitest/expect@npm:1.0.4" + dependencies: + "@vitest/spy": "npm:1.0.4" + "@vitest/utils": "npm:1.0.4" + chai: "npm:^4.3.10" + checksum: a5f3d0ab334938cd70f4d2b44205885532d3d24466617a3c4a230378b6cfa0b5de5f5d9ce80e48508c3cc02dfde1f064ea1126912d7e9f46e18b305b41417f2a + languageName: node + linkType: hard + "@vitest/expect@patch:@vitest/expect@npm%3A0.34.5#./.yarn/patches/@vitest-expect-npm-0.34.5-8031508efe.patch::locator=%40storybook%2Froot%40workspace%3A.": version: 0.34.5 resolution: "@vitest/expect@patch:@vitest/expect@npm%3A0.34.5#./.yarn/patches/@vitest-expect-npm-0.34.5-8031508efe.patch::version=0.34.5&hash=f89b80&locator=%40storybook%2Froot%40workspace%3A." @@ -8730,6 +8590,28 @@ __metadata: languageName: node linkType: hard +"@vitest/runner@npm:1.0.4": + version: 1.0.4 + resolution: "@vitest/runner@npm:1.0.4" + dependencies: + "@vitest/utils": "npm:1.0.4" + p-limit: "npm:^5.0.0" + pathe: "npm:^1.1.1" + checksum: 4e60471997cbac61c2b7f5e8c701a7459ed51177c709f27c53ffa1e889097782132d21ed816c10cf3bf5dadf82e973c65d6e2210f77aba19f8be9d5e9a1a1002 + languageName: node + linkType: hard + +"@vitest/snapshot@npm:1.0.4": + version: 1.0.4 + resolution: "@vitest/snapshot@npm:1.0.4" + dependencies: + magic-string: "npm:^0.30.5" + pathe: "npm:^1.1.1" + pretty-format: "npm:^29.7.0" + checksum: 77fc4a7b74f4bce56bfa7ff5bfefa5d9a7511988d3e7e7fc798a877325ed3db4a3252fa343adff1c77482bc18e69f7279290d165fe5688d8f63a4266d2d716a8 + languageName: node + linkType: hard + "@vitest/spy@npm:0.34.5": version: 0.34.5 resolution: "@vitest/spy@npm:0.34.5" @@ -8739,6 +8621,15 @@ __metadata: languageName: node linkType: hard +"@vitest/spy@npm:1.0.4": + version: 1.0.4 + resolution: "@vitest/spy@npm:1.0.4" + dependencies: + tinyspy: "npm:^2.2.0" + checksum: dece5db1aabc667a549d6e0a382d338fa0bfee684aadf4695d0633e1e30e11ad244d0be2163238598e615dfea683b73b2b095e89cc4854a2a2d6cb528c4bfca8 + languageName: node + linkType: hard + "@vitest/spy@npm:^0.34.1": version: 0.34.7 resolution: "@vitest/spy@npm:0.34.7" @@ -8759,6 +8650,17 @@ __metadata: languageName: node linkType: hard +"@vitest/utils@npm:1.0.4": + version: 1.0.4 + resolution: "@vitest/utils@npm:1.0.4" + dependencies: + diff-sequences: "npm:^29.6.3" + loupe: "npm:^2.3.7" + pretty-format: "npm:^29.7.0" + checksum: 4a87f98b9192f544a6d52232ed1605ac9a6d7418e35de40b4ef36d0d0f6905112a9a21f1393e16f47838e67992399958d524e6b99f6a3583c0a0527fa7557e49 + languageName: node + linkType: hard + "@vitest/utils@npm:^0.34.6": version: 0.34.7 resolution: "@vitest/utils@npm:0.34.7" @@ -8770,31 +8672,30 @@ __metadata: languageName: node linkType: hard -"@volar/language-core@npm:1.11.1, @volar/language-core@npm:~1.11.1": - version: 1.11.1 - resolution: "@volar/language-core@npm:1.11.1" +"@volar/language-core@npm:1.10.1, @volar/language-core@npm:~1.10.0": + version: 1.10.1 + resolution: "@volar/language-core@npm:1.10.1" dependencies: - "@volar/source-map": "npm:1.11.1" - checksum: 92c4439e3a9ccc534c970031388c318740f6fa032283d03e136c6c8c0228f549c68a7c363af1a28252617a0dca6069e14028329ac906d5acf1912931d0cdcb69 + "@volar/source-map": "npm:1.10.1" + checksum: cc4e6b07801cc48b68d9bfb4899703afc0b1d0d0a765d952df98ae63d3109555dd2d882aab8970d599521300d50aa109c82f869a590ddd8f94106b3daf0503f8 languageName: node linkType: hard -"@volar/source-map@npm:1.11.1, @volar/source-map@npm:~1.11.1": - version: 1.11.1 - resolution: "@volar/source-map@npm:1.11.1" +"@volar/source-map@npm:1.10.1, @volar/source-map@npm:~1.10.0": + version: 1.10.1 + resolution: "@volar/source-map@npm:1.10.1" dependencies: muggle-string: "npm:^0.3.1" - checksum: 0bfc639889802705f8036ea8b2052a95a4d691a68bc2b6744ba8b9d312d887393dd3278101180a5ee5304972899d493972a483afafd41e097968746c77d724cb + checksum: 9bfc96528d802959d19d07148238cf1b7f7ba7bf05a8cf78339dd1edfb0e755d88005057673c7a807aea74b234a63067fa433a81841b9b9bc1d6e741674f6e40 languageName: node linkType: hard -"@volar/typescript@npm:~1.11.1": - version: 1.11.1 - resolution: "@volar/typescript@npm:1.11.1" +"@volar/typescript@npm:~1.10.0": + version: 1.10.1 + resolution: "@volar/typescript@npm:1.10.1" dependencies: - "@volar/language-core": "npm:1.11.1" - path-browserify: "npm:^1.0.1" - checksum: 86fe153db3a14d8eb3632784a1d7fcbfbfb51fa5517c3878bfdd49ee8d15a83b1a09f9c589454b7396454c104d3a8e2db3a987dc99b37c33816772fc3e292bf2 + "@volar/language-core": "npm:1.10.1" + checksum: daad1018ac7f9d5b45416ca8f1cabec1448c020669bcc3ad9873c277ed467b1e8a2c5849f272888cfaca5e93683f1fd67cc5532fcd1e7a5f0c3a74ad2d595ffe languageName: node linkType: hard @@ -8811,15 +8712,15 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-core@npm:3.3.9, @vue/compiler-core@npm:^3.3.4": - version: 3.3.9 - resolution: "@vue/compiler-core@npm:3.3.9" +"@vue/compiler-core@npm:3.3.11, @vue/compiler-core@npm:^3.3.4": + version: 3.3.11 + resolution: "@vue/compiler-core@npm:3.3.11" dependencies: - "@babel/parser": "npm:^7.23.3" - "@vue/shared": "npm:3.3.9" + "@babel/parser": "npm:^7.23.5" + "@vue/shared": "npm:3.3.11" estree-walker: "npm:^2.0.2" source-map-js: "npm:^1.0.2" - checksum: b7114c299f765a6df27c9e3cfdd3372644d941aece10518207b4b402778f7be6180da7532f5dc2ae1627e569f81067d27b112787e195692cb5faee3fad254192 + checksum: 576aa8075bd9f4e91e54fdc9fe2d66941a3c81e12c59e1473c2596f57eb5b8fa7327e94d557d7d5da331a8577f9347990ebd807ebd3b28b2684451c23de7f15d languageName: node linkType: hard @@ -8833,13 +8734,13 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-dom@npm:3.3.9, @vue/compiler-dom@npm:^3.2.0, @vue/compiler-dom@npm:^3.3.0": - version: 3.3.9 - resolution: "@vue/compiler-dom@npm:3.3.9" +"@vue/compiler-dom@npm:3.3.11, @vue/compiler-dom@npm:^3.2.0, @vue/compiler-dom@npm:^3.3.0": + version: 3.3.11 + resolution: "@vue/compiler-dom@npm:3.3.11" dependencies: - "@vue/compiler-core": "npm:3.3.9" - "@vue/shared": "npm:3.3.9" - checksum: cc7b731400ddcbd2f7ffc5a64e5de6af42f1c647d178f7a48d63579c5e5cf2a3f39acafeefada6bd82cfa4af6724bd7363faef0522eb2a4c2dec8304e1b36c50 + "@vue/compiler-core": "npm:3.3.11" + "@vue/shared": "npm:3.3.11" + checksum: 1f57289fc6c2e8ea9da65631601f1b329e4b46917d8e05aaa0b3f93e657d7440355f60c2116577276f3447d2b4bb7adebed451a95e7647614ab946319d7e142d languageName: node linkType: hard @@ -8869,21 +8770,21 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-sfc@npm:3.3.9, @vue/compiler-sfc@npm:^3.2.0, @vue/compiler-sfc@npm:^3.2.33": - version: 3.3.9 - resolution: "@vue/compiler-sfc@npm:3.3.9" +"@vue/compiler-sfc@npm:3.3.11, @vue/compiler-sfc@npm:^3.2.0, @vue/compiler-sfc@npm:^3.2.33": + version: 3.3.11 + resolution: "@vue/compiler-sfc@npm:3.3.11" dependencies: - "@babel/parser": "npm:^7.23.3" - "@vue/compiler-core": "npm:3.3.9" - "@vue/compiler-dom": "npm:3.3.9" - "@vue/compiler-ssr": "npm:3.3.9" - "@vue/reactivity-transform": "npm:3.3.9" - "@vue/shared": "npm:3.3.9" + "@babel/parser": "npm:^7.23.5" + "@vue/compiler-core": "npm:3.3.11" + "@vue/compiler-dom": "npm:3.3.11" + "@vue/compiler-ssr": "npm:3.3.11" + "@vue/reactivity-transform": "npm:3.3.11" + "@vue/shared": "npm:3.3.11" estree-walker: "npm:^2.0.2" magic-string: "npm:^0.30.5" - postcss: "npm:^8.4.31" + postcss: "npm:^8.4.32" source-map-js: "npm:^1.0.2" - checksum: a4f346c285268c1b30e5f837f78d0fef995e9bf553c2806d5be62aa66cc12ec6d44db5066433f14c9183f22f0310eeb9f5e872e865eb84638accd0ff7e3c8c76 + checksum: ffd9ef3bc71628d53e95c4ed6a33730962fe519cfdbe784b7ac5ae4090f59207577a8591fcb8671ee1fd57859c57147c519268db590f470a747c9cc9b465b138 languageName: node linkType: hard @@ -8897,48 +8798,47 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-ssr@npm:3.3.9": - version: 3.3.9 - resolution: "@vue/compiler-ssr@npm:3.3.9" +"@vue/compiler-ssr@npm:3.3.11": + version: 3.3.11 + resolution: "@vue/compiler-ssr@npm:3.3.11" dependencies: - "@vue/compiler-dom": "npm:3.3.9" - "@vue/shared": "npm:3.3.9" - checksum: 119b67a3c2a739842f9a4b4b0385986549262586ce4d9eb8bb5d308ace80f7f3a854ef302982bfd3951dc359779b25758a6e53ddaf9e2b1c95b50cd3a7e9ae58 + "@vue/compiler-dom": "npm:3.3.11" + "@vue/shared": "npm:3.3.11" + checksum: 79380e310cdeea792fc369ab9204819a7b61e5765707760d534762013b95180dc9d23cd41b398cf127f9430f10ee030e4154faf27e67cf05737a4566fec003c4 languageName: node linkType: hard -"@vue/language-core@npm:1.8.24": - version: 1.8.24 - resolution: "@vue/language-core@npm:1.8.24" +"@vue/language-core@npm:1.8.15": + version: 1.8.15 + resolution: "@vue/language-core@npm:1.8.15" dependencies: - "@volar/language-core": "npm:~1.11.1" - "@volar/source-map": "npm:~1.11.1" + "@volar/language-core": "npm:~1.10.0" + "@volar/source-map": "npm:~1.10.0" "@vue/compiler-dom": "npm:^3.3.0" + "@vue/reactivity": "npm:^3.3.0" "@vue/shared": "npm:^3.3.0" - computeds: "npm:^0.0.1" - minimatch: "npm:^9.0.3" + minimatch: "npm:^9.0.0" muggle-string: "npm:^0.3.1" - path-browserify: "npm:^1.0.1" vue-template-compiler: "npm:^2.7.14" peerDependencies: typescript: "*" peerDependenciesMeta: typescript: optional: true - checksum: 4bc0c5a1e3d818df1d70c5957deab6c4a9dd85ccd7716596db435d6b42e58e1bca849369c6ab52ebcaf50fe2af1ca750f69f4242e25cc9a60001d035c9701b95 + checksum: 05ec3d660bd26cf05d17e722d1117324e1309360f0be4998c82ccac22689e31a332660086ece6b3f4f43660dfb94d1905eea0aa329b88b2f5afea944b01153e0 languageName: node linkType: hard -"@vue/reactivity-transform@npm:3.3.9": - version: 3.3.9 - resolution: "@vue/reactivity-transform@npm:3.3.9" +"@vue/reactivity-transform@npm:3.3.11": + version: 3.3.11 + resolution: "@vue/reactivity-transform@npm:3.3.11" dependencies: - "@babel/parser": "npm:^7.23.3" - "@vue/compiler-core": "npm:3.3.9" - "@vue/shared": "npm:3.3.9" + "@babel/parser": "npm:^7.23.5" + "@vue/compiler-core": "npm:3.3.11" + "@vue/shared": "npm:3.3.11" estree-walker: "npm:^2.0.2" magic-string: "npm:^0.30.5" - checksum: 43053f09229f1994179491a15bdd13515601074e640781e5419007ee32c68060f0fb13e7c60ee533af91dd7da0b38442bf736fa74bf5597b1181174c11c2642d + checksum: 146629504aadd79980be64c7d4b8358a1dd0ef4f4f42cbcde6b1e6dff2b7a849a3f6ab50be1216e636d53d14889830cfa329a2a14711849a263af09a81d6ccd9 languageName: node linkType: hard @@ -8951,12 +8851,12 @@ __metadata: languageName: node linkType: hard -"@vue/reactivity@npm:3.3.9": - version: 3.3.9 - resolution: "@vue/reactivity@npm:3.3.9" +"@vue/reactivity@npm:3.3.11, @vue/reactivity@npm:^3.3.0": + version: 3.3.11 + resolution: "@vue/reactivity@npm:3.3.11" dependencies: - "@vue/shared": "npm:3.3.9" - checksum: acd95e033f872260e8a8a8561eb44a91ce11c66582b3b31af0d5746372d906c3546173632c6029b53375f196f756eeb9d050f1cc0d77497210d9805df52f4c0d + "@vue/shared": "npm:3.3.11" + checksum: 3897d5fb1130f92fe17b99b1edca96c03ce4e0b28b10945d9cfcdfac589c9ad9623ab8bac06837c34ca6916613b77d596839e224f0e43bf5a05fdff1f01b499a languageName: node linkType: hard @@ -8970,13 +8870,13 @@ __metadata: languageName: node linkType: hard -"@vue/runtime-core@npm:3.3.9": - version: 3.3.9 - resolution: "@vue/runtime-core@npm:3.3.9" +"@vue/runtime-core@npm:3.3.11": + version: 3.3.11 + resolution: "@vue/runtime-core@npm:3.3.11" dependencies: - "@vue/reactivity": "npm:3.3.9" - "@vue/shared": "npm:3.3.9" - checksum: a2fdcaa7ee4c1a1ee18ac75b23596f3b3941b6682949e1164b074a54a9b9722e50fff29de2b771f659b52410e2394b922b940a1b75123ea79fd5e0d967d88a1b + "@vue/reactivity": "npm:3.3.11" + "@vue/shared": "npm:3.3.11" + checksum: c4befb9fd12c9fd34bd0b10e67a3cf48af0d6d6d288e29f529aa1262322cee4f18250b5ac9e9ff613f49b4cf1383e2018ae767fafd91ed389577ff0a688865b6 languageName: node linkType: hard @@ -8991,26 +8891,26 @@ __metadata: languageName: node linkType: hard -"@vue/runtime-dom@npm:3.3.9": - version: 3.3.9 - resolution: "@vue/runtime-dom@npm:3.3.9" +"@vue/runtime-dom@npm:3.3.11": + version: 3.3.11 + resolution: "@vue/runtime-dom@npm:3.3.11" dependencies: - "@vue/runtime-core": "npm:3.3.9" - "@vue/shared": "npm:3.3.9" + "@vue/runtime-core": "npm:3.3.11" + "@vue/shared": "npm:3.3.11" csstype: "npm:^3.1.2" - checksum: 708b0dad90335d42cd5f89a072f2b13934e33bce00d82f642935c0081e8905f6d9ee3eec7a65077070a5336a050bfce46aa8eaf1803a3527d1cebb71add548d4 + checksum: 13bfe4a2f3a829cc40bf142af5bc7018a8b19a12f3741de92ceb732635301cdf450cb5bf70cfc8f7e7922c364ea2d7ae5498fbdafe40e5a967860d37ffb47afc languageName: node linkType: hard -"@vue/server-renderer@npm:3.3.9": - version: 3.3.9 - resolution: "@vue/server-renderer@npm:3.3.9" +"@vue/server-renderer@npm:3.3.11": + version: 3.3.11 + resolution: "@vue/server-renderer@npm:3.3.11" dependencies: - "@vue/compiler-ssr": "npm:3.3.9" - "@vue/shared": "npm:3.3.9" + "@vue/compiler-ssr": "npm:3.3.11" + "@vue/shared": "npm:3.3.11" peerDependencies: - vue: 3.3.9 - checksum: 867faafbabe66bea09ba2be95aa8e67b19fe41fd03a05074f8f67f6ed3c6908a7a3eee0137bfcf1e829d640a4ec67c33b85361b9c0930748c01f9fa4e8f25e34 + vue: 3.3.11 + checksum: 0450d3b4b26f702e4c71fc13e1a5c189b7c6c4c0b15293219267b7527ebf17ed56acbb881321896ccabbf02697efd7059530a9171935014d55816978ceb315a6 languageName: node linkType: hard @@ -9021,33 +8921,20 @@ __metadata: languageName: node linkType: hard -"@vue/shared@npm:3.3.9, @vue/shared@npm:^3.3.0": - version: 3.3.9 - resolution: "@vue/shared@npm:3.3.9" - checksum: abf10852baf4009e838c5c12893a67e4dbb4369ec6be2892ce6294a4115d2087ecd619783bbafe048d154da48dd28763fc6c53114ab490ced45e573b2d69dbc9 +"@vue/shared@npm:3.3.11, @vue/shared@npm:^3.3.0": + version: 3.3.11 + resolution: "@vue/shared@npm:3.3.11" + checksum: 164b904ed6c5a6e9b0d4c6ac38a214770943d5b1196e8af7193f7f9f099706ffd7627e40c95a9b4de430ff7d3523a713c9236ef6e8ca48dd6865606efb7208f5 languageName: node linkType: hard -"@vue/vue3-jest@npm:29": - version: 29.2.6 - resolution: "@vue/vue3-jest@npm:29.2.6" +"@vue/typescript@npm:1.8.15": + version: 1.8.15 + resolution: "@vue/typescript@npm:1.8.15" dependencies: - "@babel/plugin-transform-modules-commonjs": "npm:^7.2.0" - chalk: "npm:^2.1.0" - convert-source-map: "npm:^1.6.0" - css-tree: "npm:^2.0.1" - source-map: "npm:0.5.6" - tsconfig: "npm:^7.0.0" - peerDependencies: - "@babel/core": 7.x - babel-jest: 29.x - jest: 29.x - typescript: ">= 4.3" - vue: ^3.0.0-0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 9615eb5d6a7803ef7b383c7c65fdf29ea5f0329bf58c9e9a0338fd9ddd409b890db6629185bf1ad986c2ab7e29747a4b4a27df761c3d754979e3d593f825b97c + "@volar/typescript": "npm:~1.10.0" + "@vue/language-core": "npm:1.8.15" + checksum: c68808d29da93e616cd30bd4dc84aad0bb3d245d45537adc74244cc0fe93cb797e4bbdbdf2a4841b6bce088e6ef1bc70fa279fd2e1aabb794c42d908d8e46087 languageName: node linkType: hard @@ -9315,16 +9202,6 @@ __metadata: languageName: node linkType: hard -"acorn-globals@npm:^7.0.0": - version: 7.0.1 - resolution: "acorn-globals@npm:7.0.1" - dependencies: - acorn: "npm:^8.1.0" - acorn-walk: "npm:^8.0.2" - checksum: 7437f58e92d99292dbebd0e79531af27d706c9f272f31c675d793da6c82d897e75302a8744af13c7f7978a8399840f14a353b60cf21014647f71012982456d2b - languageName: node - linkType: hard - "acorn-import-assertions@npm:^1.9.0": version: 1.9.0 resolution: "acorn-import-assertions@npm:1.9.0" @@ -9359,10 +9236,17 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1": - version: 8.3.0 - resolution: "acorn-walk@npm:8.3.0" - checksum: 24346e595f507b6e704a60d35f3c5e1aa9891d4fb6a3fc3d856503ab718cc26cabb5e3e1ff0ff8da6ec03d60a8226ebdb602805a94f970e7f797ea3b8b09437f +"acorn-walk@npm:^8.1.1": + version: 8.2.0 + resolution: "acorn-walk@npm:8.2.0" + checksum: dbe92f5b2452c93e960c5594e666dd1fae141b965ff2cb4a1e1d0381e3e4db4274c5ce4ffa3d681a86ca2a8d4e29d5efc0670a08e23fd2800051ea387df56ca2 + languageName: node + linkType: hard + +"acorn-walk@npm:^8.3.0": + version: 8.3.1 + resolution: "acorn-walk@npm:8.3.1" + checksum: a23d2f7c6b6cad617f4c77f14dfeb062a239208d61753e9ba808d916c550add92b39535467d2e6028280761ac4f5a904cc9df21530b84d3f834e3edef74ddde5 languageName: node linkType: hard @@ -9375,7 +9259,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.1.0, acorn@npm:^8.10.0, acorn@npm:^8.11.2, acorn@npm:^8.4.1, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": +"acorn@npm:^8.0.0, acorn@npm:^8.10.0, acorn@npm:^8.11.2, acorn@npm:^8.4.1, acorn@npm:^8.6.0, acorn@npm:^8.7.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": version: 8.11.2 resolution: "acorn@npm:8.11.2" bin: @@ -9529,7 +9413,7 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.2": +"ansi-escapes@npm:^4.3.2": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" dependencies: @@ -9547,15 +9431,6 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^6.0.0": - version: 6.2.0 - resolution: "ansi-escapes@npm:6.2.0" - dependencies: - type-fest: "npm:^3.0.0" - checksum: 3eec75deedd8b10192c5f98e4cd9715cc3ff268d33fc463c24b7d22446668bfcd4ad1803993ea89c0f51f88b5a3399572bacb7c8cb1a067fc86e189c5f3b0c7e - languageName: node - linkType: hard - "ansi-html-community@npm:0.0.8, ansi-html-community@npm:^0.0.8": version: 0.0.8 resolution: "ansi-html-community@npm:0.0.8" @@ -9715,7 +9590,7 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:^5.3.0": +"aria-query@npm:^5.0.0, aria-query@npm:^5.1.3, aria-query@npm:^5.3.0": version: 5.3.0 resolution: "aria-query@npm:5.3.0" dependencies: @@ -9756,9 +9631,9 @@ __metadata: linkType: hard "array-equal@npm:^1.0.0": - version: 1.0.2 - resolution: "array-equal@npm:1.0.2" - checksum: c308184b1df488bed0eba1a8835d77789349d3859a334cb60f77df15dc4ab232c185c78b643ae68651eef1b7148942223d72fa1aba218d24ec6cf9637fb49d8e + version: 1.0.0 + resolution: "array-equal@npm:1.0.0" + checksum: 5841f0b823e6806d147d40e262a0f66cb7d3272b9f9ffa8dedb868fc7799cb410ae262a32f6f358baa6c3ee7d6271eeab86b516cdfd8f9a8fa12b4f15a18e119 languageName: node linkType: hard @@ -9944,10 +9819,10 @@ __metadata: languageName: node linkType: hard -"ast-types-flow@npm:^0.0.8": - version: 0.0.8 - resolution: "ast-types-flow@npm:0.0.8" - checksum: f2a0ba8055353b743c41431974521e5e852a9824870cd6fce2db0e538ac7bf4da406bbd018d109af29ff3f8f0993f6a730c9eddbd0abd031fbcb29ca75c1014e +"ast-types-flow@npm:^0.0.7": + version: 0.0.7 + resolution: "ast-types-flow@npm:0.0.7" + checksum: f381529f2da535949ba6cceddbdfaa33b4d5105842e147ec63582f560ea9ecc1a08f66457664f3109841d3053641fa8b9fa94ba607f1ea9f6c804fe5dee44a1d languageName: node linkType: hard @@ -10027,9 +9902,9 @@ __metadata: linkType: hard "async@npm:^3.2.3": - version: 3.2.5 - resolution: "async@npm:3.2.5" - checksum: 1408287b26c6db67d45cb346e34892cee555b8b59e6c68e6f8c3e495cad5ca13b4f218180e871f3c2ca30df4ab52693b66f2f6ff43644760cab0b2198bda79c1 + version: 3.2.4 + resolution: "async@npm:3.2.4" + checksum: b5d02fed64717edf49e35b2b156debd9cf524934ea670108fa5528e7615ed66a5e0bf6c65f832c9483b63aa7f0bffe3e588ebe8d58a539b833798d324516e1c9 languageName: node linkType: hard @@ -10083,14 +9958,7 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:=4.7.0": - version: 4.7.0 - resolution: "axe-core@npm:4.7.0" - checksum: 89ac5712b5932ac7d23398b4cb5ba081c394a086e343acc68ba49c83472706e18e0799804e8388c779dcdacc465377deb29f2714241d3fbb389cf3a6b275c9ba - languageName: node - linkType: hard - -"axe-core@npm:^4.2.0": +"axe-core@npm:^4.2.0, axe-core@npm:^4.6.2": version: 4.8.2 resolution: "axe-core@npm:4.8.2" checksum: ad9e1125ba226bbc73d442996d8b9b35fed9af8bcfa995831e29c3d6b8ddb0d16bc7d18c66c5a685211296ee99fe966ae4d59051ca6fbef2a7ee7408322b9dbe @@ -10117,7 +9985,7 @@ __metadata: languageName: node linkType: hard -"axobject-query@npm:^3.2.1": +"axobject-query@npm:^3.1.1, axobject-query@npm:^3.2.1": version: 3.2.1 resolution: "axobject-query@npm:3.2.1" dependencies: @@ -10167,23 +10035,6 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "babel-jest@npm:29.7.0" - dependencies: - "@jest/transform": "npm:^29.7.0" - "@types/babel__core": "npm:^7.1.14" - babel-plugin-istanbul: "npm:^6.1.1" - babel-preset-jest: "npm:^29.6.3" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - slash: "npm:^3.0.0" - peerDependencies: - "@babel/core": ^7.8.0 - checksum: 2eda9c1391e51936ca573dd1aedfee07b14c59b33dbe16ef347873ddd777bcf6e2fc739681e9e9661ab54ef84a3109a03725be2ac32cd2124c07ea4401cbe8c1 - languageName: node - linkType: hard - "babel-loader@npm:9.1.3, babel-loader@npm:^7.0.0 || ^8.0.0 || ^9.0.0, babel-loader@npm:^9.0.0, babel-loader@npm:^9.1.2": version: 9.1.3 resolution: "babel-loader@npm:9.1.3" @@ -10268,18 +10119,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-plugin-jest-hoist@npm:29.6.3" - dependencies: - "@babel/template": "npm:^7.3.3" - "@babel/types": "npm:^7.3.3" - "@types/babel__core": "npm:^7.1.14" - "@types/babel__traverse": "npm:^7.0.6" - checksum: 7e6451caaf7dce33d010b8aafb970e62f1b0c0b57f4978c37b0d457bbcf0874d75a395a102daf0bae0bd14eafb9f6e9a165ee5e899c0a4f1f3bb2e07b304ed2e - languageName: node - linkType: hard - "babel-plugin-macros@npm:^3.1.0": version: 3.1.0 resolution: "babel-plugin-macros@npm:3.1.0" @@ -10382,18 +10221,6 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-preset-jest@npm:29.6.3" - dependencies: - babel-plugin-jest-hoist: "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: ec5fd0276b5630b05f0c14bb97cc3815c6b31600c683ebb51372e54dcb776cff790bdeeabd5b8d01ede375a040337ccbf6a3ccd68d3a34219125945e167ad943 - languageName: node - linkType: hard - "babel-walk@npm:3.0.0-canary-5": version: 3.0.0-canary-5 resolution: "babel-walk@npm:3.0.0-canary-5" @@ -10501,9 +10328,9 @@ __metadata: linkType: hard "big-integer@npm:^1.6.44": - version: 1.6.52 - resolution: "big-integer@npm:1.6.52" - checksum: 9604224b4c2ab3c43c075d92da15863077a9f59e5d4205f4e7e76acd0cd47e8d469ec5e5dba8d9b32aa233951893b29329ca56ac80c20ce094b4a647a66abae0 + version: 1.6.51 + resolution: "big-integer@npm:1.6.51" + checksum: c8139662d57f8833a44802f4b65be911679c569535ea73c5cfd3c1c8994eaead1b84b6f63e1db63833e4d4cacb6b6a9e5522178113dfdc8e4c81ed8436f1e8cc languageName: node linkType: hard @@ -11061,27 +10888,13 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.14.5, browserslist@npm:^4.21.5, browserslist@npm:^4.21.9, browserslist@npm:^4.22.1": - version: 4.22.1 - resolution: "browserslist@npm:4.22.1" +"browserslist@npm:^4.14.5, browserslist@npm:^4.21.10, browserslist@npm:^4.21.5, browserslist@npm:^4.22.1, browserslist@npm:^4.22.2": + version: 4.22.2 + resolution: "browserslist@npm:4.22.2" dependencies: - caniuse-lite: "npm:^1.0.30001541" - electron-to-chromium: "npm:^1.4.535" - node-releases: "npm:^2.0.13" - update-browserslist-db: "npm:^1.0.13" - bin: - browserslist: cli.js - checksum: 6810f2d63f171d0b7b8d38cf091708e00cb31525501810a507839607839320d66e657293b0aa3d7f051ecbc025cb07390a90c037682c1d05d12604991e41050b - languageName: node - linkType: hard - -"browserslist@npm:^4.21.10": - version: 4.22.2 - resolution: "browserslist@npm:4.22.2" - dependencies: - caniuse-lite: "npm:^1.0.30001565" - electron-to-chromium: "npm:^1.4.601" - node-releases: "npm:^2.0.14" + caniuse-lite: "npm:^1.0.30001565" + electron-to-chromium: "npm:^1.4.601" + node-releases: "npm:^2.0.14" update-browserslist-db: "npm:^1.0.13" bin: browserslist: cli.js @@ -11089,15 +10902,6 @@ __metadata: languageName: node linkType: hard -"bs-logger@npm:0.x, bs-logger@npm:^0.2.6": - version: 0.2.6 - resolution: "bs-logger@npm:0.2.6" - dependencies: - fast-json-stable-stringify: "npm:2.x" - checksum: 80e89aaaed4b68e3374ce936f2eb097456a0dddbf11f75238dbd53140b1e39259f0d248a5089ed456f1158984f22191c3658d54a713982f676709fbe1a6fa5a0 - languageName: node - linkType: hard - "bs-recipes@npm:1.3.4": version: 1.3.4 resolution: "bs-recipes@npm:1.3.4" @@ -11223,6 +11027,13 @@ __metadata: languageName: node linkType: hard +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 + languageName: node + linkType: hard + "cacache@npm:^16.1.0": version: 16.1.3 resolution: "cacache@npm:16.1.3" @@ -11249,6 +11060,26 @@ __metadata: languageName: node linkType: hard +"cacache@npm:^17.0.0": + version: 17.1.4 + resolution: "cacache@npm:17.1.4" + dependencies: + "@npmcli/fs": "npm:^3.1.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^7.7.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^1.0.2" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^4.0.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + unique-filename: "npm:^3.0.0" + checksum: 21749dcf98c61dd570b179e51573b076c92e3f6c82166d37444242db66b92b1e6c6dc11c6059c027ac7bdef5479b513855059299cc11cda8212c49b0f69a3662 + languageName: node + linkType: hard + "cacache@npm:^18.0.0": version: 18.0.1 resolution: "cacache@npm:18.0.1" @@ -11317,7 +11148,7 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.4, call-bind@npm:^1.0.5": +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5": version: 1.0.5 resolution: "call-bind@npm:1.0.5" dependencies: @@ -11370,17 +11201,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001406, caniuse-lite@npm:^1.0.30001541": - version: 1.0.30001565 - resolution: "caniuse-lite@npm:1.0.30001565" - checksum: b400e0364651a700e39d59449ca6c65b26e2caceecc4b93ae54a01ed1f62d2a7e1333b1dc640d95fbe620ffa5be38fe4dbacd880cd7a1f42fc72bb8de9a2d0c9 - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001538, caniuse-lite@npm:^1.0.30001565": - version: 1.0.30001566 - resolution: "caniuse-lite@npm:1.0.30001566" - checksum: cd163075b1a9feaf9c9f657c3551279fcdac471471d67ee57ab2286c7b5480168e6336e359741b469fa40e94716f0f95ec185d87bd57d58894d66d8c21d7db04 +"caniuse-lite@npm:^1.0.30001406, caniuse-lite@npm:^1.0.30001538, caniuse-lite@npm:^1.0.30001565": + version: 1.0.30001570 + resolution: "caniuse-lite@npm:1.0.30001570" + checksum: e47230d2016edea56e002fa462a5289f697b48dcfbf703fb01aecc6c98ad4ecaf945ab23c253cb7af056c2d05f266e4e4cbebf45132100e2c9367439cb95b95b languageName: node linkType: hard @@ -11398,7 +11222,7 @@ __metadata: languageName: node linkType: hard -"chai@npm:^4.3.7": +"chai@npm:^4.3.10, chai@npm:^4.3.7": version: 4.3.10 resolution: "chai@npm:4.3.10" dependencies: @@ -11423,14 +11247,14 @@ __metadata: languageName: node linkType: hard -"chalk@npm:5.3.0, chalk@npm:^5.2.0, chalk@npm:^5.3.0": +"chalk@npm:5.3.0, chalk@npm:^5.3.0": version: 5.3.0 resolution: "chalk@npm:5.3.0" checksum: 8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 languageName: node linkType: hard -"chalk@npm:^2.0.0, chalk@npm:^2.1.0, chalk@npm:^2.3.0, chalk@npm:^2.4.2": +"chalk@npm:^2.0.0, chalk@npm:^2.3.0, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -11451,20 +11275,6 @@ __metadata: languageName: node linkType: hard -"char-regex@npm:^1.0.2": - version: 1.0.2 - resolution: "char-regex@npm:1.0.2" - checksum: 57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e - languageName: node - linkType: hard - -"char-regex@npm:^2.0.0": - version: 2.0.1 - resolution: "char-regex@npm:2.0.1" - checksum: ec592229ac3ef18f2ea1f5676ae9a829c37150db55fd7f709edce1bcdc9f506de22ae19388d853704806e51af71fe9239bcb7e7be583296951bfbf2a9a9763a2 - languageName: node - linkType: hard - "character-entities-html4@npm:^2.0.0": version: 2.1.0 resolution: "character-entities-html4@npm:2.1.0" @@ -11590,14 +11400,14 @@ __metadata: languageName: node linkType: hard -"chromatic@npm:^7.2.3": - version: 7.6.0 - resolution: "chromatic@npm:7.6.0" +"chromatic@npm:^9.0.0": + version: 9.1.0 + resolution: "chromatic@npm:9.1.0" bin: chroma: dist/bin.js chromatic: dist/bin.js chromatic-cli: dist/bin.js - checksum: 5ed93689daea8ad22fe3a81e7238357933063905cf5f3acb5a2ec54dbcb5f9ae18c0c66b8bc2d7ed0c909144d9620864f97db70427d10f46de6c7960f6612b2b + checksum: 27d0ff5ef993024301f31d137e9774b051de908d48dcd461c33b51c92e5e7b57cd062eaddafcd02f1c2a98cfe5d5ef26b7fcdf77b76df94e357171074a23b950 languageName: node linkType: hard @@ -11632,13 +11442,6 @@ __metadata: languageName: node linkType: hard -"cjs-module-lexer@npm:^1.0.0": - version: 1.2.3 - resolution: "cjs-module-lexer@npm:1.2.3" - checksum: 0de9a9c3fad03a46804c0d38e7b712fb282584a9c7ef1ed44cae22fb71d9bb600309d66a9711ac36a596fd03422f5bb03e021e8f369c12a39fa1786ae531baab - languageName: node - linkType: hard - "class-utils@npm:^0.3.5": version: 0.3.6 resolution: "class-utils@npm:0.3.6" @@ -11652,11 +11455,11 @@ __metadata: linkType: hard "clean-css@npm:^5.2.2": - version: 5.3.3 - resolution: "clean-css@npm:5.3.3" + version: 5.3.2 + resolution: "clean-css@npm:5.3.2" dependencies: source-map: "npm:~0.6.0" - checksum: 381de7523e23f3762eb180e327dcc0cedafaf8cb1cd8c26b7cc1fc56e0829a92e734729c4f955394d65ed72fb62f82d8baf78af34b33b8a7d41ebad2accdd6fb + checksum: 315e0e81306524bd2c1905fa6823bf7658be40799b78f446e5e6922808718d2b80266fb3e96842a06176fa683bc2c1a0d2827b08d154e2f9cf136d7bda909d33 languageName: node linkType: hard @@ -11707,9 +11510,9 @@ __metadata: linkType: hard "cli-spinners@npm:^2.5.0": - version: 2.9.2 - resolution: "cli-spinners@npm:2.9.2" - checksum: 907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 + version: 2.9.1 + resolution: "cli-spinners@npm:2.9.1" + checksum: c9b1152bd387e5b76823bdee6f19079c4017994d352627216e5d3dab9220a8402514519ad96a0a12120b80752fead98d1e7a7a5f56ce32125f92778ef47bdd8c languageName: node linkType: hard @@ -11876,13 +11679,6 @@ __metadata: languageName: node linkType: hard -"collect-v8-coverage@npm:^1.0.0": - version: 1.0.2 - resolution: "collect-v8-coverage@npm:1.0.2" - checksum: ed7008e2e8b6852c5483b444a3ae6e976e088d4335a85aa0a9db2861c5f1d31bd2d7ff97a60469b3388deeba661a619753afbe201279fb159b4b9548ab8269a1 - languageName: node - linkType: hard - "collection-visit@npm:^1.0.0": version: 1.0.0 resolution: "collection-visit@npm:1.0.0" @@ -12041,9 +11837,9 @@ __metadata: linkType: hard "component-emitter@npm:^1.2.1": - version: 1.3.1 - resolution: "component-emitter@npm:1.3.1" - checksum: e4900b1b790b5e76b8d71b328da41482118c0f3523a516a41be598dc2785a07fd721098d9bf6e22d89b19f4fa4e1025160dc00317ea111633a3e4f75c2b86032 + version: 1.3.0 + resolution: "component-emitter@npm:1.3.0" + checksum: 68774a0a3754fb6c0ba53c2e88886dfbd0c773931066abb1d7fd1b0c893b2a838d8f088ab4dca1f18cc1a4fc2e6932019eba3ded2d931b5ba2241ce40e93a24f languageName: node linkType: hard @@ -12078,13 +11874,6 @@ __metadata: languageName: node linkType: hard -"computeds@npm:^0.0.1": - version: 0.0.1 - resolution: "computeds@npm:0.0.1" - checksum: 8a8736f1f43e4a99286519785d71a10ece8f444a2fa1fc2fe1f03dedf63f3477b45094002c85a2826f7631759c9f5a00b4ace47456997f253073fc525e8983de - languageName: node - linkType: hard - "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -12212,7 +12001,7 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.5.1, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": +"convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.5.1, convert-source-map@npm:^1.7.0": version: 1.9.0 resolution: "convert-source-map@npm:1.9.0" checksum: 281da55454bf8126cbc6625385928c43479f2060984180c42f3a86c8b8c12720a24eac260624a7d1e090004028d2dee78602330578ceec1a08e27cb8bb0a8a5b @@ -12298,9 +12087,9 @@ __metadata: linkType: hard "core-js-pure@npm:^3.23.3, core-js-pure@npm:^3.30.2": - version: 3.33.3 - resolution: "core-js-pure@npm:3.33.3" - checksum: 97cf39cc013f6a4f77700762de36b495228b3c087fc04b61e86bfbfb475595529966cabbcf37e738e3a468c486e815c85118d120cc6fc4960da08a14caf69826 + version: 3.33.0 + resolution: "core-js-pure@npm:3.33.0" + checksum: dbb683bf6c5d3671129e5029e0f8047a388818bb9720352c839f46ac5627b5fed763135b9a1df89452f2afee78e49639def6063e82fc6995c4e98c31f2892db5 languageName: node linkType: hard @@ -12312,9 +12101,9 @@ __metadata: linkType: hard "core-js@npm:^3.8.2": - version: 3.33.3 - resolution: "core-js@npm:3.33.3" - checksum: 08abdc9470c8228b9d09f61e62ab312738681202c4c34e9638889125b304b235f34c4fe22e9d41c20906ac0fcc807dca57c5ff7d6b90021bf64e8fe23461d9ab + version: 3.33.0 + resolution: "core-js@npm:3.33.0" + checksum: f51192f311c2d75b94ebe4eb7210f91df2cb6de101b96da1a65f43cf52b9c5cfe1ce5ebebb86281e452d2ee949730afb72fb7ac826c655c9de3a92f793cf3b80 languageName: node linkType: hard @@ -12409,23 +12198,6 @@ __metadata: languageName: node linkType: hard -"create-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "create-jest@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - prompts: "npm:^2.0.1" - bin: - create-jest: bin/create-jest.js - checksum: e7e54c280692470d3398f62a6238fd396327e01c6a0757002833f06d00afc62dd7bfe04ff2b9cd145264460e6b4d1eb8386f2925b7e567f97939843b7b0e812f - languageName: node - linkType: hard - "create-require@npm:^1.1.0": version: 1.1.1 resolution: "create-require@npm:1.1.1" @@ -12561,7 +12333,7 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:^2.0.1, css-tree@npm:^2.3.1": +"css-tree@npm:^2.3.1": version: 2.3.1 resolution: "css-tree@npm:2.3.1" dependencies: @@ -12605,26 +12377,12 @@ __metadata: languageName: node linkType: hard -"cssom@npm:^0.5.0": - version: 0.5.0 - resolution: "cssom@npm:0.5.0" - checksum: 8c4121c243baf0678c65dcac29b201ff0067dfecf978de9d5c83b2ff127a8fdefd2bfd54577f5ad8c80ed7d2c8b489ae01c82023545d010c4ecb87683fb403dd - languageName: node - linkType: hard - -"cssom@npm:~0.3.6": - version: 0.3.8 - resolution: "cssom@npm:0.3.8" - checksum: d74017b209440822f9e24d8782d6d2e808a8fdd58fa626a783337222fe1c87a518ba944d4c88499031b4786e68772c99dfae616638d71906fe9f203aeaf14411 - languageName: node - linkType: hard - -"cssstyle@npm:^2.3.0": - version: 2.3.0 - resolution: "cssstyle@npm:2.3.0" +"cssstyle@npm:^3.0.0": + version: 3.0.0 + resolution: "cssstyle@npm:3.0.0" dependencies: - cssom: "npm:~0.3.6" - checksum: 863400da2a458f73272b9a55ba7ff05de40d850f22eb4f37311abebd7eff801cf1cd2fb04c4c92b8c3daed83fe766e52e4112afb7bc88d86c63a9c2256a7d178 + rrweb-cssom: "npm:^0.6.0" + checksum: 23acee092c1cec670fb7b8110e48abd740dc4e574d3b74848743067cb3377a86a1f64cf02606aabd7bb153785e68c2c1e09ce53295ddf7a4b470b3c7c55ec807 languageName: node linkType: hard @@ -12636,9 +12394,9 @@ __metadata: linkType: hard "csstype@npm:^3.0.2, csstype@npm:^3.1.2": - version: 3.1.2 - resolution: "csstype@npm:3.1.2" - checksum: 32c038af259897c807ac738d9eab16b3d86747c72b09d5c740978e06f067f9b7b1737e1b75e407c7ab1fe1543dc95f20e202b4786aeb1b8d3bdf5d5ce655e6c6 + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 languageName: node linkType: hard @@ -12650,8 +12408,8 @@ __metadata: linkType: hard "danger@npm:^11.2.6": - version: 11.3.0 - resolution: "danger@npm:11.3.0" + version: 11.3.1 + resolution: "danger@npm:11.3.1" dependencies: "@gitbeaker/core": "npm:^35.8.1" "@gitbeaker/node": "npm:^35.8.1" @@ -12701,7 +12459,7 @@ __metadata: danger-process: distribution/commands/danger-process.js danger-reset-status: distribution/commands/danger-reset-status.js danger-runner: distribution/commands/danger-runner.js - checksum: 568a6c2bdbef663c9d1fca36651939b39bf7a158867bdf955054bdc0f16533658aaf258ab9bc1c1bf517609b6eabe776e3d24a0364903a5a38bf67d8d690b252 + checksum: 0a2a7655817200fb3488645787268842ba6c8fadbf6fa8c3e6d13718564a6f915ef1f70020686b9b8b94a050fb80eaeb8b6abf0f8525162ddd739da5ad51d432 languageName: node linkType: hard @@ -12712,14 +12470,13 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^3.0.2": - version: 3.0.2 - resolution: "data-urls@npm:3.0.2" +"data-urls@npm:^5.0.0": + version: 5.0.0 + resolution: "data-urls@npm:5.0.0" dependencies: - abab: "npm:^2.0.6" - whatwg-mimetype: "npm:^3.0.0" - whatwg-url: "npm:^11.0.0" - checksum: 051c3aaaf3e961904f136aab095fcf6dff4db23a7fc759dd8ba7b3e6ba03fc07ef608086caad8ab910d864bd3b5e57d0d2f544725653d77c96a2c971567045f4 + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.0.0" + checksum: 1b894d7d41c861f3a4ed2ae9b1c3f0909d4575ada02e36d3d3bc584bdd84278e20709070c79c3b3bff7ac98598cb191eb3e86a89a79ea4ee1ef360e1694f92ad languageName: node linkType: hard @@ -12788,7 +12545,7 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.4.2": +"decimal.js@npm:^10.4.3": version: 10.4.3 resolution: "decimal.js@npm:10.4.3" checksum: 6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee @@ -12827,18 +12584,6 @@ __metadata: languageName: node linkType: hard -"dedent@npm:^1.0.0": - version: 1.5.1 - resolution: "dedent@npm:1.5.1" - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - checksum: f8612cd5b00aab58b18bb95572dca08dc2d49720bfa7201a444c3dae430291e8a06d4928614a6ec8764d713927f44bce9c990d3b8238fca2f430990ddc17c070 - languageName: node - linkType: hard - "deep-eql@npm:^4.1.3": version: 4.1.3 resolution: "deep-eql@npm:4.1.3" @@ -12849,27 +12594,27 @@ __metadata: linkType: hard "deep-equal@npm:^1.1.1": - version: 1.1.2 - resolution: "deep-equal@npm:1.1.2" + version: 1.1.1 + resolution: "deep-equal@npm:1.1.1" dependencies: - is-arguments: "npm:^1.1.1" - is-date-object: "npm:^1.0.5" - is-regex: "npm:^1.1.4" - object-is: "npm:^1.1.5" + is-arguments: "npm:^1.0.4" + is-date-object: "npm:^1.0.1" + is-regex: "npm:^1.0.4" + object-is: "npm:^1.0.1" object-keys: "npm:^1.1.1" - regexp.prototype.flags: "npm:^1.5.1" - checksum: cd85d822d18e9b3e1532d0f6ba412d229aa9d22881d70da161674428ae96e47925191296f7cda29306bac252889007da40ed8449363bd1c96c708acb82068a00 + regexp.prototype.flags: "npm:^1.2.0" + checksum: 473d5dd1d707afd5ad3068864765590591b049d0e0d9a01931599dbbd820e35f09d0a42faa6e4644deb7cf6b7dc90f7bfdf5559f42279d67f714209b62036212 languageName: node linkType: hard "deep-equal@npm:^2.0.5": - version: 2.2.3 - resolution: "deep-equal@npm:2.2.3" + version: 2.2.2 + resolution: "deep-equal@npm:2.2.2" dependencies: array-buffer-byte-length: "npm:^1.0.0" - call-bind: "npm:^1.0.5" + call-bind: "npm:^1.0.2" es-get-iterator: "npm:^1.1.3" - get-intrinsic: "npm:^1.2.2" + get-intrinsic: "npm:^1.2.1" is-arguments: "npm:^1.1.1" is-array-buffer: "npm:^3.0.2" is-date-object: "npm:^1.0.5" @@ -12879,12 +12624,12 @@ __metadata: object-is: "npm:^1.1.5" object-keys: "npm:^1.1.1" object.assign: "npm:^4.1.4" - regexp.prototype.flags: "npm:^1.5.1" + regexp.prototype.flags: "npm:^1.5.0" side-channel: "npm:^1.0.4" which-boxed-primitive: "npm:^1.0.2" which-collection: "npm:^1.0.1" - which-typed-array: "npm:^1.1.13" - checksum: a48244f90fa989f63ff5ef0cc6de1e4916b48ea0220a9c89a378561960814794a5800c600254482a2c8fd2e49d6c2e196131dc983976adb024c94a42dfe4949f + which-typed-array: "npm:^1.1.9" + checksum: 07b46a9a848efdab223abc7e3ba612ef9168d88970c3400df185d5840a30ca384749c996ae5d7af844d6b27c42587fb73a4445c63e38aac77c2d0ed9a63faa87 languageName: node linkType: hard @@ -13016,9 +12761,9 @@ __metadata: linkType: hard "defu@npm:^6.1.2": - version: 6.1.3 - resolution: "defu@npm:6.1.3" - checksum: 60d0d9a6e328148d5313fe0239ba3777701291f35570b52562454653d953fec5281b084514540f8d3b60d61bad9e39b52e95b3c0451631ded220ad8fdc893455 + version: 6.1.2 + resolution: "defu@npm:6.1.2" + checksum: ceb467f8f30d4000ae5300105904736113826a3d4124640b70e145b243d6c78c868de03634038d870e0855ff4cdfd17324a8caf7386229501a5bb776adb682f4 languageName: node linkType: hard @@ -13125,7 +12870,7 @@ __metadata: languageName: node linkType: hard -"detect-newline@npm:3.1.0, detect-newline@npm:^3.0.0": +"detect-newline@npm:3.1.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" checksum: c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d @@ -13198,15 +12943,6 @@ __metadata: languageName: node linkType: hard -"diffable-html@npm:^4.1.0": - version: 4.1.0 - resolution: "diffable-html@npm:4.1.0" - dependencies: - htmlparser2: "npm:^3.9.2" - checksum: 4224133455312e03dd5b84cec0a7d7390552ae30fc5ceb24256c4973e7b51ab2ba69f8b8dbeaaa3feb2b92d3fdd57476dcb7afeada793130ab340720c6a553c7 - languageName: node - linkType: hard - "diffie-hellman@npm:^5.0.0": version: 5.0.3 resolution: "diffie-hellman@npm:5.0.3" @@ -13303,16 +13039,6 @@ __metadata: languageName: node linkType: hard -"dom-serializer@npm:0": - version: 0.2.2 - resolution: "dom-serializer@npm:0.2.2" - dependencies: - domelementtype: "npm:^2.0.1" - entities: "npm:^2.0.0" - checksum: 5cb595fb77e1a23eca56742f47631e6f4af66ce1982c7ed28b3d0ef21f1f50304c067adc29d3eaf824c572be022cee88627d0ac9b929408f24e923f3c7bed37b - languageName: node - linkType: hard - "dom-serializer@npm:^1.0.1": version: 1.4.1 resolution: "dom-serializer@npm:1.4.1" @@ -13336,16 +13062,9 @@ __metadata: linkType: hard "domain-browser@npm:^4.22.0": - version: 4.23.0 - resolution: "domain-browser@npm:4.23.0" - checksum: dfcc6ba070a2c968a4d922e7d99ef440d1076812af0d983404aadf64729f746bb4a0ad2c5e73ccd5d9cf41bc79037f2a1e4a915bdf33d07e0d77f487b635b5b2 - languageName: node - linkType: hard - -"domelementtype@npm:1, domelementtype@npm:^1.3.1": - version: 1.3.1 - resolution: "domelementtype@npm:1.3.1" - checksum: 6d4f5761060a21eaf3c96545501e9d188745c7e1c31b8d141bf15d8748feeadba868f4ea32877751b8678b286fb1afbe6ae905ca3fb8f0214d8322e482cdbec0 + version: 4.22.0 + resolution: "domain-browser@npm:4.22.0" + checksum: 2ef7eda6d2161038fda0c9aa4c9e18cc7a0baa89ea6be975d449527c2eefd4b608425db88508e2859acc472f46f402079274b24bd75e3fb506f28c5dba203129 languageName: node linkType: hard @@ -13356,24 +13075,6 @@ __metadata: languageName: node linkType: hard -"domexception@npm:^4.0.0": - version: 4.0.0 - resolution: "domexception@npm:4.0.0" - dependencies: - webidl-conversions: "npm:^7.0.0" - checksum: 774277cd9d4df033f852196e3c0077a34dbd15a96baa4d166e0e47138a80f4c0bdf0d94e4703e6ff5883cec56bb821a6fff84402d8a498e31de7c87eb932a294 - languageName: node - linkType: hard - -"domhandler@npm:^2.3.0": - version: 2.4.2 - resolution: "domhandler@npm:2.4.2" - dependencies: - domelementtype: "npm:1" - checksum: 6670cab73e97e3c6771dcf22b537db3f6a0be0ad6b370f03bb5f1b585d3b563d326787fdabe1190b7ca9d81c804e9b3f8a1431159c27c44f6c05f94afa92be2d - languageName: node - linkType: hard - "domhandler@npm:^3.0.0": version: 3.3.0 resolution: "domhandler@npm:3.3.0" @@ -13401,16 +13102,6 @@ __metadata: languageName: node linkType: hard -"domutils@npm:^1.5.1": - version: 1.7.0 - resolution: "domutils@npm:1.7.0" - dependencies: - dom-serializer: "npm:0" - domelementtype: "npm:1" - checksum: 437fcd2d6d6be03f488152e73c6f953e289c58496baa22be9626b2b46f9cfd40486ae77d144487ff6b102929a3231cdb9a8bf8ef485fb7b7c30c985daedc77eb - languageName: node - linkType: hard - "domutils@npm:^2.0.0, domutils@npm:^2.5.2, domutils@npm:^2.8.0": version: 2.8.0 resolution: "domutils@npm:2.8.0" @@ -13573,13 +13264,6 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.535": - version: 1.4.600 - resolution: "electron-to-chromium@npm:1.4.600" - checksum: 7f4a52ed08317ccf1ecb3eb78d29dd6cf13c54b3613bd511638d2469a05cff995f332688fb26b4c63b61fd2b1e6e12765fec46cb10fd4d969d27b6f739a2d1d0 - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.4.601": version: 1.4.601 resolution: "electron-to-chromium@npm:1.4.601" @@ -13758,13 +13442,6 @@ __metadata: languageName: node linkType: hard -"emittery@npm:^0.13.1": - version: 0.13.1 - resolution: "emittery@npm:0.13.1" - checksum: 1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 - languageName: node - linkType: hard - "emoji-regex@npm:^7.0.1": version: 7.0.3 resolution: "emoji-regex@npm:7.0.3" @@ -13900,13 +13577,6 @@ __metadata: languageName: node linkType: hard -"entities@npm:^1.1.1": - version: 1.1.2 - resolution: "entities@npm:1.1.2" - checksum: 5b12fa8c4fb942f88af6f8791bbe7be0a59ebd91c8933cee091d94455efd1eeb200418c7b1bc8dd0f74cdd4db8cf4538eb043db14cfd1919130c25d8c6095215 - languageName: node - linkType: hard - "entities@npm:^2.0.0": version: 2.2.0 resolution: "entities@npm:2.2.0" @@ -13981,24 +13651,24 @@ __metadata: linkType: hard "es-abstract@npm:^1.22.1": - version: 1.22.3 - resolution: "es-abstract@npm:1.22.3" + version: 1.22.2 + resolution: "es-abstract@npm:1.22.2" dependencies: array-buffer-byte-length: "npm:^1.0.0" arraybuffer.prototype.slice: "npm:^1.0.2" available-typed-arrays: "npm:^1.0.5" - call-bind: "npm:^1.0.5" + call-bind: "npm:^1.0.2" es-set-tostringtag: "npm:^2.0.1" es-to-primitive: "npm:^1.2.1" function.prototype.name: "npm:^1.1.6" - get-intrinsic: "npm:^1.2.2" + get-intrinsic: "npm:^1.2.1" get-symbol-description: "npm:^1.0.0" globalthis: "npm:^1.0.3" gopd: "npm:^1.0.1" + has: "npm:^1.0.3" has-property-descriptors: "npm:^1.0.0" has-proto: "npm:^1.0.1" has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.0" internal-slot: "npm:^1.0.5" is-array-buffer: "npm:^3.0.2" is-callable: "npm:^1.2.7" @@ -14008,7 +13678,7 @@ __metadata: is-string: "npm:^1.0.7" is-typed-array: "npm:^1.1.12" is-weakref: "npm:^1.0.2" - object-inspect: "npm:^1.13.1" + object-inspect: "npm:^1.12.3" object-keys: "npm:^1.1.1" object.assign: "npm:^4.1.4" regexp.prototype.flags: "npm:^1.5.1" @@ -14022,8 +13692,8 @@ __metadata: typed-array-byte-offset: "npm:^1.0.0" typed-array-length: "npm:^1.0.4" unbox-primitive: "npm:^1.0.2" - which-typed-array: "npm:^1.1.13" - checksum: da31ec43b1c8eb47ba8a17693cac143682a1078b6c3cd883ce0e2062f135f532e93d873694ef439670e1f6ca03195118f43567ba6f33fb0d6c7daae750090236 + which-typed-array: "npm:^1.1.11" + checksum: a491c640a01b7c18f3cc626a3d08b5c67f8d3dac70ff8b4268cda6fa0ebed80bb028ff3ee731137512e054d39e98d02575144da904fe28045019fc59e503f1f8 languageName: node linkType: hard @@ -14044,7 +13714,7 @@ __metadata: languageName: node linkType: hard -"es-iterator-helpers@npm:^1.0.12, es-iterator-helpers@npm:^1.0.15": +"es-iterator-helpers@npm:^1.0.12": version: 1.0.15 resolution: "es-iterator-helpers@npm:1.0.15" dependencies: @@ -14081,22 +13751,22 @@ __metadata: linkType: hard "es-set-tostringtag@npm:^2.0.1": - version: 2.0.2 - resolution: "es-set-tostringtag@npm:2.0.2" + version: 2.0.1 + resolution: "es-set-tostringtag@npm:2.0.1" dependencies: - get-intrinsic: "npm:^1.2.2" + get-intrinsic: "npm:^1.1.3" + has: "npm:^1.0.3" has-tostringtag: "npm:^1.0.0" - hasown: "npm:^2.0.0" - checksum: 176d6bd1be31dd0145dcceee62bb78d4a5db7f81db437615a18308a6f62bcffe45c15081278413455e8cf0aad4ea99079de66f8de389605942dfdacbad74c2d5 + checksum: 9af096365e3861bb29755cc5f76f15f66a7eab0e83befca396129090c1d9737e54090278b8e5357e97b5f0a5b0459fca07c40c6740884c2659cbf90ef8e508cc languageName: node linkType: hard "es-shim-unscopables@npm:^1.0.0": - version: 1.0.2 - resolution: "es-shim-unscopables@npm:1.0.2" + version: 1.0.0 + resolution: "es-shim-unscopables@npm:1.0.0" dependencies: - hasown: "npm:^2.0.0" - checksum: f495af7b4b7601a4c0cfb893581c352636e5c08654d129590386a33a0432cf13a7bdc7b6493801cadd990d838e2839b9013d1de3b880440cb537825e834fe783 + has: "npm:^1.0.3" + checksum: d54a66239fbd19535b3e50333913260394f14d2d7adb136a95396a13ca584bab400cf9cb2ffd9232f3fe2f0362540bd3a708240c493e46e13fe0b90cfcfedc3d languageName: node linkType: hard @@ -14159,15 +13829,6 @@ __metadata: languageName: node linkType: hard -"esbuild-wasm@npm:>=0.13.8": - version: 0.19.8 - resolution: "esbuild-wasm@npm:0.19.8" - bin: - esbuild: bin/esbuild - checksum: 453831a62c64f090f444cfb205952592478974dad7f7596084c7c13d41993500c84002c9bdd42db4b460430f762186ff00f5ca2d39d48cf81391258c438cc585 - languageName: node - linkType: hard - "esbuild@npm:^0.18.0": version: 0.18.20 resolution: "esbuild@npm:0.18.20" @@ -14287,7 +13948,7 @@ __metadata: languageName: node linkType: hard -"escodegen@npm:^2.0.0, escodegen@npm:^2.1.0": +"escodegen@npm:^2.1.0": version: 2.1.0 resolution: "escodegen@npm:2.1.0" dependencies: @@ -14488,28 +14149,28 @@ __metadata: linkType: hard "eslint-plugin-jsx-a11y@npm:^6.4.1": - version: 6.8.0 - resolution: "eslint-plugin-jsx-a11y@npm:6.8.0" + version: 6.7.1 + resolution: "eslint-plugin-jsx-a11y@npm:6.7.1" dependencies: - "@babel/runtime": "npm:^7.23.2" - aria-query: "npm:^5.3.0" - array-includes: "npm:^3.1.7" - array.prototype.flatmap: "npm:^1.3.2" - ast-types-flow: "npm:^0.0.8" - axe-core: "npm:=4.7.0" - axobject-query: "npm:^3.2.1" + "@babel/runtime": "npm:^7.20.7" + aria-query: "npm:^5.1.3" + array-includes: "npm:^3.1.6" + array.prototype.flatmap: "npm:^1.3.1" + ast-types-flow: "npm:^0.0.7" + axe-core: "npm:^4.6.2" + axobject-query: "npm:^3.1.1" damerau-levenshtein: "npm:^1.0.8" emoji-regex: "npm:^9.2.2" - es-iterator-helpers: "npm:^1.0.15" - hasown: "npm:^2.0.0" - jsx-ast-utils: "npm:^3.3.5" - language-tags: "npm:^1.0.9" + has: "npm:^1.0.3" + jsx-ast-utils: "npm:^3.3.3" + language-tags: "npm:=1.0.5" minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.7" - object.fromentries: "npm:^2.0.7" + object.entries: "npm:^1.1.6" + object.fromentries: "npm:^2.0.6" + semver: "npm:^6.3.0" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 199b883e526e6f9d7c54cb3f094abc54f11a1ec816db5fb6cae3b938eb0e503acc10ccba91ca7451633a9d0b9abc0ea03601844a8aba5fe88c5e8897c9ac8f49 + checksum: 41ad3d0c8036b36cd475685c1ad639157f403b16e8ac23c07f1dbe0226ccf8458f2805cbd5cc8e56856a5d8a356f3276e3139274d819476ccad80c41b9245502 languageName: node linkType: hard @@ -14625,17 +14286,16 @@ __metadata: linkType: hard "eslint@npm:^8.28.0": - version: 8.54.0 - resolution: "eslint@npm:8.54.0" + version: 8.50.0 + resolution: "eslint@npm:8.50.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.3" - "@eslint/js": "npm:8.54.0" - "@humanwhocodes/config-array": "npm:^0.11.13" + "@eslint/eslintrc": "npm:^2.1.2" + "@eslint/js": "npm:8.50.0" + "@humanwhocodes/config-array": "npm:^0.11.11" "@humanwhocodes/module-importer": "npm:^1.0.1" "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" cross-spawn: "npm:^7.0.2" @@ -14668,7 +14328,7 @@ __metadata: text-table: "npm:^0.2.0" bin: eslint: bin/eslint.js - checksum: 4f205f832bdbd0218cde374b067791f4f76d7abe8de86b2dc849c273899051126d912ebf71531ee49b8eeaa22cad77febdc8f2876698dc2a76e84a8cb976af22 + checksum: 91629528cb240bc61b25480574d35cd54ed444cb61a70fa76f7d5ab26af2b637b94bf8fba94403c9052c1baa944a169b6ab9cc8070496e925f7eeef730ff9038 languageName: node linkType: hard @@ -14923,6 +14583,23 @@ __metadata: languageName: node linkType: hard +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af + languageName: node + linkType: hard + "exectimer@npm:^2.2.2": version: 2.2.2 resolution: "exectimer@npm:2.2.2" @@ -14940,13 +14617,6 @@ __metadata: languageName: node linkType: hard -"exit@npm:^0.1.2": - version: 0.1.2 - resolution: "exit@npm:0.1.2" - checksum: 71d2ad9b36bc25bb8b104b17e830b40a08989be7f7d100b13269aaae7c3784c3e6e1e88a797e9e87523993a25ba27c8958959a554535370672cfb4d824af8989 - languageName: node - linkType: hard - "expand-brackets@npm:^2.1.4": version: 2.1.4 resolution: "expand-brackets@npm:2.1.4" @@ -14985,7 +14655,7 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.0.0, expect@npm:^29.7.0": +"expect@npm:^29.7.0": version: 29.7.0 resolution: "expect@npm:29.7.0" dependencies: @@ -15158,7 +14828,7 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": +"fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" checksum: 7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b @@ -15519,13 +15189,13 @@ __metadata: linkType: hard "flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" + version: 3.1.0 + resolution: "flat-cache@npm:3.1.0" dependencies: - flatted: "npm:^3.2.9" + flatted: "npm:^3.2.7" keyv: "npm:^4.5.3" rimraf: "npm:^3.0.2" - checksum: b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + checksum: fcbf70a2a7d8664ef8f94e25d8b4a05d0594aee8ba0b53b5b7f6287877e8e5080ae893fc4a71fb3d803c7659aeaf801d49f12183b954e21ecd98a1d74012167e languageName: node linkType: hard @@ -15538,7 +15208,7 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.2.9": +"flatted@npm:^3.2.7": version: 3.2.9 resolution: "flatted@npm:3.2.9" checksum: 5c91c5a0a21bbc0b07b272231e5b4efe6b822bcb4ad317caf6bb06984be4042a9e9045026307da0fdb4583f1f545e317a67ef1231a59e71f7fced3cc429cfc53 @@ -15546,9 +15216,9 @@ __metadata: linkType: hard "flow-parser@npm:0.*": - version: 0.223.0 - resolution: "flow-parser@npm:0.223.0" - checksum: eaf6794e2343230e841752e461c58194aa7aafddce52cc7980627fd138ba7fdb3628c83fe22905c5796101fde4833d13426e128ba93d1222420d613f8f7b2c45 + version: 0.217.2 + resolution: "flow-parser@npm:0.217.2" + checksum: d61127283db052fddf8275b070eea76dda5d2926aea3d8659250e168d69478f4ebdbc2bede83aa05c29f464c420ce1d701691278d3041af0492bfc16193277b5 languageName: node linkType: hard @@ -15896,7 +15566,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": +"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": version: 2.3.3 resolution: "fsevents@npm:2.3.3" dependencies: @@ -15915,7 +15585,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": +"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": version: 2.3.3 resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" dependencies: @@ -16029,6 +15699,13 @@ __metadata: languageName: node linkType: hard +"get-caller-file@npm:^1.0.2": + version: 1.0.3 + resolution: "get-caller-file@npm:1.0.3" + checksum: 763dcee2de8ff60ae7e13a4bad8306205a2fbe108e555686344ddd9ef211b8bebfe459d3a739669257014c59e7cc1e7a44003c21af805c1214673e6a45f06c51 + languageName: node + linkType: hard + "get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" @@ -16036,14 +15713,14 @@ __metadata: languageName: node linkType: hard -"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": +"get-func-name@npm:^2.0.0, get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": version: 2.0.2 resolution: "get-func-name@npm:2.0.2" checksum: 89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2": +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1": version: 1.2.2 resolution: "get-intrinsic@npm:1.2.2" dependencies: @@ -16108,6 +15785,13 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 + languageName: node + linkType: hard + "get-symbol-description@npm:^1.0.0": version: 1.0.0 resolution: "get-symbol-description@npm:1.0.0" @@ -16308,11 +15992,11 @@ __metadata: linkType: hard "globals@npm:^13.19.0": - version: 13.23.0 - resolution: "globals@npm:13.23.0" + version: 13.22.0 + resolution: "globals@npm:13.22.0" dependencies: type-fest: "npm:^0.20.2" - checksum: fc05e184b3be59bffa2580f28551a12a758c3a18df4be91444202982c76f13f52821ad54ffaf7d3f2a4d2498fdf54aeaca8d4540fd9e860a9edb09d34ef4c507 + checksum: e7fda8fe048a3b4fdfb95602b7dcd87d719f4b3797a6ba7f43e50fe148cfe20edfd3abeb16cc301caf679ca0f3e059b561e2d5060f2133f20f52c85bb16ac394 languageName: node linkType: hard @@ -16438,7 +16122,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -16556,11 +16240,11 @@ __metadata: linkType: hard "has-property-descriptors@npm:^1.0.0": - version: 1.0.1 - resolution: "has-property-descriptors@npm:1.0.1" + version: 1.0.0 + resolution: "has-property-descriptors@npm:1.0.0" dependencies: - get-intrinsic: "npm:^1.2.2" - checksum: d62ba94b40150b00d621bc64a6aedb5bf0ee495308b4b7ed6bac856043db3cdfb1db553ae81cec91c9d2bd82057ff0e94145e7fa25d5aa5985ed32e0921927f6 + get-intrinsic: "npm:^1.1.1" + checksum: d4ca882b6960d6257bd28baa3ddfa21f068d260411004a093b30ca357c740e11e985771c85216a6d1eef4161e862657f48c4758ec8ab515223b3895200ad164b languageName: node linkType: hard @@ -16633,6 +16317,13 @@ __metadata: languageName: node linkType: hard +"has@npm:^1.0.3": + version: 1.0.4 + resolution: "has@npm:1.0.4" + checksum: 82c1220573dc1f0a014a5d6189ae52a1f820f99dfdc00323c3a725b5002dcb7f04e44f460fea7af068474b2dd7c88cbe1846925c84017be9e31e1708936d305b + languageName: node + linkType: hard + "hash-base@npm:^3.0.0": version: 3.1.0 resolution: "hash-base@npm:3.1.0" @@ -16832,6 +16523,15 @@ __metadata: languageName: node linkType: hard +"html-encoding-sniffer@npm:^4.0.0": + version: 4.0.0 + resolution: "html-encoding-sniffer@npm:4.0.0" + dependencies: + whatwg-encoding: "npm:^3.1.1" + checksum: 523398055dc61ac9b34718a719cb4aa691e4166f29187e211e1607de63dc25ac7af52ca7c9aead0c4b3c0415ffecb17326396e1202e2e86ff4bca4c0ee4c6140 + languageName: node + linkType: hard + "html-entities@npm:^2.1.0, html-entities@npm:^2.3.2": version: 2.4.0 resolution: "html-entities@npm:2.4.0" @@ -16883,8 +16583,8 @@ __metadata: linkType: hard "html-webpack-plugin@npm:^5.5.0": - version: 5.5.3 - resolution: "html-webpack-plugin@npm:5.5.3" + version: 5.5.4 + resolution: "html-webpack-plugin@npm:5.5.4" dependencies: "@types/html-minifier-terser": "npm:^6.0.0" html-minifier-terser: "npm:^6.0.2" @@ -16893,7 +16593,7 @@ __metadata: tapable: "npm:^2.0.0" peerDependencies: webpack: ^5.20.0 - checksum: 7ba0d0f87d08f5c4c51f821842d736ec1762940bc39798932528adaec1e9cca8f52944987b88789007f5706d15110edbdfa30df445d61c6628b02ebe163c4f42 + checksum: fd7b9882a7b44b78711d3489fd571308372a915924c2e619ad8a08d9100a17ae8899a3d3bb1934c326d45bf942330a693206088ba80f292dd6574d9e33c67a43 languageName: node linkType: hard @@ -16909,20 +16609,6 @@ __metadata: languageName: node linkType: hard -"htmlparser2@npm:^3.9.2": - version: 3.10.1 - resolution: "htmlparser2@npm:3.10.1" - dependencies: - domelementtype: "npm:^1.3.1" - domhandler: "npm:^2.3.0" - domutils: "npm:^1.5.1" - entities: "npm:^1.1.1" - inherits: "npm:^2.0.1" - readable-stream: "npm:^3.1.1" - checksum: b1424536ff062088501efa06a2afd478545d3134a5ad2e28bbe02dc2d092784982286b90f1c87fa3d86692958dbfb8936352dfd71d1cb2ff7cb61208c00fcdb1 - languageName: node - linkType: hard - "htmlparser2@npm:^6.1.0": version: 6.1.0 resolution: "htmlparser2@npm:6.1.0" @@ -17136,6 +16822,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 + languageName: node + linkType: hard + "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -17224,11 +16917,11 @@ __metadata: linkType: hard "ignore-walk@npm:^6.0.0": - version: 6.0.4 - resolution: "ignore-walk@npm:6.0.4" + version: 6.0.3 + resolution: "ignore-walk@npm:6.0.3" dependencies: minimatch: "npm:^9.0.0" - checksum: 6dd2ea369f3d32d90cb26ca6647bc6e112ed483433270ed89b8055dd708d00777c2cbc85b93b43f53e2100851277fd1539796a758ae4c64b84445d4f1da5fd8f + checksum: 327759df98c7b4d4039e4c4913507ca372b2a38bb44a1c2bd7ff2ffc7eee7a379025301e478d7640672f0007807c5ec5cc2e41c5226b9058aa58f00b600d3731 languageName: node linkType: hard @@ -17240,9 +16933,9 @@ __metadata: linkType: hard "ignore@npm:^5.0.0, ignore@npm:^5.0.4, ignore@npm:^5.0.5, ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4": - version: 5.3.0 - resolution: "ignore@npm:5.3.0" - checksum: dc06bea5c23aae65d0725a957a0638b57e235ae4568dda51ca142053ed2c352de7e3bc93a69b2b32ac31966a1952e9a93c5ef2e2ab7c6b06aef9808f6b55b571 + version: 5.2.4 + resolution: "ignore@npm:5.2.4" + checksum: 7c7cd90edd9fea6e037f9b9da4b01bf0a86b198ce78345f9bbd983929d68ff14830be31111edc5d70c264921f4962404d75b7262b4d9cc3bc12381eccbd03096 languageName: node linkType: hard @@ -17290,18 +16983,6 @@ __metadata: languageName: node linkType: hard -"import-local@npm:^3.0.2": - version: 3.1.0 - resolution: "import-local@npm:3.1.0" - dependencies: - pkg-dir: "npm:^4.2.0" - resolve-cwd: "npm:^3.0.0" - bin: - import-local-fixture: fixtures/cli.js - checksum: c67ecea72f775fe8684ca3d057e54bdb2ae28c14bf261d2607c269c18ea0da7b730924c06262eca9aed4b8ab31e31d65bc60b50e7296c85908a56e2f7d41ecd2 - languageName: node - linkType: hard - "imurmurhash@npm:^0.1.4": version: 0.1.4 resolution: "imurmurhash@npm:0.1.4" @@ -17392,13 +17073,13 @@ __metadata: linkType: hard "internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5": - version: 1.0.6 - resolution: "internal-slot@npm:1.0.6" + version: 1.0.5 + resolution: "internal-slot@npm:1.0.5" dependencies: - get-intrinsic: "npm:^1.2.2" - hasown: "npm:^2.0.0" + get-intrinsic: "npm:^1.2.0" + has: "npm:^1.0.3" side-channel: "npm:^1.0.4" - checksum: aa37cafc8ffbf513a340de58f40d5017b4949d99722d7e4f0e24b182455bdd258000d4bb1d7b4adcf9f8979b97049b99fe9defa9db8e18a78071d2637ac143fb + checksum: 66d8a66b4b5310c042e8ad00ce895dc55cb25165a3a7da0d7862ca18d69d3b1ba86511b4bf3baf4273d744d3f6e9154574af45189ef11135a444945309e39e4a languageName: node linkType: hard @@ -17439,12 +17120,21 @@ __metadata: languageName: node linkType: hard -"is-accessor-descriptor@npm:^1.0.1": - version: 1.0.1 - resolution: "is-accessor-descriptor@npm:1.0.1" +"is-accessor-descriptor@npm:^0.1.6": + version: 0.1.6 + resolution: "is-accessor-descriptor@npm:0.1.6" dependencies: - hasown: "npm:^2.0.0" - checksum: d034034074c5ffeb6c868e091083182279db1a956f49f8d1494cecaa0f8b99d706556ded2a9b20d9aa290549106eef8204d67d8572902e06dcb1add6db6b524d + kind-of: "npm:^3.0.2" + checksum: f2c314b314ec6e8a6e559351bff3c7ee9aed7a5e9c6f61dd8cb9e1382c8bfe33dca3f0e0af13daf9ded9e6e66390ff23b4acfb615d7a249009a51506a7b0f151 + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-accessor-descriptor@npm:1.0.0" + dependencies: + kind-of: "npm:^6.0.0" + checksum: d68edafd8ef133e9003837f3c80f4e5b82b12ab5456c772d1796857671ae83e3a426ed225a28a7e35bceabbce68c1f1ffdabf47e6d53f5a4d6c4558776ad3c20 languageName: node linkType: hard @@ -17575,7 +17265,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1, is-core-module@npm:^2.8.1": +"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1, is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0": version: 2.13.1 resolution: "is-core-module@npm:2.13.1" dependencies: @@ -17584,12 +17274,21 @@ __metadata: languageName: node linkType: hard -"is-data-descriptor@npm:^1.0.1": - version: 1.0.1 - resolution: "is-data-descriptor@npm:1.0.1" +"is-data-descriptor@npm:^0.1.4": + version: 0.1.4 + resolution: "is-data-descriptor@npm:0.1.4" dependencies: - hasown: "npm:^2.0.0" - checksum: ad3acc372e3227f87eb8cdba112c343ca2a67f1885aecf64f02f901cb0858a1fc9488ad42135ab102e9d9e71a62b3594740790bb103a9ba5da830a131a89e3e8 + kind-of: "npm:^3.0.2" + checksum: 32fda7e966b2c1f093230d5ef2aad1bb86e43e7280da50961e38ec31dbd8a50570a2911fd45277d321074a0762adc98e8462bb62820462594128857225e90d21 + languageName: node + linkType: hard + +"is-data-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-data-descriptor@npm:1.0.0" + dependencies: + kind-of: "npm:^6.0.0" + checksum: bed31385d7d1a0dbb2ab3077faf2188acf42609192dca4e320ed7b3dc14a9d70c00658956cdaa2c0402be136c6b56e183973ad81b730fd90ab427fb6fd3608be languageName: node linkType: hard @@ -17624,22 +17323,24 @@ __metadata: linkType: hard "is-descriptor@npm:^0.1.0": - version: 0.1.7 - resolution: "is-descriptor@npm:0.1.7" + version: 0.1.6 + resolution: "is-descriptor@npm:0.1.6" dependencies: - is-accessor-descriptor: "npm:^1.0.1" - is-data-descriptor: "npm:^1.0.1" - checksum: f5960b9783f508aec570465288cb673d4b3cc4aae4e6de970c3afd9a8fc1351edcb85d78b2cce2ec5251893a423f73263cab3bb94cf365a8d71b5d510a116392 + is-accessor-descriptor: "npm:^0.1.6" + is-data-descriptor: "npm:^0.1.4" + kind-of: "npm:^5.0.0" + checksum: 6b8f5617b764ef8c6be3d54830184357e6cdedd8e0eddf1b97d0658616ac170bfdbc7c1ad00e0aa9f5b767acdb9d6c63d4df936501784b34936bd0f9acf3b665 languageName: node linkType: hard "is-descriptor@npm:^1.0.0, is-descriptor@npm:^1.0.2": - version: 1.0.3 - resolution: "is-descriptor@npm:1.0.3" + version: 1.0.2 + resolution: "is-descriptor@npm:1.0.2" dependencies: - is-accessor-descriptor: "npm:^1.0.1" - is-data-descriptor: "npm:^1.0.1" - checksum: b4ee667ea787d3a0be4e58536087fd0587de2b0b6672fbfe288f5b8d831ac4b79fd987f31d6c2d4e5543a42c97a87428bc5215ce292a1a47070147793878226f + is-accessor-descriptor: "npm:^1.0.0" + is-data-descriptor: "npm:^1.0.0" + kind-of: "npm:^6.0.2" + checksum: a05169c7a87feb88fc155e3ada469090cfabb5a548a3f794358b511cc47a0871b8b95e7345be4925a22ef3df585c3923b31943b3ad6255ce563a9d97f2e221e0 languageName: node linkType: hard @@ -17722,13 +17423,6 @@ __metadata: languageName: node linkType: hard -"is-generator-fn@npm:^2.0.0": - version: 2.1.0 - resolution: "is-generator-fn@npm:2.1.0" - checksum: 2957cab387997a466cd0bf5c1b6047bd21ecb32bdcfd8996b15747aa01002c1c88731802f1b3d34ac99f4f6874b626418bd118658cf39380fe5fff32a3af9c4d - languageName: node - linkType: hard - "is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": version: 1.0.10 resolution: "is-generator-function@npm:1.0.10" @@ -17914,7 +17608,7 @@ __metadata: languageName: node linkType: hard -"is-regex@npm:^1.0.3, is-regex@npm:^1.1.4": +"is-regex@npm:^1.0.3, is-regex@npm:^1.0.4, is-regex@npm:^1.1.4": version: 1.1.4 resolution: "is-regex@npm:1.1.4" dependencies: @@ -18117,6 +17811,13 @@ __metadata: linkType: hard "istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": + version: 3.2.0 + resolution: "istanbul-lib-coverage@npm:3.2.0" + checksum: 10ecb00a50cac2f506af8231ce523ffa1ac1310db0435c8ffaabb50c1d72539906583aa13c84f8835dc103998b9989edc3c1de989d2e2a96a91a9ba44e5db6b9 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.2.2": version: 3.2.2 resolution: "istanbul-lib-coverage@npm:3.2.2" checksum: 6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b @@ -18136,20 +17837,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-instrument@npm:^6.0.0": - version: 6.0.1 - resolution: "istanbul-lib-instrument@npm:6.0.1" - dependencies: - "@babel/core": "npm:^7.12.3" - "@babel/parser": "npm:^7.14.7" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^7.5.4" - checksum: 313d61aca3f82a04ad9377841d05061d603ea3d4a4dd281fdda2479ec4ddbc86dc1792c73651f21c93480570d1ecadc5f63011e2df86f30ee662b62c0c00e3d8 - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0": +"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": version: 3.0.1 resolution: "istanbul-lib-report@npm:3.0.1" dependencies: @@ -18160,7 +17848,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-source-maps@npm:^4.0.0": +"istanbul-lib-source-maps@npm:^4.0.1": version: 4.0.1 resolution: "istanbul-lib-source-maps@npm:4.0.1" dependencies: @@ -18171,7 +17859,7 @@ __metadata: languageName: node linkType: hard -"istanbul-reports@npm:^3.1.3, istanbul-reports@npm:^3.1.4": +"istanbul-reports@npm:^3.1.4, istanbul-reports@npm:^3.1.6": version: 3.1.6 resolution: "istanbul-reports@npm:3.1.6" dependencies: @@ -18239,109 +17927,6 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-changed-files@npm:29.7.0" - dependencies: - execa: "npm:^5.0.0" - jest-util: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - checksum: e071384d9e2f6bb462231ac53f29bff86f0e12394c1b49ccafbad225ce2ab7da226279a8a94f421949920bef9be7ef574fd86aee22e8adfa149be73554ab828b - languageName: node - linkType: hard - -"jest-circus@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-circus@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - co: "npm:^4.6.0" - dedent: "npm:^1.0.0" - is-generator-fn: "npm:^2.0.0" - jest-each: "npm:^29.7.0" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - pure-rand: "npm:^6.0.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 8d15344cf7a9f14e926f0deed64ed190c7a4fa1ed1acfcd81e4cc094d3cc5bf7902ebb7b874edc98ada4185688f90c91e1747e0dfd7ac12463b097968ae74b5e - languageName: node - linkType: hard - -"jest-cli@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-cli@npm:29.7.0" - dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - create-jest: "npm:^29.7.0" - exit: "npm:^0.1.2" - import-local: "npm:^3.0.2" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - yargs: "npm:^17.3.1" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: a658fd55050d4075d65c1066364595962ead7661711495cfa1dfeecf3d6d0a8ffec532f3dbd8afbb3e172dd5fd2fb2e813c5e10256e7cf2fea766314942fb43a - languageName: node - linkType: hard - -"jest-config@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-config@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/test-sequencer": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-jest: "npm:^29.7.0" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - deepmerge: "npm:^4.2.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-circus: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - parse-json: "npm:^5.2.0" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-json-comments: "npm:^3.1.1" - peerDependencies: - "@types/node": "*" - ts-node: ">=9.0.0" - peerDependenciesMeta: - "@types/node": - optional: true - ts-node: - optional: true - checksum: bab23c2eda1fff06e0d104b00d6adfb1d1aabb7128441899c9bff2247bd26710b050a5364281ce8d52b46b499153bf7e3ee88b19831a8f3451f1477a0246a0f1 - languageName: node - linkType: hard - "jest-diff@npm:^28.1.3": version: 28.1.3 resolution: "jest-diff@npm:28.1.3" @@ -18366,63 +17951,6 @@ __metadata: languageName: node linkType: hard -"jest-docblock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-docblock@npm:29.7.0" - dependencies: - detect-newline: "npm:^3.0.0" - checksum: d932a8272345cf6b6142bb70a2bb63e0856cc0093f082821577ea5bdf4643916a98744dfc992189d2b1417c38a11fa42466f6111526bc1fb81366f56410f3be9 - languageName: node - linkType: hard - -"jest-each@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-each@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - pretty-format: "npm:^29.7.0" - checksum: f7f9a90ebee80cc688e825feceb2613627826ac41ea76a366fa58e669c3b2403d364c7c0a74d862d469b103c843154f8456d3b1c02b487509a12afa8b59edbb4 - languageName: node - linkType: hard - -"jest-environment-jsdom@npm:^29.0.0, jest-environment-jsdom@npm:^29.5.0": - version: 29.7.0 - resolution: "jest-environment-jsdom@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/jsdom": "npm:^20.0.0" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jsdom: "npm:^20.0.0" - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 139b94e2c8ec1bb5a46ce17df5211da65ce867354b3fd4e00fa6a0d1da95902df4cf7881273fc6ea937e5c325d39d6773f0d41b6c469363334de9d489d2c321f - languageName: node - linkType: hard - -"jest-environment-node@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-environment-node@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 61f04fec077f8b1b5c1a633e3612fc0c9aa79a0ab7b05600683428f1e01a4d35346c474bde6f439f9fcc1a4aa9a2861ff852d079a43ab64b02105d1004b2592b - languageName: node - linkType: hard - "jest-get-type@npm:^28.0.2": version: 28.0.2 resolution: "jest-get-type@npm:28.0.2" @@ -18460,28 +17988,6 @@ __metadata: languageName: node linkType: hard -"jest-junit@npm:^16.0.0": - version: 16.0.0 - resolution: "jest-junit@npm:16.0.0" - dependencies: - mkdirp: "npm:^1.0.4" - strip-ansi: "npm:^6.0.1" - uuid: "npm:^8.3.2" - xml: "npm:^1.0.1" - checksum: d813d4d142341c2b51b634db7ad6ceb9849514cb58f96ec5e7e4cf4031a557133490452710c2d9dec9b1dd546334d9ca663e042d3070c3e8f102ce6217bd8e2e - languageName: node - linkType: hard - -"jest-leak-detector@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-leak-detector@npm:29.7.0" - dependencies: - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 71bb9f77fc489acb842a5c7be030f2b9acb18574dc9fb98b3100fc57d422b1abc55f08040884bd6e6dbf455047a62f7eaff12aa4058f7cbdc11558718ca6a395 - languageName: node - linkType: hard - "jest-matcher-utils@npm:^28.0.0": version: 28.1.3 resolution: "jest-matcher-utils@npm:28.1.3" @@ -18544,153 +18050,14 @@ __metadata: languageName: node linkType: hard -"jest-os-detection@npm:^1.3.1": - version: 1.3.1 - resolution: "jest-os-detection@npm:1.3.1" - checksum: 0fd540b9518d443fe037bd74c3413869e23b167faa3c3f2653c652eb9b0f4acf5448df92344bdf67f4d0d6e994294513e3ba6b0507c245e5d9d31e83541ac621 - languageName: node - linkType: hard - -"jest-pnp-resolver@npm:^1.2.2": - version: 1.2.3 - resolution: "jest-pnp-resolver@npm:1.2.3" - peerDependencies: - jest-resolve: "*" - peerDependenciesMeta: - jest-resolve: - optional: true - checksum: 86eec0c78449a2de733a6d3e316d49461af6a858070e113c97f75fb742a48c2396ea94150cbca44159ffd4a959f743a47a8b37a792ef6fdad2cf0a5cba973fac - languageName: node - linkType: hard - -"jest-preset-angular@npm:^13.0.1": - version: 13.1.4 - resolution: "jest-preset-angular@npm:13.1.4" - dependencies: - bs-logger: "npm:^0.2.6" - esbuild: "npm:>=0.13.8" - esbuild-wasm: "npm:>=0.13.8" - jest-environment-jsdom: "npm:^29.0.0" - jest-util: "npm:^29.0.0" - pretty-format: "npm:^29.0.0" - ts-jest: "npm:^29.0.0" - peerDependencies: - "@angular-devkit/build-angular": ">=13.0.0 <18.0.0" - "@angular/compiler-cli": ">=13.0.0 <18.0.0" - "@angular/core": ">=13.0.0 <18.0.0" - "@angular/platform-browser-dynamic": ">=13.0.0 <18.0.0" - jest: ^29.0.0 - typescript: ">=4.4" - dependenciesMeta: - esbuild: - optional: true - checksum: a609deb98237505dfd9d81b8c41c385acd7a13af76609bb417144c4258cb2be2da7e87a46d74bfea36086fdfaa9a6b21a661452bbd9fb0a5552f514710e350fb - languageName: node - linkType: hard - -"jest-regex-util@npm:^29.0.0, jest-regex-util@npm:^29.6.3": +"jest-regex-util@npm:^29.6.3": version: 29.6.3 resolution: "jest-regex-util@npm:29.6.3" checksum: 4e33fb16c4f42111159cafe26397118dcfc4cf08bc178a67149fb05f45546a91928b820894572679d62559839d0992e21080a1527faad65daaae8743a5705a3b languageName: node linkType: hard -"jest-resolve-dependencies@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve-dependencies@npm:29.7.0" - dependencies: - jest-regex-util: "npm:^29.6.3" - jest-snapshot: "npm:^29.7.0" - checksum: b6e9ad8ae5b6049474118ea6441dfddd385b6d1fc471db0136f7c8fbcfe97137a9665e4f837a9f49f15a29a1deb95a14439b7aec812f3f99d08f228464930f0d - languageName: node - linkType: hard - -"jest-resolve@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-pnp-resolver: "npm:^1.2.2" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - resolve: "npm:^1.20.0" - resolve.exports: "npm:^2.0.0" - slash: "npm:^3.0.0" - checksum: 59da5c9c5b50563e959a45e09e2eace783d7f9ac0b5dcc6375dea4c0db938d2ebda97124c8161310082760e8ebbeff9f6b177c15ca2f57fb424f637a5d2adb47 - languageName: node - linkType: hard - -"jest-runner@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runner@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/environment": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - graceful-fs: "npm:^4.2.9" - jest-docblock: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-leak-detector: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-resolve: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - source-map-support: "npm:0.5.13" - checksum: 2194b4531068d939f14c8d3274fe5938b77fa73126aedf9c09ec9dec57d13f22c72a3b5af01ac04f5c1cf2e28d0ac0b4a54212a61b05f10b5d6b47f2a1097bb4 - languageName: node - linkType: hard - -"jest-runtime@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runtime@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/globals": "npm:^29.7.0" - "@jest/source-map": "npm:^29.6.3" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - cjs-module-lexer: "npm:^1.0.0" - collect-v8-coverage: "npm:^1.0.0" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-bom: "npm:^4.0.0" - checksum: 7cd89a1deda0bda7d0941835434e44f9d6b7bd50b5c5d9b0fc9a6c990b2d4d2cab59685ab3cb2850ed4cc37059f6de903af5a50565d7f7f1192a77d3fd6dd2a6 - languageName: node - linkType: hard - -"jest-serializer-html@npm:^7.1.0": - version: 7.1.0 - resolution: "jest-serializer-html@npm:7.1.0" - dependencies: - diffable-html: "npm:^4.1.0" - checksum: e8383431fbacd5ebb9a7c053c849a0d1e0a183e625aba1ede726260186931b229468dc6456b9b821a137123a88ea3b4325884a5c01c5d78b39c106c3d5c18fcc - languageName: node - linkType: hard - -"jest-snapshot@npm:^29.0.0, jest-snapshot@npm:^29.7.0": +"jest-snapshot@npm:^29.7.0": version: 29.7.0 resolution: "jest-snapshot@npm:29.7.0" dependencies: @@ -18718,18 +18085,7 @@ __metadata: languageName: node linkType: hard -"jest-specific-snapshot@npm:^8.0.0": - version: 8.0.0 - resolution: "jest-specific-snapshot@npm:8.0.0" - dependencies: - jest-snapshot: "npm:^29.0.0" - peerDependencies: - jest: ">= 29.0.0" - checksum: c2417340c3f085536441f499b7606f9c22527d0da83ab6ba9a9cdd47427e89fde0a1d41a53a4538b0c169237dd5fc4f13abcc31a2c18c48d2419dd152808071d - languageName: node - linkType: hard - -"jest-util@npm:^29.0.0, jest-util@npm:^29.7.0": +"jest-util@npm:^29.7.0": version: 29.7.0 resolution: "jest-util@npm:29.7.0" dependencies: @@ -18743,53 +18099,6 @@ __metadata: languageName: node linkType: hard -"jest-validate@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-validate@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - camelcase: "npm:^6.2.0" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - leven: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - checksum: a20b930480c1ed68778c739f4739dce39423131bc070cd2505ddede762a5570a256212e9c2401b7ae9ba4d7b7c0803f03c5b8f1561c62348213aba18d9dbece2 - languageName: node - linkType: hard - -"jest-watch-typeahead@npm:^2.2.1": - version: 2.2.2 - resolution: "jest-watch-typeahead@npm:2.2.2" - dependencies: - ansi-escapes: "npm:^6.0.0" - chalk: "npm:^5.2.0" - jest-regex-util: "npm:^29.0.0" - jest-watcher: "npm:^29.0.0" - slash: "npm:^5.0.0" - string-length: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - peerDependencies: - jest: ^27.0.0 || ^28.0.0 || ^29.0.0 - checksum: 5a55a571d616958cd6c6b52c4bf57cfaa97132cd9681af8ebfa8ebde9fa1d829426ff36f4ef2eaa867142ee97577fdad1735c58c3db62cbb33a39ad97125ee00 - languageName: node - linkType: hard - -"jest-watcher@npm:^29.0.0, jest-watcher@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-watcher@npm:29.7.0" - dependencies: - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - jest-util: "npm:^29.7.0" - string-length: "npm:^4.0.1" - checksum: ec6c75030562fc8f8c727cb8f3b94e75d831fc718785abfc196e1f2a2ebc9a2e38744a15147170039628a853d77a3b695561ce850375ede3a4ee6037a2574567 - languageName: node - linkType: hard - "jest-worker@npm:^27.4.5": version: 27.5.1 resolution: "jest-worker@npm:27.5.1" @@ -18813,31 +18122,12 @@ __metadata: languageName: node linkType: hard -"jest@npm:^29.7.0": - version: 29.7.0 - resolution: "jest@npm:29.7.0" - dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - import-local: "npm:^3.0.2" - jest-cli: "npm:^29.7.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: f40eb8171cf147c617cc6ada49d062fbb03b4da666cb8d39cdbfb739a7d75eea4c3ca150fb072d0d273dce0c753db4d0467d54906ad0293f59c54f9db4a09d8b - languageName: node - linkType: hard - "jiti@npm:^1.18.2": - version: 1.21.0 - resolution: "jiti@npm:1.21.0" + version: 1.20.0 + resolution: "jiti@npm:1.20.0" bin: jiti: bin/jiti.js - checksum: 7f361219fe6c7a5e440d5f1dba4ab763a5538d2df8708cdc22561cf25ea3e44b837687931fca7cdd8cdd9f567300e90be989dd1321650045012d8f9ed6aab07f + checksum: e71999db5e436d38c32ca713c3688b5da2a686f264584d927dcca80a4eaece83af7dd32c047524e74084bb11bdfa148f5f91b7e9a0044b4803feffe3c2c30dbc languageName: node linkType: hard @@ -18971,42 +18261,37 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^20.0.0": - version: 20.0.3 - resolution: "jsdom@npm:20.0.3" +"jsdom@npm:^23.0.1": + version: 23.0.1 + resolution: "jsdom@npm:23.0.1" dependencies: - abab: "npm:^2.0.6" - acorn: "npm:^8.8.1" - acorn-globals: "npm:^7.0.0" - cssom: "npm:^0.5.0" - cssstyle: "npm:^2.3.0" - data-urls: "npm:^3.0.2" - decimal.js: "npm:^10.4.2" - domexception: "npm:^4.0.0" - escodegen: "npm:^2.0.0" + cssstyle: "npm:^3.0.0" + data-urls: "npm:^5.0.0" + decimal.js: "npm:^10.4.3" form-data: "npm:^4.0.0" - html-encoding-sniffer: "npm:^3.0.0" - http-proxy-agent: "npm:^5.0.0" - https-proxy-agent: "npm:^5.0.1" + html-encoding-sniffer: "npm:^4.0.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.2" is-potential-custom-element-name: "npm:^1.0.1" - nwsapi: "npm:^2.2.2" - parse5: "npm:^7.1.1" + nwsapi: "npm:^2.2.7" + parse5: "npm:^7.1.2" + rrweb-cssom: "npm:^0.6.0" saxes: "npm:^6.0.0" symbol-tree: "npm:^3.2.4" - tough-cookie: "npm:^4.1.2" - w3c-xmlserializer: "npm:^4.0.0" + tough-cookie: "npm:^4.1.3" + w3c-xmlserializer: "npm:^5.0.0" webidl-conversions: "npm:^7.0.0" - whatwg-encoding: "npm:^2.0.0" - whatwg-mimetype: "npm:^3.0.0" - whatwg-url: "npm:^11.0.0" - ws: "npm:^8.11.0" - xml-name-validator: "npm:^4.0.0" + whatwg-encoding: "npm:^3.1.1" + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.0.0" + ws: "npm:^8.14.2" + xml-name-validator: "npm:^5.0.0" peerDependencies: - canvas: ^2.5.0 + canvas: ^2.11.2 peerDependenciesMeta: canvas: optional: true - checksum: b109073bb826a966db7828f46cb1d7371abecd30f182b143c52be5fe1ed84513bbbe995eb3d157241681fcd18331381e61e3dc004d4949f3a63bca02f6214902 + checksum: 13b2b3693ccb40215d1cce77bac7a295414ee4c0a06e30167f8087c9867145ba23dbd592bd95a801cadd7b3698bfd20b9c3f2c26fd8422607f22609ed2e404ef languageName: node linkType: hard @@ -19059,9 +18344,9 @@ __metadata: linkType: hard "json-parse-even-better-errors@npm:^3.0.0": - version: 3.0.1 - resolution: "json-parse-even-better-errors@npm:3.0.1" - checksum: bc40600b14231dff1ff911d269c7ed89fbf3dbedf25cad3f47c10ff9cbb998ce03921372a17f27f3c7cfed76e679bc6c02a7b4cb2604b0ba68cd51ed16899492 + version: 3.0.0 + resolution: "json-parse-even-better-errors@npm:3.0.0" + checksum: 128de17135e7af655ed83fc26dab0fe54faf43b3517fa73dcd997cce6e05a445932664f085ec6dbc219aeb0c592e53ef10d2d6dee4a8e9211ea901b8e6dd0b52 languageName: node linkType: hard @@ -19087,14 +18372,11 @@ __metadata: linkType: hard "json-stable-stringify@npm:^1.0.1": - version: 1.1.0 - resolution: "json-stable-stringify@npm:1.1.0" + version: 1.0.2 + resolution: "json-stable-stringify@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.5" - isarray: "npm:^2.0.5" jsonify: "npm:^0.0.1" - object-keys: "npm:^1.1.1" - checksum: 8888ac86dbf55c1d494bdf40705171c30884686911c37383d3aab777754bf5c1d60dc7a4dfd67f32ba37b184da5c99948a382f1c2912895a35453002e253314b + checksum: 502d021c3c59c09587faa40d7693d77c00460fd6c68bae95d6e35804909ec8c4aec71b136d3a09df61a7ebf803eb6e820f23ede76b77e74b8b02c76afb2ada8c languageName: node linkType: hard @@ -19229,7 +18511,7 @@ __metadata: languageName: node linkType: hard -"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": +"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.3": version: 3.3.5 resolution: "jsx-ast-utils@npm:3.3.5" dependencies: @@ -19293,11 +18575,11 @@ __metadata: linkType: hard "keyv@npm:^4.0.0, keyv@npm:^4.5.3": - version: 4.5.4 - resolution: "keyv@npm:4.5.4" + version: 4.5.3 + resolution: "keyv@npm:4.5.3" dependencies: json-buffer: "npm:3.0.1" - checksum: aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + checksum: 7d3fc0469962bdff75ce92402b216a23d146e0caad011424947b32b95ffc4b91df12b1206026e6e945e7f80b3729a3109c0c3984f23038d738d355491179dd79 languageName: node linkType: hard @@ -19319,7 +18601,14 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.2": +"kind-of@npm:^5.0.0": + version: 5.1.0 + resolution: "kind-of@npm:5.1.0" + checksum: fe85b7a2ed4b4d5a12e16e01d00d5c336e1760842fe0da38283605b9880c984288935e87b13138909e4d23d2d197a1d492f7393c6638d2c0fab8a900c4fb0392 + languageName: node + linkType: hard + +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": version: 6.0.3 resolution: "kind-of@npm:6.0.3" checksum: 61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 @@ -19354,29 +18643,29 @@ __metadata: languageName: node linkType: hard -"language-subtag-registry@npm:^0.3.20": +"language-subtag-registry@npm:~0.3.2": version: 0.3.22 resolution: "language-subtag-registry@npm:0.3.22" checksum: d1e09971260a7cd3b9fdeb190d33af0b6e99c8697013537d9aaa15f7856d9d83aee128ba8078e219df0a7cf4b8dd18d1a0c188f6543b500d92a2689d2d114b70 languageName: node linkType: hard -"language-tags@npm:^1.0.9": - version: 1.0.9 - resolution: "language-tags@npm:1.0.9" +"language-tags@npm:=1.0.5": + version: 1.0.5 + resolution: "language-tags@npm:1.0.5" dependencies: - language-subtag-registry: "npm:^0.3.20" - checksum: 9ab911213c4bd8bd583c850201c17794e52cb0660d1ab6e32558aadc8324abebf6844e46f92b80a5d600d0fbba7eface2c207bfaf270a1c7fd539e4c3a880bff + language-subtag-registry: "npm:~0.3.2" + checksum: 04215e821af9a8f1bc6c99ab5aa0a316c3fe1912ca3337eb28596316064bddd8edd22f2883d866069ebdf01b2002e504a760a336b2c728b6d30514e86744f76c languageName: node linkType: hard "launch-editor@npm:^2.6.0": - version: 2.6.1 - resolution: "launch-editor@npm:2.6.1" + version: 2.6.0 + resolution: "launch-editor@npm:2.6.0" dependencies: picocolors: "npm:^1.0.0" - shell-quote: "npm:^1.8.1" - checksum: 82d0bd9a44e7a972157719e63dac1b8196db6ec7066c1ec57a495f6c3d6e734f3c4da89549e7b33eb3b0356668ad02a9e7782b6733f5ebd7a61b7c5f635a3ee9 + shell-quote: "npm:^1.7.3" + checksum: 4802b9569d8a1d477f8279a994094b415d89eb39dadbc568193bc366d64ac13827c8860539ee336fa6135a06596a9b8c8265cebac35c3fa36a2214d0eea38890 languageName: node linkType: hard @@ -19509,9 +18798,9 @@ __metadata: linkType: hard "lines-and-columns@npm:~2.0.3": - version: 2.0.4 - resolution: "lines-and-columns@npm:2.0.4" - checksum: 4db28bf065cd7ad897c0700f22d3d0d7c5ed6777e138861c601c496d545340df3fc19e18bd04ff8d95a246a245eb55685b82ca2f8c2ca53a008e9c5316250379 + version: 2.0.3 + resolution: "lines-and-columns@npm:2.0.3" + checksum: 09525c10010a925b7efe858f1dd3184eeac34f0a9bc34993075ec490efad71e948147746b18e9540279cc87cd44085b038f986903db3de65ffe96d38a7b91c4c languageName: node linkType: hard @@ -19642,6 +18931,16 @@ __metadata: languageName: node linkType: hard +"local-pkg@npm:^0.5.0": + version: 0.5.0 + resolution: "local-pkg@npm:0.5.0" + dependencies: + mlly: "npm:^1.4.2" + pkg-types: "npm:^1.0.3" + checksum: f61cbd00d7689f275558b1a45c7ff2a3ddf8472654123ed880215677b9adfa729f1081e50c27ffb415cdb9fa706fb755fec5e23cdd965be375c8059e87ff1cc9 + languageName: node + linkType: hard + "localtunnel@npm:^2.0.1": version: 2.0.2 resolution: "localtunnel@npm:2.0.2" @@ -19808,7 +19107,7 @@ __metadata: languageName: node linkType: hard -"lodash.memoize@npm:4.x, lodash.memoize@npm:^4.1.2": +"lodash.memoize@npm:^4.1.2": version: 4.1.2 resolution: "lodash.memoize@npm:4.1.2" checksum: c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 @@ -19899,6 +19198,15 @@ __metadata: linkType: hard "loupe@npm:^2.3.6": + version: 2.3.6 + resolution: "loupe@npm:2.3.6" + dependencies: + get-func-name: "npm:^2.0.0" + checksum: a974841ce94ef2a35aac7144e7f9e789e3887f82286cd9ffe7ff00f2ac9d117481989948657465e2b0b102f23136d89ae0a18fd4a32d9015012cd64464453289 + languageName: node + linkType: hard + +"loupe@npm:^2.3.7": version: 2.3.7 resolution: "loupe@npm:2.3.7" dependencies: @@ -20015,6 +19323,17 @@ __metadata: languageName: node linkType: hard +"magicast@npm:^0.3.2": + version: 0.3.2 + resolution: "magicast@npm:0.3.2" + dependencies: + "@babel/parser": "npm:^7.23.3" + "@babel/types": "npm:^7.23.3" + source-map-js: "npm:^1.0.2" + checksum: cd157b250d962ccdb313f250509220f10ad63f673d88a0a001d201fd2b2dae90c6c65c4e9b6ce164f05c25c400139715edce750e3e2f41b5a249e29225d6c4fb + languageName: node + linkType: hard + "make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": version: 2.1.0 resolution: "make-dir@npm:2.1.0" @@ -20043,7 +19362,7 @@ __metadata: languageName: node linkType: hard -"make-error@npm:1.x, make-error@npm:^1.1.1": +"make-error@npm:^1.1.1": version: 1.3.6 resolution: "make-error@npm:1.3.6" checksum: 171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f @@ -20074,6 +19393,29 @@ __metadata: languageName: node linkType: hard +"make-fetch-happen@npm:^11.0.3": + version: 11.1.1 + resolution: "make-fetch-happen@npm:11.1.1" + dependencies: + agentkeepalive: "npm:^4.2.1" + cacache: "npm:^17.0.0" + http-cache-semantics: "npm:^4.1.1" + http-proxy-agent: "npm:^5.0.0" + https-proxy-agent: "npm:^5.0.0" + is-lambda: "npm:^1.0.1" + lru-cache: "npm:^7.7.1" + minipass: "npm:^5.0.0" + minipass-fetch: "npm:^3.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.3" + promise-retry: "npm:^2.0.1" + socks-proxy-agent: "npm:^7.0.0" + ssri: "npm:^10.0.0" + checksum: c161bde51dbc03382f9fac091734526a64dd6878205db6c338f70d2133df797b5b5166bff3091cf7d4785869d4b21e99a58139c1790c2fb1b5eec00f528f5f0b + languageName: node + linkType: hard + "make-fetch-happen@npm:^13.0.0": version: 13.0.0 resolution: "make-fetch-happen@npm:13.0.0" @@ -21347,6 +20689,18 @@ __metadata: languageName: node linkType: hard +"mlly@npm:^1.2.0, mlly@npm:^1.4.2": + version: 1.4.2 + resolution: "mlly@npm:1.4.2" + dependencies: + acorn: "npm:^8.10.0" + pathe: "npm:^1.1.1" + pkg-types: "npm:^1.0.3" + ufo: "npm:^1.3.0" + checksum: 905e3a704c7d3bcaad55f31d6efe9f680eab5be053ab7f8b299b8dbc027041f741fa6a93db9a3c461be2552632f3831b6c43c50af530f5fb2e9cd6273bc9d642 + languageName: node + linkType: hard + "mock-fs@npm:^5.2.0": version: 5.2.0 resolution: "mock-fs@npm:5.2.0" @@ -21354,6 +20708,16 @@ __metadata: languageName: node linkType: hard +"mock-require@npm:^3.0.3": + version: 3.0.3 + resolution: "mock-require@npm:3.0.3" + dependencies: + get-caller-file: "npm:^1.0.2" + normalize-path: "npm:^2.1.1" + checksum: 55ef23d393b7047c825fbe8010fce12391c44691c530dcfcd306e9e9eea27f33501d3d8a74f54c51af645d3f1448e8019ea4c8d0f67b385cb4567519461ceb9f + languageName: node + linkType: hard + "mount-point@npm:^3.0.0": version: 3.0.0 resolution: "mount-point@npm:3.0.0" @@ -21435,7 +20799,7 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.6": +"nanoid@npm:^3.3.6, nanoid@npm:^3.3.7": version: 3.3.7 resolution: "nanoid@npm:3.3.7" bin: @@ -21521,22 +20885,23 @@ __metadata: linkType: hard "next@npm:^14.0.2": - version: 14.0.3 - resolution: "next@npm:14.0.3" - dependencies: - "@next/env": "npm:14.0.3" - "@next/swc-darwin-arm64": "npm:14.0.3" - "@next/swc-darwin-x64": "npm:14.0.3" - "@next/swc-linux-arm64-gnu": "npm:14.0.3" - "@next/swc-linux-arm64-musl": "npm:14.0.3" - "@next/swc-linux-x64-gnu": "npm:14.0.3" - "@next/swc-linux-x64-musl": "npm:14.0.3" - "@next/swc-win32-arm64-msvc": "npm:14.0.3" - "@next/swc-win32-ia32-msvc": "npm:14.0.3" - "@next/swc-win32-x64-msvc": "npm:14.0.3" + version: 14.0.4 + resolution: "next@npm:14.0.4" + dependencies: + "@next/env": "npm:14.0.4" + "@next/swc-darwin-arm64": "npm:14.0.4" + "@next/swc-darwin-x64": "npm:14.0.4" + "@next/swc-linux-arm64-gnu": "npm:14.0.4" + "@next/swc-linux-arm64-musl": "npm:14.0.4" + "@next/swc-linux-x64-gnu": "npm:14.0.4" + "@next/swc-linux-x64-musl": "npm:14.0.4" + "@next/swc-win32-arm64-msvc": "npm:14.0.4" + "@next/swc-win32-ia32-msvc": "npm:14.0.4" + "@next/swc-win32-x64-msvc": "npm:14.0.4" "@swc/helpers": "npm:0.5.2" busboy: "npm:1.6.0" caniuse-lite: "npm:^1.0.30001406" + graceful-fs: "npm:^4.2.11" postcss: "npm:8.4.31" styled-jsx: "npm:5.1.1" watchpack: "npm:2.4.0" @@ -21571,7 +20936,7 @@ __metadata: optional: true bin: next: dist/bin/next - checksum: 73aa3d5dd7b65b53ef68fa7723a7a98536482a69ae2d56e7b335194168f00b2851397bbdfe490b53dba2c70dfb8ad0150035fab4c762d6bc331e884487c4ff07 + checksum: e6c829fd473d8c3605b2b62d15e1bf41e9d90cf59a2c213b4adeadff2846999bc9a653ffef18f6aa13cc9f5d6de02469c222acf5a4184901a4690a4504bd468f languageName: node linkType: hard @@ -21700,17 +21065,17 @@ __metadata: linkType: hard "node-gyp-build@npm:^4.2.2": - version: 4.7.1 - resolution: "node-gyp-build@npm:4.7.1" + version: 4.6.1 + resolution: "node-gyp-build@npm:4.6.1" bin: node-gyp-build: bin.js node-gyp-build-optional: optional.js node-gyp-build-test: build-test.js - checksum: b8e4a3f889237cd08edde3775e2b4e1e39a0571580584e33e29979f0c532a254ce3c5ec9435bd526254ad0b3f0b4a7e7fe14e53bd400f6ea9445f3bfd88a6b1e + checksum: bd7738c96608c1fa056344623b93d4bbdc63fec05862061e5489284639e3a53daa407b9158c45bfc2e33d0b419851ed5c1f03f4c9ba34726361e2a7b765c0ddc languageName: node linkType: hard -"node-gyp@npm:^10.0.0, node-gyp@npm:latest": +"node-gyp@npm:^10.0.0": version: 10.0.1 resolution: "node-gyp@npm:10.0.1" dependencies: @@ -21751,6 +21116,27 @@ __metadata: languageName: node linkType: hard +"node-gyp@npm:latest": + version: 9.4.0 + resolution: "node-gyp@npm:9.4.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^7.1.4" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^11.0.3" + nopt: "npm:^6.0.0" + npmlog: "npm:^6.0.0" + rimraf: "npm:^3.0.2" + semver: "npm:^7.3.5" + tar: "npm:^6.1.2" + which: "npm:^2.0.2" + bin: + node-gyp: bin/node-gyp.js + checksum: e8dfbe2b02f23d056f69e01c409381963e92c71cafba6c9cfbf63b038f65ca19ab8183bb6891d080e59c4eb2cc425fc736f42e90afc0f0030ecd97bfc64fb7ad + languageName: node + linkType: hard + "node-int64@npm:^0.4.0": version: 0.4.0 resolution: "node-int64@npm:0.4.0" @@ -21800,7 +21186,7 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.13, node-releases@npm:^2.0.14": +"node-releases@npm:^2.0.14": version: 2.0.14 resolution: "node-releases@npm:2.0.14" checksum: 199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 @@ -21853,6 +21239,15 @@ __metadata: languageName: node linkType: hard +"normalize-path@npm:^2.1.1": + version: 2.1.1 + resolution: "normalize-path@npm:2.1.1" + dependencies: + remove-trailing-separator: "npm:^1.0.1" + checksum: db814326ff88057437233361b4c7e9cac7b54815b051b57f2d341ce89b1d8ec8cbd43e7fa95d7652b3b69ea8fcc294b89b8530d556a84d1bdace94229e1e9a8b + languageName: node + linkType: hard + "normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" @@ -21884,11 +21279,11 @@ __metadata: linkType: hard "npm-install-checks@npm:^6.0.0": - version: 6.3.0 - resolution: "npm-install-checks@npm:6.3.0" + version: 6.2.0 + resolution: "npm-install-checks@npm:6.2.0" dependencies: semver: "npm:^7.1.1" - checksum: b046ef1de9b40f5d3a9831ce198e1770140a1c3f253dae22eb7b06045191ef79f18f1dcc15a945c919b3c161426861a28050abd321bf439190185794783b6452 + checksum: d7814be08413879bb8b3c39ff15786f5865ed3359a56265a686dd7244f3b3ac37669bf740847f9f9063f1d90f2f770d84a815175030fde5f502eab1d9637433b languageName: node linkType: hard @@ -22016,7 +21411,7 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:^2.2.2": +"nwsapi@npm:^2.2.7": version: 2.2.7 resolution: "nwsapi@npm:2.2.7" checksum: 44be198adae99208487a1c886c0a3712264f7bbafa44368ad96c003512fed2753d4e22890ca1e6edb2690c3456a169f2a3c33bfacde1905cf3bf01c7722464db @@ -22133,14 +21528,14 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1, object-inspect@npm:^1.9.0": +"object-inspect@npm:^1.12.3, object-inspect@npm:^1.9.0": version: 1.13.1 resolution: "object-inspect@npm:1.13.1" checksum: fad603f408e345c82e946abdf4bfd774260a5ed3e5997a0b057c44153ac32c7271ff19e3a5ae39c858da683ba045ccac2f65245c12763ce4e8594f818f4a648d languageName: node linkType: hard -"object-is@npm:^1.1.5": +"object-is@npm:^1.0.1, object-is@npm:^1.1.5": version: 1.1.5 resolution: "object-is@npm:1.1.5" dependencies: @@ -22178,7 +21573,7 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.2, object.entries@npm:^1.1.6, object.entries@npm:^1.1.7": +"object.entries@npm:^1.1.2, object.entries@npm:^1.1.6": version: 1.1.7 resolution: "object.entries@npm:1.1.7" dependencies: @@ -22470,7 +21865,7 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0": +"p-limit@npm:^3.0.2": version: 3.1.0 resolution: "p-limit@npm:3.1.0" dependencies: @@ -22488,6 +21883,15 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^5.0.0": + version: 5.0.0 + resolution: "p-limit@npm:5.0.0" + dependencies: + yocto-queue: "npm:^1.0.0" + checksum: 574e93b8895a26e8485eb1df7c4b58a1a6e8d8ae41b1750cc2cc440922b3d306044fc6e9a7f74578a883d46802d9db72b30f2e612690fcef838c173261b1ed83 + languageName: node + linkType: hard + "p-locate@npm:^2.0.0": version: 2.0.0 resolution: "p-locate@npm:2.0.0" @@ -22778,7 +22182,7 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^7.0.0, parse5@npm:^7.1.1": +"parse5@npm:^7.0.0, parse5@npm:^7.1.2": version: 7.1.2 resolution: "parse5@npm:7.1.2" dependencies: @@ -22930,7 +22334,7 @@ __metadata: languageName: node linkType: hard -"pathe@npm:^1.1.1": +"pathe@npm:^1.1.0, pathe@npm:^1.1.1": version: 1.1.1 resolution: "pathe@npm:1.1.1" checksum: 3ae5a0529c3415d91c3ac9133f52cffea54a0dd46892fe059f4b80faf36fd207957d4594bdc87043b65d0761b1e5728f81f46bafff3b5302da4e2e48889b8c0e @@ -23098,7 +22502,7 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0": +"pkg-dir@npm:^4.1.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" dependencies: @@ -23125,6 +22529,17 @@ __metadata: languageName: node linkType: hard +"pkg-types@npm:^1.0.3": + version: 1.0.3 + resolution: "pkg-types@npm:1.0.3" + dependencies: + jsonc-parser: "npm:^3.2.0" + mlly: "npm:^1.2.0" + pathe: "npm:^1.1.0" + checksum: 7f692ff2005f51b8721381caf9bdbc7f5461506ba19c34f8631660a215c8de5e6dca268f23a319dd180b8f7c47a0dc6efea14b376c485ff99e98d810b8f786c4 + languageName: node + linkType: hard + "pkg-up@npm:^2.0.0": version: 2.0.0 resolution: "pkg-up@npm:2.0.0" @@ -23365,7 +22780,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.31, postcss@npm:^8.2.14, postcss@npm:^8.4.21, postcss@npm:^8.4.23, postcss@npm:^8.4.27, postcss@npm:^8.4.31": +"postcss@npm:8.4.31": version: 8.4.31 resolution: "postcss@npm:8.4.31" dependencies: @@ -23386,10 +22801,21 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.2.14, postcss@npm:^8.4.21, postcss@npm:^8.4.23, postcss@npm:^8.4.27, postcss@npm:^8.4.32": + version: 8.4.32 + resolution: "postcss@npm:8.4.32" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.0.0" + source-map-js: "npm:^1.0.2" + checksum: 39308a9195fa34d4dbdd7b58a896cff0c7809f84f7a4ac1b95b68ca86c9138a395addff33075668ed3983d41b90aac05754c445237a9365eb1c3a5602ebd03ad + languageName: node + linkType: hard + "preact@npm:^10.5.13": - version: 10.19.2 - resolution: "preact@npm:10.19.2" - checksum: 1a37e967d8947d1c82ad86cd90968536612c1463effdc5b0230a4517dc928cae8c9052513f0d5ac7bb09480b9431d129197d6c9b6924d32e32245e5ecd27cc8a + version: 10.19.3 + resolution: "preact@npm:10.19.3" + checksum: 251b237cc6fc8c39e4dc6cd65df1964b9622ec6005ccdaa57ea43171ba3e1e0f1e3386bbade370b2ce26ea480ceb73ea36b40e635e35e017e2d8614a233e1bed languageName: node linkType: hard @@ -23501,7 +22927,7 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.5.0, pretty-format@npm:^29.7.0": +"pretty-format@npm:^29.5.0, pretty-format@npm:^29.7.0": version: 29.7.0 resolution: "pretty-format@npm:29.7.0" dependencies: @@ -23622,7 +23048,7 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.0.1, prompts@npm:^2.4.0": +"prompts@npm:^2.4.0": version: 2.4.2 resolution: "prompts@npm:2.4.2" dependencies: @@ -23863,16 +23289,16 @@ __metadata: linkType: hard "punycode@npm:^2.1.0, punycode@npm:^2.1.1": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" - checksum: 14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + version: 2.3.0 + resolution: "punycode@npm:2.3.0" + checksum: 8e6f7abdd3a6635820049e3731c623bbef3fedbf63bbc696b0d7237fdba4cefa069bc1fa62f2938b0fbae057550df7b5318f4a6bcece27f1907fc75c54160bee languageName: node linkType: hard -"pure-rand@npm:^6.0.0": - version: 6.0.4 - resolution: "pure-rand@npm:6.0.4" - checksum: 0fe7b12f25b10ea5b804598a6f37e4bcf645d2be6d44fe963741f014bf0095bdb6ff525106d6da6e76addc8142358fd380f1a9b8c62ea4d5516bf26a96a37c95 +"punycode@npm:^2.3.1": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 languageName: node linkType: hard @@ -24670,7 +24096,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.0, regexp.prototype.flags@npm:^1.5.1": +"regexp.prototype.flags@npm:^1.2.0, regexp.prototype.flags@npm:^1.5.0, regexp.prototype.flags@npm:^1.5.1": version: 1.5.1 resolution: "regexp.prototype.flags@npm:1.5.1" dependencies: @@ -25061,6 +24487,13 @@ __metadata: languageName: node linkType: hard +"remove-trailing-separator@npm:^1.0.1": + version: 1.1.0 + resolution: "remove-trailing-separator@npm:1.1.0" + checksum: 3568f9f8f5af3737b4aee9e6e1e8ec4be65a92da9cb27f989e0893714d50aa95ed2ff02d40d1fa35e1b1a234dc9c2437050ef356704a3999feaca6667d9e9bfc + languageName: node + linkType: hard + "renderkid@npm:^3.0.0": version: 3.0.0 resolution: "renderkid@npm:3.0.0" @@ -25144,15 +24577,6 @@ __metadata: languageName: node linkType: hard -"resolve-cwd@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-cwd@npm:3.0.0" - dependencies: - resolve-from: "npm:^5.0.0" - checksum: e608a3ebd15356264653c32d7ecbc8fd702f94c6703ea4ac2fb81d9c359180cba0ae2e6b71faa446631ed6145454d5a56b227efc33a2d40638ac13f8beb20ee4 - languageName: node - linkType: hard - "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -25224,14 +24648,7 @@ __metadata: languageName: node linkType: hard -"resolve.exports@npm:^2.0.0": - version: 2.0.2 - resolution: "resolve.exports@npm:2.0.2" - checksum: cc4cffdc25447cf34730f388dca5021156ba9302a3bad3d7f168e790dc74b2827dff603f1bc6ad3d299bac269828dca96dd77e036dc9fba6a2a1807c47ab5c98 - languageName: node - linkType: hard - -"resolve@npm:1.22.8, resolve@npm:^1.10.0, resolve@npm:^1.12.0, resolve@npm:^1.13.1, resolve@npm:^1.14.2, resolve@npm:^1.15.1, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.4, resolve@npm:^1.22.8, resolve@npm:^1.4.0": +"resolve@npm:1.22.8, resolve@npm:^1.10.0, resolve@npm:^1.12.0, resolve@npm:^1.13.1, resolve@npm:^1.14.2, resolve@npm:^1.15.1, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.22.1, resolve@npm:^1.22.4, resolve@npm:^1.22.8, resolve@npm:^1.4.0": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -25245,19 +24662,19 @@ __metadata: linkType: hard "resolve@npm:^2.0.0-next.4": - version: 2.0.0-next.5 - resolution: "resolve@npm:2.0.0-next.5" + version: 2.0.0-next.4 + resolution: "resolve@npm:2.0.0-next.4" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.9.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: a6c33555e3482ea2ec4c6e3d3bf0d78128abf69dca99ae468e64f1e30acaa318fd267fb66c8836b04d558d3e2d6ed875fe388067e7d8e0de647d3c21af21c43a + checksum: 1de92669e7c46cfe125294c66d5405e13288bb87b97e9bdab71693ceebbcc0255c789bde30e2834265257d330d8ff57414d7d88e3097d8f69951f3ce978bf045 languageName: node linkType: hard -"resolve@patch:resolve@npm%3A1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.12.0#optional!builtin, resolve@patch:resolve@npm%3A^1.13.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.15.1#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin": +"resolve@patch:resolve@npm%3A1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.12.0#optional!builtin, resolve@patch:resolve@npm%3A^1.13.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.15.1#optional!builtin, resolve@patch:resolve@npm%3A^1.17.0#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin, resolve@patch:resolve@npm%3A^1.4.0#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -25271,15 +24688,15 @@ __metadata: linkType: hard "resolve@patch:resolve@npm%3A^2.0.0-next.4#optional!builtin": - version: 2.0.0-next.5 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#optional!builtin::version=2.0.0-next.5&hash=c3c19d" + version: 2.0.0-next.4 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.4#optional!builtin::version=2.0.0-next.4&hash=c3c19d" dependencies: - is-core-module: "npm:^2.13.0" + is-core-module: "npm:^2.9.0" path-parse: "npm:^1.0.7" supports-preserve-symlinks-flag: "npm:^1.0.0" bin: resolve: bin/resolve - checksum: 78ad6edb8309a2bfb720c2c1898f7907a37f858866ce11a5974643af1203a6a6e05b2fa9c53d8064a673a447b83d42569260c306d43628bff5bb101969708355 + checksum: ed2bb51d616b9cd30fe85cf49f7a2240094d9fa01a221d361918462be81f683d1855b7f192391d2ab5325245b42464ca59690db5bd5dad0a326fc0de5974dd10 languageName: node linkType: hard @@ -25424,6 +24841,66 @@ __metadata: languageName: node linkType: hard +"rollup@npm:^4.2.0": + version: 4.9.1 + resolution: "rollup@npm:4.9.1" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.9.1" + "@rollup/rollup-android-arm64": "npm:4.9.1" + "@rollup/rollup-darwin-arm64": "npm:4.9.1" + "@rollup/rollup-darwin-x64": "npm:4.9.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.9.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.9.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.9.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.9.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.9.1" + "@rollup/rollup-linux-x64-musl": "npm:4.9.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.9.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.9.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.9.1" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: fdc76d496583bd916da773522a4949326373c2df55520fc40a56e61f10b16e5214dbeec1947ca13e07f80c0a1a2975ba71ea9bc48d298cda3ee17deaff9aacf6 + languageName: node + linkType: hard + +"rrweb-cssom@npm:^0.6.0": + version: 0.6.0 + resolution: "rrweb-cssom@npm:0.6.0" + checksum: 3d9d90d53c2349ea9c8509c2690df5a4ef930c9cf8242aeb9425d4046f09d712bb01047e00da0e1c1dab5db35740b3d78fd45c3e7272f75d3724a563f27c30a3 + languageName: node + linkType: hard + "rsvp@npm:^3.0.14, rsvp@npm:^3.0.18": version: 3.6.2 resolution: "rsvp@npm:3.6.2" @@ -25702,12 +25179,11 @@ __metadata: linkType: hard "selfsigned@npm:^2.1.1": - version: 2.4.1 - resolution: "selfsigned@npm:2.4.1" + version: 2.1.1 + resolution: "selfsigned@npm:2.1.1" dependencies: - "@types/node-forge": "npm:^1.3.0" node-forge: "npm:^1" - checksum: 521829ec36ea042f7e9963bf1da2ed040a815cf774422544b112ec53b7edc0bc50a0f8cc2ae7aa6cc19afa967c641fd96a15de0fc650c68651e41277d2e1df09 + checksum: 4a2509c8a5bd49c3630a799de66b317352b52746bec981133d4f8098365da35d2344f0fbedf14aacf2cd1e88682048e2df11ad9dc59331d3b1c0a5ec3e6e16ad languageName: node linkType: hard @@ -26002,7 +25478,7 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.8.1": +"shell-quote@npm:^1.7.3": version: 1.8.1 resolution: "shell-quote@npm:1.8.1" checksum: 8cec6fd827bad74d0a49347057d40dfea1e01f12a6123bf82c4649f3ef152fc2bc6d6176e6376bffcd205d9d0ccb4f1f9acae889384d20baff92186f01ea455a @@ -26020,6 +25496,13 @@ __metadata: languageName: node linkType: hard +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 + languageName: node + linkType: hard + "signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" @@ -26027,7 +25510,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1": +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" checksum: 41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 @@ -26356,19 +25839,9 @@ __metadata: version: 0.6.0 resolution: "source-map-resolve@npm:0.6.0" dependencies: - atob: "npm:^2.1.2" - decode-uri-component: "npm:^0.2.0" - checksum: bc2a94af3d2417196195eecf0130925b3558726726504a7c7bd1b9e383c4a789fa3f4616c4c673cf8bd7930ddd2e80481f203422282aeae342dbd56b91995188 - languageName: node - linkType: hard - -"source-map-support@npm:0.5.13": - version: 0.5.13 - resolution: "source-map-support@npm:0.5.13" - dependencies: - buffer-from: "npm:^1.0.0" - source-map: "npm:^0.6.0" - checksum: 137539f8c453fa0f496ea42049ab5da4569f96781f6ac8e5bfda26937be9494f4e8891f523c5f98f0e85f71b35d74127a00c46f83f6a4f54672b58d53202565e + atob: "npm:^2.1.2" + decode-uri-component: "npm:^0.2.0" + checksum: bc2a94af3d2417196195eecf0130925b3558726726504a7c7bd1b9e383c4a789fa3f4616c4c673cf8bd7930ddd2e80481f203422282aeae342dbd56b91995188 languageName: node linkType: hard @@ -26396,13 +25869,6 @@ __metadata: languageName: node linkType: hard -"source-map@npm:0.5.6": - version: 0.5.6 - resolution: "source-map@npm:0.5.6" - checksum: beb2c5974bb58954d75e86249953d47ae16f7df1a8531abb9fcae0cd262d9fa09c2db3a134e20e99358b1adba42b6b054a32c8e16b571b3efcf6af644c329f0d - languageName: node - linkType: hard - "source-map@npm:0.6.1, source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" @@ -26482,9 +25948,9 @@ __metadata: linkType: hard "spdx-license-ids@npm:^3.0.0": - version: 3.0.16 - resolution: "spdx-license-ids@npm:3.0.16" - checksum: 7d88b8f01308948bb3ea69c066448f2776cf3d35a410d19afb836743086ced1566f6824ee8e6d67f8f25aa81fa86d8076a666c60ac4528caecd55e93edb5114e + version: 3.0.15 + resolution: "spdx-license-ids@npm:3.0.15" + checksum: 1d44fa43d2024d4533816ceffac983149f9c76214698033496e13f6224d7fe6e61649a2bb9eb6c88b5f7f71bc19cc5f0aed3dba75b430e27c06e0f71cc251959 languageName: node linkType: hard @@ -26515,15 +25981,6 @@ __metadata: languageName: node linkType: hard -"specificity@npm:^0.4.1": - version: 0.4.1 - resolution: "specificity@npm:0.4.1" - bin: - specificity: ./bin/specificity - checksum: 5da85a05052b55e344cb0f5bce5d07cbabbbe8945da176a481589db5a13e9fbcfa879ceb075cf564b94e680fae0a2ab14ea55cc87496b86a6d5122545946d7c2 - languageName: node - linkType: hard - "split-on-first@npm:^1.0.0": version: 1.1.0 resolution: "split-on-first@npm:1.1.0" @@ -26581,6 +26038,13 @@ __metadata: languageName: node linkType: hard +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 + languageName: node + linkType: hard + "stackframe@npm:^1.3.4": version: 1.3.4 resolution: "stackframe@npm:1.3.4" @@ -26626,6 +26090,13 @@ __metadata: languageName: node linkType: hard +"std-env@npm:^3.5.0": + version: 3.6.0 + resolution: "std-env@npm:3.6.0" + checksum: a540b8cb011bef4bf5905e1e28f24ce37124f9d001c69224ee0025d3600144e6847bac62cd38fbd98148ab4d26ab0682b9b4d42bc863cd1cca0b9807f18aadba + languageName: node + linkType: hard + "stop-iteration-iterator@npm:^1.0.0": version: 1.0.0 resolution: "stop-iteration-iterator@npm:1.0.0" @@ -26711,12 +26182,12 @@ __metadata: linkType: hard "streamx@npm:^2.15.0": - version: 2.15.5 - resolution: "streamx@npm:2.15.5" + version: 2.15.1 + resolution: "streamx@npm:2.15.1" dependencies: fast-fifo: "npm:^1.1.0" queue-tick: "npm:^1.0.1" - checksum: 7998d1fa3324131ed94efc4a4e8b22e0f60267b21d8f8fac8c605eaa1a6d6358adbc38c35b407be0eb8cc09a223c641962afb0db29ecbe92118242118946d93c + checksum: e3b0e997726a2a499e1069efea7d720e54fc262011dfcb32e6704f90b5a31bb55b8f48964649d787be03d8718dcf9aa413d24ce48823d92fcbad06a3c337ec61 languageName: node linkType: hard @@ -26741,26 +26212,6 @@ __metadata: languageName: node linkType: hard -"string-length@npm:^4.0.1": - version: 4.0.2 - resolution: "string-length@npm:4.0.2" - dependencies: - char-regex: "npm:^1.0.2" - strip-ansi: "npm:^6.0.0" - checksum: 1cd77409c3d7db7bc59406f6bcc9ef0783671dcbabb23597a1177c166906ef2ee7c8290f78cae73a8aec858768f189d2cb417797df5e15ec4eb5e16b3346340c - languageName: node - linkType: hard - -"string-length@npm:^5.0.1": - version: 5.0.1 - resolution: "string-length@npm:5.0.1" - dependencies: - char-regex: "npm:^2.0.0" - strip-ansi: "npm:^7.0.1" - checksum: 311fa5758d397bd616be17150dfefaab4755ed292a3112237924d10ba5122f606064ad4880a293387401c1d7aa20d79f7936728bac2abed17a5e48f5b317cbc8 - languageName: node - linkType: hard - "string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -26913,13 +26364,6 @@ __metadata: languageName: node linkType: hard -"strip-bom@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-bom@npm:4.0.0" - checksum: 26abad1172d6bc48985ab9a5f96c21e440f6e7e476686de49be813b5a59b3566dccb5c525b831ec54fe348283b47f3ffb8e080bc3f965fde12e84df23f6bb7ef - languageName: node - linkType: hard - "strip-eof@npm:^1.0.0": version: 1.0.0 resolution: "strip-eof@npm:1.0.0" @@ -26959,17 +26403,26 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^2.0.0, strip-json-comments@npm:~2.0.1": +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"strip-json-comments@npm:~2.0.1": version: 2.0.1 resolution: "strip-json-comments@npm:2.0.1" checksum: b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43 languageName: node linkType: hard -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd +"strip-literal@npm:^1.3.0": + version: 1.3.0 + resolution: "strip-literal@npm:1.3.0" + dependencies: + acorn: "npm:^8.10.0" + checksum: 3c0c9ee41eb346e827eede61ef288457f53df30e3e6ff8b94fa81b636933b0c13ca4ea5c97d00a10d72d04be326da99ac819f8769f0c6407ba8177c98344a916 languageName: node linkType: hard @@ -27203,9 +26656,29 @@ __metadata: languageName: node linkType: hard -"svelte@npm:^5.0.0-next.15, svelte@npm:^5.0.0-next.16": - version: 5.0.0-next.19 - resolution: "svelte@npm:5.0.0-next.19" +"svelte@npm:^5.0.0-next.16": + version: 5.0.0-next.22 + resolution: "svelte@npm:5.0.0-next.22" + dependencies: + "@ampproject/remapping": "npm:^2.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + acorn: "npm:^8.10.0" + acorn-typescript: "npm:^1.4.11" + aria-query: "npm:^5.3.0" + axobject-query: "npm:^4.0.0" + esm-env: "npm:^1.0.0" + esrap: "npm:^1.2.1" + is-reference: "npm:^3.0.1" + locate-character: "npm:^3.0.0" + magic-string: "npm:^0.30.4" + zimmerframe: "npm:^1.1.0" + checksum: 121c0ffe925f3393581742a970d58588ac642f15d17062af16f46b4729064d48214ee158261fbcdff78b6ee143f4da361d3e696507c8c7c31580e2040e366539 + languageName: node + linkType: hard + +"svelte@npm:^5.0.0-next.22": + version: 5.0.0-next.26 + resolution: "svelte@npm:5.0.0-next.26" dependencies: "@ampproject/remapping": "npm:^2.2.1" "@jridgewell/sourcemap-codec": "npm:^1.4.15" @@ -27219,7 +26692,7 @@ __metadata: locate-character: "npm:^3.0.0" magic-string: "npm:^0.30.4" zimmerframe: "npm:^1.1.0" - checksum: 2efc415d3a51cd9094349aa0295e728ea74e10bad17dedd167b1fae64de8ee5d46cbd27b5cfb152e4af641e1326e233dfeb918d8fa0541f65cf149b85d00419a + checksum: 76e5874b7afd8f9770b716ea3422c5d0e7e45a85c01bc1fa7daa43b3ae4d38ee073da7a958e3826d0370718fbdf9477769785754b8606a7403460e027f034b60 languageName: node linkType: hard @@ -27512,7 +26985,21 @@ __metadata: languageName: node linkType: hard -"tinyspy@npm:^2.1.1": +"tinybench@npm:^2.5.1": + version: 2.5.1 + resolution: "tinybench@npm:2.5.1" + checksum: 9c55ef25ce1689c3e2fdb89cacbf27dada4d04f846cac70023fe97fc35d2122816d8bbc5b20253e071d13688cf006355d59f0096d22958b818e1e2fe60e5165b + languageName: node + linkType: hard + +"tinypool@npm:^0.8.1": + version: 0.8.1 + resolution: "tinypool@npm:0.8.1" + checksum: d965c057a1866c9d83716f4e434f7be18b2a067ed3b32cc2de3b3bf34ca1756ac1c35bd04433e2086c8cc2afa75b328e4b17baa6b4e6292dba2ce31cc76770e0 + languageName: node + linkType: hard + +"tinyspy@npm:^2.1.1, tinyspy@npm:^2.2.0": version: 2.2.0 resolution: "tinyspy@npm:2.2.0" checksum: 8c7b70748dd8590e85d52741db79243746c15bc03c92d75c23160a762142db577e7f53e360ba7300e321b12bca5c42dd2522a8dbeec6ba3830302573dd8516bc @@ -27638,7 +27125,7 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.1.2": +"tough-cookie@npm:^4.1.3": version: 4.1.3 resolution: "tough-cookie@npm:4.1.3" dependencies: @@ -27650,12 +27137,12 @@ __metadata: languageName: node linkType: hard -"tr46@npm:^3.0.0": - version: 3.0.0 - resolution: "tr46@npm:3.0.0" +"tr46@npm:^5.0.0": + version: 5.0.0 + resolution: "tr46@npm:5.0.0" dependencies: - punycode: "npm:^2.1.1" - checksum: cdc47cad3a9d0b6cb293e39ccb1066695ae6fdd39b9e4f351b010835a1f8b4f3a6dc3a55e896b421371187f22b48d7dac1b693de4f6551bdef7b6ab6735dfe3b + punycode: "npm:^2.3.1" + checksum: 1521b6e7bbc8adc825c4561480f9fe48eb2276c81335eed9fa610aa4c44a48a3221f78b10e5f18b875769eb3413e30efbf209ed556a17a42aa8d690df44b7bee languageName: node linkType: hard @@ -27732,39 +27219,6 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^29.0.0": - version: 29.1.1 - resolution: "ts-jest@npm:29.1.1" - dependencies: - bs-logger: "npm:0.x" - fast-json-stable-stringify: "npm:2.x" - jest-util: "npm:^29.0.0" - json5: "npm:^2.2.3" - lodash.memoize: "npm:4.x" - make-error: "npm:1.x" - semver: "npm:^7.5.3" - yargs-parser: "npm:^21.0.1" - peerDependencies: - "@babel/core": ">=7.0.0-beta.0 <8" - "@jest/types": ^29.0.0 - babel-jest: ^29.0.0 - jest: ^29.0.0 - typescript: ">=4.3 <6" - peerDependenciesMeta: - "@babel/core": - optional: true - "@jest/types": - optional: true - babel-jest: - optional: true - esbuild: - optional: true - bin: - ts-jest: cli.js - checksum: 6c45e0aeeff9cc54a64f931c43e1b99f4a1f0ddf44786cc128e7e55603ab7473c8c8f62fd83bd7e51bfe83e3c0c683132152efaeb844516bf7c923f4e92d157d - languageName: node - linkType: hard - "ts-loader@npm:^9.2.8": version: 9.5.1 resolution: "ts-loader@npm:9.5.1" @@ -27789,8 +27243,8 @@ __metadata: linkType: hard "ts-node@npm:^10.9.1": - version: 10.9.1 - resolution: "ts-node@npm:10.9.1" + version: 10.9.2 + resolution: "ts-node@npm:10.9.2" dependencies: "@cspotcode/source-map-support": "npm:^0.8.0" "@tsconfig/node10": "npm:^1.0.7" @@ -27822,7 +27276,7 @@ __metadata: ts-node-script: dist/bin-script.js ts-node-transpile-only: dist/bin-transpile.js ts-script: dist/bin-script-deprecated.js - checksum: 95187932fb83f3901e22546bd2feeac7d2feb4f412f42ac3a595f049a23e8dcf70516dffb51866391228ea2dbcfaea039e250fb2bb334d48a86ab2b6aea0ae2d + checksum: 5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 languageName: node linkType: hard @@ -27877,18 +27331,6 @@ __metadata: languageName: node linkType: hard -"tsconfig@npm:^7.0.0": - version: 7.0.0 - resolution: "tsconfig@npm:7.0.0" - dependencies: - "@types/strip-bom": "npm:^3.0.0" - "@types/strip-json-comments": "npm:0.0.30" - strip-bom: "npm:^3.0.0" - strip-json-comments: "npm:^2.0.0" - checksum: 7a5dec94b9e42017d93041b1962c174afde00fd8f3066eea81a5e5b743065e95f3bedebff0edbe215b2517f8cdace8c9f15651a78d5eb7409cad2fc107e5eb98 - languageName: node - linkType: hard - "tslib@npm:2.6.2, tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0": version: 2.6.2 resolution: "tslib@npm:2.6.2" @@ -28053,12 +27495,12 @@ __metadata: linkType: hard "typescript@npm:^5.0.3, typescript@npm:^5.3.2": - version: 5.3.2 - resolution: "typescript@npm:5.3.2" + version: 5.3.3 + resolution: "typescript@npm:5.3.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: d7dbe1fbe19039e36a65468ea64b5d338c976550394ba576b7af9c68ed40c0bc5d12ecce390e4b94b287a09a71bd3229f19c2d5680611f35b7c53a3898791159 + checksum: e33cef99d82573624fc0f854a2980322714986bc35b9cb4d1ce736ed182aeab78e2cb32b385efa493b2a976ef52c53e20d6c6918312353a91850e2b76f1ea44f languageName: node linkType: hard @@ -28073,12 +27515,12 @@ __metadata: linkType: hard "typescript@patch:typescript@npm%3A^5.0.3#optional!builtin, typescript@patch:typescript@npm%3A^5.3.2#optional!builtin": - version: 5.3.2 - resolution: "typescript@patch:typescript@npm%3A5.3.2#optional!builtin::version=5.3.2&hash=29ae49" + version: 5.3.3 + resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=29ae49" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: c81b9bd20c6dbe90fa43e876c586021447f2b47baede9fa542b1f56715835c043e23b2eaf19c42c067cc6f5ae512bd9a9be28a67b3a1d9807f8c9cfb1269875e + checksum: e22df47df9b2b2f2617b8bf511a29aea3d177f9f7a0756818230a76b01cbd7da988bf55f9463aaa1a4c1ff90b80f8dc5676460d4e9dfc010572cbba59b822b0c languageName: node linkType: hard @@ -28089,6 +27531,13 @@ __metadata: languageName: node linkType: hard +"ufo@npm:^1.3.0": + version: 1.3.2 + resolution: "ufo@npm:1.3.2" + checksum: 180f3dfcdf319b54fe0272780841c93cb08a024fc2ee5f95e63285c2a3c42d8b671cd3641e9a53aafccf100cf8466aa8c040ddfa0efea1fc1968c9bfb250a661 + languageName: node + linkType: hard + "uglify-js@npm:^3.1.4": version: 3.17.4 resolution: "uglify-js@npm:3.17.4" @@ -28462,9 +27911,9 @@ __metadata: linkType: hard "universal-user-agent@npm:^6.0.0": - version: 6.0.1 - resolution: "universal-user-agent@npm:6.0.1" - checksum: 5c9c46ffe19a975e11e6443640ed4c9e0ce48fcc7203325757a8414ac49940ebb0f4667f2b1fa561489d1eb22cb2d05a0f7c82ec20c5cba42e58e188fb19b187 + version: 6.0.0 + resolution: "universal-user-agent@npm:6.0.0" + checksum: ebeb0206963666c13bcf9ebc86d0577c7daed5870c05cd34d4972ee7a43b9ef20679baf2a8c83bf1b71d899bae67243ac4982d84ddaf9ba0355ff76595819961 languageName: node linkType: hard @@ -28483,9 +27932,9 @@ __metadata: linkType: hard "universalify@npm:^2.0.0": - version: 2.0.1 - resolution: "universalify@npm:2.0.1" - checksum: 73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + version: 2.0.0 + resolution: "universalify@npm:2.0.0" + checksum: 07092b9f46df61b823d8ab5e57f0ee5120c178b39609a95e4a15a98c42f6b0b8e834e66fbb47ff92831786193be42f1fd36347169b88ce8639d0f9670af24a71 languageName: node linkType: hard @@ -28590,14 +28039,14 @@ __metadata: linkType: hard "urql@npm:^4.0.3": - version: 4.0.6 - resolution: "urql@npm:4.0.6" + version: 4.0.5 + resolution: "urql@npm:4.0.5" dependencies: - "@urql/core": "npm:^4.2.0" + "@urql/core": "npm:^4.1.0" wonka: "npm:^6.3.2" peerDependencies: react: ">= 16.8.0" - checksum: d3d952c5a1f288e6c9c24a0ffb694893133d3c8b0d1237109ce96b460697a6f4536a494b5ec70e690660cacbd9c149461d1811d33482f4ca2126ea96560c4332 + checksum: 9560d04b3c2fe72c921bdb21e969039b776e07999704d23bce35f815eb537c9357b6c7322a1b8cd43957550798c30cd15f5130ddd054dfd8a890d17d2be85282 languageName: node linkType: hard @@ -28760,7 +28209,7 @@ __metadata: languageName: node linkType: hard -"v8-to-istanbul@npm:^9.0.0, v8-to-istanbul@npm:^9.0.1": +"v8-to-istanbul@npm:^9.0.0, v8-to-istanbul@npm:^9.2.0": version: 9.2.0 resolution: "v8-to-istanbul@npm:9.2.0" dependencies: @@ -28876,6 +28325,21 @@ __metadata: languageName: node linkType: hard +"vite-node@npm:1.0.4": + version: 1.0.4 + resolution: "vite-node@npm:1.0.4" + dependencies: + cac: "npm:^6.7.14" + debug: "npm:^4.3.4" + pathe: "npm:^1.1.1" + picocolors: "npm:^1.0.0" + vite: "npm:^5.0.0" + bin: + vite-node: vite-node.mjs + checksum: 3be4f8045a2c39afb57fdf83450791f872b10f883728eb58495640eed8d370f062a8bf25622afd005be8b375a1b4ac5731ca4fa0ae7c962742acf8f904f7748a + languageName: node + linkType: hard + "vite-plugin-turbosnap@npm:^1.0.1": version: 1.0.3 resolution: "vite-plugin-turbosnap@npm:1.0.3" @@ -28883,7 +28347,7 @@ __metadata: languageName: node linkType: hard -"vite@npm:4.5.0, vite@npm:^4.0.0, vite@npm:^4.0.4": +"vite@npm:4.5.0": version: 4.5.0 resolution: "vite@npm:4.5.0" dependencies: @@ -28923,7 +28387,99 @@ __metadata: languageName: node linkType: hard +"vite@npm:^4.0.0, vite@npm:^4.0.4": + version: 4.5.1 + resolution: "vite@npm:4.5.1" + dependencies: + esbuild: "npm:^0.18.10" + fsevents: "npm:~2.3.2" + postcss: "npm:^8.4.27" + rollup: "npm:^3.27.1" + peerDependencies: + "@types/node": ">= 14" + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 352a94b13f793e4bcbc424d680a32507343223eeda8917fde0f23c1fa1ba3db7c806dade8461ca5cfb270154ddb8895a219fdd4384519fe9b8e46d1cf491a890 + languageName: node + linkType: hard + +"vite@npm:^5.0.0": + version: 5.0.10 + resolution: "vite@npm:5.0.10" + dependencies: + esbuild: "npm:^0.19.3" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.32" + rollup: "npm:^4.2.0" + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: d666b2760d2a7ea1d0d35f67c042053e562144f80554be4e4dc58e607fd5f62193cd203d73ab2e315df66830d8b9d9a2e3509d0208bdef1b2e92e0a5c364df84 + languageName: node + linkType: hard + "vitefu@npm:^0.2.4": + version: 0.2.4 + resolution: "vitefu@npm:0.2.4" + peerDependencies: + vite: ^3.0.0 || ^4.0.0 + peerDependenciesMeta: + vite: + optional: true + checksum: 78d5e7071c0c4fdfc010f15a3e5bac2d31090ddd48789446fce5b7d0f01496fc6a041b65d3add904365bb0ac6576bb93635f700971c16ffd27cd7c0bee9eb1ae + languageName: node + linkType: hard + +"vitefu@npm:^0.2.5": version: 0.2.5 resolution: "vitefu@npm:0.2.5" peerDependencies: @@ -28935,6 +28491,57 @@ __metadata: languageName: node linkType: hard +"vitest@npm:^1.0.1": + version: 1.0.4 + resolution: "vitest@npm:1.0.4" + dependencies: + "@vitest/expect": "npm:1.0.4" + "@vitest/runner": "npm:1.0.4" + "@vitest/snapshot": "npm:1.0.4" + "@vitest/spy": "npm:1.0.4" + "@vitest/utils": "npm:1.0.4" + acorn-walk: "npm:^8.3.0" + cac: "npm:^6.7.14" + chai: "npm:^4.3.10" + debug: "npm:^4.3.4" + execa: "npm:^8.0.1" + local-pkg: "npm:^0.5.0" + magic-string: "npm:^0.30.5" + pathe: "npm:^1.1.1" + picocolors: "npm:^1.0.0" + std-env: "npm:^3.5.0" + strip-literal: "npm:^1.3.0" + tinybench: "npm:^2.5.1" + tinypool: "npm:^0.8.1" + vite: "npm:^5.0.0" + vite-node: "npm:1.0.4" + why-is-node-running: "npm:^2.2.2" + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": ^1.0.0 + "@vitest/ui": ^1.0.0 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + bin: + vitest: vitest.mjs + checksum: 401cd3f7bc716269ed2e4d6304b3377a3957370f9ca1565d0fb328b3eb0017ba627e0357ccf7bf29126750ef312cc9e5319af8b5cfa87c3f746732480bebb813 + languageName: node + linkType: hard + "vm-browserify@npm:^1.1.2": version: 1.1.2 resolution: "vm-browserify@npm:1.1.2" @@ -28984,16 +28591,16 @@ __metadata: linkType: hard "vscode-uri@npm:^3.0.3": - version: 3.0.8 - resolution: "vscode-uri@npm:3.0.8" - checksum: f7f217f526bf109589969fe6e66b71e70b937de1385a1d7bb577ca3ee7c5e820d3856a86e9ff2fa9b7a0bc56a3dd8c3a9a557d3fedd7df414bc618d5e6b567f9 + version: 3.0.7 + resolution: "vscode-uri@npm:3.0.7" + checksum: 67bc15bc9c9bd2d70dae8b27f2a3164281c6ee8f6484e6c5945a44d89871da93d52f2ba339ebc12ab0c10991d4576171b5d85e49a542454329c16faf977e4c59 languageName: node linkType: hard "vue-component-type-helpers@npm:latest": - version: 1.8.24 - resolution: "vue-component-type-helpers@npm:1.8.24" - checksum: 6ab61470ec36254b49d611108fb6e1ea217a1981e241d74f8a7c5724bb2b03c39e38995aaae498478e83626cfc15377cc030da183412e5a3bbf35d164762bf2b + version: 1.8.15 + resolution: "vue-component-type-helpers@npm:1.8.15" + checksum: 3397faf50844e31d92a29a44616088408cf6eb8b6c88b7deb8841c4bc78e8e258fafbb7052b100e52ebea5d1c4e826b7247b2c48f6f3c330addd53132db141f9 languageName: node linkType: hard @@ -29066,17 +28673,17 @@ __metadata: linkType: hard "vue-tsc@npm:latest": - version: 1.8.24 - resolution: "vue-tsc@npm:1.8.24" + version: 1.8.15 + resolution: "vue-tsc@npm:1.8.15" dependencies: - "@volar/typescript": "npm:~1.11.1" - "@vue/language-core": "npm:1.8.24" - semver: "npm:^7.5.4" + "@vue/language-core": "npm:1.8.15" + "@vue/typescript": "npm:1.8.15" + semver: "npm:^7.3.8" peerDependencies: typescript: "*" bin: vue-tsc: bin/vue-tsc.js - checksum: 09707b06ae05a3d15127b33b04d0ea4adb7d0b64e1f344d2ae413c010adf2be2efae3411bfc64e9f18924461fe6dd79d7ffe3cf97c5f8a24e5fe290bd7531102 + checksum: 18092627141afcef9515701ea85beae564bc31258358d3b0eb7a3ae5167559ac56d8e218a0490661bae91a4f496d1351f9431074820473206dda9d0c50998216 languageName: node linkType: hard @@ -29092,29 +28699,29 @@ __metadata: linkType: hard "vue@npm:^3.2.33, vue@npm:^3.2.47": - version: 3.3.9 - resolution: "vue@npm:3.3.9" + version: 3.3.11 + resolution: "vue@npm:3.3.11" dependencies: - "@vue/compiler-dom": "npm:3.3.9" - "@vue/compiler-sfc": "npm:3.3.9" - "@vue/runtime-dom": "npm:3.3.9" - "@vue/server-renderer": "npm:3.3.9" - "@vue/shared": "npm:3.3.9" + "@vue/compiler-dom": "npm:3.3.11" + "@vue/compiler-sfc": "npm:3.3.11" + "@vue/runtime-dom": "npm:3.3.11" + "@vue/server-renderer": "npm:3.3.11" + "@vue/shared": "npm:3.3.11" peerDependencies: typescript: "*" peerDependenciesMeta: typescript: optional: true - checksum: 46a9b363e208e0103162117bf8cd4820bfd844066502adc9106f075c4f67b15599ccabc9cd15971e43514eb446662cebb80cdcaf5f46f3b06b197e3aad410105 + checksum: 9d1aa569d185107c0ca8c6f13d18eeead99b378324fc2fbaeec5eee1d355d48f089c94977b50a4cea042ba2a84707b295621de32b6499491042f9106c3f7be91 languageName: node linkType: hard -"w3c-xmlserializer@npm:^4.0.0": - version: 4.0.0 - resolution: "w3c-xmlserializer@npm:4.0.0" +"w3c-xmlserializer@npm:^5.0.0": + version: 5.0.0 + resolution: "w3c-xmlserializer@npm:5.0.0" dependencies: - xml-name-validator: "npm:^4.0.0" - checksum: 02cc66d6efc590bd630086cd88252444120f5feec5c4043932b0d0f74f8b060512f79dc77eb093a7ad04b4f02f39da79ce4af47ceb600f2bf9eacdc83204b1a8 + xml-name-validator: "npm:^5.0.0" + checksum: 8712774c1aeb62dec22928bf1cdfd11426c2c9383a1a63f2bcae18db87ca574165a0fbe96b312b73652149167ac6c7f4cf5409f2eb101d9c805efe0e4bae798b languageName: node linkType: hard @@ -29460,20 +29067,29 @@ __metadata: languageName: node linkType: hard -"whatwg-mimetype@npm:^3.0.0": - version: 3.0.0 - resolution: "whatwg-mimetype@npm:3.0.0" - checksum: 323895a1cda29a5fb0b9ca82831d2c316309fede0365047c4c323073e3239067a304a09a1f4b123b9532641ab604203f33a1403b5ca6a62ef405bcd7a204080f +"whatwg-encoding@npm:^3.1.1": + version: 3.1.1 + resolution: "whatwg-encoding@npm:3.1.1" + dependencies: + iconv-lite: "npm:0.6.3" + checksum: 273b5f441c2f7fda3368a496c3009edbaa5e43b71b09728f90425e7f487e5cef9eb2b846a31bd760dd8077739c26faf6b5ca43a5f24033172b003b72cf61a93e languageName: node linkType: hard -"whatwg-url@npm:^11.0.0": - version: 11.0.0 - resolution: "whatwg-url@npm:11.0.0" +"whatwg-mimetype@npm:^4.0.0": + version: 4.0.0 + resolution: "whatwg-mimetype@npm:4.0.0" + checksum: a773cdc8126b514d790bdae7052e8bf242970cebd84af62fb2f35a33411e78e981f6c0ab9ed1fe6ec5071b09d5340ac9178e05b52d35a9c4bcf558ba1b1551df + languageName: node + linkType: hard + +"whatwg-url@npm:^14.0.0": + version: 14.0.0 + resolution: "whatwg-url@npm:14.0.0" dependencies: - tr46: "npm:^3.0.0" + tr46: "npm:^5.0.0" webidl-conversions: "npm:^7.0.0" - checksum: f7ec264976d7c725e0696fcaf9ebe056e14422eacbf92fdbb4462034609cba7d0c85ffa1aab05e9309d42969bcf04632ba5ed3f3882c516d7b093053315bf4c1 + checksum: ac32e9ba9d08744605519bbe9e1371174d36229689ecc099157b6ba102d4251a95e81d81f3d80271eb8da182eccfa65653f07f0ab43ea66a6934e643fd091ba9 languageName: node linkType: hard @@ -29546,16 +29162,16 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": - version: 1.1.13 - resolution: "which-typed-array@npm:1.1.13" +"which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": + version: 1.1.11 + resolution: "which-typed-array@npm:1.1.11" dependencies: available-typed-arrays: "npm:^1.0.5" - call-bind: "npm:^1.0.4" + call-bind: "npm:^1.0.2" for-each: "npm:^0.3.3" gopd: "npm:^1.0.1" has-tostringtag: "npm:^1.0.0" - checksum: 9f5f1c42918df3d5b91c4315ed0051d5d874370998bf095c9ae0df374f0881f85094e3c384b8fb08ab7b4d4f54ba81c0aff75da6226e7c0589b83dfbec1cd4c9 + checksum: 2cf4ce417beb50ae0ec3b1b479ea6d72d3e71986462ebd77344ca6398f77c7c59804eebe88f4126ce79f85edbcaa6c7783f54b0a5bf34f785eab7cbb35c30499 languageName: node linkType: hard @@ -29592,6 +29208,18 @@ __metadata: languageName: node linkType: hard +"why-is-node-running@npm:^2.2.2": + version: 2.2.2 + resolution: "why-is-node-running@npm:2.2.2" + dependencies: + siginfo: "npm:^2.0.0" + stackback: "npm:0.0.2" + bin: + why-is-node-running: cli.js + checksum: 805d57eb5d33f0fb4e36bae5dceda7fd8c6932c2aeb705e30003970488f1a2bc70029ee64be1a0e1531e2268b11e65606e88e5b71d667ea745e6dc48fc9014bd + languageName: node + linkType: hard + "wide-align@npm:^1.1.2, wide-align@npm:^1.1.5": version: 1.1.5 resolution: "wide-align@npm:1.1.5" @@ -29745,9 +29373,24 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.11.0, ws@npm:^8.13.0, ws@npm:^8.2.3": - version: 8.14.2 - resolution: "ws@npm:8.14.2" +"ws@npm:^8.13.0, ws@npm:^8.2.3": + version: 8.15.0 + resolution: "ws@npm:8.15.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: b778a405b2589ffbf549323e2f404f1f72e372a049d332d2f0b1f33057e9fbb14a05aa474cb156e4584b418cd95edf4297c0ca5263d6519e8009064bf8e0b80d + languageName: node + linkType: hard + +"ws@npm:^8.14.2": + version: 8.15.1 + resolution: "ws@npm:8.15.1" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -29756,7 +29399,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 35b4c2da048b8015c797fd14bcb5a5766216ce65c8a5965616a5440ca7b6c3681ee3cbd0ea0c184a59975556e9d58f2002abf8485a14d11d3371770811050a16 + checksum: 9964360dd5ab35c7376bd7c4295a3c8bd44ea0838c9413742548a6fb3ec371fc6c18552d5b8e76bdc21536db1909765612815bae072674b5ec69971605395a96 languageName: node linkType: hard @@ -29801,17 +29444,10 @@ __metadata: languageName: node linkType: hard -"xml-name-validator@npm:^4.0.0": - version: 4.0.0 - resolution: "xml-name-validator@npm:4.0.0" - checksum: c1bfa219d64e56fee265b2bd31b2fcecefc063ee802da1e73bad1f21d7afd89b943c9e2c97af2942f60b1ad46f915a4c81e00039c7d398b53cf410e29d3c30bd - languageName: node - linkType: hard - -"xml@npm:^1.0.1": - version: 1.0.1 - resolution: "xml@npm:1.0.1" - checksum: 04bcc9b8b5e7b49392072fbd9c6b0f0958bd8e8f8606fee460318e43991349a68cbc5384038d179ff15aef7d222285f69ca0f067f53d071084eb14c7fdb30411 +"xml-name-validator@npm:^5.0.0": + version: 5.0.0 + resolution: "xml-name-validator@npm:5.0.0" + checksum: 3fcf44e7b73fb18be917fdd4ccffff3639373c7cb83f8fc35df6001fecba7942f1dbead29d91ebb8315e2f2ff786b508f0c9dc0215b6353f9983c6b7d62cb1f5 languageName: node linkType: hard @@ -29896,7 +29532,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": +"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" checksum: f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 diff --git a/docs/api/cli-options.md b/docs/api/cli-options.md index 1ccbb4d1f124..ee164e45e499 100644 --- a/docs/api/cli-options.md +++ b/docs/api/cli-options.md @@ -30,7 +30,6 @@ Options include: | `-V`, `--version` | Output the version number `storybook dev -V` | | `-p`, `--port [number]` | Port to run Storybook `storybook dev -p 9009` | | `-h`, `--host [string]` | Host to run Storybook `storybook dev -h my-host.com` | -| `-s`, `--static-dir` | **Deprecated** [see note](#static-dir-deprecation). Directory where to load static files from, comma-separated list`storybook dev -s public` | | `-c`, `--config-dir [dir-name]` | Directory where to load Storybook configurations from `storybook dev -c .storybook` | | `--https` | Serve Storybook over HTTPS. Note: You must provide your own certificate information`storybook dev --https` | | `--ssl-ca` | Provide an SSL certificate authority. (Optional with --https, required if using a self-signed certificate)`storybook dev --ssl-ca my-certificate` | @@ -47,7 +46,7 @@ Options include: -Starting in 6.4 the `-s` flag is deprecated. Instead, use a configuration object in your `.storybook/main.js` file. See the [images and assets documentation](../configure/images-and-assets.md#serving-static-files-via-storybook) for more information. +With the release of Storybook 8, the `-s` CLI flag was removed. We recommend using the [static directory](../configure/images-and-assets.md#serving-static-files-via-storybook) instead if you need to serve static files. @@ -65,7 +64,6 @@ Options include: | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `-h`, `--help` | Output usage information`storybook build --help` | | `-V`, `--version` | Output the version number`storybook build -V` | -| `-s`, `--static-dir` | **Deprecated** [see note](#static-dir-deprecation). Directory where to load static files from, comma-separated list`storybook build -s public` | | `-o`, `--output-dir [dir-name]` | Directory where to store built files`storybook build -o /my-deployed-storybook` | | `-c`, `--config-dir [dir-name]` | Directory where to load Storybook configurations from`storybook build -c .storybook` | | `--loglevel [level]` | Controls level of logging during build. Available options: `silly`, `verbose`, `info` (default), `warn`, `error`, `silent``storybook build --loglevel warn` | diff --git a/docs/api/doc-block-controls.md b/docs/api/doc-block-controls.md index d199c1f3ec99..fa753933cb31 100644 --- a/docs/api/doc-block-controls.md +++ b/docs/api/doc-block-controls.md @@ -31,7 +31,7 @@ import * as ButtonStories from './Button.stories' -The Controls doc block will only have functioning UI controls if you have also installed and registered [`@storybook/addon-controls`](../essentials/controls.md) (included in [`@storybook/addon-essentials`](../essentials/index.md)). +The Controls doc block will only have functioning UI controls if you have also installed and registered [`@storybook/addon-controls`](../essentials/controls.md) (included in [`@storybook/addon-essentials`](../essentials/index.md)) and haven't turned off inline stories with the [`inline`](./doc-block-story.md#inline) configuration option. diff --git a/docs/api/doc-block-source.md b/docs/api/doc-block-source.md index c4a460050430..1c4c68c50517 100644 --- a/docs/api/doc-block-source.md +++ b/docs/api/doc-block-source.md @@ -98,6 +98,18 @@ Light mode is only supported when the `Source` block is rendered independently. + + +### `excludeDecorators` + +Type: `boolean` + +Default: `parameters.docs.source.excludeDecorators` + +Determines if [decorators](../writing-stories/decorators.md) are rendered in the source code snippet. + + + ### `format` Type: `boolean | 'dedent' | BuiltInParserName` diff --git a/docs/api/doc-block-story.md b/docs/api/doc-block-story.md index 0a3470429ace..179d683a2f4a 100644 --- a/docs/api/doc-block-story.md +++ b/docs/api/doc-block-story.md @@ -96,6 +96,12 @@ Default: `parameters.docs.story.inline` or `true` (for [supported frameworks](.. Determines whether the story is rendered `inline` (in the same browser frame as the other docs content) or in an iframe. + + +Setting the `inline` option to false will prevent the associated [controls](./doc-block-controls.md) from updating the story within the documentation page. This is a known limitation of the current implementation and will be addressed in a future release. + + + ### `meta` Type: CSF file exports diff --git a/docs/configure/frameworks-feature-support.md b/docs/configure/frameworks-feature-support.md index 8b1ae823ed3d..306ee9e94160 100644 --- a/docs/configure/frameworks-feature-support.md +++ b/docs/configure/frameworks-feature-support.md @@ -10,10 +10,108 @@ Below is a comprehensive table of what’s supported in which framework integrat Core frameworks have dedicated maintainers or contributors who are responsible for maintaining the integration. As such, you can use most Storybook features in these frameworks. - +| | React | Vue | Angular | Web Components | +| ----------------------------------------------------------------------------------------- | ----- | --- | ------- | -------------- | +| **Essentials** | | | | | +| [Actions](../essentials/actions.md) | ✅ | ✅ | ✅ | ✅ | +| [Backgrounds](../essentials/backgrounds.md) | ✅ | ✅ | ✅ | ✅ | +| [Docs](../writing-docs/index.md) | ✅ | ✅ | ✅ | ✅ | +| [Viewport](../essentials/viewport.md) | ✅ | ✅ | ✅ | ✅ | +| [Controls](../essentials/controls.md) | ✅ | ✅ | ✅ | ✅ | +| [Measure](../essentials/measure-and-outline.md#measure-addon) | ✅ | ✅ | ✅ | ✅ | +| [Outline](../essentials/measure-and-outline.md#outline-addon) | ✅ | ✅ | ✅ | ✅ | +| **Addons** | | | | | +| [A11y](../writing-tests/accessibility-testing.md) | ✅ | ✅ | ✅ | ✅ | +| [Interactions](../writing-tests/interaction-testing.md) | ✅ | ✅ | ✅ | ✅ | +| [Test runner](../writing-tests/test-runner.md) | ✅ | ✅ | ✅ | ✅ | +| [Test coverage](../writing-tests/test-coverage.md) | ✅ | ✅ | ✅ | ✅ | +| [CSS resources](https://github.com/storybookjs/addon-cssresources) | ✅ | ✅ | ✅ | ✅ | +| [Design assets](https://github.com/storybookjs/addon-design-assets) | ✅ | ✅ | ✅ | ✅ | +| [Events](https://github.com/storybookjs/addon-events) | ✅ | ✅ | ✅ | ✅ | +| [Google analytics](https://github.com/storybookjs/addon-google-analytics) | ✅ | ✅ | ✅ | ✅ | +| [GraphQL](https://github.com/storybookjs/addon-graphql) | ✅ | | ✅ | | +| [Jest](https://github.com/storybookjs/storybook/tree/next/code/addons/jest) | ✅ | ✅ | ✅ | ✅ | +| [Links](https://github.com/storybookjs/storybook/tree/next/code/addons/links) | ✅ | ✅ | ✅ | ✅ | +| [Queryparams](https://github.com/storybookjs/addon-queryparams) | ✅ | ✅ | ✅ | ✅ | +| [Storysource](https://github.com/storybookjs/storybook/tree/next/code/addons/storysource) | ✅ | ✅ | ✅ | ✅ | +| **Docs** | | | | | +| [CSF Stories](../api/csf.md) | ✅ | ✅ | ✅ | ✅ | +| [Autodocs](../writing-docs/autodocs.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - ArgTypes](../api/doc-block-argtypes.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Canvas](../api/doc-block-canvas.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - ColorPalette](../api/doc-block-colorpalette.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Controls](../api/doc-block-controls.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Description](../api/doc-block-description.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - IconGallery](../api/doc-block-icongallery.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Markdown](../api/doc-block-markdown.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Meta](../api/doc-block-meta.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Primary](../api/doc-block-primary.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Source](../api/doc-block-source.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Story](../api/doc-block-story.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Stories](../api/doc-block-stories.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Subtitle](../api/doc-block-subtitle.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Title](../api/doc-block-title.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Typeset](../api/doc-block-typeset.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Unstyled](../api/doc-block-unstyled.md) | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - UseOf](../api/doc-block-useof.md) | ✅ | ✅ | ✅ | ✅ | +| Inline stories | ✅ | ✅ | ✅ | ✅ | ## Community frameworks Community frameworks have fewer contributors which means they may not be as up to date as core frameworks. If you use one of these frameworks for your job, please consider contributing to its integration with Storybook. - +| | Ember | HTML | Svelte | Preact | Qwik | SolidJS | +| ----------------------------------------------------------------------------------------- | ----- | ---- | ------ | ------ | ---- | ------- | +| **Essentials** | | | | | | | +| [Actions](../essentials/actions.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Backgrounds](../essentials/backgrounds.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Docs](../writing-docs/index.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Viewport](../essentials/viewport.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Controls](../essentials/controls.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Measure](../essentials/measure-and-outline.md#measure-addon) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Outline](../essentials/measure-and-outline.md#outline-addon) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| **Addons** | | | | | | | +| [A11y](../writing-tests/accessibility-testing.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Interactions](../writing-tests/interaction-testing.md) | | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Test runner](../writing-tests/test-runner.md) | | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Test coverage](../writing-tests/test-coverage.md) | | ✅ | ✅ | ✅ | ✅ | ✅ | +| [CSS resources](https://github.com/storybookjs/addon-cssresources) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Design assets](https://github.com/storybookjs/addon-design-assets) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Events](https://github.com/storybookjs/addon-events) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Google analytics](https://github.com/storybookjs/addon-google-analytics) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [GraphQL](https://github.com/storybookjs/addon-graphql) | | | | | | | +| [Jest](https://github.com/storybookjs/storybook/tree/next/code/addons/jest) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Links](https://github.com/storybookjs/storybook/tree/next/code/addons/links) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Queryparams](https://github.com/storybookjs/addon-queryparams) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Storysource](https://github.com/storybookjs/storybook/tree/next/code/addons/storysource) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| **Docs** | | | | | | | +| [CSF Stories](../api/csf.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Autodocs](../writing-docs/autodocs.md) | | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - ArgTypes](../api/doc-block-argtypes.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Canvas](../api/doc-block-canvas.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - ColorPalette](../api/doc-block-colorpalette.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Controls](../api/doc-block-controls.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Description](../api/doc-block-description.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - IconGallery](../api/doc-block-icongallery.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Markdown](../api/doc-block-markdown.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Meta](../api/doc-block-meta.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Primary](../api/doc-block-primary.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Source](../api/doc-block-source.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Story](../api/doc-block-story.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Stories](../api/doc-block-stories.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Subtitle](../api/doc-block-subtitle.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Title](../api/doc-block-title.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Typeset](../api/doc-block-typeset.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - Unstyled](../api/doc-block-unstyled.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Doc Blocks - UseOf](../api/doc-block-useof.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| Inline stories | | ✅ | ✅ | | | | + +## Deprecated + +To align the Storybook ecosystem with the current state of frontend development, the following features and addons are now deprecated, no longer maintained, and will be removed in future versions of Storybook + +| Feature | Status | +| -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Knobs](https://github.com/storybookjs/addon-knobs) | The Knobs addon was officially deprecated with the release of Storybook 6.3 and is no longer actively maintained. We recommend using the [controls](../essentials/controls.md) instead. | +| [Storyshots](../writing-tests/snapshot-testing.md) | The Storyshots addon was officially deprecated with the release of Storybook 7.6 and is no longer actively maintained. See the [migration guide](../writing-tests/storyshots-migration-guide.md) for the available alternatives. | +| [`StoriesOf`](https://github.com/storybookjs/storybook/blob/next/code/lib/preview-api/docs/storiesOf.md) | The `storiesOf` API was officially deprecated with the release of Storybook 7.5 and is no longer actively maintained. We recommend using the [CSF API](../api/csf.md) instead for writing stories.See the [migration guide](https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#storystorev6-and-storiesof-is-deprecated) for more information. | diff --git a/docs/configure/images-and-assets.md b/docs/configure/images-and-assets.md index 7b4a0c071ada..3ff5ad2f899d 100644 --- a/docs/configure/images-and-assets.md +++ b/docs/configure/images-and-assets.md @@ -101,10 +101,6 @@ Or even use a configuration object to define the directories: -### **[⚠️ Deprecated]** Serving static files via Storybook CLI - -Using `--static-dir` or `-s` option with Storybook CLI is deprecated. It is recommended to use [Storybook static directory configuration option](#serving-static-files-via-storybook-configuration) instead. - ### Reference assets from a CDN Upload your files to an online CDN and reference them. In this example, we’re using a placeholder image service. @@ -143,9 +139,7 @@ Suppose you are serving assets in a [static directory](#serving-static-files-via ### Referencing Fonts in Stories -After configuring Storybook to serve assets from your static folder, you can reference those assets in Storybook. For example, you can reference and apply a custom font in your stories. - -Inside the `.storybook/` configuration folder, create `preview-head.html`, then use `` to reference your font. +After configuring Storybook to serve assets from your static folder, you can reference those assets in Storybook. For example, you can reference and apply a custom font to your stories. To do this, create a [`preview-head.html`](./story-rendering.md) file inside the configuration directory (i.e., `.storybook`) and add a `` tag to reference your font. diff --git a/docs/contribute/code.md b/docs/contribute/code.md index b30f3fe72aa9..f386fa2f2be9 100644 --- a/docs/contribute/code.md +++ b/docs/contribute/code.md @@ -146,7 +146,7 @@ yarn test -Storybook relies on [Jest](https://jestjs.io/) as part of it's testing suite. During the test run, if you spot that snapshot tests are failing, re-run the command with the `-u` flag to update them. +Storybook relies on [Vitest](https://vitest.dev/) as part of it's testing suite. During the test run, if you spot that snapshot tests are failing, re-run the command with the `-u` flag to update them. diff --git a/docs/essentials/auto-generated-controls/angular.mdx b/docs/essentials/auto-generated-controls/angular.mdx deleted file mode 100644 index 22417afdbb66..000000000000 --- a/docs/essentials/auto-generated-controls/angular.mdx +++ /dev/null @@ -1,68 +0,0 @@ -To use auto-detected controls with Angular, you must fill in the `component` field in your story metadata: - -```ts -import { Button } from './button.component'; - -export default { - component: Button, -}; -``` - -Storybook uses this to auto-generate the `ArgTypes` for your component using [Compodoc](https://compodoc.app/). It supports `inputs`, `outputs`, `properties`, `methods`, `view/content child/children` as first class prop types. - -## Automatic Compodoc setup - -During `sb init`, you will be asked, whether you want to setup Compodoc for your project. Just answer the question with Yes. Compodoc is then ready to use! - -## Manual Compodoc setup - -You'll need to register Compodoc's `documentation.json` file in `.storybook/preview.ts`: - -```js -import { setCompodocJson } from '@storybook/addon-docs/angular'; -import docJson from '../documentation.json'; - -setCompodocJson(docJson); -``` - -Finally, to set up compodoc, you'll first need to install Compodoc: - -```sh -yarn add -D @compodoc/compodoc -``` - -Then you'll need to configure Compodoc to generate a `documentation.json` file. Adding the following snippet to your `projects..architect.` in the `angular.json` creates a metadata file `./documentation.json` each time you run storybook: - -```jsonc -// angular.json -{ - "projects": { - "your-project": { - "architect": { - "storybook": { - ..., - "compodoc": true, - "compodocArgs": [ - "-e", - "json", - "-d", - "." // the root folder of your project - ], - }, - "build-storybook": { - ..., - "compodoc": true, - "compodocArgs": [ - "-e", - "json", - "-d", - "." // the root folder of your project - ], - } - } - } - } -} -``` - -Unfortunately, it's not currently possible to update this dynamically as you edit your components, but [there's an open issue](https://github.com/storybookjs/storybook/issues/8672) to support this with improvements to Compodoc. diff --git a/docs/essentials/auto-generated-controls/ember.mdx b/docs/essentials/auto-generated-controls/ember.mdx deleted file mode 100644 index 1696095183a9..000000000000 --- a/docs/essentials/auto-generated-controls/ember.mdx +++ /dev/null @@ -1,29 +0,0 @@ -Storybook for Ember relies on [@storybook/ember-cli-storybook addon](https://github.com/storybookjs/ember-cli-storybook), to extract documentation comments from your component source files. If you're using Storybook with Ember, you should already have this addon installed, and you will just need to enable it by adding the following config block in your `ember-cli-build.js` file: - -```js -let app = new EmberApp(defaults, { - '@storybook/ember-cli-storybook': { - enableAddonDocsIntegration: true, - }, -}); -``` - -Now, running the ember-cli server will generate a JSON documentation file at `/dist/storybook-docgen/index.json`. Since generation of this file is tied into the ember-cli build, it will get regenerated every time component files are saved. For details on documenting your components, check out the examples in the addon that powers the generation [ember-cli-addon-docs-yuidoc](https://github.com/ember-learn/ember-cli-addon-docs-yuidoc#documenting-components). - -Storybook uses this file to auto-generate the `ArgTypes` for your component based on docgen information created by [ember-cli-addon-docs-yuidoc](https://github.com/ember-learn/ember-cli-addon-docs-yuidoc#documenting-components). - -You'll need to register that in `.storybook/preview.js`: - -```js -import { setJSONDoc } from '@storybook/addon-docs/ember'; -import docJson from '../dist/storybook-docgen/index.json'; -setJSONDoc(docJson); -``` - -Finally, to use auto-detected controls with Ember, you must fill in the `component` field in your story metadata: - -```ts -export default { - component: 'button', // name of your button component from docgen-json file (index.js) -}; -``` diff --git a/docs/essentials/auto-generated-controls/fallback.mdx b/docs/essentials/auto-generated-controls/fallback.mdx deleted file mode 100644 index 9842a53b859d..000000000000 --- a/docs/essentials/auto-generated-controls/fallback.mdx +++ /dev/null @@ -1,3 +0,0 @@ -Controls argument autodetection doesn't currently work with your framework. - -To use Controls, you'll need to [define the `ArgTypes` manually](#fully-custom-args) diff --git a/docs/essentials/auto-generated-controls/react.mdx b/docs/essentials/auto-generated-controls/react.mdx deleted file mode 100644 index 29bb07ede5c1..000000000000 --- a/docs/essentials/auto-generated-controls/react.mdx +++ /dev/null @@ -1,14 +0,0 @@ -To use auto-detected controls with React, you must fill in the `component` field in your story metadata: - -```js -// Button.stories.js|jsx|mjs|ts|tsx - -import { Button } from './Button'; - -export default { - component: Button, -}; -``` - - -Storybook uses this to auto-generate the `ArgTypes` for your component based on either `PropTypes` (using [`react-docgen`](https://github.com/reactjs/react-docgen)) or `TypeScript` types (using [`react-docgen-typescript`](https://github.com/styleguidist/react-docgen-typescript)). diff --git a/docs/essentials/auto-generated-controls/vue.mdx b/docs/essentials/auto-generated-controls/vue.mdx deleted file mode 100644 index 740ea7bec825..000000000000 --- a/docs/essentials/auto-generated-controls/vue.mdx +++ /dev/null @@ -1,11 +0,0 @@ -To use auto-detected controls with Vue, you must fill in the `component` field in your story metadata: - -```js -import { Button } from './Button.vue'; - -export default { - component: Button, -}; -``` - -Storybook uses this to auto-generate the `ArgTypes` for your component using [`vue-docgen-api`](https://github.com/vue-styleguidist/vue-styleguidist/tree/dev/packages/vue-docgen-api). It supports `props`, `events`, and `slots` as first class prop types. diff --git a/docs/essentials/auto-generated-controls/web-components.mdx b/docs/essentials/auto-generated-controls/web-components.mdx deleted file mode 100644 index 473b67f07b21..000000000000 --- a/docs/essentials/auto-generated-controls/web-components.mdx +++ /dev/null @@ -1,20 +0,0 @@ -To use auto-detected controls with Web components, you must fill in the `component` field in your story metadata: - -```js -export default { - component: 'button', -}; -``` - -Storybook uses this to auto-generate the `ArgTypes` for your component using your [custom-elements.json](https://github.com/webcomponents/custom-elements-json) file. - -You'll need to register that in `.storybook/preview.js`: - -```js -import { setCustomElementsManifest } from '@storybook/web-components'; -import customElements from '../custom-elements.json'; - -setCustomElementsManifest(customElements); -``` - -You can generate a `custom-elements.json` using [@custom-elements-manifest/analyzer](https://github.com/open-wc/custom-elements-manifest). If you're using the pre-v1.0.0 version of `custom-elements.json` you can use either [web-component-analyzer](https://github.com/runem/web-component-analyzer). diff --git a/docs/essentials/controls.md b/docs/essentials/controls.md index efff7222f5bd..5d86420c4ab0 100644 --- a/docs/essentials/controls.md +++ b/docs/essentials/controls.md @@ -29,23 +29,83 @@ If you have stories in the older pre-Storybook 6 style, check the [args & contro ## Choosing the control type -By default, Storybook will choose a control for each arg based on the initial value of the arg. It works well with certain types of args, such as boolean values or free-text strings, but in other cases, you want a more restricted control. + + +By default, Storybook will choose a control for each arg based on its initial value. This will work well with specific arg types (e.g., `boolean` or `string`). To enable them, add the `component` annotation to the default export of your story file, and it will be used to infer the controls and auto-generate the matching [`argTypes`](../api/arg-types.md) for your component using [Compodoc](https://compodoc.app/) if you opt-in to use it, including first-class support for Angular's `inputs`, `outputs`, `properties`, `methods` and `view/content child/children`. + + + + + + + + + + + +By default, Storybook will choose a control for each arg based on its initial value. This will work well with specific arg types (e.g., `boolean` or `string`). To enable them, add the `component` annotation to the default export of your story file and it will be used to infer the controls and auto-generate the matching [`argTypes`](../api/arg-types.md) for your component using [`react-docgen`](https://github.com/reactjs/react-docgen) or [`react-docgen-typescript`](https://github.com/styleguidist/react-docgen-typescript) for TypeScript. + + + + + + + + + + + +By default, Storybook will choose a control for each arg based on its initial value. This will work well with specific arg types (e.g., `boolean` or `string`). To enable them, add the `component` annotation to the default export of your story file, and it will be used to infer the controls and auto-generate the matching [`argTypes`](../api/arg-types.md) for your component using [`vue-docgen-api`](https://github.com/vue-styleguidist/vue-styleguidist/tree/dev/packages/vue-docgen-api), including first-class support for Vue's `props`, `events`, and `slots`. - + + + + +By default, Storybook will choose a control for each arg based on its initial value. This will work well with specific arg types (e.g., `boolean` or `string`). To enable them, add the `component` annotation to the default export of your story file, and it will be used to infer the controls and auto-generate the matching [`argTypes`](../api/arg-types.md) for your component provided by the framework you've chosen to use. + + + + + + + +If you're using a framework that doesn't support this feature, you'll need to define the `argTypes` for your component [manually](#fully-custom-args). + + + + + For instance, suppose you have a `variant` arg on your story that should be `primary` or `secondary`: @@ -70,7 +130,7 @@ By default, Storybook will render a free text input for the `variant` arg: It works as long as you type a valid string into the auto-generated text control. Still, it's not the best UI for our scenario, given that the component only accepts `primary` or `secondary` as variants. Let’s replace it with Storybook’s radio component. -We can specify which controls get used by declaring a custom [argType](../api/arg-types.md) for the `variant` property. ArgTypes encode basic metadata for args, such as name, description, defaultValue for an arg. These get automatically filled in by Storybook Docs. +We can specify which controls get used by declaring a custom [argType](../api/arg-types.md) for the `variant` property. ArgTypes encode basic metadata for args, such as name, description, and defaultValue for an arg. These get automatically filled in by Storybook Docs. `ArgTypes` can also contain arbitrary annotations, which the user can override. Since `variant` is a property of the component, let's put that annotation on the default export. @@ -91,7 +151,7 @@ We can specify which controls get used by declaring a custom [argType](../api/ar -ArgTypes are a powerful feature that can be used to customize the controls for your stories. See the documentation about [customizing controls](#annotation) with `argTypes` annotation for more information. +ArgTypes are a powerful feature that can be used to customize the controls for your stories. For more information, see the documentation about [customizing controls](#annotation) with `argTypes` annotation. @@ -101,14 +161,14 @@ This replaces the input with a radio group for a more intuitive experience. ## Custom control type matchers -Controls can automatically be inferred from arg's name with [regex](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp), but currently only for the color picker and date picker controls. If you've used the Storybook CLI to setup your project it should have automatically created the following defaults in `.storybook/preview.js`: +Controls can automatically be inferred from arg's name with [regex](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/RegExp), but currently only for the color picker and date picker controls. If you've used the Storybook CLI to setup your project, it should have automatically created the following defaults in `.storybook/preview.js`: | Control | Default regex | Description | | :-------: | :--------------------------------------: | :-------------------------------------------------------: | | **color** | /(background|color)$/i | Will display a color picker UI for the args that match it | | **date** | `/Date$/` | Will display a date picker UI for the args that match it | -If you haven't used the CLI to setup the configuration, or if you want to define your own patterns, use the `matchers` property in the `controls` parameter: +If you haven't used the CLI to set the configuration, or if you want to define your patterns, use the `matchers` property in the `controls` parameter: @@ -121,13 +181,13 @@ If you haven't used the CLI to setup the configuration, or if you want to define - + ## Fully custom args -Until now, we only used auto-generated controls based on the component we're writing stories for. If we are writing [complex stories](../writing-stories/stories-for-multiple-components.md), we may want to add controls for args that aren’t part of the component. For example, here's how you could use a `footer` arg to populate a child component: +Until now, we only used auto-generated controls based on the component for which we're writing stories. If we are writing [complex stories](../writing-stories/stories-for-multiple-components.md), we may want to add controls for args that aren’t part of the component. For example, here's how you could use a `footer` arg to populate a child component: @@ -189,7 +249,7 @@ One way to deal with this is to use primitive values (e.g., strings) as arg valu -Unless you need the flexibility of a function, an easier way to map primitives to complex values before rendering is to define a `mapping`, additionally, you can specify `control.labels` to configure custom labels for your checkbox, radio, or select input. +Unless you need the flexibility of a function, an easier way to map primitives to complex values before rendering is to define a `mapping`; additionally, you can specify `control.labels` to configure custom labels for your checkbox, radio, or select input. @@ -267,9 +327,9 @@ Numeric data types will default to a `number` control unless additional configur Controls supports the following configuration [parameters](../writing-stories/parameters.md), either globally or on a per-story basis: -## Show full documentation for each property +#### Show full documentation for each property -Since Controls is built on the same engine as Storybook Docs, it can also show property documentation alongside your controls using the expanded parameter (defaults to false). This means you embed a complete [`Controls`](../api/doc-block-controls.md) doc block in the controls panel. The description and default value rendering can be [customized](#fully-custom-args) in the same way as the doc block. +Since Controls is built on the same engine as Storybook Docs, it can also show property documentation alongside your controls using the expanded parameter (defaults to false). This means you embed a complete [`Controls`](../api/doc-block-controls.md) doc block in the controls panel. The description and default value rendering can be [customized](#fully-custom-args) like the doc block. To enable expanded mode globally, add the following to [`.storybook/preview.js`](../configure/index.md#configure-story-rendering): @@ -284,11 +344,11 @@ To enable expanded mode globally, add the following to [`.storybook/preview.js`] -And here's what the resulting UI looks like: +Here's what the resulting UI looks like:  -### Specify initial preset color swatches +#### Specify initial preset color swatches For `color` controls, you can specify an array of `presetColors`, either on the `control` in `argTypes`, or as a parameter under the `controls` namespace: @@ -305,11 +365,75 @@ For `color` controls, you can specify an array of `presetColors`, either on the Color presets can be defined as an object with `color` and `title` or a simple CSS color string. These will then be available as swatches in the color picker. When you hover over the color swatch, you'll be able to see its title. It will default to the nearest CSS color name if none is specified. +#### Filtering controls + +In specific cases, you may be required to display only a limited number of controls in the controls panel or all except a particular set. + +To make this possible, you can use optional `include` and `exclude` configuration fields in the `controls` parameter, which you can define as an array of strings or a regular expression. + +Consider the following story snippets: + + + + + + + +#### Sorting controls + +By default, controls are unsorted and use whatever order the args data is processed in (`none`). Additionally, you can sort them alphabetically by the arg's name (`alpha`) or with the required args first (`requiredFirst`). + +Consider the following snippet to force required args first: + + + + + + + +#### Hide NoControls warning + +If you don't plan to handle the control args inside your story, you can remove the warning with: + + + + + + + ### Disable controls for specific properties Aside from the features already documented here, Controls can also be disabled for individual properties. -Suppose you want to disable Controls for a property called `foo` in a component's story. The following example illustrates how: +Suppose you want to turn off Controls for a property called `foo` in a component's story. The following example illustrates how: @@ -334,7 +458,7 @@ Resulting in the following change in Storybook UI: /> -The previous example also removed the prop documentation from the table. In some cases, this is fine. However, sometimes you might want to render the prop documentation, but without a control. The following example illustrates how: +The previous example also removed the prop documentation from the table. In some cases, this is fine. However, sometimes you might want to render the prop documentation without a control. The following example illustrates how: @@ -352,7 +476,7 @@ The previous example also removed the prop documentation from the table. In some -💡 As with other Storybook properties, such as [decorators](../writing-stories/decorators.md), you can apply the same pattern at a story level for more granular cases. +As with other Storybook properties, such as [decorators](../writing-stories/decorators.md), you can apply the same pattern at a story level for more granular cases. @@ -360,7 +484,7 @@ The previous example also removed the prop documentation from the table. In some In some cases, it's useful to be able to conditionally exclude a control based on the value of another control. Controls supports basic versions of these use cases with the `if`, which can take a simple query object to determine whether to include the control. -Consider a collection of "advanced" settings that are only visible when the user toggles an "advanced" toggle. +Consider a collection of "advanced" settings only visible when the user toggles an "advanced" toggle. @@ -410,66 +534,116 @@ It may also contain at most one of the following operators: If no operator is provided, that is equivalent to `{ truthy: true }`. -## Hide NoControls warning + + +## Troubleshooting + +### Controls are not automatically generated for my component -If you don't plan to handle the control args inside your Story, you can remove the warning with: +Out of the box, Storybook will try to infer the required argTypes and associated controls for your stories based on the component's definition and the initial value of the args. However, in some cases, this may not be enough, and you may need to provide additional information to Storybook. To solve this, you can opt-in to use [Compodoc](https://compodoc.app/), a documentation generator for Angular applications that can extract the metadata of your components and generate the required argTypes and controls for your stories. + +Run the following command to install the tooling. -## Filtering controls +Update your `angular.json` file to include the following configuration to include it in the Storybook's inbuilt builder configuration. -In specific cases, you may require to display only a limited number of controls in the controls panel, or all of them except a particular set. + -To make this possible, you can use optional `include` and `exclude` configuration fields in the `controls` parameter, which you can define as an array of strings, or as a regular expression. + -Consider the following story snippets: + + + +Finally, update your `.storybook/preview.ts` file to include the following configuration to import the metadata generated by Compodoc and use it to generate the controls and argTypes for your stories. + -## Sorting controls + -By default, controls are unsorted and use whatever order the args data is processed in (`none`). Additionally, you can sort them alphabetically by the arg's name (`alpha`) or with the required args first (`requiredFirst`). + -Consider the following snippet to force required args first: +## Troubleshooting + +### Controls are not automatically generated for my component + +Out of the box, Storybook will try to infer the required argTypes and associated controls for your stories based on the component's definition and the initial value of the args. However, in some cases, this may not be enough, and you may need to provide additional information to Storybook. To solve this, you can generate a [`custom-elements.json`](https://github.com/webcomponents/custom-elements-json) file with [`@custom-elements-manifest/analyzer`](https://github.com/open-wc/custom-elements-manifest) if you're using the `pre-v1.0.0` version of the elements file or [`@custom-elements-manifest/analyzer`](https://github.com/open-wc/custom-elements-manifest) for newer versions and configure it in your Storybook UI configuration file (i.e., `.storybook/preview.js|ts`) to enable it. + + + + + + +## Troubleshooting + +### Controls are not automatically generated for my component + +Out of the box, Storybook will try to infer the required argTypes and associated controls for your stories based on the metadata provided by the [`@storybook/ember-cli-storybook`](https://github.com/storybookjs/ember-cli-storybook) addon. However, in some cases, this may not be enough, and you may need to customize your project configuration to provide additional information to Storybook to generate the required argTypes and controls for your stories. + +Update your `ember-cli-build.js` configuration file to include the addon. + + + + + + + + +Restart your application to generate the metadata file (i.e., `storybook-docgen/index.json`) and update your `.storybook/preview.js` file to include it, which will be used to create the controls and argTypes for your stories. + + + + + + + + + + +Enabling this feature will generate a `storybook-docgen/index.json` automatically with each build. For more information on how the metadata is generated, refer to [documentation](https://github.com/storybookjs/storybook/tree/next/code/frameworks/ember) for the Ember framework. + + + + diff --git a/docs/essentials/viewport.md b/docs/essentials/viewport.md index 90bcae73da0c..99a34875da31 100644 --- a/docs/essentials/viewport.md +++ b/docs/essentials/viewport.md @@ -13,11 +13,9 @@ The Viewport toolbar item allows you to adjust the dimensions of the iframe your /> -### Configuration +## Configuration -Out of the box, the Viewport addon offers you a standard set of viewports that you can use. - -If you want to change the default set of viewports, you can set the global `parameters.viewport` [parameter](../writing-stories/parameters.md) in your [`.storybook/preview.js`](../configure/index.md#configure-story-rendering): +Out of the box, the Viewport addon offers you a standard set of viewports that you can use. If you want to change the default set of viewports, you can set the global `parameters.viewport` [parameter](../writing-stories/parameters.md) in your [`.storybook/preview.js`](../configure/index.md#configure-story-rendering): @@ -32,26 +30,58 @@ If you want to change the default set of viewports, you can set the global `para The viewport global can take an object with the following keys: -| Field | Type | Description | Default Value | -| ---------------------- | :-----: | :-------------------------------------------------------: | :------------: | -| **defaultViewport** | String | Sets the default viewport | `'responsive'` | -| **defaultOrientation** | String | Sets the default orientation (e.g. portrait or landscape) | `'portrait'` | -| **disable** | Boolean | Disables the viewport | N/A | -| **viewports** | Object | The configuration object for the viewport | `{}` | +| Field | Type | Description | Default Value | +| ---------------------- | ------- | --------------------------------------------------------- | -------------- | +| **defaultViewport** | String | Sets the default viewport | `'responsive'` | +| **defaultOrientation** | String | Sets the default orientation (e.g. portrait or landscape) | `'portrait'` | +| **disable** | Boolean | Disables the viewport | N/A | +| **viewports** | Object | The configuration objects for the viewport | `{}` | The viewports object needs the following keys: -| Field | Type | Description | Example values | -| ---------- | :----: | :--------------------------------------------------- | :------------------: | -| **name** | String | Name for the viewport | `'Responsive'` | -| **styles** | Object | Sets Inline styles to be applied to the story | `{width:0,height:0}` | -| **type** | String | Type of the device (e.g. desktop, mobile, or tablet) | `desktop` | +| Field | Type | Description | Example values | +| ---------- | ------ | ----------------------------------------------------- | ----------------------- | +| **name** | String | Name for the viewport | `'Responsive'` | +| **styles** | Object | Sets Inline styles to be applied to the story | `{ width:0, height:0 }` | +| **type** | String | Type of the device (e.g., desktop, mobile, or tablet) | `desktop` | ### Use a detailed set of devices -By default, Storybook uses a [minimal set of viewports](https://github.com/storybookjs/storybook/blob/next/code/addons/viewport/src/defaults.ts#L167) to get you started. But you're not restricted to these. The addon offers a more granular list of devices that you can use. - -Change your [`.storybook/preview.js`](../configure/index.md#configure-story-rendering) to the following: +The Viewport addon includes a selection of devices that you can use to test your components. Listed below are the available devices and examples of how to use them. + +| Device | Description | Dimensions (px) | +| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- | +| iPhone 5 | Configures the iPhone 5 as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphone5', }},` | Width: 320, Height: 568 | +| iPhone 6 | Enables the iPhone 6 to be used with the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphone6', }},` | Width: 375, Height: 667 | +| iPhone 6 Plus | Includes the iPhone 6 Plus as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphone6p', }},` | Width: 414, Height: 736 | +| iPhone 8 Plus | Sets the iPhone 8 Plus as a device to be used by the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphone8p', }},` | Width: 414, Height: 736 | +| iPhone X | Configures the iPhone X as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphonex', }},` | Width: 375, Height: 812 | +| iPhone XR | Includes the iPhone XR as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphonexr', }},` | Width: 414, Height: 896 | +| iPhone XS Max | Sets the iPhone XS Max as a device to be used by the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphonexsmax', }},` | Width: 414, Height: 896 | +| iPhone SE (2nd generation) | Configures the iPhone SE (2nd generation) as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphonese2', }},` | Width: 375, Height: 667 | +| iPhone 12 mini | Enables the iPhone 12 Mini to be used with the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphone12mini', }},` | Width: 375, Height: 812 | +| iPhone 12 | Includes the iPhone 12 as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphone12', }},` | Width: 390, Height: 844 | +| iPhone 12 Pro Max | Configures the iPhone 12 Pro Max as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphone12promax', }},` | Width: 428, Height: 926 | +| iPhone SE 3rd generation | Enables the iPhone SE (3rd generation) to be used with the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphoneSE3', }},` | Width: 375, Height: 667 | +| iPhone 13 | Includes the iPhone 13 as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphone13', }},` | Width: 390, Height: 844 | +| iPhone 13 Pro | Enables the iPhone 13 Pro to be used with the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphone13pro', }},` | Width: 390, Height: 844 | +| iPhone 13 Pro Max | Configures the iPhone 13 Pro Max as a device to be used by the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphone13promax', }},` | Width: 428, Height: 926 | +| iPhone 14 | Enables the iPhone 14 to be used with the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphone14', }},` | Width: 390, Height: 844 | +| iPhone 14 Pro | Includes the iPhone 14 Pro as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphone14pro', }},` | Width: 393, Height: 852 | +| iPhone 14 Pro Max | Sets the iPhone 14 Pro Max as a device to be used by the Viewport addon.`parameters: { viewport: { defaultViewport: 'iphone14promax', }},` | Width: 430, Height: 932 | +| Galaxy S5 | Configures the Galaxy S5 as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'galaxys5', }},` | Width: 360, Height: 640 | +| Galaxy S9 | Enables the Galaxy S9 to be used with the Viewport addon.`parameters: { viewport: { defaultViewport: 'galaxys9', }},` | Width: 360, Height: 740 | +| Nexus 5X | Includes the Nexus 5x as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'nexus5x', }},` | Width: 412, Height: 668 | +| Nexus 6P | Sets the Nexus 6P as a device to be used by the Viewport addon.`parameters: { viewport: { defaultViewport: 'nexus6p', }},` | Width: 412, Height: 732 | +| Pixel | Configures the Pixel as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'pixel', }},` | Width: 540, Height: 960 | +| Pixel XL | Enables the Pixel XL to be used with the Viewport addon.`parameters: { viewport: { defaultViewport: 'pixelxl', }},` | Width: 720, Height: 1280 | +| Small mobile | Enabled by default.Configures a small form factor generic mobile device to be used by the Viewport addon.`parameters: { viewport: { defaultViewport: 'mobile1', }},` | Width: 320, Height: 568 | +| Large mobile | Enabled by default.Configures a large form factor mobile device to be used by the Viewport addon.`parameters: { viewport: { defaultViewport: 'mobile2', }},` | Width: 414, Height: 896 | +| iPad | Includes the iPad as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'ipad', }},` | Width: 768, Height: 1024 | +| iPad Pro 10.5-in | Enables the iPad Pro (10.5-inch) to be used with the Viewport addon.`parameters: { viewport: { defaultViewport: 'ipad10p', }},` | Width: 834, Height: 112 | +| iPad Pro 11-in | Configures the iPad Pro (11-inch) as a device for the Viewport addon.`parameters: { viewport: { defaultViewport: 'ipad11p', }},` | Width: 834, Height: 1194 | +| iPad Pro 12.9-in | Sets the iPad Pro (12.9-inch) as a device to be used by the Viewport addon.`parameters: { viewport: { defaultViewport: 'ipad12p', }},` | Width: 1024, Height: 1366 | +| Tablet | Enabled by default.Configures a standard form factor tablet device to be used by the Viewport addon.`parameters: { viewport: { defaultViewport: 'tablet', }},` | Width: 834, Height: 1112 | @@ -64,9 +94,11 @@ Change your [`.storybook/preview.js`](../configure/index.md#configure-story-rend -Start your Storybook, and you'll see the new devices that you can use. + + +The generic devices are enabled by default as they are the most common for testing responsive UIs. You don't need to include them in your configuration if you want to use them. For the implementation details, see the [source code](https://github.com/storybookjs/storybook/tree/next/code/addons/viewport) for the Viewport addon. -See [here](https://github.com/storybookjs/storybook/blob/master/addons/viewport/src/defaults.ts#L3) the complete list of devices and their configurations. + ### Add new devices @@ -82,7 +114,7 @@ If you have either a specific viewport or a list of viewports that you need to u -Make the following change to use them in your Storybook: +Make the following changes to use them in your Storybook: @@ -97,7 +129,7 @@ Make the following change to use them in your Storybook: Once you start Storybook, you'll see your new viewports and devices. -If you need, you can also add these two to another list of viewports. +You can add these two to another list of viewports if needed. For instance, if you want to use these two with the minimal set of viewports, you can do it like so: @@ -112,11 +144,11 @@ For instance, if you want to use these two with the minimal set of viewports, yo -Both viewports (`Kindle Fire 2` and `Kindle Fire HD`) will feature in the list of devices by merging them into the [`MINIMAL_VIEWPORTS`](https://github.com/storybookjs/storybook/blob/next/code/addons/viewport/src/defaults.ts#L167). +Both viewports (`Kindle Fire 2` and `Kindle Fire HD`) will feature in the list of devices by merging them into the [`MINIMAL_VIEWPORTS`](https://github.com/storybookjs/storybook/blob/next/code/addons/viewport/src/defaults.ts#L231). ### Configuring per component or story -There are cases where it's not practical for you to use a specific visual viewport on a global scale, and you need it to adjust it to an individual story. +In some cases, it's not practical for you to use a specific visual viewport on a global scale, and you need to adjust it to an individual story. Update your story through [parameters](../writing-stories/parameters.md) to include your viewports at a component level or for a specific story: diff --git a/docs/get-started/install.md b/docs/get-started/install.md index 977a1e122c03..44b2cf7aad92 100644 --- a/docs/get-started/install.md +++ b/docs/get-started/install.md @@ -57,6 +57,12 @@ Storybook comes with a built-in development server featuring everything you need + + +Storybook collects completely anonymous data to help us improve user experience. Participation is optional, and you may [opt-out](../configure/telemetry.md#how-to-opt-out) if you'd not like to share any information. + + +  There are some noteworthy items here: @@ -66,36 +72,235 @@ There are some noteworthy items here: - A few example stories to get you started. -Troubleshooting +Troubleshooting + +#### Run Storybook with other package managers -Below are some of the most common installation issues and instructions on how to solve them. +The Storybook CLI includes support for the industry's popular package managers (e.g., [Yarn](https://yarnpkg.com/), [npm](https://www.npmjs.com/), and [pnpm](https://pnpm.io/)) automatically detecting the one you are using when you initialize Storybook. However, if you want to use a specific package manager as the default, add the `--package-manager` flag to the installation command. For example: - - +#### The CLI doesn't detect my framework + +If you're working with a custom environment set up or need set up Storybook manually, you can use the `--type` flag to specify the framework you need to use. Listed below are the supported frameworks and examples of how to use them: + +| Framework | Type | +| -------------- | ---------------- | +| Angular | `angular` | +| Ember | `ember` | +| HTML | `html` | +| Next.js | `nextjs` | +| Preact | `preact` | +| Qwik | `qwik` | +| React | `react` | +| Server | `server` | +| Solid | `solid` | +| Svelte | `svelte` | +| Vue 2 | `vue` | +| Vue 3 | `vue3` | +| Web Components | `web-components` | -Storybook collects completely anonymous data to help us improve user experience. Participation is optional, and you may [opt-out](../configure/telemetry.md#how-to-opt-out) if you'd not like to share any information. + + + + + + +#### Run Storybook with Webpack 4 + +If you previously installed Storybook in a project that uses Webpack 4, it will no longer work. This is because Storybook now uses Webpack 5 by default. To solve this issue, we recommend you upgrade your project to Webpack 5 and then run the following command to migrate your project to the latest version of Storybook: + + + + + + + + + +#### Storybook doesn't work with my Angular project using the Angular CLI + +Out of the box, adding Storybook to an Angular project using the Angular CLI requires you to run the installation command from the root of the project or, if you're working with a monorepo environment, from the directory where the Angular configuration file (i.e., `angular.json`) is located as it will be used to set up the builder configuration necessary to run Storybook. However, if you need, you can extend the builder configuration to customize Storybook's behavior. Listed below are the supported options: + +| Configuration element | Description | +| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `"browserTarget"` | Build target to be served using the following format. `"example-project:builder:config"` | +| `"tsConfig"` | Location of the TypeScript configuration file, relative to the current workspace. `"tsConfig": "./tsconfig.json"`. | +| `"port"` | Port used by Storybook. `"port": 6006` | +| `"host"` | Set up a custom host for Storybook. `"host": "http://my-custom-host"` | +| `"configDir"` | Storybook configuration directory location. `"configDir": ".storybook"` | +| `"https"` | Starts Storybook with HTTPS enabled. `"https": true` Requires custom certificate information. | +| `"sslCa"` | Provides an SSL certificate authority. `"sslCa": "your-custom-certificate-authority"` Optional usage with `"https"` | +| `"sslCert"` | Provides an SSL certificate. `"sslCert": "your-custom-certificate"` Required for `https` | +| `"sslKey"` | Provides an SSL key to serve Storybook. `"sslKey": "your-ssl-key"` | +| `"smokeTest"` | Exit Storybook after successful start. `"smokeTest": true` | +| `"ci"` | Starts Storybook in CI mode (skips interactive prompts and will not open browser window). `"ci": true` | +| `"quiet"` | Filters Storybook verbose build output. `"quiet": true` | +| `"docs"` | Starts Storybook in [documentation mode](../writing-docs/build-documentation.md#preview-storybooks-documentation). `"docs": true` | +| `"styles"` | Provide the location of the [application's styles](../configure/styling-and-css.md#importing-css-files) to be used with Storybook. `"styles": ["src/styles.css", "src/styles.scss"]` | +| `"stylePreprocessorOptions"` | Provides further customization for style preprocessors resolved to the workspace root. `"stylePreprocessorOptions": { "includePaths": ["src/styles"] }` | + + + + + +#### The CLI doesn't support my Ember version + +The Ember framework relies on an auxiliary package named [`@storybook/ember-cli-storybook`](https://www.npmjs.com/package/@storybook/ember-cli-storybook) to help you set up Storybook in your project. During the installation process you might run into the following warning message in your terminal: + +```shell +The ember generate entity-name command requires an entity name to be specified. +For more details, use ember help. +``` + +It may be the case that you're using an outdated version of the package and you need to update it to the latest version to solve this issue. + + + + + +#### Writing native Svelte stories + +Storybook provides a Svelte addon maintained by the community, enabling you to write stories for your Svelte components using the template syntax. You'll need to take some additional steps to enable this feature. + +Run the following command to install the addon. + + + + + + + +Update your Storybook configuration file (i.e., `.storybook/main.js|ts`) to include it. + + + + + + + + + +The community actively maintains the Svelte CSF addon but still lacks some features currently available in the official Storybook Svelte framework support. For more information, see [addon's documentation](https://github.com/storybookjs/addon-svelte-csf). -If all else fails, try asking for [help](https://storybook.js.org/community#support) + + +#### The installation process seems flaky and keeps failing + +If you're still running into some issues during the installation process, we encourage you to check out the following resources: + + + +- [Storybook's Angular README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/angular) for more information on how to set up Storybook in your Angular project. +- [Storybook's help documentation](https://storybook.js.org/community#support) to contact the community and ask for help. + + + + + +- [Storybook's Ember README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/ember) for more information on how to set up Storybook in your Ember project. +- [Storybook's help documentation](https://storybook.js.org/community#support) to contact the community and ask for help. + + + + + +- [Storybook's HTML Webpack README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/html-webpack5) for more information on how to set up Storybook in your HTML project with Webpack 5. +- [Storybook's HTML Vite README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/html-vite) for more information on how to set up Storybook in your HTML project with Vite. +- [Storybook's help documentation](https://storybook.js.org/community#support) to contact the community and ask for help. + + + + + +- [Storybook's Preact Webpack README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/preact-webpack5) for more information on how to set up Storybook in your Preact project with Webpack 5. +- [Storybook's Preact Vite README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/preact-vite) for more information on how to set up Storybook in your Preact project with Vite. +- [Storybook's help documentation](https://storybook.js.org/community#support) to contact the community and ask for help. + + + + + +- [Storybook's Qwik README](https://github.com/literalpie/storybook-framework-qwik) for more information on how to set up Storybook in your Qwik project. +- [Storybook's help documentation](https://storybook.js.org/community#support) to contact the community and ask for help. + + + + + +- [Storybook's React Webpack README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/react-webpack5) for more information on how to set up Storybook in your React project with Webpack 5. +- [Storybook's React Vite README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) for more information on how to set up Storybook in your React project with Vite. +- [Storybook's help documentation](https://storybook.js.org/community#support) to contact the community and ask for help. + + + + + +- [Storybook's SolidJS README](https://github.com/storybookjs/solidjs) for more information on how to set up Storybook in your SolidJS project. +- [Storybook's help documentation](https://storybook.js.org/community#support) to contact the community and ask for help. + + + + + +- [Storybook's SvelteKit README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/sveltekit) for more information on how to set up Storybook in your SvelteKit project. +- [Storybook's Svelte Webpack README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/svelte-webpack5) for more information on how to set up Storybook in your Svelte project with Webpack 5. +- [Storybook's help documentation](https://storybook.js.org/community#support) to contact the community and ask for help. + + + + + +- [Storybook's Vue 2 Webpack README](https://github.com/storybookjs/storybook/tree/main/code/frameworks/vue-webpack5) for more information on how to set up Storybook in your Vue 2 project with Webpack 5. +- [Storybook's Vue 2 Vite README](https://github.com/storybookjs/storybook/tree/main/code/frameworks/vue-vite) for more information on how to set up Storybook in your Vue 2 project with Vite. +- [Storybook's Vue 3 Webpack README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/vue3-webpack5) for more information on how to set up Storybook in your Vue 3 project with Webpack 5. +- [Storybook's Vue 3 Vite README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/vue3-vite) for more information on how to set up Storybook in your Vue 3 project with Vite. +- [Storybook's help documentation](https://storybook.js.org/community#support) to contact the community and ask for help. + + + + + +- [Storybook's Web Components Webpack README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/web-components-webpack55) for more information on how to set up Storybook in your Web Components project with Webpack 5. +- [Storybook's Web Components Vite README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/web-components-vite) for more information on how to set up Storybook in your Web Components project with Vite. +- [Storybook's help documentation](https://storybook.js.org/community#support) to contact the community and ask for help. + + diff --git a/docs/get-started/installation-command-section/solid.mdx b/docs/get-started/installation-command-section/solid.mdx deleted file mode 100644 index 41e5c040cc9d..000000000000 --- a/docs/get-started/installation-command-section/solid.mdx +++ /dev/null @@ -1,15 +0,0 @@ -Use the Storybook CLI to install it in a single command. Run this inside your _existing project’s_ root directory: - -- With npm: - -```shell -npx storybook init -``` - -- With pnpm: - -```shell -pnpm dlx storybook init -``` - -If you run into issues with the installation, check the [Troubleshooting section](#troubleshooting) below for guidance on how to solve it. diff --git a/docs/get-started/installation-problems/angular.mdx b/docs/get-started/installation-problems/angular.mdx deleted file mode 100644 index 96b96b440a7b..000000000000 --- a/docs/get-started/installation-problems/angular.mdx +++ /dev/null @@ -1,45 +0,0 @@ -- Add the `--type angular` flag to the installation command to set up Storybook manually: - - ```shell - npx storybook@latest init --type angular - ``` - -- Storybook's CLI provides support for [Yarn](https://yarnpkg.com/), [npm](https://www.npmjs.com/), and [pnpm](https://pnpm.io/) package managers. If you have Yarn installed in your environment but prefer to use another as your default package manager add the `--package-manager` flag to your installation command. For example: - - ```shell - npx storybook@latest init --package-manager=npm - ``` - -- Storybook supports Webpack 5 out of the box. If you're upgrading from a previous version, run the following command to enable it: - - ```shell - npx storybook@latest automigrate - ``` - - Check the [Migration Guide](https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#automigrate) for more information on how to set up Webpack 5. - -- If you're using the custom Storybook builder, Storybook will not automatically open a browser window or tab. It's is a known issue that we plan to fix in future releases. - -- When adding Storybook to your Angular project, check if you're running the install command from the root directory. Or in a monorepo environment inside the directory where the `angular.json` file is located. - -- If you need further customization to the Storybook builder configuration, you can use the following table as a reference: - -| Configuration element | Description | -| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `"browserTarget"` | Build target to be served using the following format. `"example-project:builder:config"` | -| `"tsConfig"` | Location of the TypeScript configuration file, relative to the current workspace. `"tsConfig": "./tsconfig.json"`. | -| `"port"` | Port used by Storybook. `"port": 6006` | -| `"host"` | Set up a custom host for Storybook. `"host": "http://my-custom-host"` | -| `"configDir"` | Storybook configuration directory location. `"configDir": ".storybook"` | -| `"https"` | Starts Storybook with HTTPS enabled. `"https": true` Requires custom certificate information. | -| `"sslCa"` | Provides an SSL certificate authority. `"sslCa": "your-custom-certificate-authority"` Optional usage with `"https"` | -| `"sslCert"` | Provides an SSL certificate. `"sslCert": "your-custom-certificate"` Required for `https` | -| `"sslKey"` | Provides an SSL key to serve Storybook. `"sslKey": "your-ssl-key"` | -| `"smokeTest"` | Exit Storybook after successful start. `"smokeTest": true` | -| `"ci"` | Starts Storybook in CI mode (skips interactive prompts and will not open browser window). `"ci": true` | -| `"quiet"` | Filters Storybook verbose build output. `"quiet": true` | -| `"docs"` | Starts Storybook in [documentation mode](../writing-docs/build-documentation.md#preview-storybooks-documentation). `"docs": true` | -| `"styles"` | Provide the location of the [application's styles](../configure/styling-and-css.md#importing-css-files) to be used with Storybook. `"styles": ["src/styles.css", "src/styles.scss"]` | -| `"stylePreprocessorOptions"` | Provides further customization for style preprocessors resolved to the workspace root. `"stylePreprocessorOptions": { "includePaths": ["src/styles"] }` | - -- For other installation issues, check the [Angular README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/angular) for additional instructions. diff --git a/docs/get-started/installation-problems/ember.mdx b/docs/get-started/installation-problems/ember.mdx deleted file mode 100644 index a396c27891bd..000000000000 --- a/docs/get-started/installation-problems/ember.mdx +++ /dev/null @@ -1,23 +0,0 @@ -- Add the `--type ember` flag to the installation command to set up Storybook manually: - - ```shell - npx storybook@latest init --type ember - ``` - -- During the install process, if you get the following warning message: - - ```shell - The ember generate entity-name command requires an entity name to be specified. - - For more details, use ember help. - ``` - -Update the [`@storybook/ember-cli-storybook`](https://www.npmjs.com/package/@storybook/ember-cli-storybook) package to the latest version to fix it. - -- Storybook's CLI provides support for [Yarn](https://yarnpkg.com/), [npm](https://www.npmjs.com/), and [pnpm](https://pnpm.io/) package managers. If you have Yarn installed in your environment but prefer to use another as your default package manager add the `--package-manager` flag to your installation command. For example: - - ```shell - npx storybook@latest init --package-manager=npm - ``` - -- For other installation issues, check the [Ember README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/ember) for additional instructions. diff --git a/docs/get-started/installation-problems/html.mdx b/docs/get-started/installation-problems/html.mdx deleted file mode 100644 index f43b72620b10..000000000000 --- a/docs/get-started/installation-problems/html.mdx +++ /dev/null @@ -1,9 +0,0 @@ -- Add the `--type html` flag to the installation command to set up Storybook manually: - - ```shell -npx storybook@latest init --type html - ``` - -- For other installation issues, check the React README files for additional instructions: - - [HTML with Webpack]( https://github.com/storybookjs/storybook/tree/next/code/frameworks/html-webpack5) - - [HTML with Vite](https://github.com/storybookjs/storybook/tree/next/code/frameworks/html-vite) diff --git a/docs/get-started/installation-problems/preact.mdx b/docs/get-started/installation-problems/preact.mdx deleted file mode 100644 index 24837b2c1ebd..000000000000 --- a/docs/get-started/installation-problems/preact.mdx +++ /dev/null @@ -1,13 +0,0 @@ -- Add the `--type preact` flag to the installation command to set up Storybook manually: - - ```shell - npx storybook@latest init --type preact - ``` - -- Storybook's CLI provides support for [Yarn](https://yarnpkg.com/), [npm](https://www.npmjs.com/), and [pnpm](https://pnpm.io/) package managers. If you have Yarn installed in your environment but prefer to use another as your default package manager add the `--package-manager` flag to your installation command. For example: - - ```shell - npx storybook@latest init --package-manager=npm - ``` - -- For other installation issues, check the [Preact README](https://github.com/storybookjs/storybook/tree/next/code/frameworks/preact-webpack5) for additional instructions. diff --git a/docs/get-started/installation-problems/qwik.mdx b/docs/get-started/installation-problems/qwik.mdx deleted file mode 100644 index c6bd50a043b4..000000000000 --- a/docs/get-started/installation-problems/qwik.mdx +++ /dev/null @@ -1,11 +0,0 @@ -- Add the `--type qwik` flag to the installation command to set up Storybook manually: - - ```shell - npx storybook@latest init --type qwik - ``` - -- Storybook's CLI provides support for [Yarn](https://yarnpkg.com/), [npm](https://www.npmjs.com/), and [pnpm](https://pnpm.io/) package managers. If you have Yarn installed in your environment but prefer to use another as your default package manager add the `--package-manager` flag to your installation command. For example: - - ```shell - npx storybook@latest init --package-manager=npm - ``` diff --git a/docs/get-started/installation-problems/react.mdx b/docs/get-started/installation-problems/react.mdx deleted file mode 100644 index 30b4643208c5..000000000000 --- a/docs/get-started/installation-problems/react.mdx +++ /dev/null @@ -1,23 +0,0 @@ -- Add the `--type react` flag to the installation command to set up Storybook manually: - - ```shell - npx storybook@latest init --type react - ``` - -- Storybook's CLI provides support for [Yarn](https://yarnpkg.com/), [npm](https://www.npmjs.com/), and [pnpm](https://pnpm.io/) package managers. If you have Yarn installed in your environment but prefer to use another as your default package manager add the `--package-manager` flag to your installation command. For example: - - ```shell - npx storybook@latest init --package-manager=npm - ``` - -- Storybook supports Webpack 5 out of the box. If you're upgrading from a previous version, run the following command to enable it: - - ```shell - npx storybook@latest automigrate - ``` - -Check the [Migration Guide](https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#cra5-upgrade) for more information on how to set up Webpack 5. - -- For other installation issues, check the React README files for additional instructions: - - [React with Webpack](https://github.com/storybookjs/storybook/tree/next/code/frameworks/react-webpack5) - - [React with Vite](https://github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) diff --git a/docs/get-started/installation-problems/solid.mdx b/docs/get-started/installation-problems/solid.mdx deleted file mode 100644 index 9308bb9b154a..000000000000 --- a/docs/get-started/installation-problems/solid.mdx +++ /dev/null @@ -1,11 +0,0 @@ -- Add the `--type solid` flag to the installation command to set up Storybook manually: - - ```shell - npx storybook init --type solid - ``` - -- Storybook's CLI provides support for [Yarn](https://yarnpkg.com/), [npm](https://www.npmjs.com/), and [pnpm](https://pnpm.io/) package managers. If you have Yarn installed in your environment but prefer to use another as your default package manager add the `--package-manager` flag to your installation command. For example: - - ```shell - npx storybook init --package-manager=npm - ``` diff --git a/docs/get-started/installation-problems/svelte.mdx b/docs/get-started/installation-problems/svelte.mdx deleted file mode 100644 index d0bfd5284d68..000000000000 --- a/docs/get-started/installation-problems/svelte.mdx +++ /dev/null @@ -1,25 +0,0 @@ -- Add the `--type svelte` flag to the installation command to set up Storybook manually: - - ```shell - npx storybook@latest init --type svelte - ``` - -- Storybook's CLI provides support for [Yarn](https://yarnpkg.com/), [npm](https://www.npmjs.com/), and [pnpm](https://pnpm.io/) package managers. If you have Yarn installed in your environment but prefer to use another as your default package manager add the `--package-manager` flag to your installation command. For example: - - ```shell - npx storybook@latest init --package-manager=npm - ``` - -### Svelte Native - -To enable support for Svelte Native story format you'll need to make the following changes your Storybook configuration: -- Add the [`@storybook/addon-svelte-csf`](https://storybook.js.org/addons/@storybook/addon-svelte-csf/) addon as development dependency. -- Enable the addon in your Storybook configuration file (e.g., `.storybook/main.js`). -- Disable on demand story loading configuration property (e.g., `storyStoreV7`) in your Storybook configuration file. -- For issues with Svelte Native Story Format, check the [Svelte Story Format addon repository](https://github.com/storybookjs/addon-svelte-csf) for instructions. - - -- For other installation issues, check the Svelte README files for additional instructions: - - [Svelte with Webpack](https://github.com/storybookjs/storybook/tree/next/code/frameworks/svelte-webpack5) - - [Svelte with Vite](https://github.com/storybookjs/storybook/tree/next/code/frameworks/svelte-vite) - - [SvelteKit](https://github.com/storybookjs/storybook/tree/next/code/frameworks/sveltekit) diff --git a/docs/get-started/installation-problems/vue.mdx b/docs/get-started/installation-problems/vue.mdx deleted file mode 100644 index 1268f226a36b..000000000000 --- a/docs/get-started/installation-problems/vue.mdx +++ /dev/null @@ -1,19 +0,0 @@ -- Add the `--type vue` (for Vue 2), or `--type vue3` (for Vue 3) flag to the installation command to set up Storybook manually: - - ```shell - # For Vue 2 projects - npx storybook@latest init --type vue - - # For Vue 3 projects - npx storybook@latest init --type vue3 - ``` - -- Storybook's CLI provides support for [Yarn](https://yarnpkg.com/), [npm](https://www.npmjs.com/), and [pnpm](https://pnpm.io/) package managers. If you have Yarn installed in your environment but prefer to use another as your default package manager add the `--package-manager` flag to your installation command. For example: - - ```shell - npx storybook@latest init --package-manager=npm - ``` - -- For other installation issues, check the Vue README files for additional instructions: - - [Vue 3 with Webpack](https://github.com/storybookjs/storybook/tree/next/code/frameworks/vue3-webpack5) - - [Vue 3 with Vite](https://github.com/storybookjs/storybook/tree/next/code/frameworks/vue3-vite) diff --git a/docs/get-started/installation-problems/web-components.mdx b/docs/get-started/installation-problems/web-components.mdx deleted file mode 100644 index 1a25db5eadec..000000000000 --- a/docs/get-started/installation-problems/web-components.mdx +++ /dev/null @@ -1,9 +0,0 @@ -- Add the `--type web_components` flag to the installation command to set up Storybook manually: - - ```shell - npx storybook@latest init --type web_components - ``` - -- For other installation issues, check the Web Components README files for additional instructions: - - [Web Components with Webpack](https://github.com/storybookjs/storybook/tree/next/code/frameworks/web-components-webpack5) - - [Web Components with Vite](https://github.com/storybookjs/storybook/tree/next/code/frameworks/web-components-vite) diff --git a/docs/get-started/setup.md b/docs/get-started/setup.md index 5bc7d986e822..ee0d0c6f4dd7 100644 --- a/docs/get-started/setup.md +++ b/docs/get-started/setup.md @@ -116,6 +116,4 @@ Use [decorators](../writing-stories/decorators.md) to “wrap” every story in ## Load assets and resources -If you want to [link to static files](../configure/images-and-assets.md) in your project or stories (e.g., `/fonts/XYZ.woff`), use the `-s path/to/folder` flag to specify a static folder to serve from when you start up Storybook. To do so, edit the `storybook` and `build-storybook` scripts in `package.json`. - -We recommend serving external resources and assets requested in your components statically with Storybook. It ensures that assets are always available to your stories. +We recommend serving external resources and assets requested in your components statically with Storybook. It ensures that assets are always available to your stories. Read our [documentation](../configure/images-and-assets.md) to learn how to hosting static files with Storybook. diff --git a/docs/snippets/angular/angular-project-compodoc-config.json.mdx b/docs/snippets/angular/angular-project-compodoc-config.json.mdx new file mode 100644 index 000000000000..66d4130306ee --- /dev/null +++ b/docs/snippets/angular/angular-project-compodoc-config.json.mdx @@ -0,0 +1,50 @@ +```jsonc +// angular.json + +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "your-project": { + "projectType": "application", + "schematics": {}, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "storybook": { + "builder": "@storybook/angular:start-storybook", + "options": { + "configDir": ".storybook", + "browserTarget": "your-project:build", + "compodoc": true, + "compodocArgs": [ + "-e", + "json", + "-d", + "." // Add this line to introspect the relevant files starting from the root directory of your project. + ], + "port": 6006 + } + }, + "build-storybook": { + "builder": "@storybook/angular:build-storybook", + "options": { + "configDir": ".storybook", + "browserTarget": "your-project:build", + "compodoc": true, + "compodocArgs": [ + "-e", + "json", + "-d", + "." // Add this line to introspect the relevant files starting from the root directory of your project. + ], + "outputDir": "storybook-static" + } + } + } + } + } +} +``` diff --git a/docs/snippets/angular/compodoc-install.npm.js.mdx b/docs/snippets/angular/compodoc-install.npm.js.mdx new file mode 100644 index 000000000000..be943eda7dc2 --- /dev/null +++ b/docs/snippets/angular/compodoc-install.npm.js.mdx @@ -0,0 +1,3 @@ +```shell +npm install @compodoc/compodoc --save-dev +``` diff --git a/docs/snippets/angular/compodoc-install.pnpm.js.mdx b/docs/snippets/angular/compodoc-install.pnpm.js.mdx new file mode 100644 index 000000000000..116346afd228 --- /dev/null +++ b/docs/snippets/angular/compodoc-install.pnpm.js.mdx @@ -0,0 +1,3 @@ +```shell +pnpm add --save-dev @compodoc/compodo +``` diff --git a/docs/snippets/angular/compodoc-install.yarn.js.mdx b/docs/snippets/angular/compodoc-install.yarn.js.mdx new file mode 100644 index 000000000000..8a6ee05f79b4 --- /dev/null +++ b/docs/snippets/angular/compodoc-install.yarn.js.mdx @@ -0,0 +1,3 @@ +```shell +yarn add --dev @compodoc/compodoc +``` diff --git a/docs/snippets/angular/storybook-preview-compodoc-config.ts.mdx b/docs/snippets/angular/storybook-preview-compodoc-config.ts.mdx new file mode 100644 index 000000000000..658a8906b1e6 --- /dev/null +++ b/docs/snippets/angular/storybook-preview-compodoc-config.ts.mdx @@ -0,0 +1,24 @@ +```ts +// .storybook/preview.ts + +import type { Preview } from '@storybook/angular'; +import { setCompodocJson } from '@storybook/addon-docs/angular'; + +import docJson from '../documentation.json'; // The path to your generated json file from Compodoc contains all your documentation information. + +setCompodocJson(docJson); + +const preview: Preview = { + parameters: { + actions: { argTypesRegex: '^on[A-Z].*' }, + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/, + }, + }, + }, +}; + +export default preview; +``` diff --git a/docs/snippets/common/init-command-custom-package-manager.npx.js.mdx b/docs/snippets/common/init-command-custom-package-manager.npx.js.mdx new file mode 100644 index 000000000000..e904617f28cb --- /dev/null +++ b/docs/snippets/common/init-command-custom-package-manager.npx.js.mdx @@ -0,0 +1,3 @@ +```shell +npx storybook@latest init --package-manager=npm +``` diff --git a/docs/snippets/common/init-command-custom-package-manager.pnpm.js.mdx b/docs/snippets/common/init-command-custom-package-manager.pnpm.js.mdx new file mode 100644 index 000000000000..abd51d256e80 --- /dev/null +++ b/docs/snippets/common/init-command-custom-package-manager.pnpm.js.mdx @@ -0,0 +1,3 @@ +```shell +pnpm dlx storybook@latest init --package-manager=npm +``` diff --git a/docs/snippets/common/init-command-custom-package-manager.yarn.js.mdx b/docs/snippets/common/init-command-custom-package-manager.yarn.js.mdx new file mode 100644 index 000000000000..d01bae571730 --- /dev/null +++ b/docs/snippets/common/init-command-custom-package-manager.yarn.js.mdx @@ -0,0 +1,3 @@ +```shell +yarn dlx storybook@latest init --package-manager=npm +``` diff --git a/docs/snippets/common/init-command-manual-framework.npx.js.mdx b/docs/snippets/common/init-command-manual-framework.npx.js.mdx new file mode 100644 index 000000000000..b0cbed167881 --- /dev/null +++ b/docs/snippets/common/init-command-manual-framework.npx.js.mdx @@ -0,0 +1,3 @@ +```shell +npx storybook@latest init --type solid +``` diff --git a/docs/snippets/common/init-command-manual-framework.pnpm.js.mdx b/docs/snippets/common/init-command-manual-framework.pnpm.js.mdx new file mode 100644 index 000000000000..483487b08ded --- /dev/null +++ b/docs/snippets/common/init-command-manual-framework.pnpm.js.mdx @@ -0,0 +1,3 @@ +```shell +pnpm dlx storybook@latest init --type solid +``` diff --git a/docs/snippets/common/init-command-manual-framework.yarn.js.mdx b/docs/snippets/common/init-command-manual-framework.yarn.js.mdx new file mode 100644 index 000000000000..b1152c869f0a --- /dev/null +++ b/docs/snippets/common/init-command-manual-framework.yarn.js.mdx @@ -0,0 +1,3 @@ +```shell +yarn dlx storybook@latest init --type solid +``` diff --git a/docs/snippets/common/storybook-coverage-addon-optimized-config.js.mdx b/docs/snippets/common/storybook-coverage-addon-optimized-config.js.mdx new file mode 100644 index 000000000000..0948f1e6132e --- /dev/null +++ b/docs/snippets/common/storybook-coverage-addon-optimized-config.js.mdx @@ -0,0 +1,20 @@ +```js +// .storybook/main.js + +export default { + // Replace your-framework with the framework you are using (e.g., react-webpack5, vue3-vite) + framework: '@storybook/your-framework', + stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'], + addons: [ + '@storybook/addon-links', + '@storybook/addon-essentials', + '@storybook/addon-interactions', + '@storybook/addon-coverage', + ], + build: { + test: { + disabledAddons: ['@storybook/addon-docs', '@storybook/addon-essentials/docs'], + }, + }, +}; +``` diff --git a/docs/snippets/common/storybook-coverage-addon-optimized-config.ts.mdx b/docs/snippets/common/storybook-coverage-addon-optimized-config.ts.mdx new file mode 100644 index 000000000000..de1aa91b5071 --- /dev/null +++ b/docs/snippets/common/storybook-coverage-addon-optimized-config.ts.mdx @@ -0,0 +1,24 @@ +```ts +// .storybook/main.ts + +// Replace your-framework with the framework you are using (e.g., react-webpack5, vue3-vite) +import type { StorybookConfig } from '@storybook/your-framework'; + +const config: StorybookConfig = { + framework: '@storybook/your-framework', + stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'], + addons: [ + '@storybook/addon-links', + '@storybook/addon-essentials', + '@storybook/addon-interactions', + '@storybook/addon-coverage', + ], + build: { + test: { + disabledAddons: ['@storybook/addon-docs', '@storybook/addon-essentials/docs'], + }, + }, +}; + +export default config; +``` diff --git a/docs/snippets/common/storybook-mdx-template-with-prop.mdx.mdx b/docs/snippets/common/storybook-mdx-template-with-prop.mdx.mdx index 009ecd7eab78..d4cf4b108780 100644 --- a/docs/snippets/common/storybook-mdx-template-with-prop.mdx.mdx +++ b/docs/snippets/common/storybook-mdx-template-with-prop.mdx.mdx @@ -1,7 +1,7 @@ ```mdx {/* DocumentationTemplate.mdx */} -import { Meta, Title, Subtitle, Description, Primary, Controls, Stories } from '@storybook/blocks'; +import { Meta, Title, Primary, Controls, Stories } from '@storybook/blocks'; {/* * 👇 The isTemplate property is required to tell Storybook that this is a template diff --git a/docs/snippets/common/storybook-preview-granular-viewports.js.mdx b/docs/snippets/common/storybook-preview-granular-viewports.js.mdx index b8411362f231..21a22001661c 100644 --- a/docs/snippets/common/storybook-preview-granular-viewports.js.mdx +++ b/docs/snippets/common/storybook-preview-granular-viewports.js.mdx @@ -1,12 +1,16 @@ ```js // .storybook/preview.js -import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport'; +import { INITIAL_VIEWPORTS, MINIMAL_VIEWPORTS } from '@storybook/addon-viewport'; export default { parameters: { viewport: { - viewports: INITIAL_VIEWPORTS, + viewports: { + ...INITIAL_VIEWPORTS, + ...MINIMAL_VIEWPORTS, + }, + defaultViewport: 'iphone14promax', }, }, }; diff --git a/docs/snippets/common/storybook-preview-granular-viewports.ts.mdx b/docs/snippets/common/storybook-preview-granular-viewports.ts.mdx index a5665c2518c2..41ed2781987c 100644 --- a/docs/snippets/common/storybook-preview-granular-viewports.ts.mdx +++ b/docs/snippets/common/storybook-preview-granular-viewports.ts.mdx @@ -4,12 +4,16 @@ // Replace your-framework with the framework you are using (e.g., react, vue3) import { Preview } from '@storybook/your-framework'; -import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport'; +import { INITIAL_VIEWPORTS, MINIMAL_VIEWPORTS } from '@storybook/addon-viewport'; const preview: Preview = { parameters: { viewport: { - viewports: INITIAL_VIEWPORTS, + viewports: { + ...INITIAL_VIEWPORTS, + ...MINIMAL_VIEWPORTS, + }, + defaultViewport: 'iphone14promax', }, }, }; diff --git a/docs/snippets/ember/button-story-default-export-with-component.js.mdx b/docs/snippets/ember/button-story-default-export-with-component.js.mdx new file mode 100644 index 000000000000..c1e6396ad3e1 --- /dev/null +++ b/docs/snippets/ember/button-story-default-export-with-component.js.mdx @@ -0,0 +1,7 @@ +```js +// Button.stories.js + +export default { + component: 'button', +}; +``` diff --git a/docs/snippets/ember/storybook-ember-cli-build.js.mdx b/docs/snippets/ember/storybook-ember-cli-build.js.mdx new file mode 100644 index 000000000000..426e63872b82 --- /dev/null +++ b/docs/snippets/ember/storybook-ember-cli-build.js.mdx @@ -0,0 +1,17 @@ +```js +// ember-cli-build.js + +'use strict'; + +const EmberApp = require('ember-cli/lib/broccoli/ember-app'); + +module.exports = function (defaults) { + const app = new EmberApp(defaults, { + '@storybook/ember-cli-storybook': { + enableAddonDocsIntegration: true, + }, + }); + + return app.toTree(); +}; +``` diff --git a/docs/snippets/ember/storybook-preview-custom-metadata.js.mdx b/docs/snippets/ember/storybook-preview-custom-metadata.js.mdx new file mode 100644 index 000000000000..ec446d1559ab --- /dev/null +++ b/docs/snippets/ember/storybook-preview-custom-metadata.js.mdx @@ -0,0 +1,19 @@ +```js +// .storybook/preview.js + +import { setJSONDoc } from '@storybook/addon-docs/ember'; + +import docJson from '../dist/storybook-docgen/index.json'; +setJSONDoc(docJson); + +export default { + parameters: { + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/, + }, + }, + }, +}; +``` diff --git a/docs/snippets/preact/button-story-default-export-with-component.js.mdx b/docs/snippets/preact/button-story-default-export-with-component.js.mdx new file mode 100644 index 000000000000..dfffb5de27e3 --- /dev/null +++ b/docs/snippets/preact/button-story-default-export-with-component.js.mdx @@ -0,0 +1,9 @@ +```js +// Button.stories.js|jsx + +import { Button } from './Button'; + +export default { + component: Button, +}; +``` diff --git a/docs/snippets/svelte/main-config-csf-addon-register.js.mdx b/docs/snippets/svelte/main-config-csf-addon-register.js.mdx new file mode 100644 index 000000000000..5559ac261ca1 --- /dev/null +++ b/docs/snippets/svelte/main-config-csf-addon-register.js.mdx @@ -0,0 +1,13 @@ +```js +// .storybook/main.js + +export default { + // Replace sveltekit with svelte-vite if you are not working with SvelteKit + framework: '@storybook/sveltekit', + stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx|svelte)'], + addons: [ + // Other Storybook addons + '@storybook/addon-svelte-csf', //👈 The Svelte CSF addon goes here + ], +}; +``` diff --git a/docs/snippets/svelte/main-config-csf-addon-register.ts.mdx b/docs/snippets/svelte/main-config-csf-addon-register.ts.mdx new file mode 100644 index 000000000000..3221880ebb99 --- /dev/null +++ b/docs/snippets/svelte/main-config-csf-addon-register.ts.mdx @@ -0,0 +1,17 @@ +```ts +// .storybook/main.ts + +// Replace sveltekit with svelte-vite if you are not working with SvelteKit +import type { StorybookConfig } from '@storybook/sveltekit'; + +const config: StorybookConfig = { + framework: '@storybook/sveltekit', + stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx|svelte)'], + addons: [ + // Other Storybook addons + '@storybook/addon-svelte-csf', //👈 The Svelte CSF addon goes here + ], +}; + +export default config; +``` diff --git a/docs/snippets/svelte/svelte-csf-addon-install.npm.js.mdx b/docs/snippets/svelte/svelte-csf-addon-install.npm.js.mdx new file mode 100644 index 000000000000..574d63651863 --- /dev/null +++ b/docs/snippets/svelte/svelte-csf-addon-install.npm.js.mdx @@ -0,0 +1,3 @@ +```shell +npm install @storybook/addon-svelte-csf --save-dev +``` diff --git a/docs/snippets/svelte/svelte-csf-addon-install.pnpm.js.mdx b/docs/snippets/svelte/svelte-csf-addon-install.pnpm.js.mdx new file mode 100644 index 000000000000..4ff9be66f107 --- /dev/null +++ b/docs/snippets/svelte/svelte-csf-addon-install.pnpm.js.mdx @@ -0,0 +1,3 @@ +```shell +pnpm add --save-dev @storybook/addon-svelte-csf +``` diff --git a/docs/snippets/svelte/svelte-csf-addon-install.yarn.js.mdx b/docs/snippets/svelte/svelte-csf-addon-install.yarn.js.mdx new file mode 100644 index 000000000000..5b3e6dff23f6 --- /dev/null +++ b/docs/snippets/svelte/svelte-csf-addon-install.yarn.js.mdx @@ -0,0 +1,3 @@ +```shell +yarn add --dev @storybook/addon-svelte-csf +``` diff --git a/docs/snippets/web-components/button-story-default-export-with-component.ts.mdx b/docs/snippets/web-components/button-story-default-export-with-component.ts.mdx new file mode 100644 index 000000000000..805431b359c0 --- /dev/null +++ b/docs/snippets/web-components/button-story-default-export-with-component.ts.mdx @@ -0,0 +1,11 @@ +```ts +// Button.stories.ts + +import type { Meta } from '@storybook/web-components'; + +export default { + component: 'demo-button', +}; + +export default meta; +``` diff --git a/docs/snippets/web-components/component-story-custom-args-complex.js.mdx b/docs/snippets/web-components/component-story-custom-args-complex.js.mdx new file mode 100644 index 000000000000..0bd0906b20ba --- /dev/null +++ b/docs/snippets/web-components/component-story-custom-args-complex.js.mdx @@ -0,0 +1,42 @@ +```js +// Button.stories.js + +import { html } from 'lit'; + +export default { + component: 'custom-component', + //👇 Creates specific argTypes + argTypes: { + propertyA: { + options: ['Item One', 'Item Two', 'Item Three'], + control: { type: 'select' }, // Automatically inferred when 'options' is defined + }, + propertyB: { + options: ['Another Item One', 'Another Item Two', 'Another Item Three'], + }, + }, +}; + +const someFunction = (valuePropertyA, valuePropertyB) => { + // Do some logic here +}; + +export const ExampleStory = { + render: ({ propertyA, propertyB }) => { + //👇 Assigns the function result to a variable + const someFunctionResult = someFunction(propertyA, propertyB); + + return html` + + `; + }, + args: { + propertyA: 'Item One', + propertyB: 'Another Item One', + }, +}; +``` diff --git a/docs/snippets/web-components/component-story-custom-args-complex.ts.mdx b/docs/snippets/web-components/component-story-custom-args-complex.ts.mdx new file mode 100644 index 000000000000..b772ef0301cc --- /dev/null +++ b/docs/snippets/web-components/component-story-custom-args-complex.ts.mdx @@ -0,0 +1,47 @@ +```ts +// Button.stories.ts + +import type { Meta, StoryObj } from '@storybook/web-components'; + +import { html } from 'lit'; + +const meta: Meta = { + component: 'custom-component', + //👇 Creates specific argTypes with options + argTypes: { + propertyA: { + options: ['Item One', 'Item Two', 'Item Three'], + control: { type: 'select' }, // Automatically inferred when 'options' is defined + }, + propertyB: { + options: ['Another Item One', 'Another Item Two', 'Another Item Three'], + }, + }, +}; + +export default meta; +type Story = StoryObj; + +const someFunction = (valuePropertyA: any, valuePropertyB: any) => { + // Do some logic here +}; + +export const ExampleStory: Story = { + render: ({ propertyA, propertyB }) => { + //👇 Assigns the function result to a variable + const someFunctionResult = someFunction(propertyA, propertyB); + + return html` + + `; + }, + args: { + propertyA: 'Item One', + propertyB: 'Another Item One', + }, +}; +``` diff --git a/docs/snippets/web-components/storybook-preview-custom-elements-config.js.mdx b/docs/snippets/web-components/storybook-preview-custom-elements-config.js.mdx new file mode 100644 index 000000000000..10b4d63d5c01 --- /dev/null +++ b/docs/snippets/web-components/storybook-preview-custom-elements-config.js.mdx @@ -0,0 +1,19 @@ +```js +// .storybook/preview.js + +import { setCustomElementsManifest } from '@storybook/web-components'; +import customElements from '../custom-elements.json'; + +setCustomElementsManifest(customElements); + +export default { + parameters: { + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/, + }, + }, + }, +}; +``` diff --git a/docs/snippets/web-components/storybook-preview-custom-elements-config.ts.mdx b/docs/snippets/web-components/storybook-preview-custom-elements-config.ts.mdx new file mode 100644 index 000000000000..df8a1e374053 --- /dev/null +++ b/docs/snippets/web-components/storybook-preview-custom-elements-config.ts.mdx @@ -0,0 +1,24 @@ +```ts +// .storybook/preview.ts + +import type { Preview } from '@storybook/web-components'; +import { setCustomElementsManifest } from '@storybook/web-components'; + +import customElements from '../custom-elements.json'; + +setCustomElementsManifest(customElements); + +const preview: Preview = { + parameters: { + actions: { argTypesRegex: '^on[A-Z].*' }, + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/i, + }, + }, + }, +}; + +export default preview; +``` diff --git a/docs/versions/next.json b/docs/versions/next.json index 87806eaaf3b8..5244617df4d6 100644 --- a/docs/versions/next.json +++ b/docs/versions/next.json @@ -1 +1 @@ -{"version":"8.0.0-alpha.3","info":{"plain":"- Addon-docs: Fix storybook MDX check - [#24696](https://github.com/storybookjs/storybook/pull/24696), thanks [@shilman](https://github.com/shilman)!\n- Addons: Remove unused postinstall package - [#25150](https://github.com/storybookjs/storybook/pull/25150), thanks [@shilman](https://github.com/shilman)!\n- Angular: Update Angular cli templates - [#25152](https://github.com/storybookjs/storybook/pull/25152), thanks [@Marklb](https://github.com/Marklb)!\n- Blocks: Fix Subtitle block for unattached docs pages - [#25157](https://github.com/storybookjs/storybook/pull/25157), thanks [@kripod](https://github.com/kripod)!\n- Ember: Fix @storybook/ember - [#23435](https://github.com/storybookjs/storybook/pull/23435), thanks [@francois2metz](https://github.com/francois2metz)!\n- Maintenance: Set engines field to Node.js >= 18 for packages - [#25105](https://github.com/storybookjs/storybook/pull/25105), thanks [@valentinpalkovic](https://github.com/valentinpalkovic)!"}} +{"version":"8.0.0-alpha.5","info":{"plain":"- Core: Remove the `-s` flag from build & dev - [#25266](https://github.com/storybookjs/storybook/pull/25266), thanks [@ndelangen](https://github.com/ndelangen)!\n- Core: Skip no-framework error when ignorePreview=true - [#25286](https://github.com/storybookjs/storybook/pull/25286), thanks [@ndelangen](https://github.com/ndelangen)!\n- Core: Unique outputDir/cacheDir for each configDir - [#25264](https://github.com/storybookjs/storybook/pull/25264), thanks [@ndelangen](https://github.com/ndelangen)!\n- Dependencies: Semver dependency fixes - [#25283](https://github.com/storybookjs/storybook/pull/25283), thanks [@ndelangen](https://github.com/ndelangen)!\n- NextJS: Mock out `server-only` package for RSC - [#25263](https://github.com/storybookjs/storybook/pull/25263), thanks [@shilman](https://github.com/shilman)!"}} diff --git a/docs/writing-docs/autodocs.md b/docs/writing-docs/autodocs.md index 96c42c8ba831..4e066de59f64 100644 --- a/docs/writing-docs/autodocs.md +++ b/docs/writing-docs/autodocs.md @@ -286,6 +286,10 @@ Additionally, if you're developing using TypeScript, you may need to update Stor If you're still encountering issues, we recommend reaching out to the community using the default communication channels (e.g., [GitHub discussions](https://github.com/storybookjs/storybook/discussions/new?category=help)). +### The controls are not updating the story within the auto-generated documentation + +If you turned off inline rendering for your stories via the [`inline`](../api/doc-block-story.md#inline) configuration option, you would run into a situation where the associated controls are not updating the story within the documentation page. This is a known limitation of the current implementation and will be addressed in a future release. + #### Learn more about Storybook documentation - Autodocs for creating documentation for your stories diff --git a/docs/writing-docs/mdx.md b/docs/writing-docs/mdx.md index bd31e66374a0..cfe98b9bc4a7 100644 --- a/docs/writing-docs/mdx.md +++ b/docs/writing-docs/mdx.md @@ -455,6 +455,10 @@ Additionally, if you're working with VSCode, you can add the [MDX extension](htt If you're still encountering issues, we recommend reaching out to the community using the default communication channels (e.g., [GitHub discussions](https://github.com/storybookjs/storybook/discussions/new?category=help)). +### The controls are not updating the story within the MDX documentation page + +If you turned off inline rendering for your stories via the [`inline`](../api/doc-block-story.md#inline) configuration option, you would run into a situation where the associated controls are not updating the story within the documentation page. This is a known limitation of the current implementation and will be addressed in a future release. + #### Learn more about Storybook documentation - [Autodocs](./autodocs.md) for creating documentation for your stories diff --git a/docs/writing-stories/index.md b/docs/writing-stories/index.md index c938a3f60929..a270dd95b1e1 100644 --- a/docs/writing-stories/index.md +++ b/docs/writing-stories/index.md @@ -39,6 +39,7 @@ The _default_ export metadata controls how Storybook lists your stories and prov 'svelte/button-story-default-export-with-component.js.mdx', 'svelte/button-story-default-export-with-component.ts.mdx', 'web-components/button-story-default-export-with-component.js.mdx', + 'web-components/button-story-default-export-with-component.ts.mdx', 'html/button-story-default-export.js.mdx', 'html/button-story-default-export.ts.mdx', 'solid/button-story-default-export-with-component.js.mdx', diff --git a/docs/writing-tests/test-coverage.md b/docs/writing-tests/test-coverage.md index 79f5fe2ce8a4..cf635c22a4f4 100644 --- a/docs/writing-tests/test-coverage.md +++ b/docs/writing-tests/test-coverage.md @@ -151,6 +151,21 @@ If you intend on running coverage tests in frameworks with special files like Vu +### The coverage addon doesn't support optimized builds + +If you generated a production build optimized for performance with the [`--test`](../sharing/publish-storybook.md#customizing-the-build-for-performance) flag, and you're using the coverage addon to run tests against your Storybook, you may run into a situation where the coverage addon doesn't instrument your code. This is due to how the flag works, as it removes addons that have an impact on performance (e.g., [`Docs`](../writing-docs/index.md), [coverage addon](https://storybook.js.org/addons/@storybook/addon-coverage)). To resolve this issue, you'll need to adjust your Storybook configuration file (i.e., `.storybook/main.js|ts`) and include the [`disabledAddons`](../api/main-config-build.md#testdisabledaddons) option to allow the addon to run tests at the expense of a slower build. + + + + + + + ### The coverage addon doesn't support instrumented code As the [coverage addon](https://storybook.js.org/addons/@storybook/addon-coverage) is based on Babel and Vite plugins for code instrumentation, frameworks that don't rely upon these libraries (e.g., Angular configured with Webpack), will require additional configuration to enable code instrumentation. In that case, you can refer to the following [repository](https://github.com/yannbf/storybook-coverage-recipes) for more information. diff --git a/scripts/.eslintrc.cjs b/scripts/.eslintrc.cjs index fe8ebf3eb80c..0efac90b9242 100644 --- a/scripts/.eslintrc.cjs +++ b/scripts/.eslintrc.cjs @@ -6,19 +6,13 @@ module.exports = { project: ['./tsconfig.json'], }, rules: { + // remove as shared eslint has jest rules removed + 'jest/no-standalone-expect': 'off', + 'jest/no-done-callback': 'off', + 'jest/no-deprecated-functions': 'off', '@typescript-eslint/ban-ts-comment': 'error', '@typescript-eslint/consistent-type-imports': ['error', { disallowTypeAnnotations: false }], - 'jest/no-standalone-expect': [ - 'error', - { additionalTestBlockFunctions: ['it.skipWindows', 'it.onWindows'] }, - ], 'no-use-before-define': 'off', - 'jest/expect-expect': [ - 'warn', - { - assertFunctionNames: ['expect', 'expectTypeOf'], - }, - ], 'eslint-comments/disable-enable-pair': ['error', { allowWholeFile: true }], }, overrides: [ @@ -28,13 +22,6 @@ module.exports = { 'import/extensions': ['error', 'always'], }, }, - { - files: ['*.stories.*'], - rules: { - // allow expect in stories - 'jest/no-standalone-expect': ['off'], - }, - }, { files: [ '*.js', @@ -43,7 +30,6 @@ module.exports = { '*.html', '**/.storybook/*.ts', '**/.storybook/*.tsx', - 'setup-jest.ts', ], parserOptions: { project: null, diff --git a/scripts/__mocks__/simple-git.js b/scripts/__mocks__/simple-git.js deleted file mode 100644 index 89fa9f23c7b1..000000000000 --- a/scripts/__mocks__/simple-git.js +++ /dev/null @@ -1,18 +0,0 @@ -/* eslint-disable no-underscore-dangle */ -const mod = jest.createMockFromModule('simple-git'); - -mod.__getRemotes = jest - .fn() - .mockReturnValue([{ name: 'origin', refs: { fetch: 'origin', push: 'origin' } }]); -mod.__fetch = jest.fn(); -mod.__revparse = jest.fn().mockResolvedValue('mockedGitCommitHash'); - -mod.simpleGit = () => { - return { - getRemotes: mod.__getRemotes, - fetch: mod.__fetch, - revparse: mod.__revparse, - }; -}; - -module.exports = mod; diff --git a/scripts/__mocks__/simple-git.ts b/scripts/__mocks__/simple-git.ts new file mode 100644 index 000000000000..2e1ec381c934 --- /dev/null +++ b/scripts/__mocks__/simple-git.ts @@ -0,0 +1,18 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +/* eslint-disable no-underscore-dangle */ +import { vi } from 'vitest'; + +export const __getRemotes = vi + .fn() + .mockReturnValue([{ name: 'origin', refs: { fetch: 'origin', push: 'origin' } }]); +export const __fetch = vi.fn(); +export const __revparse = vi.fn().mockResolvedValue('mockedGitCommitHash'); + +export const simpleGit = () => { + return { + getRemotes: __getRemotes, + fetch: __fetch, + revparse: __revparse, + log: vi.fn(), + }; +}; diff --git a/scripts/__mocks__/uuid.ts b/scripts/__mocks__/uuid.ts index bd6e08f5a6eb..ad817e243da0 100644 --- a/scripts/__mocks__/uuid.ts +++ b/scripts/__mocks__/uuid.ts @@ -1,4 +1,4 @@ -const { v5 } = jest.requireActual('uuid'); +import { v5 } from 'uuid'; let seed = 0; diff --git a/scripts/get-template.ts b/scripts/get-template.ts index ee3b81b13025..ecb62a942f80 100644 --- a/scripts/get-template.ts +++ b/scripts/get-template.ts @@ -101,7 +101,7 @@ async function checkParallelism(cadence?: Cadence, scriptName?: TaskKey) { let isIncorrect = false; cadences.forEach((cad) => { - summary.push(`\n${cad}`); + summary.push(`\n${chalk.bold(cad)}`); const cadenceTemplates = Object.entries(allTemplates).filter(([key]) => templatesByCadence[cad].includes(key as TemplateKey) ); @@ -110,6 +110,7 @@ async function checkParallelism(cadence?: Cadence, scriptName?: TaskKey) { scripts.forEach((script) => { const templateKeysPerScript = potentialTemplateKeys.filter((t) => { const currentTemplate = allTemplates[t] as Template; + return ( currentTemplate.inDevelopment !== true && !currentTemplate.skipTasks?.includes(script as SkippableTask) @@ -153,6 +154,18 @@ async function checkParallelism(cadence?: Cadence, scriptName?: TaskKey) { summary.unshift('✅ The parallelism count is correct for all jobs in .circleci/config.yml:'); console.log(summary.concat('\n').join('\n')); } + + const inDevelopmentTemplates = Object.entries(allTemplates) + .filter(([_, t]) => t.inDevelopment) + .map(([k]) => k); + + if (inDevelopmentTemplates.length > 0) { + console.log( + `👇 Some templates were skipped as they are flagged to be in development. Please review if they should still contain this flag:\n${inDevelopmentTemplates + .map((k) => `- ${k}`) + .join('\n')}` + ); + } } type RunOptions = { cadence?: Cadence; task?: TaskKey; check: boolean }; diff --git a/scripts/jest.config.cjs b/scripts/jest.config.cjs deleted file mode 100644 index 571d0ab11232..000000000000 --- a/scripts/jest.config.cjs +++ /dev/null @@ -1,21 +0,0 @@ -module.exports = { - transform: { - '^.+\\.(t|j)sx?$': [ - '@swc/jest', - { - jsc: { - parser: { - syntax: 'typescript', - tsx: false, - decorators: false, - dynamicImport: false, - }, - experimental: { - plugins: [['jest_workaround', {}]], - }, - }, - }, - ], - }, - transformIgnorePatterns: [], -}; diff --git a/scripts/package.json b/scripts/package.json index 1a5ad911c6e1..08db1b3329e3 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -35,7 +35,8 @@ "release:write-changelog": "node --loader esbuild-register/loader -r esbuild-register ./release/write-changelog.ts", "strict-ts": "node --loader esbuild-register/loader -r esbuild-register ./strict-ts.ts", "task": "node --loader esbuild-register/loader -r esbuild-register ./task.ts", - "test": "jest --config ./jest.config.cjs", + "test": "NODE_OPTIONS=--max_old_space_size=4096 vitest run", + "test:watch": "NODE_OPTIONS=--max_old_space_size=4096 vitest watch", "upgrade": "node --loader esbuild-register/loader -r esbuild-register ./task.ts", "upload-bench": "node --loader esbuild-register/loader -r esbuild-register ./upload-bench.ts" }, @@ -75,9 +76,7 @@ "@babel/preset-react": "^7.22.15", "@babel/preset-typescript": "^7.23.2", "@babel/types": "^7.23.0", - "@emotion/jest": "^11.10.5", "@google-cloud/bigquery": "^6.2.0", - "@jest/globals": "^29.3.1", "@nx/workspace": "17.0.2", "@octokit/graphql": "^5.0.5", "@octokit/request": "^8.1.2", @@ -85,8 +84,6 @@ "@storybook/jest": "next", "@storybook/linter-config": "^3.1.2", "@storybook/testing-library": "next", - "@swc/core": "^1.3.95", - "@swc/jest": "^0.2.29", "@testing-library/dom": "^9.3.0", "@testing-library/jest-dom": "^5.11.9", "@testing-library/react": "^14.0.0", @@ -115,6 +112,7 @@ "@typescript-eslint/eslint-plugin": "^5.45.0", "@typescript-eslint/experimental-utils": "^5.45.0", "@typescript-eslint/parser": "^5.45.0", + "@vitest/coverage-v8": "^1.0.1", "ansi-regex": "^5.0.0", "babel-eslint": "^10.1.0", "babel-loader": "^9.1.2", @@ -147,14 +145,6 @@ "glob": "^10.0.0", "http-server": "^14.1.1", "husky": "^4.3.7", - "jest": "^29.3.1", - "jest-environment-jsdom": "^29.3.1", - "jest-junit": "^14.0.1", - "jest-mock-extended": "^3.0.4", - "jest-os-detection": "^1.3.1", - "jest-serializer-html": "^7.1.0", - "jest-watch-typeahead": "^2.2.1", - "jest_workaround": "^0.79.19", "json5": "^2.2.3", "junit-xml": "^1.2.0", "lint-staged": "^10.5.4", @@ -197,6 +187,7 @@ "typescript": "~5.2.2", "util": "^0.12.4", "uuid": "^9.0.0", + "vitest": "^1.0.1", "wait-on": "^7.0.1", "window-size": "^1.1.1", "yaml": "^2.3.1", diff --git a/scripts/prepare/addon-bundle.ts b/scripts/prepare/addon-bundle.ts index 757402c4600d..b274f00e3c2e 100755 --- a/scripts/prepare/addon-bundle.ts +++ b/scripts/prepare/addon-bundle.ts @@ -116,7 +116,7 @@ const run = async ({ cwd, flags }: { cwd: string; flags: string[] }) => { ...(optimized ? dtsConfig : {}), entry: exportEntries, format: ['cjs'], - target: 'node16', + target: 'node18', platform: 'node', external: commonExternals, esbuildOptions: (options) => { @@ -184,7 +184,7 @@ const run = async ({ cwd, flags }: { cwd: string; flags: string[] }) => { ...commonOptions, entry: nodeEntries.map((e: string) => slash(join(cwd, e))), format: ['cjs'], - target: 'node16', + target: 'node18', platform: 'node', external: commonExternals, esbuildOptions: (c) => { diff --git a/scripts/prepare/bundle.ts b/scripts/prepare/bundle.ts index efb68303706a..879e963f44c7 100755 --- a/scripts/prepare/bundle.ts +++ b/scripts/prepare/bundle.ts @@ -126,7 +126,7 @@ const run = async ({ cwd, flags }: { cwd: string; flags: string[] }) => { outDir, sourcemap: false, format: ['cjs'], - target: 'node16', + target: 'node18', ...(dtsBuild === 'cjs' ? dtsConfig : {}), platform: 'node', clean: false, diff --git a/scripts/prepare/esm-bundle.ts b/scripts/prepare/esm-bundle.ts index 104585b7e4c2..8d41e51012c6 100755 --- a/scripts/prepare/esm-bundle.ts +++ b/scripts/prepare/esm-bundle.ts @@ -120,7 +120,7 @@ const run = async ({ cwd, flags }: { cwd: string; flags: string[] }) => { outExtension: () => ({ js: '.js', }), - target: 'node16', + target: 'node18', clean: false, ...(dtsBuild ? dtsConfig : {}), platform: 'node', diff --git a/scripts/prepare/facade.ts b/scripts/prepare/facade.ts index 2a1a62d73b52..be1c0ebfa07c 100755 --- a/scripts/prepare/facade.ts +++ b/scripts/prepare/facade.ts @@ -53,7 +53,7 @@ const run = async ({ cwd, flags }: { cwd: string; flags: string[] }) => { entry: entries.map((e: string) => slash(join(cwd, e))), outDir: join(process.cwd(), 'dist'), format: ['cjs'], - target: 'node16', + target: 'node18', platform: 'node', external: [name, ...Object.keys(dependencies || {}), ...Object.keys(peerDependencies || {})], diff --git a/scripts/release/__tests__/cancel-preparation-runs.test.ts b/scripts/release/__tests__/cancel-preparation-runs.test.ts index fe2a3ad52349..042076fd7840 100644 --- a/scripts/release/__tests__/cancel-preparation-runs.test.ts +++ b/scripts/release/__tests__/cancel-preparation-runs.test.ts @@ -1,3 +1,5 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; + import { PREPARE_NON_PATCH_WORKFLOW_PATH, PREPARE_PATCH_WORKFLOW_PATH, @@ -5,17 +7,17 @@ import { } from '../cancel-preparation-runs'; import * as github_ from '../utils/github-client'; -jest.mock('../utils/github-client'); +vi.mock('../utils/github-client'); -const github = jest.mocked(github_); +const github = vi.mocked(github_); -jest.spyOn(console, 'log').mockImplementation(() => {}); -jest.spyOn(console, 'warn').mockImplementation(() => {}); -jest.spyOn(console, 'error').mockImplementation(() => {}); +vi.spyOn(console, 'log').mockImplementation(() => {}); +vi.spyOn(console, 'warn').mockImplementation(() => {}); +vi.spyOn(console, 'error').mockImplementation(() => {}); describe('Cancel preparation runs', () => { beforeEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); github.githubRestClient.mockImplementation(((route: string, options: any) => { switch (route) { case 'GET /repos/{owner}/{repo}/actions/workflows': @@ -59,7 +61,7 @@ describe('Cancel preparation runs', () => { it('should fail early when no GH_TOKEN is set', async () => { delete process.env.GH_TOKEN; await expect(cancelPreparationWorkflows()).rejects.toThrowErrorMatchingInlineSnapshot( - `"GH_TOKEN environment variable must be set, exiting."` + `[Error: GH_TOKEN environment variable must be set, exiting.]` ); }); diff --git a/scripts/release/__tests__/ensure-next-ahead.test.ts b/scripts/release/__tests__/ensure-next-ahead.test.ts index d9950ad0390e..7e7aa3e18666 100644 --- a/scripts/release/__tests__/ensure-next-ahead.test.ts +++ b/scripts/release/__tests__/ensure-next-ahead.test.ts @@ -1,29 +1,32 @@ /* eslint-disable global-require */ /* eslint-disable no-underscore-dangle */ import path from 'path'; +import { vi, describe, it, expect, beforeEach } from 'vitest'; +import * as fsExtraOriginal from 'fs-extra'; import { run as ensureNextAhead } from '../ensure-next-ahead'; import * as gitClient_ from '../utils/git-client'; import * as bumpVersion_ from '../version'; -jest.mock('../utils/git-client', () => jest.requireActual('jest-mock-extended').mockDeep()); -const gitClient = jest.mocked(gitClient_, { shallow: false }); +vi.mock('../utils/git-client'); +vi.mock('../version'); +vi.mock('fs-extra', async () => import('../../../code/__mocks__/fs-extra')); -// eslint-disable-next-line jest/no-mocks-import -jest.mock('fs-extra', () => require('../../../code/__mocks__/fs-extra')); -const fsExtra = require('fs-extra'); +const fsExtra = vi.mocked( + fsExtraOriginal as any +); -jest.mock('../version', () => jest.requireActual('jest-mock-extended').mockDeep()); -const bumpVersion = jest.mocked(bumpVersion_); +const bumpVersion = vi.mocked(bumpVersion_, true); +const gitClient = vi.mocked(gitClient_, true); -jest.spyOn(console, 'log').mockImplementation(() => {}); -jest.spyOn(console, 'warn').mockImplementation(() => {}); -jest.spyOn(console, 'error').mockImplementation(() => {}); +vi.spyOn(console, 'log').mockImplementation(() => {}); +vi.spyOn(console, 'warn').mockImplementation(() => {}); +vi.spyOn(console, 'error').mockImplementation(() => {}); const CODE_PACKAGE_JSON_PATH = path.join(__dirname, '..', '..', '..', 'code', 'package.json'); describe('Ensure next ahead', () => { beforeEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); gitClient.git.status.mockResolvedValue({ current: 'next' } as any); fsExtra.__setMockFiles({ [CODE_PACKAGE_JSON_PATH]: JSON.stringify({ version: '2.0.0' }), @@ -32,30 +35,30 @@ describe('Ensure next ahead', () => { it('should throw when main-version is missing', async () => { await expect(ensureNextAhead({})).rejects.toThrowErrorMatchingInlineSnapshot(` - "[ - { - "code": "invalid_type", - "expected": "string", - "received": "undefined", - "path": [ - "mainVersion" - ], - "message": "Required" - } - ]" + [ZodError: [ + { + "code": "invalid_type", + "expected": "string", + "received": "undefined", + "path": [ + "mainVersion" + ], + "message": "Required" + } +]] `); }); it('should throw when main-version is not a semver string', async () => { await expect(ensureNextAhead({ mainVersion: '200' })).rejects .toThrowErrorMatchingInlineSnapshot(` - "[ - { - "code": "custom", - "message": "main-version must be a valid semver version string like '7.4.2'.", - "path": [] - } - ]" + [ZodError: [ + { + "code": "custom", + "message": "main-version must be a valid semver version string like '7.4.2'.", + "path": [] + } +]] `); }); diff --git a/scripts/release/__tests__/generate-pr-description.test.ts b/scripts/release/__tests__/generate-pr-description.test.ts index 50aa5de8e019..926f46226d4b 100644 --- a/scripts/release/__tests__/generate-pr-description.test.ts +++ b/scripts/release/__tests__/generate-pr-description.test.ts @@ -1,3 +1,4 @@ +import { describe, it, expect } from 'vitest'; import { generateReleaseDescription, generateNonReleaseDescription, diff --git a/scripts/release/__tests__/is-pr-frozen.test.ts b/scripts/release/__tests__/is-pr-frozen.test.ts index 00331e0555cd..6a146175481d 100644 --- a/scripts/release/__tests__/is-pr-frozen.test.ts +++ b/scripts/release/__tests__/is-pr-frozen.test.ts @@ -1,56 +1,58 @@ -/* eslint-disable no-underscore-dangle */ -/* eslint-disable global-require */ +/* eslint-disable jest/no-mocks-import, no-underscore-dangle */ import path from 'path'; +import { vi, describe, expect, it } from 'vitest'; +import * as fsExtraImp from 'fs-extra'; +import * as simpleGitImp from 'simple-git'; import { run as isPrFrozen } from '../is-pr-frozen'; -// eslint-disable-next-line jest/no-mocks-import -jest.mock('fs-extra', () => require('../../../code/__mocks__/fs-extra')); -jest.mock('../utils/get-github-info'); +import type * as MockedFSExtra from '../../../code/__mocks__/fs-extra'; +import type * as MockedSimpleGit from '../../__mocks__/simple-git'; -const fsExtra = require('fs-extra'); -const simpleGit = require('simple-git'); -const { getPullInfoFromCommit } = require('../utils/get-github-info'); +import type { PullRequestInfo } from '../utils/get-github-info'; +import { getPullInfoFromCommit } from '../utils/get-github-info'; +import { CODE_DIRECTORY } from '../../utils/constants'; -const CODE_DIR_PATH = path.join(__dirname, '..', '..', '..', 'code'); -const CODE_PACKAGE_JSON_PATH = path.join(CODE_DIR_PATH, 'package.json'); +vi.mock('../utils/get-github-info'); +vi.mock('simple-git'); +vi.mock('fs-extra', async () => import('../../../code/__mocks__/fs-extra')); +const fsExtra = fsExtraImp as unknown as typeof MockedFSExtra; +const simpleGit = simpleGitImp as unknown as typeof MockedSimpleGit; + +const CODE_PACKAGE_JSON_PATH = path.join(CODE_DIRECTORY, 'package.json'); fsExtra.__setMockFiles({ [CODE_PACKAGE_JSON_PATH]: JSON.stringify({ version: '1.0.0' }), }); describe('isPrFrozen', () => { - beforeEach(() => { - jest.clearAllMocks(); - }); - it('should return true when PR is frozen', async () => { - getPullInfoFromCommit.mockResolvedValue({ + vi.mocked(getPullInfoFromCommit).mockResolvedValue({ labels: ['freeze'], state: 'OPEN', - }); + } as PullRequestInfo); await expect(isPrFrozen({ patch: false })).resolves.toBe(true); }); it('should return false when PR is not frozen', async () => { - getPullInfoFromCommit.mockResolvedValue({ + vi.mocked(getPullInfoFromCommit).mockResolvedValue({ labels: [], state: 'OPEN', - }); + } as PullRequestInfo); await expect(isPrFrozen({ patch: false })).resolves.toBe(false); }); it('should return false when PR is closed', async () => { - getPullInfoFromCommit.mockResolvedValue({ + vi.mocked(getPullInfoFromCommit).mockResolvedValue({ labels: ['freeze'], state: 'CLOSED', - }); + } as PullRequestInfo); await expect(isPrFrozen({ patch: false })).resolves.toBe(false); }); it('should look for patch PRs when patch is true', async () => { - getPullInfoFromCommit.mockResolvedValue({ + vi.mocked(getPullInfoFromCommit).mockResolvedValue({ labels: [], - }); + } as PullRequestInfo); await isPrFrozen({ patch: true }); expect(simpleGit.__fetch).toHaveBeenCalledWith('origin', 'version-patch-from-1.0.0', { @@ -59,9 +61,9 @@ describe('isPrFrozen', () => { }); it('should look for prerelease PRs when patch is false', async () => { - getPullInfoFromCommit.mockResolvedValue({ + vi.mocked(getPullInfoFromCommit).mockResolvedValue({ labels: [], - }); + } as PullRequestInfo); await isPrFrozen({ patch: false }); expect(simpleGit.__fetch).toHaveBeenCalledWith('origin', 'version-non-patch-from-1.0.0', { diff --git a/scripts/release/__tests__/label-patches.test.ts b/scripts/release/__tests__/label-patches.test.ts index f75549fef7cd..8f221f88b961 100644 --- a/scripts/release/__tests__/label-patches.test.ts +++ b/scripts/release/__tests__/label-patches.test.ts @@ -1,3 +1,4 @@ +import { beforeEach, expect, vi, it } from 'vitest'; import type { LogResult } from 'simple-git'; import ansiRegex from 'ansi-regex'; import { run } from '../label-patches'; @@ -5,14 +6,14 @@ import * as gitClient_ from '../utils/git-client'; import * as githubInfo_ from '../utils/get-github-info'; import * as github_ from '../utils/github-client'; -jest.mock('uuid'); -jest.mock('../utils/get-github-info'); -jest.mock('../utils/github-client'); -jest.mock('../utils/git-client', () => jest.requireActual('jest-mock-extended').mockDeep()); +vi.mock('uuid'); +vi.mock('../utils/get-github-info'); +vi.mock('../utils/github-client'); +vi.mock('../utils/git-client'); -const gitClient = jest.mocked(gitClient_, { shallow: false }); -const github = jest.mocked(github_); -const githubInfo = jest.mocked(githubInfo_); +const gitClient = vi.mocked(gitClient_, true); +const github = vi.mocked(github_, true); +const githubInfo = vi.mocked(githubInfo_, true); const remoteMock = [ { @@ -68,8 +69,6 @@ const pullInfoMock = { }; beforeEach(() => { - // mock IO - jest.clearAllMocks(); gitClient.getLatestTag.mockResolvedValue('v7.2.1'); gitClient.git.log.mockResolvedValue(gitLogMock); gitClient.git.getRemotes.mockResolvedValue(remoteMock); @@ -93,17 +92,17 @@ beforeEach(() => { ]); }); -test('it should fail early when no GH_TOKEN is set', async () => { +it('should fail early when no GH_TOKEN is set', async () => { delete process.env.GH_TOKEN; await expect(run({})).rejects.toThrowErrorMatchingInlineSnapshot( - `"GH_TOKEN environment variable must be set, exiting."` + `[Error: GH_TOKEN environment variable must be set, exiting.]` ); }); -test('it should label the PR associated with cheery picks in the current branch', async () => { +it('should label the PR associated with cherry picks in the current branch', async () => { process.env.GH_TOKEN = 'MY_SECRET'; - const writeStderr = jest.spyOn(process.stderr, 'write').mockImplementation(); + const writeStderr = vi.spyOn(process.stderr, 'write').mockImplementation((() => {}) as any); await run({}); expect(github.githubGraphQlClient.mock.calls).toMatchInlineSnapshot(` @@ -153,7 +152,7 @@ test('it should label the PR associated with cheery picks in the current branch' `); }); -test('it should label all PRs when the --all flag is passed', async () => { +it('should label all PRs when the --all flag is passed', async () => { process.env.GH_TOKEN = 'MY_SECRET'; // clear the git log, it shouldn't depend on it in --all mode @@ -163,7 +162,7 @@ test('it should label all PRs when the --all flag is passed', async () => { total: 0, }); - const writeStderr = jest.spyOn(process.stderr, 'write').mockImplementation(); + const writeStderr = vi.spyOn(process.stderr, 'write').mockImplementation((() => {}) as any); await run({ all: true }); expect(github.githubGraphQlClient.mock.calls).toMatchInlineSnapshot(` @@ -217,7 +216,7 @@ test('it should label all PRs when the --all flag is passed', async () => { .trim() : text ) - .filter((it) => it !== ''); + .filter((t) => t !== ''); expect(stderrCalls).toMatchInlineSnapshot(` [ diff --git a/scripts/release/__tests__/version.test.ts b/scripts/release/__tests__/version.test.ts index 22a2cb7ca8a1..cfe382b15aee 100644 --- a/scripts/release/__tests__/version.test.ts +++ b/scripts/release/__tests__/version.test.ts @@ -1,21 +1,25 @@ /* eslint-disable global-require */ /* eslint-disable no-underscore-dangle */ +import { describe, it, expect, vi } from 'vitest'; import path from 'path'; +import * as fsExtraImp from 'fs-extra'; +import { execaCommand } from 'execa'; import { run as version } from '../version'; // eslint-disable-next-line jest/no-mocks-import -jest.mock('fs-extra', () => require('../../../code/__mocks__/fs-extra')); -const fsExtra = require('fs-extra'); +import type * as MockedFSToExtra from '../../../code/__mocks__/fs-extra'; -jest.mock('../../../code/lib/cli/src/versions', () => ({ +vi.mock('fs-extra', async () => import('../../../code/__mocks__/fs-extra')); +const fsExtra = fsExtraImp as unknown as typeof MockedFSToExtra; + +vi.mock('../../../code/lib/cli/src/versions', () => ({ '@storybook/addon-a11y': '7.1.0-alpha.29', })); -jest.mock('execa'); -const { execaCommand } = require('execa'); +vi.mock('execa'); -jest.mock('../../utils/workspace', () => ({ - getWorkspaces: jest.fn().mockResolvedValue([ +vi.mock('../../utils/workspace', () => ({ + getWorkspaces: vi.fn().mockResolvedValue([ { name: '@storybook/addon-a11y', location: 'addons/a11y', @@ -23,13 +27,9 @@ jest.mock('../../utils/workspace', () => ({ ]), })); -jest.spyOn(console, 'log').mockImplementation(() => {}); -jest.spyOn(console, 'warn').mockImplementation(() => {}); -jest.spyOn(console, 'error').mockImplementation(() => {}); - -beforeEach(() => { - jest.clearAllMocks(); -}); +vi.spyOn(console, 'log').mockImplementation(() => {}); +vi.spyOn(console, 'warn').mockImplementation(() => {}); +vi.spyOn(console, 'error').mockImplementation(() => {}); describe('Version', () => { const CODE_DIR_PATH = path.join(__dirname, '..', '..', '..', 'code'); @@ -52,25 +52,25 @@ describe('Version', () => { }); await expect(version({ releaseType: 'invalid' })).rejects.toThrowErrorMatchingInlineSnapshot(` - "[ - { - "received": "invalid", - "code": "invalid_enum_value", - "options": [ - "major", - "minor", - "patch", - "prerelease", - "premajor", - "preminor", - "prepatch" - ], - "path": [ - "releaseType" - ], - "message": "Invalid enum value. Expected 'major' | 'minor' | 'patch' | 'prerelease' | 'premajor' | 'preminor' | 'prepatch', received 'invalid'" - } - ]" + [ZodError: [ + { + "received": "invalid", + "code": "invalid_enum_value", + "options": [ + "major", + "minor", + "patch", + "prerelease", + "premajor", + "preminor", + "prepatch" + ], + "path": [ + "releaseType" + ], + "message": "Invalid enum value. Expected 'major' | 'minor' | 'patch' | 'prerelease' | 'premajor' | 'preminor' | 'prepatch', received 'invalid'" + } +]] `); }); @@ -83,13 +83,13 @@ describe('Version', () => { await expect(version({ releaseType: 'major', preId: 'alpha' })).rejects .toThrowErrorMatchingInlineSnapshot(` - "[ - { - "code": "custom", - "message": "Using prerelease identifier requires one of release types: premajor, preminor, prepatch, prerelease", - "path": [] - } - ]" + [ZodError: [ + { + "code": "custom", + "message": "Using prerelease identifier requires one of release types: premajor, preminor, prepatch, prerelease", + "path": [] + } +]] `); }); @@ -102,13 +102,13 @@ describe('Version', () => { await expect(version({ releaseType: 'major', exact: '1.0.0' })).rejects .toThrowErrorMatchingInlineSnapshot(` - "[ - { - "code": "custom", - "message": "Combining --exact with --release-type is invalid, but having one of them is required", - "path": [] - } - ]" + [ZodError: [ + { + "code": "custom", + "message": "Combining --exact with --release-type is invalid, but having one of them is required", + "path": [] + } +]] `); }); @@ -120,15 +120,15 @@ describe('Version', () => { }); await expect(version({ exact: 'not-semver' })).rejects.toThrowErrorMatchingInlineSnapshot(` - "[ - { - "code": "custom", - "message": "--exact version has to be a valid semver string", - "path": [ - "exact" - ] - } - ]" + [ZodError: [ + { + "code": "custom", + "message": "--exact version has to be a valid semver string", + "path": [ + "exact" + ] + } +]] `); }); @@ -141,13 +141,13 @@ describe('Version', () => { await expect(version({ apply: true, releaseType: 'prerelease' })).rejects .toThrowErrorMatchingInlineSnapshot(` - "[ - { - "code": "custom", - "message": "--apply cannot be combined with --exact or --release-type, as it will always read from code/package.json#deferredNextVersion", - "path": [] - } - ]" + [ZodError: [ + { + "code": "custom", + "message": "--apply cannot be combined with --exact or --release-type, as it will always read from code/package.json#deferredNextVersion", + "path": [] + } +]] `); }); @@ -160,13 +160,13 @@ describe('Version', () => { await expect(version({ apply: true, exact: '1.0.0' })).rejects .toThrowErrorMatchingInlineSnapshot(` - "[ - { - "code": "custom", - "message": "--apply cannot be combined with --exact or --release-type, as it will always read from code/package.json#deferredNextVersion", - "path": [] - } - ]" + [ZodError: [ + { + "code": "custom", + "message": "--apply cannot be combined with --exact or --release-type, as it will always read from code/package.json#deferredNextVersion", + "path": [] + } +]] `); }); @@ -179,13 +179,13 @@ describe('Version', () => { await expect(version({ apply: true, deferred: true })).rejects .toThrowErrorMatchingInlineSnapshot(` - "[ - { - "code": "custom", - "message": "--deferred cannot be combined with --apply", - "path": [] - } - ]" + [ZodError: [ + { + "code": "custom", + "message": "--deferred cannot be combined with --apply", + "path": [] + } +]] `); }); @@ -195,7 +195,7 @@ describe('Version', () => { }); await expect(version({ apply: true })).rejects.toThrowErrorMatchingInlineSnapshot( - `"The 'deferredNextVersion' property in code/package.json is unset. This is necessary to apply a deferred version bump"` + `[Error: The 'deferredNextVersion' property in code/package.json is unset. This is necessary to apply a deferred version bump]` ); expect(fsExtra.writeJson).not.toHaveBeenCalled(); diff --git a/scripts/release/__tests__/write-changelog.test.ts b/scripts/release/__tests__/write-changelog.test.ts index 7431222f975a..80c7f036508f 100644 --- a/scripts/release/__tests__/write-changelog.test.ts +++ b/scripts/release/__tests__/write-changelog.test.ts @@ -1,19 +1,34 @@ +/* eslint-disable jest/no-mocks-import */ /* eslint-disable global-require */ /* eslint-disable no-underscore-dangle */ import path from 'path'; import dedent from 'ts-dedent'; +import { vi, expect, describe, it, beforeEach } from 'vitest'; +import * as fsExtraImp from 'fs-extra'; import { run as writeChangelog } from '../write-changelog'; -import * as changesUtils from '../utils/get-changes'; +import * as changesUtils_ from '../utils/get-changes'; -// eslint-disable-next-line jest/no-mocks-import -jest.mock('fs-extra', () => require('../../../code/__mocks__/fs-extra')); -const fsExtra = require('fs-extra'); +import type * as MockedFSToExtra from '../../../code/__mocks__/fs-extra'; -const getChangesMock = jest.spyOn(changesUtils, 'getChanges'); +vi.mock('fs-extra', async () => import('../../../code/__mocks__/fs-extra')); +vi.mock('../utils/get-changes'); -jest.spyOn(console, 'log').mockImplementation(() => {}); -jest.spyOn(console, 'warn').mockImplementation(() => {}); -jest.spyOn(console, 'error').mockImplementation(() => {}); +const changesUtils = vi.mocked(changesUtils_); + +const fsExtra = fsExtraImp as unknown as typeof MockedFSToExtra; + +beforeEach(() => { + vi.restoreAllMocks(); + + vi.spyOn(console, 'log').mockImplementation(() => {}); + vi.spyOn(console, 'warn').mockImplementation(() => {}); + vi.spyOn(console, 'error').mockImplementation(() => {}); + + fsExtra.__setMockFiles({ + [STABLE_CHANGELOG_PATH]: EXISTING_STABLE_CHANGELOG, + [PRERELEASE_CHANGELOG_PATH]: EXISTING_PRERELEASE_CHANGELOG, + }); +}); const STABLE_CHANGELOG_PATH = path.join(__dirname, '..', '..', '..', 'CHANGELOG.md'); const PRERELEASE_CHANGELOG_PATH = path.join(__dirname, '..', '..', '..', 'CHANGELOG.prerelease.md'); @@ -28,10 +43,6 @@ const LATEST_VERSION_PATH = path.join( ); const NEXT_VERSION_PATH = path.join(__dirname, '..', '..', '..', 'docs', 'versions', 'next.json'); -beforeEach(() => { - jest.clearAllMocks(); -}); - const EXISTING_STABLE_CHANGELOG = dedent`## 7.0.0 - Core: Some change`; @@ -40,14 +51,9 @@ const EXISTING_PRERELEASE_CHANGELOG = dedent`## 7.1.0-alpha.20 - CLI: Super fast now`; -fsExtra.__setMockFiles({ - [STABLE_CHANGELOG_PATH]: EXISTING_STABLE_CHANGELOG, - [PRERELEASE_CHANGELOG_PATH]: EXISTING_PRERELEASE_CHANGELOG, -}); - describe('Write changelog', () => { it('should write to stable changelogs and version files in docs', async () => { - getChangesMock.mockResolvedValue({ + changesUtils.getChanges.mockResolvedValue({ changes: [], changelogText: `## 7.0.1 @@ -83,7 +89,7 @@ describe('Write changelog', () => { }); it('should escape double quotes for json files', async () => { - getChangesMock.mockResolvedValue({ + changesUtils.getChanges.mockResolvedValue({ changes: [], changelogText: `## 7.0.1 @@ -122,7 +128,7 @@ describe('Write changelog', () => { }); it('should write to prerelase changelogs and version files in docs', async () => { - getChangesMock.mockResolvedValue({ + changesUtils.getChanges.mockResolvedValue({ changes: [], changelogText: `## 7.1.0-alpha.21 diff --git a/scripts/release/utils/__mocks__/get-github-info.js b/scripts/release/utils/__mocks__/get-github-info.js deleted file mode 100644 index 2fa98bd4cb48..000000000000 --- a/scripts/release/utils/__mocks__/get-github-info.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - getPullInfoFromCommit: jest.fn(), - getPullInfoFromPullRequest: jest.fn(), -}; diff --git a/scripts/release/utils/__mocks__/get-github-info.ts b/scripts/release/utils/__mocks__/get-github-info.ts new file mode 100644 index 000000000000..eaccaddeeaab --- /dev/null +++ b/scripts/release/utils/__mocks__/get-github-info.ts @@ -0,0 +1,4 @@ +import { vi } from 'vitest'; + +export const getPullInfoFromCommit = vi.fn(); +export const getPullInfoFromPullRequest = vi.fn(); diff --git a/scripts/tasks/sandbox-parts.ts b/scripts/tasks/sandbox-parts.ts index cfd874a00afe..4d84258f5030 100644 --- a/scripts/tasks/sandbox-parts.ts +++ b/scripts/tasks/sandbox-parts.ts @@ -40,6 +40,7 @@ import { workspacePath } from '../utils/workspace'; import { babelParse } from '../../code/lib/csf-tools/src/babelParse'; import { CODE_DIRECTORY, REPROS_DIRECTORY } from '../utils/constants'; import type { TemplateKey } from '../../code/lib/cli/src/sandbox-templates'; +import type { JsPackageManager } from '../../code/lib/cli/src/js-package-manager'; const logger = console; @@ -380,21 +381,28 @@ export async function addExtraDependencies({ cwd, dryRun, debug, + extraDeps, }: { cwd: string; dryRun: boolean; debug: boolean; + extraDeps?: string[]; }) { // web-components doesn't install '@storybook/testing-library' by default - const extraDeps = [ + const extraDevDeps = [ '@storybook/jest@next', '@storybook/testing-library@next', '@storybook/test-runner@next', ]; - if (debug) logger.log('🎁 Adding extra deps', extraDeps); + if (debug) logger.log('🎁 Adding extra dev deps', extraDevDeps); + let packageManager: JsPackageManager; if (!dryRun) { - const packageManager = JsPackageManagerFactory.getPackageManager({}, cwd); - await packageManager.addDependencies({ installAsDevDependencies: true }, extraDeps); + packageManager = JsPackageManagerFactory.getPackageManager({}, cwd); + await packageManager.addDependencies({ installAsDevDependencies: true }, extraDevDeps); + } + if (extraDeps) { + if (debug) logger.log('🎁 Adding extra deps', extraDeps); + await packageManager.addDependencies({ installAsDevDependencies: false }, extraDeps); } } diff --git a/scripts/tasks/sandbox.ts b/scripts/tasks/sandbox.ts index be1e5f72999a..ee57d64a0c38 100644 --- a/scripts/tasks/sandbox.ts +++ b/scripts/tasks/sandbox.ts @@ -79,6 +79,7 @@ export const sandbox: Task = { cwd: details.sandboxDir, debug: options.debug, dryRun: options.dryRun, + extraDeps: details.template.modifications?.extraDependencies, }); await extendMain(details, options); diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json index 9f5821bab723..77c8d8e2da1b 100644 --- a/scripts/tsconfig.json +++ b/scripts/tsconfig.json @@ -14,7 +14,7 @@ "isolatedModules": true, "strictBindCallApply": true, "lib": ["dom", "es2023"], - "types": ["node", "jest"], + "types": ["node"], "strict": true, "strictNullChecks": false, "forceConsistentCasingInFileNames": true, diff --git a/scripts/utils/options.test.ts b/scripts/utils/options.test.ts index c183db207f2c..8693c557130f 100644 --- a/scripts/utils/options.test.ts +++ b/scripts/utils/options.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from '@jest/globals'; +import { describe, expect, it } from 'vitest'; import { createCommand } from 'commander'; import { areOptionsSatisfied, createOptions, getCommand, getOptions } from './options'; diff --git a/scripts/utils/yarn.ts b/scripts/utils/yarn.ts index 2f1fdc8b838e..006aac905f80 100644 --- a/scripts/utils/yarn.ts +++ b/scripts/utils/yarn.ts @@ -97,8 +97,8 @@ export const configureYarn2ForVerdaccio = async ({ `yarn config set enableImmutableInstalls false`, ]; - if (key === 'svelte-kit/prerelease-ts') { - // Don't error with INCOMPATIBLE_PEER_DEPENDENCY for SvelteKit prerelease, it is expected + if (key.includes('svelte-kit')) { + // Don't error with INCOMPATIBLE_PEER_DEPENDENCY for SvelteKit sandboxes, it is expected to happen with @sveltejs/vite-plugin-svelte command.push( `yarn config set logFilters --json '[ { "code": "YN0013", "level": "discard" } ]'` ); diff --git a/scripts/vitest.config.ts b/scripts/vitest.config.ts new file mode 100644 index 000000000000..34528af8bcb6 --- /dev/null +++ b/scripts/vitest.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { + clearMocks: true, + }, +}); diff --git a/scripts/yarn.lock b/scripts/yarn.lock index d08afd195ba0..877e3d9308e2 100644 --- a/scripts/yarn.lock +++ b/scripts/yarn.lock @@ -39,7 +39,7 @@ __metadata: languageName: node linkType: hard -"@ampproject/remapping@npm:^2.2.0": +"@ampproject/remapping@npm:^2.2.0, @ampproject/remapping@npm:^2.2.1": version: 2.2.1 resolution: "@ampproject/remapping@npm:2.2.1" dependencies: @@ -49,7 +49,17 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.4": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.22.13": + version: 7.23.5 + resolution: "@babel/code-frame@npm:7.23.5" + dependencies: + "@babel/highlight": "npm:^7.23.4" + chalk: "npm:^2.4.2" + checksum: a10e843595ddd9f97faa99917414813c06214f4d9205294013e20c70fbdf4f943760da37dec1d998bf3e6fc20fa2918a47c0e987a7e458663feb7698063ad7c6 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.23.4": version: 7.23.4 resolution: "@babel/code-frame@npm:7.23.4" dependencies: @@ -59,37 +69,63 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9, @babel/compat-data@npm:^7.23.3": +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/compat-data@npm:7.23.5" + checksum: 081278ed46131a890ad566a59c61600a5f9557bd8ee5e535890c8548192532ea92590742fd74bd9db83d74c669ef8a04a7e1c85cdea27f960233e3b83c3a957c + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.22.9": version: 7.23.3 resolution: "@babel/compat-data@npm:7.23.3" checksum: c6af331753c34ee8a5678bc94404320826cb56b1dda3efc1311ec8fb0774e78225132f3c1acc988440ace667f14a838e297a822692b95758aa63da406e1f97a1 languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.2": - version: 7.23.3 - resolution: "@babel/core@npm:7.23.3" +"@babel/compat-data@npm:^7.23.2": + version: 7.23.2 + resolution: "@babel/compat-data@npm:7.23.2" + checksum: 0397a08c3e491696cc1b12cf0879bf95fc550bfc6ef524d5a9452981aa0e192a958b2246debfb230fa22718fac473cc5a36616f89b1ad6e7e52055732cd374a1 + languageName: node + linkType: hard + +"@babel/core@npm:^7.23.2": + version: 7.23.2 + resolution: "@babel/core@npm:7.23.2" dependencies: "@ampproject/remapping": "npm:^2.2.0" "@babel/code-frame": "npm:^7.22.13" - "@babel/generator": "npm:^7.23.3" + "@babel/generator": "npm:^7.23.0" "@babel/helper-compilation-targets": "npm:^7.22.15" - "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-module-transforms": "npm:^7.23.0" "@babel/helpers": "npm:^7.23.2" - "@babel/parser": "npm:^7.23.3" + "@babel/parser": "npm:^7.23.0" "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.3" - "@babel/types": "npm:^7.23.3" + "@babel/traverse": "npm:^7.23.2" + "@babel/types": "npm:^7.23.0" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 08d43b749e24052d12713a7fb1f0c0d1275d4fb056d00846faeb8da79ecf6d0ba91a11b6afec407b8b0f9388d00e2c2f485f282bef0ade4d6d0a17de191a4287 + checksum: 14ad6e0a3ac0085dc008e7fb0c8513f0a3e39f2ab883a964a89ef1311338d49cf085c94cb6165c07fdec0fdcc6e865ce4811253c479f9f45ac375226dfe3ad3b languageName: node linkType: hard -"@babel/generator@npm:^7.23.3, @babel/generator@npm:^7.23.4, @babel/generator@npm:^7.7.2": +"@babel/generator@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/generator@npm:7.23.0" + dependencies: + "@babel/types": "npm:^7.23.0" + "@jridgewell/gen-mapping": "npm:^0.3.2" + "@jridgewell/trace-mapping": "npm:^0.3.17" + jsesc: "npm:^2.5.1" + checksum: b7d8727c574119b5ef06e5d5d0d8d939527d51537db4b08273caebb18f3f2b1d4517b874776085e161fd47d28f26b22c08e7f270b64f43b2afd4a60c5936d6cd + languageName: node + linkType: hard + +"@babel/generator@npm:^7.23.4": version: 7.23.4 resolution: "@babel/generator@npm:7.23.4" dependencies: @@ -110,7 +146,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.15": +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.5": version: 7.22.15 resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.15" dependencies: @@ -120,6 +156,19 @@ __metadata: linkType: hard "@babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.6": + version: 7.23.6 + resolution: "@babel/helper-compilation-targets@npm:7.23.6" + dependencies: + "@babel/compat-data": "npm:^7.23.5" + "@babel/helper-validator-option": "npm:^7.23.5" + browserslist: "npm:^4.22.2" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: ba38506d11185f48b79abf439462ece271d3eead1673dd8814519c8c903c708523428806f05f2ec5efd0c56e4e278698fac967e5a4b5ee842c32415da54bc6fa + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.22.5": version: 7.22.15 resolution: "@babel/helper-compilation-targets@npm:7.22.15" dependencies: @@ -132,7 +181,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.22.15": +"@babel/helper-create-class-features-plugin@npm:^7.22.11, @babel/helper-create-class-features-plugin@npm:^7.22.5": version: 7.22.15 resolution: "@babel/helper-create-class-features-plugin@npm:7.22.15" dependencies: @@ -151,7 +200,26 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.15, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": +"@babel/helper-create-class-features-plugin@npm:^7.22.15": + version: 7.23.6 + resolution: "@babel/helper-create-class-features-plugin@npm:7.23.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-member-expression-to-functions": "npm:^7.23.0" + "@babel/helper-optimise-call-expression": "npm:^7.22.5" + "@babel/helper-replace-supers": "npm:^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 4b923a63b757bf030839263b9609d4fc1f9858a701c173a6a15d0fc135a71847c842faddfd8af8eb324d2379725ba0d9a3d004d48ea7aac2c973cea36627707e + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": version: 7.22.15 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.15" dependencies: @@ -205,7 +273,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.22.15": +"@babel/helper-member-expression-to-functions@npm:^7.22.15, @babel/helper-member-expression-to-functions@npm:^7.23.0": version: 7.23.0 resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0" dependencies: @@ -214,7 +282,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.22.15": +"@babel/helper-module-imports@npm:^7.22.15, @babel/helper-module-imports@npm:^7.22.5": version: 7.22.15 resolution: "@babel/helper-module-imports@npm:7.22.15" dependencies: @@ -223,9 +291,9 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/helper-module-transforms@npm:7.23.3" +"@babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-module-transforms@npm:7.23.0" dependencies: "@babel/helper-environment-visitor": "npm:^7.22.20" "@babel/helper-module-imports": "npm:^7.22.15" @@ -234,7 +302,7 @@ __metadata: "@babel/helper-validator-identifier": "npm:^7.22.20" peerDependencies: "@babel/core": ^7.0.0 - checksum: 211e1399d0c4993671e8e5c2b25383f08bee40004ace5404ed4065f0e9258cc85d99c1b82fd456c030ce5cfd4d8f310355b54ef35de9924eabfc3dff1331d946 + checksum: 15a52e401bd17fe44ba9be51cca693a3e182dc93264dc28ede732081c43211741df81ce8eb15e82e81c8ad51beb8893301ecc31d5c77add0f7be78dff6815318 languageName: node linkType: hard @@ -254,7 +322,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.22.20": +"@babel/helper-remap-async-to-generator@npm:^7.22.20, @babel/helper-remap-async-to-generator@npm:^7.22.5": version: 7.22.20 resolution: "@babel/helper-remap-async-to-generator@npm:7.22.20" dependencies: @@ -267,7 +335,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.22.20, @babel/helper-replace-supers@npm:^7.22.9": +"@babel/helper-replace-supers@npm:^7.22.20, @babel/helper-replace-supers@npm:^7.22.5, @babel/helper-replace-supers@npm:^7.22.9": version: 7.22.20 resolution: "@babel/helper-replace-supers@npm:7.22.20" dependencies: @@ -307,6 +375,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-string-parser@npm:7.22.5" + checksum: 6b0ff8af724377ec41e5587fffa7605198da74cb8e7d8d48a36826df0c0ba210eb9fedb3d9bef4d541156e0bd11040f021945a6cbb731ccec4aefb4affa17aa4 + languageName: node + linkType: hard + "@babel/helper-string-parser@npm:^7.23.4": version: 7.23.4 resolution: "@babel/helper-string-parser@npm:7.23.4" @@ -321,10 +396,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-validator-option@npm:7.22.15" - checksum: e9661bf80ba18e2dd978217b350fb07298e57ac417f4f1ab9fa011505e20e4857f2c3b4b538473516a9dc03af5ce3a831e5ed973311c28326f4c330b6be981c2 +"@babel/helper-validator-option@npm:^7.22.15, @babel/helper-validator-option@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/helper-validator-option@npm:7.23.5" + checksum: af45d5c0defb292ba6fd38979e8f13d7da63f9623d8ab9ededc394f67eb45857d2601278d151ae9affb6e03d5d608485806cd45af08b4468a0515cf506510e94 languageName: node linkType: hard @@ -340,13 +415,13 @@ __metadata: linkType: hard "@babel/helpers@npm:^7.23.2": - version: 7.23.4 - resolution: "@babel/helpers@npm:7.23.4" + version: 7.23.2 + resolution: "@babel/helpers@npm:7.23.2" dependencies: "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.4" - "@babel/types": "npm:^7.23.4" - checksum: 6bb552b3de530f5eaae99f5410826b5877bae38ccd95cb5809c9a0cef99bcdb9f5db373309c1cf873f5d68927993515323985bac0ff1b811f2437f2e3ae994b8 + "@babel/traverse": "npm:^7.23.2" + "@babel/types": "npm:^7.23.0" + checksum: 3a6a939c5277a27486e7c626812f0643b35d1c053ac2eb66911f5ae6c0a4e4bcdd40750eba36b766b0ee8a753484287f50ae56232a5f8f2947116723e44b9e35 languageName: node linkType: hard @@ -361,7 +436,25 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.3, @babel/parser@npm:^7.23.4, @babel/parser@npm:^7.7.0": +"@babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.7.0": + version: 7.23.0 + resolution: "@babel/parser@npm:7.23.0" + bin: + parser: ./bin/babel-parser.js + checksum: ab4ea9360ed4ba3c728c5a9bf33035103ebde20a7e943c4ae1d42becb02a313d731d12a93c795c5a19777031e4022e64b92a52262eda902522a1a18649826283 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.23.3": + version: 7.23.5 + resolution: "@babel/parser@npm:7.23.5" + bin: + parser: ./bin/babel-parser.js + checksum: 3356aa90d7bafb4e2c7310e7c2c3d443c4be4db74913f088d3d577a1eb914ea4188e05fd50a47ce907a27b755c4400c4e3cbeee73dbeb37761f6ca85954f5a20 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.23.4": version: 7.23.4 resolution: "@babel/parser@npm:7.23.4" bin: @@ -370,54 +463,42 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.23.3" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.22.15" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0 - checksum: 356a4e9fc52d7ca761ce6857fc58e2295c2785d22565760e6a5680be86c6e5883ab86e0ba25ef572882c01713d3a31ae6cfa3e3222cdb95e6026671dab1fa415 + checksum: fb2288ac168e6670a77f73b92e835f7a579468435e81c9261729e9ba9c601ff22622bacd3e71eb190b135016a6fbab5d824501c7b91733dd379022a75163806c languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.23.3" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.22.15" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" - "@babel/plugin-transform-optional-chaining": "npm:^7.23.3" + "@babel/plugin-transform-optional-chaining": "npm:^7.22.15" peerDependencies: "@babel/core": ^7.13.0 - checksum: a8785f099d55ca71ed89815e0f3a636a80c16031f80934cfec17c928d096ee0798964733320c8b145ef36ba429c5e19d5107b06231e0ab6777cfb0f01adfdc23 - languageName: node - linkType: hard - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.23.3" - dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-plugin-utils": "npm:^7.22.5" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 0f43b74741d50e637ba4dcef2786621126fe4da6ccf4ee2e94423ee23f6a04ecd91d458e59764c43e4968be139e5197ee43be8a2fea2c09f0b202a3391e548cc + checksum: 46fb46af40446918d64530f544ea0104e274ccd8a16b8a8f6fa2e51a198af6ac2b620aaf8875f3427671f09717949a584c79fe20f521245214f50b8de56cd116 languageName: node linkType: hard "@babel/plugin-proposal-decorators@npm:^7.23.2": - version: 7.23.3 - resolution: "@babel/plugin-proposal-decorators@npm:7.23.3" + version: 7.23.2 + resolution: "@babel/plugin-proposal-decorators@npm:7.23.2" dependencies: "@babel/helper-create-class-features-plugin": "npm:^7.22.15" "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-replace-supers": "npm:^7.22.20" "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/plugin-syntax-decorators": "npm:^7.23.3" + "@babel/plugin-syntax-decorators": "npm:^7.22.10" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b32d0e197d7abbb84f78ab361f7cb6ce8b5f90e5a04bf3afb8d43b51653c3f47b0e9ba8d02a643de7390c408d3842e4017446b8cc8e8319695c92568646ba7ef + checksum: 0936f1ca4d0ead4b0092987c9c99f9ea16fc7378dba09dc799dc8d86671ca15d16c41103064858882911221c51239efca1ef63149913b83a2f663036bb51dccf languageName: node linkType: hard @@ -441,18 +522,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-bigint@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-properties@npm:^7.12.13, @babel/plugin-syntax-class-properties@npm:^7.8.3": +"@babel/plugin-syntax-class-properties@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" dependencies: @@ -474,7 +544,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-decorators@npm:^7.22.10, @babel/plugin-syntax-decorators@npm:^7.23.3": +"@babel/plugin-syntax-decorators@npm:^7.22.10": version: 7.23.3 resolution: "@babel/plugin-syntax-decorators@npm:7.23.3" dependencies: @@ -507,29 +577,29 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.23.3" +"@babel/plugin-syntax-import-assertions@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7db8b59f75667bada2293353bb66b9d5651a673b22c72f47da9f5c46e719142481601b745f9822212fd7522f92e26e8576af37116f85dae1b5e5967f80d0faab + checksum: b297d7c757c746ed0ef3496ad749ae2ce648ec73dae5184120b191c280e62da7dc104ee126bc0053dfece3ce198a5ee7dc1cbf4768860f666afef5dee84a7146 languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.23.3" +"@babel/plugin-syntax-import-attributes@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 99b40d33d79205a8e04bb5dea56fd72906ffc317513b20ca7319e7683e18fce8ea2eea5e9171056f92b979dc0ab1e31b2cb5171177a5ba61e05b54fe7850a606 + checksum: de0b104a82cb8ffdc29472177210936609b973665a2ad8ef26c078251d7c728fbd521119de4c417285408a8bae345b5da09cd4a4a3311619f71b9b2c64cce3fa languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.10.4, @babel/plugin-syntax-import-meta@npm:^7.8.3": +"@babel/plugin-syntax-import-meta@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" dependencies: @@ -551,7 +621,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.22.5, @babel/plugin-syntax-jsx@npm:^7.23.3, @babel/plugin-syntax-jsx@npm:^7.7.2": +"@babel/plugin-syntax-jsx@npm:^7.22.5": version: 7.23.3 resolution: "@babel/plugin-syntax-jsx@npm:7.23.3" dependencies: @@ -562,7 +632,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" dependencies: @@ -584,7 +654,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4, @babel/plugin-syntax-numeric-separator@npm:^7.8.3": +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" dependencies: @@ -639,7 +709,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.14.5, @babel/plugin-syntax-top-level-await@npm:^7.8.3": +"@babel/plugin-syntax-top-level-await@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: @@ -650,7 +720,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.22.5, @babel/plugin-syntax-typescript@npm:^7.23.3, @babel/plugin-syntax-typescript@npm:^7.7.2": +"@babel/plugin-syntax-typescript@npm:^7.22.5": version: 7.23.3 resolution: "@babel/plugin-syntax-typescript@npm:7.23.3" dependencies: @@ -673,20 +743,20 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.23.3" +"@babel/plugin-transform-arrow-functions@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b128315c058f5728d29b0b78723659b11de88247ea4d0388f0b935cddf60a80c40b9067acf45cbbe055bd796928faef152a09d9e4a0695465aca4394d9f109ca + checksum: 1b24d47ddac6ae2fe8c7fab9a020fdb6a556d17d8c5f189bb470ff2958a5437fe6441521fd3d850f4283a1131d7a0acf3e8ebe789f9077f54bab4e2e8c6df176 languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.4" +"@babel/plugin-transform-async-generator-functions@npm:^7.23.2": + version: 7.23.2 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.2" dependencies: "@babel/helper-environment-visitor": "npm:^7.22.20" "@babel/helper-plugin-utils": "npm:^7.22.5" @@ -694,46 +764,46 @@ __metadata: "@babel/plugin-syntax-async-generators": "npm:^7.8.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f2eef4de609975a3f7da7832576b5ffc93e43c80f87e1a99e886b0f8591096cfc4c37e2d5f52fdeaa2a9c09a25a59f3e621159abaca75d3193922a5c0e4cbe0c + checksum: 16d7bd5dbd67991ab320a46ada19a9a0c8364725603c731f152afc98ee8764dc738c93f081a7560906d265b78c376bccabf3e31b9f99071c8982a6f9c8e2ac45 languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.23.3" +"@babel/plugin-transform-async-to-generator@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.22.5" dependencies: - "@babel/helper-module-imports": "npm:^7.22.15" + "@babel/helper-module-imports": "npm:^7.22.5" "@babel/helper-plugin-utils": "npm:^7.22.5" - "@babel/helper-remap-async-to-generator": "npm:^7.22.20" + "@babel/helper-remap-async-to-generator": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: da3ffd413eef02a8e2cfee3e0bb0d5fc0fcb795c187bc14a5a8e8874cdbdc43bbf00089c587412d7752d97efc5967c3c18ff5398e3017b9a14a06126f017e7e9 + checksum: 2972f22c3a5a56a8b225f4fa1bbdbcf6e989e0da460d5f4e2280652b1433d7c68b6ddc0cc2affc4b59905835133a253a31c24c7ca1bebe1a2f28377d27b4ca1c languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.23.3" +"@babel/plugin-transform-block-scoped-functions@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 82c12a11277528184a979163de7189ceb00129f60dd930b0d5313454310bf71205f302fb2bf0430247161c8a22aaa9fb9eec1459f9f7468206422c191978fd59 + checksum: 21878d4f0040f5001c4a14e17759e80bf699cb883a497552fa882dbc05230b100e8572345654b091021d5c4227555ed2bf40c8d6ba16a54d81145abfe0022cf8 languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-block-scoping@npm:7.23.4" +"@babel/plugin-transform-block-scoping@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/plugin-transform-block-scoping@npm:7.23.0" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 83006804dddf980ab1bcd6d67bc381e24b58c776507c34f990468f820d0da71dba3697355ca4856532fa2eeb2a1e3e73c780f03760b5507a511cbedb0308e276 + checksum: f5d0822a4e2bb3a0b5172f01f8c107999b880f0e538a9c1bae3c7720e85d8d117a67167f5e8eba909e0ec3db67be3b30e7f5c83211dd4be5c7096222071571be languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.22.5, @babel/plugin-transform-class-properties@npm:^7.23.3": +"@babel/plugin-transform-class-properties@npm:^7.22.5": version: 7.23.3 resolution: "@babel/plugin-transform-class-properties@npm:7.23.3" dependencies: @@ -745,238 +815,238 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-class-static-block@npm:7.23.4" +"@babel/plugin-transform-class-static-block@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/plugin-transform-class-static-block@npm:7.22.11" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-create-class-features-plugin": "npm:^7.22.11" "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" peerDependencies: "@babel/core": ^7.12.0 - checksum: fdca96640ef29d8641a7f8de106f65f18871b38cc01c0f7b696d2b49c76b77816b30a812c08e759d06dd10b4d9b3af6b5e4ac22a2017a88c4077972224b77ab0 + checksum: 74c06f315dbeb101784682f89d6e40a46b243132b63f430ac9ee5781d3fedff57fc6bf7390aa2b19d44a9d7e49a1e70e572bdde1907480881204ef33163b9630 languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-classes@npm:7.23.3" +"@babel/plugin-transform-classes@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/plugin-transform-classes@npm:7.22.15" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.22.5" "@babel/helper-compilation-targets": "npm:^7.22.15" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-environment-visitor": "npm:^7.22.5" + "@babel/helper-function-name": "npm:^7.22.5" "@babel/helper-optimise-call-expression": "npm:^7.22.5" "@babel/helper-plugin-utils": "npm:^7.22.5" - "@babel/helper-replace-supers": "npm:^7.22.20" + "@babel/helper-replace-supers": "npm:^7.22.9" "@babel/helper-split-export-declaration": "npm:^7.22.6" globals: "npm:^11.1.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 88bfd332db0ba5cbfb8557a2ba5a7185151aebc9cfe3035b014aa6d795556acbe672bb8c78da3c9fd1d23f55a333d14b5daa127ef037f5ced5198b6d79a146d6 + checksum: c9342bcf41e0253d83d9f73c4f9d2c9f885c0412f58ebfe462d57579c8247b949cbb023f15383d18c89fe5d12b537633e2ca4ba906ce47238615bc679beafb55 languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-computed-properties@npm:7.23.3" +"@babel/plugin-transform-computed-properties@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-computed-properties@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" - "@babel/template": "npm:^7.22.15" + "@babel/template": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3ca8a006f8e652b58c21ecb84df1d01a73f0a96b1d216fd09a890b235dd90cb966b152b603b88f7e850ae238644b1636ce5c30b7c029c0934b43383932372e4a + checksum: 22ecea23c1635083f5473092c5fbca62cbf7a85764bcf3e704c850446d68fe946097f6001c4cbfc92b4aee27ed30b375773ee479f749293e41fdb8f1fb8fcb67 languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-destructuring@npm:7.23.3" +"@babel/plugin-transform-destructuring@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/plugin-transform-destructuring@npm:7.23.0" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 717e9a62c1b0c93c507f87b4eaf839ec08d3c3147f14d74ae240d8749488d9762a8b3950132be620a069bde70f4b3e4ee9867b226c973fcc40f3cdec975cde71 + checksum: 038505eabdde2e1bb3bb904e50292b263d61d35e18660f751e7753b5723e2a5a5903a493290d772c8598da98c2c904b7cf45552ad1c11636fcb78f60754abd53 languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.23.3" +"@babel/plugin-transform-dotall-regex@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.22.5" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5" "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6c89286d1277c2a63802a453c797c87c1203f89e4c25115f7b6620f5fce15d8c8d37af613222f6aa497aa98773577a6ec8752e79e13d59bc5429270677ea010b + checksum: e0d7b95380483ef563c13f7c0a2122f575c58708cfb56494d6265ebb31753cf46ee0b3f5126fa6bbea5af392b3a2da05bf1e028d0b2b4d1dc279edd67cf3c3d9 languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.23.3" +"@babel/plugin-transform-duplicate-keys@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7e2640e4e6adccd5e7b0615b6e9239d7c98363e21c52086ea13759dfa11cf7159b255fc5331c2de435639ea8eb6acefae115ae0d797a3d19d12587652f8052a5 + checksum: 82772fdcc1301358bc722c1316bea071ad0cd5893ca95b08e183748e044277a93ee90f9c641ac7873a00e4b31a8df7cf8c0981ca98d01becb4864a11b22c09d1 languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.23.4" +"@babel/plugin-transform-dynamic-import@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.22.11" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 19ae4a4a2ca86d35224734c41c48b2aa6a13139f3cfa1cbd18c0e65e461de8b65687dec7e52b7a72bb49db04465394c776aa1b13a2af5dc975b2a0cde3dcab67 + checksum: cf0dd2d3da42ae18ccfa54bef7c80bf26b3bcc48751fc38dd41ad47bc14cc76ca8ec692f39f8b1ef54b3f48eff8db79e6397e4653033bb3a64e433f3c3a43edf languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.23.3" +"@babel/plugin-transform-exponentiation-operator@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.22.5" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.22.15" + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.22.5" "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5c33ee6a1bdc52fcdf0807f445b27e3fbdce33008531885e65a699762327565fffbcfde8395be7f21bcb22d582e425eddae45650c986462bb84ba68f43687516 + checksum: e8832460cfc9e087561fa42a796bb4eb181e6983d6db85c6dcec15f98af4ae3d13fcab18a262252a43b075d79ac93aaa38d33022bc5a870d2760c6888ba5d211 languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.23.4" +"@babel/plugin-transform-export-namespace-from@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.22.11" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 38bf04f851e36240bbe83ace4169da626524f4107bfb91f05b4ad93a5fb6a36d5b3d30b8883c1ba575ccfc1bac7938e90ca2e3cb227f7b3f4a9424beec6fd4a7 + checksum: 2b65ddf9ab4cfa8ffc72983c689b99d9ce0fe74846c2e518a1955f703e1fe073d0865810959164800613c3235a29cf9cae3567a46bf9cb53a2384469d3913e85 languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-for-of@npm:7.23.3" +"@babel/plugin-transform-for-of@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/plugin-transform-for-of@npm:7.22.15" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8a36202cfee312ba80e509c7c2131e6773524e572b4dc64a8ee95bd912634fdeb5ea91c6c7747ee30e03562d0f0d333f88ed7dbb929b36b60b8d74189189e12f + checksum: 64182292f4be8cdf1fff06fe62ba110bf5e5dbb5d966d5e8871ef40a673cd934217da51b9f4a4ba303ca936be787f30e3d13a91fe410339de79e0fe9f0807e15 languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-function-name@npm:7.23.3" +"@babel/plugin-transform-function-name@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-function-name@npm:7.22.5" dependencies: - "@babel/helper-compilation-targets": "npm:^7.22.15" - "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-compilation-targets": "npm:^7.22.5" + "@babel/helper-function-name": "npm:^7.22.5" "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 89cb9747802118048115cf92a8f310752f02030549b26f008904990cbdc86c3d4a68e07ca3b5c46de8a46ed4df2cb576ac222c74c56de67253d2a3ddc2956083 + checksum: 206bdef2ff91c29a7d94c77778ad79f18bdb2cd6a30179449f2b95af04637cb68d96625dc673d9a0961b6b7088bd325bbed7540caf9aa8f69e5b003d6ba20456 languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-json-strings@npm:7.23.4" +"@babel/plugin-transform-json-strings@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/plugin-transform-json-strings@npm:7.22.11" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/plugin-syntax-json-strings": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 39e82223992a9ad857722ae051291935403852ad24b0dd64c645ca1c10517b6bf9822377d88643fed8b3e61a4e3f7e5ae41cf90eb07c40a786505d47d5970e54 + checksum: 90f46a99c4136187d16f30f1f5f51e479c919edb6f6b4ce43fe81fdae2c89a556a0a6f6f2ec7ea3de7014a504f6df2220e3bc19dd7011f76bd275c195842f886 languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-literals@npm:7.23.3" +"@babel/plugin-transform-literals@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-literals@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8292106b106201464c2bfdd5c014fe6a9ca1c0256eb0a8031deb20081e21906fe68b156186f77d993c23eeab6d8d6f5f66e8895eec7ed97ce6de5dbcafbcd7f4 + checksum: 1003d0cf98e9ae432889bcf5f3d5f7d463f777fc2c74b0d4a1a93b51e83606c263a16146e34f0a06b291300aa5f2001d6e8bf65ed1bf478ab071b714bf158aa5 languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.23.4" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.22.11" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 87b034dd13143904e405887e6125d76c27902563486efc66b7d9a9d8f9406b76c6ac42d7b37224014af5783d7edb465db0cdecd659fa3227baad0b3a6a35deff + checksum: 9810f7918514bd59579ccc0950b4f352569abb40959569d38931e57f11e6b9aa920bdef403ffd8cd5d4e0243e0bbf7a1ebb445f3428c8b7a2421568ff2f681be languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.23.3" +"@babel/plugin-transform-member-expression-literals@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 687f24f3ec60b627fef6e87b9e2770df77f76727b9d5f54fa4c84a495bb24eb4a20f1a6240fa22d339d45aac5eaeb1b39882e941bfd00cf498f9c53478d1ec88 + checksum: 731a341b17511809ae435b64822d4d093e86fd928b572028e6742bdfba271c57070860b0f3da080a76c5574d58c4f369fac3f7bf0f450b37920c0fc6fe27bb4e languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-modules-amd@npm:7.23.3" +"@babel/plugin-transform-modules-amd@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/plugin-transform-modules-amd@npm:7.23.0" dependencies: - "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-module-transforms": "npm:^7.23.0" "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9f7ec036f7cfc588833a4dd117a44813b64aa4c1fd5bfb6c78f60198c1d290938213090c93a46f97a68a2490fad909e21a82b2472e95da74d108c125df21c8d5 + checksum: dda02864029ff66955e21d19c3d245aad69792b75e748de1391403bc86c8e9720b4f320b0db8413a29c11ba63b168146cf849180b5677bc6a74bfd085d20376d languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.3" +"@babel/plugin-transform-modules-commonjs@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.0" dependencies: - "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-module-transforms": "npm:^7.23.0" "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-simple-access": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5c8840c5c9ecba39367ae17c973ed13dbc43234147b77ae780eec65010e2a9993c5d717721b23e8179f7cf49decdd325c509b241d69cfbf92aa647a1d8d5a37d + checksum: 1f015764c2e63445d46660e7a2eb9002c20def04daf98fa93c9dadb5bd55adbefefd1ccdc11bcafa5e2f04275939d2414482703bc35bc60d6ca2bf1f67b720e3 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.3" +"@babel/plugin-transform-modules-systemjs@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.0" dependencies: "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-module-transforms": "npm:^7.23.0" "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-validator-identifier": "npm:^7.22.20" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 0d55280a276510222c8896bf4e581acb84824aa5b14c824f7102242ad6bc5104aaffe5ab22fe4d27518f4ae2811bd59c36d0c0bfa695157f9cfce33f0517a069 + checksum: 04c5cef7d6921bb9c9073cea389289099124e78cd1e3b7e020e3c085d486b48efadd9a42c0c0d963a9b1c3d5465c3151229092ea719997e53427f36935c84178 languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-modules-umd@npm:7.23.3" +"@babel/plugin-transform-modules-umd@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-modules-umd@npm:7.22.5" dependencies: - "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-module-transforms": "npm:^7.22.5" "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f0d2f890a15b4367d0d8f160bed7062bdb145c728c24e9bfbc1211c7925aae5df72a88df3832c92dd2011927edfed4da1b1249e4c78402e893509316c0c2caa6 + checksum: f4a40e18986182a2b1be6af949aaff67a7d112af3d26bbd4319d05b50f323a62a10b32b5584148e4630bdffbd4d85b31c0d571fe4f601354898b837b87afca4c languageName: node linkType: hard @@ -992,149 +1062,149 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-new-target@npm:7.23.3" +"@babel/plugin-transform-new-target@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-new-target@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f489b9e1f17b42b2ba6312d58351e757cb23a8409f64f2bb6af4c09d015359588a5d68943b20756f141d0931a94431c782f3ed1225228a930a04b07be0c31b04 + checksum: 22ead0668bfd8db9166a4a47579d9f44726b59f21104561a6dd851156336741abdc5c576558e042c58c4b4fd577d3e29e4bd836021007f3381c33fe3c88dca19 languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.23.4" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.22.11" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bce490d22da5c87ff27fffaff6ad5a4d4979b8d7b72e30857f191e9c1e1824ba73bb8d7081166289369e388f94f0ce5383a593b1fc84d09464a062c75f824b0b + checksum: 328c0ebfbbc82256af00252fb795996b093f57b528a57afcb30843ca52d24a6d824029ad6d22f042f3af336bb4dc1963b4841c2ad774424b02d14ae7cfff2701 languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.23.4" +"@babel/plugin-transform-numeric-separator@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.22.11" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e34902da4f5588dc4812c92cb1f6a5e3e3647baf7b4623e30942f551bf1297621abec4e322ebfa50b320c987c0f34d9eb4355b3d289961d9035e2126e3119c12 + checksum: fcde065002948c9c39f853be99c38b02aa1a1eb453e70ab1a164feb250c1fcbf1edd38071e28ed8bde6840b8a394af8b291b2ab2d793f283872ba43f89cf6dd2 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.23.4" +"@babel/plugin-transform-object-rest-spread@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.22.15" dependencies: - "@babel/compat-data": "npm:^7.23.3" + "@babel/compat-data": "npm:^7.22.9" "@babel/helper-compilation-targets": "npm:^7.22.15" "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-transform-parameters": "npm:^7.23.3" + "@babel/plugin-transform-parameters": "npm:^7.22.15" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b56017992ffe7fcd1dd9a9da67c39995a141820316266bcf7d77dc912980d228ccbd3f36191d234f5cc389b09157b5d2a955e33e8fb368319534affd1c72b262 + checksum: c485084360607a4392227d8af461e0f313953a6088221826668f90e92df6e16da04e2b3424e283c2980586095430d1068ae6e549b828dfa3891e2d1a397bd034 languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-object-super@npm:7.23.3" +"@babel/plugin-transform-object-super@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-object-super@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" - "@babel/helper-replace-supers": "npm:^7.22.20" + "@babel/helper-replace-supers": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a6856fd8c0afbe5b3318c344d4d201d009f4051e2f6ff6237ff2660593e93c5997a58772b13d639077c3e29ced3440247b29c496cd77b13af1e7559a70009775 + checksum: 062a78ff897c095a71f0db577bd4e4654659d542cb9ef79ec0fda7873ee6fefe31a0cb8a6c2e307e16dacaae1f50d48572184a59e1235b8d9d9cb2f38c4259ce languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.23.4" +"@babel/plugin-transform-optional-catch-binding@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.22.11" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4ef61812af0e4928485e28301226ce61139a8b8cea9e9a919215ebec4891b9fea2eb7a83dc3090e2679b7d7b2c8653da601fbc297d2addc54a908b315173991e + checksum: 6a731f4fee93397634b088ef7de990c150ea1c29e2cf681b2520d9196888d79a4252cbcc497d9b0db0453160ea2267043036fee4ccea8964864ef1b55a40d76f languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.23.4" +"@babel/plugin-transform-optional-chaining@npm:^7.22.15, @babel/plugin-transform-optional-chaining@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.23.0" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 305b773c29ad61255b0e83ec1e92b2f7af6aa58be4cba1e3852bddaa14f7d2afd7b4438f41c28b179d6faac7eb8d4fb5530a17920294f25d459b8f84406bfbfb + checksum: 2bf605b908c75f8d7616e8be52e4656983f2b027032260fbf5279f28297a67a1a28ec3ed60cd5760537dbd08a021246b8092ce06fb2418884390230b807142b3 languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-parameters@npm:7.23.3" +"@babel/plugin-transform-parameters@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/plugin-transform-parameters@npm:7.22.15" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a8d4cbe0f6ba68d158f5b4215c63004fc37a1fdc539036eb388a9792017c8496ea970a1932ccb929308f61e53dc56676ed01d8df6f42bc0a85c7fd5ba82482b7 + checksum: 9b9faf55b20aea4755a66db75e1195f7a203b4cfeef0ed5ceb25d6364bbb7a5bd0b5c587489c37ab339c4e4e7275406d0db0c05c25aa731a3cf6b4cc51e97c8d languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-private-methods@npm:7.23.3" +"@babel/plugin-transform-private-methods@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-private-methods@npm:7.22.5" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-create-class-features-plugin": "npm:^7.22.5" "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 745a655edcd111b7f91882b921671ca0613079760d8c9befe336b8a9bc4ce6bb49c0c08941831c950afb1b225b4b2d3eaac8842e732db095b04db38efd8c34f4 + checksum: a62f2e47ca30f6b8043201483c5a505e3d54416e6ddfbe7cb696a1db853a4281b1fffee9f883fe26ac72ba02bba0db5832d69e02f2eb4746e9811b8779287cc1 languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.23.4" +"@babel/plugin-transform-private-property-in-object@npm:^7.22.11": + version: 7.22.11 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.22.11" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-create-class-features-plugin": "npm:^7.22.11" "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8d31b28f24204b4d13514cd3a8f3033abf575b1a6039759ddd6e1d82dd33ba7281f9bc85c9f38072a665d69bfa26dc40737eefaf9d397b024654a483d2357bf5 + checksum: ec1ed8cc5483b8661e2cf7c020ffefe2a85e793a353d580c4174686923e465cdfaf13fc344ebb2eead4a1dbecd49baba93e342a9de400a29abedb79dcc6745a2 languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-property-literals@npm:7.23.3" +"@babel/plugin-transform-property-literals@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-property-literals@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b2549f23f90cf276c2e3058c2225c3711c2ad1c417e336d3391199445a9776dd791b83be47b2b9a7ae374b40652d74b822387e31fa5267a37bf49c122e1a9747 + checksum: 8d25b7b01b5f487cfc1a296555273c1ddad45276f01039130f57eb9ab0fafa0560d10d972323071042e73ac3b8bab596543c9d1a877229624a52e6535084ea51 languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-react-display-name@npm:7.23.3" +"@babel/plugin-transform-react-display-name@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-react-display-name@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3aed142af7bd1aed1df2bdad91ed33ba1cdd5c3c67ce6eafba821ff72f129162a197ffb55f1eb1775af276abd5545934489a8257fef6c6665ddf253a4f39a939 + checksum: 41e0167ecd8e5281e427556146b1d3bee8652bcd0664be013f16ffeeb4d61b7ab0b1e59bcc2c923774f0d265f78012628d5277880f758f3675893226f9be012e languageName: node linkType: hard @@ -1150,191 +1220,190 @@ __metadata: linkType: hard "@babel/plugin-transform-react-jsx@npm:^7.22.15, @babel/plugin-transform-react-jsx@npm:^7.22.5": - version: 7.23.4 - resolution: "@babel/plugin-transform-react-jsx@npm:7.23.4" + version: 7.22.15 + resolution: "@babel/plugin-transform-react-jsx@npm:7.22.15" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.22.5" "@babel/helper-module-imports": "npm:^7.22.15" "@babel/helper-plugin-utils": "npm:^7.22.5" - "@babel/plugin-syntax-jsx": "npm:^7.23.3" - "@babel/types": "npm:^7.23.4" + "@babel/plugin-syntax-jsx": "npm:^7.22.5" + "@babel/types": "npm:^7.22.15" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8851b3adc515cd91bdb06ff3a23a0f81f0069cfef79dfb3fa744da4b7a82e3555ccb6324c4fa71ecf22508db13b9ff6a0ed96675f95fc87903b9fc6afb699580 + checksum: db37491e3eea5530521e177380312f308f01f806866fa0ce08d48fc5a8c9eaf9a954f778fa1ff477248afb72e916eb66ab3d35254bb6a8979f8b8e74a0fd8873 languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.23.3" +"@babel/plugin-transform-react-pure-annotations@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.22.5" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.22.5" "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 76287adeab656fb7f39243e5ab6a8c60069cf69fffeebd1566457d56cb2f966366a23bd755d3e369f4d0437459e3b76243df370caa7d7d2287a8560b66c53ca2 + checksum: 18db2e2346d79ebe4a3f85f51fa7757a63a09bc6da7f339e6ce9e7534de68b5165fe7d49ac363dee6ba3f81eb904d44bf9c13653331805f9b236a1d9fec7e018 languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-regenerator@npm:7.23.3" +"@babel/plugin-transform-regenerator@npm:^7.22.10": + version: 7.22.10 + resolution: "@babel/plugin-transform-regenerator@npm:7.22.10" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" regenerator-transform: "npm:^0.15.2" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3b0e989ae5db78894ee300b24e07fbcec490c39ab48629c519377581cf94e90308f4ddc10a8914edc9f403e2d3ac7a7ae0ae09003629d852da03e2ba846299c6 + checksum: b903bfc1e849ca956a981a199b4913c0998877b6ba759f6d64530c5106610f89a818d61471a9c1bdabb6d94ba4ba150febeb4d196f6a8e67fcdc44207bb8fef6 languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-reserved-words@npm:7.23.3" +"@babel/plugin-transform-reserved-words@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-reserved-words@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4e6d61f6c9757592661cfbd2c39c4f61551557b98cb5f0995ef10f5540f67e18dde8a42b09716d58943b6e4b7ef5c9bcf19902839e7328a4d49149e0fecdbfcd + checksum: 3ee861941b1d3f9e50f1bb97a2067f33c868b8cd5fd3419a610b2ad5f3afef5f9e4b3740d26a617dc1a9e169a33477821d96b6917c774ea87cac6790d341abbd languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.23.3" +"@babel/plugin-transform-shorthand-properties@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c423c66fec0b6503f50561741754c84366ef9e9818442c8881fbaa90cc363fd137084b9431cdc00ed2f1fd8c8a1a5982c4a7e1f2af3769db4caf2ac7ea55d4f0 + checksum: d2dd6b7033f536dd74569d7343bf3ca88c4bc12575e572a2c5446f42a1ebc8e69cec5e38fc0e63ac7c4a48b944a3225e4317d5db94287b9a5b381a5045c0cdb2 languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-spread@npm:7.23.3" +"@babel/plugin-transform-spread@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-spread@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a348e4ae47e4ceeceb760506ec7bf835ccc18a2cf70ec74ebfbe41bc172fa2412b05b7d1b86836f8aee375e41a04ff20486074778d0e2d19d668b33dc52e9dbb + checksum: f8896b00d69557a4aafb3f48b7db6fbaa8462588e733afc4eabfdf79b12a6aed7d20341d160d704205591f0a43d04971d391fa80328f61240d1edc918079a1b0 languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.23.3" +"@babel/plugin-transform-sticky-regex@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: cd15c407906b41e4b924ea151e455c11274dba050771ee7154ad88a1a274140ac5e84efc8d08c4379f2f0cec8a09e4a0a3b2a3a954ba6a67d9fb35df1c714c56 + checksum: 42d9295d357415b55c04967ff1cd124cdcbabf2635614f9ad4f8b372d9ae35f6c02bf7473a5418b91e75235960cb1e61493e2c0581cb55bf9719b0986bcd22a5 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-template-literals@npm:7.23.3" +"@babel/plugin-transform-template-literals@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-template-literals@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9b5f43788b9ffcb8f2b445a16b1aa40fcf23cb0446a4649445f098ec6b4cb751f243a535da623d59fefe48f4c40552f5621187a61811779076bab26863e3373d + checksum: 1fc597716edf9f5c7bc74e2fead4d7751467500486dd17092af90ccbd65c5fc4a1db2e9c86e9ed1a9f206f6a3403bbc07eab50b0c2b8e50f819b4118f2cf71ef languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.23.3" +"@babel/plugin-transform-typeof-symbol@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 50e81d84c6059878be2a0e41e0d790cab10882cfb8fa85e8c2665ccb0b3cd7233f49197f17427bc7c1b36c80e07076640ecf1b641888d78b9cb91bc16478d84a + checksum: 277084dd3e873d62541f683173c7cf33b8317f7714335b7e861cc5b4b76f09acbf532a4c9dfbcf7756d29bc07b94b48bd9356af478f424865a86c7d5798be7c0 languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.23.3": - version: 7.23.4 - resolution: "@babel/plugin-transform-typescript@npm:7.23.4" +"@babel/plugin-transform-typescript@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/plugin-transform-typescript@npm:7.22.15" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.22.5" "@babel/helper-create-class-features-plugin": "npm:^7.22.15" "@babel/helper-plugin-utils": "npm:^7.22.5" - "@babel/plugin-syntax-typescript": "npm:^7.23.3" + "@babel/plugin-syntax-typescript": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 657294f8e0d59fc2b765a230cd1635a575c2dee33aba45e8fc0fbe6ef86ffae007f8c9ca41665ac9629f49a922caf844d14b9a7990dddd2f64aee969d6fb14a4 + checksum: e6a110f5b70334c6a503c90855dde5660f479e48262c8338261aeb30c70eedcfe885265b788c89f5bef757d99ab6704ee22bb0d23579597bc9415cfa86607458 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.23.3" +"@babel/plugin-transform-unicode-escapes@npm:^7.22.10": + version: 7.22.10 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.22.10" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f1ed54742dc982666f471df5d087cfda9c6dbf7842bec2d0f7893ed359b142a38c0210358f297ab5c7a3e11ec0dfb0e523de2e2edf48b62f257aaadd5f068866 + checksum: 68425d56698650087faa33fe40adf8bde32efc1d05ce564f02b62526e7f5b2f4633278b0a10ee2e7e36fb89c79c3330c730d96b8a872acea4702c5645cee98f8 languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.23.3" +"@babel/plugin-transform-unicode-property-regex@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.22.5" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5" "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: dca5702d43fac70351623a12e4dfa454fd028a67498888522b644fd1a02534fabd440106897e886ebcc6ce6a39c58094ca29953b6f51bc67372aa8845a5ae49f + checksum: da424c1e99af0e920d21f7f121fb9503d0771597a4bd14130fb5f116407be29e9340c049d04733b3d8a132effe4f4585fe3cc9630ae3294a2df9199c8dfd7075 languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.23.3" +"@babel/plugin-transform-unicode-regex@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.22.5" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5" "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: df824dcca2f6e731f61d69103e87d5dd974d8a04e46e28684a4ba935ae633d876bded09b8db890fd72d0caf7b9638e2672b753671783613cc78d472951e2df8c + checksum: 4cfaf4bb724a5c55a6fb5b0ee6ebbeba78dc700b9bc0043715d4b37409d90b43c888735c613690a1ec0d8d8e41a500b9d3f0395aa9f55b174449c8407663684b languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.23.3" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.22.5" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5" "@babel/helper-plugin-utils": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0 - checksum: 30fe1d29af8395a867d40a63a250ca89072033d9bc7d4587eeebeaf4ad7f776aab83064321bfdb1d09d7e29a1d392852361f4f60a353f0f4d1a3b435dcbf256b + checksum: af37b468332db051f0aaa144adbfab39574e570f613e121b58a551e3cbb7083c9f8c32a83ba2641172a4065128052643468438c19ad098cd62b2d97140dc483e languageName: node linkType: hard "@babel/preset-env@npm:^7.23.2": - version: 7.23.3 - resolution: "@babel/preset-env@npm:7.23.3" + version: 7.23.2 + resolution: "@babel/preset-env@npm:7.23.2" dependencies: - "@babel/compat-data": "npm:^7.23.3" + "@babel/compat-data": "npm:^7.23.2" "@babel/helper-compilation-targets": "npm:^7.22.15" "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-validator-option": "npm:^7.22.15" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.23.3" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.23.3" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.23.3" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.22.15" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.22.15" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators": "npm:^7.8.4" "@babel/plugin-syntax-class-properties": "npm:^7.12.13" "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" - "@babel/plugin-syntax-import-assertions": "npm:^7.23.3" - "@babel/plugin-syntax-import-attributes": "npm:^7.23.3" + "@babel/plugin-syntax-import-assertions": "npm:^7.22.5" + "@babel/plugin-syntax-import-attributes": "npm:^7.22.5" "@babel/plugin-syntax-import-meta": "npm:^7.10.4" "@babel/plugin-syntax-json-strings": "npm:^7.8.3" "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" @@ -1346,55 +1415,56 @@ __metadata: "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.23.3" - "@babel/plugin-transform-async-generator-functions": "npm:^7.23.3" - "@babel/plugin-transform-async-to-generator": "npm:^7.23.3" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.23.3" - "@babel/plugin-transform-block-scoping": "npm:^7.23.3" - "@babel/plugin-transform-class-properties": "npm:^7.23.3" - "@babel/plugin-transform-class-static-block": "npm:^7.23.3" - "@babel/plugin-transform-classes": "npm:^7.23.3" - "@babel/plugin-transform-computed-properties": "npm:^7.23.3" - "@babel/plugin-transform-destructuring": "npm:^7.23.3" - "@babel/plugin-transform-dotall-regex": "npm:^7.23.3" - "@babel/plugin-transform-duplicate-keys": "npm:^7.23.3" - "@babel/plugin-transform-dynamic-import": "npm:^7.23.3" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.23.3" - "@babel/plugin-transform-export-namespace-from": "npm:^7.23.3" - "@babel/plugin-transform-for-of": "npm:^7.23.3" - "@babel/plugin-transform-function-name": "npm:^7.23.3" - "@babel/plugin-transform-json-strings": "npm:^7.23.3" - "@babel/plugin-transform-literals": "npm:^7.23.3" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.23.3" - "@babel/plugin-transform-member-expression-literals": "npm:^7.23.3" - "@babel/plugin-transform-modules-amd": "npm:^7.23.3" - "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3" - "@babel/plugin-transform-modules-systemjs": "npm:^7.23.3" - "@babel/plugin-transform-modules-umd": "npm:^7.23.3" + "@babel/plugin-transform-arrow-functions": "npm:^7.22.5" + "@babel/plugin-transform-async-generator-functions": "npm:^7.23.2" + "@babel/plugin-transform-async-to-generator": "npm:^7.22.5" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.22.5" + "@babel/plugin-transform-block-scoping": "npm:^7.23.0" + "@babel/plugin-transform-class-properties": "npm:^7.22.5" + "@babel/plugin-transform-class-static-block": "npm:^7.22.11" + "@babel/plugin-transform-classes": "npm:^7.22.15" + "@babel/plugin-transform-computed-properties": "npm:^7.22.5" + "@babel/plugin-transform-destructuring": "npm:^7.23.0" + "@babel/plugin-transform-dotall-regex": "npm:^7.22.5" + "@babel/plugin-transform-duplicate-keys": "npm:^7.22.5" + "@babel/plugin-transform-dynamic-import": "npm:^7.22.11" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.22.5" + "@babel/plugin-transform-export-namespace-from": "npm:^7.22.11" + "@babel/plugin-transform-for-of": "npm:^7.22.15" + "@babel/plugin-transform-function-name": "npm:^7.22.5" + "@babel/plugin-transform-json-strings": "npm:^7.22.11" + "@babel/plugin-transform-literals": "npm:^7.22.5" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.22.11" + "@babel/plugin-transform-member-expression-literals": "npm:^7.22.5" + "@babel/plugin-transform-modules-amd": "npm:^7.23.0" + "@babel/plugin-transform-modules-commonjs": "npm:^7.23.0" + "@babel/plugin-transform-modules-systemjs": "npm:^7.23.0" + "@babel/plugin-transform-modules-umd": "npm:^7.22.5" "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.22.5" - "@babel/plugin-transform-new-target": "npm:^7.23.3" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.23.3" - "@babel/plugin-transform-numeric-separator": "npm:^7.23.3" - "@babel/plugin-transform-object-rest-spread": "npm:^7.23.3" - "@babel/plugin-transform-object-super": "npm:^7.23.3" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.23.3" - "@babel/plugin-transform-optional-chaining": "npm:^7.23.3" - "@babel/plugin-transform-parameters": "npm:^7.23.3" - "@babel/plugin-transform-private-methods": "npm:^7.23.3" - "@babel/plugin-transform-private-property-in-object": "npm:^7.23.3" - "@babel/plugin-transform-property-literals": "npm:^7.23.3" - "@babel/plugin-transform-regenerator": "npm:^7.23.3" - "@babel/plugin-transform-reserved-words": "npm:^7.23.3" - "@babel/plugin-transform-shorthand-properties": "npm:^7.23.3" - "@babel/plugin-transform-spread": "npm:^7.23.3" - "@babel/plugin-transform-sticky-regex": "npm:^7.23.3" - "@babel/plugin-transform-template-literals": "npm:^7.23.3" - "@babel/plugin-transform-typeof-symbol": "npm:^7.23.3" - "@babel/plugin-transform-unicode-escapes": "npm:^7.23.3" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.23.3" - "@babel/plugin-transform-unicode-regex": "npm:^7.23.3" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.23.3" + "@babel/plugin-transform-new-target": "npm:^7.22.5" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.22.11" + "@babel/plugin-transform-numeric-separator": "npm:^7.22.11" + "@babel/plugin-transform-object-rest-spread": "npm:^7.22.15" + "@babel/plugin-transform-object-super": "npm:^7.22.5" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.22.11" + "@babel/plugin-transform-optional-chaining": "npm:^7.23.0" + "@babel/plugin-transform-parameters": "npm:^7.22.15" + "@babel/plugin-transform-private-methods": "npm:^7.22.5" + "@babel/plugin-transform-private-property-in-object": "npm:^7.22.11" + "@babel/plugin-transform-property-literals": "npm:^7.22.5" + "@babel/plugin-transform-regenerator": "npm:^7.22.10" + "@babel/plugin-transform-reserved-words": "npm:^7.22.5" + "@babel/plugin-transform-shorthand-properties": "npm:^7.22.5" + "@babel/plugin-transform-spread": "npm:^7.22.5" + "@babel/plugin-transform-sticky-regex": "npm:^7.22.5" + "@babel/plugin-transform-template-literals": "npm:^7.22.5" + "@babel/plugin-transform-typeof-symbol": "npm:^7.22.5" + "@babel/plugin-transform-unicode-escapes": "npm:^7.22.10" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.22.5" + "@babel/plugin-transform-unicode-regex": "npm:^7.22.5" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.22.5" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + "@babel/types": "npm:^7.23.0" babel-plugin-polyfill-corejs2: "npm:^0.4.6" babel-plugin-polyfill-corejs3: "npm:^0.8.5" babel-plugin-polyfill-regenerator: "npm:^0.5.3" @@ -1402,7 +1472,7 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 36b02a86817ab5474bb74a8d62a110723b0b05904a52ddc5627cf89457525b8d5ac0739b8e435a6ae12ef8b90cd5fc191169898c3dc2ac9d2c84026b02f2580a + checksum: b5912f09dc92a8f6b93420f3274499e30255af6dbe5673075a30a5bfead1a651e5eb362c6b95e3ba48c6e6bd4e38b7a5aceebba99997ec7c83833e2e6af9abde languageName: node linkType: hard @@ -1420,33 +1490,33 @@ __metadata: linkType: hard "@babel/preset-react@npm:^7.22.15": - version: 7.23.3 - resolution: "@babel/preset-react@npm:7.23.3" + version: 7.22.15 + resolution: "@babel/preset-react@npm:7.22.15" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-validator-option": "npm:^7.22.15" - "@babel/plugin-transform-react-display-name": "npm:^7.23.3" + "@babel/plugin-transform-react-display-name": "npm:^7.22.5" "@babel/plugin-transform-react-jsx": "npm:^7.22.15" "@babel/plugin-transform-react-jsx-development": "npm:^7.22.5" - "@babel/plugin-transform-react-pure-annotations": "npm:^7.23.3" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.22.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: cecb2493e09fd4ffa5effcef1d06e968386b1bfe077a99834f7e8ef249208274fca62fe5a6b3986ef1c1c3900b2eb409adb528ae1b73dba31397b16f9262e83c + checksum: 80940aa494292b7f689d902b76828cb3ab4eaf4e6421107f23388b6ea7316ab25ccd817b766fde5c40787fd92f1cba1f660190bfd71965c902e49b42c9e290c2 languageName: node linkType: hard "@babel/preset-typescript@npm:^7.23.2": - version: 7.23.3 - resolution: "@babel/preset-typescript@npm:7.23.3" + version: 7.23.2 + resolution: "@babel/preset-typescript@npm:7.23.2" dependencies: "@babel/helper-plugin-utils": "npm:^7.22.5" "@babel/helper-validator-option": "npm:^7.22.15" - "@babel/plugin-syntax-jsx": "npm:^7.23.3" - "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3" - "@babel/plugin-transform-typescript": "npm:^7.23.3" + "@babel/plugin-syntax-jsx": "npm:^7.22.5" + "@babel/plugin-transform-modules-commonjs": "npm:^7.23.0" + "@babel/plugin-transform-typescript": "npm:^7.22.15" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e72b654c7f0f08b35d7e1c0e3a59c0c13037f295c425760b8b148aa7dde01e6ddd982efc525710f997a1494fafdd55cb525738c016609e7e4d703d02014152b7 + checksum: 40eb71e9959d97a0c2e89fe5cf4c9db7edea5b103618d4c4b5cc7a41dd8c66ab1b1922c443607427000d7bb63e135e8c5f268f35426b2ba00ce53f75bf3b0f8b languageName: node linkType: hard @@ -1457,16 +1527,16 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2": - version: 7.23.4 - resolution: "@babel/runtime@npm:7.23.4" +"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2": + version: 7.23.2 + resolution: "@babel/runtime@npm:7.23.2" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: db2bf183cd0119599b903ca51ca0aeea8e0ab478a16be1aae10dd90473ed614159d3e5adfdd8f8f3d840402428ce0d90b5c01aae95da9e45a2dd83e02d85ca27 + checksum: 271fcfad8574269d9967b8a1c03f2e1eab108a52ad7c96ed136eee0b11f46156f1186637bd5e79a4207163db9a00413cd70a6428e137b982d0ee8ab85eb9f438 languageName: node linkType: hard -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5": version: 7.22.15 resolution: "@babel/template@npm:7.22.15" dependencies: @@ -1477,7 +1547,25 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.23.3, @babel/traverse@npm:^7.23.4, @babel/traverse@npm:^7.7.0": +"@babel/traverse@npm:^7.23.2": + version: 7.23.2 + resolution: "@babel/traverse@npm:7.23.2" + dependencies: + "@babel/code-frame": "npm:^7.22.13" + "@babel/generator": "npm:^7.23.0" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-hoist-variables": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/parser": "npm:^7.23.0" + "@babel/types": "npm:^7.23.0" + debug: "npm:^4.1.0" + globals: "npm:^11.1.0" + checksum: d096c7c4bab9262a2f658298a3c630ae4a15a10755bb257ae91d5ab3e3b2877438934859c8d34018b7727379fe6b26c4fa2efc81cf4c462a7fe00caf79fa02ff + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.7.0": version: 7.23.4 resolution: "@babel/traverse@npm:7.23.4" dependencies: @@ -1495,7 +1583,29 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.3, @babel/types@npm:^7.23.4, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.7.0, @babel/types@npm:^7.8.3": +"@babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.7.0, @babel/types@npm:^7.8.3": + version: 7.23.0 + resolution: "@babel/types@npm:7.23.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.22.5" + "@babel/helper-validator-identifier": "npm:^7.22.20" + to-fast-properties: "npm:^2.0.0" + checksum: 70e4db41acb6793d0eb8d81a2fa88f19ee661219b84bd5f703dbdb54eb3a4d3c0dfc55e69034c945b479df9f43fd4b1376480aaccfc19797ce5af1c5d2576b36 + languageName: node + linkType: hard + +"@babel/types@npm:^7.23.3": + version: 7.23.5 + resolution: "@babel/types@npm:7.23.5" + dependencies: + "@babel/helper-string-parser": "npm:^7.23.4" + "@babel/helper-validator-identifier": "npm:^7.22.20" + to-fast-properties: "npm:^2.0.0" + checksum: 7dd5e2f59828ed046ad0b06b039df2524a8b728d204affb4fc08da2502b9dd3140b1356b5166515d229dc811539a8b70dcd4bc507e06d62a89f4091a38d0b0fb + languageName: node + linkType: hard + +"@babel/types@npm:^7.23.4": version: 7.23.4 resolution: "@babel/types@npm:7.23.4" dependencies: @@ -1513,48 +1623,10 @@ __metadata: languageName: node linkType: hard -"@emotion/css-prettifier@npm:^1.1.3": - version: 1.1.3 - resolution: "@emotion/css-prettifier@npm:1.1.3" - dependencies: - "@emotion/memoize": "npm:^0.8.1" - stylis: "npm:4.2.0" - checksum: 9ce3d7e5851054a24ca68cca4f6973de47d64567d03b6be730aa83f1cf9ae15e4da8c4611e68620e7b972f7a9fb7c36099fdf7e26b78589eb64f094fce46ce1b - languageName: node - linkType: hard - -"@emotion/jest@npm:^11.10.5": - version: 11.11.0 - resolution: "@emotion/jest@npm:11.11.0" - dependencies: - "@babel/runtime": "npm:^7.18.3" - "@emotion/css-prettifier": "npm:^1.1.3" - chalk: "npm:^4.1.0" - specificity: "npm:^0.4.1" - stylis: "npm:4.2.0" - peerDependencies: - "@types/jest": ^26.0.14 || ^27.0.0 || ^28.0.0 || ^29.0.0 - enzyme-to-json: ^3.2.1 - peerDependenciesMeta: - "@types/jest": - optional: true - enzyme-to-json: - optional: true - checksum: 919def636000234c4af8447a6cdf7f9675146bb020074fd06cf3c6eb42c365e727354ae79b2a7cdccb472d38da8ed8d6fd57f4235cab2e1b7605a2c6672a0fc5 - languageName: node - linkType: hard - -"@emotion/memoize@npm:^0.8.1": - version: 0.8.1 - resolution: "@emotion/memoize@npm:0.8.1" - checksum: dffed372fc3b9fa2ba411e76af22b6bb686fb0cb07694fdfaa6dd2baeb0d5e4968c1a7caa472bfcf06a5997d5e7c7d16b90e993f9a6ffae79a2c3dbdc76dfe78 - languageName: node - linkType: hard - -"@esbuild/android-arm64@npm:0.18.20": - version: 0.18.20 - resolution: "@esbuild/android-arm64@npm:0.18.20" - conditions: os=android & cpu=arm64 +"@esbuild/android-arm64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/android-arm64@npm:0.18.20" + conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -1740,17 +1812,17 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:8.54.0": - version: 8.54.0 - resolution: "@eslint/js@npm:8.54.0" - checksum: d61fb4a0be6af2d8cb290121c329697664a75d6255a29926d5454fb02aeb02b87112f67fdf218d10abac42f90c570ac366126751baefc5405d0e017ed0c946c5 +"@eslint/js@npm:8.53.0": + version: 8.53.0 + resolution: "@eslint/js@npm:8.53.0" + checksum: d29f6c207b2f6dc4ef174d16a3c07b0d3a17ca3d805680496ff267edd773e3bac41db4e7dcab622ca1970d892535bd19671e2a756d4eac75e96fd8c8dcdb619b languageName: node linkType: hard "@fastify/busboy@npm:^2.0.0": - version: 2.1.0 - resolution: "@fastify/busboy@npm:2.1.0" - checksum: 7bb641080aac7cf01d88749ad331af10ba9ec3713ec07cabbe833908c75df21bd56249bb6173bdec07f5a41896b21e3689316f86684c06635da45f91ff4565a2 + version: 2.0.0 + resolution: "@fastify/busboy@npm:2.0.0" + checksum: fdaedca865721769a3a8d788c9efd6af90e73b5f2ff0160dbf46a6160631bbe56e6e5770fafb9a6395111372c73fb2bfa8d4698edc98c6b1f7d97cc9b74e37ea languageName: node linkType: hard @@ -1928,19 +2000,6 @@ __metadata: languageName: node linkType: hard -"@istanbuljs/load-nyc-config@npm:^1.0.0": - version: 1.1.0 - resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" - dependencies: - camelcase: "npm:^5.3.1" - find-up: "npm:^4.1.0" - get-package-type: "npm:^0.1.0" - js-yaml: "npm:^3.13.1" - resolve-from: "npm:^5.0.0" - checksum: dd2a8b094887da5a1a2339543a4933d06db2e63cbbc2e288eb6431bd832065df0c099d091b6a67436e71b7d6bf85f01ce7c15f9253b4cbebcc3b9a496165ba42 - languageName: node - linkType: hard - "@istanbuljs/schema@npm:^0.1.2": version: 0.1.3 resolution: "@istanbuljs/schema@npm:0.1.3" @@ -1948,82 +2007,6 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/console@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 7be408781d0a6f657e969cbec13b540c329671819c2f57acfad0dae9dbfe2c9be859f38fe99b35dba9ff1536937dc6ddc69fdcd2794812fa3c647a1619797f6c - languageName: node - linkType: hard - -"@jest/core@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/core@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/reporters": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-changed-files: "npm:^29.7.0" - jest-config: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-resolve-dependencies: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-ansi: "npm:^6.0.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 934f7bf73190f029ac0f96662c85cd276ec460d407baf6b0dbaec2872e157db4d55a7ee0b1c43b18874602f662b37cb973dda469a4e6d88b4e4845b521adeeb2 - languageName: node - linkType: hard - -"@jest/create-cache-key-function@npm:^27.4.2": - version: 27.5.1 - resolution: "@jest/create-cache-key-function@npm:27.5.1" - dependencies: - "@jest/types": "npm:^27.5.1" - checksum: 1890ac93fad852e0a98c31de1e5f2c548974aefd36e838d27b70834dda1654a153ed6a52258447ebacfd47463e9bdb83750631bee827797c7b9973c083998a96 - languageName: node - linkType: hard - -"@jest/environment@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/environment@npm:29.7.0" - dependencies: - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - checksum: c7b1b40c618f8baf4d00609022d2afa086d9c6acc706f303a70bb4b67275868f620ad2e1a9efc5edd418906157337cce50589a627a6400bbdf117d351b91ef86 - languageName: node - linkType: hard - "@jest/expect-utils@npm:^29.7.0": version: 29.7.0 resolution: "@jest/expect-utils@npm:29.7.0" @@ -2033,79 +2016,6 @@ __metadata: languageName: node linkType: hard -"@jest/expect@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect@npm:29.7.0" - dependencies: - expect: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - checksum: b41f193fb697d3ced134349250aed6ccea075e48c4f803159db102b826a4e473397c68c31118259868fd69a5cba70e97e1c26d2c2ff716ca39dc73a2ccec037e - languageName: node - linkType: hard - -"@jest/fake-timers@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/fake-timers@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@sinonjs/fake-timers": "npm:^10.0.2" - "@types/node": "npm:*" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: cf0a8bcda801b28dc2e2b2ba36302200ee8104a45ad7a21e6c234148932f826cb3bc57c8df3b7b815aeea0861d7b6ca6f0d4778f93b9219398ef28749e03595c - languageName: node - linkType: hard - -"@jest/globals@npm:^29.3.1, @jest/globals@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/globals@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - jest-mock: "npm:^29.7.0" - checksum: a385c99396878fe6e4460c43bd7bb0a5cc52befb462cc6e7f2a3810f9e7bcce7cdeb51908fd530391ee452dc856c98baa2c5f5fa8a5b30b071d31ef7f6955cea - languageName: node - linkType: hard - -"@jest/reporters@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/reporters@npm:29.7.0" - dependencies: - "@bcoe/v8-coverage": "npm:^0.2.3" - "@jest/console": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - collect-v8-coverage: "npm:^1.0.0" - exit: "npm:^0.1.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - istanbul-lib-coverage: "npm:^3.0.0" - istanbul-lib-instrument: "npm:^6.0.0" - istanbul-lib-report: "npm:^3.0.0" - istanbul-lib-source-maps: "npm:^4.0.0" - istanbul-reports: "npm:^3.1.3" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - slash: "npm:^3.0.0" - string-length: "npm:^4.0.1" - strip-ansi: "npm:^6.0.0" - v8-to-istanbul: "npm:^9.0.1" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: a754402a799541c6e5aff2c8160562525e2a47e7d568f01ebfc4da66522de39cbb809bbb0a841c7052e4270d79214e70aec3c169e4eae42a03bc1a8a20cb9fa2 - languageName: node - linkType: hard - "@jest/schemas@npm:^28.1.3": version: 28.1.3 resolution: "@jest/schemas@npm:28.1.3" @@ -2124,64 +2034,6 @@ __metadata: languageName: node linkType: hard -"@jest/source-map@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/source-map@npm:29.6.3" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.18" - callsites: "npm:^3.0.0" - graceful-fs: "npm:^4.2.9" - checksum: a2f177081830a2e8ad3f2e29e20b63bd40bade294880b595acf2fc09ec74b6a9dd98f126a2baa2bf4941acd89b13a4ade5351b3885c224107083a0059b60a219 - languageName: node - linkType: hard - -"@jest/test-result@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-result@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - collect-v8-coverage: "npm:^1.0.0" - checksum: 7de54090e54a674ca173470b55dc1afdee994f2d70d185c80236003efd3fa2b753fff51ffcdda8e2890244c411fd2267529d42c4a50a8303755041ee493e6a04 - languageName: node - linkType: hard - -"@jest/test-sequencer@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-sequencer@npm:29.7.0" - dependencies: - "@jest/test-result": "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 593a8c4272797bb5628984486080cbf57aed09c7cfdc0a634e8c06c38c6bef329c46c0016e84555ee55d1cd1f381518cf1890990ff845524c1123720c8c1481b - languageName: node - linkType: hard - -"@jest/transform@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/transform@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - babel-plugin-istanbul: "npm:^6.1.1" - chalk: "npm:^4.0.0" - convert-source-map: "npm:^2.0.0" - fast-json-stable-stringify: "npm:^2.1.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pirates: "npm:^4.0.4" - slash: "npm:^3.0.0" - write-file-atomic: "npm:^4.0.2" - checksum: 7f4a7f73dcf45dfdf280c7aa283cbac7b6e5a904813c3a93ead7e55873761fc20d5c4f0191d2019004fac6f55f061c82eb3249c2901164ad80e362e7a7ede5a6 - languageName: node - linkType: hard - "@jest/types@npm:^27.5.1": version: 27.5.1 resolution: "@jest/types@npm:27.5.1" @@ -2234,14 +2086,14 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": version: 1.4.15 resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" checksum: 0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.20 resolution: "@jridgewell/trace-mapping@npm:0.3.20" dependencies: @@ -2564,12 +2416,13 @@ __metadata: linkType: hard "@octokit/endpoint@npm:^9.0.0": - version: 9.0.4 - resolution: "@octokit/endpoint@npm:9.0.4" + version: 9.0.2 + resolution: "@octokit/endpoint@npm:9.0.2" dependencies: "@octokit/types": "npm:^12.0.0" + is-plain-object: "npm:^5.0.0" universal-user-agent: "npm:^6.0.0" - checksum: f1c857c5d85afa9d7e8857f7f97dbec28d3b6ab1dc21fe35172f1bc9e5512c8a3a26edabf6b2d83bb60d700f7ad290c96be960496aa83606095630edfad06db4 + checksum: 325ad5f2f4aaba0ef90436809dad423faf5f373dac5754af050bd117e70b6ded3a370745dfa4c860a8aa8161bc31cd7706f4b647aef8602f23a355d0cfbe3907 languageName: node linkType: hard @@ -2610,9 +2463,9 @@ __metadata: linkType: hard "@octokit/openapi-types@npm:^19.0.2": - version: 19.1.0 - resolution: "@octokit/openapi-types@npm:19.1.0" - checksum: ae8081f52b797b91a12d4f6cddc475699c9d34b06645b337adc77d30b583d8fe8506597a45c42f8f1a96bfb2a9d092cee257d8a65d718bfeed23a0d153448eea + version: 19.0.2 + resolution: "@octokit/openapi-types@npm:19.0.2" + checksum: e003a3b7471edfa970911252c19ce9331d935699cc1e91a1e151316b585c3b2f5251bc5ba137b7e14aed8a9b3890fdf67edc5cc5af4805bf4b44f5869544e678 languageName: node linkType: hard @@ -2720,14 +2573,15 @@ __metadata: linkType: hard "@octokit/request@npm:^8.1.2": - version: 8.1.6 - resolution: "@octokit/request@npm:8.1.6" + version: 8.1.4 + resolution: "@octokit/request@npm:8.1.4" dependencies: "@octokit/endpoint": "npm:^9.0.0" "@octokit/request-error": "npm:^5.0.0" "@octokit/types": "npm:^12.0.0" + is-plain-object: "npm:^5.0.0" universal-user-agent: "npm:^6.0.0" - checksum: ef84418e0b1f28335c105bca2b1518b04797791761024d26f80f60a528cdcf468baf9897fd34f535c42af0643a598884f882bc832e68edbfe1ea530c2df563a4 + checksum: 384f06404136b4136940e454333bcfbbbec61efee6ecc2fcec2b38c13b34c7ab3868013b5a51cbe45ccfbac46a57b30c827024ecc6a88636f39aa38feca52339 languageName: node linkType: hard @@ -2756,11 +2610,11 @@ __metadata: linkType: hard "@octokit/types@npm:^12.0.0": - version: 12.3.0 - resolution: "@octokit/types@npm:12.3.0" + version: 12.1.1 + resolution: "@octokit/types@npm:12.1.1" dependencies: "@octokit/openapi-types": "npm:^19.0.2" - checksum: 083f33d8df492ef4029b94b1b5ac5ac422bc5787fe6c086d4738007f207e2b8fa523a1397ecc902d808ba235ec7bf7e38f4659cae177d40002e43eadf3b6f3d8 + checksum: 9c72d969b2c2c7ff03d285636c4cad43ddc55e540ff7a1a75279095219a27c629b5a753cc186aba65f645fa6be52eeb873d070bae0dc8180bdb48f3155bed574 languageName: node linkType: hard @@ -2807,6 +2661,90 @@ __metadata: languageName: node linkType: hard +"@rollup/rollup-android-arm-eabi@npm:4.3.0": + version: 4.3.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.3.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.3.0": + version: 4.3.0 + resolution: "@rollup/rollup-android-arm64@npm:4.3.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.3.0": + version: 4.3.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.3.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.3.0": + version: 4.3.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.3.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.3.0": + version: 4.3.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.3.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.3.0": + version: 4.3.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.3.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.3.0": + version: 4.3.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.3.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.3.0": + version: 4.3.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.3.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.3.0": + version: 4.3.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.3.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.3.0": + version: 4.3.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.3.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.3.0": + version: 4.3.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.3.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.3.0": + version: 4.3.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.3.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@sideway/address@npm:^4.1.3": version: 4.1.4 resolution: "@sideway/address@npm:4.1.4" @@ -2867,24 +2805,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/commons@npm:^3.0.0": - version: 3.0.0 - resolution: "@sinonjs/commons@npm:3.0.0" - dependencies: - type-detect: "npm:4.0.8" - checksum: 1df9cd257942f4e4960dfb9fd339d9e97b6a3da135f3d5b8646562918e863809cb8e00268535f4f4723535d2097881c8fc03d545c414d8555183376cfc54ee84 - languageName: node - linkType: hard - -"@sinonjs/fake-timers@npm:^10.0.2": - version: 10.3.0 - resolution: "@sinonjs/fake-timers@npm:10.3.0" - dependencies: - "@sinonjs/commons": "npm:^3.0.0" - checksum: 2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 - languageName: node - linkType: hard - "@storybook/csf@npm:^0.0.1": version: 0.0.1 resolution: "@storybook/csf@npm:0.0.1" @@ -2967,9 +2887,7 @@ __metadata: "@babel/preset-react": "npm:^7.22.15" "@babel/preset-typescript": "npm:^7.23.2" "@babel/types": "npm:^7.23.0" - "@emotion/jest": "npm:^11.10.5" "@google-cloud/bigquery": "npm:^6.2.0" - "@jest/globals": "npm:^29.3.1" "@nx/workspace": "npm:17.0.2" "@octokit/graphql": "npm:^5.0.5" "@octokit/request": "npm:^8.1.2" @@ -2977,8 +2895,6 @@ __metadata: "@storybook/jest": "npm:next" "@storybook/linter-config": "npm:^3.1.2" "@storybook/testing-library": "npm:next" - "@swc/core": "npm:^1.3.95" - "@swc/jest": "npm:^0.2.29" "@testing-library/dom": "npm:^9.3.0" "@testing-library/jest-dom": "npm:^5.11.9" "@testing-library/react": "npm:^14.0.0" @@ -3008,6 +2924,7 @@ __metadata: "@typescript-eslint/experimental-utils": "npm:^5.45.0" "@typescript-eslint/parser": "npm:^5.45.0" "@verdaccio/types": "npm:^10.2.0" + "@vitest/coverage-v8": "npm:^1.0.1" ansi-regex: "npm:^5.0.0" babel-eslint: "npm:^10.1.0" babel-loader: "npm:^9.1.2" @@ -3040,14 +2957,6 @@ __metadata: glob: "npm:^10.0.0" http-server: "npm:^14.1.1" husky: "npm:^4.3.7" - jest: "npm:^29.3.1" - jest-environment-jsdom: "npm:^29.3.1" - jest-junit: "npm:^14.0.1" - jest-mock-extended: "npm:^3.0.4" - jest-os-detection: "npm:^1.3.1" - jest-serializer-html: "npm:^7.1.0" - jest-watch-typeahead: "npm:^2.2.1" - jest_workaround: "npm:^0.79.19" json5: "npm:^2.2.3" junit-xml: "npm:^1.2.0" lint-staged: "npm:^10.5.4" @@ -3093,6 +3002,7 @@ __metadata: uuid: "npm:^9.0.0" verdaccio: "npm:^5.19.1" verdaccio-auth-memory: "npm:^10.2.0" + vitest: "npm:^1.0.1" wait-on: "npm:^7.0.1" window-size: "npm:^1.1.1" yaml: "npm:^2.3.1" @@ -3127,138 +3037,6 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.99": - version: 1.3.99 - resolution: "@swc/core-darwin-arm64@npm:1.3.99" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@swc/core-darwin-x64@npm:1.3.99": - version: 1.3.99 - resolution: "@swc/core-darwin-x64@npm:1.3.99" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@swc/core-linux-arm64-gnu@npm:1.3.99": - version: 1.3.99 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.99" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@swc/core-linux-arm64-musl@npm:1.3.99": - version: 1.3.99 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.99" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@swc/core-linux-x64-gnu@npm:1.3.99": - version: 1.3.99 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.99" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@swc/core-linux-x64-musl@npm:1.3.99": - version: 1.3.99 - resolution: "@swc/core-linux-x64-musl@npm:1.3.99" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@swc/core-win32-arm64-msvc@npm:1.3.99": - version: 1.3.99 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.99" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@swc/core-win32-ia32-msvc@npm:1.3.99": - version: 1.3.99 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.99" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@swc/core-win32-x64-msvc@npm:1.3.99": - version: 1.3.99 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.99" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@swc/core@npm:^1.3.95": - version: 1.3.99 - resolution: "@swc/core@npm:1.3.99" - dependencies: - "@swc/core-darwin-arm64": "npm:1.3.99" - "@swc/core-darwin-x64": "npm:1.3.99" - "@swc/core-linux-arm64-gnu": "npm:1.3.99" - "@swc/core-linux-arm64-musl": "npm:1.3.99" - "@swc/core-linux-x64-gnu": "npm:1.3.99" - "@swc/core-linux-x64-musl": "npm:1.3.99" - "@swc/core-win32-arm64-msvc": "npm:1.3.99" - "@swc/core-win32-ia32-msvc": "npm:1.3.99" - "@swc/core-win32-x64-msvc": "npm:1.3.99" - "@swc/counter": "npm:^0.1.1" - "@swc/types": "npm:^0.1.5" - peerDependencies: - "@swc/helpers": ^0.5.0 - dependenciesMeta: - "@swc/core-darwin-arm64": - optional: true - "@swc/core-darwin-x64": - optional: true - "@swc/core-linux-arm64-gnu": - optional: true - "@swc/core-linux-arm64-musl": - optional: true - "@swc/core-linux-x64-gnu": - optional: true - "@swc/core-linux-x64-musl": - optional: true - "@swc/core-win32-arm64-msvc": - optional: true - "@swc/core-win32-ia32-msvc": - optional: true - "@swc/core-win32-x64-msvc": - optional: true - peerDependenciesMeta: - "@swc/helpers": - optional: true - checksum: ff009b70e74f4f66deba7d8967196d32f374e94c8f4e44b077ff082f5adafd1268caed739040153bb79ca27114d0cca8795bce4af6fa986d645a3ff9acf24e4b - languageName: node - linkType: hard - -"@swc/counter@npm:^0.1.1": - version: 0.1.2 - resolution: "@swc/counter@npm:0.1.2" - checksum: 18be012107d4ba1f79776c48d83391ca2159103d7d31a59ff52fcc8024db51b71c5f46714a9fb73981739bc8a38dc6f385a046b71cc08f6043f3c47f5c409eab - languageName: node - linkType: hard - -"@swc/jest@npm:^0.2.29": - version: 0.2.29 - resolution: "@swc/jest@npm:0.2.29" - dependencies: - "@jest/create-cache-key-function": "npm:^27.4.2" - jsonc-parser: "npm:^3.2.0" - peerDependencies: - "@swc/core": "*" - checksum: 10f34341f9bc8003cec44f91a88b531ba44094aad97b2f8410fb2f94db9eb3b8fc7f6d14ba867eb9c1dc6ba29cc46058244b8280d673a7c681062fe0dc73c3f0 - languageName: node - linkType: hard - -"@swc/types@npm:^0.1.5": - version: 0.1.5 - resolution: "@swc/types@npm:0.1.5" - checksum: b35f93fe896a2240f6f10544e408f9648c2bd4bcff9bd8d022d9a6942d31cf859f86119fb0bbb04a12eefa1f6a6745ffc7d18f3a490d76d7b6a074a7c9608144 - languageName: node - linkType: hard - "@szmarczak/http-timer@npm:^4.0.5": version: 4.0.6 resolution: "@szmarczak/http-timer@npm:4.0.6" @@ -3302,8 +3080,8 @@ __metadata: linkType: hard "@testing-library/react@npm:^14.0.0": - version: 14.1.2 - resolution: "@testing-library/react@npm:14.1.2" + version: 14.0.0 + resolution: "@testing-library/react@npm:14.0.0" dependencies: "@babel/runtime": "npm:^7.12.5" "@testing-library/dom": "npm:^9.0.0" @@ -3311,7 +3089,7 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: b5b0990d3aa0ea8b37c55804e0d5d584fc638a5c7d4df90da9a0fdb00bc981b27b6991468b2dc719982a5d0b0107a41596063ce51ad519eeab47b22bc04d6779 + checksum: 81035913024faf18ba7e163418af517b2c3b85aef496fbd6334bda38f6f6dd4072678c6b76c41148b46b7fc846764f875e1156cbfc7643ffa1b62ee069d78951 languageName: node linkType: hard @@ -3339,60 +3117,19 @@ __metadata: linkType: hard "@types/aria-query@npm:^5.0.1": - version: 5.0.4 - resolution: "@types/aria-query@npm:5.0.4" - checksum: dc667bc6a3acc7bba2bccf8c23d56cb1f2f4defaa704cfef595437107efaa972d3b3db9ec1d66bc2711bfc35086821edd32c302bffab36f2e79b97f312069f08 - languageName: node - linkType: hard - -"@types/babel__core@npm:^7.1.14": - version: 7.20.5 - resolution: "@types/babel__core@npm:7.20.5" - dependencies: - "@babel/parser": "npm:^7.20.7" - "@babel/types": "npm:^7.20.7" - "@types/babel__generator": "npm:*" - "@types/babel__template": "npm:*" - "@types/babel__traverse": "npm:*" - checksum: bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff - languageName: node - linkType: hard - -"@types/babel__generator@npm:*": - version: 7.6.7 - resolution: "@types/babel__generator@npm:7.6.7" - dependencies: - "@babel/types": "npm:^7.0.0" - checksum: 2427203864ef231857e102eeb32b731a419164863983119cdd4dac9f1503c2831eb4262d05ade95d4574aa410b94c16e54e36a616758452f685a34881f4596d9 - languageName: node - linkType: hard - -"@types/babel__template@npm:*": - version: 7.4.4 - resolution: "@types/babel__template@npm:7.4.4" - dependencies: - "@babel/parser": "npm:^7.1.0" - "@babel/types": "npm:^7.0.0" - checksum: cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b - languageName: node - linkType: hard - -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.20.4 - resolution: "@types/babel__traverse@npm:7.20.4" - dependencies: - "@babel/types": "npm:^7.20.7" - checksum: e76cb4974c7740fd61311152dc497e7b05c1c46ba554aab875544ab0a7457f343cafcad34ba8fb2ff543ab0e012ef2d3fa0c13f1a4e9a4cd9c4c703c7a2a8d62 + version: 5.0.3 + resolution: "@types/aria-query@npm:5.0.3" + checksum: 5b82fab31fc6a1d51d36a1f7a91fd78dfbb4c47c6c8da65c712d8d3bf24208e81f26850763ced7e671b54a5c21252fbc15ebb74bed135faa0cfc4ee746375de4 languageName: node linkType: hard "@types/body-parser@npm:*": - version: 1.19.5 - resolution: "@types/body-parser@npm:1.19.5" + version: 1.19.4 + resolution: "@types/body-parser@npm:1.19.4" dependencies: "@types/connect": "npm:*" "@types/node": "npm:*" - checksum: aebeb200f25e8818d8cf39cd0209026750d77c9b85381cdd8deeb50913e4d18a1ebe4b74ca9b0b4d21952511eeaba5e9fbbf739b52731a2061e206ec60d568df + checksum: bec2b8a97861a960ee415f7ab3c2aeb7f4d779fd364d27ddee46057897ea571735f1f854f5ee41682964315d4e3699f62427998b9c21851d773398ef535f0612 languageName: node linkType: hard @@ -3409,52 +3146,52 @@ __metadata: linkType: hard "@types/concat-stream@npm:^2.0.0": - version: 2.0.3 - resolution: "@types/concat-stream@npm:2.0.3" + version: 2.0.1 + resolution: "@types/concat-stream@npm:2.0.1" dependencies: "@types/node": "npm:*" - checksum: dd8bdf8061d275f30dc602e04c63ebc001d3a260e722c867916667a45f90fd22da62a2de0919a35f35969b84a14cb94c69d15bdb2c8a518ce8abf3a0e1a16e5d + checksum: 4d26b2979a049633ca6f4979a6718529c345e00323e989398d48de8c931814c5c3c22a13e91c3582d4498863aec830c62f205e67b5d087a1e2e6c53ce6a0321d languageName: node linkType: hard "@types/connect@npm:*": - version: 3.4.38 - resolution: "@types/connect@npm:3.4.38" + version: 3.4.37 + resolution: "@types/connect@npm:3.4.37" dependencies: "@types/node": "npm:*" - checksum: 2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c + checksum: 79fd5c32a8bb5c9548369e6da3221b6a820f3a8c5396d50f6f642712b9f4c1c881ef86bdf48994a4a279e81998563410b8843c5a10dde5521d5ef6a8ae944c3b languageName: node linkType: hard "@types/cross-spawn@npm:^6.0.2": - version: 6.0.6 - resolution: "@types/cross-spawn@npm:6.0.6" + version: 6.0.4 + resolution: "@types/cross-spawn@npm:6.0.4" dependencies: "@types/node": "npm:*" - checksum: e3d476bb6b3a54a8934a97fe6ee4bd13e2e5eb29073929a4be76a52466602ffaea420b20774ffe8503f9fa24f3ae34817e95e7f625689fb0d1c10404f5b2889c + checksum: 33df54e348b634d27a80c0512ec6c7d85ddcff000f53e14b906ed86e307222e6fff4a39f894ff2eb5f3d4543105eb9ba1af138a96e4d30eb9c1a17130b936018 languageName: node linkType: hard "@types/debug@npm:^4.0.0": - version: 4.1.12 - resolution: "@types/debug@npm:4.1.12" + version: 4.1.10 + resolution: "@types/debug@npm:4.1.10" dependencies: "@types/ms": "npm:*" - checksum: 5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f + checksum: b3479ffdfd141809b165944d3b3bf3b6a70f95064228a4fa0ff470a25c8ab3f3db7b9f5be0a7460dc9d6fe3595bdb4cbc088c9102bd7afa596dba754f0585ead languageName: node linkType: hard "@types/detect-port@npm:^1.3.2": - version: 1.3.5 - resolution: "@types/detect-port@npm:1.3.5" - checksum: d8dd9d0e643106a2263f530b24ffdc3409d9391c50fc5e404018ba3633947aa3777db7fb094aeb0f49a13cc998aae8889747ad9edaa02b13a2de2385f37106ef + version: 1.3.4 + resolution: "@types/detect-port@npm:1.3.4" + checksum: 2e584440c32c7a12ca3e196a7be7606bb5d7837834745ec50d7b0a86ef37338cd1eae41510ffcc85c758adfedb75d93a01330e9f88e4fe4b07f6232472350eb7 languageName: node linkType: hard "@types/ejs@npm:^3.1.1": - version: 3.1.5 - resolution: "@types/ejs@npm:3.1.5" - checksum: 13d994cf0323d7e0ad33b9384914ccd3b4cd8bf282eced3649b1621b66ee7c784ac2d120a9d7b1f43d6f873518248fb8c3221b06a649b847860b9c2389a0b0ed + version: 3.1.4 + resolution: "@types/ejs@npm:3.1.4" + checksum: d4ff1ff9bc185ca05e9001c1a8ced415e2c9e281a464735d6c4e70d9611622fe217a699a4a3869c7748a29df6d13dc413200f8a6d1a9020b0ce5cb7a539ce6bd languageName: node linkType: hard @@ -3466,52 +3203,52 @@ __metadata: linkType: hard "@types/estree-jsx@npm:^1.0.0": - version: 1.0.3 - resolution: "@types/estree-jsx@npm:1.0.3" + version: 1.0.2 + resolution: "@types/estree-jsx@npm:1.0.2" dependencies: "@types/estree": "npm:*" - checksum: 41742a7b0874f63e61396d87a46d3ca531850a0e2cd7cec304339b8df439b6371d5e8758f34de9b5d9e940486ea21305b2f74cb420754838ecdfdaba918afc66 + checksum: 12ae4b0c2de8bd3b4fc303a2888af1e497db279b8a08c4170d25cc91394d61bb39b5476d5afd792099f6f1bebc8a5f59c3cf5a2716acf8ae7d3889e71cdb262e languageName: node linkType: hard "@types/estree@npm:*": - version: 1.0.5 - resolution: "@types/estree@npm:1.0.5" - checksum: b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d + version: 1.0.4 + resolution: "@types/estree@npm:1.0.4" + checksum: de2abd990fb9b36583ab25d6a5898938eac076cf3e47f11ffc8cf9e3fdca1245807e0f166b6bf0924c7dab0676cc314ca8f749679ee5ea8a45771466ded25dd1 languageName: node linkType: hard "@types/express-serve-static-core@npm:^4.17.33": - version: 4.17.41 - resolution: "@types/express-serve-static-core@npm:4.17.41" + version: 4.17.39 + resolution: "@types/express-serve-static-core@npm:4.17.39" dependencies: "@types/node": "npm:*" "@types/qs": "npm:*" "@types/range-parser": "npm:*" "@types/send": "npm:*" - checksum: dc166cbf4475c00a81fbcab120bf7477c527184be11ae149df7f26d9c1082114c68f8d387a2926fe80291b06477c8bbd9231ff4f5775de328e887695aefce269 + checksum: b23b005fddd2ba3f7142ec9713f06b5582c7712cdf99c3419d3972364903b348a103c3264d9a761d6497140e3b89bd416454684c4bdeff206b4c59b86e96428a languageName: node linkType: hard "@types/express@npm:^4.17.11": - version: 4.17.21 - resolution: "@types/express@npm:4.17.21" + version: 4.17.20 + resolution: "@types/express@npm:4.17.20" dependencies: "@types/body-parser": "npm:*" "@types/express-serve-static-core": "npm:^4.17.33" "@types/qs": "npm:*" "@types/serve-static": "npm:*" - checksum: 12e562c4571da50c7d239e117e688dc434db1bac8be55613294762f84fd77fbd0658ccd553c7d3ab02408f385bc93980992369dd30e2ecd2c68c358e6af8fabf + checksum: f73f5f92bd0a0fa4697598be3122c89522caa9e3bcb14c28b5e6d58a8e47f0301027478997153ae9ee4cf3d432576fb3fb0918ea0db521cc1204f8b759828a32 languageName: node linkType: hard "@types/fs-extra@npm:^11.0.1": - version: 11.0.4 - resolution: "@types/fs-extra@npm:11.0.4" + version: 11.0.3 + resolution: "@types/fs-extra@npm:11.0.3" dependencies: "@types/jsonfile": "npm:*" "@types/node": "npm:*" - checksum: 9e34f9b24ea464f3c0b18c3f8a82aefc36dc524cc720fc2b886e5465abc66486ff4e439ea3fb2c0acebf91f6d3f74e514f9983b1f02d4243706bdbb7511796ad + checksum: c3b83e6e88e0ef56de0a48b0df27a173a7e6d6a527e0e1b9692c61c186f5a4bfe0c6cb464ff02528165dd8d90acc6d09e2df1d138fdc6fae7680a73c6e714958 languageName: node linkType: hard @@ -3525,51 +3262,42 @@ __metadata: languageName: node linkType: hard -"@types/graceful-fs@npm:^4.1.3": - version: 4.1.9 - resolution: "@types/graceful-fs@npm:4.1.9" - dependencies: - "@types/node": "npm:*" - checksum: 235d2fc69741448e853333b7c3d1180a966dd2b8972c8cbcd6b2a0c6cd7f8d582ab2b8e58219dbc62cce8f1b40aa317ff78ea2201cdd8249da5025adebed6f0b - languageName: node - linkType: hard - "@types/hast@npm:^2.0.0": - version: 2.3.8 - resolution: "@types/hast@npm:2.3.8" + version: 2.3.7 + resolution: "@types/hast@npm:2.3.7" dependencies: "@types/unist": "npm:^2" - checksum: 0b358a65135922df8465f5daabed08602afc9098cf9065439f2fa46a5757d1630c88c4ad208b9ff0114bed95d468a75eeed49a099615096a9ad3bb1a85d8a3a1 + checksum: 3e3e9200297c5b1877be5757de13b6f144fc3fdc454f6f58e37807c2db49d648252495369f15bd2411af0926d67e6a466fb29d97f0b28421f89412eae53d13ff languageName: node linkType: hard "@types/http-cache-semantics@npm:*": - version: 4.0.4 - resolution: "@types/http-cache-semantics@npm:4.0.4" - checksum: 51b72568b4b2863e0fe8d6ce8aad72a784b7510d72dc866215642da51d84945a9459fa89f49ec48f1e9a1752e6a78e85a4cda0ded06b1c73e727610c925f9ce6 + version: 4.0.3 + resolution: "@types/http-cache-semantics@npm:4.0.3" + checksum: 46e8e4d9ff8d032f0a12d08fb7250fc67ede0d566f9a5b3d92384098fb46a3892d3ec377600a1d73ea8a67a979b882f7b9ff5e29524fb76b8e1c44a0dbe04ecf languageName: node linkType: hard "@types/http-errors@npm:*": - version: 2.0.4 - resolution: "@types/http-errors@npm:2.0.4" - checksum: 494670a57ad4062fee6c575047ad5782506dd35a6b9ed3894cea65830a94367bd84ba302eb3dde331871f6d70ca287bfedb1b2cf658e6132cd2cbd427ab56836 + version: 2.0.3 + resolution: "@types/http-errors@npm:2.0.3" + checksum: 717ce3e8f49a1facb7130fed934108fa8a51ab02089a1049c782e353e0e08e79bdfaac054c2a94db14ea400302e523276387363aa820eaf0031af8ba5d2941dc languageName: node linkType: hard "@types/http-server@npm:^0.12.1": - version: 0.12.4 - resolution: "@types/http-server@npm:0.12.4" + version: 0.12.3 + resolution: "@types/http-server@npm:0.12.3" dependencies: "@types/connect": "npm:*" - checksum: cb1eae5366c07b71886257f01e88e050f86e5b11af7bb40a6e27c4e63a4e15745477d9443869afa98af44564be64f1ceb0a0effce1f4c3e28f84c3b5a79ed99a + checksum: 52bceac903f2d074927a6555d06733039731817f213102f6e7dff50c15647814fbcb06359e40536ae6c800184fb54822bc92df6a570a1d9a4f2a97107fee223e languageName: node linkType: hard "@types/is-empty@npm:^1.0.0": - version: 1.2.3 - resolution: "@types/is-empty@npm:1.2.3" - checksum: 2ca9af27ce93cc0abe277178a69803e641d755152bf4fc415e1789451ff62f6e39cf15dbdc111d490171d757669937ad4789c7395af55f5e7d261f6bfe416974 + version: 1.2.2 + resolution: "@types/is-empty@npm:1.2.2" + checksum: 105a033ff25b4211456b378b95f289c022df7d814a00176b7cfe1a2e01626ffc3e0b2ce125fa1637ac174eeef721b74765bb258ef892ce3f480bd58a104e83a8 languageName: node linkType: hard @@ -3581,30 +3309,30 @@ __metadata: linkType: hard "@types/istanbul-lib-report@npm:*": - version: 3.0.3 - resolution: "@types/istanbul-lib-report@npm:3.0.3" + version: 3.0.2 + resolution: "@types/istanbul-lib-report@npm:3.0.2" dependencies: "@types/istanbul-lib-coverage": "npm:*" - checksum: 247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c + checksum: c168e425c95c167d83c7cbd65ff6b620cc53c5ef199a58428758586bbc28faf5c51291667e4455777b47ada12381e53fce7b92e32f431f85d8ac8025074d1908 languageName: node linkType: hard "@types/istanbul-reports@npm:^3.0.0": - version: 3.0.4 - resolution: "@types/istanbul-reports@npm:3.0.4" + version: 3.0.3 + resolution: "@types/istanbul-reports@npm:3.0.3" dependencies: "@types/istanbul-lib-report": "npm:*" - checksum: 1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee + checksum: dcd8291370d9192aa980bf849309a7ca27e1d030ccc5e7edeef47d6612c2d57d611855543b9ffeb982d162a5ab2a44d8b40baa4dc93c1d7aa6fbcaeb16e69e78 languageName: node linkType: hard "@types/jest@npm:*, @types/jest@npm:^29.5.5": - version: 29.5.10 - resolution: "@types/jest@npm:29.5.10" + version: 29.5.7 + resolution: "@types/jest@npm:29.5.7" dependencies: expect: "npm:^29.0.0" pretty-format: "npm:^29.0.0" - checksum: b46171d59d12a5f69bbe710f65eaf59a8073337c6b4a67dff8158575caec53f1c61f8a7d645b34d6ac3c4ea398acd30f0c5d1c4a131c0c918798019264a3397d + checksum: 231c873f3d1ddac973b8f8f2ad7760677d941d85fb52d1c5dc4a311bafba4c2c1658a1040fd7054a51f4d1841f51c6ca4cabf70675ee4fa9e10fc5b8066e1de1 languageName: node linkType: hard @@ -3618,21 +3346,10 @@ __metadata: languageName: node linkType: hard -"@types/jsdom@npm:^20.0.0": - version: 20.0.1 - resolution: "@types/jsdom@npm:20.0.1" - dependencies: - "@types/node": "npm:*" - "@types/tough-cookie": "npm:*" - parse5: "npm:^7.0.0" - checksum: 3d4b2a3eab145674ee6da482607c5e48977869109f0f62560bf91ae1a792c9e847ac7c6aaf243ed2e97333cb3c51aef314ffa54a19ef174b8f9592dfcb836b25 - languageName: node - linkType: hard - "@types/json-schema@npm:^7.0.9": - version: 7.0.15 - resolution: "@types/json-schema@npm:7.0.15" - checksum: a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + version: 7.0.14 + resolution: "@types/json-schema@npm:7.0.14" + checksum: da68689ccd44cb93ca4c9a4af3b25c6091ecf45fb370d1ed0d0ac5b780e235bf0b9bdc1f7e28f19e6713b22567c3db11fefcbcc6d48ac6b356d035a8f9f4ea30 languageName: node linkType: hard @@ -3644,11 +3361,11 @@ __metadata: linkType: hard "@types/jsonfile@npm:*": - version: 6.1.4 - resolution: "@types/jsonfile@npm:6.1.4" + version: 6.1.3 + resolution: "@types/jsonfile@npm:6.1.3" dependencies: "@types/node": "npm:*" - checksum: b12d068b021e4078f6ac4441353965769be87acf15326173e2aea9f3bf8ead41bd0ad29421df5bbeb0123ec3fc02eb0a734481d52903704a1454a1845896b9eb + checksum: 2f974e33d2e2aa3e8b04af77ece343c980d495a5ad3318d302a6aa8ba221806096f664353d0f70f1f83007831f15a3a1d3c8d48cd4039efb0880b02865d01175 languageName: node linkType: hard @@ -3662,32 +3379,32 @@ __metadata: linkType: hard "@types/lodash@npm:^4, @types/lodash@npm:^4.14.175": - version: 4.14.202 - resolution: "@types/lodash@npm:4.14.202" - checksum: 6064d43c8f454170841bd67c8266cc9069d9e570a72ca63f06bceb484cb4a3ee60c9c1f305c1b9e3a87826049fd41124b8ef265c4dd08b00f6766609c7fe9973 + version: 4.14.200 + resolution: "@types/lodash@npm:4.14.200" + checksum: 7a8dac6dc866f10d1888846d6189d1faeb4f65adb139f0837a005fd1adcde62e60d7e7abb1a2733d13fc57bebb337d74182d8ad3dbd1d211dcd0c310c47e81bc languageName: node linkType: hard "@types/mdast@npm:^3.0.0": - version: 3.0.15 - resolution: "@types/mdast@npm:3.0.15" + version: 3.0.14 + resolution: "@types/mdast@npm:3.0.14" dependencies: "@types/unist": "npm:^2" - checksum: fcbf716c03d1ed5465deca60862e9691414f9c43597c288c7d2aefbe274552e1bbd7aeee91b88a02597e88a28c139c57863d0126fcf8416a95fdc681d054ee3d + checksum: fbf69bef0eaa26bb2337c438a9c1d2a45ca74c1cc12b82f675853cb44907f2c3bf3387b58526deade3d665aa3fdf7fa4be066cc1ddfb5ccb4485d55aed4e0878 languageName: node linkType: hard "@types/mime@npm:*": - version: 3.0.4 - resolution: "@types/mime@npm:3.0.4" - checksum: db478bc0f99e40f7b3e01d356a9bdf7817060808a294978111340317bcd80ca35382855578c5b60fbc84ae449674bd9bb38427b18417e1f8f19e4f72f8b242cd + version: 3.0.3 + resolution: "@types/mime@npm:3.0.3" + checksum: cef99f8cdc42af9de698027c2a20ba5df12bc9a89dcf5513e70103ebb55e00c5f5c585d02411f4b42fde0e78488342f1b1d3e3546a59a3da42e95fdc616e01eb languageName: node linkType: hard "@types/mime@npm:^1": - version: 1.3.5 - resolution: "@types/mime@npm:1.3.5" - checksum: c2ee31cd9b993804df33a694d5aa3fa536511a49f2e06eeab0b484fef59b4483777dbb9e42a4198a0809ffbf698081fdbca1e5c2218b82b91603dfab10a10fbc + version: 1.3.4 + resolution: "@types/mime@npm:1.3.4" + checksum: a0a16d26c0e70a1b133e26e7c46b70b3136b7e894396bdb7de1c642f4ac87fdbbba26bf56cf73f001312289d89de4f1c06ab745d9445850df45a5a802564c4d6 languageName: node linkType: hard @@ -3699,51 +3416,51 @@ __metadata: linkType: hard "@types/ms@npm:*": - version: 0.7.34 - resolution: "@types/ms@npm:0.7.34" - checksum: ac80bd90012116ceb2d188fde62d96830ca847823e8ca71255616bc73991aa7d9f057b8bfab79e8ee44ffefb031ddd1bcce63ea82f9e66f7c31ec02d2d823ccc + version: 0.7.33 + resolution: "@types/ms@npm:0.7.33" + checksum: ef610d94ebee838243af37800cb5d1a52b2ae0fb6880675fbb9276c0c4afcefda755f16889fa597ee4e5b377998a7e67b453614aae68d3225e5f7219984284df languageName: node linkType: hard "@types/node-fetch@npm:^2.5.7": - version: 2.6.9 - resolution: "@types/node-fetch@npm:2.6.9" + version: 2.6.8 + resolution: "@types/node-fetch@npm:2.6.8" dependencies: "@types/node": "npm:*" form-data: "npm:^4.0.0" - checksum: b15b6d518ea4dd4a21cf328e9df0a88b2e5b76f3455ddfeb9063a3b97087c50b15ab195a869dadbbeb09d08dcc915557fb6a4f72b4fe79ee42e215fce3d9b0db + checksum: f572c3139a8f0840cff93c66ee667d1589b75850efa34376058c1cc00ead0e239b84442907c2972a3ca01406a73893424a7ce02acdd95d9b37f32430d235c5dc languageName: node linkType: hard "@types/node@npm:*, @types/node@npm:>= 8": - version: 20.10.0 - resolution: "@types/node@npm:20.10.0" + version: 20.8.10 + resolution: "@types/node@npm:20.8.10" dependencies: undici-types: "npm:~5.26.4" - checksum: f379e57d9d28cb5f3d8eab943de0c54a0ca2f95ee356e1fe2a1a4fa718b740103ae522c50ce107cffd52c3642ef3244cfc55bf5369081dd6c48369c8587b21ae + checksum: caaa3ae9294f1bfdacb029a916c64af63cbcea613a52f53ea86f93c91779859af177b2b68113ef835194519f5e76cadda08559929b68297f1a8a568c207f9f66 languageName: node linkType: hard "@types/node@npm:^18.0.0": - version: 18.18.13 - resolution: "@types/node@npm:18.18.13" + version: 18.18.8 + resolution: "@types/node@npm:18.18.8" dependencies: undici-types: "npm:~5.26.4" - checksum: 5f1840f26b4c00e6b4945be678644a46e6689ef10d9d7795d587b76059045b99a14ca6075264296e6e91d73e098fe83df9580881278d9a6ce394b368d9c76700 + checksum: 6a8592675bfc0895c0a3ed1b942344d56538c178c0acab8fcbaf069a6bdeef6f8a416d5aa297a8ced34232919caf7658a4dd4eabf33a9ae1a755eeef9ea8e681 languageName: node linkType: hard "@types/normalize-package-data@npm:^2.4.0": - version: 2.4.4 - resolution: "@types/normalize-package-data@npm:2.4.4" - checksum: aef7bb9b015883d6f4119c423dd28c4bdc17b0e8a0ccf112c78b4fe0e91fbc4af7c6204b04bba0e199a57d2f3fbbd5b4a14bf8739bf9d2a39b2a0aad545e0f86 + version: 2.4.3 + resolution: "@types/normalize-package-data@npm:2.4.3" + checksum: 9ad94568b53f65d0c7fffed61c74e4a7b8625b1ebbc549f1de25287c2d20e6bca9d9cdc5826e508c9d95e02a48ac69d0282121c300667071661f37090224416b languageName: node linkType: hard "@types/parse-json@npm:^4.0.0": - version: 4.0.2 - resolution: "@types/parse-json@npm:4.0.2" - checksum: b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1 + version: 4.0.1 + resolution: "@types/parse-json@npm:4.0.1" + checksum: 6851183c2ffe4aff607f034f6b5325ebc81ff90409132e2d59fe6cae030d7064593e521d75cda017d9f6b696a7e19d26d1703f366b3e7cbfec8c825331c79c31 languageName: node linkType: hard @@ -3755,9 +3472,9 @@ __metadata: linkType: hard "@types/pretty-hrtime@npm:^1.0.0": - version: 1.0.3 - resolution: "@types/pretty-hrtime@npm:1.0.3" - checksum: e4c22475c588be982b398dee9ac0b05b21078bc26581819290a4901c5b269bcaa04cae0e61e012d412e811b0897c9dab316db064208914df2f0ed0960fc5306b + version: 1.0.2 + resolution: "@types/pretty-hrtime@npm:1.0.2" + checksum: d32cf2ee8328d1ccb18af9a1eab47bfe4a8b6605b1cdb4f339aaf75c0c50018c2e9ac205ea18d700a0e5c17f57d21b8b040854f3dd93eeb2212aa3d52afbb1ee languageName: node linkType: hard @@ -3771,52 +3488,52 @@ __metadata: linkType: hard "@types/prop-types@npm:*": - version: 15.7.11 - resolution: "@types/prop-types@npm:15.7.11" - checksum: e53423cf9d510515ef8b47ff42f4f1b65a7b7b37c8704e2dbfcb9a60defe0c0e1f3cb1acfdeb466bad44ca938d7c79bffdd51b48ffb659df2432169d0b27a132 + version: 15.7.9 + resolution: "@types/prop-types@npm:15.7.9" + checksum: e2a7373b91a8eb30cb4e399ef5b3a14baa7d72eed1667ef5e3cb1e9400edfca9b60c20b845fefdcf7562773829f6ff60ba350b09f6313a8093e70c15b2b88f00 languageName: node linkType: hard "@types/qs@npm:*": - version: 6.9.10 - resolution: "@types/qs@npm:6.9.10" - checksum: 6be12e5f062d1b41eb037d59bf9cb65bc9410cedd5e6da832dfd7c8e2b3f4c91e81c9b90b51811140770e5052c6c4e8361181bd9437ddcd4515dc128b7c00353 + version: 6.9.9 + resolution: "@types/qs@npm:6.9.9" + checksum: aede2a4181a49ae8548a1354bac3f8235cb0c5aab066b10875a3e68e88a199e220f4284e7e2bb75a3c18e5d4ff6abe1a6ce0389ef31b63952cc45e0f4d885ba0 languageName: node linkType: hard "@types/range-parser@npm:*": - version: 1.2.7 - resolution: "@types/range-parser@npm:1.2.7" - checksum: 361bb3e964ec5133fa40644a0b942279ed5df1949f21321d77de79f48b728d39253e5ce0408c9c17e4e0fd95ca7899da36841686393b9f7a1e209916e9381a3c + version: 1.2.6 + resolution: "@types/range-parser@npm:1.2.6" + checksum: 46e7fffc54cdacc8fb0cd576f8f9a6436453f0176205d6ec55434a460c7677e78e688673426d5db5e480501b2943ba08a16ececa3a354c222093551c7217fb8f languageName: node linkType: hard "@types/react-dom@npm:^18.0.0, @types/react-dom@npm:^18.0.11": - version: 18.2.17 - resolution: "@types/react-dom@npm:18.2.17" + version: 18.2.14 + resolution: "@types/react-dom@npm:18.2.14" dependencies: "@types/react": "npm:*" - checksum: 33b53078ed7e9e0cfc4dc691e938f7db1cc06353bc345947b41b581c3efe2b980c9e4eb6460dbf5ddc521dd91959194c970221a2bd4bfad9d23ebce338e12938 + checksum: 1f79a7708d038cd651bdb21e01a99c594761bc9a40a565abe98958e1d27facfeb6e9824ddf6ae3504e7a56568f0f3da2380fe52ac18477b5864d2d5cf1386a9e languageName: node linkType: hard "@types/react@npm:*, @types/react@npm:^18.0.37": - version: 18.2.39 - resolution: "@types/react@npm:18.2.39" + version: 18.2.34 + resolution: "@types/react@npm:18.2.34" dependencies: "@types/prop-types": "npm:*" "@types/scheduler": "npm:*" csstype: "npm:^3.0.2" - checksum: e91a5419d7615ab4fcaa7cb3ad2bd372093676e86c082748ab36ac394d3ed560070482d092a5488f74d6b1d913369e4dabf6eb287debed4d70cd3eb7dc135542 + checksum: 42a357e3ec8943fe433f647e60e1506ec7657e12a72847ca801f97a128778dff6011e57ae2eb53f6363cf4515cab60f6a47eca2f916bab27a85bd88c94ab72d3 languageName: node linkType: hard "@types/responselike@npm:^1.0.0": - version: 1.0.3 - resolution: "@types/responselike@npm:1.0.3" + version: 1.0.2 + resolution: "@types/responselike@npm:1.0.2" dependencies: "@types/node": "npm:*" - checksum: a58ba341cb9e7d74f71810a88862da7b2a6fa42e2a1fc0ce40498f6ea1d44382f0640117057da779f74c47039f7166bf48fad02dc876f94e005c7afa50f5e129 + checksum: 57bbb8753a38c4b6361ca920a73139acd6518565b57cb7a70b6ed58a57dbc565adba0cdd35f68bd49122745eb3b0ea80574a8696bee67e964c40c340f69fd0e2 languageName: node linkType: hard @@ -3828,51 +3545,51 @@ __metadata: linkType: hard "@types/scheduler@npm:*": - version: 0.16.8 - resolution: "@types/scheduler@npm:0.16.8" - checksum: f86de504945b8fc41b1f391f847444d542e2e4067cf7e5d9bfeb5d2d2393d3203b1161bc0ef3b1e104d828dabfb60baf06e8d2c27e27ff7e8258e6e618d8c4ec + version: 0.16.5 + resolution: "@types/scheduler@npm:0.16.5" + checksum: 625b63cd5dcaf6fb88fe03aa7c797f28cb121f03584126d4811b2d03f39bc3e238ce52cf7685ad8adfe8445d679934e6be47347723a6771ca2058c01f0c33760 languageName: node linkType: hard "@types/semver@npm:^7.3.12, @types/semver@npm:^7.3.4": - version: 7.5.6 - resolution: "@types/semver@npm:7.5.6" - checksum: 196dc32db5f68cbcde2e6a42bb4aa5cbb100fa2b7bd9c8c82faaaf3e03fbe063e205dbb4f03c7cdf53da2edb70a0d34c9f2e601b54281b377eb8dc1743226acd + version: 7.5.4 + resolution: "@types/semver@npm:7.5.4" + checksum: dee66a71d9f089c118be74b5937d4fef42864d68d9472a3f4f5399b9e3ad74d56a8e155020c846667b9ecf9de78fdb9ea55a53fff5067af28e06779b282b6c40 languageName: node linkType: hard "@types/send@npm:*": - version: 0.17.4 - resolution: "@types/send@npm:0.17.4" + version: 0.17.3 + resolution: "@types/send@npm:0.17.3" dependencies: "@types/mime": "npm:^1" "@types/node": "npm:*" - checksum: 7f17fa696cb83be0a104b04b424fdedc7eaba1c9a34b06027239aba513b398a0e2b7279778af521f516a397ced417c96960e5f50fcfce40c4bc4509fb1a5883c + checksum: 773a0cb55ea03eefbe9a0e6d42114e0f84968db30954a131aae9ba7e9ab984a4776915447ebdeab4412d7f11750126614b0b75e99413f75810045bdb3196554a languageName: node linkType: hard "@types/serve-static@npm:*, @types/serve-static@npm:^1.13.8": - version: 1.15.5 - resolution: "@types/serve-static@npm:1.15.5" + version: 1.15.4 + resolution: "@types/serve-static@npm:1.15.4" dependencies: "@types/http-errors": "npm:*" "@types/mime": "npm:*" "@types/node": "npm:*" - checksum: 811d1a2f7e74a872195e7a013bcd87a2fb1edf07eaedcb9dcfd20c1eb4bc56ad4ea0d52141c13192c91ccda7c8aeb8a530d8a7e60b9c27f5990d7e62e0fecb03 + checksum: 061b38993bf8f2b5033f57147c8ec90e1d1a0d6f734958ceb531ba7cc31192fd272c999cdbc57ede8672787e3aa171ec142dc65a467c04078e43823e7476eb49 languageName: node linkType: hard "@types/stack-utils@npm:^2.0.0": - version: 2.0.3 - resolution: "@types/stack-utils@npm:2.0.3" - checksum: 1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c + version: 2.0.2 + resolution: "@types/stack-utils@npm:2.0.2" + checksum: c2bf0de59ee0a1e2b2031e8a6225f412976377868c42a66537e284a020e9eb4068ed9b9da69d14c1727ab56e605532e877777c7d1bbfd3e9a42ae17bcef7d213 languageName: node linkType: hard "@types/supports-color@npm:^8.0.0": - version: 8.1.3 - resolution: "@types/supports-color@npm:8.1.3" - checksum: 03aa3616b403f3deaeb774df6d3a3969845b0c9f449814a83c2c53eb6818f5f9b571ba205330b0ebe8e46f41fd550f581a34b4310b13f0e0448694cfff37ddbf + version: 8.1.2 + resolution: "@types/supports-color@npm:8.1.2" + checksum: 3a9aa20c3fd75e062e380b45a3d835bba915cfc78a2ab3c85efd125480c870bf4d890616d0c1b0cf1977ebf0f6ff15fd19c88e689b9bb74d4d5e5d7a37864a98 languageName: node linkType: hard @@ -3886,39 +3603,32 @@ __metadata: linkType: hard "@types/text-table@npm:^0.2.0": - version: 0.2.5 - resolution: "@types/text-table@npm:0.2.5" - checksum: 967054ba7509bf6ba4dda8adf81d048a7773b35295edb8670c045b6e27bda556a1917c8a29d4ea6b7d7e5b494785500779a002508c4415ef2e8b2a5351ca2066 - languageName: node - linkType: hard - -"@types/tough-cookie@npm:*": - version: 4.0.5 - resolution: "@types/tough-cookie@npm:4.0.5" - checksum: 68c6921721a3dcb40451543db2174a145ef915bc8bcbe7ad4e59194a0238e776e782b896c7a59f4b93ac6acefca9161fccb31d1ce3b3445cb6faa467297fb473 + version: 0.2.4 + resolution: "@types/text-table@npm:0.2.4" + checksum: d212ecf8c73c288b78a8a1f2ff4c6535bc7f9a75763cd1a87e8cea0765cc267218e1003be7749dfaea9429485a165b9de319f6593c0e2830a028bd94a05e200e languageName: node linkType: hard "@types/unist@npm:^2, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2": - version: 2.0.10 - resolution: "@types/unist@npm:2.0.10" - checksum: 5f247dc2229944355209ad5c8e83cfe29419fa7f0a6d557421b1985a1500444719cc9efcc42c652b55aab63c931813c88033e0202c1ac684bcd4829d66e44731 + version: 2.0.9 + resolution: "@types/unist@npm:2.0.9" + checksum: 3722ea3f864ee59e5bbefc2d4baebd05b1f85bb72e125e3117380e2d26b1e579e0533330dcb47fa6cb6e55cacbc2cab248b901cc51c6570721fb9e20c9a1c5ba languageName: node linkType: hard "@types/uuid@npm:^9.0.1": - version: 9.0.7 - resolution: "@types/uuid@npm:9.0.7" - checksum: b329ebd4f9d1d8e08d4f2cc211be4922d70d1149f73d5772630e4a3acfb5170c6d37b3d7a39a0412f1a56e86e8a844c7f297c798b082f90380608bf766688787 + version: 9.0.6 + resolution: "@types/uuid@npm:9.0.6" + checksum: 8fb6b3a583a035b8e917192eeadaadadfbfd29315094aafd3478e11f11a986cb118ee0f388b15035fda063d9f1a32fa62e7a791215b762fe1e2c177929ca7146 languageName: node linkType: hard "@types/wait-on@npm:^5.3.1": - version: 5.3.4 - resolution: "@types/wait-on@npm:5.3.4" + version: 5.3.3 + resolution: "@types/wait-on@npm:5.3.3" dependencies: "@types/node": "npm:*" - checksum: e366fbfa78fbed4a033aa03072291ba869328dc1a1b715109540af3a328f8f023ec868219f6d2148d5a2ea21f1ce0f12d29e42411f3255ba155da2af978319ee + checksum: 3f8415cec018f324d6124ebd66a800f1aa4fb42f3fe94a4bea901860f3f914274d5a539fd7ddcf48a0d492cb0d6094a7a68f34c6f6c2bc925b68e4d30883501a languageName: node linkType: hard @@ -3932,27 +3642,27 @@ __metadata: linkType: hard "@types/yargs-parser@npm:*": - version: 21.0.3 - resolution: "@types/yargs-parser@npm:21.0.3" - checksum: e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 + version: 21.0.2 + resolution: "@types/yargs-parser@npm:21.0.2" + checksum: 422b8c59e21d9594e5a94afa45a3692d96c14f8fc7554bb1c1c390276815f09996ce0f8ed11893b6f8b2efc4ced686231dca5be6d76a4c4ceb56534474e95aca languageName: node linkType: hard "@types/yargs@npm:^16.0.0": - version: 16.0.9 - resolution: "@types/yargs@npm:16.0.9" + version: 16.0.7 + resolution: "@types/yargs@npm:16.0.7" dependencies: "@types/yargs-parser": "npm:*" - checksum: be24bd9a56c97ddb2964c1c18f5b9fe8271a50e100dc6945989901aae58f7ce6fb8f3a591c749a518401b6301358dbd1997e83c36138a297094feae7f9ac8211 + checksum: cc8653b3a422b9c9179a1b89828c057667262ea916b0963e59c333f4781659ac5f8ff2f2ff01aa8d8360c9fdb9a9ea46848914e5e1ad281fe2c32a9cc69666d8 languageName: node linkType: hard "@types/yargs@npm:^17.0.8": - version: 17.0.32 - resolution: "@types/yargs@npm:17.0.32" + version: 17.0.29 + resolution: "@types/yargs@npm:17.0.29" dependencies: "@types/yargs-parser": "npm:*" - checksum: 2095e8aad8a4e66b86147415364266b8d607a3b95b4239623423efd7e29df93ba81bb862784a6e08664f645cc1981b25fd598f532019174cd3e5e1e689e1cccf + checksum: d8c965c101f7ee3e2f301c02a83dfd5680e4d999d3503c788c13f336868f03ee1498f019552e7d357635a1a36912cbe6751a563e9c339075d30cd131dc361c98 languageName: node linkType: hard @@ -4297,6 +4007,82 @@ __metadata: languageName: node linkType: hard +"@vitest/coverage-v8@npm:^1.0.1": + version: 1.0.1 + resolution: "@vitest/coverage-v8@npm:1.0.1" + dependencies: + "@ampproject/remapping": "npm:^2.2.1" + "@bcoe/v8-coverage": "npm:^0.2.3" + debug: "npm:^4.3.4" + istanbul-lib-coverage: "npm:^3.2.2" + istanbul-lib-report: "npm:^3.0.1" + istanbul-lib-source-maps: "npm:^4.0.1" + istanbul-reports: "npm:^3.1.6" + magic-string: "npm:^0.30.5" + magicast: "npm:^0.3.2" + picocolors: "npm:^1.0.0" + std-env: "npm:^3.5.0" + test-exclude: "npm:^6.0.0" + v8-to-istanbul: "npm:^9.2.0" + peerDependencies: + vitest: ^1.0.0 + checksum: 950d8db1815424d4a9d5291903b7b6a5f1d8afce3e8475b775b107a3b8afca77c81fbb426c3e77a3c2d66230c506b495c44c1a02ef757324201c353adbc0633f + languageName: node + linkType: hard + +"@vitest/expect@npm:1.0.1": + version: 1.0.1 + resolution: "@vitest/expect@npm:1.0.1" + dependencies: + "@vitest/spy": "npm:1.0.1" + "@vitest/utils": "npm:1.0.1" + chai: "npm:^4.3.10" + checksum: cf8a9db9d3149dec548177b0ddf2255c3b0d8f8922d87d9d3032d465b69d2807532b7f16f0528bdf07699da6b3ebfa0c6d9c01a5fac414c8eab290efbd5bf015 + languageName: node + linkType: hard + +"@vitest/runner@npm:1.0.1": + version: 1.0.1 + resolution: "@vitest/runner@npm:1.0.1" + dependencies: + "@vitest/utils": "npm:1.0.1" + p-limit: "npm:^5.0.0" + pathe: "npm:^1.1.1" + checksum: d6289b695a335dd688df6e7512e65b46c3deb352364d1895f98198a104597a808b1ccdc676adaeb6222264a8d207bcd04dab13ff100bdf7768f4086813fac42a + languageName: node + linkType: hard + +"@vitest/snapshot@npm:1.0.1": + version: 1.0.1 + resolution: "@vitest/snapshot@npm:1.0.1" + dependencies: + magic-string: "npm:^0.30.5" + pathe: "npm:^1.1.1" + pretty-format: "npm:^29.7.0" + checksum: 2345b758ea24b4de3e79a6349d6b1d4b50d3bbda3d9bf50cfea86c3334722ca1c3b399d30e926a266a56e764d2b050f20929d847ae11361d0ddcc4a1fa070251 + languageName: node + linkType: hard + +"@vitest/spy@npm:1.0.1": + version: 1.0.1 + resolution: "@vitest/spy@npm:1.0.1" + dependencies: + tinyspy: "npm:^2.2.0" + checksum: 17169f8f303377c3464d067318594bb07700b26fc61b27ed90097f175a058f496872a3966250ad23b268f528674bbb6627e97812e83554293f0ad47f432f4dd4 + languageName: node + linkType: hard + +"@vitest/utils@npm:1.0.1": + version: 1.0.1 + resolution: "@vitest/utils@npm:1.0.1" + dependencies: + diff-sequences: "npm:^29.6.3" + loupe: "npm:^2.3.7" + pretty-format: "npm:^29.7.0" + checksum: 9cb232c20cbbff39910a39a4fc7f36f81460960bf8191672be7c05dd1641e4486f0cdccce115ef77fa223e79e9c59998e8de5a015c7628b6c9304afe140d17f6 + languageName: node + linkType: hard + "@yarnpkg/lockfile@npm:^1.1.0": version: 1.1.0 resolution: "@yarnpkg/lockfile@npm:1.1.0" @@ -4337,13 +4123,6 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.6": - version: 2.0.6 - resolution: "abab@npm:2.0.6" - checksum: 0b245c3c3ea2598fe0025abf7cc7bb507b06949d51e8edae5d12c1b847a0a0c09639abcb94788332b4e2044ac4491c1e8f571b51c7826fd4b0bda1685ad4a278 - languageName: node - linkType: hard - "abbrev@npm:^1.0.0": version: 1.1.1 resolution: "abbrev@npm:1.1.1" @@ -4377,16 +4156,6 @@ __metadata: languageName: node linkType: hard -"acorn-globals@npm:^7.0.0": - version: 7.0.1 - resolution: "acorn-globals@npm:7.0.1" - dependencies: - acorn: "npm:^8.1.0" - acorn-walk: "npm:^8.0.2" - checksum: 7437f58e92d99292dbebd0e79531af27d706c9f272f31c675d793da6c82d897e75302a8744af13c7f7978a8399840f14a353b60cf21014647f71012982456d2b - languageName: node - linkType: hard - "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -4414,7 +4183,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^8.0.2": +"acorn-walk@npm:^8.3.0": version: 8.3.0 resolution: "acorn-walk@npm:8.3.0" checksum: 24346e595f507b6e704a60d35f3c5e1aa9891d4fb6a3fc3d856503ab718cc26cabb5e3e1ff0ff8da6ec03d60a8226ebdb602805a94f970e7f797ea3b8b09437f @@ -4430,7 +4199,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.1.0, acorn@npm:^8.8.1, acorn@npm:^8.9.0": +"acorn@npm:^8.10.0, acorn@npm:^8.9.0": version: 8.11.2 resolution: "acorn@npm:8.11.2" bin: @@ -4548,7 +4317,7 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.0": +"ansi-escapes@npm:^4.3.0": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" dependencies: @@ -4557,15 +4326,6 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^6.0.0": - version: 6.2.0 - resolution: "ansi-escapes@npm:6.2.0" - dependencies: - type-fest: "npm:^3.0.0" - checksum: 3eec75deedd8b10192c5f98e4cd9715cc3ff268d33fc463c24b7d22446668bfcd4ad1803993ea89c0f51f88b5a3399572bacb7c8cb1a067fc86e189c5f3b0c7e - languageName: node - linkType: hard - "ansi-regex@npm:^5.0.0, ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -4619,7 +4379,7 @@ __metadata: languageName: node linkType: hard -"anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": +"anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" dependencies: @@ -4858,6 +4618,13 @@ __metadata: languageName: node linkType: hard +"assertion-error@npm:^1.1.0": + version: 1.1.0 + resolution: "assertion-error@npm:1.1.0" + checksum: 25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b + languageName: node + linkType: hard + "ast-types-flow@npm:^0.0.8": version: 0.0.8 resolution: "ast-types-flow@npm:0.0.8" @@ -4964,7 +4731,17 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.5.1, axios@npm:^1.6.1": +"axios@npm:^0.27.2": + version: 0.27.2 + resolution: "axios@npm:0.27.2" + dependencies: + follow-redirects: "npm:^1.14.9" + form-data: "npm:^4.0.0" + checksum: 76d673d2a90629944b44d6f345f01e58e9174690f635115d5ffd4aca495d99bcd8f95c590d5ccb473513f5ebc1d1a6e8934580d0c57cdd0498c3a101313ef771 + languageName: node + linkType: hard + +"axios@npm:^1.5.1": version: 1.6.2 resolution: "axios@npm:1.6.2" dependencies: @@ -5000,23 +4777,6 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "babel-jest@npm:29.7.0" - dependencies: - "@jest/transform": "npm:^29.7.0" - "@types/babel__core": "npm:^7.1.14" - babel-plugin-istanbul: "npm:^6.1.1" - babel-preset-jest: "npm:^29.6.3" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - slash: "npm:^3.0.0" - peerDependencies: - "@babel/core": ^7.8.0 - checksum: 2eda9c1391e51936ca573dd1aedfee07b14c59b33dbe16ef347873ddd777bcf6e2fc739681e9e9661ab54ef84a3109a03725be2ac32cd2124c07ea4401cbe8c1 - languageName: node - linkType: hard - "babel-loader@npm:^9.1.2": version: 9.1.3 resolution: "babel-loader@npm:9.1.3" @@ -5030,31 +4790,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-istanbul@npm:^6.1.1": - version: 6.1.1 - resolution: "babel-plugin-istanbul@npm:6.1.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.0.0" - "@istanbuljs/load-nyc-config": "npm:^1.0.0" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-instrument: "npm:^5.0.4" - test-exclude: "npm:^6.0.0" - checksum: 1075657feb705e00fd9463b329921856d3775d9867c5054b449317d39153f8fbcebd3e02ebf00432824e647faff3683a9ca0a941325ef1afe9b3c4dd51b24beb - languageName: node - linkType: hard - -"babel-plugin-jest-hoist@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-plugin-jest-hoist@npm:29.6.3" - dependencies: - "@babel/template": "npm:^7.3.3" - "@babel/types": "npm:^7.3.3" - "@types/babel__core": "npm:^7.1.14" - "@types/babel__traverse": "npm:^7.0.6" - checksum: 7e6451caaf7dce33d010b8aafb970e62f1b0c0b57f4978c37b0d457bbcf0874d75a395a102daf0bae0bd14eafb9f6e9a165ee5e899c0a4f1f3bb2e07b304ed2e - languageName: node - linkType: hard - "babel-plugin-polyfill-corejs2@npm:^0.4.6": version: 0.4.6 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.6" @@ -5091,40 +4826,6 @@ __metadata: languageName: node linkType: hard -"babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.0.1 - resolution: "babel-preset-current-node-syntax@npm:1.0.1" - dependencies: - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-bigint": "npm:^7.8.3" - "@babel/plugin-syntax-class-properties": "npm:^7.8.3" - "@babel/plugin-syntax-import-meta": "npm:^7.8.3" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.8.3" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-top-level-await": "npm:^7.8.3" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 5ba39a3a0e6c37d25e56a4fb843be632dac98d54706d8a0933f9bcb1a07987a96d55c2b5a6c11788a74063fb2534fe68c1f1dbb6c93626850c785e0938495627 - languageName: node - linkType: hard - -"babel-preset-jest@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-preset-jest@npm:29.6.3" - dependencies: - babel-plugin-jest-hoist: "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: ec5fd0276b5630b05f0c14bb97cc3815c6b31600c683ebb51372e54dcb776cff790bdeeabd5b8d01ede375a040337ccbf6a3ccd68d3a34219125945e167ad943 - languageName: node - linkType: hard - "bail@npm:^1.0.0": version: 1.0.5 resolution: "bail@npm:1.0.5" @@ -5327,12 +5028,17 @@ __metadata: languageName: node linkType: hard -"bser@npm:2.1.1": - version: 2.1.1 - resolution: "bser@npm:2.1.1" +"browserslist@npm:^4.22.2": + version: 4.22.2 + resolution: "browserslist@npm:4.22.2" dependencies: - node-int64: "npm:^0.4.0" - checksum: 24d8dfb7b6d457d73f32744e678a60cc553e4ec0e9e1a01cf614b44d85c3c87e188d3cc78ef0442ce5032ee6818de20a0162ba1074725c0d08908f62ea979227 + caniuse-lite: "npm:^1.0.30001565" + electron-to-chromium: "npm:^1.4.601" + node-releases: "npm:^2.0.14" + update-browserslist-db: "npm:^1.0.13" + bin: + browserslist: cli.js + checksum: 2a331aab90503130043ca41dd5d281fa1e89d5e076d07a2d75e76bf4d693bd56e73d5abcd8c4f39119da6328d450578c216cf1cd5c99b82d8a90a2ae6271b465 languageName: node linkType: hard @@ -5426,7 +5132,7 @@ __metadata: languageName: node linkType: hard -"cac@npm:^6.7.12": +"cac@npm:^6.7.12, cac@npm:^6.7.14": version: 6.7.14 resolution: "cac@npm:6.7.14" checksum: 4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 @@ -5460,22 +5166,22 @@ __metadata: linkType: hard "cacache@npm:^18.0.0": - version: 18.0.1 - resolution: "cacache@npm:18.0.1" + version: 18.0.0 + resolution: "cacache@npm:18.0.0" dependencies: "@npmcli/fs": "npm:^3.1.0" fs-minipass: "npm:^3.0.0" glob: "npm:^10.2.2" lru-cache: "npm:^10.0.1" minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" + minipass-collect: "npm:^1.0.2" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" p-map: "npm:^4.0.0" ssri: "npm:^10.0.0" tar: "npm:^6.1.11" unique-filename: "npm:^3.0.0" - checksum: a31666805a80a8b16ad3f85faf66750275a9175a3480896f4f6d31b5d53ef190484fabd71bdb6d2ea5603c717fbef09f4af03d6a65b525c8ef0afaa44c361866 + checksum: e359823778d712ad365740cef3f488d4f74c62cc79be5935896d9597a7d81033e50c54c15898fa9cc018620879307ab30d1dddc476ae705bfd5b29c145ae6938 languageName: node linkType: hard @@ -5519,7 +5225,7 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": +"camelcase@npm:^5.0.0": version: 5.3.1 resolution: "camelcase@npm:5.3.1" checksum: 92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 @@ -5541,9 +5247,16 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001541": - version: 1.0.30001565 - resolution: "caniuse-lite@npm:1.0.30001565" - checksum: b400e0364651a700e39d59449ca6c65b26e2caceecc4b93ae54a01ed1f62d2a7e1333b1dc640d95fbe620ffa5be38fe4dbacd880cd7a1f42fc72bb8de9a2d0c9 + version: 1.0.30001561 + resolution: "caniuse-lite@npm:1.0.30001561" + checksum: 6e84c84026fee53edbdbb5aded7a04a036aae4c2e367cf6bdc90c6783a591e2fdcfcdebcc4e774aca61092e542a61200c8c16b06659396492426033c4dbcc618 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001565": + version: 1.0.30001568 + resolution: "caniuse-lite@npm:1.0.30001568" + checksum: 13f01e5a2481134bd61cf565ce9fecbd8e107902927a0dcf534230a92191a81f1715792170f5f39719c767c3a96aa6df9917a8d5601f15bbd5e4041a8cfecc99 languageName: node linkType: hard @@ -5554,6 +5267,21 @@ __metadata: languageName: node linkType: hard +"chai@npm:^4.3.10": + version: 4.3.10 + resolution: "chai@npm:4.3.10" + dependencies: + assertion-error: "npm:^1.1.0" + check-error: "npm:^1.0.3" + deep-eql: "npm:^4.1.3" + get-func-name: "npm:^2.0.2" + loupe: "npm:^2.3.6" + pathval: "npm:^1.1.1" + type-detect: "npm:^4.0.8" + checksum: c887d24f67be6fb554c7ebbde3bb0568697a8833d475e4768296916891ba143f25fc079f6eb34146f3dd5a3279d34c1f387c32c9a6ab288e579f948d9ccf53fe + languageName: node + linkType: hard + "chalk@npm:^2.3.0, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -5585,27 +5313,13 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^5.0.0, chalk@npm:^5.2.0": +"chalk@npm:^5.0.0": version: 5.3.0 resolution: "chalk@npm:5.3.0" checksum: 8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 languageName: node linkType: hard -"char-regex@npm:^1.0.2": - version: 1.0.2 - resolution: "char-regex@npm:1.0.2" - checksum: 57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e - languageName: node - linkType: hard - -"char-regex@npm:^2.0.0": - version: 2.0.1 - resolution: "char-regex@npm:2.0.1" - checksum: ec592229ac3ef18f2ea1f5676ae9a829c37150db55fd7f709edce1bcdc9f506de22ae19388d853704806e51af71fe9239bcb7e7be583296951bfbf2a9a9763a2 - languageName: node - linkType: hard - "character-entities-legacy@npm:^1.0.0": version: 1.1.4 resolution: "character-entities-legacy@npm:1.1.4" @@ -5634,6 +5348,15 @@ __metadata: languageName: node linkType: hard +"check-error@npm:^1.0.3": + version: 1.0.3 + resolution: "check-error@npm:1.0.3" + dependencies: + get-func-name: "npm:^2.0.2" + checksum: 94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 + languageName: node + linkType: hard + "checkup@npm:^1.3.0": version: 1.3.0 resolution: "checkup@npm:1.3.0" @@ -5681,13 +5404,6 @@ __metadata: languageName: node linkType: hard -"cjs-module-lexer@npm:^1.0.0": - version: 1.2.3 - resolution: "cjs-module-lexer@npm:1.2.3" - checksum: 0de9a9c3fad03a46804c0d38e7b712fb282584a9c7ef1ed44cae22fb71d9bb600309d66a9711ac36a596fd03422f5bb03e021e8f369c12a39fa1786ae531baab - languageName: node - linkType: hard - "clean-stack@npm:^2.0.0": version: 2.2.0 resolution: "clean-stack@npm:2.2.0" @@ -5719,9 +5435,9 @@ __metadata: linkType: hard "cli-spinners@npm:^2.5.0": - version: 2.9.2 - resolution: "cli-spinners@npm:2.9.2" - checksum: 907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 + version: 2.9.1 + resolution: "cli-spinners@npm:2.9.1" + checksum: c9b1152bd387e5b76823bdee6f19079c4017994d352627216e5d3dab9220a8402514519ad96a0a12120b80752fead98d1e7a7a5f56ce32125f92778ef47bdd8c languageName: node linkType: hard @@ -5780,13 +5496,6 @@ __metadata: languageName: node linkType: hard -"co@npm:^4.6.0": - version: 4.6.0 - resolution: "co@npm:4.6.0" - checksum: c0e85ea0ca8bf0a50cbdca82efc5af0301240ca88ebe3644a6ffb8ffe911f34d40f8fbcf8f1d52c5ddd66706abd4d3bfcd64259f1e8e2371d4f47573b0dc8c28 - languageName: node - linkType: hard - "codecov@npm:^3.8.1": version: 3.8.2 resolution: "codecov@npm:3.8.2" @@ -5809,13 +5518,6 @@ __metadata: languageName: node linkType: hard -"collect-v8-coverage@npm:^1.0.0": - version: 1.0.2 - resolution: "collect-v8-coverage@npm:1.0.2" - checksum: ed7008e2e8b6852c5483b444a3ae6e976e088d4335a85aa0a9db2861c5f1d31bd2d7ff97a60469b3388deeba661a619753afbe201279fb159b4b9548ab8269a1 - languageName: node - linkType: hard - "color-convert@npm:^1.9.0": version: 1.9.3 resolution: "color-convert@npm:1.9.3" @@ -6020,11 +5722,11 @@ __metadata: linkType: hard "core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.33.1": - version: 3.33.3 - resolution: "core-js-compat@npm:3.33.3" + version: 3.33.2 + resolution: "core-js-compat@npm:3.33.2" dependencies: browserslist: "npm:^4.22.1" - checksum: 779997ac791b7f7d01f21312c7b83fff2babb1f632d21fd6cfd8e9c737442475bcb660fade7e1cd7642b5c9593685bc2188089bf86b31d671e8e05e28ee30e58 + checksum: bcf6f0badffbbf4a127449f64720c33e9c960f204f072d9644954b30d7742e18de733e9f446c7093f1ccf5d9e101205a7c64747a5aeec7d3925f336322f85a03 languageName: node linkType: hard @@ -6036,9 +5738,9 @@ __metadata: linkType: hard "core-js@npm:^3.8.2": - version: 3.33.3 - resolution: "core-js@npm:3.33.3" - checksum: 08abdc9470c8228b9d09f61e62ab312738681202c4c34e9638889125b304b235f34c4fe22e9d41c20906ac0fcc807dca57c5ff7d6b90021bf64e8fe23461d9ab + version: 3.33.2 + resolution: "core-js@npm:3.33.2" + checksum: d6a56ad3e134846c805ce936788dd58cb51e861f173ed1f830979735d7865ea6f6a5a437076c36c8d8b842ba0384d052998f160774a8da7712f0f51df60167fe languageName: node linkType: hard @@ -6086,23 +5788,6 @@ __metadata: languageName: node linkType: hard -"create-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "create-jest@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.2.9" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - prompts: "npm:^2.0.1" - bin: - create-jest: bin/create-jest.js - checksum: e7e54c280692470d3398f62a6238fd396327e01c6a0757002833f06d00afc62dd7bfe04ff2b9cd145264460e6b4d1eb8386f2925b7e567f97939843b7b0e812f - languageName: node - linkType: hard - "cross-env@npm:^7.0.3": version: 7.0.3 resolution: "cross-env@npm:7.0.3" @@ -6153,29 +5838,6 @@ __metadata: languageName: node linkType: hard -"cssom@npm:^0.5.0": - version: 0.5.0 - resolution: "cssom@npm:0.5.0" - checksum: 8c4121c243baf0678c65dcac29b201ff0067dfecf978de9d5c83b2ff127a8fdefd2bfd54577f5ad8c80ed7d2c8b489ae01c82023545d010c4ecb87683fb403dd - languageName: node - linkType: hard - -"cssom@npm:~0.3.6": - version: 0.3.8 - resolution: "cssom@npm:0.3.8" - checksum: d74017b209440822f9e24d8782d6d2e808a8fdd58fa626a783337222fe1c87a518ba944d4c88499031b4786e68772c99dfae616638d71906fe9f203aeaf14411 - languageName: node - linkType: hard - -"cssstyle@npm:^2.3.0": - version: 2.3.0 - resolution: "cssstyle@npm:2.3.0" - dependencies: - cssom: "npm:~0.3.6" - checksum: 863400da2a458f73272b9a55ba7ff05de40d850f22eb4f37311abebd7eff801cf1cd2fb04c4c92b8c3daed83fe766e52e4112afb7bc88d86c63a9c2256a7d178 - languageName: node - linkType: hard - "csstype@npm:^3.0.2": version: 3.1.2 resolution: "csstype@npm:3.1.2" @@ -6255,17 +5917,6 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^3.0.2": - version: 3.0.2 - resolution: "data-urls@npm:3.0.2" - dependencies: - abab: "npm:^2.0.6" - whatwg-mimetype: "npm:^3.0.0" - whatwg-url: "npm:^11.0.0" - checksum: 051c3aaaf3e961904f136aab095fcf6dff4db23a7fc759dd8ba7b3e6ba03fc07ef608086caad8ab910d864bd3b5e57d0d2f544725653d77c96a2c971567045f4 - languageName: node - linkType: hard - "dataloader@npm:^2.2.2": version: 2.2.2 resolution: "dataloader@npm:2.2.2" @@ -6310,13 +5961,6 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.4.2": - version: 10.4.3 - resolution: "decimal.js@npm:10.4.3" - checksum: 6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee - languageName: node - linkType: hard - "decode-named-character-reference@npm:^1.0.0": version: 1.0.2 resolution: "decode-named-character-reference@npm:1.0.2" @@ -6412,26 +6056,23 @@ __metadata: languageName: node linkType: hard -"dedent@npm:^1.0.0": - version: 1.5.1 - resolution: "dedent@npm:1.5.1" - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - checksum: f8612cd5b00aab58b18bb95572dca08dc2d49720bfa7201a444c3dae430291e8a06d4928614a6ec8764d713927f44bce9c990d3b8238fca2f430990ddc17c070 +"deep-eql@npm:^4.1.3": + version: 4.1.3 + resolution: "deep-eql@npm:4.1.3" + dependencies: + type-detect: "npm:^4.0.0" + checksum: ff34e8605d8253e1bf9fe48056e02c6f347b81d9b5df1c6650a1b0f6f847b4a86453b16dc226b34f853ef14b626e85d04e081b022e20b00cd7d54f079ce9bbdd languageName: node linkType: hard "deep-equal@npm:^2.0.5": - version: 2.2.3 - resolution: "deep-equal@npm:2.2.3" + version: 2.2.2 + resolution: "deep-equal@npm:2.2.2" dependencies: array-buffer-byte-length: "npm:^1.0.0" - call-bind: "npm:^1.0.5" + call-bind: "npm:^1.0.2" es-get-iterator: "npm:^1.1.3" - get-intrinsic: "npm:^1.2.2" + get-intrinsic: "npm:^1.2.1" is-arguments: "npm:^1.1.1" is-array-buffer: "npm:^3.0.2" is-date-object: "npm:^1.0.5" @@ -6441,12 +6082,12 @@ __metadata: object-is: "npm:^1.1.5" object-keys: "npm:^1.1.1" object.assign: "npm:^4.1.4" - regexp.prototype.flags: "npm:^1.5.1" + regexp.prototype.flags: "npm:^1.5.0" side-channel: "npm:^1.0.4" which-boxed-primitive: "npm:^1.0.2" which-collection: "npm:^1.0.1" - which-typed-array: "npm:^1.1.13" - checksum: a48244f90fa989f63ff5ef0cc6de1e4916b48ea0220a9c89a378561960814794a5800c600254482a2c8fd2e49d6c2e196131dc983976adb024c94a42dfe4949f + which-typed-array: "npm:^1.1.9" + checksum: 07b46a9a848efdab223abc7e3ba612ef9168d88970c3400df185d5840a30ca384749c996ae5d7af844d6b27c42587fb73a4445c63e38aac77c2d0ed9a63faa87 languageName: node linkType: hard @@ -6457,13 +6098,6 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:^4.2.2": - version: 4.3.1 - resolution: "deepmerge@npm:4.3.1" - checksum: e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 - languageName: node - linkType: hard - "defaults@npm:^1.0.3": version: 1.0.4 resolution: "defaults@npm:1.0.4" @@ -6597,7 +6231,7 @@ __metadata: languageName: node linkType: hard -"detect-newline@npm:3.1.0, detect-newline@npm:^3.0.0": +"detect-newline@npm:3.1.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" checksum: c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d @@ -6645,15 +6279,6 @@ __metadata: languageName: node linkType: hard -"diffable-html@npm:^4.1.0": - version: 4.1.0 - resolution: "diffable-html@npm:4.1.0" - dependencies: - htmlparser2: "npm:^3.9.2" - checksum: 4224133455312e03dd5b84cec0a7d7390552ae30fc5ceb24256c4973e7b51ab2ba69f8b8dbeaaa3feb2b92d3fdd57476dcb7afeada793130ab340720c6a553c7 - languageName: node - linkType: hard - "dir-glob@npm:^2.0.0": version: 2.2.2 resolution: "dir-glob@npm:2.2.2" @@ -6689,21 +6314,11 @@ __metadata: checksum: c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 languageName: node linkType: hard - -"dom-accessibility-api@npm:^0.5.6, dom-accessibility-api@npm:^0.5.9": - version: 0.5.16 - resolution: "dom-accessibility-api@npm:0.5.16" - checksum: b2c2eda4fae568977cdac27a9f0c001edf4f95a6a6191dfa611e3721db2478d1badc01db5bb4fa8a848aeee13e442a6c2a4386d65ec65a1436f24715a2f8d053 - languageName: node - linkType: hard - -"dom-serializer@npm:0": - version: 0.2.2 - resolution: "dom-serializer@npm:0.2.2" - dependencies: - domelementtype: "npm:^2.0.1" - entities: "npm:^2.0.0" - checksum: 5cb595fb77e1a23eca56742f47631e6f4af66ce1982c7ed28b3d0ef21f1f50304c067adc29d3eaf824c572be022cee88627d0ac9b929408f24e923f3c7bed37b + +"dom-accessibility-api@npm:^0.5.6, dom-accessibility-api@npm:^0.5.9": + version: 0.5.16 + resolution: "dom-accessibility-api@npm:0.5.16" + checksum: b2c2eda4fae568977cdac27a9f0c001edf4f95a6a6191dfa611e3721db2478d1badc01db5bb4fa8a848aeee13e442a6c2a4386d65ec65a1436f24715a2f8d053 languageName: node linkType: hard @@ -6718,13 +6333,6 @@ __metadata: languageName: node linkType: hard -"domelementtype@npm:1, domelementtype@npm:^1.3.1": - version: 1.3.1 - resolution: "domelementtype@npm:1.3.1" - checksum: 6d4f5761060a21eaf3c96545501e9d188745c7e1c31b8d141bf15d8748feeadba868f4ea32877751b8678b286fb1afbe6ae905ca3fb8f0214d8322e482cdbec0 - languageName: node - linkType: hard - "domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0": version: 2.3.0 resolution: "domelementtype@npm:2.3.0" @@ -6732,24 +6340,6 @@ __metadata: languageName: node linkType: hard -"domexception@npm:^4.0.0": - version: 4.0.0 - resolution: "domexception@npm:4.0.0" - dependencies: - webidl-conversions: "npm:^7.0.0" - checksum: 774277cd9d4df033f852196e3c0077a34dbd15a96baa4d166e0e47138a80f4c0bdf0d94e4703e6ff5883cec56bb821a6fff84402d8a498e31de7c87eb932a294 - languageName: node - linkType: hard - -"domhandler@npm:^2.3.0": - version: 2.4.2 - resolution: "domhandler@npm:2.4.2" - dependencies: - domelementtype: "npm:1" - checksum: 6670cab73e97e3c6771dcf22b537db3f6a0be0ad6b370f03bb5f1b585d3b563d326787fdabe1190b7ca9d81c804e9b3f8a1431159c27c44f6c05f94afa92be2d - languageName: node - linkType: hard - "domhandler@npm:^4.2.0, domhandler@npm:^4.2.2": version: 4.3.1 resolution: "domhandler@npm:4.3.1" @@ -6759,16 +6349,6 @@ __metadata: languageName: node linkType: hard -"domutils@npm:^1.5.1": - version: 1.7.0 - resolution: "domutils@npm:1.7.0" - dependencies: - dom-serializer: "npm:0" - domelementtype: "npm:1" - checksum: 437fcd2d6d6be03f488152e73c6f953e289c58496baa22be9626b2b46f9cfd40486ae77d144487ff6b102929a3231cdb9a8bf8ef485fb7b7c30c985daedc77eb - languageName: node - linkType: hard - "domutils@npm:^2.8.0": version: 2.8.0 resolution: "domutils@npm:2.8.0" @@ -6894,16 +6474,16 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.535": - version: 1.4.595 - resolution: "electron-to-chromium@npm:1.4.595" - checksum: 4383430e18d4c4d1fd8876d286f00ddf107831b7ed6bae76d25cb4418c04940aec55f142f167c389c3e7270430402e234689901efd2431c384a9164a35b1c178 + version: 1.4.576 + resolution: "electron-to-chromium@npm:1.4.576" + checksum: b0b9e7ba803bf93ffac9cb830ed2b0e0eb07f20066127065f9ab9e08e4e6a5812040e03d76f6ee9bc59e03fb938fd414e83d4883b29111303e9e88633cf2dce4 languageName: node linkType: hard -"emittery@npm:^0.13.1": - version: 0.13.1 - resolution: "emittery@npm:0.13.1" - checksum: 1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 +"electron-to-chromium@npm:^1.4.601": + version: 1.4.610 + resolution: "electron-to-chromium@npm:1.4.610" + checksum: b2f228a62fadb05057885f584f43558738cd547eade5b1ee819491a8420faf3711bdc7ce9bad7b1beb9c7e2ea9f9ffed690b07272cf58fb6e07ddaec1bbee8b8 languageName: node linkType: hard @@ -6982,13 +6562,6 @@ __metadata: languageName: node linkType: hard -"entities@npm:^1.1.1": - version: 1.1.2 - resolution: "entities@npm:1.1.2" - checksum: 5b12fa8c4fb942f88af6f8791bbe7be0a59ebd91c8933cee091d94455efd1eeb200418c7b1bc8dd0f74cdd4db8cf4538eb043db14cfd1919130c25d8c6095215 - languageName: node - linkType: hard - "entities@npm:^2.0.0": version: 2.2.0 resolution: "entities@npm:2.2.0" @@ -7003,13 +6576,6 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.4.0": - version: 4.5.0 - resolution: "entities@npm:4.5.0" - checksum: 5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 - languageName: node - linkType: hard - "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -7289,24 +6855,6 @@ __metadata: languageName: node linkType: hard -"escodegen@npm:^2.0.0": - version: 2.1.0 - resolution: "escodegen@npm:2.1.0" - dependencies: - esprima: "npm:^4.0.1" - estraverse: "npm:^5.2.0" - esutils: "npm:^2.0.2" - source-map: "npm:~0.6.1" - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: e1450a1f75f67d35c061bf0d60888b15f62ab63aef9df1901cffc81cffbbb9e8b3de237c5502cf8613a017c1df3a3003881307c78835a1ab54d8c8d2206e01d3 - languageName: node - linkType: hard - "eslint-config-airbnb-base@npm:^14.2.0, eslint-config-airbnb-base@npm:^14.2.1": version: 14.2.1 resolution: "eslint-config-airbnb-base@npm:14.2.1" @@ -7603,13 +7151,13 @@ __metadata: linkType: hard "eslint@npm:^8.28.0": - version: 8.54.0 - resolution: "eslint@npm:8.54.0" + version: 8.53.0 + resolution: "eslint@npm:8.53.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.6.1" "@eslint/eslintrc": "npm:^2.1.3" - "@eslint/js": "npm:8.54.0" + "@eslint/js": "npm:8.53.0" "@humanwhocodes/config-array": "npm:^0.11.13" "@humanwhocodes/module-importer": "npm:^1.0.1" "@nodelib/fs.walk": "npm:^1.2.8" @@ -7646,7 +7194,7 @@ __metadata: text-table: "npm:^0.2.0" bin: eslint: bin/eslint.js - checksum: 4f205f832bdbd0218cde374b067791f4f76d7abe8de86b2dc849c273899051126d912ebf71531ee49b8eeaa22cad77febdc8f2876698dc2a76e84a8cb976af22 + checksum: c5cd0049488c0463dab7d97466767ca5a1d0b3b59d0a223122683dc8039ecea30b27867fb9e38906b4c1ab9d09ece8a802a6c540d8905016f1cc4b4bb27329af languageName: node linkType: hard @@ -7661,7 +7209,7 @@ __metadata: languageName: node linkType: hard -"esprima@npm:^4.0.0, esprima@npm:^4.0.1, esprima@npm:~4.0.0": +"esprima@npm:^4.0.0, esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: @@ -7821,10 +7369,20 @@ __metadata: languageName: node linkType: hard -"exit@npm:^0.1.2": - version: 0.1.2 - resolution: "exit@npm:0.1.2" - checksum: 71d2ad9b36bc25bb8b104b17e830b40a08989be7f7d100b13269aaae7c3784c3e6e1e88a797e9e87523993a25ba27c8958959a554535370672cfb4d824af8989 +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af languageName: node linkType: hard @@ -7837,7 +7395,7 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.0.0, expect@npm:^29.7.0": +"expect@npm:^29.0.0": version: 29.7.0 resolution: "expect@npm:29.7.0" dependencies: @@ -7960,15 +7518,15 @@ __metadata: linkType: hard "fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" + version: 3.3.1 + resolution: "fast-glob@npm:3.3.1" dependencies: "@nodelib/fs.stat": "npm:^2.0.2" "@nodelib/fs.walk": "npm:^1.2.3" glob-parent: "npm:^5.1.2" merge2: "npm:^1.3.0" micromatch: "npm:^4.0.4" - checksum: 42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + checksum: b68431128fb6ce4b804c5f9622628426d990b66c75b21c0d16e3d80e2d1398bf33f7e1724e66a2e3f299285dcf5b8d745b122d0304e7dd66f5231081f33ec67c languageName: node linkType: hard @@ -7979,7 +7537,7 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": +"fast-json-stable-stringify@npm:^2.0.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" checksum: 7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b @@ -8041,15 +7599,6 @@ __metadata: languageName: node linkType: hard -"fb-watchman@npm:^2.0.0": - version: 2.0.2 - resolution: "fb-watchman@npm:2.0.2" - dependencies: - bser: "npm:2.1.1" - checksum: feae89ac148adb8f6ae8ccd87632e62b13563e6fb114cacb5265c51f585b17e2e268084519fb2edd133872f1d47a18e6bfd7e5e08625c0d41b93149694187581 - languageName: node - linkType: hard - "fd-slicer@npm:~1.1.0": version: 1.1.0 resolution: "fd-slicer@npm:1.1.0" @@ -8164,7 +7713,7 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^4.0.0, find-up@npm:^4.1.0": +"find-up@npm:^4.1.0": version: 4.1.0 resolution: "find-up@npm:4.1.0" dependencies: @@ -8204,13 +7753,13 @@ __metadata: linkType: hard "flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" + version: 3.1.1 + resolution: "flat-cache@npm:3.1.1" dependencies: flatted: "npm:^3.2.9" keyv: "npm:^4.5.3" rimraf: "npm:^3.0.2" - checksum: b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + checksum: 15f7f854830089a903ea660809b67ee25632b8b1965da6a328d3dc59d451abe2e9f16ad0b7523571ece2b5424d1e1979469ba25870f76f49ce3bbffc836072ef languageName: node linkType: hard @@ -8230,7 +7779,7 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.15.0": +"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.9, follow-redirects@npm:^1.15.0": version: 1.15.3 resolution: "follow-redirects@npm:1.15.3" peerDependenciesMeta: @@ -8324,13 +7873,13 @@ __metadata: linkType: hard "fs-extra@npm:^11.1.0": - version: 11.2.0 - resolution: "fs-extra@npm:11.2.0" + version: 11.1.1 + resolution: "fs-extra@npm:11.1.1" dependencies: graceful-fs: "npm:^4.2.0" jsonfile: "npm:^6.0.1" universalify: "npm:^2.0.0" - checksum: d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398 + checksum: a2480243d7dcfa7d723c5f5b24cf4eba02a6ccece208f1524a2fbde1c629492cfb9a59e4b6d04faff6fbdf71db9fdc8ef7f396417a02884195a625f5d8dc9427 languageName: node linkType: hard @@ -8359,7 +7908,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": version: 2.3.3 resolution: "fsevents@npm:2.3.3" dependencies: @@ -8369,7 +7918,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": version: 2.3.3 resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" dependencies: @@ -8473,6 +8022,13 @@ __metadata: languageName: node linkType: hard +"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": + version: 2.0.2 + resolution: "get-func-name@npm:2.0.2" + checksum: 89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df + languageName: node + linkType: hard + "get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2": version: 1.2.2 resolution: "get-intrinsic@npm:1.2.2" @@ -8492,13 +8048,6 @@ __metadata: languageName: node linkType: hard -"get-package-type@npm:^0.1.0": - version: 0.1.0 - resolution: "get-package-type@npm:0.1.0" - checksum: e34cdf447fdf1902a1f6d5af737eaadf606d2ee3518287abde8910e04159368c268568174b2e71102b87b26c2020486f126bfca9c4fb1ceb986ff99b52ecd1be - languageName: node - linkType: hard - "get-stdin@npm:^6.0.0": version: 6.0.0 resolution: "get-stdin@npm:6.0.0" @@ -8548,6 +8097,13 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 + languageName: node + linkType: hard + "get-symbol-description@npm:^1.0.0": version: 1.0.0 resolution: "get-symbol-description@npm:1.0.0" @@ -9036,20 +8592,6 @@ __metadata: languageName: node linkType: hard -"htmlparser2@npm:^3.9.2": - version: 3.10.1 - resolution: "htmlparser2@npm:3.10.1" - dependencies: - domelementtype: "npm:^1.3.1" - domhandler: "npm:^2.3.0" - domutils: "npm:^1.5.1" - entities: "npm:^1.1.1" - inherits: "npm:^2.0.1" - readable-stream: "npm:^3.1.1" - checksum: b1424536ff062088501efa06a2afd478545d3134a5ad2e28bbe02dc2d092784982286b90f1c87fa3d86692958dbfb8936352dfd71d1cb2ff7cb61208c00fcdb1 - languageName: node - linkType: hard - "htmlparser2@npm:^7.1.2": version: 7.2.0 resolution: "htmlparser2@npm:7.2.0" @@ -9217,6 +8759,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 + languageName: node + linkType: hard + "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -9296,9 +8845,9 @@ __metadata: linkType: hard "ignore@npm:^5.0.0, ignore@npm:^5.0.4, ignore@npm:^5.0.5, ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4": - version: 5.3.0 - resolution: "ignore@npm:5.3.0" - checksum: dc06bea5c23aae65d0725a957a0638b57e235ae4568dda51ca142053ed2c352de7e3bc93a69b2b32ac31966a1952e9a93c5ef2e2ab7c6b06aef9808f6b55b571 + version: 5.2.4 + resolution: "ignore@npm:5.2.4" + checksum: 7c7cd90edd9fea6e037f9b9da4b01bf0a86b198ce78345f9bbd983929d68ff14830be31111edc5d70c264921f4962404d75b7262b4d9cc3bc12381eccbd03096 languageName: node linkType: hard @@ -9312,18 +8861,6 @@ __metadata: languageName: node linkType: hard -"import-local@npm:^3.0.2": - version: 3.1.0 - resolution: "import-local@npm:3.1.0" - dependencies: - pkg-dir: "npm:^4.2.0" - resolve-cwd: "npm:^3.0.0" - bin: - import-local-fixture: fixtures/cli.js - checksum: c67ecea72f775fe8684ca3d057e54bdb2ae28c14bf261d2607c269c18ea0da7b730924c06262eca9aed4b8ab31e31d65bc60b50e7296c85908a56e2f7d41ecd2 - languageName: node - linkType: hard - "import-meta-resolve@npm:^2.0.0": version: 2.2.2 resolution: "import-meta-resolve@npm:2.2.2" @@ -9362,7 +8899,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 @@ -9610,13 +9147,6 @@ __metadata: languageName: node linkType: hard -"is-generator-fn@npm:^2.0.0": - version: 2.1.0 - resolution: "is-generator-fn@npm:2.1.0" - checksum: 2957cab387997a466cd0bf5c1b6047bd21ecb32bdcfd8996b15747aa01002c1c88731802f1b3d34ac99f4f6874b626418bd118658cf39380fe5fff32a3af9c4d - languageName: node - linkType: hard - "is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": version: 1.0.10 resolution: "is-generator-function@npm:1.0.10" @@ -9754,13 +9284,6 @@ __metadata: languageName: node linkType: hard -"is-potential-custom-element-name@npm:^1.0.1": - version: 1.0.1 - resolution: "is-potential-custom-element-name@npm:1.0.1" - checksum: b73e2f22bc863b0939941d369486d308b43d7aef1f9439705e3582bfccaa4516406865e32c968a35f97a99396dac84e2624e67b0a16b0a15086a785e16ce7db9 - languageName: node - linkType: hard - "is-promise@npm:^2.1.0": version: 2.2.2 resolution: "is-promise@npm:2.2.2" @@ -9940,40 +9463,14 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2": version: 3.2.2 resolution: "istanbul-lib-coverage@npm:3.2.2" checksum: 6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b languageName: node linkType: hard -"istanbul-lib-instrument@npm:^5.0.4": - version: 5.2.1 - resolution: "istanbul-lib-instrument@npm:5.2.1" - dependencies: - "@babel/core": "npm:^7.12.3" - "@babel/parser": "npm:^7.14.7" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^6.3.0" - checksum: 8a1bdf3e377dcc0d33ec32fe2b6ecacdb1e4358fd0eb923d4326bb11c67622c0ceb99600a680f3dad5d29c66fc1991306081e339b4d43d0b8a2ab2e1d910a6ee - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^6.0.0": - version: 6.0.1 - resolution: "istanbul-lib-instrument@npm:6.0.1" - dependencies: - "@babel/core": "npm:^7.12.3" - "@babel/parser": "npm:^7.14.7" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^7.5.4" - checksum: 313d61aca3f82a04ad9377841d05061d603ea3d4a4dd281fdda2479ec4ddbc86dc1792c73651f21c93480570d1ecadc5f63011e2df86f30ee662b62c0c00e3d8 - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0": +"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": version: 3.0.1 resolution: "istanbul-lib-report@npm:3.0.1" dependencies: @@ -9984,7 +9481,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-source-maps@npm:^4.0.0": +"istanbul-lib-source-maps@npm:^4.0.1": version: 4.0.1 resolution: "istanbul-lib-source-maps@npm:4.0.1" dependencies: @@ -9995,7 +9492,7 @@ __metadata: languageName: node linkType: hard -"istanbul-reports@npm:^3.1.3": +"istanbul-reports@npm:^3.1.6": version: 3.1.6 resolution: "istanbul-reports@npm:3.1.6" dependencies: @@ -10045,246 +9542,41 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-changed-files@npm:29.7.0" - dependencies: - execa: "npm:^5.0.0" - jest-util: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - checksum: e071384d9e2f6bb462231ac53f29bff86f0e12394c1b49ccafbad225ce2ab7da226279a8a94f421949920bef9be7ef574fd86aee22e8adfa149be73554ab828b - languageName: node - linkType: hard - -"jest-circus@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-circus@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - co: "npm:^4.6.0" - dedent: "npm:^1.0.0" - is-generator-fn: "npm:^2.0.0" - jest-each: "npm:^29.7.0" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - pure-rand: "npm:^6.0.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 8d15344cf7a9f14e926f0deed64ed190c7a4fa1ed1acfcd81e4cc094d3cc5bf7902ebb7b874edc98ada4185688f90c91e1747e0dfd7ac12463b097968ae74b5e - languageName: node - linkType: hard - -"jest-cli@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-cli@npm:29.7.0" - dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - create-jest: "npm:^29.7.0" - exit: "npm:^0.1.2" - import-local: "npm:^3.0.2" - jest-config: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - yargs: "npm:^17.3.1" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: a658fd55050d4075d65c1066364595962ead7661711495cfa1dfeecf3d6d0a8ffec532f3dbd8afbb3e172dd5fd2fb2e813c5e10256e7cf2fea766314942fb43a - languageName: node - linkType: hard - -"jest-config@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-config@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/test-sequencer": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-jest: "npm:^29.7.0" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - deepmerge: "npm:^4.2.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-circus: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - parse-json: "npm:^5.2.0" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-json-comments: "npm:^3.1.1" - peerDependencies: - "@types/node": "*" - ts-node: ">=9.0.0" - peerDependenciesMeta: - "@types/node": - optional: true - ts-node: - optional: true - checksum: bab23c2eda1fff06e0d104b00d6adfb1d1aabb7128441899c9bff2247bd26710b050a5364281ce8d52b46b499153bf7e3ee88b19831a8f3451f1477a0246a0f1 - languageName: node - linkType: hard - "jest-diff@npm:^28.1.3": - version: 28.1.3 - resolution: "jest-diff@npm:28.1.3" - dependencies: - chalk: "npm:^4.0.0" - diff-sequences: "npm:^28.1.1" - jest-get-type: "npm:^28.0.2" - pretty-format: "npm:^28.1.3" - checksum: 17a101ceb7e8f25c3ef64edda15cb1a259c2835395637099f3cc44f578fbd94ced7a13d11c0cbe8c5c1c3959a08544f0a913bec25a305b6dfc9847ce488e7198 - languageName: node - linkType: hard - -"jest-diff@npm:^29.4.1, jest-diff@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-diff@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - diff-sequences: "npm:^29.6.3" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 - languageName: node - linkType: hard - -"jest-docblock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-docblock@npm:29.7.0" - dependencies: - detect-newline: "npm:^3.0.0" - checksum: d932a8272345cf6b6142bb70a2bb63e0856cc0093f082821577ea5bdf4643916a98744dfc992189d2b1417c38a11fa42466f6111526bc1fb81366f56410f3be9 - languageName: node - linkType: hard - -"jest-each@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-each@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - pretty-format: "npm:^29.7.0" - checksum: f7f9a90ebee80cc688e825feceb2613627826ac41ea76a366fa58e669c3b2403d364c7c0a74d862d469b103c843154f8456d3b1c02b487509a12afa8b59edbb4 - languageName: node - linkType: hard - -"jest-environment-jsdom@npm:^29.3.1": - version: 29.7.0 - resolution: "jest-environment-jsdom@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/jsdom": "npm:^20.0.0" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jsdom: "npm:^20.0.0" - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 139b94e2c8ec1bb5a46ce17df5211da65ce867354b3fd4e00fa6a0d1da95902df4cf7881273fc6ea937e5c325d39d6773f0d41b6c469363334de9d489d2c321f - languageName: node - linkType: hard - -"jest-environment-node@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-environment-node@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 61f04fec077f8b1b5c1a633e3612fc0c9aa79a0ab7b05600683428f1e01a4d35346c474bde6f439f9fcc1a4aa9a2861ff852d079a43ab64b02105d1004b2592b - languageName: node - linkType: hard - -"jest-get-type@npm:^28.0.2": - version: 28.0.2 - resolution: "jest-get-type@npm:28.0.2" - checksum: f64a40cfa10d79a56b383919033d35c8c4daee6145a1df31ec5ef2283fa7e8adbd443c6fcb4cfd0f60bbbd89f046c2323952f086b06e875cbbbc1a7d543a6e5e - languageName: node - linkType: hard - -"jest-get-type@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-get-type@npm:29.6.3" - checksum: 552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b - languageName: node - linkType: hard - -"jest-haste-map@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-haste-map@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/graceful-fs": "npm:^4.1.3" - "@types/node": "npm:*" - anymatch: "npm:^3.0.3" - fb-watchman: "npm:^2.0.0" - fsevents: "npm:^2.3.2" - graceful-fs: "npm:^4.2.9" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - walker: "npm:^1.0.8" - dependenciesMeta: - fsevents: - optional: true - checksum: 2683a8f29793c75a4728787662972fedd9267704c8f7ef9d84f2beed9a977f1cf5e998c07b6f36ba5603f53cb010c911fe8cd0ac9886e073fe28ca66beefd30c - languageName: node - linkType: hard - -"jest-junit@npm:^14.0.1": - version: 14.0.1 - resolution: "jest-junit@npm:14.0.1" - dependencies: - mkdirp: "npm:^1.0.4" - strip-ansi: "npm:^6.0.1" - uuid: "npm:^8.3.2" - xml: "npm:^1.0.1" - checksum: ec06ffad0326f037e62637b0c9935f2668c4657bebf4b81ab3b14867482b754f479c93cd13fe8915b763a7196a3dbc3edf323f062026763e4a79891b617e5945 + version: 28.1.3 + resolution: "jest-diff@npm:28.1.3" + dependencies: + chalk: "npm:^4.0.0" + diff-sequences: "npm:^28.1.1" + jest-get-type: "npm:^28.0.2" + pretty-format: "npm:^28.1.3" + checksum: 17a101ceb7e8f25c3ef64edda15cb1a259c2835395637099f3cc44f578fbd94ced7a13d11c0cbe8c5c1c3959a08544f0a913bec25a305b6dfc9847ce488e7198 languageName: node linkType: hard -"jest-leak-detector@npm:^29.7.0": +"jest-diff@npm:^29.4.1, jest-diff@npm:^29.7.0": version: 29.7.0 - resolution: "jest-leak-detector@npm:29.7.0" + resolution: "jest-diff@npm:29.7.0" dependencies: + chalk: "npm:^4.0.0" + diff-sequences: "npm:^29.6.3" jest-get-type: "npm:^29.6.3" pretty-format: "npm:^29.7.0" - checksum: 71bb9f77fc489acb842a5c7be030f2b9acb18574dc9fb98b3100fc57d422b1abc55f08040884bd6e6dbf455047a62f7eaff12aa4058f7cbdc11558718ca6a395 + checksum: 89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 + languageName: node + linkType: hard + +"jest-get-type@npm:^28.0.2": + version: 28.0.2 + resolution: "jest-get-type@npm:28.0.2" + checksum: f64a40cfa10d79a56b383919033d35c8c4daee6145a1df31ec5ef2283fa7e8adbd443c6fcb4cfd0f60bbbd89f046c2323952f086b06e875cbbbc1a7d543a6e5e + languageName: node + linkType: hard + +"jest-get-type@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-get-type@npm:29.6.3" + checksum: 552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b languageName: node linkType: hard @@ -10329,18 +9621,6 @@ __metadata: languageName: node linkType: hard -"jest-mock-extended@npm:^3.0.4": - version: 3.0.5 - resolution: "jest-mock-extended@npm:3.0.5" - dependencies: - ts-essentials: "npm:^7.0.3" - peerDependencies: - jest: ^24.0.0 || ^25.0.0 || ^26.0.0 || ^27.0.0 || ^28.0.0 || ^29.0.0 - typescript: ^3.0.0 || ^4.0.0 || ^5.0.0 - checksum: cbe46aa7bb05c4d57ba82d09003359071e3794ef9ad2835192bec605d78e1d3cc0a7252dcc6db1004a8377be167f05e16795c67edf6d5c9b5a8544ccd3e92ac5 - languageName: node - linkType: hard - "jest-mock@npm:^27.3.0": version: 27.5.1 resolution: "jest-mock@npm:27.5.1" @@ -10351,166 +9631,6 @@ __metadata: languageName: node linkType: hard -"jest-mock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-mock@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - checksum: 7b9f8349ee87695a309fe15c46a74ab04c853369e5c40952d68061d9dc3159a0f0ed73e215f81b07ee97a9faaf10aebe5877a9d6255068a0977eae6a9ff1d5ac - languageName: node - linkType: hard - -"jest-os-detection@npm:^1.3.1": - version: 1.3.1 - resolution: "jest-os-detection@npm:1.3.1" - checksum: 0fd540b9518d443fe037bd74c3413869e23b167faa3c3f2653c652eb9b0f4acf5448df92344bdf67f4d0d6e994294513e3ba6b0507c245e5d9d31e83541ac621 - languageName: node - linkType: hard - -"jest-pnp-resolver@npm:^1.2.2": - version: 1.2.3 - resolution: "jest-pnp-resolver@npm:1.2.3" - peerDependencies: - jest-resolve: "*" - peerDependenciesMeta: - jest-resolve: - optional: true - checksum: 86eec0c78449a2de733a6d3e316d49461af6a858070e113c97f75fb742a48c2396ea94150cbca44159ffd4a959f743a47a8b37a792ef6fdad2cf0a5cba973fac - languageName: node - linkType: hard - -"jest-regex-util@npm:^29.0.0, jest-regex-util@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-regex-util@npm:29.6.3" - checksum: 4e33fb16c4f42111159cafe26397118dcfc4cf08bc178a67149fb05f45546a91928b820894572679d62559839d0992e21080a1527faad65daaae8743a5705a3b - languageName: node - linkType: hard - -"jest-resolve-dependencies@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve-dependencies@npm:29.7.0" - dependencies: - jest-regex-util: "npm:^29.6.3" - jest-snapshot: "npm:^29.7.0" - checksum: b6e9ad8ae5b6049474118ea6441dfddd385b6d1fc471db0136f7c8fbcfe97137a9665e4f837a9f49f15a29a1deb95a14439b7aec812f3f99d08f228464930f0d - languageName: node - linkType: hard - -"jest-resolve@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-pnp-resolver: "npm:^1.2.2" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - resolve: "npm:^1.20.0" - resolve.exports: "npm:^2.0.0" - slash: "npm:^3.0.0" - checksum: 59da5c9c5b50563e959a45e09e2eace783d7f9ac0b5dcc6375dea4c0db938d2ebda97124c8161310082760e8ebbeff9f6b177c15ca2f57fb424f637a5d2adb47 - languageName: node - linkType: hard - -"jest-runner@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runner@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/environment": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - graceful-fs: "npm:^4.2.9" - jest-docblock: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-leak-detector: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-resolve: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - source-map-support: "npm:0.5.13" - checksum: 2194b4531068d939f14c8d3274fe5938b77fa73126aedf9c09ec9dec57d13f22c72a3b5af01ac04f5c1cf2e28d0ac0b4a54212a61b05f10b5d6b47f2a1097bb4 - languageName: node - linkType: hard - -"jest-runtime@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runtime@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/globals": "npm:^29.7.0" - "@jest/source-map": "npm:^29.6.3" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - cjs-module-lexer: "npm:^1.0.0" - collect-v8-coverage: "npm:^1.0.0" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-bom: "npm:^4.0.0" - checksum: 7cd89a1deda0bda7d0941835434e44f9d6b7bd50b5c5d9b0fc9a6c990b2d4d2cab59685ab3cb2850ed4cc37059f6de903af5a50565d7f7f1192a77d3fd6dd2a6 - languageName: node - linkType: hard - -"jest-serializer-html@npm:^7.1.0": - version: 7.1.0 - resolution: "jest-serializer-html@npm:7.1.0" - dependencies: - diffable-html: "npm:^4.1.0" - checksum: e8383431fbacd5ebb9a7c053c849a0d1e0a183e625aba1ede726260186931b229468dc6456b9b821a137123a88ea3b4325884a5c01c5d78b39c106c3d5c18fcc - languageName: node - linkType: hard - -"jest-snapshot@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-snapshot@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@babel/generator": "npm:^7.7.2" - "@babel/plugin-syntax-jsx": "npm:^7.7.2" - "@babel/plugin-syntax-typescript": "npm:^7.7.2" - "@babel/types": "npm:^7.3.3" - "@jest/expect-utils": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - chalk: "npm:^4.0.0" - expect: "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - natural-compare: "npm:^1.4.0" - pretty-format: "npm:^29.7.0" - semver: "npm:^7.5.3" - checksum: 6e9003c94ec58172b4a62864a91c0146513207bedf4e0a06e1e2ac70a4484088a2683e3a0538d8ea913bcfd53dc54a9b98a98cdfa562e7fe1d1339aeae1da570 - languageName: node - linkType: hard - "jest-util@npm:^29.7.0": version: 29.7.0 resolution: "jest-util@npm:29.7.0" @@ -10525,94 +9645,6 @@ __metadata: languageName: node linkType: hard -"jest-validate@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-validate@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - camelcase: "npm:^6.2.0" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - leven: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - checksum: a20b930480c1ed68778c739f4739dce39423131bc070cd2505ddede762a5570a256212e9c2401b7ae9ba4d7b7c0803f03c5b8f1561c62348213aba18d9dbece2 - languageName: node - linkType: hard - -"jest-watch-typeahead@npm:^2.2.1": - version: 2.2.2 - resolution: "jest-watch-typeahead@npm:2.2.2" - dependencies: - ansi-escapes: "npm:^6.0.0" - chalk: "npm:^5.2.0" - jest-regex-util: "npm:^29.0.0" - jest-watcher: "npm:^29.0.0" - slash: "npm:^5.0.0" - string-length: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - peerDependencies: - jest: ^27.0.0 || ^28.0.0 || ^29.0.0 - checksum: 5a55a571d616958cd6c6b52c4bf57cfaa97132cd9681af8ebfa8ebde9fa1d829426ff36f4ef2eaa867142ee97577fdad1735c58c3db62cbb33a39ad97125ee00 - languageName: node - linkType: hard - -"jest-watcher@npm:^29.0.0, jest-watcher@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-watcher@npm:29.7.0" - dependencies: - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - jest-util: "npm:^29.7.0" - string-length: "npm:^4.0.1" - checksum: ec6c75030562fc8f8c727cb8f3b94e75d831fc718785abfc196e1f2a2ebc9a2e38744a15147170039628a853d77a3b695561ce850375ede3a4ee6037a2574567 - languageName: node - linkType: hard - -"jest-worker@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-worker@npm:29.7.0" - dependencies: - "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - merge-stream: "npm:^2.0.0" - supports-color: "npm:^8.0.0" - checksum: 5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 - languageName: node - linkType: hard - -"jest@npm:^29.3.1": - version: 29.7.0 - resolution: "jest@npm:29.7.0" - dependencies: - "@jest/core": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - import-local: "npm:^3.0.2" - jest-cli: "npm:^29.7.0" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: f40eb8171cf147c617cc6ada49d062fbb03b4da666cb8d39cdbfb739a7d75eea4c3ca150fb072d0d273dce0c753db4d0467d54906ad0293f59c54f9db4a09d8b - languageName: node - linkType: hard - -"jest_workaround@npm:^0.79.19": - version: 0.79.19 - resolution: "jest_workaround@npm:0.79.19" - peerDependencies: - "@swc/core": ^1.3.68 - "@swc/jest": ^0.2.26 - checksum: 387ce514e7ef60129891a4647e5431f1e4179bde70de100d50fa4acc8a4f3c072db9cf65c8a7d971ab11437ace78aa77959c65cdb2e55e718c971905c55e62fd - languageName: node - linkType: hard - "jju@npm:^1.4.0": version: 1.4.0 resolution: "jju@npm:1.4.0" @@ -10647,7 +9679,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:3.14.1, js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.6.1": +"js-yaml@npm:3.14.1, js-yaml@npm:^3.10.0, js-yaml@npm:^3.6.1": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" dependencies: @@ -10677,45 +9709,6 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^20.0.0": - version: 20.0.3 - resolution: "jsdom@npm:20.0.3" - dependencies: - abab: "npm:^2.0.6" - acorn: "npm:^8.8.1" - acorn-globals: "npm:^7.0.0" - cssom: "npm:^0.5.0" - cssstyle: "npm:^2.3.0" - data-urls: "npm:^3.0.2" - decimal.js: "npm:^10.4.2" - domexception: "npm:^4.0.0" - escodegen: "npm:^2.0.0" - form-data: "npm:^4.0.0" - html-encoding-sniffer: "npm:^3.0.0" - http-proxy-agent: "npm:^5.0.0" - https-proxy-agent: "npm:^5.0.1" - is-potential-custom-element-name: "npm:^1.0.1" - nwsapi: "npm:^2.2.2" - parse5: "npm:^7.1.1" - saxes: "npm:^6.0.0" - symbol-tree: "npm:^3.2.4" - tough-cookie: "npm:^4.1.2" - w3c-xmlserializer: "npm:^4.0.0" - webidl-conversions: "npm:^7.0.0" - whatwg-encoding: "npm:^2.0.0" - whatwg-mimetype: "npm:^3.0.0" - whatwg-url: "npm:^11.0.0" - ws: "npm:^8.11.0" - xml-name-validator: "npm:^4.0.0" - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: b109073bb826a966db7828f46cb1d7371abecd30f182b143c52be5fe1ed84513bbbe995eb3d157241681fcd18331381e61e3dc004d4949f3a63bca02f6214902 - languageName: node - linkType: hard - "jsesc@npm:^2.5.1": version: 2.5.2 resolution: "jsesc@npm:2.5.2" @@ -10758,9 +9751,9 @@ __metadata: linkType: hard "json-parse-even-better-errors@npm:^3.0.0": - version: 3.0.1 - resolution: "json-parse-even-better-errors@npm:3.0.1" - checksum: bc40600b14231dff1ff911d269c7ed89fbf3dbedf25cad3f47c10ff9cbb998ce03921372a17f27f3c7cfed76e679bc6c02a7b4cb2604b0ba68cd51ed16899492 + version: 3.0.0 + resolution: "json-parse-even-better-errors@npm:3.0.0" + checksum: 128de17135e7af655ed83fc26dab0fe54faf43b3517fa73dcd997cce6e05a445932664f085ec6dbc219aeb0c592e53ef10d2d6dee4a8e9211ea901b8e6dd0b52 languageName: node linkType: hard @@ -11003,7 +9996,7 @@ __metadata: languageName: node linkType: hard -"leven@npm:^3.1.0, leven@npm:^3.1.0 < 4": +"leven@npm:^3.1.0 < 4": version: 3.1.0 resolution: "leven@npm:3.1.0" checksum: cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df @@ -11053,9 +10046,9 @@ __metadata: linkType: hard "lines-and-columns@npm:^2.0.2, lines-and-columns@npm:~2.0.3": - version: 2.0.4 - resolution: "lines-and-columns@npm:2.0.4" - checksum: 4db28bf065cd7ad897c0700f22d3d0d7c5ed6777e138861c601c496d545340df3fc19e18bd04ff8d95a246a245eb55685b82ca2f8c2ca53a008e9c5316250379 + version: 2.0.3 + resolution: "lines-and-columns@npm:2.0.3" + checksum: 09525c10010a925b7efe858f1dd3184eeac34f0a9bc34993075ec490efad71e948147746b18e9540279cc87cd44085b038f986903db3de65ffe96d38a7b91c4c languageName: node linkType: hard @@ -11132,6 +10125,16 @@ __metadata: languageName: node linkType: hard +"local-pkg@npm:^0.5.0": + version: 0.5.0 + resolution: "local-pkg@npm:0.5.0" + dependencies: + mlly: "npm:^1.4.2" + pkg-types: "npm:^1.0.3" + checksum: f61cbd00d7689f275558b1a45c7ff2a3ddf8472654123ed880215677b9adfa729f1081e50c27ffb415cdb9fa706fb755fec5e23cdd965be375c8059e87ff1cc9 + languageName: node + linkType: hard + "locate-path@npm:^3.0.0": version: 3.0.0 resolution: "locate-path@npm:3.0.0" @@ -11344,6 +10347,15 @@ __metadata: languageName: node linkType: hard +"loupe@npm:^2.3.6, loupe@npm:^2.3.7": + version: 2.3.7 + resolution: "loupe@npm:2.3.7" + dependencies: + get-func-name: "npm:^2.0.1" + checksum: 71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 + languageName: node + linkType: hard + "lowdb@npm:1.0.0": version: 1.0.0 resolution: "lowdb@npm:1.0.0" @@ -11372,9 +10384,9 @@ __metadata: linkType: hard "lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": - version: 10.1.0 - resolution: "lru-cache@npm:10.1.0" - checksum: 778bc8b2626daccd75f24c4b4d10632496e21ba064b126f526c626fbdbc5b28c472013fccd45d7646b9e1ef052444824854aed617b59cd570d01a8b7d651fc1e + version: 10.0.1 + resolution: "lru-cache@npm:10.0.1" + checksum: 982dabfb227b9a2daf56d712ae0e72e01115a28c0a2068cd71277bca04568f3417bbf741c6c7941abc5c620fd8059e34f15607f90ebccbfa0a17533322d27a8e languageName: node linkType: hard @@ -11412,6 +10424,26 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.30.5": + version: 0.30.5 + resolution: "magic-string@npm:0.30.5" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + checksum: 38ac220ca7539e96da7ea2f38d85796bdf5c69b6bcae728c4bc2565084e6dc326b9174ee9770bea345cf6c9b3a24041b767167874fab5beca874d2356a9d1520 + languageName: node + linkType: hard + +"magicast@npm:^0.3.2": + version: 0.3.2 + resolution: "magicast@npm:0.3.2" + dependencies: + "@babel/parser": "npm:^7.23.3" + "@babel/types": "npm:^7.23.3" + source-map-js: "npm:^1.0.2" + checksum: cd157b250d962ccdb313f250509220f10ad63f673d88a0a001d201fd2b2dae90c6c65c4e9b6ce164f05c25c400139715edce750e3e2f41b5a249e29225d6c4fb + languageName: node + linkType: hard + "make-dir@npm:^1.0.0": version: 1.3.0 resolution: "make-dir@npm:1.3.0" @@ -11482,15 +10514,6 @@ __metadata: languageName: node linkType: hard -"makeerror@npm:1.0.12": - version: 1.0.12 - resolution: "makeerror@npm:1.0.12" - dependencies: - tmpl: "npm:1.0.5" - checksum: b0e6e599780ce6bab49cc413eba822f7d1f0dfebd1c103eaa3785c59e43e22c59018323cf9e1708f0ef5329e94a745d163fcbb6bff8e4c6742f9be9e86f3500c - languageName: node - linkType: hard - "map-or-similar@npm:^1.5.0": version: 1.5.0 resolution: "map-or-similar@npm:1.5.0" @@ -12095,15 +11118,6 @@ __metadata: languageName: node linkType: hard -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - "minipass-fetch@npm:^2.0.3": version: 2.1.2 resolution: "minipass-fetch@npm:2.1.2" @@ -12214,6 +11228,18 @@ __metadata: languageName: node linkType: hard +"mlly@npm:^1.2.0, mlly@npm:^1.4.2": + version: 1.4.2 + resolution: "mlly@npm:1.4.2" + dependencies: + acorn: "npm:^8.10.0" + pathe: "npm:^1.1.1" + pkg-types: "npm:^1.0.3" + ufo: "npm:^1.3.0" + checksum: 905e3a704c7d3bcaad55f31d6efe9f680eab5be053ab7f8b299b8dbc027041f741fa6a93db9a3c461be2552632f3831b6c43c50af530f5fb2e9cd6273bc9d642 + languageName: node + linkType: hard + "mount-point@npm:^3.0.0": version: 3.0.0 resolution: "mount-point@npm:3.0.0" @@ -12291,6 +11317,15 @@ __metadata: languageName: node linkType: hard +"nanoid@npm:^3.3.7": + version: 3.3.7 + resolution: "nanoid@npm:3.3.7" + bin: + nanoid: bin/nanoid.cjs + checksum: e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 + languageName: node + linkType: hard + "natural-compare-lite@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare-lite@npm:1.4.0" @@ -12418,13 +11453,6 @@ __metadata: languageName: node linkType: hard -"node-int64@npm:^0.4.0": - version: 0.4.0 - resolution: "node-int64@npm:0.4.0" - checksum: a6a4d8369e2f2720e9c645255ffde909c0fbd41c92ea92a5607fc17055955daac99c1ff589d421eee12a0d24e99f7bfc2aabfeb1a4c14742f6c099a51863f31a - languageName: node - linkType: hard - "node-machine-id@npm:1.1.12": version: 1.1.12 resolution: "node-machine-id@npm:1.1.12" @@ -12439,6 +11467,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.14": + version: 2.0.14 + resolution: "node-releases@npm:2.0.14" + checksum: 199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 + languageName: node + linkType: hard + "nopt@npm:^6.0.0": version: 6.0.0 resolution: "nopt@npm:6.0.0" @@ -12554,13 +11589,6 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:^2.2.2": - version: 2.2.7 - resolution: "nwsapi@npm:2.2.7" - checksum: 44be198adae99208487a1c886c0a3712264f7bbafa44368ad96c003512fed2753d4e22890ca1e6edb2690c3456a169f2a3c33bfacde1905cf3bf01c7722464db - languageName: node - linkType: hard - "nx@npm:17.0.2": version: 17.0.2 resolution: "nx@npm:17.0.2" @@ -12933,6 +11961,15 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^5.0.0": + version: 5.0.0 + resolution: "p-limit@npm:5.0.0" + dependencies: + yocto-queue: "npm:^1.0.0" + checksum: 574e93b8895a26e8485eb1df7c4b58a1a6e8d8ae41b1750cc2cc440922b3d306044fc6e9a7f74578a883d46802d9db72b30f2e612690fcef838c173261b1ed83 + languageName: node + linkType: hard + "p-locate@npm:^3.0.0": version: 3.0.0 resolution: "p-locate@npm:3.0.0" @@ -13045,7 +12082,7 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": +"parse-json@npm:^5.0.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" dependencies: @@ -13092,15 +12129,6 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^7.0.0, parse5@npm:^7.1.1": - version: 7.1.2 - resolution: "parse5@npm:7.1.2" - dependencies: - entities: "npm:^4.4.0" - checksum: 297d7af8224f4b5cb7f6617ecdae98eeaed7f8cbd78956c42785e230505d5a4f07cef352af10d3006fa5c1544b76b57784d3a22d861ae071bbc460c649482bf4 - languageName: node - linkType: hard - "parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" @@ -13197,6 +12225,20 @@ __metadata: languageName: node linkType: hard +"pathe@npm:^1.1.0, pathe@npm:^1.1.1": + version: 1.1.1 + resolution: "pathe@npm:1.1.1" + checksum: 3ae5a0529c3415d91c3ac9133f52cffea54a0dd46892fe059f4b80faf36fd207957d4594bdc87043b65d0761b1e5728f81f46bafff3b5302da4e2e48889b8c0e + languageName: node + linkType: hard + +"pathval@npm:^1.1.1": + version: 1.1.1 + resolution: "pathval@npm:1.1.1" + checksum: f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc + languageName: node + linkType: hard + "pend@npm:~1.2.0": version: 1.2.0 resolution: "pend@npm:1.2.0" @@ -13310,19 +12352,10 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.1, pirates@npm:^4.0.4": +"pirates@npm:^4.0.1": version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 - languageName: node - linkType: hard - -"pkg-dir@npm:^4.2.0": - version: 4.2.0 - resolution: "pkg-dir@npm:4.2.0" - dependencies: - find-up: "npm:^4.0.0" - checksum: c56bda7769e04907a88423feb320babaed0711af8c436ce3e56763ab1021ba107c7b0cafb11cde7529f669cfc22bffcaebffb573645cbd63842ea9fb17cd7728 + resolution: "pirates@npm:4.0.6" + checksum: 00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 languageName: node linkType: hard @@ -13344,6 +12377,17 @@ __metadata: languageName: node linkType: hard +"pkg-types@npm:^1.0.3": + version: 1.0.3 + resolution: "pkg-types@npm:1.0.3" + dependencies: + jsonc-parser: "npm:^3.2.0" + mlly: "npm:^1.2.0" + pathe: "npm:^1.1.0" + checksum: 7f692ff2005f51b8721381caf9bdbc7f5461506ba19c34f8631660a215c8de5e6dca268f23a319dd180b8f7c47a0dc6efea14b376c485ff99e98d810b8f786c4 + languageName: node + linkType: hard + "pkginfo@npm:0.4.1": version: 0.4.1 resolution: "pkginfo@npm:0.4.1" @@ -13416,6 +12460,17 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.4.32": + version: 8.4.32 + resolution: "postcss@npm:8.4.32" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.0.0" + source-map-js: "npm:^1.0.2" + checksum: 39308a9195fa34d4dbdd7b58a896cff0c7809f84f7a4ac1b95b68ca86c9138a395addff33075668ed3983d41b90aac05754c445237a9365eb1c3a5602ebd03ad + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -13555,7 +12610,7 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.0.1, prompts@npm:^2.4.0": +"prompts@npm:^2.4.0": version: 2.4.2 resolution: "prompts@npm:2.4.2" dependencies: @@ -13600,7 +12655,7 @@ __metadata: languageName: node linkType: hard -"psl@npm:^1.1.28, psl@npm:^1.1.33": +"psl@npm:^1.1.28": version: 1.9.0 resolution: "psl@npm:1.9.0" checksum: 6a3f805fdab9442f44de4ba23880c4eba26b20c8e8e0830eff1cb31007f6825dace61d17203c58bfe36946842140c97a1ba7f67bc63ca2d88a7ee052b65d97ab @@ -13624,13 +12679,6 @@ __metadata: languageName: node linkType: hard -"pure-rand@npm:^6.0.0": - version: 6.0.4 - resolution: "pure-rand@npm:6.0.4" - checksum: 0fe7b12f25b10ea5b804598a6f37e4bcf645d2be6d44fe963741f014bf0095bdb6ff525106d6da6e76addc8142358fd380f1a9b8c62ea4d5516bf26a96a37c95 - languageName: node - linkType: hard - "qs@npm:6.11.0": version: 6.11.0 resolution: "qs@npm:6.11.0" @@ -13668,13 +12716,6 @@ __metadata: languageName: node linkType: hard -"querystringify@npm:^2.1.1": - version: 2.2.0 - resolution: "querystringify@npm:2.2.0" - checksum: 3258bc3dbdf322ff2663619afe5947c7926a6ef5fb78ad7d384602974c467fadfc8272af44f5eb8cddd0d011aae8fabf3a929a8eee4b86edcc0a21e6bd10f9aa - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -14611,15 +13652,6 @@ __metadata: languageName: node linkType: hard -"resolve-cwd@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-cwd@npm:3.0.0" - dependencies: - resolve-from: "npm:^5.0.0" - checksum: e608a3ebd15356264653c32d7ecbc8fd702f94c6703ea4ac2fb81d9c359180cba0ae2e6b71faa446631ed6145454d5a56b227efc33a2d40638ac13f8beb20ee4 - languageName: node - linkType: hard - "resolve-from@npm:^4.0.0": version: 4.0.0 resolution: "resolve-from@npm:4.0.0" @@ -14634,14 +13666,7 @@ __metadata: languageName: node linkType: hard -"resolve.exports@npm:^2.0.0": - version: 2.0.2 - resolution: "resolve.exports@npm:2.0.2" - checksum: cc4cffdc25447cf34730f388dca5021156ba9302a3bad3d7f168e790dc74b2827dff603f1bc6ad3d299bac269828dca96dd77e036dc9fba6a2a1807c47ab5c98 - languageName: node - linkType: hard - -"resolve@npm:^1.10.0, resolve@npm:^1.12.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.4": +"resolve@npm:^1.10.0, resolve@npm:^1.12.0, resolve@npm:^1.14.2, resolve@npm:^1.22.4": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -14667,7 +13692,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.12.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": +"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.12.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -14786,6 +13811,56 @@ __metadata: languageName: node linkType: hard +"rollup@npm:^4.2.0": + version: 4.3.0 + resolution: "rollup@npm:4.3.0" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.3.0" + "@rollup/rollup-android-arm64": "npm:4.3.0" + "@rollup/rollup-darwin-arm64": "npm:4.3.0" + "@rollup/rollup-darwin-x64": "npm:4.3.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.3.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.3.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.3.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.3.0" + "@rollup/rollup-linux-x64-musl": "npm:4.3.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.3.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.3.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.3.0" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: d96b4e383930c560d56483abdf0b44ff90e065a9d1af6f089972103951824fc6f69d2799e2165c4275d616be3a92c869981d9cdcb8aa22fa63b2276a45f28286 + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -14864,15 +13939,6 @@ __metadata: languageName: node linkType: hard -"saxes@npm:^6.0.0": - version: 6.0.0 - resolution: "saxes@npm:6.0.0" - dependencies: - xmlchars: "npm:^2.2.0" - checksum: 3847b839f060ef3476eb8623d099aa502ad658f5c40fd60c105ebce86d244389b0d76fcae30f4d0c728d7705ceb2f7e9b34bb54717b6a7dbedaf5dad2d9a4b74 - languageName: node - linkType: hard - "scheduler@npm:^0.23.0": version: 0.23.0 resolution: "scheduler@npm:0.23.0" @@ -14958,7 +14024,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1": +"semver@npm:^6.0.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -15080,6 +14146,13 @@ __metadata: languageName: node linkType: hard +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 + languageName: node + linkType: hard + "signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" @@ -15087,7 +14160,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1": +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" checksum: 41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 @@ -15095,13 +14168,13 @@ __metadata: linkType: hard "simple-git@npm:^3.18.0": - version: 3.21.0 - resolution: "simple-git@npm:3.21.0" + version: 3.20.0 + resolution: "simple-git@npm:3.20.0" dependencies: "@kwsites/file-exists": "npm:^1.1.1" "@kwsites/promise-deferred": "npm:^1.1.1" debug: "npm:^4.3.4" - checksum: b3083da7736f1bac448cfe7d359d257cfe128091041d23c3ed9a35cddab4d454abdac8d9928b33920e4eaf328d350b68d62bac18bf6fbf3f31d8ef05b6d20f02 + checksum: 8e7db8919145c523ed8d08dcd23b3ffd304e681a07bbe2f14e883bec8bab06922040e30b68ed65aad28e9953ce6df998c5c73a0a567537f837b5369753ce1e69 languageName: node linkType: hard @@ -15266,13 +14339,10 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:0.5.13": - version: 0.5.13 - resolution: "source-map-support@npm:0.5.13" - dependencies: - buffer-from: "npm:^1.0.0" - source-map: "npm:^0.6.0" - checksum: 137539f8c453fa0f496ea42049ab5da4569f96781f6ac8e5bfda26937be9494f4e8891f523c5f98f0e85f71b35d74127a00c46f83f6a4f54672b58d53202565e +"source-map-js@npm:^1.0.2": + version: 1.0.2 + resolution: "source-map-js@npm:1.0.2" + checksum: 32f2dfd1e9b7168f9a9715eb1b4e21905850f3b50cf02cf476e47e4eebe8e6b762b63a64357896aa29b37e24922b4282df0f492e0d2ace572b43d15525976ff8 languageName: node linkType: hard @@ -15285,7 +14355,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": +"source-map@npm:^0.6.1, source-map@npm:~0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" checksum: ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 @@ -15333,15 +14403,6 @@ __metadata: languageName: node linkType: hard -"specificity@npm:^0.4.1": - version: 0.4.1 - resolution: "specificity@npm:0.4.1" - bin: - specificity: ./bin/specificity - checksum: 5da85a05052b55e344cb0f5bce5d07cbabbbe8945da176a481589db5a13e9fbcfa879ceb075cf564b94e680fae0a2ab14ea55cc87496b86a6d5122545946d7c2 - languageName: node - linkType: hard - "split-on-first@npm:^1.0.0": version: 1.1.0 resolution: "split-on-first@npm:1.1.0" @@ -15411,6 +14472,13 @@ __metadata: languageName: node linkType: hard +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 + languageName: node + linkType: hard + "statuses@npm:2.0.1": version: 2.0.1 resolution: "statuses@npm:2.0.1" @@ -15418,6 +14486,13 @@ __metadata: languageName: node linkType: hard +"std-env@npm:^3.5.0": + version: 3.6.0 + resolution: "std-env@npm:3.6.0" + checksum: a540b8cb011bef4bf5905e1e28f24ce37124f9d001c69224ee0025d3600144e6847bac62cd38fbd98148ab4d26ab0682b9b4d42bc863cd1cca0b9807f18aadba + languageName: node + linkType: hard + "steno@npm:^0.4.1": version: 0.4.4 resolution: "steno@npm:0.4.4" @@ -15466,26 +14541,6 @@ __metadata: languageName: node linkType: hard -"string-length@npm:^4.0.1": - version: 4.0.2 - resolution: "string-length@npm:4.0.2" - dependencies: - char-regex: "npm:^1.0.2" - strip-ansi: "npm:^6.0.0" - checksum: 1cd77409c3d7db7bc59406f6bcc9ef0783671dcbabb23597a1177c166906ef2ee7c8290f78cae73a8aec858768f189d2cb417797df5e15ec4eb5e16b3346340c - languageName: node - linkType: hard - -"string-length@npm:^5.0.1": - version: 5.0.1 - resolution: "string-length@npm:5.0.1" - dependencies: - char-regex: "npm:^2.0.0" - strip-ansi: "npm:^7.0.1" - checksum: 311fa5758d397bd616be17150dfefaab4755ed292a3112237924d10ba5122f606064ad4880a293387401c1d7aa20d79f7936728bac2abed17a5e48f5b317cbc8 - languageName: node - linkType: hard - "string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -15612,13 +14667,6 @@ __metadata: languageName: node linkType: hard -"strip-bom@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-bom@npm:4.0.0" - checksum: 26abad1172d6bc48985ab9a5f96c21e440f6e7e476686de49be813b5a59b3566dccb5c525b831ec54fe348283b47f3ffb8e080bc3f965fde12e84df23f6bb7ef - languageName: node - linkType: hard - "strip-dirs@npm:^2.0.0": version: 2.1.0 resolution: "strip-dirs@npm:2.1.0" @@ -15665,6 +14713,15 @@ __metadata: languageName: node linkType: hard +"strip-literal@npm:^1.3.0": + version: 1.3.0 + resolution: "strip-literal@npm:1.3.0" + dependencies: + acorn: "npm:^8.10.0" + checksum: 3c0c9ee41eb346e827eede61ef288457f53df30e3e6ff8b94fa81b636933b0c13ca4ea5c97d00a10d72d04be326da99ac819f8769f0c6407ba8177c98344a916 + languageName: node + linkType: hard + "strong-log-transformer@npm:^2.1.0": version: 2.1.0 resolution: "strong-log-transformer@npm:2.1.0" @@ -15685,13 +14742,6 @@ __metadata: languageName: node linkType: hard -"stylis@npm:4.2.0": - version: 4.2.0 - resolution: "stylis@npm:4.2.0" - checksum: a7128ad5a8ed72652c6eba46bed4f416521bc9745a460ef5741edc725252cebf36ee45e33a8615a7057403c93df0866ab9ee955960792db210bb80abd5ac6543 - languageName: node - linkType: hard - "sucrase@npm:^3.20.3": version: 3.34.0 resolution: "sucrase@npm:3.34.0" @@ -15737,15 +14787,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: "npm:^4.0.0" - checksum: ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 - languageName: node - linkType: hard - "supports-color@npm:^9.0.0": version: 9.4.0 resolution: "supports-color@npm:9.4.0" @@ -15770,13 +14811,6 @@ __metadata: languageName: node linkType: hard -"symbol-tree@npm:^3.2.4": - version: 3.2.4 - resolution: "symbol-tree@npm:3.2.4" - checksum: dfbe201ae09ac6053d163578778c53aa860a784147ecf95705de0cd23f42c851e1be7889241495e95c37cabb058edb1052f141387bef68f705afc8f9dd358509 - languageName: node - linkType: hard - "syntax-error@npm:^1.1.6": version: 1.4.0 resolution: "syntax-error@npm:1.4.0" @@ -15940,6 +14974,27 @@ __metadata: languageName: node linkType: hard +"tinybench@npm:^2.5.1": + version: 2.5.1 + resolution: "tinybench@npm:2.5.1" + checksum: 9c55ef25ce1689c3e2fdb89cacbf27dada4d04f846cac70023fe97fc35d2122816d8bbc5b20253e071d13688cf006355d59f0096d22958b818e1e2fe60e5165b + languageName: node + linkType: hard + +"tinypool@npm:^0.8.1": + version: 0.8.1 + resolution: "tinypool@npm:0.8.1" + checksum: d965c057a1866c9d83716f4e434f7be18b2a067ed3b32cc2de3b3bf34ca1756ac1c35bd04433e2086c8cc2afa75b328e4b17baa6b4e6292dba2ce31cc76770e0 + languageName: node + linkType: hard + +"tinyspy@npm:^2.2.0": + version: 2.2.0 + resolution: "tinyspy@npm:2.2.0" + checksum: 8c7b70748dd8590e85d52741db79243746c15bc03c92d75c23160a762142db577e7f53e360ba7300e321b12bca5c42dd2522a8dbeec6ba3830302573dd8516bc + languageName: node + linkType: hard + "tmp@npm:~0.2.1": version: 0.2.1 resolution: "tmp@npm:0.2.1" @@ -15949,13 +15004,6 @@ __metadata: languageName: node linkType: hard -"tmpl@npm:1.0.5": - version: 1.0.5 - resolution: "tmpl@npm:1.0.5" - checksum: f935537799c2d1922cb5d6d3805f594388f75338fe7a4a9dac41504dd539704ca4db45b883b52e7b0aa5b2fd5ddadb1452bf95cd23a69da2f793a843f9451cc9 - languageName: node - linkType: hard - "to-buffer@npm:^1.1.1": version: 1.1.1 resolution: "to-buffer@npm:1.1.1" @@ -16013,18 +15061,6 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.1.2": - version: 4.1.3 - resolution: "tough-cookie@npm:4.1.3" - dependencies: - psl: "npm:^1.1.33" - punycode: "npm:^2.1.1" - universalify: "npm:^0.2.0" - url-parse: "npm:^1.5.3" - checksum: 4fc0433a0cba370d57c4b240f30440c848906dee3180bb6e85033143c2726d322e7e4614abb51d42d111ebec119c4876ed8d7247d4113563033eebbc1739c831 - languageName: node - linkType: hard - "tough-cookie@npm:~2.5.0": version: 2.5.0 resolution: "tough-cookie@npm:2.5.0" @@ -16044,15 +15080,6 @@ __metadata: languageName: node linkType: hard -"tr46@npm:^3.0.0": - version: 3.0.0 - resolution: "tr46@npm:3.0.0" - dependencies: - punycode: "npm:^2.1.1" - checksum: cdc47cad3a9d0b6cb293e39ccb1066695ae6fdd39b9e4f351b010835a1f8b4f3a6dc3a55e896b421371187f22b48d7dac1b693de4f6551bdef7b6ab6735dfe3b - languageName: node - linkType: hard - "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -16113,15 +15140,6 @@ __metadata: languageName: node linkType: hard -"ts-essentials@npm:^7.0.3": - version: 7.0.3 - resolution: "ts-essentials@npm:7.0.3" - peerDependencies: - typescript: ">=3.7.0" - checksum: ea1919534ec6ce4ca4d9cb0ff1ab8e053509237da8d4298762ab3bfba4e78ca5649a599ce78a5c7c2624f3a7a971f62b265b7b0c3c881336e4fa6acaf6f37544 - languageName: node - linkType: hard - "ts-interface-checker@npm:^0.1.9": version: 0.1.13 resolution: "ts-interface-checker@npm:0.1.13" @@ -16130,8 +15148,8 @@ __metadata: linkType: hard "ts-loader@npm:^9.4.2": - version: 9.5.1 - resolution: "ts-loader@npm:9.5.1" + version: 9.5.0 + resolution: "ts-loader@npm:9.5.0" dependencies: chalk: "npm:^4.1.0" enhanced-resolve: "npm:^5.0.0" @@ -16141,7 +15159,7 @@ __metadata: peerDependencies: typescript: "*" webpack: ^5.0.0 - checksum: 7dc1e3e5d3d032b6ef27836032f02c57077dfbcdf5817cbbc16b7b8609e7ed1d0ec157a03eaac07960161d8ad4a9e030c4d6722fe33540cf6ee75156c7f9c33d + checksum: 433664f4dc52a91cc297266e142633c5398ebae8dbc70da12ce88d0468bd35f536d5aeb59233718d22750648a2770509bd36b29565ada356e5f1533cdfbb6da4 languageName: node linkType: hard @@ -16275,7 +15293,7 @@ __metadata: languageName: node linkType: hard -"type-detect@npm:4.0.8": +"type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" checksum: 8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd @@ -16373,6 +15391,13 @@ __metadata: languageName: node linkType: hard +"ufo@npm:^1.3.0": + version: 1.3.1 + resolution: "ufo@npm:1.3.1" + checksum: 9348ff03f76820116c4735625ee894912bc92b6d49dc63474a89a35d2752265421a405f0033b961bb0b885d460c915e7860adb6dc854422faf3483882f14ba86 + languageName: node + linkType: hard + "uglify-js@npm:^3.1.4": version: 3.17.4 resolution: "uglify-js@npm:3.17.4" @@ -16412,11 +15437,11 @@ __metadata: linkType: hard "undici@npm:^5.25.4": - version: 5.28.1 - resolution: "undici@npm:5.28.1" + version: 5.27.2 + resolution: "undici@npm:5.27.2" dependencies: "@fastify/busboy": "npm:^2.0.0" - checksum: d7421957f829cb1e8188d1e136454cb0ab30a275213c9831bcbaec5aa15191fe8b094472d7d0d35f62a0cc50aba430ec7193d1e87ded01616a24ef8f673d42f0 + checksum: 0cb62c57edc938f242c116e41fb2a74f81ed20e7e2e554cf1ceae548520df0592385b53d444f8cf59e1e10e6b27acd153198d8a2353b3040d0a778a099aac92c languageName: node linkType: hard @@ -16822,16 +15847,9 @@ __metadata: linkType: hard "universal-user-agent@npm:^6.0.0": - version: 6.0.1 - resolution: "universal-user-agent@npm:6.0.1" - checksum: 5c9c46ffe19a975e11e6443640ed4c9e0ce48fcc7203325757a8414ac49940ebb0f4667f2b1fa561489d1eb22cb2d05a0f7c82ec20c5cba42e58e188fb19b187 - languageName: node - linkType: hard - -"universalify@npm:^0.2.0": - version: 0.2.0 - resolution: "universalify@npm:0.2.0" - checksum: cedbe4d4ca3967edf24c0800cfc161c5a15e240dac28e3ce575c689abc11f2c81ccc6532c8752af3b40f9120fb5e454abecd359e164f4f6aa44c29cd37e194fe + version: 6.0.0 + resolution: "universal-user-agent@npm:6.0.0" + checksum: ebeb0206963666c13bcf9ebc86d0577c7daed5870c05cd34d4972ee7a43b9ef20679baf2a8c83bf1b71d899bae67243ac4982d84ddaf9ba0355ff76595819961 languageName: node linkType: hard @@ -16886,16 +15904,6 @@ __metadata: languageName: node linkType: hard -"url-parse@npm:^1.5.3": - version: 1.5.10 - resolution: "url-parse@npm:1.5.10" - dependencies: - querystringify: "npm:^2.1.1" - requires-port: "npm:^1.0.0" - checksum: bd5aa9389f896974beb851c112f63b466505a04b4807cea2e5a3b7092f6fbb75316f0491ea84e44f66fed55f1b440df5195d7e3a8203f64fcefa19d182f5be87 - languageName: node - linkType: hard - "urlgrey@npm:0.4.4": version: 0.4.4 resolution: "urlgrey@npm:0.4.4" @@ -16987,7 +15995,7 @@ __metadata: languageName: node linkType: hard -"v8-to-istanbul@npm:^9.0.1": +"v8-to-istanbul@npm:^9.2.0": version: 9.2.0 resolution: "v8-to-istanbul@npm:9.2.0" dependencies: @@ -17251,6 +16259,112 @@ __metadata: languageName: node linkType: hard +"vite-node@npm:1.0.1": + version: 1.0.1 + resolution: "vite-node@npm:1.0.1" + dependencies: + cac: "npm:^6.7.14" + debug: "npm:^4.3.4" + pathe: "npm:^1.1.1" + picocolors: "npm:^1.0.0" + vite: "npm:^5.0.0-beta.15 || ^5.0.0" + bin: + vite-node: vite-node.mjs + checksum: 12e2e863597deae1539f4415238a2f32696cce986df71103afb4d6df1187558141417d3c2f67c43e13d7b111e6ac11318c7f93017490890f57fb07cd32c77ee5 + languageName: node + linkType: hard + +"vite@npm:^5.0.0-beta.15 || ^5.0.0, vite@npm:^5.0.0-beta.19 || ^5.0.0": + version: 5.0.5 + resolution: "vite@npm:5.0.5" + dependencies: + esbuild: "npm:^0.19.3" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.32" + rollup: "npm:^4.2.0" + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 22fbaacbc87eff7d1de46104880c5d269d3bb2964957e9d13edaac819e6a90b5ce2567b5d0ba8c92a7bd5bcf0412ae7d22ce958047490931fbb466b1908ff17c + languageName: node + linkType: hard + +"vitest@npm:^1.0.1": + version: 1.0.1 + resolution: "vitest@npm:1.0.1" + dependencies: + "@vitest/expect": "npm:1.0.1" + "@vitest/runner": "npm:1.0.1" + "@vitest/snapshot": "npm:1.0.1" + "@vitest/spy": "npm:1.0.1" + "@vitest/utils": "npm:1.0.1" + acorn-walk: "npm:^8.3.0" + cac: "npm:^6.7.14" + chai: "npm:^4.3.10" + debug: "npm:^4.3.4" + execa: "npm:^8.0.1" + local-pkg: "npm:^0.5.0" + magic-string: "npm:^0.30.5" + pathe: "npm:^1.1.1" + picocolors: "npm:^1.0.0" + std-env: "npm:^3.5.0" + strip-literal: "npm:^1.3.0" + tinybench: "npm:^2.5.1" + tinypool: "npm:^0.8.1" + vite: "npm:^5.0.0-beta.19 || ^5.0.0" + vite-node: "npm:1.0.1" + why-is-node-running: "npm:^2.2.2" + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": ^1.0.0 + "@vitest/ui": ^1.0.0 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + bin: + vitest: vitest.mjs + checksum: e59bab2c0a20411e3fc1e4afa954de5d9865e8d36a1ee646402c77251d769538241ba243519ed05d65fe9e956298313aeb7d61655f8fd2e0009f9bcb9bbf9a48 + languageName: node + linkType: hard + "vscode-json-languageservice@npm:^4.1.6": version: 4.2.1 resolution: "vscode-json-languageservice@npm:4.2.1" @@ -17292,27 +16406,18 @@ __metadata: languageName: node linkType: hard -"w3c-xmlserializer@npm:^4.0.0": - version: 4.0.0 - resolution: "w3c-xmlserializer@npm:4.0.0" - dependencies: - xml-name-validator: "npm:^4.0.0" - checksum: 02cc66d6efc590bd630086cd88252444120f5feec5c4043932b0d0f74f8b060512f79dc77eb093a7ad04b4f02f39da79ce4af47ceb600f2bf9eacdc83204b1a8 - languageName: node - linkType: hard - "wait-on@npm:^7.0.1": - version: 7.2.0 - resolution: "wait-on@npm:7.2.0" + version: 7.1.0 + resolution: "wait-on@npm:7.1.0" dependencies: - axios: "npm:^1.6.1" + axios: "npm:^0.27.2" joi: "npm:^17.11.0" lodash: "npm:^4.17.21" minimist: "npm:^1.2.8" rxjs: "npm:^7.8.1" bin: wait-on: bin/wait-on - checksum: 1eff2189b3e4b0975889f3e480c75ca2a0d4275072779a6329e7cae8b729620594aa044509ddd89967de6ab2162169501b67b8d9562c16cac517837ffce17337 + checksum: 1d3977fa23edd2ab81daebfb7874cb770dee568d6ba0247b01ce67a5906962dcb060bcc1a85a80989d504ee0ab1925106c33093bea39ddf9f0d7443647b59ce3 languageName: node linkType: hard @@ -17323,15 +16428,6 @@ __metadata: languageName: node linkType: hard -"walker@npm:^1.0.8": - version: 1.0.8 - resolution: "walker@npm:1.0.8" - dependencies: - makeerror: "npm:1.0.12" - checksum: a17e037bccd3ca8a25a80cb850903facdfed0de4864bd8728f1782370715d679fa72e0a0f5da7c1c1379365159901e5935f35be531229da53bbfc0efdabdb48e - languageName: node - linkType: hard - "wcwidth@npm:^1.0.1": version: 1.0.1 resolution: "wcwidth@npm:1.0.1" @@ -17355,13 +16451,6 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^7.0.0": - version: 7.0.0 - resolution: "webidl-conversions@npm:7.0.0" - checksum: 228d8cb6d270c23b0720cb2d95c579202db3aaf8f633b4e9dd94ec2000a04e7e6e43b76a94509cdb30479bd00ae253ab2371a2da9f81446cc313f89a4213a2c4 - languageName: node - linkType: hard - "whatwg-encoding@npm:^2.0.0": version: 2.0.0 resolution: "whatwg-encoding@npm:2.0.0" @@ -17371,23 +16460,6 @@ __metadata: languageName: node linkType: hard -"whatwg-mimetype@npm:^3.0.0": - version: 3.0.0 - resolution: "whatwg-mimetype@npm:3.0.0" - checksum: 323895a1cda29a5fb0b9ca82831d2c316309fede0365047c4c323073e3239067a304a09a1f4b123b9532641ab604203f33a1403b5ca6a62ef405bcd7a204080f - languageName: node - linkType: hard - -"whatwg-url@npm:^11.0.0": - version: 11.0.0 - resolution: "whatwg-url@npm:11.0.0" - dependencies: - tr46: "npm:^3.0.0" - webidl-conversions: "npm:^7.0.0" - checksum: f7ec264976d7c725e0696fcaf9ebe056e14422eacbf92fdbb4462034609cba7d0c85ffa1aab05e9309d42969bcf04632ba5ed3f3882c516d7b093053315bf4c1 - languageName: node - linkType: hard - "whatwg-url@npm:^5.0.0": version: 5.0.0 resolution: "whatwg-url@npm:5.0.0" @@ -17507,6 +16579,18 @@ __metadata: languageName: node linkType: hard +"why-is-node-running@npm:^2.2.2": + version: 2.2.2 + resolution: "why-is-node-running@npm:2.2.2" + dependencies: + siginfo: "npm:^2.0.0" + stackback: "npm:0.0.2" + bin: + why-is-node-running: cli.js + checksum: 805d57eb5d33f0fb4e36bae5dceda7fd8c6932c2aeb705e30003970488f1a2bc70029ee64be1a0e1531e2268b11e65606e88e5b71d667ea745e6dc48fc9014bd + languageName: node + linkType: hard + "wide-align@npm:^1.1.2, wide-align@npm:^1.1.5": version: 1.1.5 resolution: "wide-align@npm:1.1.5" @@ -17603,31 +16687,6 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^4.0.2": - version: 4.0.2 - resolution: "write-file-atomic@npm:4.0.2" - dependencies: - imurmurhash: "npm:^0.1.4" - signal-exit: "npm:^3.0.7" - checksum: a2c282c95ef5d8e1c27b335ae897b5eca00e85590d92a3fd69a437919b7b93ff36a69ea04145da55829d2164e724bc62202cdb5f4b208b425aba0807889375c7 - languageName: node - linkType: hard - -"ws@npm:^8.11.0": - version: 8.14.2 - resolution: "ws@npm:8.14.2" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 35b4c2da048b8015c797fd14bcb5a5766216ce65c8a5965616a5440ca7b6c3681ee3cbd0ea0c184a59975556e9d58f2002abf8485a14d11d3371770811050a16 - languageName: node - linkType: hard - "xcase@npm:^2.0.1": version: 2.0.1 resolution: "xcase@npm:2.0.1" @@ -17654,13 +16713,6 @@ __metadata: languageName: node linkType: hard -"xml-name-validator@npm:^4.0.0": - version: 4.0.0 - resolution: "xml-name-validator@npm:4.0.0" - checksum: c1bfa219d64e56fee265b2bd31b2fcecefc063ee802da1e73bad1f21d7afd89b943c9e2c97af2942f60b1ad46f915a4c81e00039c7d398b53cf410e29d3c30bd - languageName: node - linkType: hard - "xml@npm:^1.0.1": version: 1.0.1 resolution: "xml@npm:1.0.1" @@ -17668,13 +16720,6 @@ __metadata: languageName: node linkType: hard -"xmlchars@npm:^2.2.0": - version: 2.2.0 - resolution: "xmlchars@npm:2.2.0" - checksum: b64b535861a6f310c5d9bfa10834cf49127c71922c297da9d4d1b45eeaae40bf9b4363275876088fbe2667e5db028d2cd4f8ee72eed9bede840a67d57dab7593 - languageName: node - linkType: hard - "xtend@npm:^4.0.0, xtend@npm:^4.0.2, xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" @@ -17724,7 +16769,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.0.0, yargs@npm:^17.3.1, yargs@npm:^17.6.2": +"yargs@npm:^17.0.0, yargs@npm:^17.6.2": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies:
react
{reactVersion}
react-dom
{reactDomVersion}
+ react: {reactVersion} +
+ react-dom: {reactDomVersion} +
/(background|color)$/i