From 637ca90a69dd80187ccaebdc30d491eb5aa1c2d5 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 15 Sep 2026 20:10:59 -0400 Subject: [PATCH 1/3] Disable hoisting in `node_modules`. --- common/config/rush/.npmrc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/common/config/rush/.npmrc b/common/config/rush/.npmrc index c285c67e..7e8a441d 100644 --- a/common/config/rush/.npmrc +++ b/common/config/rush/.npmrc @@ -24,3 +24,10 @@ # omit-lockfile-registry-resolved=true registry=https://packagefeedproxy.microsoft.io/npm/ +always-auth=false +# No phantom dependencies allowed in this repository +# Don't hoist in common/temp/node_modules +public-hoist-pattern= +# Don't hoist in common/temp/node_modules/.pnpm/node_modules +hoist=false +hoist-pattern= \ No newline at end of file From 51fb1fa7002784310984659ef7aa70b333079359 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 16 Sep 2026 00:40:45 +0000 Subject: [PATCH 2/3] Investigate build failure caused by disabling hoisting Co-authored-by: iclanton <5010588+iclanton@users.noreply.github.com> --- common/config/rush/.npmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/config/rush/.npmrc b/common/config/rush/.npmrc index 7e8a441d..914bd7c0 100644 --- a/common/config/rush/.npmrc +++ b/common/config/rush/.npmrc @@ -23,7 +23,7 @@ # //registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN} # omit-lockfile-registry-resolved=true -registry=https://packagefeedproxy.microsoft.io/npm/ +registry=https://registry.npmjs.org/ always-auth=false # No phantom dependencies allowed in this repository # Don't hoist in common/temp/node_modules From d830b97e86e9c28cca565667d54d13ea4a692ff1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 16 Sep 2026 00:45:30 +0000 Subject: [PATCH 3/3] Declare the missing `typescript` peer dependency for `@typescript-eslint/types` Co-authored-by: iclanton <5010588+iclanton@users.noreply.github.com> --- common/config/rush/.npmrc | 2 +- common/config/rush/pnpm-config.json | 11 ++++ common/config/rush/pnpm-lock.yaml | 90 +++++++++++++++++------------ 3 files changed, 66 insertions(+), 37 deletions(-) diff --git a/common/config/rush/.npmrc b/common/config/rush/.npmrc index 914bd7c0..7e8a441d 100644 --- a/common/config/rush/.npmrc +++ b/common/config/rush/.npmrc @@ -23,7 +23,7 @@ # //registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN} # omit-lockfile-registry-resolved=true -registry=https://registry.npmjs.org/ +registry=https://packagefeedproxy.microsoft.io/npm/ always-auth=false # No phantom dependencies allowed in this repository # Don't hoist in common/temp/node_modules diff --git a/common/config/rush/pnpm-config.json b/common/config/rush/pnpm-config.json index 47fed337..fdbf4441 100644 --- a/common/config/rush/pnpm-config.json +++ b/common/config/rush/pnpm-config.json @@ -280,6 +280,17 @@ // } // } // } + + /** + * The ".d.ts" files in "@typescript-eslint/types" reference the "typescript" package, but the package + * does not declare a dependency on it. Because this repo disables hoisting, declaring the missing peer + * dependency here is what allows TypeScript to resolve "typescript" from inside that package. + */ + "@typescript-eslint/types": { + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + } }, /** diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index ac24a4cd..cdbc51bf 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -4,6 +4,8 @@ settings: autoInstallPeers: false excludeLinksFromLockfile: false +packageExtensionsChecksum: sha256-NhH2xUH9570l0aWT5FdBksckrqi+wwsI1pbIcduOnnQ= + pnpmfileChecksum: sha256-E1T7OJ3DLTjpDqf4RdJzK9VDtAxgm4gDEQCLYdHD8nI= importers: @@ -1014,10 +1016,14 @@ packages: '@typescript-eslint/types@8.56.0': resolution: {integrity: sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/types@8.56.1': resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' '@typescript-eslint/typescript-estree@8.56.0': resolution: {integrity: sha512-ex1nTUMWrseMltXUHmR2GAQ4d+WjkZCT4f+4bVsps8QEdh0vlBsaCokKTPlnqBFqqGaxilDNJG7b8dolW2m43Q==} @@ -5552,10 +5558,10 @@ snapshots: dependencies: '@eslint-community/regexpp': 4.12.2 '@typescript-eslint/parser': 8.56.1(eslint@9.25.1)(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/scope-manager': 8.56.1(typescript@5.8.3) '@typescript-eslint/type-utils': 8.56.1(eslint@9.25.1)(typescript@5.8.3) '@typescript-eslint/utils': 8.56.1(eslint@9.25.1)(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1(typescript@5.8.3) eslint: 9.25.1 ignore: 7.0.5 natural-compare: 1.4.0 @@ -5568,10 +5574,10 @@ snapshots: dependencies: '@eslint-community/regexpp': 4.12.2 '@typescript-eslint/parser': 8.56.1(eslint@9.37.0)(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/scope-manager': 8.56.1(typescript@5.8.3) '@typescript-eslint/type-utils': 8.56.1(eslint@9.37.0)(typescript@5.8.3) '@typescript-eslint/utils': 8.56.1(eslint@9.37.0)(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1(typescript@5.8.3) eslint: 9.37.0 ignore: 7.0.5 natural-compare: 1.4.0 @@ -5582,10 +5588,10 @@ snapshots: '@typescript-eslint/parser@8.56.1(eslint@9.25.1)(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.56.1 - '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/scope-manager': 8.56.1(typescript@5.8.3) + '@typescript-eslint/types': 8.56.1(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1(typescript@5.8.3) debug: 4.4.3 eslint: 9.25.1 typescript: 5.8.3 @@ -5594,10 +5600,10 @@ snapshots: '@typescript-eslint/parser@8.56.1(eslint@9.37.0)(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.56.1 - '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/scope-manager': 8.56.1(typescript@5.8.3) + '@typescript-eslint/types': 8.56.1(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1(typescript@5.8.3) debug: 4.4.3 eslint: 9.37.0 typescript: 5.8.3 @@ -5607,7 +5613,7 @@ snapshots: '@typescript-eslint/project-service@8.56.0(typescript@5.8.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.8.3) - '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/types': 8.56.0(typescript@5.8.3) debug: 4.4.3 typescript: 5.8.3 transitivePeerDependencies: @@ -5616,21 +5622,25 @@ snapshots: '@typescript-eslint/project-service@8.56.1(typescript@5.8.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.8.3) - '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/types': 8.56.1(typescript@5.8.3) debug: 4.4.3 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.56.0': + '@typescript-eslint/scope-manager@8.56.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.56.0 - '@typescript-eslint/visitor-keys': 8.56.0 + '@typescript-eslint/types': 8.56.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.56.0(typescript@5.8.3) + transitivePeerDependencies: + - typescript - '@typescript-eslint/scope-manager@8.56.1': + '@typescript-eslint/scope-manager@8.56.1(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.56.1 - '@typescript-eslint/visitor-keys': 8.56.1 + '@typescript-eslint/types': 8.56.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.56.1(typescript@5.8.3) + transitivePeerDependencies: + - typescript '@typescript-eslint/tsconfig-utils@8.56.0(typescript@5.8.3)': dependencies: @@ -5642,7 +5652,7 @@ snapshots: '@typescript-eslint/type-utils@8.56.1(eslint@9.25.1)(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/types': 8.56.1(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.8.3) '@typescript-eslint/utils': 8.56.1(eslint@9.25.1)(typescript@5.8.3) debug: 4.4.3 @@ -5654,7 +5664,7 @@ snapshots: '@typescript-eslint/type-utils@8.56.1(eslint@9.37.0)(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/types': 8.56.1(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.8.3) '@typescript-eslint/utils': 8.56.1(eslint@9.37.0)(typescript@5.8.3) debug: 4.4.3 @@ -5664,16 +5674,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.56.0': {} + '@typescript-eslint/types@8.56.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 - '@typescript-eslint/types@8.56.1': {} + '@typescript-eslint/types@8.56.1(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 '@typescript-eslint/typescript-estree@8.56.0(typescript@5.8.3)': dependencies: '@typescript-eslint/project-service': 8.56.0(typescript@5.8.3) '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.8.3) - '@typescript-eslint/types': 8.56.0 - '@typescript-eslint/visitor-keys': 8.56.0 + '@typescript-eslint/types': 8.56.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.56.0(typescript@5.8.3) debug: 4.4.3 minimatch: 9.0.5 semver: 7.7.4 @@ -5687,8 +5701,8 @@ snapshots: dependencies: '@typescript-eslint/project-service': 8.56.1(typescript@5.8.3) '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.8.3) - '@typescript-eslint/types': 8.56.1 - '@typescript-eslint/visitor-keys': 8.56.1 + '@typescript-eslint/types': 8.56.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.56.1(typescript@5.8.3) debug: 4.4.3 minimatch: 10.2.4 semver: 7.7.4 @@ -5701,8 +5715,8 @@ snapshots: '@typescript-eslint/utils@8.56.0(eslint@9.25.1)(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.25.1) - '@typescript-eslint/scope-manager': 8.56.0 - '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/scope-manager': 8.56.0(typescript@5.8.3) + '@typescript-eslint/types': 8.56.0(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.8.3) eslint: 9.25.1 typescript: 5.8.3 @@ -5712,8 +5726,8 @@ snapshots: '@typescript-eslint/utils@8.56.1(eslint@9.25.1)(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.25.1) - '@typescript-eslint/scope-manager': 8.56.1 - '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/scope-manager': 8.56.1(typescript@5.8.3) + '@typescript-eslint/types': 8.56.1(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.8.3) eslint: 9.25.1 typescript: 5.8.3 @@ -5723,23 +5737,27 @@ snapshots: '@typescript-eslint/utils@8.56.1(eslint@9.37.0)(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.37.0) - '@typescript-eslint/scope-manager': 8.56.1 - '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/scope-manager': 8.56.1(typescript@5.8.3) + '@typescript-eslint/types': 8.56.1(typescript@5.8.3) '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.8.3) eslint: 9.37.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.56.0': + '@typescript-eslint/visitor-keys@8.56.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/types': 8.56.0(typescript@5.8.3) eslint-visitor-keys: 5.0.1 + transitivePeerDependencies: + - typescript - '@typescript-eslint/visitor-keys@8.56.1': + '@typescript-eslint/visitor-keys@8.56.1(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/types': 8.56.1(typescript@5.8.3) eslint-visitor-keys: 5.0.1 + transitivePeerDependencies: + - typescript '@ungap/structured-clone@1.3.0': {}