Skip to content

Commit 3b0fde6

Browse files
committed
fix(create): use catalog: references in bun overrides
Bun's overrides field supports catalog: references. Use them instead of raw version strings so all version management is centralized in the catalog definition.
1 parent c205ed7 commit 3b0fde6

2 files changed

Lines changed: 11 additions & 8 deletions

File tree

packages/cli/snap-tests-global/new-vite-monorepo-bun/snap.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ vite.config.ts
2828
"vite-plus": "catalog:"
2929
},
3030
"overrides": {
31-
"vite": "npm:@voidzero-dev/vite-plus-core@latest",
32-
"vitest": "npm:@voidzero-dev/vite-plus-test@latest"
31+
"vite": "catalog:",
32+
"vitest": "catalog:"
3333
},
3434
"engines": {
3535
"node": ">=22.12.0"

packages/cli/src/migration/migrator.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -985,11 +985,12 @@ function rewriteBunCatalog(projectPath: string): void {
985985

986986
pkg.catalog = catalog;
987987

988-
// bun uses overrides in package.json (catalog: references are NOT supported in overrides)
989-
pkg.overrides = {
990-
...pkg.overrides,
991-
...VITE_PLUS_OVERRIDE_PACKAGES,
992-
};
988+
// bun overrides support catalog: references
989+
const overrides: Record<string, string> = { ...pkg.overrides };
990+
for (const key of Object.keys(VITE_PLUS_OVERRIDE_PACKAGES)) {
991+
overrides[key] = 'catalog:';
992+
}
993+
pkg.overrides = overrides;
993994

994995
return pkg;
995996
});
@@ -1024,11 +1025,13 @@ function rewriteRootWorkspacePackageJson(
10241025
// https://github.com/yarnpkg/berry/issues/6979
10251026
...VITE_PLUS_OVERRIDE_PACKAGES,
10261027
};
1027-
} else if (packageManager === PackageManager.npm || packageManager === PackageManager.bun) {
1028+
} else if (packageManager === PackageManager.npm) {
10281029
pkg.overrides = {
10291030
...pkg.overrides,
10301031
...VITE_PLUS_OVERRIDE_PACKAGES,
10311032
};
1033+
} else if (packageManager === PackageManager.bun) {
1034+
// bun overrides are handled in rewriteBunCatalog() with catalog: references
10321035
} else if (packageManager === PackageManager.pnpm) {
10331036
if (isForceOverrideMode()) {
10341037
// In force-override mode, keep overrides in package.json pnpm.overrides

0 commit comments

Comments
 (0)