From d98cd928d8c0492aa8f6fdf5adebf02718f7b34b Mon Sep 17 00:00:00 2001 From: Johannes Schuba Date: Tue, 1 Sep 2026 16:43:07 +0200 Subject: [PATCH 1/4] Update Zed information in ide-integration.md docs Signed-off-by: Johannes Schuba --- docs/guide/ide-integration.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/docs/guide/ide-integration.md b/docs/guide/ide-integration.md index 07c269aeb9..32fb8a13b0 100644 --- a/docs/guide/ide-integration.md +++ b/docs/guide/ide-integration.md @@ -82,14 +82,26 @@ You can also manually set up the Zed config: "JavaScript": { "format_on_save": "on", "prettier": { "allowed": false }, - "formatter": [{ "language_server": { "name": "oxfmt" } }], - "code_action": "source.fixAll.oxc" + "formatter": [ + { "language_server": { "name": "oxfmt" } }, + { "code_action": "source.fixAll.oxc" } + ] + }, + "JSX": { + "format_on_save": "on", + "prettier": { "allowed": false }, + "formatter": [{ "language_server": { "name": "oxfmt" } }] }, "TypeScript": { "format_on_save": "on", "prettier": { "allowed": false }, "formatter": [{ "language_server": { "name": "oxfmt" } }] }, + "TSX": { + "format_on_save": "on", + "prettier": { "allowed": false }, + "formatter": [{ "language_server": { "name": "oxfmt" } }] + }, "Vue.js": { "format_on_save": "on", "prettier": { "allowed": false }, From 87a019eaf0316657935f96a504bc06727632af59 Mon Sep 17 00:00:00 2001 From: Johannes Schuba Date: Wed, 2 Sep 2026 16:56:18 +0200 Subject: [PATCH 2/4] fix(editor): move Zed code_action into the formatter list --- packages/cli/src/utils/editor.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/cli/src/utils/editor.ts b/packages/cli/src/utils/editor.ts index cdf4e63ab0..6c3604b500 100644 --- a/packages/cli/src/utils/editor.ts +++ b/packages/cli/src/utils/editor.ts @@ -87,9 +87,11 @@ const ZED_SETTINGS = { { format_on_save: 'on', prettier: { allowed: false }, - formatter: [{ language_server: { name: 'oxfmt' } }], - // Only the JavaScript entry runs the oxc fix-all code action on save - ...(language === 'JavaScript' ? { code_action: 'source.fixAll.oxc' } : {}), + formatter: [ + { language_server: { name: 'oxfmt' } }, + // Only the JavaScript entry runs the oxc fix-all code action on save. + ...(language === 'JavaScript' ? [{ code_action: 'source.fixAll.oxc' }] : []), + ], }, ]), ), From 7611ee88c3af6a40f7f43ec9a5ee03d7e9fb81dc Mon Sep 17 00:00:00 2001 From: MK Date: Thu, 3 Sep 2026 21:46:44 +0800 Subject: [PATCH 3/4] docs: fix Zed configuration formatting --- docs/guide/ide-integration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/ide-integration.md b/docs/guide/ide-integration.md index 32fb8a13b0..47637e6d13 100644 --- a/docs/guide/ide-integration.md +++ b/docs/guide/ide-integration.md @@ -85,7 +85,7 @@ You can also manually set up the Zed config: "formatter": [ { "language_server": { "name": "oxfmt" } }, { "code_action": "source.fixAll.oxc" } - ] + ] }, "JSX": { "format_on_save": "on", From 939b4ce9bbc5aa196ecdea5d1ecb2e4602f37ba3 Mon Sep 17 00:00:00 2001 From: MK Date: Fri, 4 Sep 2026 00:36:09 +0800 Subject: [PATCH 4/4] fix(migrate): avoid npm 10 peer resolver crash --- packages/cli/src/migration/bin.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/migration/bin.ts b/packages/cli/src/migration/bin.ts index b43647875e..f881956153 100644 --- a/packages/cli/src/migration/bin.ts +++ b/packages/cli/src/migration/bin.ts @@ -759,10 +759,21 @@ async function executeMigrationPlan( // 4. Run vp install to ensure the project is ready updateMigrationProgress('Installing dependencies'); + // npm 10's Arborist can crash while resolving nested optional peer sets + // when different major versions are available (for example, Vitest 4 in + // the project and Vitest 5 through Vite's optional devtools peer). This + // preparatory install only needs the project's declared dependencies for + // migration analysis. The final install below still uses npm's normal peer + // resolver after the package manifest has been rewritten. + const initialInstallArgs = + workspaceInfo.packageManager === PackageManager.npm && + semver.satisfies(workspaceInfo.downloadPackageManager.version, '<11.0.0') + ? ['--', '--legacy-peer-deps'] + : undefined; const initialInstallSummary = await runViteInstall( workspaceInfo.rootDir, interactive, - undefined, + initialInstallArgs, { silent: true, packageManager: workspaceInfo.packageManager,