diff --git a/packages/api/package.json b/packages/api/package.json index e62da86bf9..3c96f0165e 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -32,6 +32,6 @@ "devDependencies": { "tsc-alias": "^1.8.16", "typescript": "^5.9.3", - "vitest": "^3.2.4" + "vitest": "^4.0.6" } } diff --git a/packages/api/vitest.config.ts b/packages/api/vitest.config.ts index d63b98f09c..c34c49babe 100644 --- a/packages/api/vitest.config.ts +++ b/packages/api/vitest.config.ts @@ -5,11 +5,6 @@ export default { // print only console.error return type === 'stderr'; }, - poolOptions: { - threads: { - maxThreads: 2, - minThreads: 1, - }, - }, + maxWorkers: 2, }, }; diff --git a/packages/ci-actions/package.json b/packages/ci-actions/package.json index c8fa9f104a..6decac485f 100644 --- a/packages/ci-actions/package.json +++ b/packages/ci-actions/package.json @@ -3,7 +3,7 @@ "private": true, "type": "module", "devDependencies": { - "vitest": "^3.2.4" + "vitest": "^4.0.6" }, "scripts": { "test": "vitest --run" diff --git a/packages/ci-actions/vitest.config.mts b/packages/ci-actions/vitest.config.mts index be77c2468c..d0950e6f12 100644 --- a/packages/ci-actions/vitest.config.mts +++ b/packages/ci-actions/vitest.config.mts @@ -5,10 +5,7 @@ export default defineConfig({ globals: true, include: ['src/**/*.test.(js|jsx|ts|tsx)'], environment: 'node', - poolOptions: { - threads: { - singleThread: true, - }, - }, + maxWorkers: 1, + isolate: false, }, }); diff --git a/packages/component-library/package.json b/packages/component-library/package.json index 0773510c22..1cf87bfa81 100644 --- a/packages/component-library/package.json +++ b/packages/component-library/package.json @@ -16,7 +16,7 @@ "@types/react": "^19.2.2", "react": "19.2.0", "react-dom": "19.2.0", - "vitest": "^3.2.4" + "vitest": "^4.0.6" }, "exports": { "./hooks/*": "./src/hooks/*.ts", diff --git a/packages/component-library/vitest.web.config.ts b/packages/component-library/vitest.web.config.ts index e89bdeb59d..e985019ddf 100644 --- a/packages/component-library/vitest.web.config.ts +++ b/packages/component-library/vitest.web.config.ts @@ -21,12 +21,7 @@ export default defineConfig({ environment: 'jsdom', globals: true, include: ['src/**/*.web.test.(js|jsx|ts|tsx)'], - poolOptions: { - threads: { - maxThreads: 2, - minThreads: 1, - }, - }, + maxWorkers: 2, }, resolve: { alias: [ diff --git a/packages/crdt/package.json b/packages/crdt/package.json index 3e14603a71..ce2324cbf2 100644 --- a/packages/crdt/package.json +++ b/packages/crdt/package.json @@ -24,6 +24,6 @@ "protoc-gen-js": "^3.21.4-4", "ts-protoc-gen": "^0.15.0", "typescript": "^5.9.3", - "vitest": "^3.2.4" + "vitest": "^4.0.6" } } diff --git a/packages/desktop-client/package.json b/packages/desktop-client/package.json index 7e3b56fcde..be6d0130df 100644 --- a/packages/desktop-client/package.json +++ b/packages/desktop-client/package.json @@ -82,7 +82,7 @@ "vite": "^7.1.11", "vite-plugin-pwa": "^1.1.0", "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.2.4", + "vitest": "^4.0.6", "xml2js": "^0.6.2" }, "scripts": { diff --git a/packages/desktop-client/vite.config.mts b/packages/desktop-client/vite.config.mts index 57916cb511..a49249acb9 100644 --- a/packages/desktop-client/vite.config.mts +++ b/packages/desktop-client/vite.config.mts @@ -220,12 +220,7 @@ export default defineConfig(async ({ mode }) => { // print only console.error return type === 'stderr'; }, - poolOptions: { - threads: { - maxThreads: 2, - minThreads: 1, - }, - }, + maxWorkers: 2, }, }; }); diff --git a/packages/eslint-plugin-actual/package.json b/packages/eslint-plugin-actual/package.json index 0552caeaba..8053105529 100644 --- a/packages/eslint-plugin-actual/package.json +++ b/packages/eslint-plugin-actual/package.json @@ -14,8 +14,11 @@ "eslint": "^9.37.0", "eslint-plugin-eslint-plugin": "^7.0.0", "eslint-plugin-node": "^11.1.0", - "eslint-vitest-rule-tester": "^2.3.0", - "vitest": "^3.2.4" + "eslint-vitest-rule-tester": "^3.0.0", + "loupe": "^3.2.1", + "strip-literal": "^3.1.0", + "tinyspy": "^4.0.4", + "vitest": "^4.0.6" }, "peerDependencies": { "eslint": ">=7" diff --git a/packages/loot-core/package.json b/packages/loot-core/package.json index 074b50d514..5e40968f4d 100644 --- a/packages/loot-core/package.json +++ b/packages/loot-core/package.json @@ -69,7 +69,7 @@ "vite": "^7.1.11", "vite-plugin-node-polyfills": "^0.24.0", "vite-plugin-peggy-loader": "^2.0.1", - "vitest": "^3.2.4", + "vitest": "^4.0.6", "yargs": "^18.0.0" }, "exports": { diff --git a/packages/loot-core/vitest.config.ts b/packages/loot-core/vitest.config.ts index 40916290a6..4ac95de5d9 100644 --- a/packages/loot-core/vitest.config.ts +++ b/packages/loot-core/vitest.config.ts @@ -24,12 +24,7 @@ export default defineConfig({ // print only console.error return type === 'stderr'; }, - poolOptions: { - threads: { - maxThreads: 2, - minThreads: 1, - }, - }, + maxWorkers: 2, }, resolve: { alias: [ diff --git a/packages/loot-core/vitest.web.config.ts b/packages/loot-core/vitest.web.config.ts index e89bdeb59d..e985019ddf 100644 --- a/packages/loot-core/vitest.web.config.ts +++ b/packages/loot-core/vitest.web.config.ts @@ -21,12 +21,7 @@ export default defineConfig({ environment: 'jsdom', globals: true, include: ['src/**/*.web.test.(js|jsx|ts|tsx)'], - poolOptions: { - threads: { - maxThreads: 2, - minThreads: 1, - }, - }, + maxWorkers: 2, }, resolve: { alias: [ diff --git a/packages/sync-server/package.json b/packages/sync-server/package.json index 3a54914bf3..6e11ec2a26 100644 --- a/packages/sync-server/package.json +++ b/packages/sync-server/package.json @@ -59,11 +59,10 @@ "@types/express-actuator": "^1.8.3", "@types/node": "^22.18.11", "@types/supertest": "^6.0.3", - "@vitest/coverage-v8": "3.2.4", "http-proxy-middleware": "^3.0.5", "nodemon": "^3.1.10", "supertest": "^7.1.4", "typescript": "^5.9.3", - "vitest": "^3.2.4" + "vitest": "^4.0.6" } } diff --git a/packages/sync-server/vitest.config.ts b/packages/sync-server/vitest.config.ts index dfda37b52a..1876a5747d 100644 --- a/packages/sync-server/vitest.config.ts +++ b/packages/sync-server/vitest.config.ts @@ -6,11 +6,6 @@ export default { coverage: { enabled: false, }, - poolOptions: { - threads: { - maxThreads: 2, - minThreads: 1, - }, - }, + maxWorkers: 2, }, }; diff --git a/upcoming-release-notes/6060.md b/upcoming-release-notes/6060.md new file mode 100644 index 0000000000..3b17b54e67 --- /dev/null +++ b/upcoming-release-notes/6060.md @@ -0,0 +1,6 @@ +--- +category: Maintenance +authors: [matt-fidd] +--- + +Upgrade vitest to v4 diff --git a/yarn.lock b/yarn.lock index bc7f944218..19be2c7649 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,7 +23,7 @@ __metadata: tsc-alias: "npm:^1.8.16" typescript: "npm:^5.9.3" uuid: "npm:^13.0.0" - vitest: "npm:^3.2.4" + vitest: "npm:^4.0.6" languageName: unknown linkType: soft @@ -31,7 +31,7 @@ __metadata: version: 0.0.0-use.local resolution: "@actual-app/ci-actions@workspace:packages/ci-actions" dependencies: - vitest: "npm:^3.2.4" + vitest: "npm:^4.0.6" languageName: unknown linkType: soft @@ -46,7 +46,7 @@ __metadata: react-aria-components: "npm:^1.13.0" react-dom: "npm:19.2.0" usehooks-ts: "npm:^3.1.1" - vitest: "npm:^3.2.4" + vitest: "npm:^4.0.6" peerDependencies: react: ">=18.2" react-dom: ">=18.2" @@ -75,7 +75,7 @@ __metadata: ts-protoc-gen: "npm:^0.15.0" typescript: "npm:^5.9.3" uuid: "npm:^13.0.0" - vitest: "npm:^3.2.4" + vitest: "npm:^4.0.6" languageName: unknown linkType: soft @@ -96,7 +96,6 @@ __metadata: "@types/express-actuator": "npm:^1.8.3" "@types/node": "npm:^22.18.11" "@types/supertest": "npm:^6.0.3" - "@vitest/coverage-v8": "npm:3.2.4" bcrypt: "npm:^6.0.0" better-sqlite3: "npm:^12.4.1" convict: "npm:^6.2.4" @@ -117,7 +116,7 @@ __metadata: supertest: "npm:^7.1.4" typescript: "npm:^5.9.3" uuid: "npm:^13.0.0" - vitest: "npm:^3.2.4" + vitest: "npm:^4.0.6" winston: "npm:^3.18.3" bin: actual-server: ./build/bin/actual-server.js @@ -204,7 +203,7 @@ __metadata: vite: "npm:^7.1.11" vite-plugin-pwa: "npm:^1.1.0" vite-tsconfig-paths: "npm:^5.1.4" - vitest: "npm:^3.2.4" + vitest: "npm:^4.0.6" xml2js: "npm:^0.6.2" languageName: unknown linkType: soft @@ -216,16 +215,6 @@ __metadata: languageName: node linkType: hard -"@ampproject/remapping@npm:^2.3.0": - version: 2.3.0 - resolution: "@ampproject/remapping@npm:2.3.0" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10/f3451525379c68a73eb0a1e65247fbf28c0cccd126d93af21c75fceff77773d43c0d4a2d51978fb131aff25b5f2cb41a9fe48cc296e61ae65e679c4f6918b0ab - languageName: node - linkType: hard - "@apideck/better-ajv-errors@npm:^0.3.1": version: 0.3.6 resolution: "@apideck/better-ajv-errors@npm:0.3.6" @@ -527,7 +516,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.3, @babel/parser@npm:^7.28.4": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.3, @babel/parser@npm:^7.28.4": version: 7.28.4 resolution: "@babel/parser@npm:7.28.4" dependencies: @@ -1441,7 +1430,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.25.4, @babel/types@npm:^7.26.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4, @babel/types@npm:^7.4.4": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.26.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4, @babel/types@npm:^7.4.4": version: 7.28.4 resolution: "@babel/types@npm:7.28.4" dependencies: @@ -1451,13 +1440,6 @@ __metadata: languageName: node linkType: hard -"@bcoe/v8-coverage@npm:^1.0.2": - version: 1.0.2 - resolution: "@bcoe/v8-coverage@npm:1.0.2" - checksum: 10/46600b2dde460269b07a8e4f12b72e418eae1337b85c979f43af3336c9a1c65b04e42508ab6b245f1e0e3c64328e1c38d8cd733e4a7cebc4fbf9cf65c6e59937 - languageName: node - linkType: hard - "@codemirror/autocomplete@npm:^6.0.0, @codemirror/autocomplete@npm:^6.19.0": version: 6.19.0 resolution: "@codemirror/autocomplete@npm:6.19.0" @@ -2424,13 +2406,6 @@ __metadata: languageName: node linkType: hard -"@istanbuljs/schema@npm:^0.1.2": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 10/a9b1e49acdf5efc2f5b2359f2df7f90c5c725f2656f16099e8b2cd3a000619ecca9fc48cf693ba789cf0fd989f6e0df6a22bc05574be4223ecdbb7997d04384b - languageName: node - linkType: hard - "@jest/diff-sequences@npm:30.0.1": version: 30.0.1 resolution: "@jest/diff-sequences@npm:30.0.1" @@ -2515,7 +2490,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28, @jridgewell/trace-mapping@npm:^0.3.30": +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28": version: 0.3.31 resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: @@ -6827,7 +6802,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:^8.46.1": +"@typescript-eslint/utils@npm:^8.46.2": version: 8.46.2 resolution: "@typescript-eslint/utils@npm:8.46.2" dependencies: @@ -7092,113 +7067,83 @@ __metadata: languageName: node linkType: hard -"@vitest/coverage-v8@npm:3.2.4": - version: 3.2.4 - resolution: "@vitest/coverage-v8@npm:3.2.4" - dependencies: - "@ampproject/remapping": "npm:^2.3.0" - "@bcoe/v8-coverage": "npm:^1.0.2" - ast-v8-to-istanbul: "npm:^0.3.3" - debug: "npm:^4.4.1" - istanbul-lib-coverage: "npm:^3.2.2" - istanbul-lib-report: "npm:^3.0.1" - istanbul-lib-source-maps: "npm:^5.0.6" - istanbul-reports: "npm:^3.1.7" - magic-string: "npm:^0.30.17" - magicast: "npm:^0.3.5" - std-env: "npm:^3.9.0" - test-exclude: "npm:^7.0.1" - tinyrainbow: "npm:^2.0.0" - peerDependencies: - "@vitest/browser": 3.2.4 - vitest: 3.2.4 - peerDependenciesMeta: - "@vitest/browser": - optional: true - checksum: 10/5a5940c78eabbb36efafb9ecc50408785614768b3f74f5f88e6dd32db59a21d39e15e7cf52fae961cc2cd75e0390c8568cdb9aef35aa8593ccd057edce539ee4 - languageName: node - linkType: hard - -"@vitest/expect@npm:3.2.4": - version: 3.2.4 - resolution: "@vitest/expect@npm:3.2.4" +"@vitest/expect@npm:4.0.6": + version: 4.0.6 + resolution: "@vitest/expect@npm:4.0.6" dependencies: + "@standard-schema/spec": "npm:^1.0.0" "@types/chai": "npm:^5.2.2" - "@vitest/spy": "npm:3.2.4" - "@vitest/utils": "npm:3.2.4" - chai: "npm:^5.2.0" - tinyrainbow: "npm:^2.0.0" - checksum: 10/dc69ce886c13714dfbbff78f2d2cb7eb536017e82301a73c42d573a9e9d2bf91005ac7abd9b977adf0a3bd431209f45a8ac2418029b68b0a377e092607c843ce + "@vitest/spy": "npm:4.0.6" + "@vitest/utils": "npm:4.0.6" + chai: "npm:^6.0.1" + tinyrainbow: "npm:^3.0.3" + checksum: 10/70d6e03d413d208df722461ff7136a41249a0f8c34f985b4e7104f85e85583f272c3a92c4d7c9ea0ebd40ad77b64cb3b66d7ecd628210333ebd6813659a3422f languageName: node linkType: hard -"@vitest/mocker@npm:3.2.4": - version: 3.2.4 - resolution: "@vitest/mocker@npm:3.2.4" +"@vitest/mocker@npm:4.0.6": + version: 4.0.6 + resolution: "@vitest/mocker@npm:4.0.6" dependencies: - "@vitest/spy": "npm:3.2.4" + "@vitest/spy": "npm:4.0.6" estree-walker: "npm:^3.0.3" - magic-string: "npm:^0.30.17" + magic-string: "npm:^0.30.19" peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + vite: ^6.0.0 || ^7.0.0-0 peerDependenciesMeta: msw: optional: true vite: optional: true - checksum: 10/5e92431b6ed9fc1679060e4caef3e4623f4750542a5d7cd944774f8217c4d231e273202e8aea00bab33260a5a9222ecb7005d80da0348c3c829bd37d123071a8 + checksum: 10/82a1726ea7589a33e0a598cbe8c614ebd49900d3470b597e02a315a3a57c3fc9dcf84ea01a61df7cf1f9a23e273213b059cc721fc3a9b7fa87f49f4604f024d4 languageName: node linkType: hard -"@vitest/pretty-format@npm:3.2.4, @vitest/pretty-format@npm:^3.2.4": - version: 3.2.4 - resolution: "@vitest/pretty-format@npm:3.2.4" +"@vitest/pretty-format@npm:4.0.6": + version: 4.0.6 + resolution: "@vitest/pretty-format@npm:4.0.6" dependencies: - tinyrainbow: "npm:^2.0.0" - checksum: 10/8dd30cbf956e01fbab042fe651fb5175d9f0cd00b7b569a46cd98df89c4fec47dab12916201ad6e09a4f25f2a2ec8927a4bfdc61118593097f759c90b18a51d4 + tinyrainbow: "npm:^3.0.3" + checksum: 10/34e7c423233fefdb9c45d4873d38dde0641121e0639cd5109fea9d57d298a70b4a516284ff7a044db6373e2b39e98ed1d18f8ad55471a3d774bc96eac3de4560 languageName: node linkType: hard -"@vitest/runner@npm:3.2.4": - version: 3.2.4 - resolution: "@vitest/runner@npm:3.2.4" +"@vitest/runner@npm:4.0.6": + version: 4.0.6 + resolution: "@vitest/runner@npm:4.0.6" dependencies: - "@vitest/utils": "npm:3.2.4" + "@vitest/utils": "npm:4.0.6" pathe: "npm:^2.0.3" - strip-literal: "npm:^3.0.0" - checksum: 10/197bd55def519ef202f990b7c1618c212380831827c116240871033e4973decb780503c705ba9245a12bd8121f3ac4086ffcb3e302148b62d9bd77fd18dd1deb + checksum: 10/40abea31fa33985d13d0eff46abd25f139c6634d34164642e48a9359e2469d592ca985d95d9df9ab9b3bec9857f9d5abbcf9865473a5e942e650487eb36a00be languageName: node linkType: hard -"@vitest/snapshot@npm:3.2.4": - version: 3.2.4 - resolution: "@vitest/snapshot@npm:3.2.4" +"@vitest/snapshot@npm:4.0.6": + version: 4.0.6 + resolution: "@vitest/snapshot@npm:4.0.6" dependencies: - "@vitest/pretty-format": "npm:3.2.4" - magic-string: "npm:^0.30.17" + "@vitest/pretty-format": "npm:4.0.6" + magic-string: "npm:^0.30.19" pathe: "npm:^2.0.3" - checksum: 10/acfb682491b9ca9345bf9fed02c2779dec43e0455a380c1966b0aad8dd81c79960902cf34621ab48fe80a0eaf8c61cc42dec186a1321dc3c9897ef2ebd5f1bc4 + checksum: 10/3477e1ab6a5ce23f4bf24c44a5d55f3e44448e9f4564022b3e0a4aaa0de6eef9cc4c913989a092a05345b4dd92e7545b681eb394d94f064be74479ac78911c7c languageName: node linkType: hard -"@vitest/spy@npm:3.2.4": - version: 3.2.4 - resolution: "@vitest/spy@npm:3.2.4" - dependencies: - tinyspy: "npm:^4.0.3" - checksum: 10/7d38c299f42a8c7e5e41652b203af98ca54e63df69c3b072d0e401d5a57fbbba3e39d8538ac1b3022c26718a6388d0bcc222bc2f07faab75942543b9247c007d +"@vitest/spy@npm:4.0.6": + version: 4.0.6 + resolution: "@vitest/spy@npm:4.0.6" + checksum: 10/ddbb1aff00719f90b051e86c49071e74af780c9536c03987d5e89bf139fd6f6c00f7927efc8f894252ec60db5b16dfeb0235f98f038779a39c1b62dcba1a6b44 languageName: node linkType: hard -"@vitest/utils@npm:3.2.4": - version: 3.2.4 - resolution: "@vitest/utils@npm:3.2.4" +"@vitest/utils@npm:4.0.6": + version: 4.0.6 + resolution: "@vitest/utils@npm:4.0.6" dependencies: - "@vitest/pretty-format": "npm:3.2.4" - loupe: "npm:^3.1.4" - tinyrainbow: "npm:^2.0.0" - checksum: 10/7f12ef63bd8ee13957744d1f336b0405f164ade4358bf9dfa531f75bbb58ffac02bf61aba65724311ddbc50b12ba54853a169e59c6b837c16086173b9a480710 + "@vitest/pretty-format": "npm:4.0.6" + tinyrainbow: "npm:^3.0.3" + checksum: 10/cb556e63e3f0f98a0eba21ec03793b44182bf343a5fdfd8ac2a70c5dfb3b14fbacf0de2aa5df0c3a14b2b4b634ce86f40077b8503e7486e79caffee2f07840e0 languageName: node linkType: hard @@ -7701,13 +7646,6 @@ __metadata: languageName: node linkType: hard -"assertion-error@npm:^2.0.1": - version: 2.0.1 - resolution: "assertion-error@npm:2.0.1" - checksum: 10/a0789dd882211b87116e81e2648ccb7f60340b34f19877dd020b39ebb4714e475eb943e14ba3e22201c221ef6645b7bfe10297e76b6ac95b48a9898c1211ce66 - languageName: node - linkType: hard - "ast-types-flow@npm:^0.0.8": version: 0.0.8 resolution: "ast-types-flow@npm:0.0.8" @@ -7715,17 +7653,6 @@ __metadata: languageName: node linkType: hard -"ast-v8-to-istanbul@npm:^0.3.3": - version: 0.3.5 - resolution: "ast-v8-to-istanbul@npm:0.3.5" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.30" - estree-walker: "npm:^3.0.3" - js-tokens: "npm:^9.0.1" - checksum: 10/5ba88ab050ea34b823808bc29784278a01c8af6d86321ad9e5a6c527eceac613aed23bee3490255e33ad30a081888c3a3bf36497fd24d4d69d81913e0a4e3567 - languageName: node - linkType: hard - "astral-regex@npm:^2.0.0": version: 2.0.0 resolution: "astral-regex@npm:2.0.0" @@ -8314,13 +8241,6 @@ __metadata: languageName: node linkType: hard -"cac@npm:^6.7.14": - version: 6.7.14 - resolution: "cac@npm:6.7.14" - checksum: 10/002769a0fbfc51c062acd2a59df465a2a947916b02ac50b56c69ec6c018ee99ac3e7f4dd7366334ea847f1ecacf4defaa61bcd2ac283db50156ce1f1d8c8ad42 - languageName: node - linkType: hard - "cacache@npm:^16.1.0": version: 16.1.3 resolution: "cacache@npm:16.1.3" @@ -8449,16 +8369,10 @@ __metadata: languageName: node linkType: hard -"chai@npm:^5.2.0": - version: 5.3.3 - resolution: "chai@npm:5.3.3" - dependencies: - assertion-error: "npm:^2.0.1" - check-error: "npm:^2.1.1" - deep-eql: "npm:^5.0.1" - loupe: "npm:^3.1.0" - pathval: "npm:^2.0.0" - checksum: 10/0d0ef63106083b05c7ba510697cd9991a02b8df5984a7d010ab4af10205c7a1f27d1c06bfa4679540894295ac4dcc22aa2a281e2e4cfe5133c1db379626689a2 +"chai@npm:^6.0.1": + version: 6.2.0 + resolution: "chai@npm:6.2.0" + checksum: 10/199422854e253d8711ea3f220365c6a850c450abf68b31131d2a0f703cbfc5cb48e6c81567e0adbe80e83cdcae6dba82d069a41a77c16bdf6703329c5c3447ef languageName: node linkType: hard @@ -8528,13 +8442,6 @@ __metadata: languageName: node linkType: hard -"check-error@npm:^2.1.1": - version: 2.1.1 - resolution: "check-error@npm:2.1.1" - checksum: 10/d785ed17b1d4a4796b6e75c765a9a290098cf52ff9728ce0756e8ffd4293d2e419dd30c67200aee34202463b474306913f2fcfaf1890641026d9fc6966fea27a - languageName: node - linkType: hard - "cheerio-select@npm:^2.1.0": version: 2.1.0 resolution: "cheerio-select@npm:2.1.0" @@ -9628,13 +9535,6 @@ __metadata: languageName: node linkType: hard -"deep-eql@npm:^5.0.1": - version: 5.0.2 - resolution: "deep-eql@npm:5.0.2" - checksum: 10/a529b81e2ef8821621d20a36959a0328873a3e49d393ad11f8efe8559f31239494c2eb889b80342808674c475802ba95b9d6c4c27641b9a029405104c1b59fcf - languageName: node - linkType: hard - "deep-equal@npm:^2.2.3": version: 2.2.3 resolution: "deep-equal@npm:2.2.3" @@ -10661,9 +10561,12 @@ __metadata: eslint: "npm:^9.37.0" eslint-plugin-eslint-plugin: "npm:^7.0.0" eslint-plugin-node: "npm:^11.1.0" - eslint-vitest-rule-tester: "npm:^2.3.0" + eslint-vitest-rule-tester: "npm:^3.0.0" + loupe: "npm:^3.2.1" requireindex: "npm:^1.2.0" - vitest: "npm:^3.2.4" + strip-literal: "npm:^3.1.0" + tinyspy: "npm:^4.0.4" + vitest: "npm:^4.0.6" peerDependencies: eslint: ">=7" languageName: unknown @@ -10857,15 +10760,15 @@ __metadata: languageName: node linkType: hard -"eslint-vitest-rule-tester@npm:^2.3.0": - version: 2.3.0 - resolution: "eslint-vitest-rule-tester@npm:2.3.0" +"eslint-vitest-rule-tester@npm:^3.0.0": + version: 3.0.0 + resolution: "eslint-vitest-rule-tester@npm:3.0.0" dependencies: - "@typescript-eslint/utils": "npm:^8.46.1" + "@typescript-eslint/utils": "npm:^8.46.2" peerDependencies: - eslint: ^9.0.0 - vitest: ^1.0.0 || ^2.0.0 || ^3.0.0 - checksum: 10/d771e035f84975d922484b9c1c364939f9d5aac74330ef1a6b5689ba63f1b9eab08d59798fcf882c3c28d4e3e47bbec014503078b6afc7869b1f93af945e810e + eslint: ^9.10.0 + vitest: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + checksum: 10/e5c18bcc7a808087e2a67802fa25826f8c7dbfcc195147799caaeda39dd097e5cd0200300e6b9916ec109b029ceeb4c4d13def47a2692670d8d4605e1c59b304 languageName: node linkType: hard @@ -11071,7 +10974,7 @@ __metadata: languageName: node linkType: hard -"expect-type@npm:^1.2.1": +"expect-type@npm:^1.2.2": version: 1.2.2 resolution: "expect-type@npm:1.2.2" checksum: 10/1703e6e47b575f79d801d87f24c639f4d0af71b327a822e6922d0ccb7eb3f6559abb240b8bd43bab6a477903de4cc322908e194d05132c18f52a217115e8e870 @@ -11852,7 +11755,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.12, glob@npm:^10.4.1": +"glob@npm:^10.2.2, glob@npm:^10.3.12": version: 10.4.5 resolution: "glob@npm:10.4.5" dependencies: @@ -12245,13 +12148,6 @@ __metadata: languageName: node linkType: hard -"html-escaper@npm:^2.0.0": - version: 2.0.2 - resolution: "html-escaper@npm:2.0.2" - checksum: 10/034d74029dcca544a34fb6135e98d427acd73019796ffc17383eaa3ec2fe1c0471dcbbc8f8ed39e46e86d43ccd753a160631615e4048285e313569609b66d5b7 - languageName: node - linkType: hard - "html-parse-stringify@npm:^3.0.1": version: 3.0.1 resolution: "html-parse-stringify@npm:3.0.1" @@ -13249,45 +13145,6 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2": - version: 3.2.2 - resolution: "istanbul-lib-coverage@npm:3.2.2" - checksum: 10/40bbdd1e937dfd8c830fa286d0f665e81b7a78bdabcd4565f6d5667c99828bda3db7fb7ac6b96a3e2e8a2461ddbc5452d9f8bc7d00cb00075fa6a3e99f5b6a81 - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": - version: 3.0.1 - resolution: "istanbul-lib-report@npm:3.0.1" - dependencies: - istanbul-lib-coverage: "npm:^3.0.0" - make-dir: "npm:^4.0.0" - supports-color: "npm:^7.1.0" - checksum: 10/86a83421ca1cf2109a9f6d193c06c31ef04a45e72a74579b11060b1e7bb9b6337a4e6f04abfb8857e2d569c271273c65e855ee429376a0d7c91ad91db42accd1 - languageName: node - linkType: hard - -"istanbul-lib-source-maps@npm:^5.0.6": - version: 5.0.6 - resolution: "istanbul-lib-source-maps@npm:5.0.6" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.23" - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^3.0.0" - checksum: 10/569dd0a392ee3464b1fe1accbaef5cc26de3479eacb5b91d8c67ebb7b425d39fd02247d85649c3a0e9c29b600809fa60b5af5a281a75a89c01f385b1e24823a2 - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.1.7": - version: 3.2.0 - resolution: "istanbul-reports@npm:3.2.0" - dependencies: - html-escaper: "npm:^2.0.0" - istanbul-lib-report: "npm:^3.0.0" - checksum: 10/6773a1d5c7d47eeec75b317144fe2a3b1da84a44b6282bebdc856e09667865e58c9b025b75b3d87f5bc62939126cbba4c871ee84254537d934ba5da5d4c4ec4e - languageName: node - linkType: hard - "iterator.prototype@npm:^1.1.4": version: 1.1.5 resolution: "iterator.prototype@npm:1.1.5" @@ -13965,12 +13822,12 @@ __metadata: vite: "npm:^7.1.11" vite-plugin-node-polyfills: "npm:^0.24.0" vite-plugin-peggy-loader: "npm:^2.0.1" - vitest: "npm:^3.2.4" + vitest: "npm:^4.0.6" yargs: "npm:^18.0.0" languageName: unknown linkType: soft -"loupe@npm:^3.1.0, loupe@npm:^3.1.4": +"loupe@npm:^3.2.1": version: 3.2.1 resolution: "loupe@npm:3.2.1" checksum: 10/a4d78ec758aaa04e0e35d5cd1c15e970beb9cdbfd3d0f34f98b9bcda489f896a7190b3b6cc40b7a6dcb8e97e82e96eafaae10096aaa469804acdba6f7c2bde5f @@ -14050,7 +13907,16 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.17, magic-string@npm:^0.30.3": +"magic-string@npm:^0.30.19": + version: 0.30.21 + resolution: "magic-string@npm:0.30.21" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.5" + checksum: 10/57d5691f41ed40d962d8bd300148114f53db67fadbff336207db10a99f2bdf4a1be9cac3a68ee85dba575912ee1d4402e4396408196ec2d3afd043b076156221 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.3": version: 0.30.19 resolution: "magic-string@npm:0.30.19" dependencies: @@ -14059,26 +13925,6 @@ __metadata: languageName: node linkType: hard -"magicast@npm:^0.3.5": - version: 0.3.5 - resolution: "magicast@npm:0.3.5" - dependencies: - "@babel/parser": "npm:^7.25.4" - "@babel/types": "npm:^7.25.4" - source-map-js: "npm:^1.2.0" - checksum: 10/3a2dba6b0bdde957797361d09c7931ebdc1b30231705360eeb40ed458d28e1c3112841c3ed4e1b87ceb28f741e333c7673cd961193aa9fdb4f4946b202e6205a - languageName: node - linkType: hard - -"make-dir@npm:^4.0.0": - version: 4.0.0 - resolution: "make-dir@npm:4.0.0" - dependencies: - semver: "npm:^7.5.3" - checksum: 10/bf0731a2dd3aab4db6f3de1585cea0b746bb73eb5a02e3d8d72757e376e64e6ada190b1eddcde5b2f24a81b688a9897efd5018737d05e02e2a671dda9cff8a8a - languageName: node - linkType: hard - "make-error@npm:^1.1.1": version: 1.3.6 resolution: "make-error@npm:1.3.6" @@ -16015,13 +15861,6 @@ __metadata: languageName: node linkType: hard -"pathval@npm:^2.0.0": - version: 2.0.1 - resolution: "pathval@npm:2.0.1" - checksum: 10/f5e8b82f6b988a5bba197970af050268fd800780d0f9ee026e6f0b544ac4b17ab52bebeabccb790d63a794530a1641ae399ad07ecfc67ad337504c85dc9e5693 - languageName: node - linkType: hard - "pbkdf2@npm:^3.1.2, pbkdf2@npm:^3.1.5": version: 3.1.5 resolution: "pbkdf2@npm:3.1.5" @@ -18264,7 +18103,7 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1": +"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3 @@ -18735,7 +18574,7 @@ __metadata: languageName: node linkType: hard -"strip-literal@npm:^3.0.0": +"strip-literal@npm:^3.1.0": version: 3.1.0 resolution: "strip-literal@npm:3.1.0" dependencies: @@ -18998,17 +18837,6 @@ __metadata: languageName: node linkType: hard -"test-exclude@npm:^7.0.1": - version: 7.0.1 - resolution: "test-exclude@npm:7.0.1" - dependencies: - "@istanbuljs/schema": "npm:^0.1.2" - glob: "npm:^10.4.1" - minimatch: "npm:^9.0.4" - checksum: 10/e6f6f4e1df2e7810e082e8d7dfc53be51a931e6e87925f5e1c2ef92cc1165246ba3bf2dae6b5d86251c16925683dba906bd41e40169ebc77120a2d1b5a0dbbe0 - languageName: node - linkType: hard - "text-decoder@npm:^1.1.0": version: 1.2.3 resolution: "text-decoder@npm:1.2.3" @@ -19091,21 +18919,14 @@ __metadata: languageName: node linkType: hard -"tinypool@npm:^1.1.1": - version: 1.1.1 - resolution: "tinypool@npm:1.1.1" - checksum: 10/0d54139e9dbc6ef33349768fa78890a4d708d16a7ab68e4e4ef3bb740609ddf0f9fd13292c2f413fbba756166c97051a657181c8f7ae92ade690604f183cc01d +"tinyrainbow@npm:^3.0.3": + version: 3.0.3 + resolution: "tinyrainbow@npm:3.0.3" + checksum: 10/169cc63c15e1378674180f3207c82c05bfa58fc79992e48792e8d97b4b759012f48e95297900ede24a81f0087cf329a0d85bb81109739eacf03c650127b3f6c1 languageName: node linkType: hard -"tinyrainbow@npm:^2.0.0": - version: 2.0.0 - resolution: "tinyrainbow@npm:2.0.0" - checksum: 10/94d4e16246972614a5601eeb169ba94f1d49752426312d3cf8cc4f2cc663a2e354ffc653aa4de4eebccbf9eeebdd0caef52d1150271fdfde65d7ae7f3dcb9eb5 - languageName: node - linkType: hard - -"tinyspy@npm:^4.0.3": +"tinyspy@npm:^4.0.4": version: 4.0.4 resolution: "tinyspy@npm:4.0.4" checksum: 10/858a99e3ded2fba8fe7c243099d9e58e926d6525af03d19cdf86c1a9a30398161fb830b4f77890d266bcc1c69df08fa6f4baf29d089385e4cdaa98d7b6296e7c @@ -20145,21 +19966,6 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:3.2.4": - version: 3.2.4 - resolution: "vite-node@npm:3.2.4" - dependencies: - cac: "npm:^6.7.14" - debug: "npm:^4.4.1" - es-module-lexer: "npm:^1.7.0" - pathe: "npm:^2.0.3" - vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0" - bin: - vite-node: vite-node.mjs - checksum: 10/343244ecabbab3b6e1a3065dabaeefa269965a7a7c54652d4b7a7207ee82185e887af97268c61755dcb2dd6a6ce5d9e114400cbd694229f38523e935703cc62f - languageName: node - linkType: hard - "vite-plugin-node-polyfills@npm:^0.24.0": version: 0.24.0 resolution: "vite-plugin-node-polyfills@npm:0.24.0" @@ -20218,7 +20024,62 @@ __metadata: languageName: node linkType: hard -"vite@npm:^5.0.0 || ^6.0.0 || ^7.0.0-0, vite@npm:^7.1.11": +"vite@npm:^6.0.0 || ^7.0.0": + version: 7.1.12 + resolution: "vite@npm:7.1.12" + dependencies: + esbuild: "npm:^0.25.0" + fdir: "npm:^6.5.0" + fsevents: "npm:~2.3.3" + picomatch: "npm:^4.0.3" + postcss: "npm:^8.5.6" + rollup: "npm:^4.43.0" + tinyglobby: "npm:^0.2.15" + peerDependencies: + "@types/node": ^20.19.0 || >=22.12.0 + jiti: ">=1.21.0" + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + bin: + vite: bin/vite.js + checksum: 10/827a18e7365871532af74b2ec65cccecff1effccbf6fb5c32fa1f8d7bcea26f4403d6988db3fa39e9c09c8091b04654b6cfbcc6da5c5dc449eed2b07afc22d81 + languageName: node + linkType: hard + +"vite@npm:^7.1.11": version: 7.1.11 resolution: "vite@npm:7.1.11" dependencies: @@ -20273,39 +20134,38 @@ __metadata: languageName: node linkType: hard -"vitest@npm:^3.2.4": - version: 3.2.4 - resolution: "vitest@npm:3.2.4" +"vitest@npm:^4.0.6": + version: 4.0.6 + resolution: "vitest@npm:4.0.6" dependencies: - "@types/chai": "npm:^5.2.2" - "@vitest/expect": "npm:3.2.4" - "@vitest/mocker": "npm:3.2.4" - "@vitest/pretty-format": "npm:^3.2.4" - "@vitest/runner": "npm:3.2.4" - "@vitest/snapshot": "npm:3.2.4" - "@vitest/spy": "npm:3.2.4" - "@vitest/utils": "npm:3.2.4" - chai: "npm:^5.2.0" - debug: "npm:^4.4.1" - expect-type: "npm:^1.2.1" - magic-string: "npm:^0.30.17" + "@vitest/expect": "npm:4.0.6" + "@vitest/mocker": "npm:4.0.6" + "@vitest/pretty-format": "npm:4.0.6" + "@vitest/runner": "npm:4.0.6" + "@vitest/snapshot": "npm:4.0.6" + "@vitest/spy": "npm:4.0.6" + "@vitest/utils": "npm:4.0.6" + debug: "npm:^4.4.3" + es-module-lexer: "npm:^1.7.0" + expect-type: "npm:^1.2.2" + magic-string: "npm:^0.30.19" pathe: "npm:^2.0.3" - picomatch: "npm:^4.0.2" + picomatch: "npm:^4.0.3" std-env: "npm:^3.9.0" tinybench: "npm:^2.9.0" tinyexec: "npm:^0.3.2" - tinyglobby: "npm:^0.2.14" - tinypool: "npm:^1.1.1" - tinyrainbow: "npm:^2.0.0" - vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0" - vite-node: "npm:3.2.4" + tinyglobby: "npm:^0.2.15" + tinyrainbow: "npm:^3.0.3" + vite: "npm:^6.0.0 || ^7.0.0" why-is-node-running: "npm:^2.3.0" peerDependencies: "@edge-runtime/vm": "*" "@types/debug": ^4.1.12 - "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 - "@vitest/browser": 3.2.4 - "@vitest/ui": 3.2.4 + "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 + "@vitest/browser-playwright": 4.0.6 + "@vitest/browser-preview": 4.0.6 + "@vitest/browser-webdriverio": 4.0.6 + "@vitest/ui": 4.0.6 happy-dom: "*" jsdom: "*" peerDependenciesMeta: @@ -20315,7 +20175,11 @@ __metadata: optional: true "@types/node": optional: true - "@vitest/browser": + "@vitest/browser-playwright": + optional: true + "@vitest/browser-preview": + optional: true + "@vitest/browser-webdriverio": optional: true "@vitest/ui": optional: true @@ -20325,7 +20189,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 10/f10bbce093ecab310ecbe484536ef4496fb9151510b2be0c5907c65f6d31482d9c851f3182531d1d27d558054aa78e8efd9d4702ba6c82058657e8b6a52507ee + checksum: 10/79c723a7a76130af3ed4a08a1a073200fa28ec80431e431b3a88d5b91d6683be8909e2f05b286aae7f7671d5fae136294e06fc34a6e4d1b266970c4892e07182 languageName: node linkType: hard