diff --git a/.changeset/brown-icons-shine.md b/.changeset/brown-icons-shine.md new file mode 100644 index 00000000000..a845151cc84 --- /dev/null +++ b/.changeset/brown-icons-shine.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/.gitignore b/.gitignore index 473948c0d6d..d6d4562bddf 100644 --- a/.gitignore +++ b/.gitignore @@ -91,6 +91,7 @@ sessions.pem # Workflow Outputs /packages/*/*.tgz /packages/*/tsconfig*.vitest-temp.json +/packages/*/tsup.config.bundled_* # Scripts scripts/.env diff --git a/package.json b/package.json index fd92b68fdd5..1320877a2a8 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "@types/react": "catalog:react", "@types/react-dom": "catalog:react", "@vitejs/plugin-react": "^4.5.2", - "@vitest/coverage-v8": "3.0.5", + "@vitest/coverage-v8": "3.2.4", "chalk": "4.1.2", "citty": "^0.1.6", "conventional-changelog-conventionalcommits": "^4.6.3", @@ -148,7 +148,7 @@ "typescript-eslint": "8.38.0", "uuid": "8.3.2", "verdaccio": "6.1.6", - "vitest": "3.0.5", + "vitest": "3.2.4", "yalc": "1.0.0-pre.53", "zx": "catalog:repo" }, diff --git a/packages/chrome-extension/jest.config.js b/packages/chrome-extension/jest.config.js deleted file mode 100644 index e5fa2479668..00000000000 --- a/packages/chrome-extension/jest.config.js +++ /dev/null @@ -1,24 +0,0 @@ -const { name, version } = require('./package.json'); - -module.exports = { - displayName: name.replace('@clerk', ''), - injectGlobals: true, - - roots: ['/src'], - testEnvironment: 'jsdom', - setupFilesAfterEnv: ['../../jest.setup-after-env.ts', '/jest.setup.ts'], - - moduleDirectories: ['node_modules', '/src'], - transform: { - '^.+\\.m?tsx?$': ['ts-jest', { tsconfig: 'tsconfig.test.json', diagnostics: false }], - }, - clearMocks: true, - testRegex: ['/src/.*.test.[jt]sx?$'], - testPathIgnorePatterns: ['/node_modules/'], - - globals: { - __DEV__: true, - PACKAGE_NAME: name, - PACKAGE_VERSION: version, - }, -}; diff --git a/packages/chrome-extension/package.json b/packages/chrome-extension/package.json index d68c0bb83d0..bea540ed207 100644 --- a/packages/chrome-extension/package.json +++ b/packages/chrome-extension/package.json @@ -44,10 +44,9 @@ "lint:attw": "attw --pack . --profile node16", "lint:publint": "publint", "publish:local": "pnpm yalc push --replace --sig", - "test": "jest", - "test:cache:clear": "jest --clearCache --useStderr", - "test:ci": "jest --maxWorkers=70%", - "test:coverage": "jest --collectCoverage && open coverage/lcov-report/index.html" + "test": "vitest run", + "test:ci": "vitest run --maxWorkers=70%", + "test:watch": "vitest" }, "dependencies": { "@clerk/clerk-js": "workspace:^", diff --git a/packages/chrome-extension/src/__tests__/__snapshots__/exports.test.ts.snap b/packages/chrome-extension/src/__tests__/__snapshots__/exports.test.ts.snap index 43dd3fc5f45..120fb6d4a1c 100644 --- a/packages/chrome-extension/src/__tests__/__snapshots__/exports.test.ts.snap +++ b/packages/chrome-extension/src/__tests__/__snapshots__/exports.test.ts.snap @@ -1,6 +1,6 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`public exports should not include a breaking change 1`] = ` +exports[`public exports > should not include a breaking change 1`] = ` [ "APIKeys", "AuthenticateWithRedirectCallback", diff --git a/packages/chrome-extension/src/__tests__/exports.test.ts b/packages/chrome-extension/src/__tests__/exports.test.ts index 4ab35308845..7646228aaad 100644 --- a/packages/chrome-extension/src/__tests__/exports.test.ts +++ b/packages/chrome-extension/src/__tests__/exports.test.ts @@ -1,3 +1,5 @@ +import { describe, expect, it } from 'vitest'; + import * as publicExports from '../index'; describe('public exports', () => { diff --git a/packages/chrome-extension/src/internal/utils/__tests__/cookies.test.ts b/packages/chrome-extension/src/internal/utils/__tests__/cookies.test.ts index a5443a40c94..54f2b219f9c 100644 --- a/packages/chrome-extension/src/internal/utils/__tests__/cookies.test.ts +++ b/packages/chrome-extension/src/internal/utils/__tests__/cookies.test.ts @@ -1,3 +1,4 @@ +import { afterAll, afterEach, describe, expect, test, vi } from 'vitest'; import browser from 'webextension-polyfill'; import { getClientCookie } from '../cookies'; @@ -24,7 +25,8 @@ describe('Cookies', () => { const name = '__client'; const cookie = createCookie({ name, value: 'foo', domain }); - const getMock = jest.mocked(browser.cookies.get); + // eslint-disable-next-line jest/unbound-method -- The Jest ESLint plugin doesn't support Vitest + const getMock = vi.mocked(browser.cookies.get); afterEach(() => getMock.mockReset()); afterAll(() => getMock.mockRestore()); diff --git a/packages/chrome-extension/src/internal/utils/__tests__/manifest.test.ts b/packages/chrome-extension/src/internal/utils/__tests__/manifest.test.ts index 4e8ba7ccc5b..789b8c6c36c 100644 --- a/packages/chrome-extension/src/internal/utils/__tests__/manifest.test.ts +++ b/packages/chrome-extension/src/internal/utils/__tests__/manifest.test.ts @@ -1,3 +1,4 @@ +import { describe, expect, test } from 'vitest'; import type { Manifest } from 'webextension-polyfill'; import { missingManifestKeyError } from '../errors'; diff --git a/packages/chrome-extension/src/internal/utils/__tests__/storage.test.ts b/packages/chrome-extension/src/internal/utils/__tests__/storage.test.ts index a9e2fdb7bdb..aa99fcdf20b 100644 --- a/packages/chrome-extension/src/internal/utils/__tests__/storage.test.ts +++ b/packages/chrome-extension/src/internal/utils/__tests__/storage.test.ts @@ -1,3 +1,4 @@ +import { afterEach, describe, expect, test, vi } from 'vitest'; import browser from 'webextension-polyfill'; import { BrowserStorageCache, MemoryStorageCache } from '../storage'; @@ -21,7 +22,8 @@ describe('StorageCache', () => { describe('set', () => { test('setting the storage cache', async () => { - const setMock = jest.mocked(browser.storage.local.set).mockResolvedValueOnce(_void); + // eslint-disable-next-line jest/unbound-method -- The Jest ESLint plugin doesn't support Vitest + const setMock = vi.mocked(browser.storage.local.set).mockResolvedValueOnce(_void); expect(await BrowserStorageCache.set(KEY, VALUE)).toBe(_void); expect(setMock).toHaveBeenCalledTimes(1); @@ -31,7 +33,8 @@ describe('StorageCache', () => { describe('remove', () => { test('removing from the storage cache', async () => { - const removeMock = jest.mocked(browser.storage.local.remove).mockResolvedValueOnce(_void); + // eslint-disable-next-line jest/unbound-method -- The Jest ESLint plugin doesn't support Vitest + const removeMock = vi.mocked(browser.storage.local.remove).mockResolvedValueOnce(_void); expect(await BrowserStorageCache.remove(KEY)).toBe(_void); expect(removeMock).toHaveBeenCalledTimes(1); @@ -40,8 +43,13 @@ describe('StorageCache', () => { }); describe('get', () => { + afterEach(() => { + vi.restoreAllMocks(); + }); + test('value missing', async () => { - const getMock = jest.mocked(browser.storage.local.get).mockResolvedValue({}); + // eslint-disable-next-line jest/unbound-method -- The Jest ESLint plugin doesn't support Vitest + const getMock = vi.mocked(browser.storage.local.get).mockResolvedValue({}); expect(await BrowserStorageCache.get(KEY)).toBeUndefined(); expect(getMock).toHaveBeenCalledTimes(1); @@ -49,7 +57,8 @@ describe('StorageCache', () => { }); test('value exists', async () => { - const getMock = jest.mocked(browser.storage.local.get).mockResolvedValue({ [KEY]: VALUE }); + // eslint-disable-next-line jest/unbound-method -- The Jest ESLint plugin doesn't support Vitest + const getMock = vi.mocked(browser.storage.local.get).mockResolvedValue({ [KEY]: VALUE }); expect(await BrowserStorageCache.get(KEY)).toBe(VALUE); expect(getMock).toHaveBeenCalledTimes(1); diff --git a/packages/chrome-extension/vitest.config.mts b/packages/chrome-extension/vitest.config.mts new file mode 100644 index 00000000000..1eefe3a9411 --- /dev/null +++ b/packages/chrome-extension/vitest.config.mts @@ -0,0 +1,25 @@ +import { defineConfig } from 'vitest/config'; +import { readFileSync } from 'node:fs'; + +const { name, version } = JSON.parse(readFileSync('./package.json', 'utf8')); + +export default defineConfig({ + plugins: [], + define: { + PACKAGE_NAME: JSON.stringify(name), + PACKAGE_VERSION: JSON.stringify(version), + }, + test: { + typecheck: { + enabled: true, + tsconfig: './tsconfig.test.json', + include: ['**/*.test.{ts,tsx}'], + }, + env: { + CLERK_SECRET_KEY: 'TEST_SECRET_KEY', + }, + environment: 'jsdom', + includeSource: ['**/*.{js,ts,jsx,tsx}'], + setupFiles: './vitest.setup.mts', + }, +}); diff --git a/packages/chrome-extension/jest.setup.ts b/packages/chrome-extension/vitest.setup.mts similarity index 62% rename from packages/chrome-extension/jest.setup.ts rename to packages/chrome-extension/vitest.setup.mts index b5df3d97614..d28f467b3df 100644 --- a/packages/chrome-extension/jest.setup.ts +++ b/packages/chrome-extension/vitest.setup.mts @@ -1,3 +1,7 @@ +import { vi } from 'vitest'; +// `jest-chrome` directly references the `jest` global +(globalThis as any).jest = vi; + import { chrome } from 'jest-chrome'; // @ts-expect-error - required for the browser polyfill diff --git a/packages/nextjs/src/server/clerkMiddleware.ts b/packages/nextjs/src/server/clerkMiddleware.ts index e9f9754d9de..3bdf51da911 100644 --- a/packages/nextjs/src/server/clerkMiddleware.ts +++ b/packages/nextjs/src/server/clerkMiddleware.ts @@ -190,7 +190,6 @@ export const clerkMiddleware = ((...args: unknown[]): NextMiddleware | NextMiddl logger.debug('requestState', () => ({ status: requestState.status, - // @ts-expect-error : FIXME headers: JSON.stringify(Object.fromEntries(requestState.headers)), reason: requestState.reason, })); diff --git a/packages/nextjs/tsconfig.json b/packages/nextjs/tsconfig.json index 3e6c40dc969..b7bd4fcadbf 100644 --- a/packages/nextjs/tsconfig.json +++ b/packages/nextjs/tsconfig.json @@ -6,7 +6,7 @@ "importHelpers": true, "isolatedModules": true, "jsx": "react", - "lib": ["es6", "dom"], + "lib": ["es6", "dom", "dom.iterable"], "module": "NodeNext", "moduleResolution": "NodeNext", "noImplicitReturns": true, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 559fa57eaf2..6ccd3755f54 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -105,7 +105,7 @@ importers: version: 10.1.0 '@testing-library/jest-dom': specifier: ^6.4.6 - version: 6.4.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@22.18.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.6)(typescript@5.8.3)))(vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1)) + version: 6.4.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@22.18.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.6)(typescript@5.8.3)))(vitest@3.2.4(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1)) '@testing-library/react': specifier: ^16.0.0 version: 16.0.0(@testing-library/dom@10.1.0)(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -131,8 +131,8 @@ importers: specifier: ^4.5.2 version: 4.5.2(vite@7.1.5(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1)) '@vitest/coverage-v8': - specifier: 3.0.5 - version: 3.0.5(vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1)) + specifier: 3.2.4 + version: 3.2.4(vitest@3.2.4(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1)) chalk: specifier: 4.1.2 version: 4.1.2 @@ -305,8 +305,8 @@ importers: specifier: 6.1.6 version: 6.1.6(typanion@3.14.0) vitest: - specifier: 3.0.5 - version: 3.0.5(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) + specifier: 3.2.4 + version: 3.2.4(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) yalc: specifier: 1.0.0-pre.53 version: 1.0.0-pre.53(patch_hash=2737a4bf8dd6ebdc410626225fe706ae0bb73b142e398279afff04d1b02dfc1f) @@ -399,7 +399,7 @@ importers: version: 9.0.2 vitest-environment-miniflare: specifier: 2.14.4 - version: 2.14.4(vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@24.3.1)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@24.3.1)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1)) + version: 2.14.4(vitest@3.2.4(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@24.3.1)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@24.3.1)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1)) packages/chrome-extension: dependencies: @@ -5129,6 +5129,9 @@ packages: '@types/bonjour@3.5.13': resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + '@types/chai@5.2.2': + resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} + '@types/chrome@0.0.114': resolution: {integrity: sha512-i7qRr74IrxHtbnrZSKUuP5Uvd5EOKwlwJq/yp7+yTPihOXnPhNQO4Z5bqb1XTnrjdbUKEJicaVVbhcgtRijmLA==} @@ -5162,6 +5165,9 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + '@types/diff-match-patch@1.0.36': resolution: {integrity: sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==} @@ -5649,43 +5655,43 @@ packages: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 vue: ^3.2.25 - '@vitest/coverage-v8@3.0.5': - resolution: {integrity: sha512-zOOWIsj5fHh3jjGwQg+P+J1FW3s4jBu1Zqga0qW60yutsBtqEqNEJKWYh7cYn1yGD+1bdPsPdC/eL4eVK56xMg==} + '@vitest/coverage-v8@3.2.4': + resolution: {integrity: sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==} peerDependencies: - '@vitest/browser': 3.0.5 - vitest: 3.0.5 + '@vitest/browser': 3.2.4 + vitest: 3.2.4 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@3.0.5': - resolution: {integrity: sha512-nNIOqupgZ4v5jWuQx2DSlHLEs7Q4Oh/7AYwNyE+k0UQzG7tSmjPXShUikn1mpNGzYEN2jJbTvLejwShMitovBA==} + '@vitest/expect@3.2.4': + resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} - '@vitest/mocker@3.0.5': - resolution: {integrity: sha512-CLPNBFBIE7x6aEGbIjaQAX03ZZlBMaWwAjBdMkIf/cAn6xzLTiM3zYqO/WAbieEjsAZir6tO71mzeHZoodThvw==} + '@vitest/mocker@3.2.4': + resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@3.0.5': - resolution: {integrity: sha512-CjUtdmpOcm4RVtB+up8r2vVDLR16Mgm/bYdkGFe3Yj/scRfCpbSi2W/BDSDcFK7ohw8UXvjMbOp9H4fByd/cOA==} + '@vitest/pretty-format@3.2.4': + resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} - '@vitest/runner@3.0.5': - resolution: {integrity: sha512-BAiZFityFexZQi2yN4OX3OkJC6scwRo8EhRB0Z5HIGGgd2q+Nq29LgHU/+ovCtd0fOfXj5ZI6pwdlUmC5bpi8A==} + '@vitest/runner@3.2.4': + resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} - '@vitest/snapshot@3.0.5': - resolution: {integrity: sha512-GJPZYcd7v8QNUJ7vRvLDmRwl+a1fGg4T/54lZXe+UOGy47F9yUfE18hRCtXL5aHN/AONu29NGzIXSVFh9K0feA==} + '@vitest/snapshot@3.2.4': + resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} - '@vitest/spy@3.0.5': - resolution: {integrity: sha512-5fOzHj0WbUNqPK6blI/8VzZdkBlQLnT25knX0r4dbZI9qoZDf3qAdjoMmDcLG5A83W6oUUFJgUd0EYBc2P5xqg==} + '@vitest/spy@3.2.4': + resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} - '@vitest/utils@3.0.5': - resolution: {integrity: sha512-N9AX0NUoUtVwKwy21JtwzaqR5L5R5A99GAbrHfCCXK1lp593i/3AZAXhSP43wRQuxYsflrdzEfXZFo1reR1Nkg==} + '@vitest/utils@3.2.4': + resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} '@volar/language-core@2.1.6': resolution: {integrity: sha512-pAlMCGX/HatBSiDFMdMyqUshkbwWbLxpN/RL7HCQDOo2gYBE+uS+nanosLc1qR6pTQ/U8q00xt8bdrrAFPSC0A==} @@ -6261,6 +6267,9 @@ packages: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} + ast-v8-to-istanbul@0.3.5: + resolution: {integrity: sha512-9SdXjNheSiE8bALAQCQQuT6fgQaoxJh7IRYrRGZ8/9nv8WhJeC1aXAwN8TbaOssGOukUvyvnkgD9+Yuykvl1aA==} + ast-walker-scope@0.8.1: resolution: {integrity: sha512-72XOdbzQCMKERvFrxAykatn2pu7osPNq/sNUzwcHdWzwPvOsNpPqkawfDXVvQbA2RT+ivtsMNjYdojTUZitt1A==} engines: {node: '>=20.18.0'} @@ -6698,9 +6707,9 @@ packages: engines: {node: '>=10'} hasBin: true - chai@5.1.2: - resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} - engines: {node: '>=12'} + chai@5.3.3: + resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} + engines: {node: '>=18'} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -8253,8 +8262,8 @@ packages: resolution: {integrity: sha512-uHaC9LYNv6BcW+8SvXcwUUDCrrUxt3GSa61DFvTHj8JC+M0hekMFBwMlCarLQDk5bbpZ2vStpnQPIwRuV98YMw==} engines: {node: '>=12.0.0'} - expect-type@1.1.0: - resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + expect-type@1.2.2: + resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} engines: {node: '>=12.0.0'} expect@29.7.0: @@ -10395,8 +10404,8 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - loupe@3.1.2: - resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + loupe@3.2.1: + resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} lowdb@1.0.0: resolution: {integrity: sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==} @@ -13541,16 +13550,16 @@ packages: tinygradient@1.1.5: resolution: {integrity: sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==} - tinypool@1.0.2: - resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@2.0.0: resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} - tinyspy@3.0.2: - resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} + tinyspy@4.0.3: + resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} engines: {node: '>=14.0.0'} tldts-core@6.1.86: @@ -14318,11 +14327,6 @@ packages: peerDependencies: vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 - vite-node@3.0.5: - resolution: {integrity: sha512-02JEJl7SbtwSDJdYS537nU6l+ktdvcREfLksk/NDAqtdKWGqHl+joXzEubHROmS3E6pip+Xgu2tFezMu75jH7A==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - vite-node@3.2.4: resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -14473,16 +14477,16 @@ packages: peerDependencies: vitest: '>=0.23.0' - vitest@3.0.5: - resolution: {integrity: sha512-4dof+HvqONw9bvsYxtkfUp2uHsTN9bV2CZIi1pWgoFpL1Lld8LA1ka9q/ONSsoScAKG7NVGf2stJTI7XRkXb2Q==} + vitest@3.2.4: + resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.0.5 - '@vitest/ui': 3.0.5 + '@vitest/browser': 3.2.4 + '@vitest/ui': 3.2.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -19969,7 +19973,7 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.4.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@22.18.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.6)(typescript@5.8.3)))(vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1))': + '@testing-library/jest-dom@6.4.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@22.18.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.6)(typescript@5.8.3)))(vitest@3.2.4(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1))': dependencies: '@adobe/css-tools': 4.4.0 '@babel/runtime': 7.27.6 @@ -19983,7 +19987,7 @@ snapshots: '@jest/globals': 29.7.0 '@types/jest': 29.5.12 jest: 29.7.0(@types/node@22.18.6)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.18.6)(typescript@5.8.3)) - vitest: 3.0.5(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) + vitest: 3.2.4(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) '@testing-library/react@16.0.0(@testing-library/dom@10.1.0)(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -20069,6 +20073,10 @@ snapshots: dependencies: '@types/node': 22.18.6 + '@types/chai@5.2.2': + dependencies: + '@types/deep-eql': 4.0.2 + '@types/chrome@0.0.114': dependencies: '@types/filesystem': 0.0.32 @@ -20110,6 +20118,8 @@ snapshots: dependencies: '@types/ms': 2.1.0 + '@types/deep-eql@4.0.2': {} + '@types/diff-match-patch@1.0.36': {} '@types/estree@1.0.5': {} @@ -20713,10 +20723,11 @@ snapshots: vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) vue: 3.5.21(typescript@5.8.3) - '@vitest/coverage-v8@3.0.5(vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1))': + '@vitest/coverage-v8@3.2.4(vitest@3.2.4(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 + ast-v8-to-istanbul: 0.3.5 debug: 4.4.1(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 @@ -20727,58 +20738,60 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.0.5(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) + vitest: 3.2.4(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) transitivePeerDependencies: - supports-color - '@vitest/expect@3.0.5': + '@vitest/expect@3.2.4': dependencies: - '@vitest/spy': 3.0.5 - '@vitest/utils': 3.0.5 - chai: 5.1.2 + '@types/chai': 5.2.2 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 + chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.5(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(vite@6.3.6(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1))': + '@vitest/mocker@3.2.4(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(vite@7.1.5(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1))': dependencies: - '@vitest/spy': 3.0.5 + '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.19 optionalDependencies: msw: 2.11.3(@types/node@22.18.6)(typescript@5.8.3) - vite: 6.3.6(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) + vite: 7.1.5(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) - '@vitest/mocker@3.0.5(msw@2.11.3(@types/node@24.3.1)(typescript@5.8.3))(vite@6.3.6(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1))': + '@vitest/mocker@3.2.4(msw@2.11.3(@types/node@24.3.1)(typescript@5.8.3))(vite@7.1.5(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1))': dependencies: - '@vitest/spy': 3.0.5 + '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.19 optionalDependencies: msw: 2.11.3(@types/node@24.3.1)(typescript@5.8.3) - vite: 6.3.6(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) + vite: 7.1.5(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) - '@vitest/pretty-format@3.0.5': + '@vitest/pretty-format@3.2.4': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.0.5': + '@vitest/runner@3.2.4': dependencies: - '@vitest/utils': 3.0.5 + '@vitest/utils': 3.2.4 pathe: 2.0.3 + strip-literal: 3.0.0 - '@vitest/snapshot@3.0.5': + '@vitest/snapshot@3.2.4': dependencies: - '@vitest/pretty-format': 3.0.5 + '@vitest/pretty-format': 3.2.4 magic-string: 0.30.19 pathe: 2.0.3 - '@vitest/spy@3.0.5': + '@vitest/spy@3.2.4': dependencies: - tinyspy: 3.0.2 + tinyspy: 4.0.3 - '@vitest/utils@3.0.5': + '@vitest/utils@3.2.4': dependencies: - '@vitest/pretty-format': 3.0.5 - loupe: 3.1.2 + '@vitest/pretty-format': 3.2.4 + loupe: 3.2.1 tinyrainbow: 2.0.0 '@volar/language-core@2.1.6': @@ -21482,6 +21495,12 @@ snapshots: dependencies: tslib: 2.8.1 + ast-v8-to-istanbul@0.3.5: + dependencies: + '@jridgewell/trace-mapping': 0.3.30 + estree-walker: 3.0.3 + js-tokens: 9.0.1 + ast-walker-scope@0.8.1: dependencies: '@babel/parser': 7.28.4 @@ -22114,12 +22133,12 @@ snapshots: supports-color: 8.1.1 window-size: 1.1.1 - chai@5.1.2: + chai@5.3.3: dependencies: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.2 + loupe: 3.2.1 pathval: 2.0.0 chalk@2.4.2: @@ -23925,7 +23944,7 @@ snapshots: expect-type@0.20.0: {} - expect-type@1.1.0: {} + expect-type@1.2.2: {} expect@29.7.0: dependencies: @@ -26586,7 +26605,7 @@ snapshots: dependencies: js-tokens: 4.0.0 - loupe@3.1.2: {} + loupe@3.2.1: {} lowdb@1.0.0: dependencies: @@ -30511,11 +30530,11 @@ snapshots: '@types/tinycolor2': 1.4.6 tinycolor2: 1.6.0 - tinypool@1.0.2: {} + tinypool@1.1.1: {} tinyrainbow@2.0.0: {} - tinyspy@3.0.2: {} + tinyspy@4.0.3: {} tldts-core@6.1.86: {} @@ -31347,34 +31366,13 @@ snapshots: dependencies: vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) - vite-node@3.0.5(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1): - dependencies: - cac: 6.7.14 - debug: 4.4.1(supports-color@8.1.1) - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 6.3.6(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - - vite-node@3.0.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1): + vite-node@3.2.4(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.3.6(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) + vite: 7.1.5(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - jiti @@ -31455,23 +31453,6 @@ snapshots: vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) vue: 3.5.21(typescript@5.8.3) - vite@6.3.6(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1): - dependencies: - esbuild: 0.25.0 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.6 - rollup: 4.50.1 - tinyglobby: 0.2.15 - optionalDependencies: - '@types/node': 22.18.6 - fsevents: 2.3.3 - jiti: 2.5.1 - lightningcss: 1.27.0 - terser: 5.44.0 - tsx: 4.19.2 - yaml: 2.8.1 - vite@6.3.6(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1): dependencies: esbuild: 0.25.0 @@ -31531,39 +31512,42 @@ snapshots: optionalDependencies: vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) - vitest-environment-miniflare@2.14.4(vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@24.3.1)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@24.3.1)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1)): + vitest-environment-miniflare@2.14.4(vitest@3.2.4(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@24.3.1)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@24.3.1)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1)): dependencies: '@miniflare/queues': 2.14.4 '@miniflare/runner-vm': 2.14.4 '@miniflare/shared': 2.14.4 '@miniflare/shared-test-environment': 2.14.4 undici: 5.28.4 - vitest: 3.0.5(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@24.3.1)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@24.3.1)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) + vitest: 3.2.4(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@24.3.1)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@24.3.1)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) transitivePeerDependencies: - bufferutil - utf-8-validate - vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1): - dependencies: - '@vitest/expect': 3.0.5 - '@vitest/mocker': 3.0.5(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(vite@6.3.6(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1)) - '@vitest/pretty-format': 3.0.5 - '@vitest/runner': 3.0.5 - '@vitest/snapshot': 3.0.5 - '@vitest/spy': 3.0.5 - '@vitest/utils': 3.0.5 - chai: 5.1.2 + vitest@3.2.4(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@22.18.6)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1): + dependencies: + '@types/chai': 5.2.2 + '@vitest/expect': 3.2.4 + '@vitest/mocker': 3.2.4(msw@2.11.3(@types/node@22.18.6)(typescript@5.8.3))(vite@7.1.5(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1)) + '@vitest/pretty-format': 3.2.4 + '@vitest/runner': 3.2.4 + '@vitest/snapshot': 3.2.4 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 + chai: 5.3.3 debug: 4.4.1(supports-color@8.1.1) - expect-type: 1.1.0 + expect-type: 1.2.2 magic-string: 0.30.19 pathe: 2.0.3 + picomatch: 4.0.3 std-env: 3.9.0 tinybench: 2.9.0 tinyexec: 0.3.2 - tinypool: 1.0.2 + tinyglobby: 0.2.15 + tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.3.6(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) - vite-node: 3.0.5(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) + vite: 7.1.5(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) + vite-node: 3.2.4(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@edge-runtime/vm': 5.0.0 @@ -31584,27 +31568,30 @@ snapshots: - tsx - yaml - vitest@3.0.5(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@24.3.1)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@24.3.1)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1): - dependencies: - '@vitest/expect': 3.0.5 - '@vitest/mocker': 3.0.5(msw@2.11.3(@types/node@24.3.1)(typescript@5.8.3))(vite@6.3.6(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1)) - '@vitest/pretty-format': 3.0.5 - '@vitest/runner': 3.0.5 - '@vitest/snapshot': 3.0.5 - '@vitest/spy': 3.0.5 - '@vitest/utils': 3.0.5 - chai: 5.1.2 + vitest@3.2.4(@edge-runtime/vm@5.0.0)(@types/debug@4.1.12)(@types/node@24.3.1)(jiti@2.5.1)(jsdom@24.1.3)(lightningcss@1.27.0)(msw@2.11.3(@types/node@24.3.1)(typescript@5.8.3))(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1): + dependencies: + '@types/chai': 5.2.2 + '@vitest/expect': 3.2.4 + '@vitest/mocker': 3.2.4(msw@2.11.3(@types/node@24.3.1)(typescript@5.8.3))(vite@7.1.5(@types/node@22.18.6)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1)) + '@vitest/pretty-format': 3.2.4 + '@vitest/runner': 3.2.4 + '@vitest/snapshot': 3.2.4 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 + chai: 5.3.3 debug: 4.4.1(supports-color@8.1.1) - expect-type: 1.1.0 + expect-type: 1.2.2 magic-string: 0.30.19 pathe: 2.0.3 + picomatch: 4.0.3 std-env: 3.9.0 tinybench: 2.9.0 tinyexec: 0.3.2 - tinypool: 1.0.2 + tinyglobby: 0.2.15 + tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.3.6(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) - vite-node: 3.0.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) + vite: 7.1.5(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) + vite-node: 3.2.4(@types/node@24.3.1)(jiti@2.5.1)(lightningcss@1.27.0)(terser@5.44.0)(tsx@4.19.2)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@edge-runtime/vm': 5.0.0