From a40b4d353778cfc51cd4eb343a9d938470877b4b Mon Sep 17 00:00:00 2001 From: Bilal Mahmoud <7252775+indietyp@users.noreply.github.com> Date: Tue, 6 Oct 2026 23:14:00 +0200 Subject: [PATCH 1/4] chore: centralize vitest dependencies in catalog --- .yarnrc.yml | 5 +- apps/hash-ai-worker-ts/package.json | 2 +- apps/hash-api/package.json | 3 +- apps/hash-frontend/package.json | 1 + apps/petrinaut-website/package.json | 2 +- .../type-system/typescript/package.json | 3 +- libs/@hashintel/ds-components/package.json | 2 +- libs/@local/graph/sdk/typescript/package.json | 3 +- .../harpc/client/typescript/package.json | 3 +- libs/@local/hash-backend-utils/package.json | 3 +- .../@local/hash-isomorphic-utils/package.json | 3 +- libs/@local/petrinaut-arch-docs/package.json | 1 + .../petrinaut-optimizer-client/package.json | 1 + libs/@local/repo-chores/node/package.json | 1 + tests/hash-backend-integration/package.json | 3 +- yarn.lock | 608 +++++++++++------- 16 files changed, 415 insertions(+), 229 deletions(-) diff --git a/.yarnrc.yml b/.yarnrc.yml index 8847b94fa47..501d5c24977 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -50,7 +50,10 @@ catalog: typescript: "7.0.2" "@typescript/typescript6": "6.0.2" vite: "8.3.4" - vitest: "4.1.11" + vitest: "5.0.2" + "@vitest/browser-playwright": "5.0.2" + "@vitest/coverage-istanbul": "5.0.2" + "@fast-check/vitest": "0.5.0" "@tsconfig/bases": "1.0.28" "@types/node": "22.18.13" diff --git a/apps/hash-ai-worker-ts/package.json b/apps/hash-ai-worker-ts/package.json index a116455e160..ba6e74e926c 100644 --- a/apps/hash-ai-worker-ts/package.json +++ b/apps/hash-ai-worker-ts/package.json @@ -112,7 +112,7 @@ "@types/node": "catalog:", "@types/papaparse": "5.3.16", "@types/sanitize-html": "2.16.0", - "@vitest/coverage-istanbul": "4.1.10", + "@vitest/coverage-istanbul": "catalog:", "eslint": "9.39.4", "rimraf": "6.1.3", "ts-json-schema-generator": "1.5.1", diff --git a/apps/hash-api/package.json b/apps/hash-api/package.json index a7b77318d8d..64362a26cda 100644 --- a/apps/hash-api/package.json +++ b/apps/hash-api/package.json @@ -131,10 +131,11 @@ "@types/mime-types": "2.1.4", "@types/node": "catalog:", "@types/sanitize-html": "2.16.0", - "@vitest/coverage-istanbul": "4.1.10", + "@vitest/coverage-istanbul": "catalog:", "eslint": "9.39.4", "rimraf": "6.1.3", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:", "wait-on": "9.0.1" } diff --git a/apps/hash-frontend/package.json b/apps/hash-frontend/package.json index 74ddddda7aa..3b272d90dba 100644 --- a/apps/hash-frontend/package.json +++ b/apps/hash-frontend/package.json @@ -193,6 +193,7 @@ "rimraf": "6.1.3", "sass": "1.93.2", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:", "wait-on": "9.0.1", "webpack": "5.107.2" diff --git a/apps/petrinaut-website/package.json b/apps/petrinaut-website/package.json index bdb42298cf8..12bbd81b652 100644 --- a/apps/petrinaut-website/package.json +++ b/apps/petrinaut-website/package.json @@ -40,7 +40,7 @@ "zod": "4.4.3" }, "devDependencies": { - "@fast-check/vitest": "0.4.1", + "@fast-check/vitest": "catalog:", "@local/tsconfig": "workspace:*", "@tanstack/router-generator": "1.167.32", "@tanstack/router-plugin": "1.168.34", diff --git a/libs/@blockprotocol/type-system/typescript/package.json b/libs/@blockprotocol/type-system/typescript/package.json index 6b719adf57a..116df8fada2 100644 --- a/libs/@blockprotocol/type-system/typescript/package.json +++ b/libs/@blockprotocol/type-system/typescript/package.json @@ -63,7 +63,7 @@ "@types/node": "catalog:", "@types/react": "19.2.14", "@types/semver": "7.7.1", - "@vitest/coverage-istanbul": "4.1.10", + "@vitest/coverage-istanbul": "catalog:", "eslint": "9.39.4", "react": "19.2.6", "rimraf": "6.1.3", @@ -71,6 +71,7 @@ "rolldown-plugin-dts": "0.28.3", "tslib": "2.8.1", "typescript": "catalog:", + "vite": "catalog:", "vite-plugin-wasm-pack": "0.1.12", "vitest": "catalog:" } diff --git a/libs/@hashintel/ds-components/package.json b/libs/@hashintel/ds-components/package.json index daf5badee9e..0090535cb5c 100644 --- a/libs/@hashintel/ds-components/package.json +++ b/libs/@hashintel/ds-components/package.json @@ -106,7 +106,7 @@ "@types/react": "19.2.14", "@types/react-dom": "19.2.3", "@vitejs/plugin-react": "6.1.1", - "@vitest/browser-playwright": "4.1.11", + "@vitest/browser-playwright": "catalog:", "case-anything": "3.1.0", "esbuild-plugin-svgr": "3.1.1", "eslint": "9.39.4", diff --git a/libs/@local/graph/sdk/typescript/package.json b/libs/@local/graph/sdk/typescript/package.json index 1433d036a6e..58bc1361047 100644 --- a/libs/@local/graph/sdk/typescript/package.json +++ b/libs/@local/graph/sdk/typescript/package.json @@ -38,10 +38,11 @@ "@local/eslint": "workspace:*", "@local/tsconfig": "workspace:*", "@tsconfig/bases": "catalog:", - "@vitest/coverage-istanbul": "4.1.10", + "@vitest/coverage-istanbul": "catalog:", "eslint": "9.39.4", "rimraf": "6.1.3", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:" } } diff --git a/libs/@local/harpc/client/typescript/package.json b/libs/@local/harpc/client/typescript/package.json index c903656d5c5..535cbfee78f 100644 --- a/libs/@local/harpc/client/typescript/package.json +++ b/libs/@local/harpc/client/typescript/package.json @@ -50,10 +50,11 @@ "@local/tsconfig": "workspace:*", "@tsconfig/bases": "catalog:", "@types/node": "catalog:", - "@vitest/coverage-istanbul": "4.1.10", + "@vitest/coverage-istanbul": "catalog:", "eslint": "9.39.4", "rimraf": "6.1.3", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:" } } diff --git a/libs/@local/hash-backend-utils/package.json b/libs/@local/hash-backend-utils/package.json index 2246e1e879f..49b1928a3b3 100644 --- a/libs/@local/hash-backend-utils/package.json +++ b/libs/@local/hash-backend-utils/package.json @@ -83,10 +83,11 @@ "@types/mime-types": "2.1.4", "@types/node": "catalog:", "@types/wait-on": "5.3.4", - "@vitest/coverage-istanbul": "4.1.10", + "@vitest/coverage-istanbul": "catalog:", "eslint": "9.39.4", "rimraf": "6.1.3", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:" } } diff --git a/libs/@local/hash-isomorphic-utils/package.json b/libs/@local/hash-isomorphic-utils/package.json index f37a9108dd9..46879e5efd4 100644 --- a/libs/@local/hash-isomorphic-utils/package.json +++ b/libs/@local/hash-isomorphic-utils/package.json @@ -72,13 +72,14 @@ "@types/lodash-es": "4.17.12", "@types/node": "catalog:", "@types/pluralize": "0.0.33", - "@vitest/coverage-istanbul": "4.1.10", + "@vitest/coverage-istanbul": "catalog:", "eslint": "9.39.4", "graphql": "16.11.0", "next": "16.4.1", "react": "19.2.6", "rimraf": "6.1.3", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:" } } diff --git a/libs/@local/petrinaut-arch-docs/package.json b/libs/@local/petrinaut-arch-docs/package.json index b5ca6ecc423..2468badce41 100644 --- a/libs/@local/petrinaut-arch-docs/package.json +++ b/libs/@local/petrinaut-arch-docs/package.json @@ -36,6 +36,7 @@ "oxlint": "1.86.0", "tsx": "catalog:", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:" } } diff --git a/libs/@local/petrinaut-optimizer-client/package.json b/libs/@local/petrinaut-optimizer-client/package.json index f160feadd78..1a4c16bd4e6 100644 --- a/libs/@local/petrinaut-optimizer-client/package.json +++ b/libs/@local/petrinaut-optimizer-client/package.json @@ -30,6 +30,7 @@ "oxfmt": "0.71.0", "rimraf": "6.1.3", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:" } } diff --git a/libs/@local/repo-chores/node/package.json b/libs/@local/repo-chores/node/package.json index b5b1f07f2af..e1802e28f07 100644 --- a/libs/@local/repo-chores/node/package.json +++ b/libs/@local/repo-chores/node/package.json @@ -44,6 +44,7 @@ "@types/node": "catalog:", "eslint": "9.39.4", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:" } } diff --git a/tests/hash-backend-integration/package.json b/tests/hash-backend-integration/package.json index 16984f6bc95..280c89cb588 100644 --- a/tests/hash-backend-integration/package.json +++ b/tests/hash-backend-integration/package.json @@ -39,10 +39,11 @@ "@local/tsconfig": "workspace:*", "@tsconfig/bases": "catalog:", "@types/node": "catalog:", - "@vitest/coverage-istanbul": "4.1.10", + "@vitest/coverage-istanbul": "catalog:", "eslint": "9.39.4", "rimraf": "6.1.3", "typescript": "catalog:", + "vite": "catalog:", "vitest": "catalog:" } } diff --git a/yarn.lock b/yarn.lock index 2d23d04ac92..8b5ec830245 100644 --- a/yarn.lock +++ b/yarn.lock @@ -478,7 +478,7 @@ __metadata: "@types/node": "catalog:" "@types/papaparse": "npm:5.3.16" "@types/sanitize-html": "npm:2.16.0" - "@vitest/coverage-istanbul": "npm:4.1.10" + "@vitest/coverage-istanbul": "catalog:" ajv: "npm:8.18.0" ajv-formats: "npm:3.0.1" cache-manager: "npm:5.7.6" @@ -583,7 +583,7 @@ __metadata: "@types/node": "catalog:" "@types/sanitize-html": "npm:2.16.0" "@types/ws": "npm:8.18.1" - "@vitest/coverage-istanbul": "npm:4.1.10" + "@vitest/coverage-istanbul": "catalog:" agentkeepalive: "npm:4.6.0" app-root-path: "npm:3.1.0" axios: "npm:1.20.0" @@ -621,6 +621,7 @@ __metadata: ts-json-schema-generator: "npm:1.5.1" tsx: "catalog:" typescript: "catalog:" + vite: "catalog:" vitest: "catalog:" wait-on: "npm:9.0.1" ws: "npm:8.21.0" @@ -797,6 +798,7 @@ __metadata: use-font-face-observer: "npm:1.3.0" use-intl: "npm:4.14.9" uuid: "npm:14.0.0" + vite: "catalog:" vitest: "catalog:" wait-on: "npm:9.0.1" web-worker: "npm:1.4.1" @@ -880,7 +882,7 @@ __metadata: "@ai-sdk/openai": "npm:3.0.114" "@ai-sdk/react": "npm:3.0.289" "@ark-ui/react": "npm:5.38.1" - "@fast-check/vitest": "npm:0.4.1" + "@fast-check/vitest": "catalog:" "@flue/sdk": "npm:2.3.0" "@hashintel/brunch-agent": "workspace:*" "@hashintel/ds-components": "workspace:*" @@ -2428,6 +2430,16 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^8.0.6": + version: 8.0.6 + resolution: "@babel/code-frame@npm:8.0.6" + dependencies: + "@babel/helper-validator-identifier": "npm:^8.0.6" + js-tokens: "npm:^10.0.0" + checksum: 10c0/ae3022ce1e41a48e367712f32c51736624992c1b87be17714ce0970063935c511bccbea4e005db02cc4da87370b608b5861378fcab86a78c9764fa3bd2b6959a + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.0, @babel/compat-data@npm:^7.29.7": version: 7.29.7 resolution: "@babel/compat-data@npm:7.29.7" @@ -2435,6 +2447,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^8.0.5": + version: 8.0.5 + resolution: "@babel/compat-data@npm:8.0.5" + checksum: 10c0/53931a4e15538655b2e720098afcc18405abfbc6b8f8df7d85320f3a6193145a3e5b1c87c61218f58fc4bd6c51cea6fa78092ee723e3fb12e089d89802a8a05a + languageName: node + linkType: hard + "@babel/core@npm:7.29.6": version: 7.29.6 resolution: "@babel/core@npm:7.29.6" @@ -2458,7 +2477,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.16.0, @babel/core@npm:^7.18.5, @babel/core@npm:^7.21.3, @babel/core@npm:^7.22.9, @babel/core@npm:^7.23.7, @babel/core@npm:^7.24.4, @babel/core@npm:^7.28.0, @babel/core@npm:^7.28.5, @babel/core@npm:^7.29.0, @babel/core@npm:^7.29.7": +"@babel/core@npm:^7.16.0, @babel/core@npm:^7.18.5, @babel/core@npm:^7.21.3, @babel/core@npm:^7.22.9, @babel/core@npm:^7.23.7, @babel/core@npm:^7.24.4, @babel/core@npm:^7.28.0, @babel/core@npm:^7.28.5, @babel/core@npm:^7.29.7": version: 7.29.7 resolution: "@babel/core@npm:7.29.7" dependencies: @@ -2481,6 +2500,30 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^8.0.1": + version: 8.0.6 + resolution: "@babel/core@npm:8.0.6" + dependencies: + "@babel/code-frame": "npm:^8.0.6" + "@babel/generator": "npm:^8.0.6" + "@babel/helper-compilation-targets": "npm:^8.0.6" + "@babel/helpers": "npm:^8.0.5" + "@babel/parser": "npm:^8.0.6" + "@babel/template": "npm:^8.0.0" + "@babel/traverse": "npm:^8.0.6" + "@babel/types": "npm:^8.0.6" + "@types/gensync": "npm:^1.0.5" + convert-source-map: "npm:^2.0.0" + empathic: "npm:^2.0.1" + gensync: "npm:^1.0.0-beta.2" + import-meta-resolve: "npm:^4.2.0" + json5: "npm:^2.2.3" + obug: "npm:^2.1.1" + verkit: "npm:^0.3.2" + checksum: 10c0/8198276c898f37d4a1a4e68ea79dc66948638a91a5a4f6b6b23b4e077d96ed80eb79df2810f23ec55f4223738993f8ddabc3bc90076eb63946e76580671ecc0b + languageName: node + linkType: hard + "@babel/eslint-parser@npm:7.28.4": version: 7.28.4 resolution: "@babel/eslint-parser@npm:7.28.4" @@ -2522,6 +2565,20 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^8.0.6": + version: 8.0.6 + resolution: "@babel/generator@npm:8.0.6" + dependencies: + "@babel/parser": "npm:^8.0.6" + "@babel/types": "npm:^8.0.6" + "@jridgewell/gen-mapping": "npm:0.4.0-beta.0" + "@jridgewell/trace-mapping": "npm:^0.3.31" + "@types/jsesc": "npm:^2.5.0" + jsesc: "npm:^3.0.2" + checksum: 10c0/ea3b078547815e7ee2a865c9618bbdeaca83961690f036791c05fbdd9a5dbfa0e7bd1dc36434cffba6c8be508297bad798ae47096551a6c38a7ff2e4d139729d + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": version: 7.27.3 resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" @@ -2553,6 +2610,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^8.0.6": + version: 8.0.6 + resolution: "@babel/helper-compilation-targets@npm:8.0.6" + dependencies: + "@babel/compat-data": "npm:^8.0.5" + "@babel/helper-validator-option": "npm:^8.0.0" + browserslist: "npm:^4.24.0" + flru: "npm:1.0.2" + verkit: "npm:^0.3.2" + checksum: 10c0/959e4f528544aa16c3b490b9e20e89cc2f3ce641e88b818e00f509bab3fe11afb9a365e4ebf120590519bcef303386155f02d888b48eb031de71b19d0fdfef73 + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.25.9, @babel/helper-create-class-features-plugin@npm:^7.27.1, @babel/helper-create-class-features-plugin@npm:^7.28.3, @babel/helper-create-class-features-plugin@npm:^7.28.5": version: 7.28.5 resolution: "@babel/helper-create-class-features-plugin@npm:7.28.5" @@ -2629,6 +2699,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-globals@npm:^8.0.6": + version: 8.0.6 + resolution: "@babel/helper-globals@npm:8.0.6" + checksum: 10c0/feaae266a8f3ef22dfc30659bdc711db7155cf919f2f9fe692cb3b2ae5bf63da88ea341898508eabd95a087d9110ac8b896714aea32a7fa76fd9d0d48964d93f + languageName: node + linkType: hard + "@babel/helper-member-expression-to-functions@npm:^7.27.1, @babel/helper-member-expression-to-functions@npm:^7.28.5": version: 7.28.5 resolution: "@babel/helper-member-expression-to-functions@npm:7.28.5" @@ -2779,6 +2856,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^8.0.6": + version: 8.0.6 + resolution: "@babel/helper-string-parser@npm:8.0.6" + checksum: 10c0/b59c0ff09e168d77b02538d363a2b6461b08697f30a7e1ea99a2f68f74307a2ce56a3cd7625494d5f21d4c48d5ddddeb2d2eec5791754345d524d092e415ae8d + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.24.5, @babel/helper-validator-identifier@npm:^7.28.5, @babel/helper-validator-identifier@npm:^7.29.7": version: 7.29.7 resolution: "@babel/helper-validator-identifier@npm:7.29.7" @@ -2793,6 +2877,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^8.0.6": + version: 8.0.6 + resolution: "@babel/helper-validator-identifier@npm:8.0.6" + checksum: 10c0/9170fe52f3c330945b259cfb5786fb0e1fb4bdafd4deedcb0d3cbe300e993c8df9ca2307734bd3009220799f3053d206557f78d942df0f41e565304e19d2595c + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.27.1, @babel/helper-validator-option@npm:^7.29.7": version: 7.29.7 resolution: "@babel/helper-validator-option@npm:7.29.7" @@ -2800,6 +2891,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-option@npm:^8.0.0": + version: 8.0.0 + resolution: "@babel/helper-validator-option@npm:8.0.0" + checksum: 10c0/eb466b464479f75c15ba06f6c53862f10d90740350c9203b3d81c6f33d4193bf0a7b7b89de901f256fb639a1346475b48616734af89906d6b4fcf9a856d9f1f1 + languageName: node + linkType: hard + "@babel/helper-wrap-function@npm:^7.27.1": version: 7.27.1 resolution: "@babel/helper-wrap-function@npm:7.27.1" @@ -2821,6 +2919,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^8.0.5": + version: 8.0.5 + resolution: "@babel/helpers@npm:8.0.5" + dependencies: + "@babel/template": "npm:^8.0.0" + "@babel/types": "npm:^8.0.5" + checksum: 10c0/eb215dd47757fffebc5f690c721e77e541e2131ffa1e06b5f026a75a8b7726b30cd24e6d97fe0a30cbc7865417169f563e0f6c0af45597172fa05e44b2cee3d0 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.6, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.25.6, @babel/parser@npm:^7.28.5, @babel/parser@npm:^7.29.3, @babel/parser@npm:^7.29.7, @babel/parser@npm:^7.29.8": version: 7.29.8 resolution: "@babel/parser@npm:7.29.8" @@ -2843,6 +2951,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^8.0.6": + version: 8.0.6 + resolution: "@babel/parser@npm:8.0.6" + dependencies: + "@babel/types": "npm:^8.0.6" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/af600f314542538a9dacf08e51cdce1eb947a6008e54539833987bdda98ef8632fd7178985411315431240e3d3d969788a216e534d6301eecbabed6d4a88a766 + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.27.1": version: 7.27.1 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.27.1" @@ -4089,6 +4208,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^8.0.6": + version: 8.0.6 + resolution: "@babel/traverse@npm:8.0.6" + dependencies: + "@babel/code-frame": "npm:^8.0.6" + "@babel/generator": "npm:^8.0.6" + "@babel/helper-globals": "npm:^8.0.6" + "@babel/parser": "npm:^8.0.6" + "@babel/template": "npm:^8.0.0" + "@babel/types": "npm:^8.0.6" + obug: "npm:^2.1.1" + checksum: 10c0/bc4c2b1960bbe30d7270f3a4a234f8b4193a320763f30fd2ca7345cf6b1eae4428d616baed6941c67604e7e5040bea63420fd4b8aaed251fba17706b9343e361 + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.13, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.6, @babel/types@npm:^7.25.6, @babel/types@npm:^7.26.10, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.29.0, @babel/types@npm:^7.29.7, @babel/types@npm:^7.29.8, @babel/types@npm:^7.4.4": version: 7.29.8 resolution: "@babel/types@npm:7.29.8" @@ -4109,6 +4243,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^8.0.5, @babel/types@npm:^8.0.6": + version: 8.0.6 + resolution: "@babel/types@npm:8.0.6" + dependencies: + "@babel/helper-string-parser": "npm:^8.0.6" + "@babel/helper-validator-identifier": "npm:^8.0.6" + checksum: 10c0/f97ac49f5e38ae44f20f702d78c1853438ec0d518da1623b6da9dc728c4132a1a7a3060390db021fa792850b64842637bea93c026a6d4eee2e42eaa023f1b778 + languageName: node + linkType: hard + "@base-ui/react@npm:1.8.0": version: 1.8.0 resolution: "@base-ui/react@npm:1.8.0" @@ -4166,10 +4310,10 @@ __metadata: languageName: node linkType: hard -"@blazediff/core@npm:1.9.1": - version: 1.9.1 - resolution: "@blazediff/core@npm:1.9.1" - checksum: 10c0/fd45cdd0544002341d74831a179ef693a81414abd348c1ff0c01086c0ea03f5e5ee284c4e16c2e6fb3670c265f90a3d85752b9360320efa9a835928e604dae77 +"@blazediff/core@npm:1.10.0": + version: 1.10.0 + resolution: "@blazediff/core@npm:1.10.0" + checksum: 10c0/4b6095d39338fccd09964fff06f6c5a75628e6296cb2d598149376a876b5c390e083a3769e6ebdaeaa53550f29f1ed5744688df66e4f10b0be0bbc41e9393c8c languageName: node linkType: hard @@ -4270,7 +4414,7 @@ __metadata: "@types/node": "catalog:" "@types/react": "npm:19.2.14" "@types/semver": "npm:7.7.1" - "@vitest/coverage-istanbul": "npm:4.1.10" + "@vitest/coverage-istanbul": "catalog:" eslint: "npm:9.39.4" react: "npm:19.2.6" rimraf: "npm:6.1.3" @@ -4280,6 +4424,7 @@ __metadata: tslib: "npm:2.8.1" typescript: "catalog:" uuid: "npm:14.0.0" + vite: "catalog:" vite-plugin-wasm-pack: "npm:0.1.12" vitest: "catalog:" languageName: unknown @@ -6316,14 +6461,14 @@ __metadata: languageName: node linkType: hard -"@fast-check/vitest@npm:0.4.1": - version: 0.4.1 - resolution: "@fast-check/vitest@npm:0.4.1" +"@fast-check/vitest@npm:0.5.0": + version: 0.5.0 + resolution: "@fast-check/vitest@npm:0.5.0" dependencies: fast-check: "npm:^3.0.0 || ^4.0.0" peerDependencies: - vitest: ^4.1.0 - checksum: 10c0/c558f443cbf79cfc18f81372d21129021a13e5d821b57876449d3cac254638ddc5c9736b687fc82dc78f53cf1d948a68787aff7f0d1700704168e1805af088d2 + vitest: ^4.1.0 || ^5.0.0 + checksum: 10c0/f7cfe2c67501fb2d3c10421f7297e80c66ed97224aa32c14b7c4739db0c96aded9c744b3e3ab338e13184e69c470bac90f05657862dc37a90ecef58ffda99124 languageName: node linkType: hard @@ -7587,7 +7732,7 @@ __metadata: "@types/react": "npm:19.2.14" "@types/react-dom": "npm:19.2.3" "@vitejs/plugin-react": "npm:6.1.1" - "@vitest/browser-playwright": "npm:4.1.11" + "@vitest/browser-playwright": "catalog:" "@zag-js/dom-query": "npm:1.43.0" case-anything: "npm:3.1.0" colorjs.io: "npm:0.6.1" @@ -8774,6 +8919,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/gen-mapping@npm:0.4.0-beta.0": + version: 0.4.0-beta.0 + resolution: "@jridgewell/gen-mapping@npm:0.4.0-beta.0" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.6.0-beta.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/3c8e3d13318cac007834b2ebc065e99574f5d12c1059e7fb58ad50e3b1cc6e422f610e29c2b90afeaad967a0e69503352b8b29b25954985e6bc8dfdb0031d53b + languageName: node + linkType: hard + "@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.13, @jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.13 resolution: "@jridgewell/gen-mapping@npm:0.3.13" @@ -8811,14 +8966,14 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5, @jridgewell/sourcemap-codec@npm:^1.6.0": +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5, @jridgewell/sourcemap-codec@npm:^1.6.0, @jridgewell/sourcemap-codec@npm:^1.6.0-beta.0": version: 1.6.0 resolution: "@jridgewell/sourcemap-codec@npm:1.6.0" checksum: 10c0/b5be700e45a775f218589c3466c4ffea630582b4988657652da464e5ab8a7d18bf928ee4fd2363fb346ede4bea9c6ff0bae05a538358c4565ece6199531b5f72 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:0.3.31, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28": +"@jridgewell/trace-mapping@npm:0.3.31, @jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28, @jridgewell/trace-mapping@npm:^0.3.31": version: 0.3.31 resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: @@ -9797,7 +9952,7 @@ __metadata: "@multiformats/multiaddr": "npm:13.0.3" "@tsconfig/bases": "catalog:" "@types/node": "catalog:" - "@vitest/coverage-istanbul": "npm:4.1.10" + "@vitest/coverage-istanbul": "catalog:" effect: "npm:3.21.0" eslint: "npm:9.39.4" it-stream-types: "npm:2.0.2" @@ -9806,6 +9961,7 @@ __metadata: rimraf: "npm:6.1.3" typescript: "catalog:" uint8arraylist: "npm:3.0.2" + vite: "catalog:" vitest: "catalog:" languageName: unknown linkType: soft @@ -9859,7 +10015,7 @@ __metadata: "@types/mime-types": "npm:2.1.4" "@types/node": "catalog:" "@types/wait-on": "npm:5.3.4" - "@vitest/coverage-istanbul": "npm:4.1.10" + "@vitest/coverage-istanbul": "catalog:" agentkeepalive: "npm:4.6.0" axios: "npm:1.20.0" cache-manager: "npm:5.7.6" @@ -9873,6 +10029,7 @@ __metadata: rimraf: "npm:6.1.3" typescript: "catalog:" uuid: "npm:14.0.0" + vite: "catalog:" vitest: "catalog:" wait-on: "npm:9.0.1" winston: "npm:3.18.3" @@ -9934,12 +10091,13 @@ __metadata: "@local/tsconfig": "workspace:*" "@temporalio/client": "npm:1.20.2" "@tsconfig/bases": "catalog:" - "@vitest/coverage-istanbul": "npm:4.1.10" + "@vitest/coverage-istanbul": "catalog:" effect: "npm:3.21.0" eslint: "npm:9.39.4" rimraf: "npm:6.1.3" typescript: "catalog:" uuid: "npm:14.0.0" + vite: "catalog:" vitest: "catalog:" languageName: unknown linkType: soft @@ -9987,7 +10145,7 @@ __metadata: "@types/lodash-es": "npm:4.17.12" "@types/node": "catalog:" "@types/pluralize": "npm:0.0.33" - "@vitest/coverage-istanbul": "npm:4.1.10" + "@vitest/coverage-istanbul": "catalog:" big.js: "npm:7.0.1" eslint: "npm:9.39.4" express: "npm:5.2.0" @@ -10013,6 +10171,7 @@ __metadata: tsx: "catalog:" typescript: "catalog:" uuid: "npm:14.0.0" + vite: "catalog:" vitest: "catalog:" zod: "npm:4.4.3" languageName: unknown @@ -10055,6 +10214,7 @@ __metadata: oxlint: "npm:1.86.0" tsx: "catalog:" typescript: "catalog:" + vite: "catalog:" vitest: "catalog:" zod: "npm:4.4.3" languageName: unknown @@ -10072,6 +10232,7 @@ __metadata: oxfmt: "npm:0.71.0" rimraf: "npm:6.1.3" typescript: "catalog:" + vite: "catalog:" vitest: "catalog:" languageName: unknown linkType: soft @@ -10125,6 +10286,7 @@ __metadata: regex-parser: "npm:2.3.1" tsx: "catalog:" typescript: "catalog:" + vite: "catalog:" vitest: "catalog:" zod: "npm:4.4.3" zod-to-json-schema: "npm:3.24.6" @@ -17560,13 +17722,14 @@ __metadata: "@local/tsconfig": "workspace:*" "@tsconfig/bases": "catalog:" "@types/node": "catalog:" - "@vitest/coverage-istanbul": "npm:4.1.10" + "@vitest/coverage-istanbul": "catalog:" eslint: "npm:9.39.4" execa: "npm:9.6.0" fractional-indexing: "npm:3.2.0" graphql: "npm:16.11.0" rimraf: "npm:6.1.3" typescript: "catalog:" + vite: "catalog:" vitest: "catalog:" languageName: unknown linkType: soft @@ -18284,6 +18447,13 @@ __metadata: languageName: node linkType: hard +"@types/gensync@npm:^1.0.5": + version: 1.0.5 + resolution: "@types/gensync@npm:1.0.5" + checksum: 10c0/7c37c8fc3b1a49efd8889f635a6204008f1c1cc86a09ac6a96e219cf3fc52cf1ff091c4dddc3160e93261d6e599fbba39f5fb698fbf936518d1c410289cdd640 + languageName: node + linkType: hard + "@types/geojson@npm:^7946.0.16, @types/geojson@npm:^7946.0.7": version: 7946.0.16 resolution: "@types/geojson@npm:7946.0.16" @@ -19764,58 +19934,58 @@ __metadata: languageName: node linkType: hard -"@vitest/browser-playwright@npm:4.1.11": - version: 4.1.11 - resolution: "@vitest/browser-playwright@npm:4.1.11" +"@vitest/browser-playwright@npm:5.0.2": + version: 5.0.2 + resolution: "@vitest/browser-playwright@npm:5.0.2" dependencies: - "@vitest/browser": "npm:4.1.11" - "@vitest/mocker": "npm:4.1.11" - tinyrainbow: "npm:^3.1.0" + "@vitest/browser": "npm:5.0.2" + "@vitest/mocker": "npm:5.0.2" + tinyrainbow: "npm:^3.1.1" peerDependencies: playwright: "*" - vitest: 4.1.11 + vitest: 5.0.2 peerDependenciesMeta: playwright: optional: false - checksum: 10c0/1275e3b7a0a65700c46e309b3afd8a9d98ef36a8478c10a9ae6cb839963ed4fa661d24fe814ed7c32b09b390cc9045d0db54fc805834830af4a642e72d9e0f76 + checksum: 10c0/b9d5f3230c4881170fb99f3982d9c3511eee738408cf2dfb0a8c4aaa791ddae9dc57c01cad77f460e3081385d1c3e56c7d280a6975c03b172378f4917f71c495 languageName: node linkType: hard -"@vitest/browser@npm:4.1.11": - version: 4.1.11 - resolution: "@vitest/browser@npm:4.1.11" +"@vitest/browser@npm:5.0.2": + version: 5.0.2 + resolution: "@vitest/browser@npm:5.0.2" dependencies: - "@blazediff/core": "npm:1.9.1" - "@vitest/mocker": "npm:4.1.11" - "@vitest/utils": "npm:4.1.11" - magic-string: "npm:^0.30.21" + "@blazediff/core": "npm:1.10.0" + "@vitest/mocker": "npm:5.0.2" + "@vitest/ui": "npm:5.0.2" + "@vitest/utils": "npm:5.0.2" + magic-string: "npm:^1.2.3" pngjs: "npm:^7.0.0" sirv: "npm:^3.0.2" - tinyrainbow: "npm:^3.1.0" - ws: "npm:^8.19.0" + tinyrainbow: "npm:^3.1.1" + ws: "npm:^8.21.3" peerDependencies: - vitest: 4.1.11 - checksum: 10c0/a16b95d043650e82e0706131454d259e660e11fca01d2ce9e336320a482626b2175051e12a93ea18efaf9a794f6cce221919fe59fe27fba04bd9f0e253e6957e + vitest: 5.0.2 + checksum: 10c0/3fa0fd6d4e47ef3bcb352f4f7a9deb331943ba07109ddfa73ca421397fab373dcd16e0cd3b47fd7cd060dcffd02dc9b5681ceaa2474697d71df4eb32315c5c47 languageName: node linkType: hard -"@vitest/coverage-istanbul@npm:4.1.10": - version: 4.1.10 - resolution: "@vitest/coverage-istanbul@npm:4.1.10" +"@vitest/coverage-istanbul@npm:5.0.2": + version: 5.0.2 + resolution: "@vitest/coverage-istanbul@npm:5.0.2" dependencies: - "@babel/core": "npm:^7.29.0" - "@istanbuljs/schema": "npm:^0.1.3" "@jridgewell/gen-mapping": "npm:^0.3.13" "@jridgewell/trace-mapping": "npm:0.3.31" - istanbul-lib-coverage: "npm:^3.2.2" - istanbul-lib-report: "npm:^3.0.1" - istanbul-reports: "npm:^3.2.0" - magicast: "npm:^0.5.2" - obug: "npm:^2.1.1" - tinyrainbow: "npm:^3.1.0" + "@vitest/istanbul-lib-coverage": "npm:^1.0.0" + "@vitest/istanbul-lib-instrument": "npm:^1.0.0" + "@vitest/istanbul-lib-report": "npm:^1.0.0" + "@vitest/istanbul-lib-source-maps": "npm:^1.0.0" + magicast: "npm:^0.5.4" + obug: "npm:^2.1.4" + tinyrainbow: "npm:^3.1.1" peerDependencies: - vitest: 4.1.10 - checksum: 10c0/a426b0aff94482587a100db7e8db4e238fabf9e5bc4d33a319bd9cd4261b8972a7b3d78f2bc7cbc3d11b0b58b5d7cc487f96ab35a96c1c766c54f9b6d5eb4f78 + vitest: 5.0.2 + checksum: 10c0/f67e1da4d2d30405cfbdabff890ca37c01e56bfda40ab1d8fa90c68b2fa5597162483e887cedf7f4248ae17d2098644a66ed98243b86e3a17ca22aa7e1da45cf languageName: node linkType: hard @@ -19849,27 +20019,54 @@ __metadata: languageName: node linkType: hard -"@vitest/expect@npm:4.1.11": - version: 4.1.11 - resolution: "@vitest/expect@npm:4.1.11" +"@vitest/istanbul-lib-coverage@npm:1.0.2, @vitest/istanbul-lib-coverage@npm:^1.0.0": + version: 1.0.2 + resolution: "@vitest/istanbul-lib-coverage@npm:1.0.2" + checksum: 10c0/c839315f8c54fb1eb7d51c61cd908f78c2909bbd17ee0d3d8824764f7eed2785471c40ab29f065eee18b577b8275ece8d4100f0ca6c7a05a39a4128683c57292 + languageName: node + linkType: hard + +"@vitest/istanbul-lib-instrument@npm:^1.0.0": + version: 1.0.2 + resolution: "@vitest/istanbul-lib-instrument@npm:1.0.2" dependencies: - "@standard-schema/spec": "npm:^1.1.0" - "@types/chai": "npm:^5.2.2" - "@vitest/spy": "npm:4.1.11" - "@vitest/utils": "npm:4.1.11" - chai: "npm:^6.2.2" - tinyrainbow: "npm:^3.1.0" - checksum: 10c0/0aa5e0973aca93a58cbdc3041c6bfed5897e976124965203b96a23b811f4ca403590c7eb15802c8d8366ec27a1db0682451e8a91c4d06617636de262baf86e4b + "@babel/core": "npm:^8.0.1" + "@babel/parser": "npm:^8.0.4" + "@istanbuljs/schema": "npm:^0.1.3" + "@jridgewell/trace-mapping": "npm:^0.3.23" + "@vitest/istanbul-lib-coverage": "npm:1.0.2" + checksum: 10c0/b031cd6b85d80775376bf1a9679bcc82fed1333b3418403c1e6ffba3ca19196c6c2506ec450cd3ada29bf81f0977c7955306ed1ff65f45ad94aca39523656478 languageName: node linkType: hard -"@vitest/mocker@npm:4.1.11": - version: 4.1.11 - resolution: "@vitest/mocker@npm:4.1.11" +"@vitest/istanbul-lib-report@npm:^1.0.0": + version: 1.0.2 + resolution: "@vitest/istanbul-lib-report@npm:1.0.2" dependencies: - "@vitest/spy": "npm:4.1.11" + "@vitest/istanbul-lib-coverage": "npm:1.0.2" + checksum: 10c0/9b0b3c898448dfe99a51a51238fd564efb1efdfd3dc46570ad6b51a592c9f26811de7be6d07756782d4d0ee71d2431b0592c63be0921f7776bf213a22d87f4d3 + languageName: node + linkType: hard + +"@vitest/istanbul-lib-source-maps@npm:^1.0.0": + version: 1.0.2 + resolution: "@vitest/istanbul-lib-source-maps@npm:1.0.2" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.23" + "@vitest/istanbul-lib-coverage": "npm:1.0.2" + obug: "npm:^2.1.4" + checksum: 10c0/670c20838a071ecd084fe9e09b3f6e548c257cc29bcf9bc9f331682c7ef61170d0789ca7d5e6397a5f32ac867bc80e53a80e34ae04ce7ba58923b2ad908d2339 + languageName: node + linkType: hard + +"@vitest/mocker@npm:5.0.2": + version: 5.0.2 + resolution: "@vitest/mocker@npm:5.0.2" + dependencies: + "@jridgewell/trace-mapping": "npm:0.3.31" + "@vitest/spy": "npm:5.0.2" estree-walker: "npm:^3.0.3" - magic-string: "npm:^0.30.21" + magic-string: "npm:^1.2.3" peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -19878,7 +20075,7 @@ __metadata: optional: true vite: optional: true - checksum: 10c0/3111ea34bd5046f6c70bbd67cf8b89608ee8c41cb27ab2bd61d42f4b68810e9ea16a9a757a71bc254c105f73b407d00ebb6bab1ab0f7f5cdcc9d7d16602a3933 + checksum: 10c0/e2d847563d47b61e9f3e5ed2d86af42b753311cd52c94ef7226398fd6f810b96ca4737855bcc4a59d78a0300859db50693d831ab29ca6334b159cc8e870f8149 languageName: node linkType: hard @@ -19891,34 +20088,12 @@ __metadata: languageName: node linkType: hard -"@vitest/pretty-format@npm:4.1.11": - version: 4.1.11 - resolution: "@vitest/pretty-format@npm:4.1.11" - dependencies: - tinyrainbow: "npm:^3.1.0" - checksum: 10c0/ad32525c73807c0b72f38dc29bc51fd5a17879dc650f37995a9c5adbb8526e15f787691f76aa8768448ec7ed5bf5ba2b12329eac8fda1428b4d6b8c036390f71 - languageName: node - linkType: hard - -"@vitest/runner@npm:4.1.11": - version: 4.1.11 - resolution: "@vitest/runner@npm:4.1.11" - dependencies: - "@vitest/utils": "npm:4.1.11" - pathe: "npm:^2.0.3" - checksum: 10c0/3c782b055e9e688e1785f7c8937bd1669bad1b0e5758cb8b844f918f30a324b1d21e174d46c941ce80ebf37f2b89b55b6d619a675025914a1ece6377b95909e2 - languageName: node - linkType: hard - -"@vitest/snapshot@npm:4.1.11": - version: 4.1.11 - resolution: "@vitest/snapshot@npm:4.1.11" +"@vitest/pretty-format@npm:5.0.2": + version: 5.0.2 + resolution: "@vitest/pretty-format@npm:5.0.2" dependencies: - "@vitest/pretty-format": "npm:4.1.11" - "@vitest/utils": "npm:4.1.11" - magic-string: "npm:^0.30.21" - pathe: "npm:^2.0.3" - checksum: 10c0/35d82a7c2a3e4b57529c30387d568d9106b6bf960189214e5d8cb1f5288cb042305c2e5c7b0b2f8cb56a2c814973de0310bc56d72deb79427bea272b6224190c + tinyrainbow: "npm:^3.1.1" + checksum: 10c0/fd3a6c7ab541ca1cf9b21cc8f44e141f50e5d07eb456edb85f1f9eacfd3a276a9ab5a442cbc35c023c3fc0f05cf2bfa022a7960d33538a2872db2043bf207616 languageName: node linkType: hard @@ -19931,10 +20106,26 @@ __metadata: languageName: node linkType: hard -"@vitest/spy@npm:4.1.11": - version: 4.1.11 - resolution: "@vitest/spy@npm:4.1.11" - checksum: 10c0/06c68247a8efd21006abe7532fee17f30ba83c8cda3e0b952ef89e278d58058f4b1de69b6bbaa2ed614c568bf4f5769fcc76be42802dedf2bcdd9c0aae601740 +"@vitest/spy@npm:5.0.2": + version: 5.0.2 + resolution: "@vitest/spy@npm:5.0.2" + checksum: 10c0/4a52231cc7b5b8959bb15a700a761464051a6d0cc35a231fc92fd4f58d10a01012671a20ea37ebc79e98bdd5dc257a3c52db10d6a592944560fb69651f6f1296 + languageName: node + linkType: hard + +"@vitest/ui@npm:5.0.2": + version: 5.0.2 + resolution: "@vitest/ui@npm:5.0.2" + dependencies: + "@vitest/utils": "npm:5.0.2" + fflate: "npm:^0.8.3" + flatted: "npm:^3.4.4" + pathe: "npm:^2.0.3" + sirv: "npm:^3.0.2" + tinyrainbow: "npm:^3.1.1" + peerDependencies: + vitest: 5.0.2 + checksum: 10c0/f232eae237a794b211a1c23ce10e98d125233070af23caaa92e7b89222a6118030df05525c094f493d650bfdcc190636763da1d5e3ed35976a59e6eefa0db5de languageName: node linkType: hard @@ -19949,14 +20140,14 @@ __metadata: languageName: node linkType: hard -"@vitest/utils@npm:4.1.11": - version: 4.1.11 - resolution: "@vitest/utils@npm:4.1.11" +"@vitest/utils@npm:5.0.2": + version: 5.0.2 + resolution: "@vitest/utils@npm:5.0.2" dependencies: - "@vitest/pretty-format": "npm:4.1.11" + "@vitest/pretty-format": "npm:5.0.2" convert-source-map: "npm:^2.0.0" - tinyrainbow: "npm:^3.1.0" - checksum: 10c0/a2c1ddc64333458c3e031465c1ee0440a7660fd1b298c54ccbf865ef1e5cf3ebdd6c5c75a5ea235d8a672498b394e7121f992b096f021f45014ab25e9abd1b52 + tinyrainbow: "npm:^3.1.1" + checksum: 10c0/5711e43595ce7afe83d0989f301ad6bc00605786fc39242953d2885fbdee2956e51d4ee32ad005234b4d81887538c385d480fe635d609a1646eb530d5b0802b6 languageName: node linkType: hard @@ -25566,6 +25757,13 @@ __metadata: languageName: node linkType: hard +"empathic@npm:^2.0.1": + version: 2.1.0 + resolution: "empathic@npm:2.1.0" + checksum: 10c0/cf13e2919d680a22140d7cd1637a01f6cf9a727f21d3a54b23489ec01c80eab548b9d832d2e167d00e124a54377660c1d6fd2b5947d905366e4d22fde7b9e082 + languageName: node + linkType: hard + "enabled@npm:2.0.x": version: 2.0.0 resolution: "enabled@npm:2.0.0" @@ -25806,13 +26004,20 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^2.0.0, es-module-lexer@npm:^2.1.0": +"es-module-lexer@npm:^2.1.0": version: 2.1.0 resolution: "es-module-lexer@npm:2.1.0" checksum: 10c0/93bcf2454fa72d67fe3ccd0abef8ce7933f5840a319513418a643dd8e9c6aa8f49709cecfae02ded722805dd327232d30723a807cc52e6809d6ac697c62c29fb languageName: node linkType: hard +"es-module-lexer@npm:^2.3.2": + version: 2.3.2 + resolution: "es-module-lexer@npm:2.3.2" + checksum: 10c0/5e7389424c43478439f12f9a6aca1750f6f99afa384fc3de329f4a45f152ab156671055008adaafc74960877abf8cc338aeebf6bed8c21297b146fd6eb7a22f8 + languageName: node + linkType: hard + "es-module-lexer@npm:^3.0.3": version: 3.0.4 resolution: "es-module-lexer@npm:3.0.4" @@ -27365,10 +27570,10 @@ __metadata: languageName: node linkType: hard -"expect-type@npm:^1.3.0": - version: 1.3.0 - resolution: "expect-type@npm:1.3.0" - checksum: 10c0/8412b3fe4f392c420ab41dae220b09700e4e47c639a29ba7ba2e83cc6cffd2b4926f7ac9e47d7e277e8f4f02acda76fd6931cb81fd2b382fa9477ef9ada953fd +"expect-type@npm:^1.4.0": + version: 1.4.0 + resolution: "expect-type@npm:1.4.0" + checksum: 10c0/d40d76b8570695d36587beb3cc28494da2ca3ec8f04e67f5622ed2d372d850e401a9adef19c6835e1a8173903f157c79540b34c7b3fbd7cd8ce726cc903c57b7 languageName: node linkType: hard @@ -27780,6 +27985,13 @@ __metadata: languageName: node linkType: hard +"fflate@npm:^0.8.3": + version: 0.8.3 + resolution: "fflate@npm:0.8.3" + checksum: 10c0/eab181ca37f5348ae76d4b6f840e0026e30220e33153289ac942222d8b9638237d486507dbcc09878d724095bd354993a2ee48bbee99c8f2c6440d4448719aa7 + languageName: node + linkType: hard + "figures@npm:^3.2.0": version: 3.2.0 resolution: "figures@npm:3.2.0" @@ -27988,6 +28200,13 @@ __metadata: languageName: node linkType: hard +"flatted@npm:^3.4.4": + version: 3.4.4 + resolution: "flatted@npm:3.4.4" + checksum: 10c0/a3a52a88ea5a4c333e5a1f097dcd87a037fa31c236a77cf46222c2aa4036ef895ab9bc76138a66d9dc22bdb3652128f9598cd26e7439561bf19f67276e2bc37e + languageName: node + linkType: hard + "flattie@npm:^1.1.1": version: 1.1.1 resolution: "flattie@npm:1.1.1" @@ -27995,6 +28214,13 @@ __metadata: languageName: node linkType: hard +"flru@npm:1.0.2": + version: 1.0.2 + resolution: "flru@npm:1.0.2" + checksum: 10c0/73b01b1df3f3f9d56a86c2102ac199ac72918ee7a00f8516be8dd4495da90ede9375873ad8902ca93a23c91bcc224aacf2dcf89bf7ce62efb9faf048b564b412 + languageName: node + linkType: hard + "fn.name@npm:1.x.x": version: 1.1.0 resolution: "fn.name@npm:1.1.0" @@ -29647,7 +29873,7 @@ __metadata: languageName: node linkType: hard -"html-escaper@npm:^2.0.0, html-escaper@npm:^2.0.2": +"html-escaper@npm:^2.0.2": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 @@ -31200,34 +31426,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: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b - 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: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.2.0": - 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: 10c0/d596317cfd9c22e1394f22a8d8ba0303d2074fe2e971887b32d870e4b33f8464b10f8ccbe6847808f7db485f084eba09e6c2ed706b3a978e4b52f07085b8f9bc - languageName: node - linkType: hard - "istextorbinary@npm:~9.5.0": version: 9.5.0 resolution: "istextorbinary@npm:9.5.0" @@ -32919,7 +33117,7 @@ __metadata: languageName: node linkType: hard -"magicast@npm:^0.5.2, magicast@npm:^0.5.5": +"magicast@npm:^0.5.4, magicast@npm:^0.5.5": version: 0.5.5 resolution: "magicast@npm:0.5.5" dependencies: @@ -32944,15 +33142,6 @@ __metadata: 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: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 - languageName: node - linkType: hard - "make-event-props@npm:^1.6.0": version: 1.6.2 resolution: "make-event-props@npm:1.6.2" @@ -39688,7 +39877,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.8.5, semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.1, semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.3, semver@npm:^7.8.1, semver@npm:^7.8.5": +"semver@npm:7.8.5, semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.2, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.1, semver@npm:^7.6.2, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.3, semver@npm:^7.8.1, semver@npm:^7.8.5": version: 7.8.5 resolution: "semver@npm:7.8.5" bin: @@ -40091,13 +40280,6 @@ __metadata: languageName: node linkType: hard -"siginfo@npm:^2.0.0": - version: 2.0.0 - resolution: "siginfo@npm:2.0.0" - checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 - languageName: node - linkType: hard - "sigma@npm:3.0.2": version: 3.0.2 resolution: "sigma@npm:3.0.2" @@ -40521,13 +40703,6 @@ __metadata: languageName: node linkType: hard -"stackback@npm:0.0.2": - version: 0.0.2 - resolution: "stackback@npm:0.0.2" - checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 - languageName: node - linkType: hard - "stackframe@npm:^1.3.4": version: 1.3.4 resolution: "stackframe@npm:1.3.4" @@ -40591,7 +40766,7 @@ __metadata: languageName: node linkType: hard -"std-env@npm:^4.0.0-rc.1, std-env@npm:^4.2.0": +"std-env@npm:^4.2.0": version: 4.3.0 resolution: "std-env@npm:4.3.0" checksum: 10c0/1e90dc69f32f853375c6de45dbe7219c8399e2a3ab3a972fdcd1cf3c20fe0e3c13bf58d57d6193b551d37a81c50dfb3f51e07774e9e48a7dc5a22dabcad7acbd @@ -41463,10 +41638,10 @@ __metadata: languageName: node linkType: hard -"tinybench@npm:^2.9.0": - version: 2.9.0 - resolution: "tinybench@npm:2.9.0" - checksum: 10c0/c3500b0f60d2eb8db65250afe750b66d51623057ee88720b7f064894a6cb7eb93360ca824a60a31ab16dab30c7b1f06efe0795b352e37914a9d4bad86386a20c +"tinybench@npm:^6.1.4": + version: 6.2.0 + resolution: "tinybench@npm:6.2.0" + checksum: 10c0/ae821428f0412324611d449290f8497c886c94f04bad8e19aa9b3a5060b4802e738c49f9eb493e4fd17e4d5e792290565e5079be647df1995aea731c82363815 languageName: node linkType: hard @@ -41484,7 +41659,7 @@ __metadata: languageName: node linkType: hard -"tinyexec@npm:^1.0.2, tinyexec@npm:^1.3.0, tinyexec@npm:^1.3.1": +"tinyexec@npm:^1.3.0, tinyexec@npm:^1.3.1": version: 1.3.1 resolution: "tinyexec@npm:1.3.1" checksum: 10c0/c590369cb3fa73cc18a3998caec8a00f9712d91309c881be3ac52b160fb2f80c7b1fbf3591858ab6abab47ad55385b0c86ec19982e32441a01f55298dab9ccd2 @@ -41522,10 +41697,10 @@ __metadata: languageName: node linkType: hard -"tinyrainbow@npm:^3.1.0": - version: 3.1.0 - resolution: "tinyrainbow@npm:3.1.0" - checksum: 10c0/f11cf387a26c5c9255bec141a90ac511b26172981b10c3e50053bc6700ea7d2336edcc4a3a21dbb8412fe7c013477d2ba4d7e4877800f3f8107be5105aad6511 +"tinyrainbow@npm:^3.1.1": + version: 3.1.1 + resolution: "tinyrainbow@npm:3.1.1" + checksum: 10c0/f9d2743832c6191f753408f36224fe817620b8abcef572b2e570204c673a901d753ff84ca8e7b88f9c79e934295b3ffc6fcbc56a06f126e24e1ec6186dcad40d languageName: node linkType: hard @@ -43281,6 +43456,13 @@ __metadata: languageName: node linkType: hard +"verkit@npm:^0.3.2": + version: 0.3.2 + resolution: "verkit@npm:0.3.2" + checksum: 10c0/2533d9cc4ee6514d7f0d07b035c56a1f3eedd3ec5c3a5b3df38af1f2e9412799476c250f51d034562ddeb36dea72d4530f840e7b80759bd9a527f31cc9aa54e7 + languageName: node + linkType: hard + "verkit@npm:^0.5.0": version: 0.5.0 resolution: "verkit@npm:0.5.0" @@ -43371,7 +43553,7 @@ __metadata: languageName: node linkType: hard -"vite@npm:8.3.4, vite@npm:^6.0.0 || ^7.0.0 || ^8.0.0, vite@npm:^8.3.4": +"vite@npm:8.3.4, vite@npm:^8.3.4": version: 8.3.4 resolution: "vite@npm:8.3.4" dependencies: @@ -43458,43 +43640,36 @@ __metadata: languageName: node linkType: hard -"vitest@npm:4.1.11": - version: 4.1.11 - resolution: "vitest@npm:4.1.11" - dependencies: - "@vitest/expect": "npm:4.1.11" - "@vitest/mocker": "npm:4.1.11" - "@vitest/pretty-format": "npm:4.1.11" - "@vitest/runner": "npm:4.1.11" - "@vitest/snapshot": "npm:4.1.11" - "@vitest/spy": "npm:4.1.11" - "@vitest/utils": "npm:4.1.11" - es-module-lexer: "npm:^2.0.0" - expect-type: "npm:^1.3.0" - magic-string: "npm:^0.30.21" - obug: "npm:^2.1.1" - pathe: "npm:^2.0.3" - picomatch: "npm:^4.0.3" - std-env: "npm:^4.0.0-rc.1" - tinybench: "npm:^2.9.0" - tinyexec: "npm:^1.0.2" - tinyglobby: "npm:^0.2.15" - tinyrainbow: "npm:^3.1.0" - vite: "npm:^6.0.0 || ^7.0.0 || ^8.0.0" - why-is-node-running: "npm:^2.3.0" +"vitest@npm:5.0.2": + version: 5.0.2 + resolution: "vitest@npm:5.0.2" + dependencies: + "@types/chai": "npm:^5.2.2" + "@vitest/mocker": "npm:5.0.2" + chai: "npm:^6.2.2" + es-module-lexer: "npm:^2.3.2" + expect-type: "npm:^1.4.0" + magic-string: "npm:^1.2.3" + obug: "npm:^2.1.4" + picomatch: "npm:^4.0.7" + std-env: "npm:^4.2.0" + tinybench: "npm:^6.1.4" + tinyexec: "npm:^1.3.0" + tinyglobby: "npm:^0.2.17" + why-is-node-running: "npm:^3.2.1" peerDependencies: "@edge-runtime/vm": "*" "@opentelemetry/api": ^1.9.0 - "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 - "@vitest/browser-playwright": 4.1.11 - "@vitest/browser-preview": 4.1.11 - "@vitest/browser-webdriverio": 4.1.11 - "@vitest/coverage-istanbul": 4.1.11 - "@vitest/coverage-v8": 4.1.11 - "@vitest/ui": 4.1.11 + "@types/node": ^22.0.0 || >=24.0.0 + "@vitest/browser-playwright": 5.0.2 + "@vitest/browser-preview": 5.0.2 + "@vitest/browser-webdriverio": ^5.0.0-beta.5 || >=5.0.0 + "@vitest/coverage-istanbul": 5.0.2 + "@vitest/coverage-v8": 5.0.2 + "@vitest/ui": 5.0.2 happy-dom: "*" jsdom: "*" - vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + vite: ^6.4.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: "@edge-runtime/vm": optional: true @@ -43522,7 +43697,7 @@ __metadata: optional: false bin: vitest: ./vitest.mjs - checksum: 10c0/3fa0948cf74adcccc8cbcdb4e6d30ada6933bdfb1816ff99200f3d3b689325b37dc483b22535b57b6d911f7a7b64eaa6a5f8da1606cfe7f2466f48000c21e296 + checksum: 10c0/e86919375db85ddecc6308076341f66a9d51c3b28aa7966ea6bcb0f45234b5e2883602c17e509abfa6d729aaf8113b3adf7b59a8316079c2c9a48dbb1b248897 languageName: node linkType: hard @@ -44241,15 +44416,12 @@ __metadata: languageName: node linkType: hard -"why-is-node-running@npm:^2.3.0": - version: 2.3.0 - resolution: "why-is-node-running@npm:2.3.0" - dependencies: - siginfo: "npm:^2.0.0" - stackback: "npm:0.0.2" +"why-is-node-running@npm:^3.2.1": + version: 3.2.2 + resolution: "why-is-node-running@npm:3.2.2" bin: why-is-node-running: cli.js - checksum: 10c0/1cde0b01b827d2cf4cb11db962f3958b9175d5d9e7ac7361d1a7b0e2dc6069a263e69118bd974c4f6d0a890ef4eedfe34cf3d5167ec14203dbc9a18620537054 + checksum: 10c0/47307bfc2f48dd5228a92103dc43a7cadafbc6b6791c114fd27e03ac271a5082849a54f7e5f5cb261ea68f0d4ad40d9cb503b55812a6b62e67de0c57039fb95b languageName: node linkType: hard @@ -44425,7 +44597,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.17.1, ws@npm:^8.18.0, ws@npm:^8.18.2, ws@npm:^8.19.0, ws@npm:^8.21.0, ws@npm:^8.21.1, ws@npm:^8.21.3, ws@npm:^8.5.0": +"ws@npm:^8.17.1, ws@npm:^8.18.0, ws@npm:^8.18.2, ws@npm:^8.21.0, ws@npm:^8.21.1, ws@npm:^8.21.3, ws@npm:^8.5.0": version: 8.22.0 resolution: "ws@npm:8.22.0" peerDependencies: From ea0a3f2d583c0c020b0a38d928aa767bad215dba Mon Sep 17 00:00:00 2001 From: Bilal Mahmoud <7252775+indietyp@users.noreply.github.com> Date: Tue, 6 Oct 2026 23:14:46 +0200 Subject: [PATCH 2/4] chore: deduplicate compatible dependency versions --- yarn.lock | 116 ++++-------------------------------------------------- 1 file changed, 7 insertions(+), 109 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8b5ec830245..64f72b7b8a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2420,17 +2420,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^8.0.0": - version: 8.0.0 - resolution: "@babel/code-frame@npm:8.0.0" - dependencies: - "@babel/helper-validator-identifier": "npm:^8.0.0" - js-tokens: "npm:^10.0.0" - checksum: 10c0/2ea8614018bcd8c86358ab6aa930508115d2205e5e111f736d355b150453818bdf487850f6dec5ec92a10bf27ba4536f4b3b8ad9204514e43d8d68ff2e542443 - languageName: node - linkType: hard - -"@babel/code-frame@npm:^8.0.6": +"@babel/code-frame@npm:^8.0.0, @babel/code-frame@npm:^8.0.6": version: 8.0.6 resolution: "@babel/code-frame@npm:8.0.6" dependencies: @@ -2551,20 +2541,6 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^8.0.0": - version: 8.0.0 - resolution: "@babel/generator@npm:8.0.0" - dependencies: - "@babel/parser": "npm:^8.0.0" - "@babel/types": "npm:^8.0.0" - "@jridgewell/gen-mapping": "npm:^0.3.12" - "@jridgewell/trace-mapping": "npm:^0.3.28" - "@types/jsesc": "npm:^2.5.0" - jsesc: "npm:^3.0.2" - checksum: 10c0/2b2d171beaedcacca62164f0f39bc8962df5f9700a54c5515174276ea20b3a53933e9804e0b35c2be1059108a764447d99d0c5beb63ecbbf8c66035ca6c003c4 - languageName: node - linkType: hard - "@babel/generator@npm:^8.0.6": version: 8.0.6 resolution: "@babel/generator@npm:8.0.6" @@ -2692,13 +2668,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-globals@npm:^8.0.0": - version: 8.0.0 - resolution: "@babel/helper-globals@npm:8.0.0" - checksum: 10c0/c53a9fcf451df5c8d3aa72f282d1f058e2874e2ccbbdbb5572a805595d75a9355461822d01a6cac3128f5d9ab9a3a99538c6be4ebd728068afb20a65a4d1d986 - languageName: node - linkType: hard - "@babel/helper-globals@npm:^8.0.6": version: 8.0.6 resolution: "@babel/helper-globals@npm:8.0.6" @@ -2849,13 +2818,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^8.0.0": - version: 8.0.0 - resolution: "@babel/helper-string-parser@npm:8.0.0" - checksum: 10c0/b2272a9eaa63a1bc9ce2673d580e69620fd79786f3e3cf1891f406801f8211810f194f2739fef920f01a97ae06ae465b2dfd238ab8037a3182d0869939ca9a5d - languageName: node - linkType: hard - "@babel/helper-string-parser@npm:^8.0.6": version: 8.0.6 resolution: "@babel/helper-string-parser@npm:8.0.6" @@ -2870,13 +2832,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^8.0.0, @babel/helper-validator-identifier@npm:^8.0.4": - version: 8.0.4 - resolution: "@babel/helper-validator-identifier@npm:8.0.4" - checksum: 10c0/9d3c639a42b70613016fda026487a3b8056df918cb40221a48ef666a3bd2574475e315ee509c552baef4bef55a627ee8ea530e9af5b376512ab248c37aeab336 - languageName: node - linkType: hard - "@babel/helper-validator-identifier@npm:^8.0.6": version: 8.0.6 resolution: "@babel/helper-validator-identifier@npm:8.0.6" @@ -2940,18 +2895,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^8.0.0, @babel/parser@npm:^8.0.4": - version: 8.0.4 - resolution: "@babel/parser@npm:8.0.4" - dependencies: - "@babel/types": "npm:^8.0.4" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/b98ebc350e6583ccec0c59ab653e6c5967935826b8e03210a96e638a98b0c552587d4ca9cc44502964bac42463e2bab93ca1a6ac519279a25e190bd78f3ce513 - languageName: node - linkType: hard - -"@babel/parser@npm:^8.0.6": +"@babel/parser@npm:^8.0.0, @babel/parser@npm:^8.0.4, @babel/parser@npm:^8.0.6": version: 8.0.6 resolution: "@babel/parser@npm:8.0.6" dependencies: @@ -4193,22 +4137,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^8.0.0": - version: 8.0.4 - resolution: "@babel/traverse@npm:8.0.4" - dependencies: - "@babel/code-frame": "npm:^8.0.0" - "@babel/generator": "npm:^8.0.0" - "@babel/helper-globals": "npm:^8.0.0" - "@babel/parser": "npm:^8.0.4" - "@babel/template": "npm:^8.0.0" - "@babel/types": "npm:^8.0.4" - obug: "npm:^2.1.1" - checksum: 10c0/0b7917580320c10027f660c97b754f883d11430bd4c9f877b1f57f424f31fd5a1e7260170be08f0197cbcf8abe65078063864e358cf024c90b64504837f3112e - languageName: node - linkType: hard - -"@babel/traverse@npm:^8.0.6": +"@babel/traverse@npm:^8.0.0, @babel/traverse@npm:^8.0.6": version: 8.0.6 resolution: "@babel/traverse@npm:8.0.6" dependencies: @@ -4233,17 +4162,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^8.0.0, @babel/types@npm:^8.0.4": - version: 8.0.4 - resolution: "@babel/types@npm:8.0.4" - dependencies: - "@babel/helper-string-parser": "npm:^8.0.0" - "@babel/helper-validator-identifier": "npm:^8.0.4" - checksum: 10c0/c1549372b5544a797c9dd3cfba27c17e0c986cfadb1c4a99246743073e3be99c7c671572326be1739b313a2194e3bfe5a74b1bd213d80c4bbc2c520c8cb4ff1f - languageName: node - linkType: hard - -"@babel/types@npm:^8.0.5, @babel/types@npm:^8.0.6": +"@babel/types@npm:^8.0.0, @babel/types@npm:^8.0.5, @babel/types@npm:^8.0.6": version: 8.0.6 resolution: "@babel/types@npm:8.0.6" dependencies: @@ -25750,14 +25669,7 @@ __metadata: languageName: node linkType: hard -"empathic@npm:^2.0.0": - version: 2.0.0 - resolution: "empathic@npm:2.0.0" - checksum: 10c0/7d3b14b04a93b35c47bcc950467ec914fd241cd9acc0269b0ea160f13026ec110f520c90fae64720fde72cc1757b57f3f292fb606617b7fccac1f4d008a76506 - languageName: node - linkType: hard - -"empathic@npm:^2.0.1": +"empathic@npm:^2.0.0, empathic@npm:^2.0.1": version: 2.1.0 resolution: "empathic@npm:2.1.0" checksum: 10c0/cf13e2919d680a22140d7cd1637a01f6cf9a727f21d3a54b23489ec01c80eab548b9d832d2e167d00e124a54377660c1d6fd2b5947d905366e4d22fde7b9e082 @@ -26004,14 +25916,7 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^2.1.0": - version: 2.1.0 - resolution: "es-module-lexer@npm:2.1.0" - checksum: 10c0/93bcf2454fa72d67fe3ccd0abef8ce7933f5840a319513418a643dd8e9c6aa8f49709cecfae02ded722805dd327232d30723a807cc52e6809d6ac697c62c29fb - languageName: node - linkType: hard - -"es-module-lexer@npm:^2.3.2": +"es-module-lexer@npm:^2.1.0, es-module-lexer@npm:^2.3.2": version: 2.3.2 resolution: "es-module-lexer@npm:2.3.2" checksum: 10c0/5e7389424c43478439f12f9a6aca1750f6f99afa384fc3de329f4a45f152ab156671055008adaafc74960877abf8cc338aeebf6bed8c21297b146fd6eb7a22f8 @@ -28193,14 +28098,7 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.2.9": - version: 3.4.2 - resolution: "flatted@npm:3.4.2" - checksum: 10c0/a65b67aae7172d6cdf63691be7de6c5cd5adbdfdfe2e9da1a09b617c9512ed794037741ee53d93114276bff3f93cd3b0d97d54f9b316e1e4885dde6e9ffdf7ed - languageName: node - linkType: hard - -"flatted@npm:^3.4.4": +"flatted@npm:^3.2.9, flatted@npm:^3.4.4": version: 3.4.4 resolution: "flatted@npm:3.4.4" checksum: 10c0/a3a52a88ea5a4c333e5a1f097dcd87a037fa31c236a77cf46222c2aa4036ef895ab9bc76138a66d9dc22bdb3652128f9598cd26e7439561bf19f67276e2bc37e From 73d438484a36c6d2b7d1115794c5c421e9fb06f5 Mon Sep 17 00:00:00 2001 From: Bilal Mahmoud <7252775+indietyp@users.noreply.github.com> Date: Tue, 6 Oct 2026 23:30:55 +0200 Subject: [PATCH 3/4] fix: isolate effect hooks in concurrent tests --- ...@effect-vitest-npm-0.29.0-1c8cf3c306.patch | 55 ++++++++++++------- .../src/provider-registration.test.ts | 50 +++++++++-------- yarn.lock | 4 +- 3 files changed, 65 insertions(+), 44 deletions(-) diff --git a/.yarn/patches/@effect-vitest-npm-0.29.0-1c8cf3c306.patch b/.yarn/patches/@effect-vitest-npm-0.29.0-1c8cf3c306.patch index 377271df330..d894299f8cd 100644 --- a/.yarn/patches/@effect-vitest-npm-0.29.0-1c8cf3c306.patch +++ b/.yarn/patches/@effect-vitest-npm-0.29.0-1c8cf3c306.patch @@ -1,35 +1,39 @@ diff --git a/dist/cjs/internal/internal.js b/dist/cjs/internal/internal.js -index dee6eec6cd0646708773eb9e89d4e835858b3f5c..b9ce97e9b481980ff5a9092bf09c8d3179fed495 100644 +index dee6eec..14424ac 100644 --- a/dist/cjs/internal/internal.js +++ b/dist/cjs/internal/internal.js -@@ -28,7 +28,9 @@ const defaultApi = /*#__PURE__*/Object.assign(V.it, { +@@ -28,7 +28,11 @@ const defaultApi = /*#__PURE__*/Object.assign(V.it, { }); const runPromise = ctx => effect => Effect.gen(function* () { const exitFiber = yield* Effect.fork(Effect.exit(effect)); - ctx?.onTestFinished(() => Fiber.interrupt(exitFiber).pipe(Effect.asVoid, Effect.runPromise)); -+ // Vitest 4 moved onTestFinished off the test context. Keep Effect 3's -+ // stable @effect/vitest usable until https://github.com/Effect-TS/effect/pull/5980 is released. -+ V.onTestFinished(() => Fiber.interrupt(exitFiber).pipe(Effect.asVoid, Effect.runPromise)); ++ // Register on the test's own context, which concurrent tests do not share. ++ // Vitest 4.0 contexts had no onTestFinished, so use the global hook there. ++ if (ctx) { ++ (ctx.onTestFinished ?? V.onTestFinished)(() => Fiber.interrupt(exitFiber).pipe(Effect.asVoid, Effect.runPromise)); ++ } const exit = yield* Fiber.join(exitFiber); if (Exit.isSuccess(exit)) { return () => exit.value; diff --git a/dist/esm/internal/internal.js b/dist/esm/internal/internal.js -index adb6b213294cbbc1559f7a283b4a84df41d8342e..a04cef4d46c499aac08518abf0a99759ce800039 100644 +index adb6b21..379aee7 100644 --- a/dist/esm/internal/internal.js +++ b/dist/esm/internal/internal.js -@@ -21,7 +21,9 @@ const defaultApi = /*#__PURE__*/Object.assign(V.it, { +@@ -21,7 +21,11 @@ const defaultApi = /*#__PURE__*/Object.assign(V.it, { }); const runPromise = ctx => effect => Effect.gen(function* () { const exitFiber = yield* Effect.fork(Effect.exit(effect)); - ctx?.onTestFinished(() => Fiber.interrupt(exitFiber).pipe(Effect.asVoid, Effect.runPromise)); -+ // Vitest 4 moved onTestFinished off the test context. Keep Effect 3's -+ // stable @effect/vitest usable until https://github.com/Effect-TS/effect/pull/5980 is released. -+ V.onTestFinished(() => Fiber.interrupt(exitFiber).pipe(Effect.asVoid, Effect.runPromise)); ++ // Register on the test's own context, which concurrent tests do not share. ++ // Vitest 4.0 contexts had no onTestFinished, so use the global hook there. ++ if (ctx) { ++ (ctx.onTestFinished ?? V.onTestFinished)(() => Fiber.interrupt(exitFiber).pipe(Effect.asVoid, Effect.runPromise)); ++ } const exit = yield* Fiber.join(exitFiber); if (Exit.isSuccess(exit)) { return () => exit.value; diff --git a/package.json b/package.json -index 1ceac68f8e5cfed5d014c4066414c4f8eec67a69..3c5cac8abdae6087e927fab2669b736c4a0be5c4 100644 +index 1ceac68..ac43401 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ @@ -37,22 +41,33 @@ index 1ceac68f8e5cfed5d014c4066414c4f8eec67a69..3c5cac8abdae6087e927fab2669b736c "homepage": "https://effect.website", "peerDependencies": { - "vitest": "^3.2.0", -+ "vitest": "^3.2.0 || ^4.0.0", ++ "vitest": "^3.2.0 || ^4.0.0 || ^5.0.0", "effect": "^3.21.0" }, "publishConfig": { diff --git a/src/internal/internal.ts b/src/internal/internal.ts -index bd11019b8ad51bd49cc3015f8c69aac04ad18822..1d8a04e1ae3d195d75553fb3944efdd9720f64ca 100644 +index bd11019..9313f73 100644 --- a/src/internal/internal.ts +++ b/src/internal/internal.ts -@@ -29,7 +29,9 @@ const runPromise = (ctx?: Vitest.TestContext) => (effect: Effect.Effect (effect: Effect.Effect -+ // Vitest 4 moved onTestFinished off the test context. Keep Effect 3's -+ // stable @effect/vitest usable until https://github.com/Effect-TS/effect/pull/5980 is released. -+ V.onTestFinished(() => - Fiber.interrupt(exitFiber).pipe( - Effect.asVoid, - Effect.runPromise +- Fiber.interrupt(exitFiber).pipe( +- Effect.asVoid, +- Effect.runPromise ++ // Register on the test's own context, which concurrent tests do not share. ++ // Vitest 4.0 contexts had no onTestFinished, so use the global hook there. ++ if (ctx) { ++ ;(ctx.onTestFinished ?? V.onTestFinished)(() => ++ Fiber.interrupt(exitFiber).pipe( ++ Effect.asVoid, ++ Effect.runPromise ++ ) + ) +- ) ++ } + + const exit = yield* Fiber.join(exitFiber) + if (Exit.isSuccess(exit)) { diff --git a/apps/brunch-agent/src/provider-registration.test.ts b/apps/brunch-agent/src/provider-registration.test.ts index dfeb276ef95..9ed808d9b55 100644 --- a/apps/brunch-agent/src/provider-registration.test.ts +++ b/apps/brunch-agent/src/provider-registration.test.ts @@ -52,29 +52,36 @@ vi.mock( }; }, ); +let registeredProviders: Parameters[0][] = []; +let instrumentations: Parameters[0][] = []; +let nativeOpenRouterProvider: Provider | undefined; + beforeAll(async () => { await import("./app"); + registeredProviders = vi + .mocked(setProvider) + .mock.calls.map(([provider]) => provider); + instrumentations = vi + .mocked(instrument) + .mock.calls.map(([instrumentation]) => instrumentation); + const { openrouterProvider } = + await import("@earendil-works/pi-ai/providers/openrouter"); + const result = vi.mocked(openrouterProvider).mock.results[0]; + nativeOpenRouterProvider = + result?.type === "return" ? result.value : undefined; }); test("app registration admits the Anthropic, OpenAI and OpenRouter providers", () => { - const ids = vi - .mocked(setProvider) - .mock.calls.map(([entry]) => entry.id) - .sort(); + const ids = registeredProviders.map((provider) => provider.id).sort(); expect(ids).toEqual(["anthropic", "openai", "openrouter"]); }); test("app registration admits native OpenRouter with GPT-6.1 Sol and its API-key auth", async () => { - const { openrouterProvider } = - await import("@earendil-works/pi-ai/providers/openrouter"); - const native = vi.mocked(openrouterProvider).mock.results[0]?.value as - | Provider - | undefined; + const native = nativeOpenRouterProvider; expect(native).toBeDefined(); - const provider = vi - .mocked(setProvider) - .mock.calls.map(([entry]) => entry) - .find((entry) => entry.id === "openrouter")!; + const provider = registeredProviders.find( + (provider) => provider.id === "openrouter", + )!; expect(provider.auth).toBe(native!.auth); // The catalogue extension keeps native streams, so a different stream is the admission wrapper. expect(Reflect.get(provider, "streamSimple")).not.toBe( @@ -108,16 +115,15 @@ const drain = async (stream: ReturnType) => { }; test("app registration scopes admission to the Petrinaut agent's execution, isolating concurrent agents and delegated tasks", async () => { - const registration = vi - .mocked(instrument) - .mock.calls.find( - ([entry]) => entry.key === Symbol.for("brunch.buffered-tool-admission"), - )?.[0]; + const registration = instrumentations.find( + (instrumentation) => + instrumentation.key === Symbol.for("brunch.buffered-tool-admission"), + ); expect(registration).toBeDefined(); - const provider = vi - .mocked(setProvider) - .mock.calls.map(([entry]) => entry) - .find((entry) => entry.id === "anthropic")!; + const provider = registeredProviders.find( + (provider) => provider.id === "anthropic", + )!; + expect(provider.auth).toBe(faux.provider.auth); expect(provider.getModels()).toEqual(faux.provider.getModels()); const model = provider.getModels()[0]!; diff --git a/yarn.lock b/yarn.lock index 64f72b7b8a2..bb8011f4c5a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5318,11 +5318,11 @@ __metadata: "@effect/vitest@patch:@effect/vitest@npm%3A0.29.0#~/.yarn/patches/@effect-vitest-npm-0.29.0-1c8cf3c306.patch": version: 0.29.0 - resolution: "@effect/vitest@patch:@effect/vitest@npm%3A0.29.0#~/.yarn/patches/@effect-vitest-npm-0.29.0-1c8cf3c306.patch::version=0.29.0&hash=a9b639" + resolution: "@effect/vitest@patch:@effect/vitest@npm%3A0.29.0#~/.yarn/patches/@effect-vitest-npm-0.29.0-1c8cf3c306.patch::version=0.29.0&hash=bc0d2f" peerDependencies: effect: ^3.21.0 vitest: ^3.2.0 - checksum: 10c0/28127e1aa22928e58c0b09cf0494e38baac3fe0397223273136c78cce6b21650c7f73935e32a05e116d1c10e0b552552011bbe213a67de3975522712690a6e6f + checksum: 10c0/9279825836f9efa7f2da6c94162a2b5782963a4c8a1cb63cc76ea534436d20220051cbe2211a97f4e7768bcea45c4642d3bcae51ac1f9491f0b885caaff436b3 languageName: node linkType: hard From c61c56c0c325f68f1ae608721eeeb9908f7f95ea Mon Sep 17 00:00:00 2001 From: Bilal Mahmoud <7252775+indietyp@users.noreply.github.com> Date: Wed, 7 Oct 2026 16:37:08 +0200 Subject: [PATCH 4/4] test: migrate codec benchmarks to vitest bench API --- .../tests/wire-protocol/codec.bench.ts | 40 +++++++++++-------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/libs/@local/harpc/client/typescript/tests/wire-protocol/codec.bench.ts b/libs/@local/harpc/client/typescript/tests/wire-protocol/codec.bench.ts index 825bbebb5b6..da5462a595a 100644 --- a/libs/@local/harpc/client/typescript/tests/wire-protocol/codec.bench.ts +++ b/libs/@local/harpc/client/typescript/tests/wire-protocol/codec.bench.ts @@ -1,5 +1,5 @@ import { Either, FastCheck, pipe } from "effect"; -import { bench, describe } from "vitest"; +import { describe, test } from "vitest"; import { MutableBuffer, MutableBytes } from "../../src/binary/index.js"; import { Request } from "../../src/wire-protocol/models/request/index.js"; @@ -35,29 +35,35 @@ const responseEncoded = pipe( ); describe("request", () => { - bench("encode", () => { - Request.encode(MutableBuffer.makeWrite(), request[0]!).pipe( - Either.getOrThrow, - ); - }); + // eslint-disable-next-line vitest/expect-expect + test("codec", async ({ bench }) => { + await bench("encode", () => { + Request.encode(MutableBuffer.makeWrite(), request[0]!).pipe( + Either.getOrThrow, + ); + }).run(); - bench("decode", () => { - const buffer = MutableBuffer.makeRead(MutableBytes.from(requestEncoded)); + await bench("decode", () => { + const buffer = MutableBuffer.makeRead(MutableBytes.from(requestEncoded)); - Request.decode(buffer); + Request.decode(buffer); + }).run(); }); }); describe("response", () => { - bench("encode", () => { - Response.encode(MutableBuffer.makeWrite(), response[0]!).pipe( - Either.getOrThrow, - ); - }); + // eslint-disable-next-line vitest/expect-expect + test("codec", async ({ bench }) => { + await bench("encode", () => { + Response.encode(MutableBuffer.makeWrite(), response[0]!).pipe( + Either.getOrThrow, + ); + }).run(); - bench("decode", () => { - const buffer = MutableBuffer.makeRead(MutableBytes.from(responseEncoded)); + await bench("decode", () => { + const buffer = MutableBuffer.makeRead(MutableBytes.from(responseEncoded)); - Response.decode(buffer); + Response.decode(buffer); + }).run(); }); });