From 2b172e8ac2e7f6b27514636b6a150ae094c6878b Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Tue, 19 May 2026 13:03:14 -0400 Subject: [PATCH] Restrict overrides to referenced packages Only override packages already referenced in the project to avoid npm arborist issues. --- .../tsp-integration/src/patch-package-json.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/tsp-integration/src/patch-package-json.ts b/packages/tsp-integration/src/patch-package-json.ts index 74b8f47619c..a24fea388cd 100644 --- a/packages/tsp-integration/src/patch-package-json.ts +++ b/packages/tsp-integration/src/patch-package-json.ts @@ -28,6 +28,14 @@ export async function patchPackageJson(dir: string, packages: Packages) { packageJson.peerDependencies = packageJson.peerDependencies ?? {}; packageJson.overrides = packageJson.overrides ?? {}; + // Collect the set of package names already referenced in the project + const referencedPackages = new Set([ + ...Object.keys(packageJson.dependencies ?? {}), + ...Object.keys(packageJson.devDependencies ?? {}), + ...Object.keys(packageJson.peerDependencies ?? {}), + ...Object.keys(packageJson.overrides ?? {}), + ]); + // Update dependencies to point to tgz files for (const pkg of Object.values(packages)) { const packageName = pkg.name; @@ -41,8 +49,11 @@ export async function patchPackageJson(dir: string, packages: Packages) { } } - // Also set in overrides to ensure all nested dependencies use our version - packageJson.overrides[packageName] = filePath; + // Only override packages already referenced by the project to avoid + // npm arborist issues with unused file: overrides + if (referencedPackages.has(packageName)) { + packageJson.overrides[packageName] = filePath; + } } // Write updated package.json