diff --git a/AGENTS.md b/AGENTS.md index f462a3cb9d09..4e3450d1431b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,7 +6,7 @@ This file is the canonical instruction source for coding agents. Files like `CLA ## Repository Overview -Storybook is a large TypeScript monorepo. The git root is the repo root, the main code lives in `code/`, and build tooling lives in `scripts/`. +Storybook is a large TypeScript monorepo. The git root is the repo root, the main code lives in `code/`, and build tooling lives in `scripts/`. The default branch is `next`. - **Base branch**: `next` (all PRs should target `next`, not `main`) - **Node.js**: `22.21.1` (see `.nvmrc`) @@ -112,9 +112,9 @@ yarn nx run-many -t check ```bash cd code && yarn storybook:ui cd code && yarn storybook:ui:build -cd code && yarn test -cd code && yarn test:watch -cd code && yarn storybook:vitest +yarn test +yarn test:watch +yarn storybook:vitest ``` ### Common task scenarios @@ -126,8 +126,8 @@ cd code && yarn storybook:vitest | Check TypeScript errors quickly | `yarn nx run-many -t check` | | Start the internal Storybook UI | `cd code && yarn storybook:ui` | | Build the internal Storybook UI | `cd code && yarn storybook:ui:build` | -| Run unit tests | `cd code && yarn test` | -| Run Storybook Vitest tests | `cd code && yarn storybook:vitest` | +| Run unit tests | `yarn test` | +| Run Storybook Vitest tests | `yarn storybook:vitest` | | Generate a sandbox | `yarn task sandbox --template react-vite/default-ts --start-from auto` | | Run sandbox E2E tests | `yarn task e2e-tests-dev --template react-vite/default-ts --start-from auto` | | Run sandbox test-runner tests | `yarn task test-runner-dev --template react-vite/default-ts --start-from auto` | @@ -210,7 +210,7 @@ Common templates: ## Testing Expectations -- Use `cd code && yarn test` for unit tests +- Use `yarn test` for unit tests - Use Storybook UI or Chromatic for visual validation - Use `yarn task e2e-tests --start-from auto` or `yarn task e2e-tests-dev --start-from auto` for E2E coverage - Use `yarn task test-runner --start-from auto` or `yarn task test-runner-dev --start-from auto` for test-runner scenarios @@ -219,9 +219,8 @@ Common templates: Watch-mode commands: ```bash -cd code && yarn test:watch -yarn affected:test -cd code && yarn storybook:vitest +yarn test:watch +yarn storybook:vitest ``` When writing tests: diff --git a/CHANGELOG.md b/CHANGELOG.md index a20b30a1a233..903f17a62adb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,100 @@ +## 10.3.0 + +_> Improved developer experience, AI-assisting tools, and broader ecosystem support_ + +Storybook 10.3 contains hundreds of fixes and improvements including: + +- 🤖 Storybook MCP: Agentic component dev, docs, and test (Preview release for React) +- ⚡ Vite 8 support +- ▲ Next.js 16.2 support +- 📝 ESLint 10 support +- 🧪 React: Experimental `react-component-meta` prop extraction tool for accurate controls and args tables +- 〰️ Addon Pseudo-States: Tailwind v4 support +- 🔧 Addon-Vitest: Simplified configuration - no more setup files required +- ♿ Numerous accessibility improvements across the UI + +
+List of all updates +- A11y: Add ScrollArea prop focusable for when it has static children - [#33876](https://github.com/storybookjs/storybook/pull/33876), thanks @Sidnioulz! +- A11y: Ensure popover dialogs have an ARIA label - [#33500](https://github.com/storybookjs/storybook/pull/33500), thanks @gayanMatch! +- A11y: Make resize handles for addon panel and sidebar accessible [#33980](https://github.com/storybookjs/storybook/pull/33980) +- A11y: Underline MDX links for WCAG SC 1.4.1 compliance - [#33139](https://github.com/storybookjs/storybook/pull/33139), thanks @NikhilChowdhury27! +- Actions: Add expandLevel parameter to configure tree depth - [#33977](https://github.com/storybookjs/storybook/pull/33977), thanks @mixelburg! +- Actions: Fix HandlerFunction type to support async callback props - [#33864](https://github.com/storybookjs/storybook/pull/33864), thanks @mixelburg! +- Addon-Docs: Add React as optimizeDeps entry - [#34176](https://github.com/storybookjs/storybook/pull/34176), thanks @valentinpalkovic! +- Addon-Docs: Add support for `sourceState: 'none'` to canvas block parameters - [#33627](https://github.com/storybookjs/storybook/pull/33627), thanks @quisido! +- Addon-docs: Restore `docs.components` overrides for doc blocks [#34111](https://github.com/storybookjs/storybook/pull/34111) +- Addon-Vitest: Add channel API to programmatically trigger test runs - [#33206](https://github.com/storybookjs/storybook/pull/33206), thanks @JReinhold! +- Addon-Vitest: Handle additional vitest config export patterns in postinstall - [#34106](https://github.com/storybookjs/storybook/pull/34106), thanks @copilot-swe-agent! +- Addon-Vitest: Make Playwright `--with-deps` platform-aware to avoid `sudo` prompt on Linux [#34121](https://github.com/storybookjs/storybook/pull/34121) +- Addon-Vitest: Refactor Vitest setup to eliminate the need for a dedicated setup file - [#34025](https://github.com/storybookjs/storybook/pull/34025), thanks @valentinpalkovic! +- Addon-Vitest: Support Vitest canaries - [#33833](https://github.com/storybookjs/storybook/pull/33833), thanks @valentinpalkovic! +- Angular: Add moduleResolution: bundler to tsconfig - [#34085](https://github.com/storybookjs/storybook/pull/34085), thanks @valentinpalkovic! +- Angular: only load webpack dependencies on demand - [#34043](https://github.com/storybookjs/storybook/pull/34043), thanks @sod! +- Angular: Storybook fails with unknown option silent - [#33736](https://github.com/storybookjs/storybook/pull/33736), thanks @tanujbhaud! +- Build: Update @types/node - [#34037](https://github.com/storybookjs/storybook/pull/34037), thanks @valentinpalkovic! +- Builder-Vite: Centralize Vite plugins for builder-vite and addon-vitest - [#33819](https://github.com/storybookjs/storybook/pull/33819), thanks @valentinpalkovic! +- Builder-Vite: Fix cold-cache vitest failures for story paths containing glob special characters - [#34044](https://github.com/storybookjs/storybook/pull/34044), thanks @copilot-swe-agent! +- Builder-Vite: Use preview annotations as entry points for optimizeDeps - [#33875](https://github.com/storybookjs/storybook/pull/33875), thanks @copilot-swe-agent! +- CI: declare explicit permissions for stale and weekly cron workflows - [#33902](https://github.com/storybookjs/storybook/pull/33902), thanks @Rohan5commit! +- CLI: Add vike CLI metadata - [#34189](https://github.com/storybookjs/storybook/pull/34189), thanks @yannbf! +- CLI: Avoid hanging of postinstall during init - [#34175](https://github.com/storybookjs/storybook/pull/34175), thanks @valentinpalkovic! +- CLI: Fix onboarding not opening - [#33609](https://github.com/storybookjs/storybook/pull/33609), thanks @ndelangen! +- CLI: Show multiple favicons warning as debug message - [#34069](https://github.com/storybookjs/storybook/pull/34069), thanks @remino! +- Cli: Use npm for registry URL in PNPMProxy to avoid workspace errors - [#33571](https://github.com/storybookjs/storybook/pull/33571), thanks @ia319! +- Controls: Allow story argTypes to override control: false from meta - [#33729](https://github.com/storybookjs/storybook/pull/33729), thanks @jonathan-fulton! +- Controls: Fix Object contrast issue and tidy up code - [#33923](https://github.com/storybookjs/storybook/pull/33923), thanks @Sidnioulz! +- Core: Ensure telemetry is never triggered on initial load of checklist data - [#33918](https://github.com/storybookjs/storybook/pull/33918), thanks @ghengeveld! +- Core: Fix event source URL based on refId when multiple iframes share the same origin [#34105](https://github.com/storybookjs/storybook/pull/34105) +- Core: Fix false-positive CJS warning when 'exports' appears in strings or comments - [#33572](https://github.com/storybookjs/storybook/pull/33572), thanks @reeseo3o! +- Core: Fix handling complex viewport sizes [#33615](https://github.com/storybookjs/storybook/pull/33615) +- Core: Fix iframe reference for composed Storybook on a subpath [#34100](https://github.com/storybookjs/storybook/pull/34100) +- Core: Fix typos: occured -> occurred, recieves -> receives - [#33727](https://github.com/storybookjs/storybook/pull/33727), thanks @jonathan-fulton! +- Core: Handle BROWSER=none correctly and improve error messages - [#33730](https://github.com/storybookjs/storybook/pull/33730), thanks @jonathan-fulton! +- Core: Ignore empty files when indexing - [#33782](https://github.com/storybookjs/storybook/pull/33782), thanks @JReinhold! +- Core: Register CORS middleware before index.json route - [#33728](https://github.com/storybookjs/storybook/pull/33728), thanks @jonathan-fulton! +- Core: Revert Pull Request #33420 from Maelryn/fix/copy-button-overlap - [#33877](https://github.com/storybookjs/storybook/pull/33877), thanks @Sidnioulz! +- Core: Zoom tool refinements - Hide reset button when value is initial - [#33635](https://github.com/storybookjs/storybook/pull/33635), thanks @superLipbalm! +- Docs: Edit JSON button is now accessible at 320x256 viewport (WCAG 2.1 Reflow test) - [#33707](https://github.com/storybookjs/storybook/pull/33707), thanks @TheSeydiCharyyev! +- Docs: Make CSS ordering in DocsContainer more predictable [#34015](https://github.com/storybookjs/storybook/pull/34015) +- ESLint-plugin: Disallow extra properties in eslint plugin rule options - [#32056](https://github.com/storybookjs/storybook/pull/32056), thanks @andreww2012! +- ESLint: bail out config setup if eslint-plugin-storybook is already imported - [#34089](https://github.com/storybookjs/storybook/pull/34089), thanks @copilot-swe-agent! +- HMR: Fix race conditions causing stale play functions to fire on re-rendered stories - [#33930](https://github.com/storybookjs/storybook/pull/33930), thanks @copilot-swe-agent! +- Maintenance: Revert pull request #33930 HMR events - [#34190](https://github.com/storybookjs/storybook/pull/34190), thanks @yannbf! +- Maintenance: Use std-env for AI agent detection in telemetry [#34114](https://github.com/storybookjs/storybook/pull/34114) +- Manifest: Add docs entries to debugger - [#33607](https://github.com/storybookjs/storybook/pull/33607), thanks @JReinhold! +- Manifest: Rename `experimentalComponentsManifest` → `componentsManifest`, default to `true` [#33974](https://github.com/storybookjs/storybook/pull/33974) +- Manifests: Fix Attached MDX causing wrong component entries [#34101](https://github.com/storybookjs/storybook/pull/34101) +- Next.js-Vite: Fix failing postcss mutation - [#33879](https://github.com/storybookjs/storybook/pull/33879), thanks @valentinpalkovic! +- Next.js: Move image configuration from FrameworkOptions to parameters [#32639](https://github.com/storybookjs/storybook/pull/32639), thanks @y-hsgw! +- Preact: Support inferring props from component types - [#33828](https://github.com/storybookjs/storybook/pull/33828), thanks @JoviDeCroock! +- React Native Web: Fix inconsistent example stories - [#33891](https://github.com/storybookjs/storybook/pull/33891), thanks @danielalanbates! +- React: Add react-docgen-typescript to component manifest - [#33818](https://github.com/storybookjs/storybook/pull/33818), thanks @kasperpeulen! +- Revert "Toolbar: Remove extra toolbar divider when zoom controls not shown" - [#34099](https://github.com/storybookjs/storybook/pull/34099), thanks @valentinpalkovic! +- Test: Fix clearing mocks in Vitest [#34078](https://github.com/storybookjs/storybook/pull/34078) +- Test: Update @testing-library/jest-dom - [#33928](https://github.com/storybookjs/storybook/pull/33928), thanks @valentinpalkovic! +- Theming: Export interface declaration for `ThemesGlobals` - [#33343](https://github.com/storybookjs/storybook/pull/33343), thanks @icopp! +- Toolbar: Remove extra toolbar divider when zoom controls not shown - [#33731](https://github.com/storybookjs/storybook/pull/33731), thanks @jonathan-fulton! +- UI: Allow direct kb/mouse actions on zoom tool button - [#33496](https://github.com/storybookjs/storybook/pull/33496), thanks @Sidnioulz! +- UI: Avoid large animation for reduced motion users - [#33530](https://github.com/storybookjs/storybook/pull/33530), thanks @Sidnioulz! +- UI: Ensure Link without href is keyboard-reachable - [#34163](https://github.com/storybookjs/storybook/pull/34163), thanks @Sidnioulz! +- UI: Fix `z-index` problem with `popover`s and `modal`s nesting - [#33757](https://github.com/storybookjs/storybook/pull/33757), thanks @ndelangen! +- UI: Fix code/copy buttons overlap with content - [#33889](https://github.com/storybookjs/storybook/pull/33889), thanks @Sidnioulz! +- UI: Fix Copy button overlapping code in portrait mode - [#33420](https://github.com/storybookjs/storybook/pull/33420), thanks @Maelryn! +- UI: Fix modal text selection - [#33967](https://github.com/storybookjs/storybook/pull/33967), thanks @Sidnioulz! +- UI: Fix tab navigation after closing addon panel - [#33971](https://github.com/storybookjs/storybook/pull/33971), thanks @copilot-swe-agent! +- UI: Handle kb nav edge cases when preview and panel are hidden - [#33588](https://github.com/storybookjs/storybook/pull/33588), thanks @Sidnioulz! +- UI: Hide addon panel Drag on pages without a panel - [#34162](https://github.com/storybookjs/storybook/pull/34162), thanks @Sidnioulz! +- UI: Hide manifest tag for now - [#34165](https://github.com/storybookjs/storybook/pull/34165), thanks @Sidnioulz! +- UI: Make disabled Buttons keyboard-focusable - [#34166](https://github.com/storybookjs/storybook/pull/34166), thanks @Sidnioulz! +- UI: Make TagsFilter state persistent [#33374](https://github.com/storybookjs/storybook/pull/33374) +- UI: Use correct selector for addon panel focus check - [#34164](https://github.com/storybookjs/storybook/pull/34164), thanks @Sidnioulz! +- UI: Zoom faster when pressing shift - [#34185](https://github.com/storybookjs/storybook/pull/34185), thanks @Sidnioulz! +- Viewport: Skip viewport validation before parameters load - [#33794](https://github.com/storybookjs/storybook/pull/33794), thanks @ia319! +- Vite: Add mock entries to optimizeDeps.entries - [#34167](https://github.com/storybookjs/storybook/pull/34167), thanks @valentinpalkovic! +- Vue3-Vite: Allow paths in docgen tsconfig option [#32310](https://github.com/storybookjs/storybook/pull/32310), thanks @Thomaash! +
+ ## 10.2.19 - Maintenance: Support vite-plugin-svelte@7 which supports Vite 8 - [#34115](https://github.com/storybookjs/storybook/pull/34115), thanks @valentinpalkovic! @@ -50,7 +147,7 @@ - Addon-Vitest: Fix postinstall a11y installation - [#33888](https://github.com/storybookjs/storybook/pull/33888), thanks @valentinpalkovic! - Manifests: Use correct story name - [#33709](https://github.com/storybookjs/storybook/pull/33709), thanks @JReinhold! -- Next.js: Handle legacyBehavior prop in Link mock component - [#33862](https://github.com/storybookjs/storybook/pull/33862), thanks @yatishgoel! +- Next.js: Handle legacyBehavior prop in Link mock component - [#33862](https://github.com/storybookjs/storybook/pull/33862), thanks @yatishgoel! - React: Fix manifest stories empty when meta has no explicit title - [#33878](https://github.com/storybookjs/storybook/pull/33878), thanks @kasperpeulen! ## 10.2.10 @@ -73,7 +170,7 @@ ## 10.2.7 -- CSF: Fix cross-file story imports in csf-factories codemod - [#33723](https://github.com/storybookjs/storybook/pull/33723), thanks @yatishgoel! +- CSF: Fix cross-file story imports in csf-factories codemod - [#33723](https://github.com/storybookjs/storybook/pull/33723), thanks @yatishgoel! - Core: Fix rendering of View Transitions in Firefox - [#33651](https://github.com/storybookjs/storybook/pull/33651), thanks @ghengeveld! - Globals: Repair dynamicTitle: false for user-defined tools - [#33284](https://github.com/storybookjs/storybook/pull/33284), thanks @ia319! - Logger: Honor --loglevel for npmlog output - [#33776](https://github.com/storybookjs/storybook/pull/33776), thanks @LouisLau-art! @@ -137,7 +234,7 @@ Storybook 10.2 contains hundreds of fixes and improvement including: - Addon-Docs: Add MDX manifest generation - [#33408](https://github.com/storybookjs/storybook/pull/33408), thanks @copilot-swe-agent! - Addon-Docs: Skip `!autodocs` stories when computing primary story - [#32712](https://github.com/storybookjs/storybook/pull/32712), thanks @ia319! - Addon-Pseudo States: Fix stylesheet rewrite for `:not()` with parenthesis in inner selector - [#33491](https://github.com/storybookjs/storybook/pull/33491), thanks @ghengeveld! -- Addon-Vitest: Added timeout for fetching localhost 6006 during global setup. - [#33232](https://github.com/storybookjs/storybook/pull/33232), thanks @snippy4! +- Addon-Vitest: Added timeout for fetching localhost 6006 during global setup. - [#33232](https://github.com/storybookjs/storybook/pull/33232), thanks @snippy4! - Addon-Vitest: Fallback detecting vitest version in postinstall - [#33415](https://github.com/storybookjs/storybook/pull/33415), thanks @ndelangen! - Addon-Vitest: Improve error message in testing widget modal - [#33481](https://github.com/storybookjs/storybook/pull/33481), thanks @yannbf! - Addon-Vitest: Improve perf & fix loading incorrect `.env` file - [#33469](https://github.com/storybookjs/storybook/pull/33469), thanks @ndelangen! @@ -233,7 +330,7 @@ Storybook 10.2 contains hundreds of fixes and improvement including: ## 10.1.11 -- React: Fix several CSF factory bugs - [#33354](https://github.com/storybookjs/storybook/pull/33354), thanks @kasperpeulen! +- React: Fix several CSF factory bugs - [#33354](https://github.com/storybookjs/storybook/pull/33354), thanks @kasperpeulen! - UI: Fix React error 300 on some addons - [#33381](https://github.com/storybookjs/storybook/pull/33381), thanks @Sidnioulz! ## 10.1.10 @@ -380,7 +477,6 @@ Finally, it contains two highly-requested experimental features: - ## 10.0.8 - React Native Web: Fix react native resuables and nativewind - [#33056](https://github.com/storybookjs/storybook/pull/33056), thanks @dannyhw! diff --git a/code/addons/vitest/package.json b/code/addons/vitest/package.json index 7f5d5f72f498..9a80ad29c5d7 100644 --- a/code/addons/vitest/package.json +++ b/code/addons/vitest/package.json @@ -85,8 +85,8 @@ "@types/micromatch": "^4.0.0", "@types/node": "^22.19.1", "@types/semver": "^7.7.1", - "@vitest/browser-playwright": "^4.0.14", - "@vitest/runner": "^4.0.14", + "@vitest/browser-playwright": "^4.1.0", + "@vitest/runner": "^4.1.0", "empathic": "^2.0.0", "es-toolkit": "^1.43.0", "istanbul-lib-report": "^3.0.1", @@ -102,7 +102,7 @@ "tree-kill": "^1.2.2", "ts-dedent": "^2.2.0", "typescript": "^5.9.3", - "vitest": "^4.0.14" + "vitest": "^4.1.0" }, "peerDependencies": { "@vitest/browser": "^3.0.0 || ^4.0.0", diff --git a/code/addons/vitest/src/node/test-manager.test.ts b/code/addons/vitest/src/node/test-manager.test.ts index 736e688ab6fc..bdc919b1b354 100644 --- a/code/addons/vitest/src/node/test-manager.test.ts +++ b/code/addons/vitest/src/node/test-manager.test.ts @@ -44,8 +44,7 @@ const vitest = vi.hoisted(() => ({ const mockCreateVitest = vi.fn(); -vi.mock('vitest/node', async (importOriginal) => ({ - ...(await importOriginal()), +vi.mock('vitest/node', () => ({ createVitest: mockCreateVitest, })); diff --git a/code/lib/eslint-plugin/src/rules/no-uninstalled-addons.test.ts b/code/lib/eslint-plugin/src/rules/no-uninstalled-addons.test.ts index 07dc9c94ec0c..b2911a6cf149 100644 --- a/code/lib/eslint-plugin/src/rules/no-uninstalled-addons.test.ts +++ b/code/lib/eslint-plugin/src/rules/no-uninstalled-addons.test.ts @@ -14,6 +14,8 @@ import { sep } from 'path'; import ruleTester from '../test-utils'; import rule from './no-uninstalled-addons'; +const rootDir = process.cwd().split(sep).pop(); + vi.mock('fs', () => ({ ...vi.importActual('fs'), readFileSync: () => ` @@ -177,7 +179,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: '@storybook/not-installed-addon', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, ], @@ -201,7 +203,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: '@storybook/not-installed-addon', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, ], @@ -224,7 +226,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: '@storybook/addon-esentials', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, ], @@ -245,7 +247,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: '@storybook/adon-essentials', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, ], @@ -268,7 +270,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: 'addon-withut-the-prefix', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, { @@ -276,7 +278,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: '@storybook/addon-esentials', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, ], @@ -299,7 +301,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: 'addon-withut-the-prefix', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, { @@ -307,7 +309,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: '@storybook/addon-esentials', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, ], @@ -330,7 +332,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: 'addon-withut-the-prefix', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, { @@ -338,7 +340,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: '@storybook/addon-esentials', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, ], @@ -362,7 +364,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: 'addon-withut-the-prefix', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, { @@ -370,7 +372,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: '@storybook/addon-esentials', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, ], @@ -392,7 +394,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: 'addon-withut-the-prefix', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, { @@ -400,7 +402,7 @@ ruleTester.run('no-uninstalled-addons', rule, { type: AST_NODE_TYPES.Literal, data: { addonName: '@storybook/addon-esentials', - packageJsonPath: `code${sep}`, + packageJsonPath: `${rootDir}${sep}`, }, }, ], diff --git a/code/package.json b/code/package.json index a2e823cd6d80..27407c897ecc 100644 --- a/code/package.json +++ b/code/package.json @@ -13,13 +13,12 @@ "url": "https://opencollective.com/storybook" }, "scripts": { - "affected:test": "nx show projects --affected -t test | xargs -I # echo --project # | xargs yarn test:watch", "await-serve-storybooks": "wait-on http://localhost:8001", "build": "NODE_ENV=production yarn --cwd ../scripts build-package", "changelog": "pr-log --sloppy --cherry-pick", "changelog:next": "pr-log --sloppy --since-prerelease", "check": "NODE_ENV=production yarn --cwd ../scripts check-package", - "ci-tests": "yarn task --task check --no-link --start-from=install && yarn lint && yarn test && cd ../scripts && yarn test", + "ci-tests": "yarn task --task check --no-link --start-from=install && yarn lint && cd .. && yarn test", "danger": "danger", "generate-sandboxes": "yarn --cwd ../scripts generate-sandboxes", "github-release": "github-release-from-changelog", @@ -37,11 +36,7 @@ "storybook:ui": "NODE_OPTIONS=\"--max_old_space_size=4096 --trace-deprecation\" core/dist/bin/dispatcher.js dev --port 6006 --config-dir ./.storybook", "storybook:ui:build": "NODE_OPTIONS=\"--max_old_space_size=4096\" core/dist/bin/dispatcher.js build --config-dir ./.storybook --webpack-stats-json", "storybook:ui:chromatic": "chromatic --storybook-build-dir storybook-static --exit-zero-on-changes --exit-once-uploaded", - "storybook:vitest": "yarn test:watch --project storybook-ui", - "storybook:vitest:inspect": "INSPECT=true yarn test --project storybook-ui", - "task": "yarn --cwd ../scripts task", - "test": "NODE_OPTIONS=--max_old_space_size=4096 vitest run", - "test:watch": "NODE_OPTIONS=--max_old_space_size=4096 vitest watch" + "task": "yarn --cwd ../scripts task" }, "lint-staged": { "*.{html,js,json,jsx,mjs,ts,tsx}": [ @@ -115,10 +110,10 @@ "@types/react-dom": "^18.0.11", "@vitejs/plugin-react": "^4.3.2", "@vitejs/plugin-vue": "^4.4.0", - "@vitest/browser": "^4.0.14", - "@vitest/browser-playwright": "^4.0.14", - "@vitest/coverage-istanbul": "^4.0.14", - "@vitest/coverage-v8": "^4.0.14", + "@vitest/browser": "^4.1.0", + "@vitest/browser-playwright": "^4.1.0", + "@vitest/coverage-istanbul": "^4.1.0", + "@vitest/coverage-v8": "^4.1.0", "chromatic": "^13.3.4", "create-storybook": "workspace:*", "cross-env": "^7.0.3", @@ -146,7 +141,7 @@ "uuid": "^11.1.0", "vite": "^7.0.4", "vite-plugin-inspect": "^11.0.0", - "vitest": "^4.0.14", + "vitest": "^4.1.0", "wait-on": "^8.0.3" }, "dependenciesMeta": { @@ -214,5 +209,6 @@ "Dependency Upgrades" ] ] - } + }, + "deferredNextVersion": "10.3.0" } diff --git a/code/project.json b/code/project.json index 93ce34f937cd..ff6804de0ee1 100644 --- a/code/project.json +++ b/code/project.json @@ -13,9 +13,9 @@ "test": { "dependsOn": [{ "projects": ["*"], "target": "compile" }], "executor": "nx:run-commands", - "options": { "cwd": "{projectRoot}", "command": "yarn test" }, + "options": { "command": "yarn test" }, "cache": true, - "inputs": ["default"], + "inputs": ["default", "{workspaceRoot}/vitest.config.ts"], "configurations": { "production": {} } }, "knip": { diff --git a/code/renderers/react/src/componentManifest/reactDocgenTypescript.test.ts b/code/renderers/react/src/componentManifest/reactDocgenTypescript.test.ts deleted file mode 100644 index f6c86ea2d526..000000000000 --- a/code/renderers/react/src/componentManifest/reactDocgenTypescript.test.ts +++ /dev/null @@ -1,1569 +0,0 @@ -import { join } from 'node:path'; - -import { describe, expect, test } from 'vitest'; - -import { parseWithReactDocgenTypescript } from './reactDocgenTypescript'; - -const fixture = (name: string) => join(__dirname, '__testfixtures__', name); - -// Strip absolute paths so snapshots are portable across machines and CI environments -function normalize(results: any[]) { - return JSON.parse( - JSON.stringify(results, (key, value) => { - if ((key === 'filePath' || key === 'fileName') && typeof value === 'string') { - return value - .replace(/.*__testfixtures__[\\/]/, '') - .replace(/.*node_modules[\\/]/, 'node_modules/'); - } - return value; - }) - ); -} - -describe('parseFile', () => { - test('Button', { timeout: 30_000 }, () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('Button.ts')))).toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "Button", - "exportName": "Button", - "filePath": "Button.ts", - "methods": [], - "props": { - "disabled": { - "declarations": [ - { - "fileName": "Button.ts", - "name": "ButtonProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "disabled", - "parent": { - "fileName": "Button.ts", - "name": "ButtonProps", - }, - "required": false, - "type": { - "name": "boolean", - }, - }, - "label": { - "declarations": [ - { - "fileName": "Button.ts", - "name": "ButtonProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "label", - "parent": { - "fileName": "Button.ts", - "name": "ButtonProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('Arrow', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('Arrow.ts')))).toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "Card", - "exportName": "Card", - "filePath": "Arrow.ts", - "methods": [], - "props": { - "title": { - "declarations": [ - { - "fileName": "Arrow.ts", - "name": "CardProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "title", - "parent": { - "fileName": "Arrow.ts", - "name": "CardProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('DefaultExport', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('DefaultExport.ts')))) - .toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "Icon", - "exportName": "default", - "filePath": "DefaultExport.ts", - "methods": [], - "props": { - "name": { - "declarations": [ - { - "fileName": "DefaultExport.ts", - "name": "IconProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "name", - "parent": { - "fileName": "DefaultExport.ts", - "name": "IconProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - "size": { - "declarations": [ - { - "fileName": "DefaultExport.ts", - "name": "IconProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "size", - "parent": { - "fileName": "DefaultExport.ts", - "name": "IconProps", - }, - "required": false, - "type": { - "name": "number", - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('MultipleExports', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('MultipleExports.ts')))) - .toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "Input", - "exportName": "Input", - "filePath": "MultipleExports.ts", - "methods": [], - "props": { - "placeholder": { - "declarations": [ - { - "fileName": "MultipleExports.ts", - "name": "InputProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "placeholder", - "parent": { - "fileName": "MultipleExports.ts", - "name": "InputProps", - }, - "required": false, - "type": { - "name": "string", - }, - }, - }, - "tags": {}, - }, - { - "description": "", - "displayName": "MultipleExports", - "exportName": "default", - "filePath": "MultipleExports.ts", - "methods": [], - "props": { - "text": { - "declarations": [ - { - "fileName": "MultipleExports.ts", - "name": "LabelProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "text", - "parent": { - "fileName": "MultipleExports.ts", - "name": "LabelProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('UnionProps', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('UnionProps.ts')))) - .toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "Tag", - "exportName": "Tag", - "filePath": "UnionProps.ts", - "methods": [], - "props": { - "size": { - "declarations": [ - { - "fileName": "UnionProps.ts", - "name": "TagProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "size", - "parent": { - "fileName": "UnionProps.ts", - "name": "TagProps", - }, - "required": false, - "type": { - "name": "enum", - "raw": ""small" | "large"", - "value": [ - { - "value": ""small"", - }, - { - "value": ""large"", - }, - ], - }, - }, - "variant": { - "declarations": [ - { - "fileName": "UnionProps.ts", - "name": "TagProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "variant", - "parent": { - "fileName": "UnionProps.ts", - "name": "TagProps", - }, - "required": true, - "type": { - "name": "enum", - "raw": ""primary" | "secondary" | "danger"", - "value": [ - { - "value": ""primary"", - }, - { - "value": ""secondary"", - }, - { - "value": ""danger"", - }, - ], - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('FunctionProps', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('FunctionProps.ts')))) - .toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "Callback", - "exportName": "Callback", - "filePath": "FunctionProps.ts", - "methods": [], - "props": { - "onClick": { - "declarations": [ - { - "fileName": "FunctionProps.ts", - "name": "CallbackProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "onClick", - "parent": { - "fileName": "FunctionProps.ts", - "name": "CallbackProps", - }, - "required": false, - "type": { - "name": "((id: string) => void)", - }, - }, - "onSubmit": { - "declarations": [ - { - "fileName": "FunctionProps.ts", - "name": "CallbackProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "onSubmit", - "parent": { - "fileName": "FunctionProps.ts", - "name": "CallbackProps", - }, - "required": true, - "type": { - "name": "() => boolean", - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('DefaultValues', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('DefaultValues.ts')))) - .toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "Alert", - "exportName": "Alert", - "filePath": "DefaultValues.ts", - "methods": [], - "props": { - "message": { - "declarations": [ - { - "fileName": "DefaultValues.ts", - "name": "AlertProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "message", - "parent": { - "fileName": "DefaultValues.ts", - "name": "AlertProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - "severity": { - "declarations": [ - { - "fileName": "DefaultValues.ts", - "name": "AlertProps", - }, - ], - "defaultValue": { - "value": "info", - }, - "description": "", - "name": "severity", - "parent": { - "fileName": "DefaultValues.ts", - "name": "AlertProps", - }, - "required": false, - "type": { - "name": "string", - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('Documented', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('Documented.ts')))) - .toMatchInlineSnapshot(` - [ - { - "description": "A tooltip component.", - "displayName": "Tooltip", - "exportName": "Tooltip", - "filePath": "Documented.ts", - "methods": [], - "props": { - "content": { - "declarations": [ - { - "fileName": "Documented.ts", - "name": "TooltipProps", - }, - ], - "defaultValue": null, - "description": "The content to display", - "name": "content", - "parent": { - "fileName": "Documented.ts", - "name": "TooltipProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('NoComponents', () => { - expect( - normalize(parseWithReactDocgenTypescript(fixture('NoComponents.ts'))) - ).toMatchInlineSnapshot(`[]`); - }); - - test('ImportedProps (extends + imported types from another file)', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('ImportedProps.ts')))) - .toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "Badge", - "exportName": "Badge", - "filePath": "ImportedProps.ts", - "methods": [], - "props": { - "className": { - "declarations": [ - { - "fileName": "types.ts", - "name": "SharedProps", - }, - ], - "defaultValue": null, - "description": "Optional CSS class name", - "name": "className", - "parent": { - "fileName": "types.ts", - "name": "SharedProps", - }, - "required": false, - "type": { - "name": "string", - }, - }, - "count": { - "declarations": [ - { - "fileName": "ImportedProps.ts", - "name": "BadgeProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "count", - "parent": { - "fileName": "ImportedProps.ts", - "name": "BadgeProps", - }, - "required": false, - "type": { - "name": "number", - }, - }, - "disabled": { - "declarations": [ - { - "fileName": "types.ts", - "name": "ClickableProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "disabled", - "parent": { - "fileName": "types.ts", - "name": "ClickableProps", - }, - "required": false, - "type": { - "name": "boolean", - }, - }, - "id": { - "declarations": [ - { - "fileName": "types.ts", - "name": "SharedProps", - }, - ], - "defaultValue": null, - "description": "Unique identifier", - "name": "id", - "parent": { - "fileName": "types.ts", - "name": "SharedProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - "label": { - "declarations": [ - { - "fileName": "ImportedProps.ts", - "name": "BadgeProps", - }, - ], - "defaultValue": null, - "description": "The badge label", - "name": "label", - "parent": { - "fileName": "ImportedProps.ts", - "name": "BadgeProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - "onClick": { - "declarations": [ - { - "fileName": "types.ts", - "name": "ClickableProps", - }, - ], - "defaultValue": null, - "description": "Click handler", - "name": "onClick", - "parent": { - "fileName": "types.ts", - "name": "ClickableProps", - }, - "required": false, - "type": { - "name": "((event: { target: string; }) => void)", - }, - }, - "variant": { - "declarations": [ - { - "fileName": "ImportedProps.ts", - "name": "BadgeProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "variant", - "parent": { - "fileName": "ImportedProps.ts", - "name": "BadgeProps", - }, - "required": true, - "type": { - "name": "enum", - "raw": "Variant", - "value": [ - { - "value": ""primary"", - }, - { - "value": ""secondary"", - }, - { - "value": ""danger"", - }, - ], - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('PickOmit (Pick/Omit utility types on imported interfaces)', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('PickOmit.ts')))) - .toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "Card", - "exportName": "Card", - "filePath": "PickOmit.ts", - "methods": [], - "props": { - "id": { - "declarations": [ - { - "fileName": "types.ts", - "name": "SharedProps", - }, - ], - "defaultValue": null, - "description": "Unique identifier", - "name": "id", - "parent": { - "fileName": "types.ts", - "name": "SharedProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - "onClick": { - "declarations": [ - { - "fileName": "types.ts", - "name": "ClickableProps", - }, - ], - "defaultValue": null, - "description": "Click handler", - "name": "onClick", - "parent": { - "fileName": "types.ts", - "name": "ClickableProps", - }, - "required": false, - "type": { - "name": "((event: { target: string; }) => void)", - }, - }, - "subtitle": { - "declarations": [ - { - "fileName": "PickOmit.ts", - "name": "TypeLiteral", - }, - ], - "defaultValue": null, - "description": "", - "name": "subtitle", - "required": false, - "type": { - "name": "string", - }, - }, - "title": { - "declarations": [ - { - "fileName": "PickOmit.ts", - "name": "TypeLiteral", - }, - ], - "defaultValue": null, - "description": "", - "name": "title", - "required": true, - "type": { - "name": "string", - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('Generic (generic type parameters resolved to concrete types)', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('Generic.ts')))).toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "StringList", - "exportName": "StringList", - "filePath": "Generic.ts", - "methods": [], - "props": { - "emptyMessage": { - "declarations": [ - { - "fileName": "Generic.ts", - "name": "ListProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "emptyMessage", - "parent": { - "fileName": "Generic.ts", - "name": "ListProps", - }, - "required": false, - "type": { - "name": "string", - }, - }, - "items": { - "declarations": [ - { - "fileName": "Generic.ts", - "name": "ListProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "items", - "parent": { - "fileName": "Generic.ts", - "name": "ListProps", - }, - "required": true, - "type": { - "name": "string[]", - }, - }, - "renderItem": { - "declarations": [ - { - "fileName": "Generic.ts", - "name": "ListProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "renderItem", - "parent": { - "fileName": "Generic.ts", - "name": "ListProps", - }, - "required": true, - "type": { - "name": "(item: string) => string", - }, - }, - }, - "tags": {}, - }, - { - "description": "", - "displayName": "NumberList", - "exportName": "NumberList", - "filePath": "Generic.ts", - "methods": [], - "props": { - "emptyMessage": { - "declarations": [ - { - "fileName": "Generic.ts", - "name": "ListProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "emptyMessage", - "parent": { - "fileName": "Generic.ts", - "name": "ListProps", - }, - "required": false, - "type": { - "name": "string", - }, - }, - "items": { - "declarations": [ - { - "fileName": "Generic.ts", - "name": "ListProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "items", - "parent": { - "fileName": "Generic.ts", - "name": "ListProps", - }, - "required": true, - "type": { - "name": "number[]", - }, - }, - "renderItem": { - "declarations": [ - { - "fileName": "Generic.ts", - "name": "ListProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "renderItem", - "parent": { - "fileName": "Generic.ts", - "name": "ListProps", - }, - "required": true, - "type": { - "name": "(item: number) => string", - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('ReExport (re-exported components from other files)', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('ReExport.ts')))) - .toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "Badge", - "exportName": "Badge", - "filePath": "ReExport.ts", - "methods": [], - "props": { - "className": { - "declarations": [ - { - "fileName": "types.ts", - "name": "SharedProps", - }, - ], - "defaultValue": null, - "description": "Optional CSS class name", - "name": "className", - "parent": { - "fileName": "types.ts", - "name": "SharedProps", - }, - "required": false, - "type": { - "name": "string", - }, - }, - "count": { - "declarations": [ - { - "fileName": "ImportedProps.ts", - "name": "BadgeProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "count", - "parent": { - "fileName": "ImportedProps.ts", - "name": "BadgeProps", - }, - "required": false, - "type": { - "name": "number", - }, - }, - "disabled": { - "declarations": [ - { - "fileName": "types.ts", - "name": "ClickableProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "disabled", - "parent": { - "fileName": "types.ts", - "name": "ClickableProps", - }, - "required": false, - "type": { - "name": "boolean", - }, - }, - "id": { - "declarations": [ - { - "fileName": "types.ts", - "name": "SharedProps", - }, - ], - "defaultValue": null, - "description": "Unique identifier", - "name": "id", - "parent": { - "fileName": "types.ts", - "name": "SharedProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - "label": { - "declarations": [ - { - "fileName": "ImportedProps.ts", - "name": "BadgeProps", - }, - ], - "defaultValue": null, - "description": "The badge label", - "name": "label", - "parent": { - "fileName": "ImportedProps.ts", - "name": "BadgeProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - "onClick": { - "declarations": [ - { - "fileName": "types.ts", - "name": "ClickableProps", - }, - ], - "defaultValue": null, - "description": "Click handler", - "name": "onClick", - "parent": { - "fileName": "types.ts", - "name": "ClickableProps", - }, - "required": false, - "type": { - "name": "((event: { target: string; }) => void)", - }, - }, - "variant": { - "declarations": [ - { - "fileName": "ImportedProps.ts", - "name": "BadgeProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "variant", - "parent": { - "fileName": "ImportedProps.ts", - "name": "BadgeProps", - }, - "required": true, - "type": { - "name": "enum", - "raw": "Variant", - "value": [ - { - "value": ""primary"", - }, - { - "value": ""secondary"", - }, - { - "value": ""danger"", - }, - ], - }, - }, - }, - "tags": {}, - }, - { - "description": "", - "displayName": "Card", - "exportName": "RenamedCard", - "filePath": "ReExport.ts", - "methods": [], - "props": { - "id": { - "declarations": [ - { - "fileName": "types.ts", - "name": "SharedProps", - }, - ], - "defaultValue": null, - "description": "Unique identifier", - "name": "id", - "parent": { - "fileName": "types.ts", - "name": "SharedProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - "onClick": { - "declarations": [ - { - "fileName": "types.ts", - "name": "ClickableProps", - }, - ], - "defaultValue": null, - "description": "Click handler", - "name": "onClick", - "parent": { - "fileName": "types.ts", - "name": "ClickableProps", - }, - "required": false, - "type": { - "name": "((event: { target: string; }) => void)", - }, - }, - "subtitle": { - "declarations": [ - { - "fileName": "PickOmit.ts", - "name": "TypeLiteral", - }, - ], - "defaultValue": null, - "description": "", - "name": "subtitle", - "required": false, - "type": { - "name": "string", - }, - }, - "title": { - "declarations": [ - { - "fileName": "PickOmit.ts", - "name": "TypeLiteral", - }, - ], - "defaultValue": null, - "description": "", - "name": "title", - "required": true, - "type": { - "name": "string", - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('Intersection (intersection of multiple type aliases)', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('Intersection.ts')))) - .toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "Item", - "exportName": "Item", - "filePath": "Intersection.ts", - "methods": [], - "props": { - "archived": { - "declarations": [ - { - "fileName": "Intersection.ts", - "name": "TypeLiteral", - }, - ], - "defaultValue": null, - "description": "", - "name": "archived", - "required": false, - "type": { - "name": "boolean", - }, - }, - "createdAt": { - "declarations": [ - { - "fileName": "Intersection.ts", - "name": "TypeLiteral", - }, - ], - "defaultValue": null, - "description": "", - "name": "createdAt", - "required": true, - "type": { - "name": "Date", - }, - }, - "id": { - "declarations": [ - { - "fileName": "Intersection.ts", - "name": "TypeLiteral", - }, - ], - "defaultValue": null, - "description": "", - "name": "id", - "required": true, - "type": { - "name": "string", - }, - }, - "onSave": { - "declarations": [ - { - "fileName": "Intersection.ts", - "name": "TypeLiteral", - }, - ], - "defaultValue": null, - "description": "", - "name": "onSave", - "required": true, - "type": { - "name": "() => Promise", - }, - }, - "tags": { - "declarations": [ - { - "fileName": "Intersection.ts", - "name": "TypeLiteral", - }, - ], - "defaultValue": null, - "description": "", - "name": "tags", - "required": true, - "type": { - "name": "string[]", - }, - }, - "title": { - "declarations": [ - { - "fileName": "Intersection.ts", - "name": "TypeLiteral", - }, - ], - "defaultValue": null, - "description": "", - "name": "title", - "required": true, - "type": { - "name": "string", - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('DtsComponent (extends React.ButtonHTMLAttributes from .d.ts)', () => { - const results = normalize(parseWithReactDocgenTypescript(fixture('DtsComponent.tsx'))); - - expect(results).toHaveLength(1); - expect(results[0].displayName).toBe('HtmlButton'); - expect(results[0].exportName).toBe('HtmlButton'); - - // User-defined prop should always be present - expect(results[0].props.variant).toMatchInlineSnapshot(` - { - "declarations": [ - { - "fileName": "DtsComponent.tsx", - "name": "HtmlButtonProps", - }, - ], - "defaultValue": null, - "description": "The button variant", - "name": "variant", - "parent": { - "fileName": "DtsComponent.tsx", - "name": "HtmlButtonProps", - }, - "required": false, - "type": { - "name": "enum", - "raw": ""solid" | "outline"", - "value": [ - { - "value": ""solid"", - }, - { - "value": ""outline"", - }, - ], - }, - } - `); - - // Bulk system props (>30 from one .d.ts source) should be filtered out - // The exact set of remaining small-source props varies by @types/react version, - // so we only assert the structural invariant - const propNames = Object.keys(results[0].props); - expect(propNames).toContain('variant'); - expect(propNames).not.toContain('className'); - expect(propNames).not.toContain('onClick'); - expect(propNames).not.toContain('children'); - }); - - test('ForwardRef', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('ForwardRef.tsx')))) - .toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "TextInput", - "exportName": "TextInput", - "filePath": "ForwardRef.tsx", - "methods": [], - "props": { - "key": { - "declarations": [ - { - "fileName": "node_modules/@types/react/index.d.ts", - "name": "Attributes", - }, - ], - "defaultValue": null, - "description": "", - "name": "key", - "parent": { - "fileName": "node_modules/@types/react/index.d.ts", - "name": "Attributes", - }, - "required": false, - "type": { - "name": "Key | null", - }, - }, - "label": { - "declarations": [ - { - "fileName": "ForwardRef.tsx", - "name": "TextInputProps", - }, - ], - "defaultValue": null, - "description": "Input label", - "name": "label", - "parent": { - "fileName": "ForwardRef.tsx", - "name": "TextInputProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - "onChange": { - "declarations": [ - { - "fileName": "ForwardRef.tsx", - "name": "TextInputProps", - }, - ], - "defaultValue": null, - "description": "Change handler", - "name": "onChange", - "parent": { - "fileName": "ForwardRef.tsx", - "name": "TextInputProps", - }, - "required": false, - "type": { - "name": "((value: string) => void)", - }, - }, - "placeholder": { - "declarations": [ - { - "fileName": "ForwardRef.tsx", - "name": "TextInputProps", - }, - ], - "defaultValue": null, - "description": "Placeholder text", - "name": "placeholder", - "parent": { - "fileName": "ForwardRef.tsx", - "name": "TextInputProps", - }, - "required": false, - "type": { - "name": "string", - }, - }, - "ref": { - "declarations": [ - { - "fileName": "node_modules/@types/react/index.d.ts", - "name": "RefAttributes", - }, - ], - "defaultValue": null, - "description": "Allows getting a ref to the component instance. - Once the component unmounts, React will set \`ref.current\` to \`null\` - (or call the ref with \`null\` if you passed a callback ref). - @see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}", - "name": "ref", - "parent": { - "fileName": "node_modules/@types/react/index.d.ts", - "name": "RefAttributes", - }, - "required": false, - "type": { - "name": "LegacyRef", - }, - }, - }, - "tags": {}, - }, - ] - `); - }); - - test('RenamedExport (export { Foo as Bar } — displayName differs from exportName)', () => { - const result = normalize(parseWithReactDocgenTypescript(fixture('RenamedExport.ts'))); - expect(result).toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "Alert", - "exportName": "NotificationBanner", - "filePath": "RenamedExport.ts", - "methods": [], - "props": { - "message": { - "declarations": [ - { - "fileName": "RenamedExport.ts", - "name": "AlertProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "message", - "parent": { - "fileName": "RenamedExport.ts", - "name": "AlertProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - "severity": { - "declarations": [ - { - "fileName": "RenamedExport.ts", - "name": "AlertProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "severity", - "parent": { - "fileName": "RenamedExport.ts", - "name": "AlertProps", - }, - "required": false, - "type": { - "name": "enum", - "raw": ""info" | "warning" | "error"", - "value": [ - { - "value": ""info"", - }, - { - "value": ""warning"", - }, - { - "value": ""error"", - }, - ], - }, - }, - }, - "tags": {}, - }, - ] - `); - // Key assertion: displayName is the internal name, exportName is what consumers import - expect(result[0].displayName).toBe('Alert'); - expect(result[0].exportName).toBe('NotificationBanner'); - }); - - test('DisplayNameOverride (component.displayName set explicitly)', () => { - const result = normalize(parseWithReactDocgenTypescript(fixture('DisplayNameOverride.ts'))); - // The export name should be "Modal" (the export alias), not "InternalModal" or "FancyModal" - expect(result[0].exportName).toBe('Modal'); - expect(result[0].props).toHaveProperty('title'); - expect(result[0].props).toHaveProperty('open'); - }); - - test('Barrel (export * from barrel index)', () => { - expect(normalize(parseWithReactDocgenTypescript(fixture('barrel/index.ts')))) - .toMatchInlineSnapshot(` - [ - { - "description": "", - "displayName": "Button", - "exportName": "Button", - "filePath": "barrel/index.ts", - "methods": [], - "props": { - "label": { - "declarations": [ - { - "fileName": "barrel/Button.ts", - "name": "ButtonProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "label", - "parent": { - "fileName": "barrel/Button.ts", - "name": "ButtonProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - "size": { - "declarations": [ - { - "fileName": "barrel/Button.ts", - "name": "ButtonProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "size", - "parent": { - "fileName": "barrel/Button.ts", - "name": "ButtonProps", - }, - "required": false, - "type": { - "name": "enum", - "raw": ""sm" | "md" | "lg"", - "value": [ - { - "value": ""sm"", - }, - { - "value": ""md"", - }, - { - "value": ""lg"", - }, - ], - }, - }, - }, - "tags": {}, - }, - { - "description": "", - "displayName": "Input", - "exportName": "Input", - "filePath": "barrel/index.ts", - "methods": [], - "props": { - "onChange": { - "declarations": [ - { - "fileName": "barrel/Input.ts", - "name": "InputProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "onChange", - "parent": { - "fileName": "barrel/Input.ts", - "name": "InputProps", - }, - "required": true, - "type": { - "name": "(value: string) => void", - }, - }, - "value": { - "declarations": [ - { - "fileName": "barrel/Input.ts", - "name": "InputProps", - }, - ], - "defaultValue": null, - "description": "", - "name": "value", - "parent": { - "fileName": "barrel/Input.ts", - "name": "InputProps", - }, - "required": true, - "type": { - "name": "string", - }, - }, - }, - "tags": {}, - }, - ] - `); - }); -}); diff --git a/code/vitest.config.storybook.ts b/code/vitest.config.storybook.ts index 2f4bcdcd3215..2088e69634ae 100644 --- a/code/vitest.config.storybook.ts +++ b/code/vitest.config.storybook.ts @@ -21,6 +21,7 @@ if (process.env.INSPECT === 'true') { export default defineProject({ plugins: [ storybookTest({ + configDir: import.meta.dirname + '/.storybook', tags: { include: ['vitest'], }, diff --git a/docs/versions/latest.json b/docs/versions/latest.json index 6abb03c19141..44c97657584e 100644 --- a/docs/versions/latest.json +++ b/docs/versions/latest.json @@ -1 +1 @@ -{"version":"10.2.0","info":{"plain":""}} \ No newline at end of file +{"version":"10.3.0","info":{"plain":""}} \ No newline at end of file diff --git a/package.json b/package.json index 00526f3ff9e2..8f741ed893ea 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,10 @@ "svelte-ecosystem-ci:build": "./scripts/ecosystem-ci/build.sh svelte-kit/skeleton-ts svelte", "svelte-ecosystem-ci:test": "./scripts/ecosystem-ci/test.sh svelte-kit/skeleton-ts", "task": "yarn --cwd=./scripts task", - "test": "cd code; yarn test", - "test:watch": "cd code; yarn test:watch", + "storybook:vitest": "NODE_OPTIONS=--max_old_space_size=4096 vitest watch --project storybook-ui", + "storybook:vitest:inspect": "INSPECT=true NODE_OPTIONS=--max_old_space_size=4096 vitest run --project storybook-ui", + "test": "NODE_OPTIONS=--max_old_space_size=4096 vitest run", + "test:watch": "NODE_OPTIONS=--max_old_space_size=4096 vitest watch", "upload-bench": "cd scripts; yarn upload-bench", "vite-ecosystem-ci:before-test": "./scripts/ecosystem-ci/before-test.sh react-vite/default-ts", "vite-ecosystem-ci:build": "./scripts/ecosystem-ci/build.sh react-vite/default-ts", @@ -67,7 +69,9 @@ "jiti": "^2.6.1", "kill-port": "^2.0.1", "nx": "^22.1.3", - "prettier": "^3.7.1" + "prettier": "^3.7.1", + "vite": "^7.0.4", + "vitest": "^4.1.0" }, "packageManager": "yarn@4.10.3" } diff --git a/scripts/ci/common-jobs.ts b/scripts/ci/common-jobs.ts index a294206c1fed..53ba4ce361d8 100644 --- a/scripts/ci/common-jobs.ts +++ b/scripts/ci/common-jobs.ts @@ -247,14 +247,13 @@ export const testsUnit_linux = defineJob( { run: { name: 'Run tests', - working_directory: `code`, command: [ - 'TEST_FILES=$(circleci tests glob "**/*.{test,spec}.{ts,tsx,js,jsx,cjs}" | sed "/^e2e-tests\\//d" | sed "/^node_modules\\//d")', + 'TEST_FILES=$(circleci tests glob "code/**/*.{test,spec}.{ts,tsx,js,jsx,cjs}" "scripts/**/*.{test,spec}.{ts,tsx,js,jsx,cjs}" | sed "/e2e-tests\\//d" | sed "/node_modules\\//d")', 'echo "$TEST_FILES" | circleci tests run --command="xargs yarn test --reporter=junit --reporter=default --outputFile=./test-results/junit.xml" --verbose', ].join('\n'), }, }, - testResults.persist(`code/test-results`), + testResults.persist(`test-results`), git.check(), ...workflow.reportOnFailure(workflowName), @@ -276,14 +275,13 @@ export const testsStories_linux = defineJob( { run: { name: 'Run stories tests', - working_directory: `code`, command: [ - 'TEST_FILES=$(circleci tests glob "**/*.{stories}.{ts,tsx,js,jsx,cjs}" | sed "/^e2e-tests\\//d" | sed "/^node_modules\\//d")', + 'TEST_FILES=$(circleci tests glob "code/**/*.{stories}.{ts,tsx,js,jsx,cjs}" | sed "/e2e-tests\\//d" | sed "/node_modules\\//d")', 'echo "$TEST_FILES" | circleci tests run --command="xargs yarn test --reporter=junit --reporter=default --outputFile=./test-results/junit.xml" --verbose', ].join('\n'), }, }, - testResults.persist(`code/test-results`), + testResults.persist(`test-results`), git.check(), ...workflow.reportOnFailure(workflowName), @@ -314,10 +312,9 @@ export const testUnit_windows = defineJob( command: 'yarn test --reporter=junit --reporter=default --outputFile=./test-results/junit.xml', name: 'Run unit tests', - working_directory: `code`, }, }, - testResults.persist(`code/test-results`), + testResults.persist(`test-results`), ], }), [build_windows] diff --git a/scripts/package.json b/scripts/package.json index d0e330c65af0..684148e8f295 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -37,8 +37,8 @@ "release:write-changelog": "jiti ./release/write-changelog.ts", "strict-ts": "jiti ./strict-ts.ts", "task": "jiti ./task.ts", - "test": "NODE_OPTIONS=--max_old_space_size=4096 vitest run", - "test:watch": "NODE_OPTIONS=--max_old_space_size=4096 vitest watch", + "test": "cd .. && NODE_OPTIONS=--max_old_space_size=4096 vitest run --project scripts", + "test:watch": "cd .. && NODE_OPTIONS=--max_old_space_size=4096 vitest watch --project scripts", "upgrade": "jiti ./task.ts", "upload-bench": "jiti ./upload-bench.ts" }, @@ -82,7 +82,7 @@ "@typescript-eslint/eslint-plugin": "^8.48.0", "@typescript-eslint/experimental-utils": "^5.62.0", "@typescript-eslint/parser": "^8.48.0", - "@vitest/coverage-v8": "^4.0.14", + "@vitest/coverage-v8": "^4.1.0", "ansi-regex": "^6.0.1", "chromatic": "^13.3.4", "codecov": "^3.8.1", @@ -170,7 +170,7 @@ "type-fest": "~2.19", "typescript": "^5.9.3", "uuid": "^9.0.1", - "vitest": "^4.0.14", + "vitest": "^4.1.0", "wait-on": "^8.0.3", "window-size": "^1.1.1", "yaml": "^2.8.1", diff --git a/scripts/project.json b/scripts/project.json index ef8f8237cd93..866383052a98 100644 --- a/scripts/project.json +++ b/scripts/project.json @@ -22,14 +22,6 @@ "inputs": ["default"], "configurations": { "production": {} } }, - "test": { - "dependsOn": [{ "projects": ["core"], "target": "compile" }], - "executor": "nx:run-commands", - "options": { "cwd": "{projectRoot}", "command": "yarn test" }, - "cache": true, - "inputs": ["default", "all-production"], - "configurations": { "production": {} } - }, "run-registry": {}, "publish": {} } diff --git a/scripts/vitest.config.ts b/scripts/vitest.config.ts index e0a86e20674e..2a98cdb7ce95 100644 --- a/scripts/vitest.config.ts +++ b/scripts/vitest.config.ts @@ -13,6 +13,7 @@ const threadCount = process.env.CI ? 1 : undefined; export default defineConfig({ test: { + name: 'scripts', clearMocks: true, pool: 'threads', maxWorkers: threadCount, diff --git a/code/vitest.config.ts b/vitest.config.ts similarity index 79% rename from code/vitest.config.ts rename to vitest.config.ts index cc508214b754..ee46b8695749 100644 --- a/code/vitest.config.ts +++ b/vitest.config.ts @@ -13,13 +13,14 @@ const threadCount = process.env.CI ? (process.platform === 'win32' ? 4 : 7) : un const shouldRunStorybookTests = !(process.env.CI && process.platform === 'win32'); const projects = [ - 'addons/*/vitest.config.ts', - 'frameworks/*/vitest.config.ts', - 'lib/*/vitest.config.ts', - 'core/vitest.config.ts', - 'builders/*/vitest.config.ts', - 'presets/*/vitest.config.ts', - 'renderers/*/vitest.config.ts', + 'code/addons/*/vitest.config.ts', + 'code/frameworks/*/vitest.config.ts', + 'code/lib/*/vitest.config.ts', + 'code/core/vitest.config.ts', + 'code/builders/*/vitest.config.ts', + 'code/presets/*/vitest.config.ts', + 'code/renderers/*/vitest.config.ts', + 'scripts/vitest.config.ts', ]; /** @@ -27,7 +28,7 @@ const projects = [ * these tests, that need browser-mode cannot be run/added */ if (shouldRunStorybookTests) { - projects.push('vitest.config.storybook.ts'); + projects.push('code/vitest.config.storybook.ts'); } export default defineConfig({ diff --git a/yarn.lock b/yarn.lock index 728a4a89bdc6..283a4d020bf3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -447,21 +447,21 @@ __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.24.2, @babel/code-frame@npm:^7.26.2, @babel/code-frame@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/code-frame@npm:7.27.1" +"@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.24.2, @babel/code-frame@npm:^7.26.2, @babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": + version: 7.29.0 + resolution: "@babel/code-frame@npm:7.29.0" dependencies: - "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.28.5" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.1.1" - checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 + checksum: 10c0/d34cc504e7765dfb576a663d97067afb614525806b5cad1a5cc1a7183b916fec8ff57fa233585e3926fd5a9e6b31aae6df91aa81ae9775fb7a28f658d3346f0d languageName: node linkType: hard -"@babel/compat-data@npm:^7.26.8, @babel/compat-data@npm:^7.27.2, @babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/compat-data@npm:7.28.5" - checksum: 10c0/702a25de73087b0eba325c1d10979eed7c9b6662677386ba7b5aa6eace0fc0676f78343bae080a0176ae26f58bd5535d73b9d0fbb547fef377692e8b249353a7 +"@babel/compat-data@npm:^7.26.8, @babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.5, @babel/compat-data@npm:^7.28.6": + version: 7.29.0 + resolution: "@babel/compat-data@npm:7.29.0" + checksum: 10c0/08f348554989d23aa801bf1405aa34b15e841c0d52d79da7e524285c77a5f9d298e70e11d91cc578d8e2c9542efc586d50c5f5cf8e1915b254a9dcf786913a94 languageName: node linkType: hard @@ -511,26 +511,26 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.12.0, @babel/core@npm:^7.18.9, @babel/core@npm:^7.23.0, @babel/core@npm:^7.23.9, @babel/core@npm:^7.28.0, @babel/core@npm:^7.28.5, @babel/core@npm:^7.3.4, @babel/core@npm:^7.7.5": - version: 7.28.5 - resolution: "@babel/core@npm:7.28.5" +"@babel/core@npm:^7.12.0, @babel/core@npm:^7.18.9, @babel/core@npm:^7.23.0, @babel/core@npm:^7.23.9, @babel/core@npm:^7.28.0, @babel/core@npm:^7.28.5, @babel/core@npm:^7.29.0, @babel/core@npm:^7.3.4, @babel/core@npm:^7.7.5": + version: 7.29.0 + resolution: "@babel/core@npm:7.29.0" dependencies: - "@babel/code-frame": "npm:^7.27.1" - "@babel/generator": "npm:^7.28.5" - "@babel/helper-compilation-targets": "npm:^7.27.2" - "@babel/helper-module-transforms": "npm:^7.28.3" - "@babel/helpers": "npm:^7.28.4" - "@babel/parser": "npm:^7.28.5" - "@babel/template": "npm:^7.27.2" - "@babel/traverse": "npm:^7.28.5" - "@babel/types": "npm:^7.28.5" + "@babel/code-frame": "npm:^7.29.0" + "@babel/generator": "npm:^7.29.0" + "@babel/helper-compilation-targets": "npm:^7.28.6" + "@babel/helper-module-transforms": "npm:^7.28.6" + "@babel/helpers": "npm:^7.28.6" + "@babel/parser": "npm:^7.29.0" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" "@jridgewell/remapping": "npm:^2.3.5" 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: 10c0/535f82238027621da6bdffbdbe896ebad3558b311d6f8abc680637a9859b96edbf929ab010757055381570b29cf66c4a295b5618318d27a4273c0e2033925e72 + checksum: 10c0/5127d2e8e842ae409e11bcbb5c2dff9874abf5415e8026925af7308e903f4f43397341467a130490d1a39884f461bc2b67f3063bce0be44340db89687fd852aa languageName: node linkType: hard @@ -547,16 +547,16 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.26.10, @babel/generator@npm:^7.26.9, @babel/generator@npm:^7.28.0, @babel/generator@npm:^7.28.5": - version: 7.28.5 - resolution: "@babel/generator@npm:7.28.5" +"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.26.10, @babel/generator@npm:^7.26.9, @babel/generator@npm:^7.28.0, @babel/generator@npm:^7.28.5, @babel/generator@npm:^7.29.0": + version: 7.29.1 + resolution: "@babel/generator@npm:7.29.1" dependencies: - "@babel/parser": "npm:^7.28.5" - "@babel/types": "npm:^7.28.5" + "@babel/parser": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" "@jridgewell/gen-mapping": "npm:^0.3.12" "@jridgewell/trace-mapping": "npm:^0.3.28" jsesc: "npm:^3.0.2" - checksum: 10c0/9f219fe1d5431b6919f1a5c60db8d5d34fe546c0d8f5a8511b32f847569234ffc8032beb9e7404649a143f54e15224ecb53a3d11b6bb85c3203e573d91fca752 + checksum: 10c0/349086e6876258ef3fb2823030fee0f6c0eb9c3ebe35fc572e16997f8c030d765f636ddc6299edae63e760ea6658f8ee9a2edfa6d6b24c9a80c917916b973551 languageName: node linkType: hard @@ -578,16 +578,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.12.0, @babel/helper-compilation-targets@npm:^7.26.5, @babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2": - version: 7.27.2 - resolution: "@babel/helper-compilation-targets@npm:7.27.2" +"@babel/helper-compilation-targets@npm:^7.12.0, @babel/helper-compilation-targets@npm:^7.26.5, @babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2, @babel/helper-compilation-targets@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-compilation-targets@npm:7.28.6" dependencies: - "@babel/compat-data": "npm:^7.27.2" + "@babel/compat-data": "npm:^7.28.6" "@babel/helper-validator-option": "npm:^7.27.1" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 + checksum: 10c0/3fcdf3b1b857a1578e99d20508859dbd3f22f3c87b8a0f3dc540627b4be539bae7f6e61e49d931542fe5b557545347272bbdacd7f58a5c77025a18b745593a50 languageName: node linkType: hard @@ -653,26 +653,26 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.25.9, @babel/helper-module-imports@npm:^7.27.1, @babel/helper-module-imports@npm:^7.8.3": - version: 7.27.1 - resolution: "@babel/helper-module-imports@npm:7.27.1" +"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.25.9, @babel/helper-module-imports@npm:^7.27.1, @babel/helper-module-imports@npm:^7.28.6, @babel/helper-module-imports@npm:^7.8.3": + version: 7.28.6 + resolution: "@babel/helper-module-imports@npm:7.28.6" dependencies: - "@babel/traverse": "npm:^7.27.1" - "@babel/types": "npm:^7.27.1" - checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 + "@babel/traverse": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/b49d8d8f204d9dbfd5ac70c54e533e5269afb3cea966a9d976722b13e9922cc773a653405f53c89acb247d5aebdae4681d631a3ae3df77ec046b58da76eda2ac languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.26.0, @babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.3": - version: 7.28.3 - resolution: "@babel/helper-module-transforms@npm:7.28.3" +"@babel/helper-module-transforms@npm:^7.26.0, @babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.28.3, @babel/helper-module-transforms@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/helper-module-transforms@npm:7.28.6" dependencies: - "@babel/helper-module-imports": "npm:^7.27.1" - "@babel/helper-validator-identifier": "npm:^7.27.1" - "@babel/traverse": "npm:^7.28.3" + "@babel/helper-module-imports": "npm:^7.28.6" + "@babel/helper-validator-identifier": "npm:^7.28.5" + "@babel/traverse": "npm:^7.28.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/549be62515a6d50cd4cfefcab1b005c47f89bd9135a22d602ee6a5e3a01f27571868ada10b75b033569f24dc4a2bb8d04bfa05ee75c16da7ade2d0db1437fcdb + checksum: 10c0/6f03e14fc30b287ce0b839474b5f271e72837d0cafe6b172d759184d998fbee3903a035e81e07c2c596449e504f453463d58baa65b6f40a37ded5bec74620b2b languageName: node linkType: hard @@ -744,7 +744,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.27.1, @babel/helper-validator-identifier@npm:^7.28.5": +"@babel/helper-validator-identifier@npm:^7.28.5": version: 7.28.5 resolution: "@babel/helper-validator-identifier@npm:7.28.5" checksum: 10c0/42aaebed91f739a41f3d80b72752d1f95fd7c72394e8e4bd7cdd88817e0774d80a432451bcba17c2c642c257c483bf1d409dd4548883429ea9493a3bc4ab0847 @@ -769,24 +769,24 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.26.10, @babel/helpers@npm:^7.26.9, @babel/helpers@npm:^7.28.4": - version: 7.28.4 - resolution: "@babel/helpers@npm:7.28.4" +"@babel/helpers@npm:^7.26.10, @babel/helpers@npm:^7.26.9, @babel/helpers@npm:^7.28.6": + version: 7.29.2 + resolution: "@babel/helpers@npm:7.29.2" dependencies: - "@babel/template": "npm:^7.27.2" - "@babel/types": "npm:^7.28.4" - checksum: 10c0/aaa5fb8098926dfed5f223adf2c5e4c7fbba4b911b73dfec2d7d3083f8ba694d201a206db673da2d9b3ae8c01793e795767654558c450c8c14b4c2175b4fcb44 + "@babel/template": "npm:^7.28.6" + "@babel/types": "npm:^7.29.0" + checksum: 10c0/dab0e65b9318b2502a62c58bc0913572318595eec0482c31f0ad416b72636e6698a1d7c57cd2791d4528eb8c548bca88d338dc4d2a55a108dc1f6702f9bc5512 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.26.10, @babel/parser@npm:^7.26.9, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.0, @babel/parser@npm:^7.28.5, @babel/parser@npm:^7.4.5, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": - version: 7.28.5 - resolution: "@babel/parser@npm:7.28.5" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.26.10, @babel/parser@npm:^7.26.9, @babel/parser@npm:^7.28.0, @babel/parser@npm:^7.28.5, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0, @babel/parser@npm:^7.4.5, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": + version: 7.29.2 + resolution: "@babel/parser@npm:7.29.2" dependencies: - "@babel/types": "npm:^7.28.5" + "@babel/types": "npm:^7.29.0" bin: parser: ./bin/babel-parser.js - checksum: 10c0/5bbe48bf2c79594ac02b490a41ffde7ef5aa22a9a88ad6bcc78432a6ba8a9d638d531d868bd1f104633f1f6bba9905746e15185b8276a3756c42b765d131b1ef + checksum: 10c0/e5a4e69e3ac7acdde995f37cf299a68458cfe7009dff66bd0962fd04920bef287201169006af365af479c08ff216bfefbb595e331f87f6ae7283858aebbc3317 languageName: node linkType: hard @@ -2047,14 +2047,14 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.26.9, @babel/template@npm:^7.27.1, @babel/template@npm:^7.27.2": - version: 7.27.2 - resolution: "@babel/template@npm:7.27.2" +"@babel/template@npm:^7.26.9, @babel/template@npm:^7.27.1, @babel/template@npm:^7.27.2, @babel/template@npm:^7.28.6": + version: 7.28.6 + resolution: "@babel/template@npm:7.28.6" dependencies: - "@babel/code-frame": "npm:^7.27.1" - "@babel/parser": "npm:^7.27.2" - "@babel/types": "npm:^7.27.1" - checksum: 10c0/ed9e9022651e463cc5f2cc21942f0e74544f1754d231add6348ff1b472985a3b3502041c0be62dc99ed2d12cfae0c51394bf827452b98a2f8769c03b87aadc81 + "@babel/code-frame": "npm:^7.28.6" + "@babel/parser": "npm:^7.28.6" + "@babel/types": "npm:^7.28.6" + checksum: 10c0/66d87225ed0bc77f888181ae2d97845021838c619944877f7c4398c6748bcf611f216dfd6be74d39016af502bca876e6ce6873db3c49e4ac354c56d34d57e9f5 languageName: node linkType: hard @@ -2104,6 +2104,13 @@ __metadata: languageName: node linkType: hard +"@blazediff/core@npm:1.9.1": + version: 1.9.1 + resolution: "@blazediff/core@npm:1.9.1" + checksum: 10c0/fd45cdd0544002341d74831a179ef693a81414abd348c1ff0c01086c0ea03f5e5ee284c4e16c2e6fb3670c265f90a3d85752b9360320efa9a835928e604dae77 + languageName: node + linkType: hard + "@bunchtogether/vite-plugin-flow@npm:^1.0.2": version: 1.0.2 resolution: "@bunchtogether/vite-plugin-flow@npm:1.0.2" @@ -2270,31 +2277,31 @@ __metadata: languageName: node linkType: hard -"@emnapi/core@npm:^1.1.0, @emnapi/core@npm:^1.4.3, @emnapi/core@npm:^1.5.0": - version: 1.7.1 - resolution: "@emnapi/core@npm:1.7.1" +"@emnapi/core@npm:^1.1.0, @emnapi/core@npm:^1.4.3, @emnapi/core@npm:^1.7.1": + version: 1.9.0 + resolution: "@emnapi/core@npm:1.9.0" dependencies: - "@emnapi/wasi-threads": "npm:1.1.0" + "@emnapi/wasi-threads": "npm:1.2.0" tslib: "npm:^2.4.0" - checksum: 10c0/f3740be23440b439333e3ae3832163f60c96c4e35337f3220ceba88f36ee89a57a871d27c94eb7a9ff98a09911ed9a2089e477ab549f4d30029f8b907f84a351 + checksum: 10c0/defbfa5861aa5ff1346dbc6a19df50d727ae76ae276a31a97b178db8eecae0c5179976878087b43ac2441750e40e6c50e465280383256deb16dd2fb167dd515c languageName: node linkType: hard -"@emnapi/runtime@npm:^1.1.0, @emnapi/runtime@npm:^1.4.3, @emnapi/runtime@npm:^1.5.0, @emnapi/runtime@npm:^1.7.0": - version: 1.7.1 - resolution: "@emnapi/runtime@npm:1.7.1" +"@emnapi/runtime@npm:^1.1.0, @emnapi/runtime@npm:^1.4.3, @emnapi/runtime@npm:^1.7.0, @emnapi/runtime@npm:^1.7.1": + version: 1.9.0 + resolution: "@emnapi/runtime@npm:1.9.0" dependencies: tslib: "npm:^2.4.0" - checksum: 10c0/26b851cd3e93877d8732a985a2ebf5152325bbacc6204ef5336a47359dedcc23faeb08cdfcb8bb389b5401b3e894b882bc1a1e55b4b7c1ed1e67c991a760ddd5 + checksum: 10c0/f825e53b2d3f9d31fd880e669197d006bb5158c3a52ab25f0546f3d52ac58eb539a4bd1dcc378af6c10d202956fa064b28ab7b572a76de58972c0b8656a692ef languageName: node linkType: hard -"@emnapi/wasi-threads@npm:1.1.0": - version: 1.1.0 - resolution: "@emnapi/wasi-threads@npm:1.1.0" +"@emnapi/wasi-threads@npm:1.2.0": + version: 1.2.0 + resolution: "@emnapi/wasi-threads@npm:1.2.0" dependencies: tslib: "npm:^2.4.0" - checksum: 10c0/e6d54bf2b1e64cdd83d2916411e44e579b6ae35d5def0dea61a3c452d9921373044dff32a8b8473ae60c80692bdc39323e98b96a3f3d87ba6886b24dd0ef7ca1 + checksum: 10c0/1e3724b5814b06c14782fda87eee9b9aa68af01576c81ffeaefdf621ddb74386e419d5b3b1027b6a8172397729d95a92f814fc4b8d3c224376428faa07a6a01a languageName: node linkType: hard @@ -3411,7 +3418,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.13, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.13 resolution: "@jridgewell/gen-mapping@npm:0.3.13" dependencies: @@ -3455,7 +3462,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28, @jridgewell/trace-mapping@npm:^0.3.31": +"@jridgewell/trace-mapping@npm:0.3.31, @jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28, @jridgewell/trace-mapping@npm:^0.3.31": version: 0.3.31 resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: @@ -3924,14 +3931,14 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^1.0.7": - version: 1.0.7 - resolution: "@napi-rs/wasm-runtime@npm:1.0.7" +"@napi-rs/wasm-runtime@npm:^1.0.7, @napi-rs/wasm-runtime@npm:^1.1.1": + version: 1.1.1 + resolution: "@napi-rs/wasm-runtime@npm:1.1.1" dependencies: - "@emnapi/core": "npm:^1.5.0" - "@emnapi/runtime": "npm:^1.5.0" + "@emnapi/core": "npm:^1.7.1" + "@emnapi/runtime": "npm:^1.7.1" "@tybys/wasm-util": "npm:^0.10.1" - checksum: 10c0/2d8635498136abb49d6dbf7395b78c63422292240963bf055f307b77aeafbde57ae2c0ceaaef215601531b36d6eb92a2cdd6f5ba90ed2aa8127c27aff9c4ae55 + checksum: 10c0/04d57b67e80736e41fe44674a011878db0a8ad893f4d44abb9d3608debb7c174224cba2796ed5b0c1d367368159f3ca6be45f1c59222f70e32ddc880f803d447 languageName: node linkType: hard @@ -4677,6 +4684,20 @@ __metadata: languageName: node linkType: hard +"@oxc-project/runtime@npm:0.115.0": + version: 0.115.0 + resolution: "@oxc-project/runtime@npm:0.115.0" + checksum: 10c0/88905181724fcad06d2852969e706a25a7b6c4fadac22dd6aece24b882a947eda7487451e0824781c9dc87b40b2c6ee582790e47fec5a9ba5d27c6e8c6c35bc1 + languageName: node + linkType: hard + +"@oxc-project/types@npm:=0.115.0": + version: 0.115.0 + resolution: "@oxc-project/types@npm:0.115.0" + checksum: 10c0/47fc31eb3fb3fcf4119955339f92ba2003f9b445834c1a28ed945cd6b9cd833c7ba66fca88aa5277336c2c55df300a593bc67970e544691eceaa486ebe12cb58 + languageName: node + linkType: hard + "@oxc-resolver/binding-android-arm-eabi@npm:11.14.0": version: 11.14.0 resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.14.0" @@ -7194,6 +7215,113 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-android-arm64@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.9" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.9" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rolldown/binding-darwin-x64@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.9" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.9" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.9" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.9" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.9" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.9" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.9" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.9" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.9" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.9" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.9" + dependencies: + "@napi-rs/wasm-runtime": "npm:^1.1.1" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.9" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.9" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@rolldown/pluginutils@npm:1.0.0-beta.18": version: 1.0.0-beta.18 resolution: "@rolldown/pluginutils@npm:1.0.0-beta.18" @@ -7222,6 +7350,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/pluginutils@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "@rolldown/pluginutils@npm:1.0.0-rc.9" + checksum: 10c0/fca488fb96b134ccf95b42632b6112b4abb8b3a9688f166fbd627410def2538ee201953717d234ddecbff62dfe4edc4e72c657b01a9d0750134608d767eea5fd + languageName: node + linkType: hard + "@rollup/pluginutils@npm:^5.0.2": version: 5.3.0 resolution: "@rollup/pluginutils@npm:5.3.0" @@ -7245,9 +7380,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.53.2" +"@rollup/rollup-android-arm-eabi@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.59.0" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -7259,9 +7394,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-android-arm64@npm:4.53.2" +"@rollup/rollup-android-arm64@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-android-arm64@npm:4.59.0" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -7273,9 +7408,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-darwin-arm64@npm:4.53.2" +"@rollup/rollup-darwin-arm64@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.59.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -7287,9 +7422,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-darwin-x64@npm:4.53.2" +"@rollup/rollup-darwin-x64@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.59.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -7301,9 +7436,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.53.2" +"@rollup/rollup-freebsd-arm64@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.59.0" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -7315,9 +7450,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-freebsd-x64@npm:4.53.2" +"@rollup/rollup-freebsd-x64@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-freebsd-x64@npm:4.59.0" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -7329,9 +7464,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.53.2" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.59.0" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard @@ -7343,9 +7478,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.53.2" +"@rollup/rollup-linux-arm-musleabihf@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.59.0" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard @@ -7357,9 +7492,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.53.2" +"@rollup/rollup-linux-arm64-gnu@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.59.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -7371,20 +7506,27 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.53.2" +"@rollup/rollup-linux-arm64-musl@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.59.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-loong64-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.53.2" +"@rollup/rollup-linux-loong64-gnu@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.59.0" conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard +"@rollup/rollup-linux-loong64-musl@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-linux-loong64-musl@npm:4.59.0" + conditions: os=linux & cpu=loong64 & libc=musl + languageName: node + linkType: hard + "@rollup/rollup-linux-loongarch64-gnu@npm:4.34.8": version: 4.34.8 resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.34.8" @@ -7399,13 +7541,20 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-ppc64-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.53.2" +"@rollup/rollup-linux-ppc64-gnu@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.59.0" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard +"@rollup/rollup-linux-ppc64-musl@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.59.0" + conditions: os=linux & cpu=ppc64 & libc=musl + languageName: node + linkType: hard + "@rollup/rollup-linux-riscv64-gnu@npm:4.34.8": version: 4.34.8 resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.34.8" @@ -7413,16 +7562,16 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.53.2" +"@rollup/rollup-linux-riscv64-gnu@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.59.0" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-musl@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.53.2" +"@rollup/rollup-linux-riscv64-musl@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.59.0" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard @@ -7434,9 +7583,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.53.2" +"@rollup/rollup-linux-s390x-gnu@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.59.0" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard @@ -7448,9 +7597,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.53.2" +"@rollup/rollup-linux-x64-gnu@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.59.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -7462,16 +7611,23 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.53.2" +"@rollup/rollup-linux-x64-musl@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.59.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-openharmony-arm64@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-openharmony-arm64@npm:4.53.2" +"@rollup/rollup-openbsd-x64@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-openbsd-x64@npm:4.59.0" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-openharmony-arm64@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.59.0" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard @@ -7483,9 +7639,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.53.2" +"@rollup/rollup-win32-arm64-msvc@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.59.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -7497,16 +7653,16 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.53.2" +"@rollup/rollup-win32-ia32-msvc@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.59.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-win32-x64-gnu@npm:4.53.2" +"@rollup/rollup-win32-x64-gnu@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.59.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -7518,9 +7674,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.53.2" +"@rollup/rollup-win32-x64-msvc@npm:4.59.0": + version: 4.59.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.59.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -7599,10 +7755,10 @@ __metadata: languageName: node linkType: hard -"@standard-schema/spec@npm:^1.0.0": - version: 1.0.0 - resolution: "@standard-schema/spec@npm:1.0.0" - checksum: 10c0/a1ab9a8bdc09b5b47aa8365d0e0ec40cc2df6437be02853696a0e377321653b0d3ac6f079a8c67d5ddbe9821025584b1fb71d9cc041a6666a96f1fadf2ece15f +"@standard-schema/spec@npm:^1.1.0": + version: 1.1.0 + resolution: "@standard-schema/spec@npm:1.1.0" + checksum: 10c0/d90f55acde4b2deb983529c87e8025fa693de1a5e8b49ecc6eb84d1fd96328add0e03d7d551442156c7432fd78165b2c26ff561b970a9a881f046abb78d6a526 languageName: node linkType: hard @@ -7735,8 +7891,8 @@ __metadata: "@types/micromatch": "npm:^4.0.0" "@types/node": "npm:^22.19.1" "@types/semver": "npm:^7.7.1" - "@vitest/browser-playwright": "npm:^4.0.14" - "@vitest/runner": "npm:^4.0.14" + "@vitest/browser-playwright": "npm:^4.1.0" + "@vitest/runner": "npm:^4.1.0" empathic: "npm:^2.0.0" es-toolkit: "npm:^1.43.0" istanbul-lib-report: "npm:^3.0.1" @@ -7752,7 +7908,7 @@ __metadata: tree-kill: "npm:^1.2.2" ts-dedent: "npm:^2.2.0" typescript: "npm:^5.9.3" - vitest: "npm:^4.0.14" + vitest: "npm:^4.1.0" peerDependencies: "@vitest/browser": ^3.0.0 || ^4.0.0 "@vitest/browser-playwright": ^4.0.0 @@ -7960,10 +8116,10 @@ __metadata: "@types/react-dom": "npm:^18.0.11" "@vitejs/plugin-react": "npm:^4.3.2" "@vitejs/plugin-vue": "npm:^4.4.0" - "@vitest/browser": "npm:^4.0.14" - "@vitest/browser-playwright": "npm:^4.0.14" - "@vitest/coverage-istanbul": "npm:^4.0.14" - "@vitest/coverage-v8": "npm:^4.0.14" + "@vitest/browser": "npm:^4.1.0" + "@vitest/browser-playwright": "npm:^4.1.0" + "@vitest/coverage-istanbul": "npm:^4.1.0" + "@vitest/coverage-v8": "npm:^4.1.0" chromatic: "npm:^13.3.4" create-storybook: "workspace:*" cross-env: "npm:^7.0.3" @@ -7991,7 +8147,7 @@ __metadata: uuid: "npm:^11.1.0" vite: "npm:^7.0.4" vite-plugin-inspect: "npm:^11.0.0" - vitest: "npm:^4.0.14" + vitest: "npm:^4.1.0" wait-on: "npm:^8.0.3" dependenciesMeta: ejs: @@ -8461,6 +8617,8 @@ __metadata: kill-port: "npm:^2.0.1" nx: "npm:^22.1.3" prettier: "npm:^3.7.1" + vite: "npm:^7.0.4" + vitest: "npm:^4.1.0" languageName: unknown linkType: soft @@ -8500,7 +8658,7 @@ __metadata: "@typescript-eslint/experimental-utils": "npm:^5.62.0" "@typescript-eslint/parser": "npm:^8.48.0" "@verdaccio/types": "npm:^10.8.0" - "@vitest/coverage-v8": "npm:^4.0.14" + "@vitest/coverage-v8": "npm:^4.1.0" ansi-regex: "npm:^6.0.1" chromatic: "npm:^13.3.4" codecov: "npm:^3.8.1" @@ -8590,7 +8748,7 @@ __metadata: uuid: "npm:^9.0.1" verdaccio: "npm:^5.33.0" verdaccio-auth-memory: "npm:^10.3.1" - vitest: "npm:^4.0.14" + vitest: "npm:^4.1.0" wait-on: "npm:^8.0.3" window-size: "npm:^1.1.1" yaml: "npm:^2.8.1" @@ -10645,57 +10803,58 @@ __metadata: languageName: node linkType: hard -"@vitest/browser-playwright@npm:^4.0.14": - version: 4.0.14 - resolution: "@vitest/browser-playwright@npm:4.0.14" +"@vitest/browser-playwright@npm:^4.1.0": + version: 4.1.0 + resolution: "@vitest/browser-playwright@npm:4.1.0" dependencies: - "@vitest/browser": "npm:4.0.14" - "@vitest/mocker": "npm:4.0.14" + "@vitest/browser": "npm:4.1.0" + "@vitest/mocker": "npm:4.1.0" tinyrainbow: "npm:^3.0.3" peerDependencies: playwright: "*" - vitest: 4.0.14 + vitest: 4.1.0 peerDependenciesMeta: playwright: optional: false - checksum: 10c0/4f781884357f14e543a90d8426a579b23372ba29dda77af6290f1d3535646889ed833e4e4166d89a1c095b555427f3d7f83841a58bfe7ef8e26d6942a0d490fd + checksum: 10c0/af2f6fc36eb56e3c1ac6e31b0ab2a2f4ca0bda86a306d0991b2f01047213fb191339b35775103af11ce1ef323ec72432eebe4bfeccd744d5e7c658716f1b985a languageName: node linkType: hard -"@vitest/browser@npm:4.0.14, @vitest/browser@npm:^4.0.14": - version: 4.0.14 - resolution: "@vitest/browser@npm:4.0.14" +"@vitest/browser@npm:4.1.0, @vitest/browser@npm:^4.1.0": + version: 4.1.0 + resolution: "@vitest/browser@npm:4.1.0" dependencies: - "@vitest/mocker": "npm:4.0.14" - "@vitest/utils": "npm:4.0.14" + "@blazediff/core": "npm:1.9.1" + "@vitest/mocker": "npm:4.1.0" + "@vitest/utils": "npm:4.1.0" magic-string: "npm:^0.30.21" - pixelmatch: "npm:7.1.0" pngjs: "npm:^7.0.0" sirv: "npm:^3.0.2" tinyrainbow: "npm:^3.0.3" - ws: "npm:^8.18.3" + ws: "npm:^8.19.0" peerDependencies: - vitest: 4.0.14 - checksum: 10c0/6f741fbe1173b0620f27730c74eec2e92bcd584bf1d9075633563497196b747f5c7a21059f21ec4fbc37a4979aca4dd3b4572dbdebe0482b473fb55609b5af37 + vitest: 4.1.0 + checksum: 10c0/33b35cea63f392b6afafb6636bebe7ff0d234b1c120ec74a97462c7a7cbdbc67f415a5f0f95651f4074d53bfe12d4ff3ae8f16ba79045226df6365c77f950e18 languageName: node linkType: hard -"@vitest/coverage-istanbul@npm:^4.0.14": - version: 4.0.14 - resolution: "@vitest/coverage-istanbul@npm:4.0.14" +"@vitest/coverage-istanbul@npm:^4.1.0": + version: 4.1.0 + resolution: "@vitest/coverage-istanbul@npm:4.1.0" dependencies: + "@babel/core": "npm:^7.29.0" "@istanbuljs/schema": "npm:^0.1.3" + "@jridgewell/gen-mapping": "npm:^0.3.13" + "@jridgewell/trace-mapping": "npm:0.3.31" istanbul-lib-coverage: "npm:^3.2.2" - istanbul-lib-instrument: "npm:^6.0.3" istanbul-lib-report: "npm:^3.0.1" - istanbul-lib-source-maps: "npm:^5.0.6" istanbul-reports: "npm:^3.2.0" - magicast: "npm:^0.5.1" + magicast: "npm:^0.5.2" obug: "npm:^2.1.1" tinyrainbow: "npm:^3.0.3" peerDependencies: - vitest: 4.0.14 - checksum: 10c0/baeb4b239b4e4b48e76c41df86ba20c99366cd1a3a6f53637f489b7fd7c12371389312f853a3ac7e0867e577100e35456a3e8038783fccd32fe4e631e2e6d218 + vitest: 4.1.0 + checksum: 10c0/674d3f6a1b411a2f1d48e5fd6d2bc50d30e16b1e540737492d9f5238b57cf999fb93c316744f2acd661369277438f969fd1a6e8195cdd36ee2fe01b7531f6e98 languageName: node linkType: hard @@ -10726,28 +10885,27 @@ __metadata: languageName: node linkType: hard -"@vitest/coverage-v8@npm:^4.0.14": - version: 4.0.14 - resolution: "@vitest/coverage-v8@npm:4.0.14" +"@vitest/coverage-v8@npm:^4.1.0": + version: 4.1.0 + resolution: "@vitest/coverage-v8@npm:4.1.0" dependencies: "@bcoe/v8-coverage": "npm:^1.0.2" - "@vitest/utils": "npm:4.0.14" - ast-v8-to-istanbul: "npm:^0.3.8" + "@vitest/utils": "npm:4.1.0" + ast-v8-to-istanbul: "npm:^1.0.0" istanbul-lib-coverage: "npm:^3.2.2" istanbul-lib-report: "npm:^3.0.1" - istanbul-lib-source-maps: "npm:^5.0.6" istanbul-reports: "npm:^3.2.0" - magicast: "npm:^0.5.1" + magicast: "npm:^0.5.2" obug: "npm:^2.1.1" - std-env: "npm:^3.10.0" + std-env: "npm:^4.0.0-rc.1" tinyrainbow: "npm:^3.0.3" peerDependencies: - "@vitest/browser": 4.0.14 - vitest: 4.0.14 + "@vitest/browser": 4.1.0 + vitest: 4.1.0 peerDependenciesMeta: "@vitest/browser": optional: true - checksum: 10c0/ae4f7c0b187167bb679c6eee9b6dc6d036e15b629506cb2a462675de7ebd7bcf43ed07c2ade9d9737c351cf9f8fcd614f42b028a26cd4e44fce56ec05a79d6ca + checksum: 10c0/0bcbc9d20dd4c998ff76b82a721d6000f1300346b93cfc441f9012797a34be65bb73dc99451275d7f7dcb06b98856b4e5dc30b2c483051ec2320e9a89af14179 languageName: node linkType: hard @@ -10764,17 +10922,17 @@ __metadata: languageName: node linkType: hard -"@vitest/expect@npm:4.0.14": - version: 4.0.14 - resolution: "@vitest/expect@npm:4.0.14" +"@vitest/expect@npm:4.1.0": + version: 4.1.0 + resolution: "@vitest/expect@npm:4.1.0" dependencies: - "@standard-schema/spec": "npm:^1.0.0" + "@standard-schema/spec": "npm:^1.1.0" "@types/chai": "npm:^5.2.2" - "@vitest/spy": "npm:4.0.14" - "@vitest/utils": "npm:4.0.14" - chai: "npm:^6.2.1" + "@vitest/spy": "npm:4.1.0" + "@vitest/utils": "npm:4.1.0" + chai: "npm:^6.2.2" tinyrainbow: "npm:^3.0.3" - checksum: 10c0/cb82f16c0e7bd82743d91bc99a0c2a0906a2d5760d0bd80d68964e4d4d5fd99097b154de2315014a857ce86d66ecb7bda81c6ba4b9b3a3a5dc5c16fcc4187bde + checksum: 10c0/91cd7bb036401df5dfd9204f3de9a0afdb21dea6ee154622e5ed849e87a0df68b74258d490559c7046d3c03bc7aa634e9b0c166942a21d5e475c86c971486091 languageName: node linkType: hard @@ -10810,22 +10968,22 @@ __metadata: languageName: node linkType: hard -"@vitest/mocker@npm:4.0.14": - version: 4.0.14 - resolution: "@vitest/mocker@npm:4.0.14" +"@vitest/mocker@npm:4.1.0": + version: 4.1.0 + resolution: "@vitest/mocker@npm:4.1.0" dependencies: - "@vitest/spy": "npm:4.0.14" + "@vitest/spy": "npm:4.1.0" estree-walker: "npm:^3.0.3" magic-string: "npm:^0.30.21" peerDependencies: msw: ^2.4.9 - vite: ^6.0.0 || ^7.0.0-0 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0 peerDependenciesMeta: msw: optional: true vite: optional: true - checksum: 10c0/fba7366b26a7fe1222bb576ec807297270a2ad55d9db0d4849b4011364b182545326a8e9522a386e89d52afefa3bafbf456c57792ba9fa2fab4d84772e8c02ae + checksum: 10c0/f61d3df6461008eb1e62ba465172207b29bd0d9866ff6bc88cd40fc99cd5d215ad89e2894ba6de87068e33f75de903b28a65ccc6074edf3de1fbead6a4a369cc languageName: node linkType: hard @@ -10838,33 +10996,34 @@ __metadata: languageName: node linkType: hard -"@vitest/pretty-format@npm:4.0.14": - version: 4.0.14 - resolution: "@vitest/pretty-format@npm:4.0.14" +"@vitest/pretty-format@npm:4.1.0": + version: 4.1.0 + resolution: "@vitest/pretty-format@npm:4.1.0" dependencies: tinyrainbow: "npm:^3.0.3" - checksum: 10c0/ca03cbad86053a05eb3164b1794ada25767215e94f76fe069c0a0431629500a53b221610b186917bfbdebf6a28ac7d3945f78e1e18875230ea6dda685c6a18f3 + checksum: 10c0/638077f53b5f24ff2d4bc062e69931fa718141db28ddafe435de98a402586b82e8c3cadfc580c0ad233d7f0203aa22d866ac2adca98b83038dbd5423c3d7fe27 languageName: node linkType: hard -"@vitest/runner@npm:4.0.14, @vitest/runner@npm:^4.0.14": - version: 4.0.14 - resolution: "@vitest/runner@npm:4.0.14" +"@vitest/runner@npm:4.1.0, @vitest/runner@npm:^4.1.0": + version: 4.1.0 + resolution: "@vitest/runner@npm:4.1.0" dependencies: - "@vitest/utils": "npm:4.0.14" + "@vitest/utils": "npm:4.1.0" pathe: "npm:^2.0.3" - checksum: 10c0/97e49a99772fdc0b798d1ba5e8eabc76fa8846a7b5e41c7ac8a43cb0455d333fa37987b88bcbe344d7af51c967f06016c54fef70ded3a212479c71cd4d892d78 + checksum: 10c0/9e09ca1b9070d3fe26c9bd48443d21b9fe2cb9abb2f694300bd9e5065f4e904f7322c07cd4bafadfed6fb11adfb50e4d1535f327ac6d24b6c373e92be90510bc languageName: node linkType: hard -"@vitest/snapshot@npm:4.0.14": - version: 4.0.14 - resolution: "@vitest/snapshot@npm:4.0.14" +"@vitest/snapshot@npm:4.1.0": + version: 4.1.0 + resolution: "@vitest/snapshot@npm:4.1.0" dependencies: - "@vitest/pretty-format": "npm:4.0.14" + "@vitest/pretty-format": "npm:4.1.0" + "@vitest/utils": "npm:4.1.0" magic-string: "npm:^0.30.21" pathe: "npm:^2.0.3" - checksum: 10c0/6b187b08751fbacb32baa2e970d6f2fa90e9de1bc76c97f64bb5370c2341ff18af63af571dd11fa94cbd5ddba00de6b5280cbab948bca738d80f57d8f662035a + checksum: 10c0/582c22988c47a99d93dd17ef660427fefe101f67ae4394b64fe58ec103ddc55fc5993626b4a2b556e0a38d40552abaca78196907455e794805ba197b3d56860f languageName: node linkType: hard @@ -10877,10 +11036,10 @@ __metadata: languageName: node linkType: hard -"@vitest/spy@npm:4.0.14": - version: 4.0.14 - resolution: "@vitest/spy@npm:4.0.14" - checksum: 10c0/46917fab9c9aaa3c4f815300ec8e21631a7f9cd4d74aac06bad29bb750d9e7a726cd26149c29ea16b1dc5197995faceff3efdcc41c49f402e9da8916dd410be3 +"@vitest/spy@npm:4.1.0": + version: 4.1.0 + resolution: "@vitest/spy@npm:4.1.0" + checksum: 10c0/363776bbffda45af76ff500deacb9b1a35ad8b889462c1be9ebe5f29578ce1dd2c4bd7858c8188614a7db9699a5c802b7beb72e5a18ab5130a70326817961446 languageName: node linkType: hard @@ -10895,13 +11054,14 @@ __metadata: languageName: node linkType: hard -"@vitest/utils@npm:4.0.14": - version: 4.0.14 - resolution: "@vitest/utils@npm:4.0.14" +"@vitest/utils@npm:4.1.0": + version: 4.1.0 + resolution: "@vitest/utils@npm:4.1.0" dependencies: - "@vitest/pretty-format": "npm:4.0.14" + "@vitest/pretty-format": "npm:4.1.0" + convert-source-map: "npm:^2.0.0" tinyrainbow: "npm:^3.0.3" - checksum: 10c0/be5432b4445bdb1b41d1ad1bffe9e2a297b7d1d9addef3cbf3782d66da4e80ec8a14e2396638172572e5a6e3527f34bae7f1b98cee00cbe1175b099a28073ecd + checksum: 10c0/222afbdef4f680a554bb6c3d946a4a879a441ebfb8597295cb7554d295e0e2624f3d4c2920b5767bbb8961a9f8a16756270ffc84032f5ea432cdce080ccab050 languageName: node linkType: hard @@ -12017,7 +12177,7 @@ __metadata: languageName: node linkType: hard -"ast-v8-to-istanbul@npm:^0.3.3, ast-v8-to-istanbul@npm:^0.3.8": +"ast-v8-to-istanbul@npm:^0.3.3": version: 0.3.8 resolution: "ast-v8-to-istanbul@npm:0.3.8" dependencies: @@ -12028,6 +12188,17 @@ __metadata: languageName: node linkType: hard +"ast-v8-to-istanbul@npm:^1.0.0": + version: 1.0.0 + resolution: "ast-v8-to-istanbul@npm:1.0.0" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.31" + estree-walker: "npm:^3.0.3" + js-tokens: "npm:^10.0.0" + checksum: 10c0/35e57b754ba63287358094d4f7ae8de2de27286fb4e76a1fbf28b2e67e3b670b59c3f511882473d0fd2cdbaa260062e3cd4f216b724c70032e2b09e5cebbd618 + languageName: node + linkType: hard + "astring@npm:^1.8.0": version: 1.9.0 resolution: "astring@npm:1.9.0" @@ -13252,10 +13423,10 @@ __metadata: languageName: node linkType: hard -"chai@npm:^6.2.1": - version: 6.2.1 - resolution: "chai@npm:6.2.1" - checksum: 10c0/0c2d84392d7c6d44ca5d14d94204f1760e22af68b83d1f4278b5c4d301dabfc0242da70954dd86b1eda01e438f42950de6cf9d569df2103678538e4014abe50b +"chai@npm:^6.2.2": + version: 6.2.2 + resolution: "chai@npm:6.2.2" + checksum: 10c0/e6c69e5f0c11dffe6ea13d0290936ebb68fcc1ad688b8e952e131df6a6d5797d5e860bc55cef1aca2e950c3e1f96daf79e9d5a70fb7dbaab4e46355e2635ed53 languageName: node linkType: hard @@ -14861,7 +15032,7 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^2.0.1, detect-libc@npm:^2.1.2": +"detect-libc@npm:^2.0.1, detect-libc@npm:^2.0.3, detect-libc@npm:^2.1.2": version: 2.1.2 resolution: "detect-libc@npm:2.1.2" checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 @@ -15809,13 +15980,20 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^1.2.1, es-module-lexer@npm:^1.5.0, es-module-lexer@npm:^1.5.4, es-module-lexer@npm:^1.7.0": +"es-module-lexer@npm:^1.2.1, es-module-lexer@npm:^1.5.0, es-module-lexer@npm:^1.5.4": version: 1.7.0 resolution: "es-module-lexer@npm:1.7.0" checksum: 10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b languageName: node linkType: hard +"es-module-lexer@npm:^2.0.0": + version: 2.0.0 + resolution: "es-module-lexer@npm:2.0.0" + checksum: 10c0/ae78dbbd43035a4b972c46cfb6877e374ea290adfc62bc2f5a083fea242c0b2baaab25c5886af86be55f092f4a326741cb94334cd3c478c383fdc8a9ec5ff817 + languageName: node + linkType: hard + "es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": version: 1.1.1 resolution: "es-object-atoms@npm:1.1.1" @@ -16881,10 +17059,10 @@ __metadata: languageName: node linkType: hard -"expect-type@npm:^1.2.2": - version: 1.2.2 - resolution: "expect-type@npm:1.2.2" - checksum: 10c0/6019019566063bbc7a690d9281d920b1a91284a4a093c2d55d71ffade5ac890cf37a51e1da4602546c4b56569d2ad2fc175a2ccee77d1ae06cb3af91ef84f44b +"expect-type@npm:^1.3.0": + version: 1.3.0 + resolution: "expect-type@npm:1.3.0" + checksum: 10c0/8412b3fe4f392c420ab41dae220b09700e4e47c639a29ba7ba2e83cc6cffd2b4926f7ac9e47d7e277e8f4f02acda76fd6931cb81fd2b382fa9477ef9ada953fd languageName: node linkType: hard @@ -20112,7 +20290,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-instrument@npm:6.0.3, istanbul-lib-instrument@npm:^6.0.3": +"istanbul-lib-instrument@npm:6.0.3": version: 6.0.3 resolution: "istanbul-lib-instrument@npm:6.0.3" dependencies: @@ -20384,6 +20562,13 @@ __metadata: languageName: node linkType: hard +"js-tokens@npm:^10.0.0": + version: 10.0.0 + resolution: "js-tokens@npm:10.0.0" + checksum: 10c0/a93498747812ba3e0c8626f95f75ab29319f2a13613a0de9e610700405760931624433a0de59eb7c27ff8836e526768fb20783861b86ef89be96676f2c996b64 + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -20987,6 +21172,126 @@ __metadata: languageName: node linkType: hard +"lightningcss-android-arm64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-android-arm64@npm:1.32.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-arm64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-darwin-arm64@npm:1.32.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-x64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-darwin-x64@npm:1.32.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-freebsd-x64@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-freebsd-x64@npm:1.32.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-linux-arm-gnueabihf@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.32.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"lightningcss-linux-arm64-gnu@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm64-gnu@npm:1.32.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-arm64-musl@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-arm64-musl@npm:1.32.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-linux-x64-gnu@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-x64-gnu@npm:1.32.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-x64-musl@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-linux-x64-musl@npm:1.32.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-win32-arm64-msvc@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-win32-arm64-msvc@npm:1.32.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-win32-x64-msvc@npm:1.32.0": + version: 1.32.0 + resolution: "lightningcss-win32-x64-msvc@npm:1.32.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lightningcss@npm:^1.32.0": + version: 1.32.0 + resolution: "lightningcss@npm:1.32.0" + dependencies: + detect-libc: "npm:^2.0.3" + lightningcss-android-arm64: "npm:1.32.0" + lightningcss-darwin-arm64: "npm:1.32.0" + lightningcss-darwin-x64: "npm:1.32.0" + lightningcss-freebsd-x64: "npm:1.32.0" + lightningcss-linux-arm-gnueabihf: "npm:1.32.0" + lightningcss-linux-arm64-gnu: "npm:1.32.0" + lightningcss-linux-arm64-musl: "npm:1.32.0" + lightningcss-linux-x64-gnu: "npm:1.32.0" + lightningcss-linux-x64-musl: "npm:1.32.0" + lightningcss-win32-arm64-msvc: "npm:1.32.0" + lightningcss-win32-x64-msvc: "npm:1.32.0" + dependenciesMeta: + lightningcss-android-arm64: + optional: true + lightningcss-darwin-arm64: + optional: true + lightningcss-darwin-x64: + optional: true + lightningcss-freebsd-x64: + optional: true + lightningcss-linux-arm-gnueabihf: + optional: true + lightningcss-linux-arm64-gnu: + optional: true + lightningcss-linux-arm64-musl: + optional: true + lightningcss-linux-x64-gnu: + optional: true + lightningcss-linux-x64-musl: + optional: true + lightningcss-win32-arm64-msvc: + optional: true + lightningcss-win32-x64-msvc: + optional: true + checksum: 10c0/70945bd55097af46fc9fab7f5ed09cd5869d85940a2acab7ee06d0117004a1d68155708a2d462531cea2fc3c67aefc9333a7068c80b0b78dd404c16838809e03 + languageName: node + linkType: hard + "lilconfig@npm:^3.0.0, lilconfig@npm:^3.1.1": version: 3.1.3 resolution: "lilconfig@npm:3.1.3" @@ -21508,14 +21813,14 @@ __metadata: languageName: node linkType: hard -"magicast@npm:^0.5.1": - version: 0.5.1 - resolution: "magicast@npm:0.5.1" +"magicast@npm:^0.5.2": + version: 0.5.2 + resolution: "magicast@npm:0.5.2" dependencies: - "@babel/parser": "npm:^7.28.5" - "@babel/types": "npm:^7.28.5" + "@babel/parser": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" source-map-js: "npm:^1.2.1" - checksum: 10c0/a00bbf3688b9b3e83c10b3bfe3f106cc2ccbf20c4f2dc1c9020a10556dfe0a6a6605a445ee8e86a6e2b484ec519a657b5e405532684f72678c62e4c0d32f962c + checksum: 10c0/924af677643c5a0a7d6cdb3247c0eb96fa7611b2ba6a5e720d35d81c503d3d9f5948eb5227f80f90f82ea3e7d38cffd10bb988f3fc09020db428e14f26e960d7 languageName: node linkType: hard @@ -24536,17 +24841,6 @@ __metadata: languageName: node linkType: hard -"pixelmatch@npm:7.1.0": - version: 7.1.0 - resolution: "pixelmatch@npm:7.1.0" - dependencies: - pngjs: "npm:^7.0.0" - bin: - pixelmatch: bin/pixelmatch - checksum: 10c0/ff069f92edaa841ac9b58b0ab74e1afa1f3b5e770eea0218c96bac1da4e752f5f6b79a0f9c4ba6b02afb955d39b8c78bcc3cc884f8122b67a1f2efbbccbe1a73 - languageName: node - linkType: hard - "pkg-dir@npm:^3.0.0": version: 3.0.0 resolution: "pkg-dir@npm:3.0.0" @@ -24845,14 +25139,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.2.14, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.4.49, postcss@npm:^8.5.3, postcss@npm:^8.5.6": - version: 8.5.6 - resolution: "postcss@npm:8.5.6" +"postcss@npm:^8.2.14, postcss@npm:^8.4.33, postcss@npm:^8.4.38, postcss@npm:^8.4.49, postcss@npm:^8.5.3, postcss@npm:^8.5.6, postcss@npm:^8.5.8": + version: 8.5.8 + resolution: "postcss@npm:8.5.8" dependencies: nanoid: "npm:^3.3.11" picocolors: "npm:^1.1.1" source-map-js: "npm:^1.2.1" - checksum: 10c0/5127cc7c91ed7a133a1b7318012d8bfa112da9ef092dddf369ae699a1f10ebbd89b1b9f25f3228795b84585c72aabd5ced5fc11f2ba467eedf7b081a66fad024 + checksum: 10c0/dd918f7127ee7c60a0295bae2e72b3787892296e1d1c3c564d7a2a00c68d8df83cadc3178491259daa19ccc54804fb71ed8c937c6787e08d8bd4bedf8d17044c languageName: node linkType: hard @@ -26852,6 +27146,64 @@ __metadata: languageName: node linkType: hard +"rolldown@npm:1.0.0-rc.9": + version: 1.0.0-rc.9 + resolution: "rolldown@npm:1.0.0-rc.9" + dependencies: + "@oxc-project/types": "npm:=0.115.0" + "@rolldown/binding-android-arm64": "npm:1.0.0-rc.9" + "@rolldown/binding-darwin-arm64": "npm:1.0.0-rc.9" + "@rolldown/binding-darwin-x64": "npm:1.0.0-rc.9" + "@rolldown/binding-freebsd-x64": "npm:1.0.0-rc.9" + "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.0-rc.9" + "@rolldown/binding-linux-arm64-gnu": "npm:1.0.0-rc.9" + "@rolldown/binding-linux-arm64-musl": "npm:1.0.0-rc.9" + "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.0-rc.9" + "@rolldown/binding-linux-s390x-gnu": "npm:1.0.0-rc.9" + "@rolldown/binding-linux-x64-gnu": "npm:1.0.0-rc.9" + "@rolldown/binding-linux-x64-musl": "npm:1.0.0-rc.9" + "@rolldown/binding-openharmony-arm64": "npm:1.0.0-rc.9" + "@rolldown/binding-wasm32-wasi": "npm:1.0.0-rc.9" + "@rolldown/binding-win32-arm64-msvc": "npm:1.0.0-rc.9" + "@rolldown/binding-win32-x64-msvc": "npm:1.0.0-rc.9" + "@rolldown/pluginutils": "npm:1.0.0-rc.9" + dependenciesMeta: + "@rolldown/binding-android-arm64": + optional: true + "@rolldown/binding-darwin-arm64": + optional: true + "@rolldown/binding-darwin-x64": + optional: true + "@rolldown/binding-freebsd-x64": + optional: true + "@rolldown/binding-linux-arm-gnueabihf": + optional: true + "@rolldown/binding-linux-arm64-gnu": + optional: true + "@rolldown/binding-linux-arm64-musl": + optional: true + "@rolldown/binding-linux-ppc64-gnu": + optional: true + "@rolldown/binding-linux-s390x-gnu": + optional: true + "@rolldown/binding-linux-x64-gnu": + optional: true + "@rolldown/binding-linux-x64-musl": + optional: true + "@rolldown/binding-openharmony-arm64": + optional: true + "@rolldown/binding-wasm32-wasi": + optional: true + "@rolldown/binding-win32-arm64-msvc": + optional: true + "@rolldown/binding-win32-x64-msvc": + optional: true + bin: + rolldown: bin/cli.mjs + checksum: 10c0/d19af14dccf569dc25c0c3c2f1142b7a6f7cec291d55bba80cea71099f89c6d634145bb1b6487626ddd41d578f183f7065ed68067e49d2b964ad6242693b0f79 + languageName: node + linkType: hard + "rollup-plugin-dts@npm:^6.1.1": version: 6.1.1 resolution: "rollup-plugin-dts@npm:6.1.1" @@ -26950,31 +27302,34 @@ __metadata: linkType: hard "rollup@npm:^4.21.0, rollup@npm:^4.34.9, rollup@npm:^4.43.0": - version: 4.53.2 - resolution: "rollup@npm:4.53.2" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.53.2" - "@rollup/rollup-android-arm64": "npm:4.53.2" - "@rollup/rollup-darwin-arm64": "npm:4.53.2" - "@rollup/rollup-darwin-x64": "npm:4.53.2" - "@rollup/rollup-freebsd-arm64": "npm:4.53.2" - "@rollup/rollup-freebsd-x64": "npm:4.53.2" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.53.2" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.53.2" - "@rollup/rollup-linux-arm64-gnu": "npm:4.53.2" - "@rollup/rollup-linux-arm64-musl": "npm:4.53.2" - "@rollup/rollup-linux-loong64-gnu": "npm:4.53.2" - "@rollup/rollup-linux-ppc64-gnu": "npm:4.53.2" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.53.2" - "@rollup/rollup-linux-riscv64-musl": "npm:4.53.2" - "@rollup/rollup-linux-s390x-gnu": "npm:4.53.2" - "@rollup/rollup-linux-x64-gnu": "npm:4.53.2" - "@rollup/rollup-linux-x64-musl": "npm:4.53.2" - "@rollup/rollup-openharmony-arm64": "npm:4.53.2" - "@rollup/rollup-win32-arm64-msvc": "npm:4.53.2" - "@rollup/rollup-win32-ia32-msvc": "npm:4.53.2" - "@rollup/rollup-win32-x64-gnu": "npm:4.53.2" - "@rollup/rollup-win32-x64-msvc": "npm:4.53.2" + version: 4.59.0 + resolution: "rollup@npm:4.59.0" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.59.0" + "@rollup/rollup-android-arm64": "npm:4.59.0" + "@rollup/rollup-darwin-arm64": "npm:4.59.0" + "@rollup/rollup-darwin-x64": "npm:4.59.0" + "@rollup/rollup-freebsd-arm64": "npm:4.59.0" + "@rollup/rollup-freebsd-x64": "npm:4.59.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.59.0" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.59.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.59.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.59.0" + "@rollup/rollup-linux-loong64-gnu": "npm:4.59.0" + "@rollup/rollup-linux-loong64-musl": "npm:4.59.0" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.59.0" + "@rollup/rollup-linux-ppc64-musl": "npm:4.59.0" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.59.0" + "@rollup/rollup-linux-riscv64-musl": "npm:4.59.0" + "@rollup/rollup-linux-s390x-gnu": "npm:4.59.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.59.0" + "@rollup/rollup-linux-x64-musl": "npm:4.59.0" + "@rollup/rollup-openbsd-x64": "npm:4.59.0" + "@rollup/rollup-openharmony-arm64": "npm:4.59.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.59.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.59.0" + "@rollup/rollup-win32-x64-gnu": "npm:4.59.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.59.0" "@types/estree": "npm:1.0.8" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -27000,8 +27355,12 @@ __metadata: optional: true "@rollup/rollup-linux-loong64-gnu": optional: true + "@rollup/rollup-linux-loong64-musl": + optional: true "@rollup/rollup-linux-ppc64-gnu": optional: true + "@rollup/rollup-linux-ppc64-musl": + optional: true "@rollup/rollup-linux-riscv64-gnu": optional: true "@rollup/rollup-linux-riscv64-musl": @@ -27012,6 +27371,8 @@ __metadata: optional: true "@rollup/rollup-linux-x64-musl": optional: true + "@rollup/rollup-openbsd-x64": + optional: true "@rollup/rollup-openharmony-arm64": optional: true "@rollup/rollup-win32-arm64-msvc": @@ -27026,7 +27387,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/427216da71c1ce7fefb0bef75f94c301afd858ac27e35898e098c2da5977325fa54c2edda867caf9675c8abfa8d8d94efa99c482fa04f5cd91f3a740112d4f4f + checksum: 10c0/f38742da34cfee5e899302615fa157aa77cb6a2a1495e5e3ce4cc9c540d3262e235bbe60caa31562bbfe492b01fdb3e7a8c43c39d842d3293bcf843123b766fc languageName: node linkType: hard @@ -28248,14 +28609,14 @@ __metadata: languageName: node linkType: hard -"std-env@npm:^3.10.0, std-env@npm:^3.9.0": +"std-env@npm:^3.9.0": version: 3.10.0 resolution: "std-env@npm:3.10.0" checksum: 10c0/1814927a45004d36dde6707eaf17552a546769bc79a6421be2c16ce77d238158dfe5de30910b78ec30d95135cc1c59ea73ee22d2ca170f8b9753f84da34c427f languageName: node linkType: hard -"std-env@npm:^4.0.0": +"std-env@npm:^4.0.0, std-env@npm:^4.0.0-rc.1": version: 4.0.0 resolution: "std-env@npm:4.0.0" checksum: 10c0/63b1716eae27947adde49e21b7225a0f75fb2c3d410273ae9de8333c07c7d5fc7a0628ae4c8af6b4b49b4274ed46c2bf118ed69b64f1261c9d8213d76ed1c16c @@ -29292,13 +29653,20 @@ __metadata: languageName: node linkType: hard -"tinyexec@npm:^0.3.0, tinyexec@npm:^0.3.2": +"tinyexec@npm:^0.3.0": version: 0.3.2 resolution: "tinyexec@npm:0.3.2" checksum: 10c0/3efbf791a911be0bf0821eab37a3445c2ba07acc1522b1fa84ae1e55f10425076f1290f680286345ed919549ad67527d07281f1c19d584df3b74326909eb1f90 languageName: node linkType: hard +"tinyexec@npm:^1.0.2": + version: 1.0.4 + resolution: "tinyexec@npm:1.0.4" + checksum: 10c0/d4a5bbcf6bdb23527a4b74c4aa566f41432167112fe76f420ec7e3a90a3ecfd3a7d944383e2719fc3987b69400f7b928daf08700d145fb527c2e80ec01e198bd + languageName: node + linkType: hard + "tinyglobby@npm:^0.2.10, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.15": version: 0.2.15 resolution: "tinyglobby@npm:0.2.15" @@ -30721,7 +31089,65 @@ __metadata: languageName: node linkType: hard -"vite@npm:^6.0.0 || ^7.0.0, vite@npm:^7.0.4": +"vite@npm:^6.0.0 || ^7.0.0 || ^8.0.0-0": + version: 8.0.0 + resolution: "vite@npm:8.0.0" + dependencies: + "@oxc-project/runtime": "npm:0.115.0" + fsevents: "npm:~2.3.3" + lightningcss: "npm:^1.32.0" + picomatch: "npm:^4.0.3" + postcss: "npm:^8.5.8" + rolldown: "npm:1.0.0-rc.9" + tinyglobby: "npm:^0.2.15" + peerDependencies: + "@types/node": ^20.19.0 || >=22.12.0 + "@vitejs/devtools": ^0.0.0-alpha.31 + esbuild: ^0.27.0 + jiti: ">=1.21.0" + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + "@vitejs/devtools": + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/2246d3d54788dcd53c39da82da3f934a760756642ba9a575c84c5ef9f310bc47697f7f9fde6721fa566675e93e408736b4ac068008d2ddbd75b0ed99c7fd4c67 + languageName: node + linkType: hard + +"vite@npm:^7.0.4": version: 7.2.2 resolution: "vite@npm:7.2.2" dependencies: @@ -30804,40 +31230,41 @@ __metadata: languageName: node linkType: hard -"vitest@npm:^4.0.14": - version: 4.0.14 - resolution: "vitest@npm:4.0.14" - dependencies: - "@vitest/expect": "npm:4.0.14" - "@vitest/mocker": "npm:4.0.14" - "@vitest/pretty-format": "npm:4.0.14" - "@vitest/runner": "npm:4.0.14" - "@vitest/snapshot": "npm:4.0.14" - "@vitest/spy": "npm:4.0.14" - "@vitest/utils": "npm:4.0.14" - es-module-lexer: "npm:^1.7.0" - expect-type: "npm:^1.2.2" +"vitest@npm:^4.1.0": + version: 4.1.0 + resolution: "vitest@npm:4.1.0" + dependencies: + "@vitest/expect": "npm:4.1.0" + "@vitest/mocker": "npm:4.1.0" + "@vitest/pretty-format": "npm:4.1.0" + "@vitest/runner": "npm:4.1.0" + "@vitest/snapshot": "npm:4.1.0" + "@vitest/spy": "npm:4.1.0" + "@vitest/utils": "npm:4.1.0" + es-module-lexer: "npm:^2.0.0" + expect-type: "npm:^1.3.0" magic-string: "npm:^0.30.21" obug: "npm:^2.1.1" pathe: "npm:^2.0.3" picomatch: "npm:^4.0.3" - std-env: "npm:^3.10.0" + std-env: "npm:^4.0.0-rc.1" tinybench: "npm:^2.9.0" - tinyexec: "npm:^0.3.2" + tinyexec: "npm:^1.0.2" tinyglobby: "npm:^0.2.15" tinyrainbow: "npm:^3.0.3" - vite: "npm:^6.0.0 || ^7.0.0" + vite: "npm:^6.0.0 || ^7.0.0 || ^8.0.0-0" why-is-node-running: "npm:^2.3.0" peerDependencies: "@edge-runtime/vm": "*" "@opentelemetry/api": ^1.9.0 "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 - "@vitest/browser-playwright": 4.0.14 - "@vitest/browser-preview": 4.0.14 - "@vitest/browser-webdriverio": 4.0.14 - "@vitest/ui": 4.0.14 + "@vitest/browser-playwright": 4.1.0 + "@vitest/browser-preview": 4.1.0 + "@vitest/browser-webdriverio": 4.1.0 + "@vitest/ui": 4.1.0 happy-dom: "*" jsdom: "*" + vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0 peerDependenciesMeta: "@edge-runtime/vm": optional: true @@ -30857,9 +31284,11 @@ __metadata: optional: true jsdom: optional: true + vite: + optional: false bin: vitest: vitest.mjs - checksum: 10c0/97e05dabe5be18ecc72e4fa2f45be7353f828c35ad2d8957772027be52aa1f60d5f2609d166c85369d5888b9f664968dce2b918a7fffbcc91fbac29f1fdddabe + checksum: 10c0/48048e4391e4e8190aa12b1c868bef4ad8d346214631b4506e0dc1f3241ecb8bcb24f296c38a7d98eae712a042375ae209da4b35165db38f9a9bc79a3a9e2a04 languageName: node linkType: hard @@ -31697,9 +32126,9 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.18.0, ws@npm:^8.18.3": - version: 8.18.3 - resolution: "ws@npm:8.18.3" +"ws@npm:^8.18.0, ws@npm:^8.19.0": + version: 8.19.0 + resolution: "ws@npm:8.19.0" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -31708,7 +32137,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 10c0/eac918213de265ef7cb3d4ca348b891a51a520d839aa51cdb8ca93d4fa7ff9f6ccb339ccee89e4075324097f0a55157c89fa3f7147bde9d8d7e90335dc087b53 + checksum: 10c0/4741d9b9bc3f9c791880882414f96e36b8b254e34d4b503279d6400d9a4b87a033834856dbdd94ee4b637944df17ea8afc4bce0ff4a1560d2166be8855da5b04 languageName: node linkType: hard