diff --git a/.cursor/rules/guidelines.mdc b/.cursor/rules/guidelines.mdc
index e696f1d05..7c7336d29 100644
--- a/.cursor/rules/guidelines.mdc
+++ b/.cursor/rules/guidelines.mdc
@@ -27,152 +27,13 @@ Package name: `@cube-dev/ui-kit`
All tests: `$ pnpm test`
Specific test: `$ pnpm test -- {TestFileName}`
-Update snaphosts: `$ pnpm test -u -- {TestFileName}`
+Update snapshots: `$ pnpm test -u -- {TestFileName}`
## Build
`pnpm run build`
-## Lint + Fix
-
-`pnpm run fix`
-
-# Stack
-
-- `tasty` style helper.
- - `src/tasty` - sources
- - `src/stories/Tasty.docs.mdx` - documentation
- - `src/stories/Styles.docs.mdx` - custom tasty styles documentation
- - `src/stories/CreateComponent.docs.mdx` - create components using tasty helper.
-- Storybook v8.6
-- React and React DOM v18
-- `react-aria` and `react-stately` with the latest versions.
-- `tabler/icons-react` - icons.
-
-# Recomendations
-
-- Use `DOCUMENTATION_GUIDELINES.md` for writing documentation for components.
-- Use icons from `/src/icons` if they have a required one. If not - use `tabler/icons-react`. If we need to customize the size or color of the icon, then wrap it with `` component and pass all required props there. Do not add any props to the tabler icons directly.
-
-## Form System
-
-- Form validation uses async rule-based system with built-in validators:
- - `required` - field is required
- - `type` - validates data type (email, url, number, etc.)
- - `pattern` - regex pattern validation
- - `min`/`max` - length/value constraints
- - `enum` - allowed values
- - `whitespace` - non-empty content
- - `validator` - custom async function
-- Form fields support direct integration without Field wrapper
-- Use `useForm` hook for form instance management
-- Form state includes validation, touched state, and error handling
-
-## Testing
-
-- Testing setup: Jest + React Testing Library + `@testing-library/react-hooks`
-- Test configuration: `src/test/setup.ts` with custom configurations
-- Testing utilities: `src/test/render.tsx` provides `renderWithRoot` wrapper
-- QA attributes: Use `qa` prop for e2e testing selectors (`data-qa`)
-- Test environment: Uses `jsdom` with React 18 act() environment
-- Coverage: Run `pnpm test-cover` for coverage reports
-
-## Accessibility
-
-- All components use React Aria hooks for accessibility
-- Keyboard navigation patterns are consistent across components
-- ARIA attributes are automatically managed by React Aria
-- Screen reader support is built-in with proper announcements
-- Focus management is handled automatically
-- Components support all standard ARIA labeling props
-
-## TypeScript
-
-- Interface naming: Use descriptive names with `Props` suffix for component props
-- Base props: Extend from `BaseProps` or `AllBaseProps` for standard properties
-- Form types: Use `FieldTypes` interface for form field type definitions
-- Style props: Use specific style prop interfaces (e.g., `ContainerStyleProps`)
-- Generic constraints: Use `extends` for type safety in form and field components
-
-## Component Architecture
-
-- Use `filterBaseProps` to separate design system props from DOM props
-- Export pattern: Use barrel exports with compound components (e.g., `Button.Group`)
-- Style system: Use `extractStyles` for separating style props from other props
-- Modifiers: Use `mods` prop for state-based styling
-- Sub-elements: Use `data-element` attribute for targeting specific parts in styles
-
-## Style System (Tasty)
-
-- Use `tasty` documentation
-- Use `tasty` custom styles with tasty syntax when possible.
-- Use `style` property only for dynamic styles and tokens (css custom properties).
-- Style categories: BASE, POSITION, BLOCK, COLOR, TEXT, DIMENSION, FLOW, CONTAINER, OUTER
-- Responsive values: Use arrays for breakpoint-based styling
-- Modifiers: Use object syntax for conditional styles
-- Sub-elements: Target inner elements using capitalized keys in styles
-- Style props: Direct style application without `styles` prop
-- CSS custom properties: Use `@token-name` syntax for design tokens
-- To declare a CSS animation use `keyframes` method and then pass the animation name to the tasty styles.
-
-## Export Patterns
-
-- Compound components: Use `Object.assign` pattern for sub-components
-- Barrel exports: Each category has index.ts for re-exports
-- Main export: All components exported from `src/index.ts`
-- Type exports: Export component prop types for external use
-
-## Development Workflow
-
-- Branch naming: `[type/(task-name | scope)]` (e.g., `feat/button-group`)
-- Commit convention: `category: message` format
-- Changesets: Use `pnpm changeset` for version management
-- Code snippets: Use `jsx live=false` for documentation snippets
-- Storybook: Two modes - `stories` and `docs` for different outputs
-
-## Performance
-
-- Icon optimization: Reuse icon components, wrap with `` for customization
-- Style caching: Tasty system includes built-in style caching
-- Bundle size: Monitor with `pnpm size` command
-- Lazy loading: Use dynamic imports for large components
-
-## Error Handling
-
-- Form validation: Async error handling with Promise-based validation
-- Console suppression: Test setup includes act() warning suppression
-- Error boundaries: Use proper error boundaries in complex components
-- Validation state: Use `validationState` prop for field error states
-
-# Description
-
-Package name: `@cube-dev/ui-kit`
-
-# Project Structure
-
-## Component file structure (preferable)
-
-/src/components/{category}/{ComponentName}/
-- {ComponentName}.tsx – implementation of the component
-- {ComponentName}.docs.mdx - documentation
-- {ComponentName}.stories.tsx - Storybook stories
-- {ComponentName}.test.tsx - Unit tests
-- index.tsx - re-export of all instances
-
-## Icons
-
-/src/icons/
-
-# Commands
-
-## Test
-
-All tests: `$ pnpm test`
-Specific test: `$ pnpm test -- {TestFileName}`
-
-## Build
-
-`pnpm run build`
+Build tool: `tsdown` (config in `tsdown.config.ts`). Uses unbundled ESM output.
## Lint + Fix
@@ -192,6 +53,7 @@ Specific test: `$ pnpm test -- {TestFileName}`
# Recomendations
+- Use `DOCUMENTATION_GUIDELINES.md` for writing documentation for components.
- Use icons from `/src/icons` if they have a required one. If not - use `tabler/icons-react`. If we need to customize the size or color of the icon, then wrap it with `` component and pass all required props there. Do not add any props to the tabler icons directly.
## Form System
@@ -210,11 +72,12 @@ Specific test: `$ pnpm test -- {TestFileName}`
## Testing
-- Testing setup: Jest + React Testing Library + `@testing-library/react-hooks`
-- Test configuration: `src/test/setup.ts` with custom configurations
+- Testing setup: Vitest + React Testing Library
+- Test configuration: `vitest.config.ts` + `src/test/setup.ts`
- Testing utilities: `src/test/render.tsx` provides `renderWithRoot` wrapper
- QA attributes: Use `qa` prop for e2e testing selectors (`data-qa`)
- Test environment: Uses `jsdom` with React 18 act() environment
+- Vitest globals are enabled (`vi.mock`, `vi.fn`, `vi.spyOn`, `describe`, `it`, `expect`, etc.)
- Coverage: Run `pnpm test-cover` for coverage reports
## Accessibility
diff --git a/.cursor/rules/tests.mdc b/.cursor/rules/tests.mdc
index d225484bb..0f97bbf11 100644
--- a/.cursor/rules/tests.mdc
+++ b/.cursor/rules/tests.mdc
@@ -1,14 +1,16 @@
---
-globs: *.test.tsx
+globs: *.test.tsx,*.test.ts
alwaysApply: false
---
# Testing Rules for UI Kit
+Test runner: **Vitest** (globals enabled — `vi`, `describe`, `it`, `expect` etc. are available without imports).
+
## Setup
- Place test files next to components with `.test.tsx` extension
-- Mock internal warnings: `jest.mock('../../../_internal/hooks/use-warn')`
+- Mock internal warnings: `vi.mock('../../../_internal/hooks/use-warn')`
- Define test data at the top of `describe` blocks
## Render Functions
@@ -55,7 +57,7 @@ Wait for removal: `await waitForElementToBeRemoved(() => queryByRole('dialog'))`
### Basic Rendering & User Interactions
```tsx
it('should handle button press', async () => {
- const onPress = jest.fn();
+ const onPress = vi.fn();
const { getByRole } = render();
await userEvent.click(getByRole('button'));
@@ -163,7 +165,7 @@ it.each([
['aria-label', { 'aria-label': 'test' }],
['label', { label: 'test' }],
])('should not warn if %s is provided', (_, props) => {
- const spy = jest.spyOn(console, 'warn').mockImplementation(() => {});
+ const spy = vi.spyOn(console, 'warn').mockImplementation(() => {});
render();
expect(spy).not.toHaveBeenCalled();
spy.mockRestore();
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index c12a7ad87..2b279b120 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -80,7 +80,6 @@ jobs:
run: npm config delete //registry.npmjs.org/:_authToken || true
- name: Publish canary to npm
- working-directory: ./dist
run: npm publish --access public --tag pr_${{ github.event.number }} --provenance
- name: Comment PR
diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml
index 3c53a4580..f607a97d6 100644
--- a/.github/workflows/pull-request.yml
+++ b/.github/workflows/pull-request.yml
@@ -67,7 +67,7 @@ jobs:
run: pnpm lint
- name: Run the tests
- run: pnpm test:no-cache
+ run: pnpm test
deploy-chromatic:
name: 'Prepare Storybook for review & tests'
diff --git a/.size-limit.cjs b/.size-limit.cjs
index df825f63f..955190d4b 100644
--- a/.size-limit.cjs
+++ b/.size-limit.cjs
@@ -7,7 +7,7 @@ const reportFolder = process.env.REPORT_FOLDER ?? './size-limit-report';
module.exports = [
{
name: 'All',
- path: './dist/es/index.js',
+ path: './dist/index.js',
webpack: true,
import: '*',
modifyWebpackConfig: (webpackConfig) => {
@@ -24,14 +24,14 @@ module.exports = [
},
{
name: 'Tree shaking (just a Button)',
- path: './dist/es/index.js',
+ path: './dist/index.js',
webpack: true,
import: '{ Button }',
limit: '62kB',
},
{
name: 'Tree shaking (just tasty)',
- path: './dist/es/index.js',
+ path: './dist/index.js',
webpack: true,
import: '{ tasty }',
limit: '38kB',
diff --git a/.storybook/main.js b/.storybook/main.js
index 8525ab9af..d2ab22655 100644
--- a/.storybook/main.js
+++ b/.storybook/main.js
@@ -1,6 +1,11 @@
// @ts-check
+import { readFileSync } from 'node:fs';
+
+import react from '@vitejs/plugin-react';
import remarkGfm from 'remark-gfm';
+const pkg = JSON.parse(readFileSync('./package.json', 'utf-8'));
+
const config = {
staticDirs: ['../public'],
@@ -41,5 +46,26 @@ const config = {
},
},
],
+
+ viteFinal(config) {
+ const REACT_PLUGIN_NAMES = ['vite:react-babel', 'vite:react-refresh'];
+ const existingPlugins = (config.plugins ?? [])
+ .flat()
+ .filter(
+ (p) =>
+ p &&
+ typeof p === 'object' &&
+ !REACT_PLUGIN_NAMES.includes(/** @type {any} */ (p).name),
+ );
+
+ config.plugins = [...existingPlugins, react({ jsxRuntime: 'automatic' })];
+
+ config.define = {
+ ...config.define,
+ __UIKIT_VERSION__: JSON.stringify(pkg.version),
+ };
+
+ return config;
+ },
};
export default config;
diff --git a/eslint.config.js b/eslint.config.js
index 81b375b98..2ed708c9e 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -112,7 +112,12 @@ export default [
// TypeScript files
{
files: ['**/*.{ts,tsx}'],
- ignores: ['vite.config.ts', 'tasty.config.ts'],
+ ignores: [
+ 'vite.config.ts',
+ 'vitest.config.ts',
+ 'tsdown.config.ts',
+ 'tasty.config.ts',
+ ],
languageOptions: {
parser,
parserOptions: {
diff --git a/jest.config.cjs b/jest.config.cjs
deleted file mode 100644
index 42d45f9e8..000000000
--- a/jest.config.cjs
+++ /dev/null
@@ -1,27 +0,0 @@
-process.env.SC_DISABLE_SPEEDY = 'false';
-
-/** @type {import('@jest/types').Config.InitialOptions} */
-const config = {
- coverageDirectory: './coverage/',
- testEnvironment: 'jsdom',
- transform: {
- '^.+\\.(t|j)sx?$': [
- '@swc/jest',
- {
- jsc: {
- parser: { syntax: 'typescript', tsx: true },
- target: 'es2021',
- transform: { react: { runtime: 'automatic' } },
- },
- },
- ],
- },
- transformIgnorePatterns: [
- 'node_modules/(?!(.pnpm/)?react-hotkeys-hook)',
- ],
- // Enable React act environment as early as possible
- setupFiles: ['./src/test/setup-act-env.ts'],
- setupFilesAfterEnv: ['./src/test/setup.ts'],
-};
-
-module.exports = config;
diff --git a/package.json b/package.json
index cff23fa84..aa71af71d 100644
--- a/package.json
+++ b/package.json
@@ -7,46 +7,47 @@
"type": "git",
"url": "git+https://github.com/cube-js/cube-ui-kit.git"
},
- "module": "dist/es/index.js",
- "types": "dist/types/index.d.ts",
+ "module": "./dist/index.js",
+ "types": "./dist/index.d.ts",
"sideEffects": false,
"packageManager": "pnpm@10.19.0",
"exports": {
".": {
- "import": "./dist/es/index.js",
- "types": "./dist/types/index.d.ts"
+ "import": "./dist/index.js",
+ "types": "./dist/index.d.ts"
},
"./tasty/static": {
- "import": "./dist/es/tasty/static/index.js",
- "types": "./dist/types/tasty/static/index.d.ts"
+ "import": "./dist/tasty/static/index.js",
+ "types": "./dist/tasty/static/index.d.ts"
},
"./tasty/zero": {
- "import": "./dist/es/tasty/zero/index.js",
- "types": "./dist/types/tasty/zero/index.d.ts"
+ "import": "./dist/tasty/zero/index.js",
+ "types": "./dist/tasty/zero/index.d.ts"
},
"./tasty/zero/babel": {
- "import": "./dist/es/tasty/zero/babel.js",
- "types": "./dist/types/tasty/zero/babel.d.ts"
+ "import": "./dist/tasty/zero/babel.js",
+ "types": "./dist/tasty/zero/babel.d.ts"
},
"./tasty/zero/next": {
- "import": "./dist/es/tasty/zero/next.js",
- "types": "./dist/types/tasty/zero/next.d.ts"
+ "import": "./dist/tasty/zero/next.js",
+ "types": "./dist/tasty/zero/next.d.ts"
}
},
"files": [
"dist/**/*.js",
+ "dist/**/*.d.ts",
"dist/**/*.map",
- "dist/**/*.d.ts"
+ "dist/README.md",
+ "dist/CHANGELOG.md",
+ "dist/tasty.config.ts"
],
"scripts": {
"start": "pnpm storybook",
- "build": "npm-run-all clear:dist -p build:* && node scripts/fix-esm-imports.cjs && node scripts/copy-files.cjs && node scripts/add-banner.cjs && node scripts/replace-version.cjs",
- "build:esm": "tsc -p tsconfig.es.json",
- "watch": "pnpm build:esm --watch",
- "test": "jest",
- "test:no-cache": "jest --no-cache",
- "test-cover": "jest --coverage",
- "test-watch": "jest --watch",
+ "build": "tsdown",
+ "watch": "tsdown --watch",
+ "test": "vitest run",
+ "test-cover": "vitest run --coverage",
+ "test-watch": "vitest",
"prettier": "prettier --check \"src/**/*.{js,jsx,ts,tsx}\"",
"prettier:fix": "prettier --write \"src/**/*.{js,jsx,ts,tsx}\"",
"eslint": "eslint --cache src",
@@ -67,9 +68,6 @@
"postinstall": "git config blame.ignoreRevsFile .git-blame-ignore-revs",
"add-icons": "cd src/icons && node add-new-icon.js && pnpm fix"
},
- "publishConfig": {
- "directory": "dist"
- },
"keywords": [
"uikit"
],
@@ -81,7 +79,6 @@
"dependencies": {
"@babel/helper-plugin-utils": "^7.24.0",
"@babel/types": "^7.24.0",
- "@ianvs/prettier-plugin-sort-imports": "^4.4.1",
"@internationalized/date": "^3.10.1",
"@react-aria/focus": "^3.21.3",
"@react-aria/i18n": "^3.12.14",
@@ -92,17 +89,12 @@
"@react-spectrum/utils": "^3.12.10",
"@react-stately/utils": "^3.11.0",
"@react-types/shared": "^3.32.1",
- "@sparticuz/chromium": "^137.0.1",
"@tabler/icons-react": "^3.31.0",
"@tanstack/react-virtual": "^3.13.12",
- "@trivago/prettier-plugin-sort-imports": "^5.2.2",
- "@vitejs/plugin-react": "^4.3.2",
"clipboard-copy": "^4.0.1",
"clsx": "^1.1.1",
"diff": "^8.0.3",
"email-validator": "^2.0.4",
- "globals": "^16.0.0",
- "playwright-core": "^1.53.2",
"prism-react-renderer": "^2.4.1",
"prismjs": "^1.30.0",
"react-aria": "^3.45.0",
@@ -113,10 +105,7 @@
"react-stately": "^3.43.0",
"react-transition-group": "^4.4.5",
"react-types": "^0.1.0",
- "remark-gfm": "^4.0.1",
- "serve-handler": "^6.1.6",
"tiny-invariant": "^1.3.3",
- "typescript-eslint": "^8.31.0",
"usehooks-ts": "^3.1.0",
"valid-url": "^1.0.9"
},
@@ -131,24 +120,21 @@
"@commitlint/cli": "^17.4.4",
"@commitlint/config-conventional": "^17.4.4",
"@eslint/js": "^9.25.1",
- "@jest/types": "^29.6.3",
+ "@ianvs/prettier-plugin-sort-imports": "^4.4.1",
"@size-limit/file": "^8.2.4",
"@size-limit/webpack": "^8.2.4",
"@size-limit/webpack-why": "^8.2.4",
+ "@sparticuz/chromium": "^137.0.1",
"@statoscope/cli": "^5.20.1",
"@storybook/addon-docs": "^10.2.3",
"@storybook/addon-links": "^10.2.3",
"@storybook/react-vite": "^10.2.3",
- "@swc/core": "^1.3.36",
- "@swc/jest": "^0.2.36",
"@testing-library/dom": "^10.4.1",
"@testing-library/jest-dom": "^6.7.0",
"@testing-library/react": "^16.3.0",
- "@testing-library/react-hooks": "^8.0.1",
"@testing-library/user-event": "14.6.1",
"@types/babel__core": "^7.20.5",
"@types/babel__helper-plugin-utils": "^7.10.3",
- "@types/jest": "^29.5.12",
"@types/node": "^22.17.2",
"@types/react": "^19.1.10",
"@types/react-dom": "^19.1.7",
@@ -158,10 +144,11 @@
"@typescript-eslint/eslint-plugin": "^8.31.0",
"@typescript-eslint/parser": "^8.31.0",
"@uiw/react-codemirror": "^4.25.4",
+ "@vitejs/plugin-react": "^4.3.2",
+ "@vitest/coverage-v8": "^4.0.18",
"best-effort-json-parser": "^1.2.1",
"bytes": "^3.1.2",
"chromatic": "^13.1.4",
- "cross-env": "^7.0.3",
"csstype": "^3.1.2",
"dedent": "^0.7.0",
"eslint": "^9.25.1",
@@ -172,26 +159,29 @@
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-storybook": "^10.2.3",
+ "globals": "^16.0.0",
"husky": "^6.0.0",
- "jest": "^29.7.0",
- "jest-environment-jsdom": "^29.7.0",
"lint-staged": "^10.0.0",
"markdown-table": "^3.0.3",
- "node-abort-controller": "^3.1.1",
"npm-run-all": "^4.1.5",
"playwright": "^1.53.2",
+ "playwright-core": "^1.53.2",
"prettier": "^3.2.5",
"react": "^19.1.1",
"react-dom": "^19.1.1",
"react-router": "^6.22.3",
"react-test-renderer": "^19.1.1",
+ "remark-gfm": "^4.0.1",
"rimraf": "^6.0.1",
+ "serve-handler": "^6.1.6",
"size-limit": "^8.2.6",
"storybook": "^10.2.3",
"storybook-addon-turbo-build": "^2.0.1",
- "swc-loader": "^0.2.6",
+ "tsdown": "^0.20.3",
"typescript": "^5.6.3",
- "vite": "^7.1.3"
+ "typescript-eslint": "^8.31.0",
+ "vite": "^7.1.3",
+ "vitest": "^4.0.18"
},
"browserslist": [
"last 2 Chrome versions",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a445d813a..e44667ff3 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -14,9 +14,6 @@ importers:
'@babel/types':
specifier: ^7.24.0
version: 7.28.5
- '@ianvs/prettier-plugin-sort-imports':
- specifier: ^4.4.1
- version: 4.4.1(prettier@3.2.5)
'@internationalized/date':
specifier: ^3.10.1
version: 3.10.1
@@ -47,21 +44,12 @@ importers:
'@react-types/shared':
specifier: ^3.32.1
version: 3.32.1(react@19.1.1)
- '@sparticuz/chromium':
- specifier: ^137.0.1
- version: 137.0.1
'@tabler/icons-react':
specifier: ^3.31.0
version: 3.31.0(react@19.1.1)
'@tanstack/react-virtual':
specifier: ^3.13.12
version: 3.13.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@trivago/prettier-plugin-sort-imports':
- specifier: ^5.2.2
- version: 5.2.2(prettier@3.2.5)
- '@vitejs/plugin-react':
- specifier: ^4.3.2
- version: 4.3.2(vite@7.1.3(@types/node@22.17.2)(terser@5.31.1))
clipboard-copy:
specifier: ^4.0.1
version: 4.0.1
@@ -74,12 +62,6 @@ importers:
email-validator:
specifier: ^2.0.4
version: 2.0.4
- globals:
- specifier: ^16.0.0
- version: 16.0.0
- playwright-core:
- specifier: ^1.53.2
- version: 1.53.2
prism-react-renderer:
specifier: ^2.4.1
version: 2.4.1(react@19.1.1)
@@ -110,18 +92,9 @@ importers:
react-types:
specifier: ^0.1.0
version: 0.1.0
- remark-gfm:
- specifier: ^4.0.1
- version: 4.0.1
- serve-handler:
- specifier: ^6.1.6
- version: 6.1.6
tiny-invariant:
specifier: ^1.3.3
version: 1.3.3
- typescript-eslint:
- specifier: ^8.31.0
- version: 8.31.0(eslint@9.25.1)(typescript@5.6.3)
usehooks-ts:
specifier: ^3.1.0
version: 3.1.0(react@19.1.1)
@@ -159,9 +132,9 @@ importers:
'@eslint/js':
specifier: ^9.25.1
version: 9.25.1
- '@jest/types':
- specifier: ^29.6.3
- version: 29.6.3
+ '@ianvs/prettier-plugin-sort-imports':
+ specifier: ^4.4.1
+ version: 4.4.1(prettier@3.2.5)
'@size-limit/file':
specifier: ^8.2.4
version: 8.2.4(size-limit@8.2.6)
@@ -171,6 +144,9 @@ importers:
'@size-limit/webpack-why':
specifier: ^8.2.4
version: 8.2.4(size-limit@8.2.6)(webpack@5.76.1(@swc/core@1.3.36)(esbuild@0.25.9))
+ '@sparticuz/chromium':
+ specifier: ^137.0.1
+ version: 137.0.1
'@statoscope/cli':
specifier: ^5.20.1
version: 5.20.1
@@ -183,12 +159,6 @@ importers:
'@storybook/react-vite':
specifier: ^10.2.3
version: 10.2.3(esbuild@0.25.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(rollup@4.46.4)(storybook@10.2.3(@testing-library/dom@10.4.1)(prettier@3.2.5)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(typescript@5.6.3)(vite@7.1.3(@types/node@22.17.2)(terser@5.31.1))(webpack@5.76.1(@swc/core@1.3.36)(esbuild@0.25.9))
- '@swc/core':
- specifier: ^1.3.36
- version: 1.3.36
- '@swc/jest':
- specifier: ^0.2.36
- version: 0.2.36(@swc/core@1.3.36)
'@testing-library/dom':
specifier: ^10.4.1
version: 10.4.1
@@ -198,9 +168,6 @@ importers:
'@testing-library/react':
specifier: ^16.3.0
version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.1.7(@types/react@19.1.10))(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
- '@testing-library/react-hooks':
- specifier: ^8.0.1
- version: 8.0.1(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react-test-renderer@19.1.1(react@19.1.1))(react@19.1.1)
'@testing-library/user-event':
specifier: 14.6.1
version: 14.6.1(@testing-library/dom@10.4.1)
@@ -210,9 +177,6 @@ importers:
'@types/babel__helper-plugin-utils':
specifier: ^7.10.3
version: 7.10.3
- '@types/jest':
- specifier: ^29.5.12
- version: 29.5.12
'@types/node':
specifier: ^22.17.2
version: 22.17.2
@@ -240,6 +204,12 @@ importers:
'@uiw/react-codemirror':
specifier: ^4.25.4
version: 4.25.4(@babel/runtime@7.28.3)(@codemirror/autocomplete@6.20.0)(@codemirror/language@6.12.1)(@codemirror/lint@6.9.2)(@codemirror/search@6.5.11)(@codemirror/state@6.5.3)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.39.9)(codemirror@6.0.2)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
+ '@vitejs/plugin-react':
+ specifier: ^4.3.2
+ version: 4.3.2(vite@7.1.3(@types/node@22.17.2)(terser@5.31.1))
+ '@vitest/coverage-v8':
+ specifier: ^4.0.18
+ version: 4.0.18(vitest@4.0.18(@types/node@22.17.2)(jsdom@20.0.3)(terser@5.31.1))
best-effort-json-parser:
specifier: ^1.2.1
version: 1.2.1
@@ -249,9 +219,6 @@ importers:
chromatic:
specifier: ^13.1.4
version: 13.3.3
- cross-env:
- specifier: ^7.0.3
- version: 7.0.3
csstype:
specifier: ^3.1.2
version: 3.1.2
@@ -266,7 +233,7 @@ importers:
version: 10.1.2(eslint@9.25.1)
eslint-config-react-app:
specifier: ^7.0.1
- version: 7.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.28.5))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.28.5))(eslint@9.25.1)(jest@29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3)))(typescript@5.6.3)
+ version: 7.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.28.5))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.28.5))(eslint@9.25.1)(typescript@5.6.3)
eslint-plugin-import:
specifier: ^2.31.0
version: 2.31.0(@typescript-eslint/parser@8.31.0(eslint@9.25.1)(typescript@5.6.3))(eslint@9.25.1)
@@ -282,30 +249,27 @@ importers:
eslint-plugin-storybook:
specifier: ^10.2.3
version: 10.2.3(eslint@9.25.1)(storybook@10.2.3(@testing-library/dom@10.4.1)(prettier@3.2.5)(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(typescript@5.6.3)
+ globals:
+ specifier: ^16.0.0
+ version: 16.0.0
husky:
specifier: ^6.0.0
version: 6.0.0
- jest:
- specifier: ^29.7.0
- version: 29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3))
- jest-environment-jsdom:
- specifier: ^29.7.0
- version: 29.7.0
lint-staged:
specifier: ^10.0.0
version: 10.0.0
markdown-table:
specifier: ^3.0.3
version: 3.0.3
- node-abort-controller:
- specifier: ^3.1.1
- version: 3.1.1
npm-run-all:
specifier: ^4.1.5
version: 4.1.5
playwright:
specifier: ^1.53.2
version: 1.53.2
+ playwright-core:
+ specifier: ^1.53.2
+ version: 1.53.2
prettier:
specifier: ^3.2.5
version: 3.2.5
@@ -321,9 +285,15 @@ importers:
react-test-renderer:
specifier: ^19.1.1
version: 19.1.1(react@19.1.1)
+ remark-gfm:
+ specifier: ^4.0.1
+ version: 4.0.1
rimraf:
specifier: ^6.0.1
version: 6.0.1
+ serve-handler:
+ specifier: ^6.1.6
+ version: 6.1.6
size-limit:
specifier: ^8.2.6
version: 8.2.6
@@ -333,16 +303,21 @@ importers:
storybook-addon-turbo-build:
specifier: ^2.0.1
version: 2.0.1(webpack@5.76.1(@swc/core@1.3.36)(esbuild@0.25.9))
- swc-loader:
- specifier: ^0.2.6
- version: 0.2.6(@swc/core@1.3.36)(webpack@5.76.1(@swc/core@1.3.36)(esbuild@0.25.9))
+ tsdown:
+ specifier: ^0.20.3
+ version: 0.20.3(typescript@5.6.3)
typescript:
specifier: ^5.6.3
version: 5.6.3
+ typescript-eslint:
+ specifier: ^8.31.0
+ version: 8.31.0(eslint@9.25.1)(typescript@5.6.3)
vite:
specifier: ^7.1.3
version: 7.1.3(@types/node@22.17.2)(terser@5.31.1)
- publishDirectory: dist
+ vitest:
+ specifier: ^4.0.18
+ version: 4.0.18(@types/node@22.17.2)(jsdom@20.0.3)(terser@5.31.1)
packages:
@@ -399,6 +374,10 @@ packages:
resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==}
engines: {node: '>=6.9.0'}
+ '@babel/generator@8.0.0-rc.1':
+ resolution: {integrity: sha512-3ypWOOiC4AYHKr8vYRVtWtWmyvcoItHtVqF8paFax+ydpmUdPsJpLBkBBs5ItmhdrwC3a0ZSqqFAdzls4ODP3w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+
'@babel/helper-annotate-as-pure@7.24.7':
resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==}
engines: {node: '>=6.9.0'}
@@ -499,6 +478,10 @@ packages:
resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-string-parser@8.0.0-rc.2':
+ resolution: {integrity: sha512-noLx87RwlBEMrTzncWd/FvTxoJ9+ycHNg0n8yyYydIoDsLZuxknKgWRJUqcrVkNrJ74uGyhWQzQaS3q8xfGAhQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+
'@babel/helper-validator-identifier@7.27.1':
resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
engines: {node: '>=6.9.0'}
@@ -507,6 +490,10 @@ packages:
resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-validator-identifier@8.0.0-rc.1':
+ resolution: {integrity: sha512-I4YnARytXC2RzkLNVnf5qFNFMzp679qZpmtw/V3Jt2uGnWiIxyJtaukjG7R8pSx8nG2NamICpGfljQsogj+FbQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+
'@babel/helper-validator-option@7.27.1':
resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
engines: {node: '>=6.9.0'}
@@ -529,6 +516,16 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/parser@7.29.0':
+ resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/parser@8.0.0-rc.1':
+ resolution: {integrity: sha512-6HyyU5l1yK/7h9Ki52i5h6mDAx4qJdiLQO4FdCyJNoB/gy3T3GGJdhQzzbZgvgZCugYBvwtQiWRt94QKedHnkA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+
'@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1':
resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==}
engines: {node: '>=6.9.0'}
@@ -606,11 +603,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-bigint@7.8.3':
- resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-syntax-class-properties@7.12.13':
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
peerDependencies:
@@ -1122,8 +1114,17 @@ packages:
resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==}
engines: {node: '>=6.9.0'}
- '@bcoe/v8-coverage@0.2.3':
- resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
+ '@babel/types@7.29.0':
+ resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@8.0.0-rc.1':
+ resolution: {integrity: sha512-ubmJ6TShyaD69VE9DQrlXcdkvJbmwWPB8qYj0H2kaJi29O7vJT9ajSdBd2W8CG34pwL9pYA74fi7RHC1qbLoVQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+
+ '@bcoe/v8-coverage@1.0.2':
+ resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==}
+ engines: {node: '>=18'}
'@changesets/apply-release-plan@6.1.3':
resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==}
@@ -1298,6 +1299,15 @@ packages:
resolution: {integrity: sha512-yuctPJs5lRXoI8LkpVZGAV6n+DKOuEsfpfcIDQ8ZjWHwazqk1QjBc4jMlof0UlZHyUqv4dwsOTooMiAmtzvwXA==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ '@emnapi/core@1.8.1':
+ resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==}
+
+ '@emnapi/runtime@1.8.1':
+ resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==}
+
+ '@emnapi/wasi-threads@1.1.0':
+ resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
+
'@esbuild/aix-ppc64@0.25.9':
resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==}
engines: {node: '>=18'}
@@ -1702,84 +1712,6 @@ packages:
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
- '@istanbuljs/load-nyc-config@1.1.0':
- resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
- engines: {node: '>=8'}
-
- '@istanbuljs/schema@0.1.3':
- resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
- engines: {node: '>=8'}
-
- '@jest/console@29.7.0':
- resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/core@29.7.0':
- resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
-
- '@jest/create-cache-key-function@29.7.0':
- resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/environment@29.7.0':
- resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/expect-utils@29.7.0':
- resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/expect@29.7.0':
- resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/fake-timers@29.7.0':
- resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/globals@29.7.0':
- resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/reporters@29.7.0':
- resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
-
- '@jest/schemas@29.6.3':
- resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/source-map@29.6.3':
- resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/test-result@29.7.0':
- resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/test-sequencer@29.7.0':
- resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/transform@29.7.0':
- resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/types@29.6.3':
- resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
'@joshwooding/vite-plugin-react-docgen-typescript@0.6.3':
resolution: {integrity: sha512-9TGZuAX+liGkNKkwuo3FYJu7gHWT0vkBcf7GkOe7s7fmC19XwH/4u5u7sDIFrMooe558ORcmuBvBz7Ur5PlbHw==}
peerDependencies:
@@ -1852,6 +1784,9 @@ packages:
'@types/react': '>=16'
react: '>=16'
+ '@napi-rs/wasm-runtime@1.1.1':
+ resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==}
+
'@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1':
resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==}
@@ -1915,6 +1850,12 @@ packages:
'@octokit/types@13.8.0':
resolution: {integrity: sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==}
+ '@oxc-project/types@0.112.0':
+ resolution: {integrity: sha512-m6RebKHIRsax2iCwVpYW2ErQwa4ywHJrE4sCK3/8JK8ZZAWOKXaRJFl/uP51gaVyyXlaS4+chU1nSCdzYf6QqQ==}
+
+ '@quansync/fs@1.0.0':
+ resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==}
+
'@react-aria/breadcrumbs@3.5.30':
resolution: {integrity: sha512-DZymglA70SwvDJA7GB147sUexvdDy6vWcriGrlEHhMMzBLhGB30I5J96R4pPzURLxXISrWFH56KC5rRgIqsqqg==}
peerDependencies:
@@ -2466,6 +2407,86 @@ packages:
resolution: {integrity: sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==}
engines: {node: '>=14.0.0'}
+ '@rolldown/binding-android-arm64@1.0.0-rc.3':
+ resolution: {integrity: sha512-0T1k9FinuBZ/t7rZ8jN6OpUKPnUjNdYHoj/cESWrQ3ZraAJ4OMm6z7QjSfCxqj8mOp9kTKc1zHK3kGz5vMu+nQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@rolldown/binding-darwin-arm64@1.0.0-rc.3':
+ resolution: {integrity: sha512-JWWLzvcmc/3pe7qdJqPpuPk91SoE/N+f3PcWx/6ZwuyDVyungAEJPvKm/eEldiDdwTmaEzWfIR+HORxYWrCi1A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rolldown/binding-darwin-x64@1.0.0-rc.3':
+ resolution: {integrity: sha512-MTakBxfx3tde5WSmbHxuqlDsIW0EzQym+PJYGF4P6lG2NmKzi128OGynoFUqoD5ryCySEY85dug4v+LWGBElIw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rolldown/binding-freebsd-x64@1.0.0-rc.3':
+ resolution: {integrity: sha512-jje3oopyOLs7IwfvXoS6Lxnmie5JJO7vW29fdGFu5YGY1EDbVDhD+P9vDihqS5X6fFiqL3ZQZCMBg6jyHkSVww==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.3':
+ resolution: {integrity: sha512-A0n8P3hdLAaqzSFrQoA42p23ZKBYQOw+8EH5r15Sa9X1kD9/JXe0YT2gph2QTWvdr0CVK2BOXiK6ENfy6DXOag==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.3':
+ resolution: {integrity: sha512-kWXkoxxarYISBJ4bLNf5vFkEbb4JvccOwxWDxuK9yee8lg5XA7OpvlTptfRuwEvYcOZf+7VS69Uenpmpyo5Bjw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-musl@1.0.0-rc.3':
+ resolution: {integrity: sha512-Z03/wrqau9Bicfgb3Dbs6SYTHliELk2PM2LpG2nFd+cGupTMF5kanLEcj2vuuJLLhptNyS61rtk7SOZ+lPsTUA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rolldown/binding-linux-x64-gnu@1.0.0-rc.3':
+ resolution: {integrity: sha512-iSXXZsQp08CSilff/DCTFZHSVEpEwdicV3W8idHyrByrcsRDVh9sGC3sev6d8BygSGj3vt8GvUKBPCoyMA4tgQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@rolldown/binding-linux-x64-musl@1.0.0-rc.3':
+ resolution: {integrity: sha512-qaj+MFudtdCv9xZo9znFvkgoajLdc+vwf0Kz5N44g+LU5XMe+IsACgn3UG7uTRlCCvhMAGXm1XlpEA5bZBrOcw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@rolldown/binding-openharmony-arm64@1.0.0-rc.3':
+ resolution: {integrity: sha512-U662UnMETyjT65gFmG9ma+XziENrs7BBnENi/27swZPYagubfHRirXHG2oMl+pEax2WvO7Kb9gHZmMakpYqBHQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-rc.3':
+ resolution: {integrity: sha512-gekrQ3Q2HiC1T5njGyuUJoGpK/l6B/TNXKed3fZXNf9YRTJn3L5MOZsFBn4bN2+UX+8+7hgdlTcEsexX988G4g==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.3':
+ resolution: {integrity: sha512-85y5JifyMgs8m5K2XzR/VDsapKbiFiohl7s5lEj7nmNGO0pkTXE7q6TQScei96BNAsoK7JC3pA7ukA8WRHVJpg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rolldown/binding-win32-x64-msvc@1.0.0-rc.3':
+ resolution: {integrity: sha512-a4VUQZH7LxGbUJ3qJ/TzQG8HxdHvf+jOnqf7B7oFx1TEBm+j2KNL2zr5SQ7wHkNAcaPevF6gf9tQnVBnC4mD+A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@rolldown/pluginutils@1.0.0-rc.3':
+ resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==}
+
'@rollup/pluginutils@5.1.0':
resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
engines: {node: '>=14.0.0'}
@@ -2593,16 +2614,6 @@ packages:
zen-observable:
optional: true
- '@sinclair/typebox@0.27.8':
- resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
-
- '@sinonjs/commons@3.0.0':
- resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==}
-
- '@sinonjs/fake-timers@10.2.0':
- resolution: {integrity: sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==}
- deprecated: Use version 10.1.0. Version 10.2.0 has potential breaking issues
-
'@size-limit/file@8.2.4':
resolution: {integrity: sha512-xLuF97W7m7lxrRJvqXRlxO/4t7cpXtfxOnjml/t4aRVUCMXLdyvebRr9OM4jjoK8Fmiz8jomCbETUCI3jVhLzA==}
engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0}
@@ -2626,6 +2637,9 @@ packages:
resolution: {integrity: sha512-9ixW23xjzIgSwBPLhWFOnrJNsnEw4dQWZqGzBCFGwGVuBPkNiJHO5VAGKezXj81J0wMYwP04tLlJFjsN5z4ROw==}
engines: {node: '>=20.11.0'}
+ '@standard-schema/spec@1.1.0':
+ resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
+
'@statoscope/cli@5.20.1':
resolution: {integrity: sha512-YGx33QXQSpKzQlNs9kSwEx8pGN4rXPaeXG4j+Rc+0KeSOB+BoSHdmHTAmGAKKeGuksYPMmHvPmzeCPURW+l9ZQ==}
engines: {node: '>=12.0.0'}
@@ -2855,18 +2869,9 @@ packages:
resolution: {integrity: sha512-Ogrd9uRNIj7nHjXxG66UlKBIcXESUenJ7OD6K2a8p82qlg6ne7Ne5Goiipm/heHYhSfVmjcnRWL9ZJ4gv+YCPA==}
engines: {node: '>=10'}
- '@swc/counter@0.1.3':
- resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
-
'@swc/helpers@0.5.18':
resolution: {integrity: sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==}
- '@swc/jest@0.2.36':
- resolution: {integrity: sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==}
- engines: {npm: '>= 7.0.0'}
- peerDependencies:
- '@swc/core': '*'
-
'@tabler/icons-react@3.31.0':
resolution: {integrity: sha512-2rrCM5y/VnaVKnORpDdAua9SEGuJKVqPtWxeQ/vUVsgaUx30LDgBZph7/lterXxDY1IKR6NO//HDhWiifXTi3w==}
peerDependencies:
@@ -2892,22 +2897,6 @@ packages:
resolution: {integrity: sha512-RI2e97YZ7MRa+vxP4UUnMuMFL2buSsf0ollxUbTgrbPLKhMn8KVTx7raS6DYjC7v1NDVrioOvaShxsguLNISCA==}
engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
- '@testing-library/react-hooks@8.0.1':
- resolution: {integrity: sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==}
- engines: {node: '>=12'}
- peerDependencies:
- '@types/react': ^16.9.0 || ^17.0.0
- react: ^16.9.0 || ^17.0.0
- react-dom: ^16.9.0 || ^17.0.0
- react-test-renderer: ^16.9.0 || ^17.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
- react-dom:
- optional: true
- react-test-renderer:
- optional: true
-
'@testing-library/react@16.3.0':
resolution: {integrity: sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==}
engines: {node: '>=18'}
@@ -2933,22 +2922,6 @@ packages:
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
engines: {node: '>= 10'}
- '@trivago/prettier-plugin-sort-imports@5.2.2':
- resolution: {integrity: sha512-fYDQA9e6yTNmA13TLVSA+WMQRc5Bn/c0EUBditUHNfMMxN7M82c38b1kEggVE3pLpZ0FwkwJkUEKMiOi52JXFA==}
- engines: {node: '>18.12'}
- peerDependencies:
- '@vue/compiler-sfc': 3.x
- prettier: 2.x - 3.x
- prettier-plugin-svelte: 3.x
- svelte: 4.x || 5.x
- peerDependenciesMeta:
- '@vue/compiler-sfc':
- optional: true
- prettier-plugin-svelte:
- optional: true
- svelte:
- optional: true
-
'@tsconfig/node10@1.0.9':
resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
@@ -2961,6 +2934,9 @@ packages:
'@tsconfig/node16@1.0.4':
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
+ '@tybys/wasm-util@0.10.1':
+ resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
+
'@types/archy@0.0.32':
resolution: {integrity: sha512-5ZZ5+YGmUE01yejiXsKnTcvhakMZ2UllZlMsQni53Doc1JWhe21ia8VntRoRD6fAEWw08JBh/z9qQHJ+//MrIg==}
@@ -3009,26 +2985,11 @@ packages:
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
- '@types/graceful-fs@4.1.6':
- resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==}
-
'@types/is-ci@3.0.0':
resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==}
- '@types/istanbul-lib-coverage@2.0.4':
- resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==}
-
- '@types/istanbul-lib-report@3.0.0':
- resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==}
-
- '@types/istanbul-reports@3.0.1':
- resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==}
-
- '@types/jest@29.5.12':
- resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==}
-
- '@types/jsdom@20.0.1':
- resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==}
+ '@types/jsesc@2.5.1':
+ resolution: {integrity: sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw==}
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
@@ -3092,12 +3053,6 @@ packages:
'@types/semver@7.5.0':
resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==}
- '@types/stack-utils@2.0.1':
- resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==}
-
- '@types/tough-cookie@4.0.2':
- resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==}
-
'@types/unist@3.0.2':
resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
@@ -3304,18 +3259,56 @@ packages:
peerDependencies:
vite: ^4.2.0 || ^5.0.0
+ '@vitest/coverage-v8@4.0.18':
+ resolution: {integrity: sha512-7i+N2i0+ME+2JFZhfuz7Tg/FqKtilHjGyGvoHYQ6iLV0zahbsJ9sljC9OcFcPDbhYKCet+sG8SsVqlyGvPflZg==}
+ peerDependencies:
+ '@vitest/browser': 4.0.18
+ vitest: 4.0.18
+ peerDependenciesMeta:
+ '@vitest/browser':
+ optional: true
+
'@vitest/expect@3.2.4':
resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==}
+ '@vitest/expect@4.0.18':
+ resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==}
+
+ '@vitest/mocker@4.0.18':
+ resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==}
+ peerDependencies:
+ msw: ^2.4.9
+ vite: ^6.0.0 || ^7.0.0-0
+ peerDependenciesMeta:
+ msw:
+ optional: true
+ vite:
+ optional: true
+
'@vitest/pretty-format@3.2.4':
resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==}
+ '@vitest/pretty-format@4.0.18':
+ resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==}
+
+ '@vitest/runner@4.0.18':
+ resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==}
+
+ '@vitest/snapshot@4.0.18':
+ resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==}
+
'@vitest/spy@3.2.4':
resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==}
+ '@vitest/spy@4.0.18':
+ resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==}
+
'@vitest/utils@3.2.4':
resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==}
+ '@vitest/utils@4.0.18':
+ resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==}
+
'@webassemblyjs/ast@1.11.1':
resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==}
@@ -3426,10 +3419,6 @@ packages:
resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==}
engines: {node: '>=4'}
- ansi-escapes@4.3.2:
- resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
- engines: {node: '>=8'}
-
ansi-regex@2.1.1:
resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
engines: {node: '>=0.10.0'}
@@ -3466,6 +3455,10 @@ packages:
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
engines: {node: '>=12'}
+ ansis@4.2.0:
+ resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==}
+ engines: {node: '>=14'}
+
any-observable@0.3.0:
resolution: {integrity: sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==}
engines: {node: '>=6'}
@@ -3548,6 +3541,10 @@ packages:
resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
engines: {node: '>=12'}
+ ast-kit@3.0.0-beta.1:
+ resolution: {integrity: sha512-trmleAnZ2PxN/loHWVhhx1qeOHSRXq4TDsBBxq3GqeJitfk3+jTQ+v/C1km/KYq9M7wKqCewMh+/NAvVH7m+bw==}
+ engines: {node: '>=20.19.0'}
+
ast-types-flow@0.0.8:
resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
@@ -3555,6 +3552,9 @@ packages:
resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==}
engines: {node: '>=4'}
+ ast-v8-to-istanbul@0.3.11:
+ resolution: {integrity: sha512-Qya9fkoofMjCBNVdWINMjB5KZvkYfaO9/anwkWnjxibpWUxo5iHl2sOdP7/uAqaRuUYuoo8rDwnbaaKVFxoUvw==}
+
asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
@@ -3573,20 +3573,6 @@ packages:
b4a@1.6.7:
resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==}
- babel-jest@29.7.0:
- resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- '@babel/core': ^7.8.0
-
- babel-plugin-istanbul@6.1.1:
- resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
- engines: {node: '>=8'}
-
- babel-plugin-jest-hoist@29.6.3:
- resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
babel-plugin-macros@3.1.0:
resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
engines: {node: '>=10', npm: '>=6'}
@@ -3619,17 +3605,6 @@ packages:
babel-plugin-transform-react-remove-prop-types@0.4.24:
resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==}
- babel-preset-current-node-syntax@1.0.1:
- resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- babel-preset-jest@29.6.3:
- resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- '@babel/core': ^7.0.0
-
babel-preset-react-app@10.0.1:
resolution: {integrity: sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==}
@@ -3686,6 +3661,9 @@ packages:
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
engines: {node: '>=8'}
+ birpc@4.0.0:
+ resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==}
+
brace-expansion@1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
@@ -3704,9 +3682,6 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
- bser@2.1.1:
- resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
-
buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
@@ -3726,6 +3701,10 @@ packages:
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
engines: {node: '>= 0.8'}
+ cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+
call-bind-apply-helpers@1.0.2:
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
engines: {node: '>= 0.4'}
@@ -3750,10 +3729,6 @@ packages:
resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
engines: {node: '>=6'}
- camelcase@6.3.0:
- resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
- engines: {node: '>=10'}
-
caniuse-lite@1.0.30001726:
resolution: {integrity: sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw==}
@@ -3764,6 +3739,10 @@ packages:
resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==}
engines: {node: '>=12'}
+ chai@6.2.2:
+ resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==}
+ engines: {node: '>=18'}
+
chalk@1.1.3:
resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
engines: {node: '>=0.10.0'}
@@ -3780,10 +3759,6 @@ packages:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
- char-regex@1.0.2:
- resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
- engines: {node: '>=10'}
-
character-entities@2.0.2:
resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
@@ -3821,9 +3796,6 @@ packages:
resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==}
engines: {node: '>=8'}
- cjs-module-lexer@1.2.2:
- resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==}
-
cli-cursor@2.1.0:
resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==}
engines: {node: '>=4'}
@@ -3858,10 +3830,6 @@ packages:
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
engines: {node: '>=6'}
- co@4.6.0:
- resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
- engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
-
code-point-at@1.1.0:
resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==}
engines: {node: '>=0.10.0'}
@@ -3869,9 +3837,6 @@ packages:
codemirror@6.0.2:
resolution: {integrity: sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==}
- collect-v8-coverage@1.0.1:
- resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==}
-
color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@@ -3922,9 +3887,6 @@ packages:
engines: {node: '>=10'}
hasBin: true
- convert-source-map@1.9.0:
- resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
-
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
@@ -3952,22 +3914,12 @@ packages:
resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==}
engines: {node: '>=14'}
- create-jest@29.7.0:
- resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
-
create-require@1.1.1:
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
crelt@1.0.6:
resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
- cross-env@7.0.3:
- resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
- engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
- hasBin: true
-
cross-spawn@5.1.0:
resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==}
@@ -4074,9 +4026,6 @@ packages:
resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
engines: {node: '>=0.10.0'}
- decimal.js@10.4.3:
- resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
-
decimal.js@10.6.0:
resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==}
@@ -4086,14 +4035,6 @@ packages:
dedent@0.7.0:
resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
- dedent@1.5.1:
- resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==}
- peerDependencies:
- babel-plugin-macros: ^3.1.0
- peerDependenciesMeta:
- babel-plugin-macros:
- optional: true
-
deep-eql@5.0.2:
resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
engines: {node: '>=6'}
@@ -4101,10 +4042,6 @@ packages:
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
- deepmerge@4.3.1:
- resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
- engines: {node: '>=0.10.0'}
-
default-browser-id@5.0.1:
resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==}
engines: {node: '>=18'}
@@ -4132,6 +4069,9 @@ packages:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
engines: {node: '>= 0.4'}
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+
delayed-stream@1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
@@ -4147,20 +4087,12 @@ packages:
resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
engines: {node: '>=8'}
- detect-newline@3.1.0:
- resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
- engines: {node: '>=8'}
-
detect-node-es@1.1.0:
resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
- diff-sequences@29.6.3:
- resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
diff@4.0.2:
resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
engines: {node: '>=0.3.1'}
@@ -4203,6 +4135,15 @@ packages:
resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==}
engines: {node: '>=10'}
+ dts-resolver@2.1.3:
+ resolution: {integrity: sha512-bihc7jPC90VrosXNzK0LTE2cuLP6jr0Ro8jk+kMugHReJVLIpHz/xadeq3MhuwyO4TD4OA3L1Q8pBBFRc08Tsw==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ oxc-resolver: '>=11.0.0'
+ peerDependenciesMeta:
+ oxc-resolver:
+ optional: true
+
dunder-proto@1.0.1:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'}
@@ -4224,10 +4165,6 @@ packages:
resolution: {integrity: sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==}
engines: {node: '>4.0'}
- emittery@0.13.1:
- resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
- engines: {node: '>=12'}
-
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -4279,6 +4216,9 @@ packages:
es-module-lexer@0.9.3:
resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==}
+ es-module-lexer@1.7.0:
+ resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
+
es-object-atoms@1.1.1:
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
@@ -4318,10 +4258,6 @@ packages:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
engines: {node: '>=0.8.0'}
- escape-string-regexp@2.0.0:
- resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
- engines: {node: '>=8'}
-
escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
@@ -4510,6 +4446,9 @@ packages:
estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
@@ -4526,13 +4465,9 @@ packages:
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
engines: {node: '>=10'}
- exit@0.1.2:
- resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
- engines: {node: '>= 0.8.0'}
-
- expect@29.7.0:
- resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ expect-type@1.3.0:
+ resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==}
+ engines: {node: '>=12.0.0'}
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
@@ -4563,9 +4498,6 @@ packages:
fastq@1.15.0:
resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
- fb-watchman@2.0.2:
- resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
-
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
engines: {node: '>=12.0.0'}
@@ -4650,9 +4582,6 @@ packages:
resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
engines: {node: '>=6 <7 || >=8'}
- fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
-
fsevents@2.3.2:
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -4688,10 +4617,6 @@ packages:
get-own-enumerable-property-symbols@3.0.2:
resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
- get-package-type@0.1.0:
- resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
- engines: {node: '>=8.0.0'}
-
get-proto@1.0.1:
resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
engines: {node: '>= 0.4'}
@@ -4708,6 +4633,9 @@ packages:
resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
engines: {node: '>= 0.4'}
+ get-tsconfig@4.13.6:
+ resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==}
+
get-tsconfig@4.5.0:
resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==}
@@ -4737,10 +4665,6 @@ packages:
engines: {node: 20 || >=22}
hasBin: true
- glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- deprecated: Glob versions prior to v9 are no longer supported
-
global-dirs@0.1.1:
resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==}
engines: {node: '>=4'}
@@ -4823,6 +4747,9 @@ packages:
highcharts@9.3.3:
resolution: {integrity: sha512-QeOvm6cifeZYYdTLm4IxZsXcOE9c4xqfs0z0OJJ0z7hhA9WG0rmcVAyuIp5HBl/znjA/ayYHmpYjBYD/9PG4Fg==}
+ hookable@6.0.1:
+ resolution: {integrity: sha512-uKGyY8BuzN/a5gvzvA+3FVWo0+wUjgtfSdnmjtrOVwQCZPHpHDH2WRO3VZSOeluYrHoDCiXFffZXs8Dj1ULWtw==}
+
hosted-git-info@2.8.9:
resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
@@ -4876,10 +4803,9 @@ packages:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
- import-local@3.1.0:
- resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
- engines: {node: '>=8'}
- hasBin: true
+ import-without-cache@0.2.5:
+ resolution: {integrity: sha512-B6Lc2s6yApwnD2/pMzFh/d5AVjdsDXjgkeJ766FmFuJELIGHNycKRj+l3A39yZPM4CchqNCB4RITEAYB1KUM6A==}
+ engines: {node: '>=20.19.0'}
imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
@@ -4893,10 +4819,6 @@ packages:
resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
engines: {node: '>=8'}
- inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
- deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
-
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
@@ -4986,10 +4908,6 @@ packages:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
- is-generator-fn@2.1.0:
- resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
- engines: {node: '>=6'}
-
is-generator-function@1.0.10:
resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
engines: {node: '>= 0.4'}
@@ -5115,28 +5033,16 @@ packages:
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- istanbul-lib-coverage@3.2.0:
- resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
+ istanbul-lib-coverage@3.2.2:
+ resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
engines: {node: '>=8'}
- istanbul-lib-instrument@5.2.1:
- resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
- engines: {node: '>=8'}
-
- istanbul-lib-instrument@6.0.0:
- resolution: {integrity: sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==}
- engines: {node: '>=10'}
-
- istanbul-lib-report@3.0.0:
- resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==}
- engines: {node: '>=8'}
-
- istanbul-lib-source-maps@4.0.1:
- resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
+ istanbul-lib-report@3.0.1:
+ resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
engines: {node: '>=10'}
- istanbul-reports@3.1.5:
- resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==}
+ istanbul-reports@3.2.0:
+ resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==}
engines: {node: '>=8'}
iterator.prototype@1.1.5:
@@ -5151,155 +5057,17 @@ packages:
resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==}
engines: {node: 20 || >=22}
- javascript-natural-sort@0.7.1:
- resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==}
-
- jest-changed-files@29.7.0:
- resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-circus@29.7.0:
- resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-cli@29.7.0:
- resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
-
- jest-config@29.7.0:
- resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- '@types/node': '*'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- '@types/node':
- optional: true
- ts-node:
- optional: true
-
- jest-diff@29.7.0:
- resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-docblock@29.7.0:
- resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-each@29.7.0:
- resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-environment-jsdom@29.7.0:
- resolution: {integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- canvas: ^2.5.0
- peerDependenciesMeta:
- canvas:
- optional: true
-
- jest-environment-node@29.7.0:
- resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-get-type@29.6.3:
- resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-haste-map@29.7.0:
- resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-leak-detector@29.7.0:
- resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-matcher-utils@29.7.0:
- resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-message-util@29.7.0:
- resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-mock@29.7.0:
- resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-pnp-resolver@1.2.3:
- resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
- engines: {node: '>=6'}
- peerDependencies:
- jest-resolve: '*'
- peerDependenciesMeta:
- jest-resolve:
- optional: true
-
- jest-regex-util@29.6.3:
- resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-resolve-dependencies@29.7.0:
- resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-resolve@29.7.0:
- resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-runner@29.7.0:
- resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-runtime@29.7.0:
- resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-snapshot@29.7.0:
- resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-util@29.7.0:
- resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-validate@29.7.0:
- resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-watcher@29.7.0:
- resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
jest-worker@27.5.1:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
- jest-worker@29.7.0:
- resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest@29.7.0:
- resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
-
jora@1.0.0-beta.7:
resolution: {integrity: sha512-7Mq37XUPQM/fEetH8Z4iHTABWgoq64UL9mIRfssX1b0Ogns3TqbOS0UIV7gwQ3D0RshfLJzGgbbW17UyFjxSLQ==}
engines: {node: ^10.12.0 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ js-tokens@10.0.0:
+ resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==}
+
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -5356,9 +5124,6 @@ packages:
engines: {node: '>=6'}
hasBin: true
- jsonc-parser@3.2.0:
- resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
-
jsonfile@4.0.0:
resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
@@ -5380,10 +5145,6 @@ packages:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
engines: {node: '>=0.10.0'}
- kleur@3.0.3:
- resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
- engines: {node: '>=6'}
-
language-subtag-registry@0.3.22:
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
@@ -5391,10 +5152,6 @@ packages:
resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
engines: {node: '>=0.10'}
- leven@3.1.0:
- resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
- engines: {node: '>=6'}
-
levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
@@ -5531,16 +5288,19 @@ packages:
magic-string@0.30.17:
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
- make-dir@3.1.0:
- resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
- engines: {node: '>=8'}
+ magic-string@0.30.21:
+ resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
+
+ magicast@0.5.2:
+ resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==}
+
+ make-dir@4.0.0:
+ resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
+ engines: {node: '>=10'}
make-error@1.3.6:
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
- makeerror@1.0.12:
- resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
-
map-obj@1.0.1:
resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
engines: {node: '>=0.10.0'}
@@ -5783,9 +5543,6 @@ packages:
nice-try@1.0.5:
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
- node-abort-controller@3.1.1:
- resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==}
-
node-fetch@2.6.11:
resolution: {integrity: sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==}
engines: {node: 4.x || >=6.0.0}
@@ -5795,9 +5552,6 @@ packages:
encoding:
optional: true
- node-int64@0.4.0:
- resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
-
node-releases@2.0.18:
resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
@@ -5860,6 +5614,9 @@ packages:
resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
engines: {node: '>= 0.4'}
+ obug@2.1.1:
+ resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==}
+
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
@@ -5951,10 +5708,6 @@ packages:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
- path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
-
path-is-inside@1.0.2:
resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==}
@@ -5984,6 +5737,9 @@ packages:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
+ pathe@2.0.3:
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+
pathval@2.0.0:
resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
engines: {node: '>= 14.16'}
@@ -6012,10 +5768,6 @@ packages:
resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
engines: {node: '>=6'}
- pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
-
pkg-dir@4.2.0:
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
engines: {node: '>=8'}
@@ -6068,10 +5820,6 @@ packages:
resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
- pretty-format@29.7.0:
- resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
prism-react-renderer@2.4.1:
resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==}
peerDependencies:
@@ -6081,10 +5829,6 @@ packages:
resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
engines: {node: '>=6'}
- prompts@2.4.2:
- resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
- engines: {node: '>= 6'}
-
prop-types@15.8.1:
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
@@ -6101,9 +5845,6 @@ packages:
resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
engines: {node: '>=6'}
- pure-rand@6.0.2:
- resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==}
-
q@1.5.1:
resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==}
engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
@@ -6112,6 +5853,9 @@ packages:
(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)
+ quansync@1.0.0:
+ resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==}
+
querystringify@2.2.0:
resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
@@ -6154,12 +5898,6 @@ packages:
peerDependencies:
react: ^19.1.1
- react-error-boundary@3.1.4:
- resolution: {integrity: sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==}
- engines: {node: '>=10', npm: '>=6'}
- peerDependencies:
- react: '>=16.13.1'
-
react-focus-lock@2.13.5:
resolution: {integrity: sha512-HjHuZFFk2+j6ZT3LDQpyqffue541HrxUG/OFchCEwis9nstgNg0rREVRAxHBcB1lHJ5Fsxtx1qya/5xFwxDb4g==}
peerDependencies:
@@ -6309,10 +6047,6 @@ packages:
requires-port@1.0.0:
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
- resolve-cwd@3.0.0:
- resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
- engines: {node: '>=8'}
-
resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
@@ -6325,9 +6059,8 @@ packages:
resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==}
engines: {node: '>=8'}
- resolve.exports@2.0.2:
- resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
- engines: {node: '>=10'}
+ resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
resolve@1.22.8:
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
@@ -6350,6 +6083,30 @@ packages:
engines: {node: 20 || >=22}
hasBin: true
+ rolldown-plugin-dts@0.22.1:
+ resolution: {integrity: sha512-5E0AiM5RSQhU6cjtkDFWH6laW4IrMu0j1Mo8x04Xo1ALHmaRMs9/7zej7P3RrryVHW/DdZAp85MA7Be55p0iUw==}
+ engines: {node: '>=20.19.0'}
+ peerDependencies:
+ '@ts-macro/tsc': ^0.3.6
+ '@typescript/native-preview': '>=7.0.0-dev.20250601.1'
+ rolldown: ^1.0.0-rc.3
+ typescript: ^5.0.0
+ vue-tsc: ~3.2.0
+ peerDependenciesMeta:
+ '@ts-macro/tsc':
+ optional: true
+ '@typescript/native-preview':
+ optional: true
+ typescript:
+ optional: true
+ vue-tsc:
+ optional: true
+
+ rolldown@1.0.0-rc.3:
+ resolution: {integrity: sha512-Po/YZECDOqVXjIXrtC5h++a5NLvKAQNrd9ggrIG3sbDfGO5BqTUsrI6l8zdniKRp3r5Tp/2JTrXqx4GIguFCMw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+
rollup@4.46.4:
resolution: {integrity: sha512-YbxoxvoqNg9zAmw4+vzh1FkGAiZRK+LhnSrbSrSXMdZYsRPDWoshcSd/pldKRO6lWzv/e9TiJAVQyirYIeSIPQ==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -6482,6 +6239,9 @@ packages:
resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
engines: {node: '>= 0.4'}
+ siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+
signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
@@ -6489,9 +6249,6 @@ packages:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
- sisteransi@1.0.5:
- resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
-
size-limit@8.2.6:
resolution: {integrity: sha512-zpznim/tX/NegjoQuRKgWTF4XiB0cn2qt90uJzxYNTFAqexk4b94DOAkBD3TwhC6c3kw2r0KcnA5upziVMZqDg==}
engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0}
@@ -6517,9 +6274,6 @@ packages:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
- source-map-support@0.5.13:
- resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
-
source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
@@ -6548,9 +6302,11 @@ packages:
sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
- stack-utils@2.0.6:
- resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
- engines: {node: '>=10'}
+ stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+
+ std-env@3.10.0:
+ resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==}
storybook-addon-turbo-build@2.0.1:
resolution: {integrity: sha512-NP9e42fOmhkRe93okDlmIJ+2m+j4c9HZSa8EQJPJiJBQiAZ6MrjL6v0jzMukcwhIlu91RtHSkjlACm3xbi9jWQ==}
@@ -6570,10 +6326,6 @@ packages:
streamx@2.22.1:
resolution: {integrity: sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==}
- string-length@4.0.2:
- resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
- engines: {node: '>=10'}
-
string-natural-compare@3.0.1:
resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==}
@@ -6647,10 +6399,6 @@ packages:
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
engines: {node: '>=4'}
- strip-bom@4.0.0:
- resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
- engines: {node: '>=8'}
-
strip-final-newline@2.0.0:
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
engines: {node: '>=6'}
@@ -6690,12 +6438,6 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
- swc-loader@0.2.6:
- resolution: {integrity: sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==}
- peerDependencies:
- '@swc/core': ^1.2.147
- webpack: '>=2'
-
symbol-observable@1.2.0:
resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==}
engines: {node: '>=0.10.0'}
@@ -6738,10 +6480,6 @@ packages:
engines: {node: '>=10'}
hasBin: true
- test-exclude@6.0.0:
- resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
- engines: {node: '>=8'}
-
text-decoder@1.2.3:
resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==}
@@ -6758,6 +6496,13 @@ packages:
tiny-invariant@1.3.3:
resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
+ tinybench@2.9.0:
+ resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+
+ tinyexec@1.0.2:
+ resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==}
+ engines: {node: '>=18'}
+
tinyglobby@0.2.14:
resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
engines: {node: '>=12.0.0'}
@@ -6770,6 +6515,10 @@ packages:
resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==}
engines: {node: '>=14.0.0'}
+ tinyrainbow@3.0.3:
+ resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==}
+ engines: {node: '>=14.0.0'}
+
tinyspy@4.0.3:
resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==}
engines: {node: '>=14.0.0'}
@@ -6778,9 +6527,6 @@ packages:
resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
engines: {node: '>=0.6.0'}
- tmpl@1.0.5:
- resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
-
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
@@ -6796,6 +6542,10 @@ packages:
resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==}
engines: {node: '>=12'}
+ tree-kill@1.2.2:
+ resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
+ hasBin: true
+
trim-newlines@3.0.1:
resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
engines: {node: '>=8'}
@@ -6840,6 +6590,31 @@ packages:
resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
engines: {node: '>=6'}
+ tsdown@0.20.3:
+ resolution: {integrity: sha512-qWOUXSbe4jN8JZEgrkc/uhJpC8VN2QpNu3eZkBWwNuTEjc/Ik1kcc54ycfcQ5QPRHeu9OQXaLfCI3o7pEJgB2w==}
+ engines: {node: '>=20.19.0'}
+ hasBin: true
+ peerDependencies:
+ '@arethetypeswrong/core': ^0.18.1
+ '@vitejs/devtools': '*'
+ publint: ^0.3.0
+ typescript: ^5.0.0
+ unplugin-lightningcss: ^0.4.0
+ unplugin-unused: ^0.5.0
+ peerDependenciesMeta:
+ '@arethetypeswrong/core':
+ optional: true
+ '@vitejs/devtools':
+ optional: true
+ publint:
+ optional: true
+ typescript:
+ optional: true
+ unplugin-lightningcss:
+ optional: true
+ unplugin-unused:
+ optional: true
+
tslib@1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
@@ -6865,10 +6640,6 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
- type-detect@4.0.8:
- resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
- engines: {node: '>=4'}
-
type-fest@0.13.1:
resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==}
engines: {node: '>=10'}
@@ -6877,10 +6648,6 @@ packages:
resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==}
engines: {node: '>=10'}
- type-fest@0.21.3:
- resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
- engines: {node: '>=10'}
-
type-fest@0.6.0:
resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
engines: {node: '>=8'}
@@ -6921,6 +6688,9 @@ packages:
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
engines: {node: '>= 0.4'}
+ unconfig-core@7.5.0:
+ resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==}
+
undici-types@6.21.0:
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
@@ -6978,6 +6748,16 @@ packages:
resolution: {integrity: sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==}
engines: {node: '>=18.12.0'}
+ unrun@0.2.27:
+ resolution: {integrity: sha512-Mmur1UJpIbfxasLOhPRvox/QS4xBiDii71hMP7smfRthGcwFL2OAmYRgduLANOAU4LUkvVamuP+02U+c90jlrw==}
+ engines: {node: '>=20.19.0'}
+ hasBin: true
+ peerDependencies:
+ synckit: ^0.11.11
+ peerDependenciesMeta:
+ synckit:
+ optional: true
+
update-browserslist-db@1.1.1:
resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
hasBin: true
@@ -7032,10 +6812,6 @@ packages:
v8-compile-cache-lib@3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
- v8-to-istanbul@9.1.0:
- resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==}
- engines: {node: '>=10.12.0'}
-
valid-url@1.0.9:
resolution: {integrity: sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==}
@@ -7088,6 +6864,40 @@ packages:
yaml:
optional: true
+ vitest@4.0.18:
+ resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==}
+ engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
+ hasBin: true
+ 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.18
+ '@vitest/browser-preview': 4.0.18
+ '@vitest/browser-webdriverio': 4.0.18
+ '@vitest/ui': 4.0.18
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@opentelemetry/api':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser-playwright':
+ optional: true
+ '@vitest/browser-preview':
+ optional: true
+ '@vitest/browser-webdriverio':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+
w3c-keyname@2.2.8:
resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
@@ -7095,9 +6905,6 @@ packages:
resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==}
engines: {node: '>=14'}
- walker@1.0.8:
- resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
-
watchpack@2.4.0:
resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
engines: {node: '>=10.13.0'}
@@ -7135,6 +6942,7 @@ packages:
whatwg-encoding@2.0.0:
resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
engines: {node: '>=12'}
+ deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation
whatwg-mimetype@3.0.0:
resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
@@ -7179,6 +6987,11 @@ packages:
engines: {node: '>= 8'}
hasBin: true
+ why-is-node-running@2.3.0:
+ resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
+ engines: {node: '>=8'}
+ hasBin: true
+
wrap-ansi@3.0.1:
resolution: {integrity: sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==}
engines: {node: '>=4'}
@@ -7198,22 +7011,6 @@ packages:
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- write-file-atomic@4.0.2:
- resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
-
- ws@8.13.0:
- resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
- engines: {node: '>=10.0.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: '>=5.0.2'
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
-
ws@8.18.3:
resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
engines: {node: '>=10.0.0'}
@@ -7377,6 +7174,15 @@ snapshots:
'@jridgewell/trace-mapping': 0.3.31
jsesc: 3.0.2
+ '@babel/generator@8.0.0-rc.1':
+ dependencies:
+ '@babel/parser': 8.0.0-rc.1
+ '@babel/types': 8.0.0-rc.1
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+ '@types/jsesc': 2.5.1
+ jsesc: 3.0.2
+
'@babel/helper-annotate-as-pure@7.24.7':
dependencies:
'@babel/types': 7.28.5
@@ -7505,10 +7311,14 @@ snapshots:
'@babel/helper-string-parser@7.27.1': {}
+ '@babel/helper-string-parser@8.0.0-rc.2': {}
+
'@babel/helper-validator-identifier@7.27.1': {}
'@babel/helper-validator-identifier@7.28.5': {}
+ '@babel/helper-validator-identifier@8.0.0-rc.1': {}
+
'@babel/helper-validator-option@7.27.1': {}
'@babel/helper-wrap-function@7.22.20':
@@ -7530,6 +7340,14 @@ snapshots:
dependencies:
'@babel/types': 7.28.5
+ '@babel/parser@7.29.0':
+ dependencies:
+ '@babel/types': 7.29.0
+
+ '@babel/parser@8.0.0-rc.1':
+ dependencies:
+ '@babel/types': 8.0.0-rc.1
+
'@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.28.5)':
dependencies:
'@babel/core': 7.28.5
@@ -7605,11 +7423,6 @@ snapshots:
'@babel/core': 7.28.5
'@babel/helper-plugin-utils': 7.25.7
- '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.5)':
- dependencies:
- '@babel/core': 7.28.5
- '@babel/helper-plugin-utils': 7.25.7
-
'@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.5)':
dependencies:
'@babel/core': 7.28.5
@@ -8247,7 +8060,17 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
- '@bcoe/v8-coverage@0.2.3': {}
+ '@babel/types@7.29.0':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.28.5
+
+ '@babel/types@8.0.0-rc.1':
+ dependencies:
+ '@babel/helper-string-parser': 8.0.0-rc.2
+ '@babel/helper-validator-identifier': 8.0.0-rc.1
+
+ '@bcoe/v8-coverage@1.0.2': {}
'@changesets/apply-release-plan@6.1.3':
dependencies:
@@ -8605,6 +8428,22 @@ snapshots:
'@discoveryjs/natural-compare@1.1.0': {}
+ '@emnapi/core@1.8.1':
+ dependencies:
+ '@emnapi/wasi-threads': 1.1.0
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/runtime@1.8.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/wasi-threads@1.1.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@esbuild/aix-ppc64@0.25.9':
optional: true
@@ -8882,207 +8721,31 @@ snapshots:
wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0
- '@istanbuljs/load-nyc-config@1.1.0':
+ '@joshwooding/vite-plugin-react-docgen-typescript@0.6.3(typescript@5.6.3)(vite@7.1.3(@types/node@22.17.2)(terser@5.31.1))':
dependencies:
- camelcase: 5.3.1
- find-up: 4.1.0
- get-package-type: 0.1.0
- js-yaml: 3.14.1
- resolve-from: 5.0.0
-
- '@istanbuljs/schema@0.1.3': {}
+ glob: 11.1.0
+ react-docgen-typescript: 2.2.2(typescript@5.6.3)
+ vite: 7.1.3(@types/node@22.17.2)(terser@5.31.1)
+ optionalDependencies:
+ typescript: 5.6.3
- '@jest/console@29.7.0':
+ '@jridgewell/gen-mapping@0.3.13':
dependencies:
- '@jest/types': 29.6.3
- '@types/node': 22.17.2
- chalk: 4.1.2
- jest-message-util: 29.7.0
- jest-util: 29.7.0
- slash: 3.0.0
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@jridgewell/trace-mapping': 0.3.31
- '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3))':
+ '@jridgewell/gen-mapping@0.3.5':
dependencies:
- '@jest/console': 29.7.0
- '@jest/reporters': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 22.17.2
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- ci-info: 3.8.0
- exit: 0.1.2
- graceful-fs: 4.2.11
- jest-changed-files: 29.7.0
- jest-config: 29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3))
- jest-haste-map: 29.7.0
- jest-message-util: 29.7.0
- jest-regex-util: 29.6.3
- jest-resolve: 29.7.0
- jest-resolve-dependencies: 29.7.0
- jest-runner: 29.7.0
- jest-runtime: 29.7.0
- jest-snapshot: 29.7.0
- jest-util: 29.7.0
- jest-validate: 29.7.0
- jest-watcher: 29.7.0
- micromatch: 4.0.8
- pretty-format: 29.7.0
- slash: 3.0.0
- strip-ansi: 6.0.1
- transitivePeerDependencies:
- - babel-plugin-macros
- - supports-color
- - ts-node
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.31
- '@jest/create-cache-key-function@29.7.0':
+ '@jridgewell/remapping@2.3.5':
dependencies:
- '@jest/types': 29.6.3
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
- '@jest/environment@29.7.0':
- dependencies:
- '@jest/fake-timers': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 22.17.2
- jest-mock: 29.7.0
-
- '@jest/expect-utils@29.7.0':
- dependencies:
- jest-get-type: 29.6.3
-
- '@jest/expect@29.7.0':
- dependencies:
- expect: 29.7.0
- jest-snapshot: 29.7.0
- transitivePeerDependencies:
- - supports-color
-
- '@jest/fake-timers@29.7.0':
- dependencies:
- '@jest/types': 29.6.3
- '@sinonjs/fake-timers': 10.2.0
- '@types/node': 22.17.2
- jest-message-util: 29.7.0
- jest-mock: 29.7.0
- jest-util: 29.7.0
-
- '@jest/globals@29.7.0':
- dependencies:
- '@jest/environment': 29.7.0
- '@jest/expect': 29.7.0
- '@jest/types': 29.6.3
- jest-mock: 29.7.0
- transitivePeerDependencies:
- - supports-color
-
- '@jest/reporters@29.7.0':
- dependencies:
- '@bcoe/v8-coverage': 0.2.3
- '@jest/console': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- '@jridgewell/trace-mapping': 0.3.25
- '@types/node': 22.17.2
- chalk: 4.1.2
- collect-v8-coverage: 1.0.1
- exit: 0.1.2
- glob: 7.2.3
- graceful-fs: 4.2.11
- istanbul-lib-coverage: 3.2.0
- istanbul-lib-instrument: 6.0.0
- istanbul-lib-report: 3.0.0
- istanbul-lib-source-maps: 4.0.1
- istanbul-reports: 3.1.5
- jest-message-util: 29.7.0
- jest-util: 29.7.0
- jest-worker: 29.7.0
- slash: 3.0.0
- string-length: 4.0.2
- strip-ansi: 6.0.1
- v8-to-istanbul: 9.1.0
- transitivePeerDependencies:
- - supports-color
-
- '@jest/schemas@29.6.3':
- dependencies:
- '@sinclair/typebox': 0.27.8
-
- '@jest/source-map@29.6.3':
- dependencies:
- '@jridgewell/trace-mapping': 0.3.31
- callsites: 3.1.0
- graceful-fs: 4.2.11
-
- '@jest/test-result@29.7.0':
- dependencies:
- '@jest/console': 29.7.0
- '@jest/types': 29.6.3
- '@types/istanbul-lib-coverage': 2.0.4
- collect-v8-coverage: 1.0.1
-
- '@jest/test-sequencer@29.7.0':
- dependencies:
- '@jest/test-result': 29.7.0
- graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
- slash: 3.0.0
-
- '@jest/transform@29.7.0':
- dependencies:
- '@babel/core': 7.28.5
- '@jest/types': 29.6.3
- '@jridgewell/trace-mapping': 0.3.25
- babel-plugin-istanbul: 6.1.1
- chalk: 4.1.2
- convert-source-map: 2.0.0
- fast-json-stable-stringify: 2.1.0
- graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
- jest-regex-util: 29.6.3
- jest-util: 29.7.0
- micromatch: 4.0.8
- pirates: 4.0.6
- slash: 3.0.0
- write-file-atomic: 4.0.2
- transitivePeerDependencies:
- - supports-color
-
- '@jest/types@29.6.3':
- dependencies:
- '@jest/schemas': 29.6.3
- '@types/istanbul-lib-coverage': 2.0.4
- '@types/istanbul-reports': 3.0.1
- '@types/node': 22.17.2
- '@types/yargs': 17.0.24
- chalk: 4.1.2
-
- '@joshwooding/vite-plugin-react-docgen-typescript@0.6.3(typescript@5.6.3)(vite@7.1.3(@types/node@22.17.2)(terser@5.31.1))':
- dependencies:
- glob: 11.1.0
- react-docgen-typescript: 2.2.2(typescript@5.6.3)
- vite: 7.1.3(@types/node@22.17.2)(terser@5.31.1)
- optionalDependencies:
- typescript: 5.6.3
-
- '@jridgewell/gen-mapping@0.3.13':
- dependencies:
- '@jridgewell/sourcemap-codec': 1.5.5
- '@jridgewell/trace-mapping': 0.3.31
-
- '@jridgewell/gen-mapping@0.3.5':
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.31
-
- '@jridgewell/remapping@2.3.5':
- dependencies:
- '@jridgewell/gen-mapping': 0.3.13
- '@jridgewell/trace-mapping': 0.3.31
-
- '@jridgewell/resolve-uri@3.1.1': {}
+ '@jridgewell/resolve-uri@3.1.1': {}
'@jridgewell/set-array@1.2.1': {}
@@ -9150,6 +8813,13 @@ snapshots:
'@types/react': 19.1.10
react: 19.1.1
+ '@napi-rs/wasm-runtime@1.1.1':
+ dependencies:
+ '@emnapi/core': 1.8.1
+ '@emnapi/runtime': 1.8.1
+ '@tybys/wasm-util': 0.10.1
+ optional: true
+
'@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1':
dependencies:
eslint-scope: 5.1.1
@@ -9224,6 +8894,12 @@ snapshots:
dependencies:
'@octokit/openapi-types': 23.0.1
+ '@oxc-project/types@0.112.0': {}
+
+ '@quansync/fs@1.0.0':
+ dependencies:
+ quansync: 1.0.0
+
'@react-aria/breadcrumbs@3.5.30(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
'@react-aria/i18n': 3.12.14(react-dom@19.1.1(react@19.1.1))(react@19.1.1)
@@ -10200,6 +9876,49 @@ snapshots:
'@remix-run/router@1.15.3': {}
+ '@rolldown/binding-android-arm64@1.0.0-rc.3':
+ optional: true
+
+ '@rolldown/binding-darwin-arm64@1.0.0-rc.3':
+ optional: true
+
+ '@rolldown/binding-darwin-x64@1.0.0-rc.3':
+ optional: true
+
+ '@rolldown/binding-freebsd-x64@1.0.0-rc.3':
+ optional: true
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.3':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.3':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-musl@1.0.0-rc.3':
+ optional: true
+
+ '@rolldown/binding-linux-x64-gnu@1.0.0-rc.3':
+ optional: true
+
+ '@rolldown/binding-linux-x64-musl@1.0.0-rc.3':
+ optional: true
+
+ '@rolldown/binding-openharmony-arm64@1.0.0-rc.3':
+ optional: true
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-rc.3':
+ dependencies:
+ '@napi-rs/wasm-runtime': 1.1.1
+ optional: true
+
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.3':
+ optional: true
+
+ '@rolldown/binding-win32-x64-msvc@1.0.0-rc.3':
+ optional: true
+
+ '@rolldown/pluginutils@1.0.0-rc.3': {}
+
'@rollup/pluginutils@5.1.0(rollup@4.46.4)':
dependencies:
'@types/estree': 1.0.8
@@ -10280,16 +9999,6 @@ snapshots:
transitivePeerDependencies:
- zenObservable
- '@sinclair/typebox@0.27.8': {}
-
- '@sinonjs/commons@3.0.0':
- dependencies:
- type-detect: 4.0.8
-
- '@sinonjs/fake-timers@10.2.0':
- dependencies:
- '@sinonjs/commons': 3.0.0
-
'@size-limit/file@8.2.4(size-limit@8.2.6)':
dependencies:
semver: 7.3.8
@@ -10320,6 +10029,8 @@ snapshots:
- bare-buffer
- debug
+ '@standard-schema/spec@1.1.0': {}
+
'@statoscope/cli@5.20.1':
dependencies:
'@discoveryjs/json-ext': 0.5.7
@@ -10358,7 +10069,7 @@ snapshots:
'@types/semver': 7.5.0
archy: 1.0.0
jora: 1.0.0-beta.7
- semver: 7.7.1
+ semver: 7.7.3
'@statoscope/report-writer@5.20.0':
dependencies:
@@ -10647,20 +10358,12 @@ snapshots:
'@swc/core-win32-arm64-msvc': 1.3.36
'@swc/core-win32-ia32-msvc': 1.3.36
'@swc/core-win32-x64-msvc': 1.3.36
-
- '@swc/counter@0.1.3': {}
+ optional: true
'@swc/helpers@0.5.18':
dependencies:
tslib: 2.8.1
- '@swc/jest@0.2.36(@swc/core@1.3.36)':
- dependencies:
- '@jest/create-cache-key-function': 29.7.0
- '@swc/core': 1.3.36
- '@swc/counter': 0.1.3
- jsonc-parser: 3.2.0
-
'@tabler/icons-react@3.31.0(react@19.1.1)':
dependencies:
'@tabler/icons': 3.31.0
@@ -10696,16 +10399,6 @@ snapshots:
picocolors: 1.1.1
redent: 3.0.0
- '@testing-library/react-hooks@8.0.1(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react-test-renderer@19.1.1(react@19.1.1))(react@19.1.1)':
- dependencies:
- '@babel/runtime': 7.25.7
- react: 19.1.1
- react-error-boundary: 3.1.4(react@19.1.1)
- optionalDependencies:
- '@types/react': 19.1.10
- react-dom: 19.1.1(react@19.1.1)
- react-test-renderer: 19.1.1(react@19.1.1)
-
'@testing-library/react@16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.1.7(@types/react@19.1.10))(@types/react@19.1.10)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)':
dependencies:
'@babel/runtime': 7.28.3
@@ -10720,19 +10413,8 @@ snapshots:
dependencies:
'@testing-library/dom': 10.4.1
- '@tootallnate/once@2.0.0': {}
-
- '@trivago/prettier-plugin-sort-imports@5.2.2(prettier@3.2.5)':
- dependencies:
- '@babel/generator': 7.27.0
- '@babel/parser': 7.27.0
- '@babel/traverse': 7.27.0
- '@babel/types': 7.28.5
- javascript-natural-sort: 0.7.1
- lodash: 4.17.21
- prettier: 3.2.5
- transitivePeerDependencies:
- - supports-color
+ '@tootallnate/once@2.0.0':
+ optional: true
'@tsconfig/node10@1.0.9': {}
@@ -10742,6 +10424,11 @@ snapshots:
'@tsconfig/node16@1.0.4': {}
+ '@tybys/wasm-util@0.10.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@types/archy@0.0.32': {}
'@types/aria-query@5.0.4': {}
@@ -10799,34 +10486,11 @@ snapshots:
'@types/estree@1.0.8': {}
- '@types/graceful-fs@4.1.6':
- dependencies:
- '@types/node': 22.17.2
-
'@types/is-ci@3.0.0':
dependencies:
ci-info: 3.8.0
- '@types/istanbul-lib-coverage@2.0.4': {}
-
- '@types/istanbul-lib-report@3.0.0':
- dependencies:
- '@types/istanbul-lib-coverage': 2.0.4
-
- '@types/istanbul-reports@3.0.1':
- dependencies:
- '@types/istanbul-lib-report': 3.0.0
-
- '@types/jest@29.5.12':
- dependencies:
- expect: 29.7.0
- pretty-format: 29.7.0
-
- '@types/jsdom@20.0.1':
- dependencies:
- '@types/node': 22.17.2
- '@types/tough-cookie': 4.0.2
- parse5: 7.1.2
+ '@types/jsesc@2.5.1': {}
'@types/json-schema@7.0.15': {}
@@ -10882,10 +10546,6 @@ snapshots:
'@types/semver@7.5.0': {}
- '@types/stack-utils@2.0.1': {}
-
- '@types/tough-cookie@4.0.2': {}
-
'@types/unist@3.0.2': {}
'@types/yargs-parser@21.0.0': {}
@@ -11038,7 +10698,7 @@ snapshots:
debug: 4.3.5
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.7.1
+ semver: 7.7.3
tsutils: 3.21.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
@@ -11052,7 +10712,7 @@ snapshots:
debug: 4.3.5
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.7.1
+ semver: 7.7.3
tsutils: 3.21.0(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
@@ -11098,7 +10758,7 @@ snapshots:
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.6.3)
eslint: 9.25.1
eslint-scope: 5.1.1
- semver: 7.7.1
+ semver: 7.7.3
transitivePeerDependencies:
- supports-color
- typescript
@@ -11183,6 +10843,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@vitest/coverage-v8@4.0.18(vitest@4.0.18(@types/node@22.17.2)(jsdom@20.0.3)(terser@5.31.1))':
+ dependencies:
+ '@bcoe/v8-coverage': 1.0.2
+ '@vitest/utils': 4.0.18
+ ast-v8-to-istanbul: 0.3.11
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-report: 3.0.1
+ istanbul-reports: 3.2.0
+ magicast: 0.5.2
+ obug: 2.1.1
+ std-env: 3.10.0
+ tinyrainbow: 3.0.3
+ vitest: 4.0.18(@types/node@22.17.2)(jsdom@20.0.3)(terser@5.31.1)
+
'@vitest/expect@3.2.4':
dependencies:
'@types/chai': 5.2.2
@@ -11191,20 +10865,59 @@ snapshots:
chai: 5.2.0
tinyrainbow: 2.0.0
+ '@vitest/expect@4.0.18':
+ dependencies:
+ '@standard-schema/spec': 1.1.0
+ '@types/chai': 5.2.2
+ '@vitest/spy': 4.0.18
+ '@vitest/utils': 4.0.18
+ chai: 6.2.2
+ tinyrainbow: 3.0.3
+
+ '@vitest/mocker@4.0.18(vite@7.1.3(@types/node@22.17.2)(terser@5.31.1))':
+ dependencies:
+ '@vitest/spy': 4.0.18
+ estree-walker: 3.0.3
+ magic-string: 0.30.21
+ optionalDependencies:
+ vite: 7.1.3(@types/node@22.17.2)(terser@5.31.1)
+
'@vitest/pretty-format@3.2.4':
dependencies:
tinyrainbow: 2.0.0
+ '@vitest/pretty-format@4.0.18':
+ dependencies:
+ tinyrainbow: 3.0.3
+
+ '@vitest/runner@4.0.18':
+ dependencies:
+ '@vitest/utils': 4.0.18
+ pathe: 2.0.3
+
+ '@vitest/snapshot@4.0.18':
+ dependencies:
+ '@vitest/pretty-format': 4.0.18
+ magic-string: 0.30.21
+ pathe: 2.0.3
+
'@vitest/spy@3.2.4':
dependencies:
tinyspy: 4.0.3
+ '@vitest/spy@4.0.18': {}
+
'@vitest/utils@3.2.4':
dependencies:
'@vitest/pretty-format': 3.2.4
loupe: 3.2.0
tinyrainbow: 2.0.0
+ '@vitest/utils@4.0.18':
+ dependencies:
+ '@vitest/pretty-format': 4.0.18
+ tinyrainbow: 3.0.3
+
'@webassemblyjs/ast@1.11.1':
dependencies:
'@webassemblyjs/helper-numbers': 1.11.1
@@ -11290,12 +11003,14 @@ snapshots:
jsonparse: 1.3.1
through: 2.3.8
- abab@2.0.6: {}
+ abab@2.0.6:
+ optional: true
acorn-globals@7.0.1:
dependencies:
- acorn: 8.14.1
+ acorn: 8.15.0
acorn-walk: 8.2.0
+ optional: true
acorn-import-assertions@1.9.0(acorn@8.14.1):
dependencies:
@@ -11313,9 +11028,10 @@ snapshots:
agent-base@6.0.2:
dependencies:
- debug: 4.3.5
+ debug: 4.4.3
transitivePeerDependencies:
- supports-color
+ optional: true
ajv-keywords@3.5.2(ajv@6.12.6):
dependencies:
@@ -11339,10 +11055,6 @@ snapshots:
ansi-escapes@3.2.0: {}
- ansi-escapes@4.3.2:
- dependencies:
- type-fest: 0.21.3
-
ansi-regex@2.1.1: {}
ansi-regex@3.0.1: {}
@@ -11365,6 +11077,8 @@ snapshots:
ansi-styles@6.2.1: {}
+ ansis@4.2.0: {}
+
any-observable@0.3.0(rxjs@6.6.7):
optionalDependencies:
rxjs: 6.6.7
@@ -11463,13 +11177,26 @@ snapshots:
assertion-error@2.0.1: {}
+ ast-kit@3.0.0-beta.1:
+ dependencies:
+ '@babel/parser': 8.0.0-rc.1
+ estree-walker: 3.0.3
+ pathe: 2.0.3
+
ast-types-flow@0.0.8: {}
ast-types@0.16.1:
dependencies:
tslib: 2.8.1
- asynckit@0.4.0: {}
+ ast-v8-to-istanbul@0.3.11:
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.31
+ estree-walker: 3.0.3
+ js-tokens: 10.0.0
+
+ asynckit@0.4.0:
+ optional: true
available-typed-arrays@1.0.7:
dependencies:
@@ -11481,36 +11208,6 @@ snapshots:
b4a@1.6.7: {}
- babel-jest@29.7.0(@babel/core@7.28.5):
- dependencies:
- '@babel/core': 7.28.5
- '@jest/transform': 29.7.0
- '@types/babel__core': 7.20.5
- babel-plugin-istanbul: 6.1.1
- babel-preset-jest: 29.6.3(@babel/core@7.28.5)
- chalk: 4.1.2
- graceful-fs: 4.2.11
- slash: 3.0.0
- transitivePeerDependencies:
- - supports-color
-
- babel-plugin-istanbul@6.1.1:
- dependencies:
- '@babel/helper-plugin-utils': 7.25.7
- '@istanbuljs/load-nyc-config': 1.1.0
- '@istanbuljs/schema': 0.1.3
- istanbul-lib-instrument: 5.2.1
- test-exclude: 6.0.0
- transitivePeerDependencies:
- - supports-color
-
- babel-plugin-jest-hoist@29.6.3:
- dependencies:
- '@babel/template': 7.27.2
- '@babel/types': 7.28.5
- '@types/babel__core': 7.20.5
- '@types/babel__traverse': 7.28.0
-
babel-plugin-macros@3.1.0:
dependencies:
'@babel/runtime': 7.28.3
@@ -11558,28 +11255,6 @@ snapshots:
babel-plugin-transform-react-remove-prop-types@0.4.24: {}
- babel-preset-current-node-syntax@1.0.1(@babel/core@7.28.5):
- dependencies:
- '@babel/core': 7.28.5
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.5)
- '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.5)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.5)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.5)
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.5)
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.5)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.5)
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.5)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.5)
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.5)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.5)
- '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.5)
-
- babel-preset-jest@29.6.3(@babel/core@7.28.5):
- dependencies:
- '@babel/core': 7.28.5
- babel-plugin-jest-hoist: 29.6.3
- babel-preset-current-node-syntax: 1.0.1(@babel/core@7.28.5)
-
babel-preset-react-app@10.0.1:
dependencies:
'@babel/core': 7.28.5
@@ -11643,6 +11318,8 @@ snapshots:
binary-extensions@2.2.0: {}
+ birpc@4.0.0: {}
+
brace-expansion@1.1.11:
dependencies:
balanced-match: 1.0.2
@@ -11667,10 +11344,6 @@ snapshots:
node-releases: 2.0.18
update-browserslist-db: 1.1.1(browserslist@4.24.0)
- bser@2.1.1:
- dependencies:
- node-int64: 0.4.0
-
buffer-from@1.1.2: {}
bundle-name@4.1.0:
@@ -11683,6 +11356,8 @@ snapshots:
bytes@3.1.2: {}
+ cac@6.7.14: {}
+
call-bind-apply-helpers@1.0.2:
dependencies:
es-errors: 1.3.0
@@ -11710,8 +11385,6 @@ snapshots:
camelcase@5.3.1: {}
- camelcase@6.3.0: {}
-
caniuse-lite@1.0.30001726: {}
ccount@2.0.1: {}
@@ -11724,6 +11397,8 @@ snapshots:
loupe: 3.2.0
pathval: 2.0.0
+ chai@6.2.2: {}
+
chalk@1.1.3:
dependencies:
ansi-styles: 2.2.1
@@ -11748,8 +11423,6 @@ snapshots:
ansi-styles: 4.3.0
supports-color: 7.2.0
- char-regex@1.0.2: {}
-
character-entities@2.0.2: {}
chardet@0.7.0: {}
@@ -11776,8 +11449,6 @@ snapshots:
ci-info@3.8.0: {}
- cjs-module-lexer@1.2.2: {}
-
cli-cursor@2.1.0:
dependencies:
restore-cursor: 2.0.0
@@ -11809,8 +11480,6 @@ snapshots:
clsx@2.1.1: {}
- co@4.6.0: {}
-
code-point-at@1.1.0: {}
codemirror@6.0.2:
@@ -11823,8 +11492,6 @@ snapshots:
'@codemirror/state': 6.5.3
'@codemirror/view': 6.39.9
- collect-v8-coverage@1.0.1: {}
-
color-convert@1.9.3:
dependencies:
color-name: 1.1.3
@@ -11840,6 +11507,7 @@ snapshots:
combined-stream@1.0.8:
dependencies:
delayed-stream: 1.0.0
+ optional: true
commander@2.20.3: {}
@@ -11876,8 +11544,6 @@ snapshots:
split2: 3.2.2
through2: 4.0.2
- convert-source-map@1.9.0: {}
-
convert-source-map@2.0.0: {}
core-js-compat@3.36.1:
@@ -11914,29 +11580,10 @@ snapshots:
parse-json: 5.2.0
path-type: 4.0.0
- create-jest@29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3)):
- dependencies:
- '@jest/types': 29.6.3
- chalk: 4.1.2
- exit: 0.1.2
- graceful-fs: 4.2.11
- jest-config: 29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3))
- jest-util: 29.7.0
- prompts: 2.4.2
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
-
create-require@1.1.1: {}
crelt@1.0.6: {}
- cross-env@7.0.3:
- dependencies:
- cross-spawn: 7.0.6
-
cross-spawn@5.1.0:
dependencies:
lru-cache: 4.1.5
@@ -11961,13 +11608,16 @@ snapshots:
css.escape@1.5.1: {}
- cssom@0.3.8: {}
+ cssom@0.3.8:
+ optional: true
- cssom@0.5.0: {}
+ cssom@0.5.0:
+ optional: true
cssstyle@2.3.0:
dependencies:
cssom: 0.3.8
+ optional: true
csstype@3.1.2: {}
@@ -11993,6 +11643,7 @@ snapshots:
abab: 2.0.6
whatwg-mimetype: 3.0.0
whatwg-url: 11.0.0
+ optional: true
data-view-buffer@1.0.2:
dependencies:
@@ -12035,8 +11686,6 @@ snapshots:
decamelize@1.2.0: {}
- decimal.js@10.4.3: {}
-
decimal.js@10.6.0: {}
decode-named-character-reference@1.0.2:
@@ -12045,16 +11694,10 @@ snapshots:
dedent@0.7.0: {}
- dedent@1.5.1(babel-plugin-macros@3.1.0):
- optionalDependencies:
- babel-plugin-macros: 3.1.0
-
deep-eql@5.0.2: {}
deep-is@0.1.4: {}
- deepmerge@4.3.1: {}
-
default-browser-id@5.0.1: {}
default-browser@5.4.0:
@@ -12082,7 +11725,10 @@ snapshots:
has-property-descriptors: 1.0.2
object-keys: 1.1.1
- delayed-stream@1.0.0: {}
+ defu@6.1.4: {}
+
+ delayed-stream@1.0.0:
+ optional: true
deprecation@2.3.1: {}
@@ -12090,16 +11736,12 @@ snapshots:
detect-indent@6.1.0: {}
- detect-newline@3.1.0: {}
-
detect-node-es@1.1.0: {}
devlop@1.1.0:
dependencies:
dequal: 2.0.3
- diff-sequences@29.6.3: {}
-
diff@4.0.2: {}
diff@8.0.3: {}
@@ -12128,6 +11770,7 @@ snapshots:
domexception@4.0.0:
dependencies:
webidl-conversions: 7.0.0
+ optional: true
dot-prop@5.3.0:
dependencies:
@@ -12135,6 +11778,8 @@ snapshots:
dotenv@8.6.0: {}
+ dts-resolver@2.1.3: {}
+
dunder-proto@1.0.1:
dependencies:
call-bind-apply-helpers: 1.0.2
@@ -12151,8 +11796,6 @@ snapshots:
email-validator@2.0.4: {}
- emittery@0.13.1: {}
-
emoji-regex@8.0.0: {}
emoji-regex@9.2.2: {}
@@ -12174,7 +11817,8 @@ snapshots:
dependencies:
ansi-colors: 4.1.3
- entities@4.5.0: {}
+ entities@4.5.0:
+ optional: true
error-ex@1.3.2:
dependencies:
@@ -12259,6 +11903,8 @@ snapshots:
es-module-lexer@0.9.3: {}
+ es-module-lexer@1.7.0: {}
+
es-object-atoms@1.1.1:
dependencies:
es-errors: 1.3.0
@@ -12346,8 +11992,6 @@ snapshots:
escape-string-regexp@1.0.5: {}
- escape-string-regexp@2.0.0: {}
-
escape-string-regexp@4.0.0: {}
escape-string-regexp@5.0.0: {}
@@ -12359,12 +12003,13 @@ snapshots:
esutils: 2.0.3
optionalDependencies:
source-map: 0.6.1
+ optional: true
eslint-config-prettier@10.1.2(eslint@9.25.1):
dependencies:
eslint: 9.25.1
- eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.28.5))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.28.5))(eslint@9.25.1)(jest@29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3)))(typescript@5.6.3):
+ eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.28.5))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.28.5))(eslint@9.25.1)(typescript@5.6.3):
dependencies:
'@babel/core': 7.28.5
'@babel/eslint-parser': 7.22.15(@babel/core@7.28.5)(eslint@9.25.1)
@@ -12376,7 +12021,7 @@ snapshots:
eslint: 9.25.1
eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.28.5))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.28.5))(eslint@9.25.1)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.25.1)(typescript@5.6.3))(eslint@9.25.1)
- eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.25.1)(typescript@5.6.3))(eslint@9.25.1)(typescript@5.6.3))(eslint@9.25.1)(jest@29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3)))(typescript@5.6.3)
+ eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.25.1)(typescript@5.6.3))(eslint@9.25.1)(typescript@5.6.3))(eslint@9.25.1)(typescript@5.6.3)
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.25.1)
eslint-plugin-react: 7.37.5(eslint@9.25.1)
eslint-plugin-react-hooks: 4.6.0(eslint@9.25.1)
@@ -12485,13 +12130,12 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.25.1)(typescript@5.6.3))(eslint@9.25.1)(typescript@5.6.3))(eslint@9.25.1)(jest@29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3)))(typescript@5.6.3):
+ eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.25.1)(typescript@5.6.3))(eslint@9.25.1)(typescript@5.6.3))(eslint@9.25.1)(typescript@5.6.3):
dependencies:
'@typescript-eslint/experimental-utils': 5.8.1(eslint@9.25.1)(typescript@5.6.3)
eslint: 9.25.1
optionalDependencies:
'@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.25.1)(typescript@5.6.3))(eslint@9.25.1)(typescript@5.6.3)
- jest: 29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3))
transitivePeerDependencies:
- supports-color
- typescript
@@ -12647,6 +12291,10 @@ snapshots:
estree-walker@2.0.2: {}
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+
esutils@2.0.3: {}
events@3.3.0: {}
@@ -12676,15 +12324,7 @@ snapshots:
signal-exit: 3.0.7
strip-final-newline: 2.0.0
- exit@0.1.2: {}
-
- expect@29.7.0:
- dependencies:
- '@jest/expect-utils': 29.7.0
- jest-get-type: 29.6.3
- jest-matcher-utils: 29.7.0
- jest-message-util: 29.7.0
- jest-util: 29.7.0
+ expect-type@1.3.0: {}
extend@3.0.2: {}
@@ -12716,10 +12356,6 @@ snapshots:
dependencies:
reusify: 1.0.4
- fb-watchman@2.0.2:
- dependencies:
- bser: 2.1.1
-
fdir@6.5.0(picomatch@4.0.3):
optionalDependencies:
picomatch: 4.0.3
@@ -12788,6 +12424,7 @@ snapshots:
asynckit: 0.4.0
combined-stream: 1.0.8
mime-types: 2.1.35
+ optional: true
fs-extra@11.1.1:
dependencies:
@@ -12807,8 +12444,6 @@ snapshots:
jsonfile: 4.0.0
universalify: 0.1.2
- fs.realpath@1.0.0: {}
-
fsevents@2.3.2:
optional: true
@@ -12847,8 +12482,6 @@ snapshots:
get-own-enumerable-property-symbols@3.0.2: {}
- get-package-type@0.1.0: {}
-
get-proto@1.0.1:
dependencies:
dunder-proto: 1.0.1
@@ -12866,6 +12499,10 @@ snapshots:
es-errors: 1.3.0
get-intrinsic: 1.3.0
+ get-tsconfig@4.13.6:
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+
get-tsconfig@4.5.0: {}
git-raw-commits@2.0.11:
@@ -12904,15 +12541,6 @@ snapshots:
package-json-from-dist: 1.0.1
path-scurry: 2.0.0
- glob@7.2.3:
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
-
global-dirs@0.1.1:
dependencies:
ini: 1.3.8
@@ -12981,6 +12609,8 @@ snapshots:
highcharts@9.3.3: {}
+ hookable@6.0.1: {}
+
hosted-git-info@2.8.9: {}
hosted-git-info@4.1.0:
@@ -12990,6 +12620,7 @@ snapshots:
html-encoding-sniffer@3.0.0:
dependencies:
whatwg-encoding: 2.0.0
+ optional: true
html-escaper@2.0.2: {}
@@ -12997,16 +12628,18 @@ snapshots:
dependencies:
'@tootallnate/once': 2.0.0
agent-base: 6.0.2
- debug: 4.3.5
+ debug: 4.4.3
transitivePeerDependencies:
- supports-color
+ optional: true
https-proxy-agent@5.0.1:
dependencies:
agent-base: 6.0.2
- debug: 4.3.5
+ debug: 4.4.3
transitivePeerDependencies:
- supports-color
+ optional: true
human-id@1.0.2: {}
@@ -13023,6 +12656,7 @@ snapshots:
iconv-lite@0.6.3:
dependencies:
safer-buffer: 2.1.2
+ optional: true
ignore@5.3.2: {}
@@ -13031,10 +12665,7 @@ snapshots:
parent-module: 1.0.1
resolve-from: 4.0.0
- import-local@3.1.0:
- dependencies:
- pkg-dir: 4.2.0
- resolve-cwd: 3.0.0
+ import-without-cache@0.2.5: {}
imurmurhash@0.1.4: {}
@@ -13042,11 +12673,6 @@ snapshots:
indent-string@4.0.0: {}
- inflight@1.0.6:
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
-
inherits@2.0.4: {}
ini@1.3.8: {}
@@ -13130,8 +12756,6 @@ snapshots:
is-fullwidth-code-point@3.0.0: {}
- is-generator-fn@2.1.0: {}
-
is-generator-function@1.0.10:
dependencies:
has-tostringtag: 1.0.2
@@ -13165,7 +12789,8 @@ snapshots:
is-plain-obj@4.1.0: {}
- is-potential-custom-element-name@1.0.1: {}
+ is-potential-custom-element-name@1.0.1:
+ optional: true
is-promise@2.2.2: {}
@@ -13236,46 +12861,18 @@ snapshots:
isexe@2.0.0: {}
- istanbul-lib-coverage@3.2.0: {}
+ istanbul-lib-coverage@3.2.2: {}
- istanbul-lib-instrument@5.2.1:
+ istanbul-lib-report@3.0.1:
dependencies:
- '@babel/core': 7.28.5
- '@babel/parser': 7.28.5
- '@istanbuljs/schema': 0.1.3
- istanbul-lib-coverage: 3.2.0
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- istanbul-lib-instrument@6.0.0:
- dependencies:
- '@babel/core': 7.28.5
- '@babel/parser': 7.28.5
- '@istanbuljs/schema': 0.1.3
- istanbul-lib-coverage: 3.2.0
- semver: 7.7.1
- transitivePeerDependencies:
- - supports-color
-
- istanbul-lib-report@3.0.0:
- dependencies:
- istanbul-lib-coverage: 3.2.0
- make-dir: 3.1.0
+ istanbul-lib-coverage: 3.2.2
+ make-dir: 4.0.0
supports-color: 7.2.0
- istanbul-lib-source-maps@4.0.1:
- dependencies:
- debug: 4.3.5
- istanbul-lib-coverage: 3.2.0
- source-map: 0.6.1
- transitivePeerDependencies:
- - supports-color
-
- istanbul-reports@3.1.5:
+ istanbul-reports@3.2.0:
dependencies:
html-escaper: 2.0.2
- istanbul-lib-report: 3.0.0
+ istanbul-lib-report: 3.0.1
iterator.prototype@1.1.5:
dependencies:
@@ -13294,342 +12891,18 @@ snapshots:
dependencies:
'@isaacs/cliui': 8.0.2
- javascript-natural-sort@0.7.1: {}
-
- jest-changed-files@29.7.0:
- dependencies:
- execa: 5.1.1
- jest-util: 29.7.0
- p-limit: 3.1.0
-
- jest-circus@29.7.0(babel-plugin-macros@3.1.0):
- dependencies:
- '@jest/environment': 29.7.0
- '@jest/expect': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 22.17.2
- chalk: 4.1.2
- co: 4.6.0
- dedent: 1.5.1(babel-plugin-macros@3.1.0)
- is-generator-fn: 2.1.0
- jest-each: 29.7.0
- jest-matcher-utils: 29.7.0
- jest-message-util: 29.7.0
- jest-runtime: 29.7.0
- jest-snapshot: 29.7.0
- jest-util: 29.7.0
- p-limit: 3.1.0
- pretty-format: 29.7.0
- pure-rand: 6.0.2
- slash: 3.0.0
- stack-utils: 2.0.6
- transitivePeerDependencies:
- - babel-plugin-macros
- - supports-color
-
- jest-cli@29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3)):
- dependencies:
- '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3))
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- chalk: 4.1.2
- create-jest: 29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3))
- exit: 0.1.2
- import-local: 3.1.0
- jest-config: 29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3))
- jest-util: 29.7.0
- jest-validate: 29.7.0
- yargs: 17.7.2
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
-
- jest-config@29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3)):
- dependencies:
- '@babel/core': 7.28.5
- '@jest/test-sequencer': 29.7.0
- '@jest/types': 29.6.3
- babel-jest: 29.7.0(@babel/core@7.28.5)
- chalk: 4.1.2
- ci-info: 3.8.0
- deepmerge: 4.3.1
- glob: 7.2.3
- graceful-fs: 4.2.11
- jest-circus: 29.7.0(babel-plugin-macros@3.1.0)
- jest-environment-node: 29.7.0
- jest-get-type: 29.6.3
- jest-regex-util: 29.6.3
- jest-resolve: 29.7.0
- jest-runner: 29.7.0
- jest-util: 29.7.0
- jest-validate: 29.7.0
- micromatch: 4.0.8
- parse-json: 5.2.0
- pretty-format: 29.7.0
- slash: 3.0.0
- strip-json-comments: 3.1.1
- optionalDependencies:
- '@types/node': 22.17.2
- ts-node: 10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3)
- transitivePeerDependencies:
- - babel-plugin-macros
- - supports-color
-
- jest-diff@29.7.0:
- dependencies:
- chalk: 4.1.2
- diff-sequences: 29.6.3
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
-
- jest-docblock@29.7.0:
- dependencies:
- detect-newline: 3.1.0
-
- jest-each@29.7.0:
- dependencies:
- '@jest/types': 29.6.3
- chalk: 4.1.2
- jest-get-type: 29.6.3
- jest-util: 29.7.0
- pretty-format: 29.7.0
-
- jest-environment-jsdom@29.7.0:
- dependencies:
- '@jest/environment': 29.7.0
- '@jest/fake-timers': 29.7.0
- '@jest/types': 29.6.3
- '@types/jsdom': 20.0.1
- '@types/node': 22.17.2
- jest-mock: 29.7.0
- jest-util: 29.7.0
- jsdom: 20.0.3
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
-
- jest-environment-node@29.7.0:
- dependencies:
- '@jest/environment': 29.7.0
- '@jest/fake-timers': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 22.17.2
- jest-mock: 29.7.0
- jest-util: 29.7.0
-
- jest-get-type@29.6.3: {}
-
- jest-haste-map@29.7.0:
- dependencies:
- '@jest/types': 29.6.3
- '@types/graceful-fs': 4.1.6
- '@types/node': 22.17.2
- anymatch: 3.1.3
- fb-watchman: 2.0.2
- graceful-fs: 4.2.11
- jest-regex-util: 29.6.3
- jest-util: 29.7.0
- jest-worker: 29.7.0
- micromatch: 4.0.8
- walker: 1.0.8
- optionalDependencies:
- fsevents: 2.3.3
-
- jest-leak-detector@29.7.0:
- dependencies:
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
-
- jest-matcher-utils@29.7.0:
- dependencies:
- chalk: 4.1.2
- jest-diff: 29.7.0
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
-
- jest-message-util@29.7.0:
- dependencies:
- '@babel/code-frame': 7.27.1
- '@jest/types': 29.6.3
- '@types/stack-utils': 2.0.1
- chalk: 4.1.2
- graceful-fs: 4.2.11
- micromatch: 4.0.8
- pretty-format: 29.7.0
- slash: 3.0.0
- stack-utils: 2.0.6
-
- jest-mock@29.7.0:
- dependencies:
- '@jest/types': 29.6.3
- '@types/node': 22.17.2
- jest-util: 29.7.0
-
- jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
- optionalDependencies:
- jest-resolve: 29.7.0
-
- jest-regex-util@29.6.3: {}
-
- jest-resolve-dependencies@29.7.0:
- dependencies:
- jest-regex-util: 29.6.3
- jest-snapshot: 29.7.0
- transitivePeerDependencies:
- - supports-color
-
- jest-resolve@29.7.0:
- dependencies:
- chalk: 4.1.2
- graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
- jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0)
- jest-util: 29.7.0
- jest-validate: 29.7.0
- resolve: 1.22.8
- resolve.exports: 2.0.2
- slash: 3.0.0
-
- jest-runner@29.7.0:
- dependencies:
- '@jest/console': 29.7.0
- '@jest/environment': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 22.17.2
- chalk: 4.1.2
- emittery: 0.13.1
- graceful-fs: 4.2.11
- jest-docblock: 29.7.0
- jest-environment-node: 29.7.0
- jest-haste-map: 29.7.0
- jest-leak-detector: 29.7.0
- jest-message-util: 29.7.0
- jest-resolve: 29.7.0
- jest-runtime: 29.7.0
- jest-util: 29.7.0
- jest-watcher: 29.7.0
- jest-worker: 29.7.0
- p-limit: 3.1.0
- source-map-support: 0.5.13
- transitivePeerDependencies:
- - supports-color
-
- jest-runtime@29.7.0:
- dependencies:
- '@jest/environment': 29.7.0
- '@jest/fake-timers': 29.7.0
- '@jest/globals': 29.7.0
- '@jest/source-map': 29.6.3
- '@jest/test-result': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 22.17.2
- chalk: 4.1.2
- cjs-module-lexer: 1.2.2
- collect-v8-coverage: 1.0.1
- glob: 7.2.3
- graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
- jest-message-util: 29.7.0
- jest-mock: 29.7.0
- jest-regex-util: 29.6.3
- jest-resolve: 29.7.0
- jest-snapshot: 29.7.0
- jest-util: 29.7.0
- slash: 3.0.0
- strip-bom: 4.0.0
- transitivePeerDependencies:
- - supports-color
-
- jest-snapshot@29.7.0:
- dependencies:
- '@babel/core': 7.28.5
- '@babel/generator': 7.28.5
- '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.28.5)
- '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.28.5)
- '@babel/types': 7.28.5
- '@jest/expect-utils': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- babel-preset-current-node-syntax: 1.0.1(@babel/core@7.28.5)
- chalk: 4.1.2
- expect: 29.7.0
- graceful-fs: 4.2.11
- jest-diff: 29.7.0
- jest-get-type: 29.6.3
- jest-matcher-utils: 29.7.0
- jest-message-util: 29.7.0
- jest-util: 29.7.0
- natural-compare: 1.4.0
- pretty-format: 29.7.0
- semver: 7.7.1
- transitivePeerDependencies:
- - supports-color
-
- jest-util@29.7.0:
- dependencies:
- '@jest/types': 29.6.3
- '@types/node': 22.17.2
- chalk: 4.1.2
- ci-info: 3.8.0
- graceful-fs: 4.2.11
- picomatch: 2.3.1
-
- jest-validate@29.7.0:
- dependencies:
- '@jest/types': 29.6.3
- camelcase: 6.3.0
- chalk: 4.1.2
- jest-get-type: 29.6.3
- leven: 3.1.0
- pretty-format: 29.7.0
-
- jest-watcher@29.7.0:
- dependencies:
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 22.17.2
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- emittery: 0.13.1
- jest-util: 29.7.0
- string-length: 4.0.2
-
jest-worker@27.5.1:
dependencies:
'@types/node': 22.17.2
merge-stream: 2.0.0
supports-color: 8.1.1
- jest-worker@29.7.0:
- dependencies:
- '@types/node': 22.17.2
- jest-util: 29.7.0
- merge-stream: 2.0.0
- supports-color: 8.1.1
-
- jest@29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3)):
- dependencies:
- '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3))
- '@jest/types': 29.6.3
- import-local: 3.1.0
- jest-cli: 29.7.0(@types/node@22.17.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.3.36)(@types/node@22.17.2)(typescript@5.6.3))
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
-
jora@1.0.0-beta.7:
dependencies:
'@discoveryjs/natural-compare': 1.1.0
+ js-tokens@10.0.0: {}
+
js-tokens@4.0.0: {}
js-yaml@3.14.1:
@@ -13644,12 +12917,12 @@ snapshots:
jsdom@20.0.3:
dependencies:
abab: 2.0.6
- acorn: 8.14.1
+ acorn: 8.15.0
acorn-globals: 7.0.1
cssom: 0.5.0
cssstyle: 2.3.0
data-urls: 3.0.2
- decimal.js: 10.4.3
+ decimal.js: 10.6.0
domexception: 4.0.0
escodegen: 2.1.0
form-data: 4.0.0
@@ -13667,12 +12940,13 @@ snapshots:
whatwg-encoding: 2.0.0
whatwg-mimetype: 3.0.0
whatwg-url: 11.0.0
- ws: 8.13.0
+ ws: 8.18.3
xml-name-validator: 4.0.0
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
+ optional: true
jsesc@0.5.0: {}
@@ -13696,8 +12970,6 @@ snapshots:
json5@2.2.3: {}
- jsonc-parser@3.2.0: {}
-
jsonfile@4.0.0:
optionalDependencies:
graceful-fs: 4.2.11
@@ -13723,16 +12995,12 @@ snapshots:
kind-of@6.0.3: {}
- kleur@3.0.3: {}
-
language-subtag-registry@0.3.22: {}
language-tags@1.0.9:
dependencies:
language-subtag-registry: 0.3.22
- leven@3.1.0: {}
-
levn@0.4.1:
dependencies:
prelude-ls: 1.2.1
@@ -13894,15 +13162,21 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
- make-dir@3.1.0:
+ magic-string@0.30.21:
dependencies:
- semver: 6.3.1
+ '@jridgewell/sourcemap-codec': 1.5.5
- make-error@1.3.6: {}
+ magicast@0.5.2:
+ dependencies:
+ '@babel/parser': 7.29.0
+ '@babel/types': 7.29.0
+ source-map-js: 1.2.1
- makeerror@1.0.12:
+ make-dir@4.0.0:
dependencies:
- tmpl: 1.0.5
+ semver: 7.7.3
+
+ make-error@1.3.6: {}
map-obj@1.0.1: {}
@@ -14313,14 +13587,10 @@ snapshots:
nice-try@1.0.5: {}
- node-abort-controller@3.1.1: {}
-
node-fetch@2.6.11:
dependencies:
whatwg-url: 5.0.0
- node-int64@0.4.0: {}
-
node-releases@2.0.18: {}
normalize-package-data@2.5.0:
@@ -14334,7 +13604,7 @@ snapshots:
dependencies:
hosted-git-info: 4.1.0
is-core-module: 2.16.1
- semver: 7.7.1
+ semver: 7.7.3
validate-npm-package-license: 3.0.4
normalize-path@3.0.0: {}
@@ -14357,7 +13627,8 @@ snapshots:
number-is-nan@1.0.1: {}
- nwsapi@2.2.4: {}
+ nwsapi@2.2.4:
+ optional: true
object-assign@4.1.1: {}
@@ -14401,6 +13672,8 @@ snapshots:
define-properties: 1.2.1
es-object-atoms: 1.1.1
+ obug@2.1.1: {}
+
once@1.4.0:
dependencies:
wrappy: 1.0.2
@@ -14494,11 +13767,10 @@ snapshots:
parse5@7.1.2:
dependencies:
entities: 4.5.0
+ optional: true
path-exists@4.0.0: {}
- path-is-absolute@1.0.1: {}
-
path-is-inside@1.0.2: {}
path-key@2.0.1: {}
@@ -14520,6 +13792,8 @@ snapshots:
path-type@4.0.0: {}
+ pathe@2.0.3: {}
+
pathval@2.0.0: {}
picocolors@1.1.1: {}
@@ -14534,8 +13808,6 @@ snapshots:
pify@4.0.1: {}
- pirates@4.0.6: {}
-
pkg-dir@4.2.0:
dependencies:
find-up: 4.1.0
@@ -14581,12 +13853,6 @@ snapshots:
ansi-styles: 5.2.0
react-is: 17.0.2
- pretty-format@29.7.0:
- dependencies:
- '@jest/schemas': 29.6.3
- ansi-styles: 5.2.0
- react-is: 18.3.1
-
prism-react-renderer@2.4.1(react@19.1.1):
dependencies:
'@types/prismjs': 1.26.5
@@ -14595,11 +13861,6 @@ snapshots:
prismjs@1.30.0: {}
- prompts@2.4.2:
- dependencies:
- kleur: 3.0.3
- sisteransi: 1.0.5
-
prop-types@15.8.1:
dependencies:
loose-envify: 1.4.0
@@ -14608,7 +13869,8 @@ snapshots:
pseudomap@1.0.2: {}
- psl@1.9.0: {}
+ psl@1.9.0:
+ optional: true
pump@3.0.0:
dependencies:
@@ -14617,11 +13879,12 @@ snapshots:
punycode@2.3.0: {}
- pure-rand@6.0.2: {}
-
q@1.5.1: {}
- querystringify@2.2.0: {}
+ quansync@1.0.0: {}
+
+ querystringify@2.2.0:
+ optional: true
queue-microtask@1.2.3: {}
@@ -14709,11 +13972,6 @@ snapshots:
react: 19.1.1
scheduler: 0.26.0
- react-error-boundary@3.1.4(react@19.1.1):
- dependencies:
- '@babel/runtime': 7.25.7
- react: 19.1.1
-
react-focus-lock@2.13.5(@types/react@19.1.10)(react@19.1.1):
dependencies:
'@babel/runtime': 7.25.7
@@ -14926,11 +14184,8 @@ snapshots:
require-main-filename@2.0.0: {}
- requires-port@1.0.0: {}
-
- resolve-cwd@3.0.0:
- dependencies:
- resolve-from: 5.0.0
+ requires-port@1.0.0:
+ optional: true
resolve-from@4.0.0: {}
@@ -14940,7 +14195,7 @@ snapshots:
dependencies:
global-dirs: 0.1.1
- resolve.exports@2.0.2: {}
+ resolve-pkg-maps@1.0.0: {}
resolve@1.22.8:
dependencies:
@@ -14966,6 +14221,42 @@ snapshots:
glob: 11.0.1
package-json-from-dist: 1.0.1
+ rolldown-plugin-dts@0.22.1(rolldown@1.0.0-rc.3)(typescript@5.6.3):
+ dependencies:
+ '@babel/generator': 8.0.0-rc.1
+ '@babel/helper-validator-identifier': 8.0.0-rc.1
+ '@babel/parser': 8.0.0-rc.1
+ '@babel/types': 8.0.0-rc.1
+ ast-kit: 3.0.0-beta.1
+ birpc: 4.0.0
+ dts-resolver: 2.1.3
+ get-tsconfig: 4.13.6
+ obug: 2.1.1
+ rolldown: 1.0.0-rc.3
+ optionalDependencies:
+ typescript: 5.6.3
+ transitivePeerDependencies:
+ - oxc-resolver
+
+ rolldown@1.0.0-rc.3:
+ dependencies:
+ '@oxc-project/types': 0.112.0
+ '@rolldown/pluginutils': 1.0.0-rc.3
+ optionalDependencies:
+ '@rolldown/binding-android-arm64': 1.0.0-rc.3
+ '@rolldown/binding-darwin-arm64': 1.0.0-rc.3
+ '@rolldown/binding-darwin-x64': 1.0.0-rc.3
+ '@rolldown/binding-freebsd-x64': 1.0.0-rc.3
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.3
+ '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.3
+ '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.3
+ '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.3
+ '@rolldown/binding-linux-x64-musl': 1.0.0-rc.3
+ '@rolldown/binding-openharmony-arm64': 1.0.0-rc.3
+ '@rolldown/binding-wasm32-wasi': 1.0.0-rc.3
+ '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.3
+ '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.3
+
rollup@4.46.4:
dependencies:
'@types/estree': 1.0.8
@@ -15028,6 +14319,7 @@ snapshots:
saxes@6.0.0:
dependencies:
xmlchars: 2.2.0
+ optional: true
scheduler@0.26.0: {}
@@ -15135,12 +14427,12 @@ snapshots:
side-channel-map: 1.0.1
side-channel-weakmap: 1.0.2
+ siginfo@2.0.0: {}
+
signal-exit@3.0.7: {}
signal-exit@4.1.0: {}
- sisteransi@1.0.5: {}
-
size-limit@8.2.6:
dependencies:
bytes-iec: 3.1.1
@@ -15166,11 +14458,6 @@ snapshots:
source-map-js@1.2.1: {}
- source-map-support@0.5.13:
- dependencies:
- buffer-from: 1.1.2
- source-map: 0.6.1
-
source-map-support@0.5.21:
dependencies:
buffer-from: 1.1.2
@@ -15203,9 +14490,9 @@ snapshots:
sprintf-js@1.0.3: {}
- stack-utils@2.0.6:
- dependencies:
- escape-string-regexp: 2.0.0
+ stackback@0.0.2: {}
+
+ std-env@3.10.0: {}
storybook-addon-turbo-build@2.0.1(webpack@5.76.1(@swc/core@1.3.36)(esbuild@0.25.9)):
dependencies:
@@ -15247,11 +14534,6 @@ snapshots:
optionalDependencies:
bare-events: 2.5.4
- string-length@4.0.2:
- dependencies:
- char-regex: 1.0.2
- strip-ansi: 6.0.1
-
string-natural-compare@3.0.1: {}
string-width@1.0.2:
@@ -15361,8 +14643,6 @@ snapshots:
strip-bom@3.0.0: {}
- strip-bom@4.0.0: {}
-
strip-final-newline@2.0.0: {}
strip-indent@3.0.0:
@@ -15393,15 +14673,10 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
- swc-loader@0.2.6(@swc/core@1.3.36)(webpack@5.76.1(@swc/core@1.3.36)(esbuild@0.25.9)):
- dependencies:
- '@swc/core': 1.3.36
- '@swc/counter': 0.1.3
- webpack: 5.76.1(@swc/core@1.3.36)(esbuild@0.25.9)
-
symbol-observable@1.2.0: {}
- symbol-tree@3.2.4: {}
+ symbol-tree@3.2.4:
+ optional: true
tapable@2.2.1: {}
@@ -15442,12 +14717,6 @@ snapshots:
commander: 2.20.3
source-map-support: 0.5.21
- test-exclude@6.0.0:
- dependencies:
- '@istanbuljs/schema': 0.1.3
- glob: 7.2.3
- minimatch: 3.1.2
-
text-decoder@1.2.3:
dependencies:
b4a: 1.6.7
@@ -15462,6 +14731,10 @@ snapshots:
tiny-invariant@1.3.3: {}
+ tinybench@2.9.0: {}
+
+ tinyexec@1.0.2: {}
+
tinyglobby@0.2.14:
dependencies:
fdir: 6.5.0(picomatch@4.0.3)
@@ -15474,14 +14747,14 @@ snapshots:
tinyrainbow@2.0.0: {}
+ tinyrainbow@3.0.3: {}
+
tinyspy@4.0.3: {}
tmp@0.0.33:
dependencies:
os-tmpdir: 1.0.2
- tmpl@1.0.5: {}
-
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
@@ -15492,12 +14765,16 @@ snapshots:
punycode: 2.3.0
universalify: 0.2.0
url-parse: 1.5.10
+ optional: true
tr46@0.0.3: {}
tr46@3.0.0:
dependencies:
punycode: 2.3.0
+ optional: true
+
+ tree-kill@1.2.2: {}
trim-newlines@3.0.1: {}
@@ -15546,6 +14823,33 @@ snapshots:
minimist: 1.2.8
strip-bom: 3.0.0
+ tsdown@0.20.3(typescript@5.6.3):
+ dependencies:
+ ansis: 4.2.0
+ cac: 6.7.14
+ defu: 6.1.4
+ empathic: 2.0.0
+ hookable: 6.0.1
+ import-without-cache: 0.2.5
+ obug: 2.1.1
+ picomatch: 4.0.3
+ rolldown: 1.0.0-rc.3
+ rolldown-plugin-dts: 0.22.1(rolldown@1.0.0-rc.3)(typescript@5.6.3)
+ semver: 7.7.3
+ tinyexec: 1.0.2
+ tinyglobby: 0.2.15
+ tree-kill: 1.2.2
+ unconfig-core: 7.5.0
+ unrun: 0.2.27
+ optionalDependencies:
+ typescript: 5.6.3
+ transitivePeerDependencies:
+ - '@ts-macro/tsc'
+ - '@typescript/native-preview'
+ - oxc-resolver
+ - synckit
+ - vue-tsc
+
tslib@1.14.1: {}
tslib@2.8.1: {}
@@ -15570,14 +14874,10 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
- type-detect@4.0.8: {}
-
type-fest@0.13.1: {}
type-fest@0.18.1: {}
- type-fest@0.21.3: {}
-
type-fest@0.6.0: {}
type-fest@0.8.1: {}
@@ -15634,6 +14934,11 @@ snapshots:
has-symbols: 1.1.0
which-boxed-primitive: 1.1.1
+ unconfig-core@7.5.0:
+ dependencies:
+ '@quansync/fs': 1.0.0
+ quansync: 1.0.0
+
undici-types@6.21.0: {}
undici@5.28.5:
@@ -15684,7 +14989,8 @@ snapshots:
universalify@0.1.2: {}
- universalify@0.2.0: {}
+ universalify@0.2.0:
+ optional: true
universalify@2.0.0: {}
@@ -15695,6 +15001,10 @@ snapshots:
picomatch: 4.0.3
webpack-virtual-modules: 0.6.2
+ unrun@0.2.27:
+ dependencies:
+ rolldown: 1.0.0-rc.3
+
update-browserslist-db@1.1.1(browserslist@4.24.0):
dependencies:
browserslist: 4.24.0
@@ -15709,6 +15019,7 @@ snapshots:
dependencies:
querystringify: 2.2.0
requires-port: 1.0.0
+ optional: true
use-callback-ref@1.3.3(@types/react@19.1.10)(react@19.1.1):
dependencies:
@@ -15742,12 +15053,6 @@ snapshots:
v8-compile-cache-lib@3.0.1: {}
- v8-to-istanbul@9.1.0:
- dependencies:
- '@jridgewell/trace-mapping': 0.3.31
- '@types/istanbul-lib-coverage': 2.0.4
- convert-source-map: 1.9.0
-
valid-url@1.0.9: {}
validate-npm-package-license@3.0.4:
@@ -15779,15 +15084,50 @@ snapshots:
fsevents: 2.3.3
terser: 5.31.1
+ vitest@4.0.18(@types/node@22.17.2)(jsdom@20.0.3)(terser@5.31.1):
+ dependencies:
+ '@vitest/expect': 4.0.18
+ '@vitest/mocker': 4.0.18(vite@7.1.3(@types/node@22.17.2)(terser@5.31.1))
+ '@vitest/pretty-format': 4.0.18
+ '@vitest/runner': 4.0.18
+ '@vitest/snapshot': 4.0.18
+ '@vitest/spy': 4.0.18
+ '@vitest/utils': 4.0.18
+ es-module-lexer: 1.7.0
+ expect-type: 1.3.0
+ magic-string: 0.30.21
+ obug: 2.1.1
+ pathe: 2.0.3
+ picomatch: 4.0.3
+ std-env: 3.10.0
+ tinybench: 2.9.0
+ tinyexec: 1.0.2
+ tinyglobby: 0.2.15
+ tinyrainbow: 3.0.3
+ vite: 7.1.3(@types/node@22.17.2)(terser@5.31.1)
+ why-is-node-running: 2.3.0
+ optionalDependencies:
+ '@types/node': 22.17.2
+ jsdom: 20.0.3
+ transitivePeerDependencies:
+ - jiti
+ - less
+ - lightningcss
+ - msw
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - terser
+ - tsx
+ - yaml
+
w3c-keyname@2.2.8: {}
w3c-xmlserializer@4.0.0:
dependencies:
xml-name-validator: 4.0.0
-
- walker@1.0.8:
- dependencies:
- makeerror: 1.0.12
+ optional: true
watchpack@2.4.0:
dependencies:
@@ -15800,7 +15140,8 @@ snapshots:
webidl-conversions@3.0.1: {}
- webidl-conversions@7.0.0: {}
+ webidl-conversions@7.0.0:
+ optional: true
webpack-sources@1.4.3:
dependencies:
@@ -15845,13 +15186,16 @@ snapshots:
whatwg-encoding@2.0.0:
dependencies:
iconv-lite: 0.6.3
+ optional: true
- whatwg-mimetype@3.0.0: {}
+ whatwg-mimetype@3.0.0:
+ optional: true
whatwg-url@11.0.0:
dependencies:
tr46: 3.0.0
webidl-conversions: 7.0.0
+ optional: true
whatwg-url@5.0.0:
dependencies:
@@ -15914,6 +15258,11 @@ snapshots:
dependencies:
isexe: 2.0.0
+ why-is-node-running@2.3.0:
+ dependencies:
+ siginfo: 2.0.0
+ stackback: 0.0.2
+
wrap-ansi@3.0.1:
dependencies:
string-width: 2.1.1
@@ -15939,22 +15288,17 @@ snapshots:
wrappy@1.0.2: {}
- write-file-atomic@4.0.2:
- dependencies:
- imurmurhash: 0.1.4
- signal-exit: 3.0.7
-
- ws@8.13.0: {}
-
ws@8.18.3: {}
wsl-utils@0.1.0:
dependencies:
is-wsl: 3.1.0
- xml-name-validator@4.0.0: {}
+ xml-name-validator@4.0.0:
+ optional: true
- xmlchars@2.2.0: {}
+ xmlchars@2.2.0:
+ optional: true
y18n@4.0.3: {}
diff --git a/scripts/add-banner.cjs b/scripts/add-banner.cjs
deleted file mode 100644
index 689906f65..000000000
--- a/scripts/add-banner.cjs
+++ /dev/null
@@ -1,52 +0,0 @@
-const { readdir, readFile, writeFile } = require('fs/promises');
-const { resolve } = require('path');
-
-const dedent = require('dedent');
-
-const pkg = require('../package.json');
-
-const banner = dedent`
- /**
- * @license ${pkg.license}
- * author: ${pkg.author}
- * ${pkg.name} v${pkg.version}
- * Released under the ${pkg.license} license.
- */
-`;
-const distFolder = resolve(__dirname, '../', 'dist') + '/';
-
-async function getFiles(path = distFolder) {
- const entries = await readdir(path, {
- withFileTypes: true,
- });
-
- // Get files within the current directory and add a path key to the file objects
- const files = entries
- .filter((file) => !file.isDirectory())
- .filter((file) => file.name.endsWith('.js'))
- .map((file) => ({ ...file, path: path + file.name }));
-
- // Get folders within the current directory
- const folders = entries.filter((folder) => folder.isDirectory());
-
- /*
- Add the found files within the subdirectory to the files array by calling the
- current function itself
- */
- for (const folder of folders)
- files.push(...(await getFiles(`${path}${folder.name}/`)));
-
- return files;
-}
-getFiles().then((files) =>
- Promise.all(
- files.map(({ path }) =>
- readFile(path)
- .then(
- (file) => `${banner}\n\n${file.toString()}
- `,
- )
- .then((text) => writeFile(path, text, { encoding: 'utf-8' })),
- ),
- ),
-);
diff --git a/scripts/copy-files.cjs b/scripts/copy-files.cjs
deleted file mode 100644
index 886be3ec9..000000000
--- a/scripts/copy-files.cjs
+++ /dev/null
@@ -1,86 +0,0 @@
-const fs = require('fs');
-const path = require('path');
-
-function copyRequiredFiles() {
- copyPackageJson();
- ['./README.md', './CHANGELOG.md', './tasty.config.ts'].forEach((file) => includeFileInBuild(file));
-}
-
-function copyPackageJson() {
- const packageData = fs.readFileSync(
- path.resolve(__dirname, '../package.json'),
- 'utf8',
- );
- const {
- author,
- engines,
- peerDependencies,
- dependencies,
- name,
- version,
- description,
- keywords,
- repository,
- sideEffects,
- license,
- } = JSON.parse(packageData);
- const newPackageData = {
- name,
- version,
- description,
- keywords,
- repository,
- author,
- engines,
- sideEffects,
- peerDependencies,
- dependencies,
- license,
- type: 'module',
- module: './es/index.js',
- types: './types/index.d.ts',
- main: './es/index.js',
- exports: {
- '.': {
- import: './es/index.js',
- require: './cjs/index.js',
- types: './types/index.d.ts',
- },
- './tasty/static': {
- import: './es/tasty/static/index.js',
- types: './types/tasty/static/index.d.ts',
- },
- './tasty/zero/babel': {
- import: './es/tasty/zero/babel.js',
- types: './types/tasty/zero/babel.d.ts',
- },
- './tasty.config': './tasty.config.ts',
- },
- private: false,
- };
- const targetPath = path.resolve(
- __dirname,
- '../',
- './dist/',
- './package.json',
- );
-
- fs.writeFileSync(targetPath, JSON.stringify(newPackageData, null, 2), 'utf8');
- console.log(`Created package.json in ${targetPath}`);
-}
-
-function includeFileInBuild(file) {
- const sourcePath = path.resolve(__dirname, '../', file);
- const targetPath = path.resolve(
- __dirname,
- '../',
- './dist/',
- path.basename(file),
- );
-
- fs.copyFileSync(sourcePath, targetPath);
-
- console.log(`Copied ${sourcePath} to ${targetPath}`);
-}
-
-copyRequiredFiles();
diff --git a/scripts/fix-esm-imports.cjs b/scripts/fix-esm-imports.cjs
deleted file mode 100644
index b5619e656..000000000
--- a/scripts/fix-esm-imports.cjs
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * Post-build script to fix ESM imports by adding .js extensions.
- * TypeScript doesn't add extensions to ESM output, which breaks Node.js ESM resolution.
- */
-const fs = require('fs');
-const path = require('path');
-
-const ESM_DIR = path.resolve(__dirname, '../dist/es');
-
-// Regex to match relative imports without extensions
-// Matches: from './foo' or from '../bar' or from './foo/bar'
-// But not: from './foo.js' or from 'package-name'
-const IMPORT_REGEX = /from\s+['"](\.[^'"]+)['"]/g;
-const EXPORT_REGEX = /export\s+\*\s+from\s+['"](\.[^'"]+)['"]/g;
-const DYNAMIC_IMPORT_REGEX = /import\s*\(\s*['"](\.[^'"]+)['"]\s*\)/g;
-// Side-effect imports: import './foo' or import 'prismjs/components/prism-javascript'
-const SIDE_EFFECT_IMPORT_REGEX = /import\s+['"](\.[^'"]+)['"];/g;
-
-// Package imports that need .js extension (they don't include extensions in their exports)
-const PACKAGES_NEEDING_JS_EXTENSION = ['prismjs/components/'];
-
-function processFile(filePath) {
- let content = fs.readFileSync(filePath, 'utf8');
- let modified = false;
-
- const fixImport = (match, importPath) => {
- // Skip if already has extension
- if (importPath.endsWith('.js') || importPath.endsWith('.json')) {
- return match;
- }
-
- // Determine the correct extension
- const absolutePath = path.resolve(path.dirname(filePath), importPath);
-
- // Check if it's a directory (index.js) or file
- if (fs.existsSync(absolutePath) && fs.statSync(absolutePath).isDirectory()) {
- // It's a directory, add /index.js
- modified = true;
- return match.replace(importPath, `${importPath}/index.js`);
- } else if (fs.existsSync(`${absolutePath}.js`)) {
- // It's a file, add .js
- modified = true;
- return match.replace(importPath, `${importPath}.js`);
- }
-
- // Couldn't resolve, leave as-is
- return match;
- };
-
- // Fix package imports that need .js extension
- const fixPackageImport = (match, importPath) => {
- // Skip if already has extension
- if (importPath.endsWith('.js') || importPath.endsWith('.json')) {
- return match;
- }
-
- // Check if this package needs .js extension
- for (const pkg of PACKAGES_NEEDING_JS_EXTENSION) {
- if (importPath.startsWith(pkg)) {
- modified = true;
- return match.replace(importPath, `${importPath}.js`);
- }
- }
-
- return match;
- };
-
- content = content.replace(IMPORT_REGEX, fixImport);
- content = content.replace(EXPORT_REGEX, fixImport);
- content = content.replace(DYNAMIC_IMPORT_REGEX, fixImport);
- content = content.replace(SIDE_EFFECT_IMPORT_REGEX, fixImport);
-
- // Fix bare package imports (non-relative)
- // Match: import 'package/path' or from 'package/path'
- const BARE_IMPORT_REGEX = /(?:from|import)\s+['"]([^./][^'"]+)['"]/g;
- content = content.replace(BARE_IMPORT_REGEX, fixPackageImport);
-
- if (modified) {
- fs.writeFileSync(filePath, content, 'utf8');
- console.log(`Fixed: ${path.relative(ESM_DIR, filePath)}`);
- }
-}
-
-function processDirectory(dir) {
- const entries = fs.readdirSync(dir, { withFileTypes: true });
-
- for (const entry of entries) {
- const fullPath = path.join(dir, entry.name);
-
- if (entry.isDirectory()) {
- processDirectory(fullPath);
- } else if (entry.isFile() && entry.name.endsWith('.js')) {
- processFile(fullPath);
- }
- }
-}
-
-console.log('Fixing ESM imports in dist/es...');
-processDirectory(ESM_DIR);
-console.log('Done!');
-
diff --git a/scripts/replace-version.cjs b/scripts/replace-version.cjs
deleted file mode 100644
index dfe610a13..000000000
--- a/scripts/replace-version.cjs
+++ /dev/null
@@ -1,34 +0,0 @@
-const fs = require('fs');
-const path = require('path');
-
-console.log('Replacing version in compiled files...');
-
-// Read package.json and extract the version
-const packageJsonPath = path.resolve(__dirname, '../package.json');
-const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
-const version = packageJson.version;
-
-// Define the directory where compiled files are located
-const distDir = path.resolve(__dirname, '../dist');
-
-// Function to replace version in all .js files in the dist directory
-function replaceVersionInFiles(dir) {
- const files = fs.readdirSync(dir);
-
- files.forEach((file) => {
- const filePath = path.join(dir, file);
- const stat = fs.statSync(filePath);
-
- if (stat.isDirectory()) {
- replaceVersionInFiles(filePath); // Recurse into subdirectories
- } else if (file.endsWith('.js')) {
- let content = fs.readFileSync(filePath, 'utf8');
- // Replace placeholder with version, wrapped in quotes
- content = content.replace(/__UIKIT_VERSION__/g, `${version}`);
- fs.writeFileSync(filePath, content);
- }
- });
-}
-
-// Execute the replacement
-replaceVersionInFiles(distDir);
diff --git a/src/THEME_GENERATOR.md b/src/THEME_GENERATOR.md
new file mode 100644
index 000000000..0d574da76
--- /dev/null
+++ b/src/THEME_GENERATOR.md
@@ -0,0 +1,607 @@
+# Glaze (tasty theming)
+
+## Goal
+
+`glaze` is a color generation API for tasty themes.
+
+It should:
+- generate robust `light`, `dark`, and `high-contrast` colors from a seed,
+- preserve contrast for UI pairs via explicit dependencies,
+- export directly into tasty `tokens` (`#name` keys),
+- remain simple to reason about — no hidden role math.
+
+## Core Rule: One Theme = One Hue Family
+
+A single `glaze` theme is strictly tied to one hue/saturation seed.
+
+Status colors (`danger`, `success`, `warning`) are derived via `extend`, which inherits all color definitions and replaces the hue/saturation seed.
+
+## Main API
+
+Create a single-hue theme:
+
+```ts
+const primary = glaze({
+ hue: 280,
+ saturation: 80,
+});
+```
+
+Shorthand:
+
+```ts
+const primary = glaze(280, 80);
+```
+
+## Color Definitions
+
+Colors are defined explicitly with lightness and saturation factor. No implicit roles — every value is stated.
+
+### Root colors (explicit position)
+
+```ts
+primary.colors({
+ 'surface': { l: 97, sat: 0.75 },
+ 'border': { l: 90, sat: 0.20 },
+});
+```
+
+- `l` — lightness in the light scheme (0–100).
+- `sat` — saturation factor applied to the seed saturation (0–1, default: `1`).
+
+### Dependent colors (relative to base)
+
+```ts
+primary.colors({
+ 'surface': { l: 97, sat: 0.75 },
+ 'text': { base: 'surface', contrast: 52, minContrast: 'AAA' },
+});
+```
+
+- `base` — name of another color in the same theme.
+- `contrast` — lightness delta from the base color (like `height`). Accepts a single number or `[normal, high-contrast]` pair.
+- `minContrast` — WCAG contrast floor against the base (like `min-height`). Accepts a single value or `[normal, high-contrast]` pair.
+
+Both `contrast` and `minContrast` are considered. The effective lightness satisfies both constraints — the more demanding one wins.
+
+### `contrast` sign convention
+
+The sign is optional. Resolution rules:
+
+1. **Negative sign** — always means "darker than base". `contrast: -52` → `L = L_base - 52`.
+2. **Positive sign** — always means "lighter than base". `contrast: +48` → `L = L_base + 48`.
+3. **No sign (positive number)** — auto-resolved:
+ - Compute `L_candidate = L_base + contrast`.
+ - If `L_candidate > 100`, flip to negative: `L = L_base - contrast`.
+ - Otherwise keep positive: `L = L_base + contrast`.
+
+This means unsigned values "just work" for the common case (text darker than a light surface), while explicit sign gives full control when needed.
+
+Examples:
+
+```ts
+// Surface L=97
+'text': { base: 'surface', contrast: 52 }
+// → 97 + 52 = 149 > 100 → flips to 97 - 52 = 45 ✓
+
+// Button fill L=52
+'btn-text': { base: 'btn-fill', contrast: 48 }
+// → 52 + 48 = 100 → keeps as 100 ✓
+
+// Explicit negative for clarity
+'dark-text': { base: 'surface', contrast: -52 }
+// → 97 - 52 = 45 ✓
+```
+
+### `minContrast` (WCAG floor)
+
+Accepts a numeric ratio or a preset string:
+
+```ts
+type MinContrast = number | 'AA' | 'AAA' | 'AA-large' | 'AAA-large';
+```
+
+Preset mapping:
+- `'AA'` → `4.5`
+- `'AAA'` → `7`
+- `'AA-large'` → `3`
+- `'AAA-large'` → `4.5`
+
+Behavior:
+- Constraint is applied independently for each scheme (light, dark, high-contrast).
+- If the `contrast` delta already satisfies the floor, keep it.
+- Otherwise, the solver adjusts lightness until the target is met.
+- If the target cannot be reached, return the closest possible value and mark as unresolved in debug metadata.
+
+Implementation details: `src/tasty/utils/CONTRAST_SOLVER.spec.md`.
+
+### High-contrast via array values
+
+`contrast`, `minContrast`, and `l` accept a `[normal, high-contrast]` pair for per-color control over high-contrast mode:
+
+```ts
+'border': { base: 'surface', contrast: [7, 20], minContrast: 'AA-large' }
+// ↑ ↑
+// normal high-contrast
+```
+
+This gives precise control where it matters most — subtle elements like borders get a large HC boost, while already-contrasty elements like text can stay the same:
+
+```ts
+'text': { base: 'surface', contrast: 52, minContrast: 'AAA' } // same in both modes
+'border': { base: 'surface', contrast: [7, 20], minContrast: 'AA-large' } // big HC jump
+'muted': { base: 'surface', contrast: [35, 50], minContrast: ['AA-large', 'AA'] }
+```
+
+A single value applies to both modes. No global multiplier needed — all control is local and explicit.
+
+### Color definition shape
+
+```ts
+type Pair = T | [T, T]; // [normal, high-contrast]
+
+interface ColorDef {
+ // Root color (explicit position)
+ l?: Pair; // 0–100, light scheme lightness
+ sat?: number; // 0–1, saturation factor (default: 1)
+
+ // Dependent color (relative to base)
+ base?: string; // name of another color
+ contrast?: Pair; // lightness delta from base
+ minContrast?: Pair; // WCAG contrast floor against base
+
+ // Adaptation mode
+ mode?: 'auto' | 'fixed' | 'static'; // default: 'auto'
+}
+```
+
+Every color must have either `l` (root) or `base` + `contrast` (dependent). `minContrast` can appear on either but is most useful on dependent colors.
+
+## Adaptation Modes
+
+Modes control how colors adapt across schemes:
+
+- **`auto`** (default) — full adaptation. Light ↔ dark inversion. High-contrast boost.
+- **`fixed`** — color stays recognizable across schemes. Only safety corrections (slight lightness nudge for readability). Brand buttons, CTAs.
+- **`static`** — no adaptation at all. Same value in every scheme.
+
+### How `contrast` adapts by mode
+
+**`auto` mode** — the contrast sign flips in dark scheme (visual relationship is preserved):
+
+```ts
+// Light: surface L=97, text contrast=52 → L=45 (dark text on light bg)
+// Dark: surface inverts to L≈14, sign flips → L=14+52=66
+// minContrast solver may push further to L≈88 (light text on dark bg)
+```
+
+**`fixed` mode** — lightness is mapped (not inverted) to the dark window, contrast sign is preserved:
+
+```ts
+// Light: btn-fill L=52, btn-text contrast=+48 → L=100 (white on brand)
+// Dark: btn-fill maps to L≈51.6 (barely changes), sign preserved → L≈99.6
+// desaturation also applies — brand stays recognizable but softer
+```
+
+**`static` mode** — no adaptation, same value in every scheme.
+
+## Configuration
+
+All global settings are configured via `glaze.configure()`:
+
+```ts
+interface GlazeConfig {
+ darkLightness?: [number, number]; // default: [10, 90]
+ darkDesaturation?: number; // default: 0.1
+ states?: {
+ dark?: string; // default: '@dark'
+ highContrast?: string; // default: '@high-contrast'
+ };
+ modes?: {
+ dark?: boolean; // default: true
+ highContrast?: boolean; // default: false
+ };
+}
+```
+
+Defaults:
+
+```ts
+glaze.configure({
+ darkLightness: [10, 90],
+ darkDesaturation: 0.1,
+ states: {
+ dark: '@dark',
+ highContrast: '@high-contrast',
+ },
+ modes: {
+ dark: true,
+ highContrast: false,
+ },
+});
+```
+
+## Output Modes
+
+The `modes` option controls which scheme variants are included in the exported tokens/JSON. Light is always the default and always included. The two toggles — `dark` and `highContrast` — control whether dark and high-contrast variants appear in the output.
+
+When `highContrast` is enabled, it produces both light-HC and dark-HC variants (the latter only if `dark` is also enabled).
+
+### Setting modes globally
+
+```ts
+glaze.configure({
+ modes: { dark: true, highContrast: false }, // no high-contrast variants
+});
+```
+
+### Per-export override
+
+Both `tokens()` and `json()` accept a `modes` option that overrides the global setting for that call:
+
+```ts
+// Global config has both enabled, but this export only needs light
+const lightOnly = palette.tokens({ prefix: true, modes: { dark: false, highContrast: false } });
+// → { '#primary-surface': { '': 'okhsl(...)' } }
+
+// Light + dark only
+const lightDark = palette.tokens({ prefix: true, modes: { highContrast: false } });
+// → { '#primary-surface': { '': '...', '@dark': '...' } }
+
+// Full export (default)
+const full = palette.tokens({ prefix: true });
+// → { '#primary-surface': { '': '...', '@dark': '...', '@high-contrast': '...', '@dark & @high-contrast': '...' } }
+```
+
+The same works on individual themes:
+
+```ts
+const tokens = primary.tokens({ modes: { highContrast: false } });
+const json = primary.json({ modes: { dark: false } });
+```
+
+### Resolution priority
+
+Modes are resolved per-field in this order (highest first):
+
+1. `tokens({ modes })` / `json({ modes })` — per-call override
+2. `glaze.configure({ modes })` — global config
+3. Built-in default: `{ dark: true, highContrast: false }`
+
+### Light is always resolved
+
+The engine always resolves all four internal variants (light values are needed as the basis for dark scheme mapping). The `modes` option only controls what appears in the **export**.
+
+## Dark Scheme Mapping
+
+Dark mapping uses `darkLightness` and `darkDesaturation` from the config:
+
+### Lightness mapping
+
+**`auto` mode** — lightness is inverted within the configured window:
+
+```ts
+const [lo, hi] = darkLightness;
+const invertedL = ((100 - lightness) * (hi - lo)) / 100 + lo;
+```
+
+**`fixed` mode** — lightness is mapped to the same window but without inversion (brand colors stay recognizable):
+
+```ts
+const [lo, hi] = darkLightness;
+const mappedL = (lightness * (hi - lo)) / 100 + lo;
+```
+
+Examples with `darkLightness: [10, 90]`:
+
+| Color | Light L | Auto (inverted) | Fixed (mapped) |
+|---|---|---|---|
+| surface (L=97) | 97 | 12.4 | 87.6 |
+| btn-fill (L=52) | 52 | 48.4 | 51.6 |
+| btn-text (L=100) | 100 | 10 | 90 |
+
+**`static` mode** — no mapping, same lightness in all schemes.
+
+### Saturation in dark mode
+
+`darkDesaturation` reduces saturation for all colors in the dark scheme:
+
+```ts
+S_dark = S_light * (1 - darkDesaturation)
+```
+
+This applies to both `auto` and `fixed` modes. Highly saturated colors can look harsh on dark backgrounds — this global reduction keeps them comfortable.
+
+### Contrast re-evaluation
+
+After lightness mapping and desaturation, `minContrast` is re-evaluated to ensure the floor is still met in the dark scheme. The solver adjusts lightness if needed.
+
+## High-Contrast Mode
+
+High-contrast values are specified per-color using the `[normal, high-contrast]` array syntax on `contrast`, `minContrast`, and `l`.
+
+No global multiplier — all control is local and explicit:
+
+```ts
+primary.colors({
+ 'surface': { l: [97, 100], sat: 0.75 }, // whiter in HC
+ 'text': { base: 'surface', contrast: 52, minContrast: 'AAA' }, // already high, same in both
+ 'border': { base: 'surface', contrast: [7, 20], minContrast: 'AA-large' }, // subtle → visible
+ 'muted': { base: 'surface', contrast: [35, 50], minContrast: ['AA-large', 'AA'] },
+});
+```
+
+When a single value is provided, it applies to both normal and high-contrast modes.
+
+## Inherited Themes (`extend`)
+
+`extend` creates a new theme that inherits all color definitions from the parent, replacing only the hue and/or saturation seed:
+
+```ts
+const primary = glaze(280, 80);
+
+primary.colors({
+ 'surface': { l: 97, sat: 0.75 },
+ 'text': { base: 'surface', contrast: 52, minContrast: 'AAA' },
+ 'border': { base: 'surface', contrast: [7, 20], minContrast: 'AA-large' },
+ 'bg': { l: 97, sat: 0.75 },
+ 'icon': { l: 60, sat: 0.94 },
+ 'btn-fill': { l: 52, mode: 'fixed' },
+ 'btn-text': { base: 'btn-fill', contrast: 48, minContrast: 'AA', mode: 'fixed' },
+ 'disabled': { l: 81, sat: 0.40 },
+});
+
+// Inherit ALL color definitions, just rotate hue
+const danger = primary.extend({ hue: 23 });
+const success = primary.extend({ hue: 157 });
+const warning = primary.extend({ hue: 84 });
+const note = primary.extend({ hue: 302 });
+```
+
+Each extended theme produces the same set of named tokens with the new hue. All contrast relationships, saturation factors, and mode settings carry over.
+
+`extend` can also override saturation:
+
+```ts
+const muted = primary.extend({ saturation: 40 });
+```
+
+### Overriding colors in `extend`
+
+Pass `colors` to `extend` to add or override individual colors (additive merge with inherited set):
+
+```ts
+const danger = primary.extend({
+ hue: 23,
+ colors: {
+ 'btn-fill': { l: 48, mode: 'fixed' }, // override just this one
+ },
+});
+```
+
+### `.colors()` replaces
+
+Calling `.colors()` directly on a theme **replaces** all color definitions (not additive):
+
+```ts
+const custom = glaze(280, 80);
+custom.colors({ 'surface': { l: 95 } }); // only 'surface' exists now
+custom.colors({ 'text': { l: 30 } }); // only 'text' exists now — 'surface' is gone
+```
+
+Summary:
+- `extend({ colors })` — **additive** merge with inherited colors.
+- `.colors()` — **replaces** all colors on the theme.
+
+## Multi-Theme Composition (`palette`)
+
+Combine multiple themes into a single palette:
+
+```ts
+const palette = glaze.palette({
+ primary,
+ danger,
+ success,
+ warning,
+ note,
+});
+```
+
+### Token export
+
+Export as tasty tokens with automatic prefixing:
+
+```ts
+const tokens = palette.tokens({
+ prefix: true, // uses "-"
+});
+```
+
+Output:
+
+```ts
+{
+ '#primary-surface': {
+ '': 'okhsl(...)',
+ '@dark': 'okhsl(...)',
+ '@high-contrast': 'okhsl(...)',
+ '@dark & @high-contrast': 'okhsl(...)'
+ },
+ '#primary-text': { ... },
+ '#danger-surface': { ... },
+ '#danger-text': { ... },
+}
+```
+
+Restrict to specific modes:
+
+```ts
+const tokens = palette.tokens({
+ prefix: true,
+ modes: { highContrast: false }, // omit high-contrast variants
+});
+// → { '#primary-surface': { '': 'okhsl(...)', '@dark': 'okhsl(...)' } }
+```
+
+Custom prefix mapping:
+
+```ts
+palette.tokens({
+ prefix: {
+ primary: 'brand-',
+ danger: 'error-',
+ },
+});
+```
+
+### JSON export (framework-agnostic)
+
+```ts
+const data = palette.json({
+ prefix: true,
+});
+```
+
+Output:
+
+```ts
+{
+ primary: {
+ surface: {
+ light: 'okhsl(...)',
+ dark: 'okhsl(...)',
+ lightContrast: 'okhsl(...)',
+ darkContrast: 'okhsl(...)'
+ },
+ text: { ... }
+ },
+ danger: { ... }
+}
+```
+
+Restrict to specific modes:
+
+```ts
+const data = palette.json({
+ prefix: true,
+ modes: { dark: false, highContrast: false },
+});
+// → { primary: { surface: { light: 'okhsl(...)' } } }
+```
+
+No tasty-specific state aliases — plain scheme variants for use in any runtime.
+
+## Integration with tasty tokens
+
+Export format uses `#token` keys that plug directly into tasty:
+- `#name` → `--name-color` CSS custom property
+- Automatic `--name-color-rgb` variant
+- Token values are state maps with up to four states (controlled by `modes`):
+ - `''` — light/default
+ - `'@dark'` — dark mode
+ - `'@high-contrast'` — high-contrast light
+ - `'@dark & @high-contrast'` — high-contrast dark
+
+### State aliases
+
+State alias defaults (`'@dark'`, `'@high-contrast'`) are defined in the Configuration section.
+
+Resolution priority (highest first):
+
+1. `palette.tokens({ states })` — per-call override
+2. `glaze.configure({ states })` — global config
+3. Built-in defaults
+
+### Binding to selectors
+
+Users bind aliases to actual CSS selectors via tasty `configure`:
+
+```ts
+import { configure } from '@cube-dev/ui-kit';
+
+configure({
+ states: {
+ '@dark':
+ '@root(schema=dark) | (!@root(schema) & @media(prefers-color-scheme: dark))',
+ '@high-contrast':
+ '@media(prefers-contrast: more) | @root(contrast=high)',
+ },
+});
+```
+
+## Dependency Resolution
+
+Colors are resolved in dependency order (topological sort), not declaration order. The engine builds a dependency graph from `base` references and resolves root colors first, then dependent colors.
+
+- Circular `base` references → **validation error**.
+- Reference to a non-existent color name → **validation error**.
+
+## Validation Rules
+
+| Condition | Behavior |
+|---|---|
+| Both `l` and `base` on same color | **Warning**, `l` takes precedence |
+| `contrast` without `base` | **Validation error** |
+| `l` resolves outside 0–100 | Clamp silently to [0, 100] |
+| `sat` outside 0–1 | Clamp silently to [0, 1] |
+| Circular `base` references | **Validation error** |
+| `base` references non-existent name | **Validation error** |
+
+## Using Glaze Tokens with Alpha
+
+Glaze generates opaque colors. Interactive state variations (hover, pressed, disabled) are expressed using tasty's alpha modifier syntax on the exported tokens:
+
+```ts
+fill: {
+ '': '#primary.10', // 10% opacity of the primary token
+ hovered: '#primary.16', // 16% opacity
+ pressed: '#primary-text.10',
+ disabled: '#dark.04',
+}
+```
+
+This keeps the number of generated tokens small — one opaque color per name — while allowing unlimited alpha variations at the usage site.
+
+## Naming Conventions
+
+- Color names use `kebab-case`: `btn-fill`, `app-surface`, `muted-text`.
+- Fill/text pairs are expressed by naming convention only: `btn-fill` + `btn-text`, `app-surface` + `app-text`.
+- The engine does not know "pair" — it only resolves dependencies between named colors.
+
+## Full Example
+
+Mapping current `colors.ts` and `item-themes.ts` to glaze:
+
+```ts
+const primary = glaze(280, 80);
+
+primary.colors({
+ // App-level colors (auto mode)
+ 'surface': { l: 97, sat: 0.75 },
+ 'text': { base: 'surface', contrast: 52, minContrast: 'AAA' },
+ 'border': { base: 'surface', contrast: [7, 20], minContrast: 'AA-large' },
+ 'bg': { l: 97, sat: 0.75 },
+ 'icon': { l: 60, sat: 0.94 },
+
+ // Primary button (fixed mode — brand fill, white text)
+ 'btn-fill': { l: 52, mode: 'fixed' },
+ 'btn-text': { base: 'btn-fill', contrast: 48, minContrast: 'AA', mode: 'fixed' },
+
+ // Disabled state
+ 'disabled': { l: 81, sat: 0.40 },
+});
+
+// Status themes — same structure, different hue
+const danger = primary.extend({ hue: 23 });
+const success = primary.extend({ hue: 157 });
+const warning = primary.extend({ hue: 84 });
+const note = primary.extend({ hue: 302 });
+
+// Compose and export
+const palette = glaze.palette({ primary, danger, success, warning, note });
+const tokens = palette.tokens({ prefix: true });
+```
+
+## Related Specifications
+
+- Contrast solver: `src/tasty/utils/CONTRAST_SOLVER.spec.md`
diff --git a/src/_internal/hooks/__mocks__/use-warn.ts b/src/_internal/hooks/__mocks__/use-warn.ts
index c5841ef22..d8a74daed 100644
--- a/src/_internal/hooks/__mocks__/use-warn.ts
+++ b/src/_internal/hooks/__mocks__/use-warn.ts
@@ -1,2 +1,2 @@
// eslint-disable-next-line
-export const useWarn = jest.fn();
+export const useWarn = vi.fn();
diff --git a/src/_internal/hooks/use-timer/use-timer.test.ts b/src/_internal/hooks/use-timer/use-timer.test.ts
index 769f7acb1..0acb45dee 100644
--- a/src/_internal/hooks/use-timer/use-timer.test.ts
+++ b/src/_internal/hooks/use-timer/use-timer.test.ts
@@ -4,18 +4,18 @@ import { Timer } from './timer';
import { useTimer } from './use-timer';
describe('useTimer', () => {
- const callback = jest.fn();
+ const callback = vi.fn();
beforeAll(() => {
- jest.useFakeTimers('modern');
+ vi.useFakeTimers('modern');
});
beforeEach(() => {
- jest.resetAllMocks();
+ vi.resetAllMocks();
});
afterAll(() => {
- jest.useRealTimers();
+ vi.useRealTimers();
});
it('should trigger callback', async () => {
@@ -23,14 +23,14 @@ describe('useTimer', () => {
initialProps: { callback, delay: 100 },
});
- jest.runAllTimers();
+ vi.runAllTimers();
expect(callback).toBeCalledTimes(1);
expect(result.current.timer?.status).toBe('stopped');
});
it('should override with custom timer', async () => {
- const dummyCallback = jest.fn();
+ const dummyCallback = vi.fn();
const timer = new Timer(callback, 100);
const { result } = renderHook(useTimer, {
@@ -41,7 +41,7 @@ describe('useTimer', () => {
},
});
- jest.runAllTimers();
+ vi.runAllTimers();
expect(result.current.timer).toBe(timer);
expect(dummyCallback).not.toBeCalled();
@@ -55,7 +55,7 @@ describe('useTimer', () => {
unmount();
- jest.runAllTimers();
+ vi.runAllTimers();
expect(result.current.timer?.status).toBe('stopped');
expect(callback).toBeCalledTimes(0);
@@ -68,7 +68,7 @@ describe('useTimer', () => {
expect(result.current.timer?.status).toBe('stopped');
- jest.runAllTimers();
+ vi.runAllTimers();
expect(callback).not.toBeCalled();
expect(result.current.timer?.status).toBe('stopped');
@@ -83,7 +83,7 @@ describe('useTimer', () => {
rerender({ isDisabled: true });
- jest.runAllTimers();
+ vi.runAllTimers();
expect(callback).not.toBeCalled();
expect(result.current.timer?.status).toBe('stopped');
diff --git a/src/_internal/hooks/use-warn.test.tsx b/src/_internal/hooks/use-warn.test.tsx
index 1125e96b7..ad21fa23f 100644
--- a/src/_internal/hooks/use-warn.test.tsx
+++ b/src/_internal/hooks/use-warn.test.tsx
@@ -2,12 +2,12 @@ import { render, renderHook } from '../../test';
import { useWarn } from './use-warn';
-jest.unmock('./use-warn');
+vi.unmock('./use-warn');
describe('useWarn()', () => {
- let spy: jest.SpyInstance;
+ let spy: ReturnType;
- beforeEach(() => (spy = jest.spyOn(console, 'warn').mockImplementation()));
+ beforeEach(() => (spy = vi.spyOn(console, 'warn').mockImplementation()));
afterEach(() => spy.mockRestore());
it('should warn', () => {
diff --git a/src/components/actions/Button/button.test.tsx b/src/components/actions/Button/button.test.tsx
index d4e115bc7..efcc15b8b 100644
--- a/src/components/actions/Button/button.test.tsx
+++ b/src/components/actions/Button/button.test.tsx
@@ -47,7 +47,7 @@ describe('', () => {
['none', {}],
['icon', { icon: }],
])(`should warn if %s specified`, (_, value) => {
- const spy = jest.spyOn(console, 'warn').mockImplementation(() => {});
+ const spy = vi.spyOn(console, 'warn').mockImplementation(() => {});
render();
@@ -76,7 +76,7 @@ describe('', () => {
// prettier-ignore
['rightIcon and aria-labelledby', { rightIcon: , 'aria-labelledby': 'test' }],
])('should not warn if %s is provided', (_, value) => {
- const spy = jest.spyOn(console, 'warn').mockImplementation(() => {});
+ const spy = vi.spyOn(console, 'warn').mockImplementation(() => {});
render();
diff --git a/src/components/actions/CommandMenu/CommandMenu.test.tsx b/src/components/actions/CommandMenu/CommandMenu.test.tsx
index d0a8e8550..cd39fa800 100644
--- a/src/components/actions/CommandMenu/CommandMenu.test.tsx
+++ b/src/components/actions/CommandMenu/CommandMenu.test.tsx
@@ -2,6 +2,8 @@ import { render, screen, waitFor } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import React from 'react';
+import { MenuContext } from '../Menu/context';
+
import { CommandMenu } from './CommandMenu';
describe('CommandMenu', () => {
@@ -204,7 +206,7 @@ describe('CommandMenu', () => {
it('triggers action with Enter key', async () => {
const user = userEvent.setup();
- const onAction = jest.fn();
+ const onAction = vi.fn();
render(
@@ -228,7 +230,7 @@ describe('CommandMenu', () => {
it('supports selection mode when explicitly set', async () => {
const user = userEvent.setup();
- const onSelectionChange = jest.fn();
+ const onSelectionChange = vi.fn();
render(
{
it('handles controlled search value', async () => {
const user = userEvent.setup();
- const onSearchChange = jest.fn();
+ const onSearchChange = vi.fn();
render(
@@ -695,7 +697,7 @@ describe('CommandMenu', () => {
});
it('renders hotkey elements correctly', async () => {
- const onAction = jest.fn();
+ const onAction = vi.fn();
const { container } = render(
@@ -724,7 +726,7 @@ describe('CommandMenu', () => {
it('hotkeys work when menu item is clicked directly', async () => {
const user = userEvent.setup();
- const onAction = jest.fn();
+ const onAction = vi.fn();
render(
@@ -746,7 +748,7 @@ describe('CommandMenu', () => {
it('hotkeys trigger actions through direct mechanism', async () => {
const user = userEvent.setup();
- const onAction = jest.fn();
+ const onAction = vi.fn();
render(
@@ -782,7 +784,7 @@ describe('CommandMenu', () => {
it('handles multiple selection with string[] selectedKeys', async () => {
const user = userEvent.setup();
- const onSelectionChange = jest.fn();
+ const onSelectionChange = vi.fn();
// Create a component that properly handles string[] selectedKeys
const TestComponent = () => {
@@ -847,8 +849,6 @@ describe('CommandMenu', () => {
describe('CommandMenu mods', () => {
it('should apply popover mod when used with MenuTrigger', () => {
- const { MenuContext } = require('../Menu/context');
-
render(
@@ -863,8 +863,6 @@ describe('CommandMenu', () => {
});
it('should apply tray mod when used with MenuTrigger', () => {
- const { MenuContext } = require('../Menu/context');
-
render(
diff --git a/src/components/actions/Link/Link.tsx b/src/components/actions/Link/Link.tsx
index 15de6680f..8fa4e9669 100644
--- a/src/components/actions/Link/Link.tsx
+++ b/src/components/actions/Link/Link.tsx
@@ -1,7 +1,7 @@
import { FocusableRef } from '@react-types/shared';
import { forwardRef } from 'react';
-import { Button, CubeButtonProps } from '../../actions';
+import { Button, CubeButtonProps } from '../Button/Button';
export const Link = forwardRef(function Link(
props: CubeButtonProps,
diff --git a/src/components/actions/Menu/Menu.test.tsx b/src/components/actions/Menu/Menu.test.tsx
index 263da6127..420670896 100644
--- a/src/components/actions/Menu/Menu.test.tsx
+++ b/src/components/actions/Menu/Menu.test.tsx
@@ -20,10 +20,11 @@ import { CommandMenu } from '../CommandMenu';
import { useAnchoredMenu } from '../use-anchored-menu';
import { useContextMenu } from '../use-context-menu';
+import { MenuContext } from './context';
import { Menu } from './Menu';
import { MenuTrigger } from './MenuTrigger';
-jest.mock('../../../_internal/hooks/use-warn');
+vi.mock('../../../_internal/hooks/use-warn');
// Wrapper for hooks that need EventBusProvider
const HookWrapper = ({ children }: { children: React.ReactNode }) => (
@@ -53,7 +54,7 @@ describe('', () => {
});
it('should call onAction when menu item is clicked', async () => {
- const onAction = jest.fn();
+ const onAction = vi.fn();
const { getByText } = render(