From 487e3389139c206390c039d38406970ee889c5ed Mon Sep 17 00:00:00 2001 From: fengmk2 Date: Tue, 31 Mar 2026 02:58:50 +0000 Subject: [PATCH] fix(cli): add peerDependencyRules for standalone pnpm projects (#1222) When `vp create` or `vp migrate` sets up a standalone pnpm project, only `pnpm.overrides` was written to package.json. This caused noisy unmet peer dependency warnings because packages expecting `vite` saw the vite-plus version instead. Add `pnpm.peerDependencyRules` (allowAny + allowedVersions) alongside overrides to suppress these warnings, matching the behavior already present for monorepo projects via rewritePnpmWorkspaceYaml(). --- .../migration-add-git-hooks/snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../migration-baseurl-tsconfig/snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../migration-composed-husky-prepare/snap.txt | 10 ++++++ .../migration-env-prefix-lint-staged/snap.txt | 10 ++++++ .../migration-eslint-lint-staged/snap.txt | 10 ++++++ .../migration-eslint-lintstagedrc/snap.txt | 10 ++++++ .../migration-eslint-npx-wrapper/snap.txt | 10 ++++++ .../migration-eslint/snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../migration-existing-husky/snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../snap.txt | 20 +++++++++++ .../migration-from-tsdown/snap.txt | 20 +++++++++++ .../migration-from-vitest-config/snap.txt | 10 ++++++ .../migration-from-vitest-files/snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../migration-husky-latest-dist-tag/snap.txt | 10 ++++++ .../migration-husky-or-prepare/snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../migration-lint-staged-in-scripts/snap.txt | 10 ++++++ .../migration-lint-staged-merge-fail/snap.txt | 10 ++++++ .../migration-lint-staged-ts-config/snap.txt | 10 ++++++ .../migration-lintstagedrc-json/snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../migration-merge-vite-config-js/snap.txt | 10 ++++++ .../migration-merge-vite-config-ts/snap.txt | 10 ++++++ .../migration-no-git-repo/snap.txt | 10 ++++++ .../migration-no-hooks-with-husky/snap.txt | 10 ++++++ .../migration-no-hooks/snap.txt | 10 ++++++ .../migration-other-hook-tool/snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../migration-oxlintrc-jsonc/snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../migration-prettier-eslint-combo/snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../migration-prettier-lint-staged/snap.txt | 10 ++++++ .../migration-prettier-pkg-json/snap.txt | 10 ++++++ .../migration-prettier/snap.txt | 10 ++++++ .../migration-rewrite-declare-module/snap.txt | 10 ++++++ .../migration-skip-vite-dependency/snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../migration-standalone-pnpm/.gitignore | 1 + .../migration-standalone-pnpm/package.json | 7 ++++ .../migration-standalone-pnpm/snap.txt | 34 +++++++++++++++++++ .../migration-standalone-pnpm/steps.json | 12 +++++++ .../migration-subpath/snap.txt | 10 ++++++ .../snap.txt | 10 ++++++ .../migration-vite-version/snap.txt | 10 ++++++ packages/cli/src/migration/migrator.ts | 20 ++++++++--- 60 files changed, 639 insertions(+), 5 deletions(-) create mode 100644 packages/cli/snap-tests-global/migration-standalone-pnpm/.gitignore create mode 100644 packages/cli/snap-tests-global/migration-standalone-pnpm/package.json create mode 100644 packages/cli/snap-tests-global/migration-standalone-pnpm/snap.txt create mode 100644 packages/cli/snap-tests-global/migration-standalone-pnpm/steps.json diff --git a/packages/cli/snap-tests-global/migration-add-git-hooks/snap.txt b/packages/cli/snap-tests-global/migration-add-git-hooks/snap.txt index 59fc59eab1..313d5c1634 100644 --- a/packages/cli/snap-tests-global/migration-add-git-hooks/snap.txt +++ b/packages/cli/snap-tests-global/migration-add-git-hooks/snap.txt @@ -18,6 +18,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@", diff --git a/packages/cli/snap-tests-global/migration-auto-create-vite-config/snap.txt b/packages/cli/snap-tests-global/migration-auto-create-vite-config/snap.txt index 9fb8a5d155..5c953a30d7 100644 --- a/packages/cli/snap-tests-global/migration-auto-create-vite-config/snap.txt +++ b/packages/cli/snap-tests-global/migration-auto-create-vite-config/snap.txt @@ -41,6 +41,16 @@ export default defineConfig({ "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@", diff --git a/packages/cli/snap-tests-global/migration-baseurl-tsconfig/snap.txt b/packages/cli/snap-tests-global/migration-baseurl-tsconfig/snap.txt index e4f6d9a206..6e076dffc1 100644 --- a/packages/cli/snap-tests-global/migration-baseurl-tsconfig/snap.txt +++ b/packages/cli/snap-tests-global/migration-baseurl-tsconfig/snap.txt @@ -34,6 +34,16 @@ export default defineConfig({ "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@", diff --git a/packages/cli/snap-tests-global/migration-chained-lint-staged-pre-commit/snap.txt b/packages/cli/snap-tests-global/migration-chained-lint-staged-pre-commit/snap.txt index d249a630af..599506d00f 100644 --- a/packages/cli/snap-tests-global/migration-chained-lint-staged-pre-commit/snap.txt +++ b/packages/cli/snap-tests-global/migration-chained-lint-staged-pre-commit/snap.txt @@ -21,6 +21,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-composed-husky-custom-dir/snap.txt b/packages/cli/snap-tests-global/migration-composed-husky-custom-dir/snap.txt index 2d27d2a0c8..016f9146ee 100644 --- a/packages/cli/snap-tests-global/migration-composed-husky-custom-dir/snap.txt +++ b/packages/cli/snap-tests-global/migration-composed-husky-custom-dir/snap.txt @@ -21,6 +21,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-composed-husky-prepare/snap.txt b/packages/cli/snap-tests-global/migration-composed-husky-prepare/snap.txt index 9a4aa227ab..4878b8ea21 100644 --- a/packages/cli/snap-tests-global/migration-composed-husky-prepare/snap.txt +++ b/packages/cli/snap-tests-global/migration-composed-husky-prepare/snap.txt @@ -21,6 +21,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-env-prefix-lint-staged/snap.txt b/packages/cli/snap-tests-global/migration-env-prefix-lint-staged/snap.txt index 8c4b64d41c..2093483422 100644 --- a/packages/cli/snap-tests-global/migration-env-prefix-lint-staged/snap.txt +++ b/packages/cli/snap-tests-global/migration-env-prefix-lint-staged/snap.txt @@ -21,6 +21,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-eslint-lint-staged/snap.txt b/packages/cli/snap-tests-global/migration-eslint-lint-staged/snap.txt index 38daa0d79c..d3af079b9f 100644 --- a/packages/cli/snap-tests-global/migration-eslint-lint-staged/snap.txt +++ b/packages/cli/snap-tests-global/migration-eslint-lint-staged/snap.txt @@ -22,6 +22,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } } } diff --git a/packages/cli/snap-tests-global/migration-eslint-lintstagedrc/snap.txt b/packages/cli/snap-tests-global/migration-eslint-lintstagedrc/snap.txt index 80df03be3d..b387221bb9 100644 --- a/packages/cli/snap-tests-global/migration-eslint-lintstagedrc/snap.txt +++ b/packages/cli/snap-tests-global/migration-eslint-lintstagedrc/snap.txt @@ -22,6 +22,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } } } diff --git a/packages/cli/snap-tests-global/migration-eslint-npx-wrapper/snap.txt b/packages/cli/snap-tests-global/migration-eslint-npx-wrapper/snap.txt index 200ef19892..9a6b19e9f2 100644 --- a/packages/cli/snap-tests-global/migration-eslint-npx-wrapper/snap.txt +++ b/packages/cli/snap-tests-global/migration-eslint-npx-wrapper/snap.txt @@ -27,6 +27,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } } } diff --git a/packages/cli/snap-tests-global/migration-eslint/snap.txt b/packages/cli/snap-tests-global/migration-eslint/snap.txt index 6906eeaf5a..84924d39f5 100644 --- a/packages/cli/snap-tests-global/migration-eslint/snap.txt +++ b/packages/cli/snap-tests-global/migration-eslint/snap.txt @@ -25,6 +25,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } } } diff --git a/packages/cli/snap-tests-global/migration-existing-husky-lint-staged/snap.txt b/packages/cli/snap-tests-global/migration-existing-husky-lint-staged/snap.txt index b260ddbd02..bd41587b9a 100644 --- a/packages/cli/snap-tests-global/migration-existing-husky-lint-staged/snap.txt +++ b/packages/cli/snap-tests-global/migration-existing-husky-lint-staged/snap.txt @@ -21,6 +21,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-existing-husky-v8-hooks/snap.txt b/packages/cli/snap-tests-global/migration-existing-husky-v8-hooks/snap.txt index b09beda0c9..27b4479bc2 100644 --- a/packages/cli/snap-tests-global/migration-existing-husky-v8-hooks/snap.txt +++ b/packages/cli/snap-tests-global/migration-existing-husky-v8-hooks/snap.txt @@ -24,6 +24,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-existing-husky-v8-multi-hooks/snap.txt b/packages/cli/snap-tests-global/migration-existing-husky-v8-multi-hooks/snap.txt index 91d07a910f..ce33fd7bc5 100644 --- a/packages/cli/snap-tests-global/migration-existing-husky-v8-multi-hooks/snap.txt +++ b/packages/cli/snap-tests-global/migration-existing-husky-v8-multi-hooks/snap.txt @@ -24,6 +24,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-existing-husky/snap.txt b/packages/cli/snap-tests-global/migration-existing-husky/snap.txt index ccbb5bac58..256cfa698e 100644 --- a/packages/cli/snap-tests-global/migration-existing-husky/snap.txt +++ b/packages/cli/snap-tests-global/migration-existing-husky/snap.txt @@ -21,6 +21,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-existing-lint-staged-config/snap.txt b/packages/cli/snap-tests-global/migration-existing-lint-staged-config/snap.txt index 30a4b77cdb..5031acb9ca 100644 --- a/packages/cli/snap-tests-global/migration-existing-lint-staged-config/snap.txt +++ b/packages/cli/snap-tests-global/migration-existing-lint-staged-config/snap.txt @@ -18,6 +18,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@", diff --git a/packages/cli/snap-tests-global/migration-existing-pnpm-exec-lint-staged/snap.txt b/packages/cli/snap-tests-global/migration-existing-pnpm-exec-lint-staged/snap.txt index 820a5041dd..ff4a2df284 100644 --- a/packages/cli/snap-tests-global/migration-existing-pnpm-exec-lint-staged/snap.txt +++ b/packages/cli/snap-tests-global/migration-existing-pnpm-exec-lint-staged/snap.txt @@ -21,6 +21,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-existing-prepare-script/snap.txt b/packages/cli/snap-tests-global/migration-existing-prepare-script/snap.txt index 3ae83cb763..ca8679edbe 100644 --- a/packages/cli/snap-tests-global/migration-existing-prepare-script/snap.txt +++ b/packages/cli/snap-tests-global/migration-existing-prepare-script/snap.txt @@ -22,6 +22,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-from-tsdown-json-config/snap.txt b/packages/cli/snap-tests-global/migration-from-tsdown-json-config/snap.txt index e959e77120..29d24363a9 100644 --- a/packages/cli/snap-tests-global/migration-from-tsdown-json-config/snap.txt +++ b/packages/cli/snap-tests-global/migration-from-tsdown-json-config/snap.txt @@ -46,6 +46,16 @@ export default defineConfig({ "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" @@ -97,6 +107,16 @@ export default defineConfig({ "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-from-tsdown/snap.txt b/packages/cli/snap-tests-global/migration-from-tsdown/snap.txt index bda47ba5a6..93eb0448c8 100644 --- a/packages/cli/snap-tests-global/migration-from-tsdown/snap.txt +++ b/packages/cli/snap-tests-global/migration-from-tsdown/snap.txt @@ -48,6 +48,16 @@ export default defineConfig({ "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" @@ -100,6 +110,16 @@ export default defineConfig({ "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-from-vitest-config/snap.txt b/packages/cli/snap-tests-global/migration-from-vitest-config/snap.txt index 3ee4c41d3e..190eaba12a 100644 --- a/packages/cli/snap-tests-global/migration-from-vitest-config/snap.txt +++ b/packages/cli/snap-tests-global/migration-from-vitest-config/snap.txt @@ -50,6 +50,16 @@ export default defineConfig({ "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-from-vitest-files/snap.txt b/packages/cli/snap-tests-global/migration-from-vitest-files/snap.txt index 4dda407457..1e5bd0e51d 100644 --- a/packages/cli/snap-tests-global/migration-from-vitest-files/snap.txt +++ b/packages/cli/snap-tests-global/migration-from-vitest-files/snap.txt @@ -25,6 +25,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-hooks-skip-on-existing-hookspath/snap.txt b/packages/cli/snap-tests-global/migration-hooks-skip-on-existing-hookspath/snap.txt index c5913fb657..d4c0a7a716 100644 --- a/packages/cli/snap-tests-global/migration-hooks-skip-on-existing-hookspath/snap.txt +++ b/packages/cli/snap-tests-global/migration-hooks-skip-on-existing-hookspath/snap.txt @@ -24,6 +24,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-husky-latest-dist-tag-v9-installed/snap.txt b/packages/cli/snap-tests-global/migration-husky-latest-dist-tag-v9-installed/snap.txt index 3ca53f7df1..6a33076d93 100644 --- a/packages/cli/snap-tests-global/migration-husky-latest-dist-tag-v9-installed/snap.txt +++ b/packages/cli/snap-tests-global/migration-husky-latest-dist-tag-v9-installed/snap.txt @@ -21,6 +21,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-husky-latest-dist-tag/snap.txt b/packages/cli/snap-tests-global/migration-husky-latest-dist-tag/snap.txt index 116f8a51c1..98268e651c 100644 --- a/packages/cli/snap-tests-global/migration-husky-latest-dist-tag/snap.txt +++ b/packages/cli/snap-tests-global/migration-husky-latest-dist-tag/snap.txt @@ -23,6 +23,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-husky-or-prepare/snap.txt b/packages/cli/snap-tests-global/migration-husky-or-prepare/snap.txt index 11f243bffc..b9deafe60b 100644 --- a/packages/cli/snap-tests-global/migration-husky-or-prepare/snap.txt +++ b/packages/cli/snap-tests-global/migration-husky-or-prepare/snap.txt @@ -21,6 +21,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-husky-semicolon-prepare/snap.txt b/packages/cli/snap-tests-global/migration-husky-semicolon-prepare/snap.txt index ae0f315ec2..2a586baaa1 100644 --- a/packages/cli/snap-tests-global/migration-husky-semicolon-prepare/snap.txt +++ b/packages/cli/snap-tests-global/migration-husky-semicolon-prepare/snap.txt @@ -21,6 +21,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-husky-v8-preserves-lint-staged/snap.txt b/packages/cli/snap-tests-global/migration-husky-v8-preserves-lint-staged/snap.txt index f069920623..728d920020 100644 --- a/packages/cli/snap-tests-global/migration-husky-v8-preserves-lint-staged/snap.txt +++ b/packages/cli/snap-tests-global/migration-husky-v8-preserves-lint-staged/snap.txt @@ -27,6 +27,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-lint-staged-in-scripts/snap.txt b/packages/cli/snap-tests-global/migration-lint-staged-in-scripts/snap.txt index 7d0434118f..d960df09e5 100644 --- a/packages/cli/snap-tests-global/migration-lint-staged-in-scripts/snap.txt +++ b/packages/cli/snap-tests-global/migration-lint-staged-in-scripts/snap.txt @@ -22,6 +22,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-lint-staged-merge-fail/snap.txt b/packages/cli/snap-tests-global/migration-lint-staged-merge-fail/snap.txt index 82cf9f1a1d..bfe19bfa7d 100644 --- a/packages/cli/snap-tests-global/migration-lint-staged-merge-fail/snap.txt +++ b/packages/cli/snap-tests-global/migration-lint-staged-merge-fail/snap.txt @@ -27,6 +27,16 @@ Please add staged config to vite.config.ts manually, see https://viteplus.dev/gu "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@", diff --git a/packages/cli/snap-tests-global/migration-lint-staged-ts-config/snap.txt b/packages/cli/snap-tests-global/migration-lint-staged-ts-config/snap.txt index 4b2410a37f..1168dd1abb 100644 --- a/packages/cli/snap-tests-global/migration-lint-staged-ts-config/snap.txt +++ b/packages/cli/snap-tests-global/migration-lint-staged-ts-config/snap.txt @@ -25,6 +25,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-lintstagedrc-json/snap.txt b/packages/cli/snap-tests-global/migration-lintstagedrc-json/snap.txt index 238997d15c..4b1f6fb0f4 100644 --- a/packages/cli/snap-tests-global/migration-lintstagedrc-json/snap.txt +++ b/packages/cli/snap-tests-global/migration-lintstagedrc-json/snap.txt @@ -89,6 +89,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "devDependencies": { diff --git a/packages/cli/snap-tests-global/migration-lintstagedrc-merge-fail/snap.txt b/packages/cli/snap-tests-global/migration-lintstagedrc-merge-fail/snap.txt index fd326b4634..0d958795da 100644 --- a/packages/cli/snap-tests-global/migration-lintstagedrc-merge-fail/snap.txt +++ b/packages/cli/snap-tests-global/migration-lintstagedrc-merge-fail/snap.txt @@ -24,6 +24,16 @@ Please add staged config to vite.config.ts manually, see https://viteplus.dev/gu "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@", diff --git a/packages/cli/snap-tests-global/migration-lintstagedrc-not-support/snap.txt b/packages/cli/snap-tests-global/migration-lintstagedrc-not-support/snap.txt index 3d9a265db8..a3c445fa81 100644 --- a/packages/cli/snap-tests-global/migration-lintstagedrc-not-support/snap.txt +++ b/packages/cli/snap-tests-global/migration-lintstagedrc-not-support/snap.txt @@ -38,6 +38,16 @@ export default { "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-lintstagedrc-staged-exists/snap.txt b/packages/cli/snap-tests-global/migration-lintstagedrc-staged-exists/snap.txt index 3d1722081a..a9db4cc9b2 100644 --- a/packages/cli/snap-tests-global/migration-lintstagedrc-staged-exists/snap.txt +++ b/packages/cli/snap-tests-global/migration-lintstagedrc-staged-exists/snap.txt @@ -19,6 +19,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@", diff --git a/packages/cli/snap-tests-global/migration-merge-vite-config-js/snap.txt b/packages/cli/snap-tests-global/migration-merge-vite-config-js/snap.txt index e300be0687..8430c75828 100644 --- a/packages/cli/snap-tests-global/migration-merge-vite-config-js/snap.txt +++ b/packages/cli/snap-tests-global/migration-merge-vite-config-js/snap.txt @@ -43,6 +43,16 @@ export default { "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-merge-vite-config-ts/snap.txt b/packages/cli/snap-tests-global/migration-merge-vite-config-ts/snap.txt index d11f61d1bb..bc115eb91e 100644 --- a/packages/cli/snap-tests-global/migration-merge-vite-config-ts/snap.txt +++ b/packages/cli/snap-tests-global/migration-merge-vite-config-ts/snap.txt @@ -76,6 +76,16 @@ export default defineConfig({ "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-no-git-repo/snap.txt b/packages/cli/snap-tests-global/migration-no-git-repo/snap.txt index b53b90ddea..2e0edfb3a3 100644 --- a/packages/cli/snap-tests-global/migration-no-git-repo/snap.txt +++ b/packages/cli/snap-tests-global/migration-no-git-repo/snap.txt @@ -16,6 +16,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@", diff --git a/packages/cli/snap-tests-global/migration-no-hooks-with-husky/snap.txt b/packages/cli/snap-tests-global/migration-no-hooks-with-husky/snap.txt index 5c905f6fd6..b3b552590d 100644 --- a/packages/cli/snap-tests-global/migration-no-hooks-with-husky/snap.txt +++ b/packages/cli/snap-tests-global/migration-no-hooks-with-husky/snap.txt @@ -26,6 +26,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-no-hooks/snap.txt b/packages/cli/snap-tests-global/migration-no-hooks/snap.txt index b4a8e2af58..7e81264402 100644 --- a/packages/cli/snap-tests-global/migration-no-hooks/snap.txt +++ b/packages/cli/snap-tests-global/migration-no-hooks/snap.txt @@ -17,6 +17,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-other-hook-tool/snap.txt b/packages/cli/snap-tests-global/migration-other-hook-tool/snap.txt index 9c6f68fe17..0a71a3cd60 100644 --- a/packages/cli/snap-tests-global/migration-other-hook-tool/snap.txt +++ b/packages/cli/snap-tests-global/migration-other-hook-tool/snap.txt @@ -29,6 +29,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-oxlintrc-json-with-comments/snap.txt b/packages/cli/snap-tests-global/migration-oxlintrc-json-with-comments/snap.txt index 330684996b..eb1b04d56e 100644 --- a/packages/cli/snap-tests-global/migration-oxlintrc-json-with-comments/snap.txt +++ b/packages/cli/snap-tests-global/migration-oxlintrc-json-with-comments/snap.txt @@ -39,6 +39,16 @@ export default defineConfig({ "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@", diff --git a/packages/cli/snap-tests-global/migration-oxlintrc-jsonc/snap.txt b/packages/cli/snap-tests-global/migration-oxlintrc-jsonc/snap.txt index 5dd183b193..a5dbbcede3 100644 --- a/packages/cli/snap-tests-global/migration-oxlintrc-jsonc/snap.txt +++ b/packages/cli/snap-tests-global/migration-oxlintrc-jsonc/snap.txt @@ -41,6 +41,16 @@ export default defineConfig({ "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@", diff --git a/packages/cli/snap-tests-global/migration-partially-migrated-pre-commit/snap.txt b/packages/cli/snap-tests-global/migration-partially-migrated-pre-commit/snap.txt index 91c899ecab..4ec6b3b412 100644 --- a/packages/cli/snap-tests-global/migration-partially-migrated-pre-commit/snap.txt +++ b/packages/cli/snap-tests-global/migration-partially-migrated-pre-commit/snap.txt @@ -24,6 +24,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-prettier-eslint-combo/snap.txt b/packages/cli/snap-tests-global/migration-prettier-eslint-combo/snap.txt index 8d2a0bc035..3231503038 100644 --- a/packages/cli/snap-tests-global/migration-prettier-eslint-combo/snap.txt +++ b/packages/cli/snap-tests-global/migration-prettier-eslint-combo/snap.txt @@ -29,6 +29,16 @@ Prettier configuration detected. Auto-migrating to Oxfmt... "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } } } diff --git a/packages/cli/snap-tests-global/migration-prettier-ignore-unknown/snap.txt b/packages/cli/snap-tests-global/migration-prettier-ignore-unknown/snap.txt index 4565ec15ee..1c48e422e8 100644 --- a/packages/cli/snap-tests-global/migration-prettier-ignore-unknown/snap.txt +++ b/packages/cli/snap-tests-global/migration-prettier-ignore-unknown/snap.txt @@ -26,6 +26,16 @@ Prettier configuration detected. Auto-migrating to Oxfmt... "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-prettier-lint-staged/snap.txt b/packages/cli/snap-tests-global/migration-prettier-lint-staged/snap.txt index 0e1decb35c..ea122f5234 100644 --- a/packages/cli/snap-tests-global/migration-prettier-lint-staged/snap.txt +++ b/packages/cli/snap-tests-global/migration-prettier-lint-staged/snap.txt @@ -23,6 +23,16 @@ Prettier configuration detected. Auto-migrating to Oxfmt... "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-prettier-pkg-json/snap.txt b/packages/cli/snap-tests-global/migration-prettier-pkg-json/snap.txt index 460c4340b1..edae587394 100644 --- a/packages/cli/snap-tests-global/migration-prettier-pkg-json/snap.txt +++ b/packages/cli/snap-tests-global/migration-prettier-pkg-json/snap.txt @@ -24,6 +24,16 @@ Prettier configuration detected. Auto-migrating to Oxfmt... "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-prettier/snap.txt b/packages/cli/snap-tests-global/migration-prettier/snap.txt index 782ea99b4d..21fb63efc0 100644 --- a/packages/cli/snap-tests-global/migration-prettier/snap.txt +++ b/packages/cli/snap-tests-global/migration-prettier/snap.txt @@ -26,6 +26,16 @@ Prettier configuration detected. Auto-migrating to Oxfmt... "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/snap-tests-global/migration-rewrite-declare-module/snap.txt b/packages/cli/snap-tests-global/migration-rewrite-declare-module/snap.txt index 21ecc6807e..dc81866ea1 100644 --- a/packages/cli/snap-tests-global/migration-rewrite-declare-module/snap.txt +++ b/packages/cli/snap-tests-global/migration-rewrite-declare-module/snap.txt @@ -43,6 +43,16 @@ declare module 'vite-plus' { "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "devDependencies": { diff --git a/packages/cli/snap-tests-global/migration-skip-vite-dependency/snap.txt b/packages/cli/snap-tests-global/migration-skip-vite-dependency/snap.txt index 2434d6bbdc..afd56649e6 100644 --- a/packages/cli/snap-tests-global/migration-skip-vite-dependency/snap.txt +++ b/packages/cli/snap-tests-global/migration-skip-vite-dependency/snap.txt @@ -38,6 +38,16 @@ export default defineConfig({ "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "devDependencies": { diff --git a/packages/cli/snap-tests-global/migration-skip-vite-peer-dependency/snap.txt b/packages/cli/snap-tests-global/migration-skip-vite-peer-dependency/snap.txt index a469d1669f..6adef40f70 100644 --- a/packages/cli/snap-tests-global/migration-skip-vite-peer-dependency/snap.txt +++ b/packages/cli/snap-tests-global/migration-skip-vite-peer-dependency/snap.txt @@ -38,6 +38,16 @@ export default defineConfig({ "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "devDependencies": { diff --git a/packages/cli/snap-tests-global/migration-standalone-pnpm/.gitignore b/packages/cli/snap-tests-global/migration-standalone-pnpm/.gitignore new file mode 100644 index 0000000000..c2658d7d1b --- /dev/null +++ b/packages/cli/snap-tests-global/migration-standalone-pnpm/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/packages/cli/snap-tests-global/migration-standalone-pnpm/package.json b/packages/cli/snap-tests-global/migration-standalone-pnpm/package.json new file mode 100644 index 0000000000..623d51abc1 --- /dev/null +++ b/packages/cli/snap-tests-global/migration-standalone-pnpm/package.json @@ -0,0 +1,7 @@ +{ + "name": "migration-standalone-pnpm", + "devDependencies": { + "vite": "^7.0.0", + "vitest": "^4.0.0" + } +} diff --git a/packages/cli/snap-tests-global/migration-standalone-pnpm/snap.txt b/packages/cli/snap-tests-global/migration-standalone-pnpm/snap.txt new file mode 100644 index 0000000000..cc68285b72 --- /dev/null +++ b/packages/cli/snap-tests-global/migration-standalone-pnpm/snap.txt @@ -0,0 +1,34 @@ +> vp migrate --no-interactive --no-hooks --package-manager pnpm # migration should work with pnpm, add overrides and peerDependencyRules +VITE+ - The Unified Toolchain for the Web + +◇ Migrated . to Vite+ +• Node pnpm +✓ Dependencies installed in ms +• 1 config update applied + +> cat package.json # check package.json has pnpm.overrides and pnpm.peerDependencyRules +{ + "name": "migration-standalone-pnpm", + "devDependencies": { + "vite": "npm:@voidzero-dev/vite-plus-core@latest", + "vitest": "npm:@voidzero-dev/vite-plus-test@latest", + "vite-plus": "latest" + }, + "packageManager": "pnpm@", + "pnpm": { + "overrides": { + "vite": "npm:@voidzero-dev/vite-plus-core@latest", + "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } + } + } +} diff --git a/packages/cli/snap-tests-global/migration-standalone-pnpm/steps.json b/packages/cli/snap-tests-global/migration-standalone-pnpm/steps.json new file mode 100644 index 0000000000..4d9b689441 --- /dev/null +++ b/packages/cli/snap-tests-global/migration-standalone-pnpm/steps.json @@ -0,0 +1,12 @@ +{ + "ignoredPlatforms": ["win32"], + "env": { + "VITE_DISABLE_AUTO_INSTALL": "1", + "CI": "", + "VP_SKIP_INSTALL": "" + }, + "commands": [ + "vp migrate --no-interactive --no-hooks --package-manager pnpm # migration should work with pnpm, add overrides and peerDependencyRules", + "cat package.json # check package.json has pnpm.overrides and pnpm.peerDependencyRules" + ] +} diff --git a/packages/cli/snap-tests-global/migration-subpath/snap.txt b/packages/cli/snap-tests-global/migration-subpath/snap.txt index 64d8d29ae4..808bf3c1aa 100644 --- a/packages/cli/snap-tests-global/migration-subpath/snap.txt +++ b/packages/cli/snap-tests-global/migration-subpath/snap.txt @@ -24,6 +24,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "devDependencies": { diff --git a/packages/cli/snap-tests-global/migration-tsconfig-esmoduleinterop/snap.txt b/packages/cli/snap-tests-global/migration-tsconfig-esmoduleinterop/snap.txt index 7d83188646..7977518c46 100644 --- a/packages/cli/snap-tests-global/migration-tsconfig-esmoduleinterop/snap.txt +++ b/packages/cli/snap-tests-global/migration-tsconfig-esmoduleinterop/snap.txt @@ -38,6 +38,16 @@ export default defineConfig({ "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@", diff --git a/packages/cli/snap-tests-global/migration-vite-version/snap.txt b/packages/cli/snap-tests-global/migration-vite-version/snap.txt index 3029a0dda7..3ff08c08c3 100644 --- a/packages/cli/snap-tests-global/migration-vite-version/snap.txt +++ b/packages/cli/snap-tests-global/migration-vite-version/snap.txt @@ -21,6 +21,16 @@ VITE+ - The Unified Toolchain for the Web "overrides": { "vite": "npm:@voidzero-dev/vite-plus-core@latest", "vitest": "npm:@voidzero-dev/vite-plus-test@latest" + }, + "peerDependencyRules": { + "allowAny": [ + "vite", + "vitest" + ], + "allowedVersions": { + "vite": "*", + "vitest": "*" + } } }, "packageManager": "pnpm@" diff --git a/packages/cli/src/migration/migrator.ts b/packages/cli/src/migration/migrator.ts index 77a6115f97..e844f42584 100644 --- a/packages/cli/src/migration/migrator.ts +++ b/packages/cli/src/migration/migrator.ts @@ -698,10 +698,10 @@ export function rewriteStandaloneProject( scripts?: Record; pnpm?: { overrides?: Record; - // peerDependencyRules?: { - // allowAny?: string[]; - // allowedVersions?: Record; - // }; + peerDependencyRules?: { + allowAny?: string[]; + allowedVersions?: Record; + }; }; }>(packageJsonPath, (pkg) => { if (packageManager === PackageManager.yarn) { @@ -715,6 +715,7 @@ export function rewriteStandaloneProject( ...VITE_PLUS_OVERRIDE_PACKAGES, }; } else if (packageManager === PackageManager.pnpm) { + const overrideKeys = Object.keys(VITE_PLUS_OVERRIDE_PACKAGES); pkg.pnpm = { ...pkg.pnpm, overrides: { @@ -722,10 +723,19 @@ export function rewriteStandaloneProject( ...VITE_PLUS_OVERRIDE_PACKAGES, ...(isForceOverrideMode() ? { [VITE_PLUS_NAME]: VITE_PLUS_VERSION } : {}), }, + peerDependencyRules: { + allowAny: [ + ...new Set([...(pkg.pnpm?.peerDependencyRules?.allowAny ?? []), ...overrideKeys]), + ], + allowedVersions: { + ...pkg.pnpm?.peerDependencyRules?.allowedVersions, + ...Object.fromEntries(overrideKeys.map((key) => [key, '*'])), + }, + }, }; // remove packages from `resolutions` field if they exist // https://pnpm.io/9.x/package_json#resolutions - for (const key of [...Object.keys(VITE_PLUS_OVERRIDE_PACKAGES), ...REMOVE_PACKAGES]) { + for (const key of [...overrideKeys, ...REMOVE_PACKAGES]) { if (pkg.resolutions?.[key]) { delete pkg.resolutions[key]; }