From 6ca02e354e53df002f51ef8eee476f0fb994a295 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 18 Feb 2026 16:48:43 -0800 Subject: [PATCH 1/9] Bump decoupled local dependencies. --- apps/api-extractor/package.json | 2 +- apps/heft/package.json | 2 +- .../heft-typescript-v4-test/package.json | 2 +- ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + ...decoupled-local-deps_2026-02-19-00-48.json | 11 + .../build-tests-subspace/pnpm-lock.yaml | 12 +- .../build-tests-subspace/repo-state.json | 4 +- .../config/subspaces/default/pnpm-lock.yaml | 468 ++++++++++-------- .../config/subspaces/default/repo-state.json | 2 +- common/scripts/install-run-rush-pnpm.js | 6 +- common/scripts/install-run-rush.js | 38 +- common/scripts/install-run-rushx.js | 6 +- common/scripts/install-run.js | 279 +++++++---- eslint/eslint-patch/package.json | 2 +- eslint/eslint-plugin-packlets/package.json | 2 +- eslint/eslint-plugin-security/package.json | 2 +- eslint/eslint-plugin/package.json | 2 +- eslint/local-eslint-config/package.json | 2 +- libraries/api-extractor-model/package.json | 2 +- libraries/heft-config-file/package.json | 2 +- libraries/node-core-library/package.json | 2 +- libraries/operation-graph/package.json | 2 +- libraries/problem-matcher/package.json | 2 +- libraries/rig-package/package.json | 2 +- libraries/terminal/package.json | 2 +- libraries/tree-pattern/package.json | 2 +- libraries/ts-command-line/package.json | 2 +- rigs/decoupled-local-node-rig/package.json | 12 +- rush.json | 2 +- 42 files changed, 676 insertions(+), 352 deletions(-) create mode 100644 common/changes/@microsoft/api-extractor-model/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@microsoft/api-extractor/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@rushstack/eslint-patch/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@rushstack/eslint-plugin-packlets/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@rushstack/eslint-plugin-security/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@rushstack/eslint-plugin/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@rushstack/heft-config-file/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@rushstack/heft/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@rushstack/node-core-library/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@rushstack/operation-graph/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@rushstack/problem-matcher/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@rushstack/rig-package/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@rushstack/terminal/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@rushstack/tree-pattern/bump-decoupled-local-deps_2026-02-19-00-48.json create mode 100644 common/changes/@rushstack/ts-command-line/bump-decoupled-local-deps_2026-02-19-00-48.json diff --git a/apps/api-extractor/package.json b/apps/api-extractor/package.json index 6e177c1e39f..2f08b40faaf 100644 --- a/apps/api-extractor/package.json +++ b/apps/api-extractor/package.json @@ -75,7 +75,7 @@ "typescript": "5.8.2" }, "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "@types/lodash": "4.17.23", "@types/resolve": "1.20.2", "@types/semver": "7.5.0", diff --git a/apps/heft/package.json b/apps/heft/package.json index dbd51047484..68a0def1776 100644 --- a/apps/heft/package.json +++ b/apps/heft/package.json @@ -72,7 +72,7 @@ }, "devDependencies": { "@microsoft/api-extractor": "workspace:*", - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "@types/watchpack": "2.4.0", "decoupled-local-node-rig": "workspace:*", "eslint": "~9.37.0" diff --git a/build-tests/heft-typescript-v4-test/package.json b/build-tests/heft-typescript-v4-test/package.json index 23f4dfbaa43..82af9000999 100644 --- a/build-tests/heft-typescript-v4-test/package.json +++ b/build-tests/heft-typescript-v4-test/package.json @@ -12,7 +12,7 @@ }, "devDependencies": { "@microsoft/api-extractor": "workspace:*", - "@rushstack/eslint-config": "4.6.1", + "@rushstack/eslint-config": "4.6.2", "@rushstack/eslint-patch": "workspace:*", "@rushstack/heft": "workspace:*", "@rushstack/heft-api-extractor-plugin": "workspace:*", diff --git a/common/changes/@microsoft/api-extractor-model/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@microsoft/api-extractor-model/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..52f6a7d52bc --- /dev/null +++ b/common/changes/@microsoft/api-extractor-model/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@microsoft/api-extractor-model" + } + ], + "packageName": "@microsoft/api-extractor-model", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/api-extractor/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@microsoft/api-extractor/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..f7c3a8a84e4 --- /dev/null +++ b/common/changes/@microsoft/api-extractor/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@microsoft/api-extractor" + } + ], + "packageName": "@microsoft/api-extractor", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/eslint-patch/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@rushstack/eslint-patch/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..6a61cc13329 --- /dev/null +++ b/common/changes/@rushstack/eslint-patch/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/eslint-patch" + } + ], + "packageName": "@rushstack/eslint-patch", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/eslint-plugin-packlets/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@rushstack/eslint-plugin-packlets/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..a04cd0021ef --- /dev/null +++ b/common/changes/@rushstack/eslint-plugin-packlets/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/eslint-plugin-packlets" + } + ], + "packageName": "@rushstack/eslint-plugin-packlets", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/eslint-plugin-security/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@rushstack/eslint-plugin-security/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..e8c34c96411 --- /dev/null +++ b/common/changes/@rushstack/eslint-plugin-security/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/eslint-plugin-security" + } + ], + "packageName": "@rushstack/eslint-plugin-security", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/eslint-plugin/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@rushstack/eslint-plugin/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..5669a1df6aa --- /dev/null +++ b/common/changes/@rushstack/eslint-plugin/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/eslint-plugin" + } + ], + "packageName": "@rushstack/eslint-plugin", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-config-file/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@rushstack/heft-config-file/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..ebc8dd79c07 --- /dev/null +++ b/common/changes/@rushstack/heft-config-file/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/heft-config-file" + } + ], + "packageName": "@rushstack/heft-config-file", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@rushstack/heft/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..ef525830e37 --- /dev/null +++ b/common/changes/@rushstack/heft/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/heft" + } + ], + "packageName": "@rushstack/heft", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/node-core-library/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@rushstack/node-core-library/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..db57b2feb86 --- /dev/null +++ b/common/changes/@rushstack/node-core-library/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/node-core-library" + } + ], + "packageName": "@rushstack/node-core-library", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/operation-graph/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@rushstack/operation-graph/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..ccb47662fbf --- /dev/null +++ b/common/changes/@rushstack/operation-graph/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/operation-graph" + } + ], + "packageName": "@rushstack/operation-graph", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/problem-matcher/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@rushstack/problem-matcher/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..a8d616334fa --- /dev/null +++ b/common/changes/@rushstack/problem-matcher/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/problem-matcher" + } + ], + "packageName": "@rushstack/problem-matcher", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/rig-package/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@rushstack/rig-package/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..c66505525a1 --- /dev/null +++ b/common/changes/@rushstack/rig-package/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/rig-package" + } + ], + "packageName": "@rushstack/rig-package", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/terminal/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@rushstack/terminal/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..13894830365 --- /dev/null +++ b/common/changes/@rushstack/terminal/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/terminal" + } + ], + "packageName": "@rushstack/terminal", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/tree-pattern/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@rushstack/tree-pattern/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..619a10c75e3 --- /dev/null +++ b/common/changes/@rushstack/tree-pattern/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/tree-pattern" + } + ], + "packageName": "@rushstack/tree-pattern", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@rushstack/ts-command-line/bump-decoupled-local-deps_2026-02-19-00-48.json b/common/changes/@rushstack/ts-command-line/bump-decoupled-local-deps_2026-02-19-00-48.json new file mode 100644 index 00000000000..1f3658b8dc4 --- /dev/null +++ b/common/changes/@rushstack/ts-command-line/bump-decoupled-local-deps_2026-02-19-00-48.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "type": "none", + "packageName": "@rushstack/ts-command-line" + } + ], + "packageName": "@rushstack/ts-command-line", + "email": "iclanton@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/config/subspaces/build-tests-subspace/pnpm-lock.yaml b/common/config/subspaces/build-tests-subspace/pnpm-lock.yaml index aaa65f6b78e..20a003826be 100644 --- a/common/config/subspaces/build-tests-subspace/pnpm-lock.yaml +++ b/common/config/subspaces/build-tests-subspace/pnpm-lock.yaml @@ -13,7 +13,7 @@ overrides: packageExtensionsChecksum: sha256-8fXYR9X9qRA57SZJJSADz6C9KMP6QQYYut4DHyehah0= -pnpmfileChecksum: sha256-La8sfCMI7irxJPTW6u4mJb4vNiyLrXeEbKaXv5G3dL0= +pnpmfileChecksum: sha256-E1T7OJ3DLTjpDqf4RdJzK9VDtAxgm4gDEQCLYdHD8nI= importers: @@ -844,7 +844,7 @@ packages: '@rushstack/heft-api-extractor-plugin@file:../../../heft-plugins/heft-api-extractor-plugin': resolution: {directory: ../../../heft-plugins/heft-api-extractor-plugin, type: directory} peerDependencies: - '@rushstack/heft': 1.1.14 + '@rushstack/heft': 1.2.0 '@rushstack/heft-config-file@file:../../../libraries/heft-config-file': resolution: {directory: ../../../libraries/heft-config-file, type: directory} @@ -853,7 +853,7 @@ packages: '@rushstack/heft-jest-plugin@file:../../../heft-plugins/heft-jest-plugin': resolution: {directory: ../../../heft-plugins/heft-jest-plugin, type: directory} peerDependencies: - '@rushstack/heft': ^1.1.14 + '@rushstack/heft': ^1.2.0 jest-environment-jsdom: ^29.5.0 jest-environment-node: ^29.5.0 peerDependenciesMeta: @@ -865,17 +865,17 @@ packages: '@rushstack/heft-lint-plugin@file:../../../heft-plugins/heft-lint-plugin': resolution: {directory: ../../../heft-plugins/heft-lint-plugin, type: directory} peerDependencies: - '@rushstack/heft': 1.1.14 + '@rushstack/heft': 1.2.0 '@rushstack/heft-node-rig@file:../../../rigs/heft-node-rig': resolution: {directory: ../../../rigs/heft-node-rig, type: directory} peerDependencies: - '@rushstack/heft': ^1.1.14 + '@rushstack/heft': ^1.2.0 '@rushstack/heft-typescript-plugin@file:../../../heft-plugins/heft-typescript-plugin': resolution: {directory: ../../../heft-plugins/heft-typescript-plugin, type: directory} peerDependencies: - '@rushstack/heft': 1.1.14 + '@rushstack/heft': 1.2.0 '@rushstack/heft@file:../../../apps/heft': resolution: {directory: ../../../apps/heft, type: directory} diff --git a/common/config/subspaces/build-tests-subspace/repo-state.json b/common/config/subspaces/build-tests-subspace/repo-state.json index e998becd981..f7bbb31d013 100644 --- a/common/config/subspaces/build-tests-subspace/repo-state.json +++ b/common/config/subspaces/build-tests-subspace/repo-state.json @@ -1,6 +1,6 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "b8ded547018d81f9547a6e7a183a721af6d44c11", + "pnpmShrinkwrapHash": "2e83a5ce6283e922a1f2904047c3b52f6323a37c", "preferredVersionsHash": "550b4cee0bef4e97db6c6aad726df5149d20e7d9", - "packageJsonInjectedDependenciesHash": "8782e66a8674156157dcd53f307fcd08cc31e605" + "packageJsonInjectedDependenciesHash": "4efa246b20efc7e2e5b0a203952794918e1358d3" } diff --git a/common/config/subspaces/default/pnpm-lock.yaml b/common/config/subspaces/default/pnpm-lock.yaml index 283a7f4adc0..fd7d0a5004a 100644 --- a/common/config/subspaces/default/pnpm-lock.yaml +++ b/common/config/subspaces/default/pnpm-lock.yaml @@ -13,7 +13,7 @@ overrides: packageExtensionsChecksum: sha256-8fXYR9X9qRA57SZJJSADz6C9KMP6QQYYut4DHyehah0= -pnpmfileChecksum: sha256-La8sfCMI7irxJPTW6u4mJb4vNiyLrXeEbKaXv5G3dL0= +pnpmfileChecksum: sha256-E1T7OJ3DLTjpDqf4RdJzK9VDtAxgm4gDEQCLYdHD8nI= importers: @@ -105,8 +105,8 @@ importers: version: 5.8.2 devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) '@types/lodash': specifier: 4.17.23 version: 4.17.23 @@ -188,8 +188,8 @@ importers: specifier: workspace:* version: link:../api-extractor '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) '@types/watchpack': specifier: 2.4.0 version: 2.4.0 @@ -2336,8 +2336,8 @@ importers: specifier: workspace:* version: link:../../apps/api-extractor '@rushstack/eslint-config': - specifier: 4.6.1 - version: 4.6.1(eslint@8.57.1)(typescript@4.9.5) + specifier: 4.6.2 + version: 4.6.2(eslint@8.57.1)(typescript@4.9.5) '@rushstack/eslint-patch': specifier: workspace:* version: link:../../eslint/eslint-patch @@ -2941,8 +2941,8 @@ importers: ../../../eslint/eslint-patch: devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) '@types/eslint-8': specifier: npm:@types/eslint@8.56.10 version: '@types/eslint@8.56.10' @@ -2978,8 +2978,8 @@ importers: version: 8.46.4(eslint@9.37.0)(typescript@5.8.2) devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) '@typescript-eslint/parser': specifier: ~8.46.0 version: 8.46.4(eslint@9.37.0)(typescript@5.8.2) @@ -3009,8 +3009,8 @@ importers: version: 8.46.4(eslint@9.37.0)(typescript@5.8.2) devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) '@typescript-eslint/parser': specifier: ~8.46.0 version: 8.46.4(eslint@9.37.0)(typescript@5.8.2) @@ -3034,8 +3034,8 @@ importers: version: 8.46.4(eslint@9.37.0)(typescript@5.8.2) devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) '@typescript-eslint/parser': specifier: ~8.46.0 version: 8.46.4(eslint@9.37.0)(typescript@5.8.2) @@ -3092,8 +3092,8 @@ importers: version: 5.2.0(eslint@9.37.0) devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) decoupled-local-node-rig: specifier: workspace:* version: link:../../rigs/decoupled-local-node-rig @@ -3634,8 +3634,8 @@ importers: version: link:../node-core-library devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) decoupled-local-node-rig: specifier: workspace:* version: link:../../rigs/decoupled-local-node-rig @@ -3703,8 +3703,8 @@ importers: version: 10.3.0 devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) '@types/ungap__structured-clone': specifier: ~1.2.0 version: 1.2.0 @@ -3829,8 +3829,8 @@ importers: version: 7.5.4 devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) '@rushstack/problem-matcher': specifier: workspace:* version: link:../problem-matcher @@ -3894,8 +3894,8 @@ importers: version: link:../terminal devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) decoupled-local-node-rig: specifier: workspace:* version: link:../../rigs/decoupled-local-node-rig @@ -3980,8 +3980,8 @@ importers: ../../../libraries/problem-matcher: devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) decoupled-local-node-rig: specifier: workspace:* version: link:../../rigs/decoupled-local-node-rig @@ -3999,8 +3999,8 @@ importers: version: 3.1.1 devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) '@types/resolve': specifier: 1.20.2 version: 1.20.2 @@ -4395,8 +4395,8 @@ importers: version: 8.1.1 devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) '@types/supports-color': specifier: 8.1.3 version: 8.1.3 @@ -4410,8 +4410,8 @@ importers: ../../../libraries/tree-pattern: devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) decoupled-local-node-rig: specifier: workspace:* version: link:../../rigs/decoupled-local-node-rig @@ -4435,8 +4435,8 @@ importers: version: 0.3.2 devDependencies: '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@22.9.3) + specifier: 1.2.0 + version: 1.2.0(@types/node@22.9.3) '@rushstack/node-core-library': specifier: workspace:* version: link:../node-core-library @@ -4555,23 +4555,23 @@ importers: ../../../rigs/decoupled-local-node-rig: dependencies: '@microsoft/api-extractor': - specifier: 7.55.2 - version: 7.55.2(@types/node@20.17.19) + specifier: 7.57.0 + version: 7.57.0(@types/node@20.17.19) '@rushstack/eslint-config': - specifier: 4.6.1 - version: 4.6.1(eslint@9.37.0)(typescript@5.8.2) + specifier: 4.6.2 + version: 4.6.2(eslint@9.37.0)(typescript@5.8.2) '@rushstack/eslint-patch': - specifier: 1.15.0 - version: 1.15.0 + specifier: 1.16.0 + version: 1.16.0 '@rushstack/eslint-plugin': - specifier: 0.22.1 - version: 0.22.1(eslint@9.37.0)(typescript@5.8.2) + specifier: 0.23.0 + version: 0.23.0(eslint@9.37.0)(typescript@5.8.2) '@rushstack/heft': - specifier: 1.1.7 - version: 1.1.7(@types/node@20.17.19) + specifier: 1.2.0 + version: 1.2.0(@types/node@20.17.19) '@rushstack/heft-node-rig': - specifier: 2.11.12 - version: 2.11.12(@rushstack/heft@1.1.7(@types/node@20.17.19))(@types/node@20.17.19)(jest-environment-jsdom@29.5.0) + specifier: 2.11.20 + version: 2.11.20(@rushstack/heft@1.2.0(@types/node@20.17.19))(@types/node@20.17.19)(babel-plugin-macros@3.1.0)(jest-environment-jsdom@29.5.0) '@types/heft-jest': specifier: 1.0.1 version: 1.0.1 @@ -7941,10 +7941,6 @@ packages: resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} engines: {node: 20 || >=22} - '@isaacs/brace-expansion@5.0.0': - resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} - engines: {node: 20 || >=22} - '@isaacs/brace-expansion@5.0.1': resolution: {integrity: sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==} engines: {node: 20 || >=22} @@ -8240,11 +8236,11 @@ packages: '@mdx-js/util@1.6.22': resolution: {integrity: sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==} - '@microsoft/api-extractor-model@7.32.2': - resolution: {integrity: sha512-Ussc25rAalc+4JJs9HNQE7TuO9y6jpYQX9nWD1DhqUzYPBr3Lr7O9intf+ZY8kD5HnIqeIRJX7ccCT0QyBy2Ww==} + '@microsoft/api-extractor-model@7.33.0': + resolution: {integrity: sha512-cMrvErE9yJz8aImpRztUfbO085WRSI4nsvMQ+VNGgHxiQO7s5LAXrt+B35RUghIsn0JdNdqIzusXXtKgSnXh7Q==} - '@microsoft/api-extractor@7.55.2': - resolution: {integrity: sha512-1jlWO4qmgqYoVUcyh+oXYRztZde/pAi7cSVzBz/rc+S7CoVzDasy8QE13dx6sLG4VRo8SfkkLbFORR6tBw4uGQ==} + '@microsoft/api-extractor@7.57.0': + resolution: {integrity: sha512-ZWflRQNLRBgG4DPRDUB6DQR2AL2Z+gYU/1PIwFKna8c8c9IGF4h0FHtb73MbV0LfufqfzDVnpaLPXmOtDAeUaA==} hasBin: true '@microsoft/load-themed-styles@1.10.295': @@ -8946,8 +8942,8 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 typescript: '>=4.7.0' - '@rushstack/eslint-config@4.6.1': - resolution: {integrity: sha512-LysvSmBjHK8yqp9dtlafYoetNFsYEkYxsAaGYKxzclwXWpeaPgi/EYJtpReFBCsWTR12wxgCDICrDgMUjgynVg==} + '@rushstack/eslint-config@4.6.2': + resolution: {integrity: sha512-8jWiDEOQFDckbFcwnkQS3N6KG6mfK4kv2DiQDLXEt8gerILTLZW/4Ow6OmPiXDyoMFxsvHam/uUBpaeo61UV7w==} peerDependencies: eslint: ^8.57.0 || ^9.25.1 typescript: '>=4.7.0' @@ -8955,11 +8951,11 @@ packages: '@rushstack/eslint-patch@1.10.4': resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} - '@rushstack/eslint-patch@1.15.0': - resolution: {integrity: sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw==} + '@rushstack/eslint-patch@1.16.0': + resolution: {integrity: sha512-TMAArRcXZE6ckNI98mXuWv24yXs3bxXT0yGnySY9fpN7y+VkNcyZPiXeV7Dyr3cNdes9JxjM6KzbsZ+JMpVNNA==} - '@rushstack/eslint-plugin-packlets@0.14.0': - resolution: {integrity: sha512-o1udsL8lPAVmNEfjUOAoBcOATVs9RpFY6D/Lv2jfQ3ZqpmuDiNb4mNdB9AkI8I/01viyrIWz/iq08p31q/EIZg==} + '@rushstack/eslint-plugin-packlets@0.15.0': + resolution: {integrity: sha512-E71+B3OnurEGVIpHKzhrn6ELvVV9ZDQM9M7fqg32W12ZG7StQ2XVlwtB1T7X4kksk1UQ5XtkA7u5NlP5l+ijpw==} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -8968,8 +8964,8 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@rushstack/eslint-plugin-security@0.13.0': - resolution: {integrity: sha512-0ixotA+4NSvmTN4dq8mEKInj6kYE5q6SvySbggvDPUtJWBjmTbt4bdh9thxvAqNZWoflAMdX4FV+ixJ3CEx/cQ==} + '@rushstack/eslint-plugin-security@0.14.0': + resolution: {integrity: sha512-thCL1gZsPD86f1qNIpo7CFG95NTTif8f6x6Q4c/7QnZtF/QpyRngSEZAtBYBDD7Nc8x4kJ1BC4TJNt6wRzS2tg==} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -8983,24 +8979,24 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@rushstack/eslint-plugin@0.22.1': - resolution: {integrity: sha512-j2bVPgddSBs0iPed2l40Ssa/bmKr6YkaI3jv7Z1fH2Zlu/RcpgFOZWH0ls8ZQEqaA63A3oRmVXxnmmX/7FJb8w==} + '@rushstack/eslint-plugin@0.23.0': + resolution: {integrity: sha512-sL1rAf6yPYCe9TPNgaeQZ35HCZeKFdKSh98aRwhJTPHv0mpw9I52oXWe2Q0gCA2nFtOYDXEOdhjjT9U1TZJm8Q==} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - '@rushstack/heft-api-extractor-plugin@1.2.3': - resolution: {integrity: sha512-afwvWZRjw80AM6XcyBQoQHON5xa5Nh38cSyj4i3V4KbBjVtA2xhvxPXQbKn+bhzoFLcPvmO3sVLFCk2BoAmEaw==} + '@rushstack/heft-api-extractor-plugin@1.3.0': + resolution: {integrity: sha512-xuJ1fTEweukUQxGesppwb/VIHdVCc9RQR75Wop/a7kw405a5ULKc51wwKT/GBuiejJ3QzI4K/WX2QptWwqC7JQ==} peerDependencies: - '@rushstack/heft': 1.1.7 + '@rushstack/heft': 1.2.0 - '@rushstack/heft-config-file@0.19.5': - resolution: {integrity: sha512-gLqzhTUS97x+pNTE0I58joeR5LxNT6bue9YHYp7nCDxL4KPZTquSGtf1bKwU3W5uTc4WkkDbhPHK856L0e8wAg==} + '@rushstack/heft-config-file@0.20.0': + resolution: {integrity: sha512-9J4/1PIu6+xzWs0mVUO0NAj6UhcFhB3MUkOU7dRpH2eITXEhbS3Kkbdywc/NjgGKSHYqmi92ua20BqWekaWuxQ==} engines: {node: '>=10.13.0'} - '@rushstack/heft-jest-plugin@1.1.7': - resolution: {integrity: sha512-TYsAf3x+FSBRaTANQ8PS7/2EtIq1sAoQ7UnFTNBp0sbjxzzhO7Q1n1Q1jFvJy6ik7f9ONMBufhMNEchWECpZGw==} + '@rushstack/heft-jest-plugin@1.2.0': + resolution: {integrity: sha512-x/QNHSWq0USbyuhhSNZ1WyPKeXv10mkv2vpOWCyMrmCE81CsTH1S5wkBYk3eBTBpbRmz/KmU0p66k/m3/YynOA==} peerDependencies: - '@rushstack/heft': ^1.1.7 + '@rushstack/heft': ^1.2.0 jest-environment-jsdom: ^29.5.0 jest-environment-node: ^29.5.0 peerDependenciesMeta: @@ -9009,23 +9005,23 @@ packages: jest-environment-node: optional: true - '@rushstack/heft-lint-plugin@1.1.10': - resolution: {integrity: sha512-LhBSCN1ka83iiUNRSoR1ExQgUmBVSW5T95ywVyYpIM7xcRgM1DOfe2G95rFHZR6nk8jk3d3D11yZmHtXeZOAIg==} + '@rushstack/heft-lint-plugin@1.2.0': + resolution: {integrity: sha512-Z7AxUTUHBH+MNmNAdBGTn7TawMLP5tU50hi+E9g/s0WaoHm6TD7CqrI1kPwELGZl4fnqPQHQsgkXC4P94FDDWQ==} peerDependencies: - '@rushstack/heft': 1.1.7 + '@rushstack/heft': 1.2.0 - '@rushstack/heft-node-rig@2.11.12': - resolution: {integrity: sha512-tz7bd6xgZsC+VRcwkbehBwnt5DiaI4pcBKoC/VvvR+zox7cNSL2sLg6YfKC4GvKKrg4I4Q9weX3v0jiHscj9Iw==} + '@rushstack/heft-node-rig@2.11.20': + resolution: {integrity: sha512-QTwVsAOkibWBLpFo6C6TeRxFiRIKcpCkeSMjmWgfccBqpnCWbxcTImiS2lGQIjJeLwyuK7XNogFDt0BeoMCOVg==} peerDependencies: - '@rushstack/heft': ^1.1.7 + '@rushstack/heft': ^1.2.0 - '@rushstack/heft-typescript-plugin@1.1.7': - resolution: {integrity: sha512-2we68k5Qv0Z1UnnCsmjqROhUA6/eD7NIt7O7TDu5EqhL8+4j+WrtLz3Dzz8DMh9N3u81gONviZQiZ61q9l3jPQ==} + '@rushstack/heft-typescript-plugin@1.2.0': + resolution: {integrity: sha512-rn03eJTONnepbRUm4lGE9rq1aniuLJQHGb4FjgOnNQpX4xENw4WbsDFlW9eWyk5UZhqvA3qXyjcO2VP4DMRFXA==} peerDependencies: - '@rushstack/heft': 1.1.7 + '@rushstack/heft': 1.2.0 - '@rushstack/heft@1.1.7': - resolution: {integrity: sha512-+pbVcDiKVHBDeAUQDKgr+MeheSXknVo/sL7e7rnvcWTSuP2bhidJTcVb0Jbn1/KQMZy3Bhxc1oCrH6tjcrmHjw==} + '@rushstack/heft@1.2.0': + resolution: {integrity: sha512-jchfouKVt2caU4aQWR0wEXRRNnRu4YnMXYeD0UmdIWAtWxepMSCWA3fO3xgPdyOIp9EFfaWwAy7tUqbtNkelIg==} engines: {node: '>=10.13.0'} hasBin: true @@ -9037,32 +9033,32 @@ packages: '@types/node': optional: true - '@rushstack/node-core-library@5.19.1': - resolution: {integrity: sha512-ESpb2Tajlatgbmzzukg6zyAhH+sICqJR2CNXNhXcEbz6UGCQfrKCtkxOpJTftWc8RGouroHG0Nud1SJAszvpmA==} + '@rushstack/node-core-library@5.20.0': + resolution: {integrity: sha512-yix/WFzuMPvbECgQjdzjDqynv7YQnrcGUfy56WU7QWAVcoN4uB1wCwpt3heo/ghHp2nINrRecPtVS7sQmqY+OA==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - '@rushstack/operation-graph@0.5.5': - resolution: {integrity: sha512-kPOq0soHjTJtnEd98Ns3XtNCU5WzJCtCy6zxwQiMtiCio9F8KPqi07dl+FKdr23q581l5w/vhVFTPonUa2EFzQ==} + '@rushstack/operation-graph@0.6.0': + resolution: {integrity: sha512-rUYk1pq1O/rGZ2nFOm2WwPL9jWX689bejyTjQgUGvyF2pPgEDDkAdc7jTPaj3ULgzW2yUF0g2+KvgaunN+8bHQ==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - '@rushstack/problem-matcher@0.1.1': - resolution: {integrity: sha512-Fm5XtS7+G8HLcJHCWpES5VmeMyjAKaWeyZU5qPzZC+22mPlJzAsOxymHiWIfuirtPckX3aptWws+K2d0BzniJA==} + '@rushstack/problem-matcher@0.2.0': + resolution: {integrity: sha512-IHV2qdypwqEatMg8Ka9e/q26pu2tOyhG3fuJZtrrPA3O++ctW8y1p6oCeeeIV8v1/kJ3xJPtg1xdZshyNZb8sg==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - '@rushstack/rig-package@0.6.0': - resolution: {integrity: sha512-ZQmfzsLE2+Y91GF15c65L/slMRVhF6Hycq04D4TwtdGaUAbIXXg9c5pKA5KFU7M4QMaihoobp9JJYpYcaY3zOw==} + '@rushstack/rig-package@0.7.0': + resolution: {integrity: sha512-iPHSnI/DtLPv2lydP9WWZczhD9knVCJWwLle1H01IYnvYNkhZX8rbnuUH+HEwcANd3YlLjCpXydWN3LMoLOxPw==} '@rushstack/set-webpack-public-path-plugin@4.1.16': resolution: {integrity: sha512-9YD76OHSYr3pqJwc3wcxIFL1kSxPUyw3xThaZrJDBumMRdAEx7Wj3J0xkPtri5BS06yi49fIC1Di75CxeworzA==} @@ -9072,8 +9068,8 @@ packages: '@types/webpack': optional: true - '@rushstack/terminal@0.19.5': - resolution: {integrity: sha512-6k5tpdB88G0K7QrH/3yfKO84HK9ggftfUZ51p7fePyCE7+RLLHkWZbID9OFWbXuna+eeCFE7AkKnRMHMxNbz7Q==} + '@rushstack/terminal@0.22.0': + resolution: {integrity: sha512-z5O2g5dws5iFNe3hAutAKLPmQARJs/VEWMxdpyew+xm0ohw1qh1G6+wY0nUzFPrLiKQjU+8KNA11VAEMb46ETg==} peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -9083,8 +9079,11 @@ packages: '@rushstack/tree-pattern@0.3.4': resolution: {integrity: sha512-9uROnkiHWsQqxW6HirXABfTRlgzhYp6tevbYIGkwKQ09VaayUBkvFvt/urDKMwlo+tGU0iQQLuVige6c48wTgw==} - '@rushstack/ts-command-line@5.1.5': - resolution: {integrity: sha512-YmrFTFUdHXblYSa+Xc9OO9FsL/XFcckZy0ycQ6q7VSBsVs5P0uD9vcges5Q9vctGlVdu27w+Ct6IuJ458V0cTQ==} + '@rushstack/tree-pattern@0.4.0': + resolution: {integrity: sha512-2US1h3CfgIjISjPqpczyY4VKfMJfocQZAgzYRWQvKLJQ8VjB/sg/xar5/B2YvfUGa/CcMH8NgnEj9E9SxDog7Q==} + + '@rushstack/ts-command-line@5.3.0': + resolution: {integrity: sha512-4hneaVxA5zPC8cwUGZtdvCUzGbW8A+b+qrBK3hYs/xO7TyWkgAMKxq/6FJY91fPG8awgmJ+s1w8GuqNXgxsTyw==} '@rushstack/webpack-plugin-utilities@0.3.16': resolution: {integrity: sha512-0Xb0GESYEyv6Q7hzANZ8RIWa3seiJiCKBNNG83znQwMZ9l0bfnoJzZ3cYODkofoK0E8/nr4hTsn/pWKommf6Mw==} @@ -15134,10 +15133,6 @@ packages: minimalistic-crypto-utils@1.0.1: resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - minimatch@10.0.3: - resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} - engines: {node: 20 || >=22} - minimatch@10.1.2: resolution: {integrity: sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==} engines: {node: 20 || >=22} @@ -22303,10 +22298,6 @@ snapshots: '@isaacs/balanced-match@4.0.1': {} - '@isaacs/brace-expansion@5.0.0': - dependencies: - '@isaacs/balanced-match': 4.0.1 - '@isaacs/brace-expansion@5.0.1': dependencies: '@isaacs/balanced-match': 4.0.1 @@ -22343,6 +22334,41 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 + '@jest/core@29.5.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.5.0 + '@jest/test-result': 29.7.0(@types/node@22.9.3) + '@jest/transform': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 22.9.3 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.5.0(@types/node@22.9.3) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.5.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.5.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + '@jest/core@29.5.0(babel-plugin-macros@3.1.0)': dependencies: '@jest/console': 29.7.0 @@ -22854,26 +22880,26 @@ snapshots: '@mdx-js/util@1.6.22': {} - '@microsoft/api-extractor-model@7.32.2(@types/node@20.17.19)': + '@microsoft/api-extractor-model@7.33.0(@types/node@20.17.19)': dependencies: '@microsoft/tsdoc': 0.16.0 '@microsoft/tsdoc-config': 0.18.0 - '@rushstack/node-core-library': 5.19.1(@types/node@20.17.19) + '@rushstack/node-core-library': 5.20.0(@types/node@20.17.19) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.55.2(@types/node@20.17.19)': + '@microsoft/api-extractor@7.57.0(@types/node@20.17.19)': dependencies: - '@microsoft/api-extractor-model': 7.32.2(@types/node@20.17.19) + '@microsoft/api-extractor-model': 7.33.0(@types/node@20.17.19) '@microsoft/tsdoc': 0.16.0 '@microsoft/tsdoc-config': 0.18.0 - '@rushstack/node-core-library': 5.19.1(@types/node@20.17.19) - '@rushstack/rig-package': 0.6.0 - '@rushstack/terminal': 0.19.5(@types/node@20.17.19) - '@rushstack/ts-command-line': 5.1.5(@types/node@20.17.19) + '@rushstack/node-core-library': 5.20.0(@types/node@20.17.19) + '@rushstack/rig-package': 0.7.0 + '@rushstack/terminal': 0.22.0(@types/node@20.17.19) + '@rushstack/ts-command-line': 5.3.0(@types/node@20.17.19) diff: 8.0.3 lodash: 4.17.23 - minimatch: 10.0.3 + minimatch: 10.1.2 resolve: 1.22.11 semver: 7.5.4 source-map: 0.6.1 @@ -23768,12 +23794,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@rushstack/eslint-config@4.6.1(eslint@8.57.1)(typescript@4.9.5)': + '@rushstack/eslint-config@4.6.2(eslint@8.57.1)(typescript@4.9.5)': dependencies: - '@rushstack/eslint-patch': 1.15.0 - '@rushstack/eslint-plugin': 0.22.1(eslint@8.57.1)(typescript@4.9.5) - '@rushstack/eslint-plugin-packlets': 0.14.0(eslint@8.57.1)(typescript@4.9.5) - '@rushstack/eslint-plugin-security': 0.13.0(eslint@8.57.1)(typescript@4.9.5) + '@rushstack/eslint-patch': 1.16.0 + '@rushstack/eslint-plugin': 0.23.0(eslint@8.57.1)(typescript@4.9.5) + '@rushstack/eslint-plugin-packlets': 0.15.0(eslint@8.57.1)(typescript@4.9.5) + '@rushstack/eslint-plugin-security': 0.14.0(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/eslint-plugin': 8.46.4(@typescript-eslint/parser@8.46.4(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/parser': 8.46.4(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/typescript-estree': 8.46.4(typescript@4.9.5) @@ -23786,12 +23812,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@rushstack/eslint-config@4.6.1(eslint@9.37.0)(typescript@5.8.2)': + '@rushstack/eslint-config@4.6.2(eslint@9.37.0)(typescript@5.8.2)': dependencies: - '@rushstack/eslint-patch': 1.15.0 - '@rushstack/eslint-plugin': 0.22.1(eslint@9.37.0)(typescript@5.8.2) - '@rushstack/eslint-plugin-packlets': 0.14.0(eslint@9.37.0)(typescript@5.8.2) - '@rushstack/eslint-plugin-security': 0.13.0(eslint@9.37.0)(typescript@5.8.2) + '@rushstack/eslint-patch': 1.16.0 + '@rushstack/eslint-plugin': 0.23.0(eslint@9.37.0)(typescript@5.8.2) + '@rushstack/eslint-plugin-packlets': 0.15.0(eslint@9.37.0)(typescript@5.8.2) + '@rushstack/eslint-plugin-security': 0.14.0(eslint@9.37.0)(typescript@5.8.2) '@typescript-eslint/eslint-plugin': 8.46.4(@typescript-eslint/parser@8.46.4(eslint@9.37.0)(typescript@5.8.2))(eslint@9.37.0)(typescript@5.8.2) '@typescript-eslint/parser': 8.46.4(eslint@9.37.0)(typescript@5.8.2) '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.8.2) @@ -23806,20 +23832,20 @@ snapshots: '@rushstack/eslint-patch@1.10.4': {} - '@rushstack/eslint-patch@1.15.0': {} + '@rushstack/eslint-patch@1.16.0': {} - '@rushstack/eslint-plugin-packlets@0.14.0(eslint@8.57.1)(typescript@4.9.5)': + '@rushstack/eslint-plugin-packlets@0.15.0(eslint@8.57.1)(typescript@4.9.5)': dependencies: - '@rushstack/tree-pattern': 0.3.4 + '@rushstack/tree-pattern': 0.4.0 '@typescript-eslint/utils': 8.46.4(eslint@8.57.1)(typescript@4.9.5) eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript - '@rushstack/eslint-plugin-packlets@0.14.0(eslint@9.37.0)(typescript@5.8.2)': + '@rushstack/eslint-plugin-packlets@0.15.0(eslint@9.37.0)(typescript@5.8.2)': dependencies: - '@rushstack/tree-pattern': 0.3.4 + '@rushstack/tree-pattern': 0.4.0 '@typescript-eslint/utils': 8.46.4(eslint@9.37.0)(typescript@5.8.2) eslint: 9.37.0 transitivePeerDependencies: @@ -23862,18 +23888,18 @@ snapshots: - supports-color - typescript - '@rushstack/eslint-plugin-security@0.13.0(eslint@8.57.1)(typescript@4.9.5)': + '@rushstack/eslint-plugin-security@0.14.0(eslint@8.57.1)(typescript@4.9.5)': dependencies: - '@rushstack/tree-pattern': 0.3.4 + '@rushstack/tree-pattern': 0.4.0 '@typescript-eslint/utils': 8.46.4(eslint@8.57.1)(typescript@4.9.5) eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript - '@rushstack/eslint-plugin-security@0.13.0(eslint@9.37.0)(typescript@5.8.2)': + '@rushstack/eslint-plugin-security@0.14.0(eslint@9.37.0)(typescript@5.8.2)': dependencies: - '@rushstack/tree-pattern': 0.3.4 + '@rushstack/tree-pattern': 0.4.0 '@typescript-eslint/utils': 8.46.4(eslint@9.37.0)(typescript@5.8.2) eslint: 9.37.0 transitivePeerDependencies: @@ -23952,61 +23978,61 @@ snapshots: - supports-color - typescript - '@rushstack/eslint-plugin@0.22.1(eslint@8.57.1)(typescript@4.9.5)': + '@rushstack/eslint-plugin@0.23.0(eslint@8.57.1)(typescript@4.9.5)': dependencies: - '@rushstack/tree-pattern': 0.3.4 + '@rushstack/tree-pattern': 0.4.0 '@typescript-eslint/utils': 8.46.4(eslint@8.57.1)(typescript@4.9.5) eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript - '@rushstack/eslint-plugin@0.22.1(eslint@9.37.0)(typescript@5.8.2)': + '@rushstack/eslint-plugin@0.23.0(eslint@9.37.0)(typescript@5.8.2)': dependencies: - '@rushstack/tree-pattern': 0.3.4 + '@rushstack/tree-pattern': 0.4.0 '@typescript-eslint/utils': 8.46.4(eslint@9.37.0)(typescript@5.8.2) eslint: 9.37.0 transitivePeerDependencies: - supports-color - typescript - '@rushstack/heft-api-extractor-plugin@1.2.3(@rushstack/heft@1.1.7(@types/node@20.17.19))(@types/node@20.17.19)': + '@rushstack/heft-api-extractor-plugin@1.3.0(@rushstack/heft@1.2.0(@types/node@20.17.19))(@types/node@20.17.19)': dependencies: - '@rushstack/heft': 1.1.7(@types/node@20.17.19) - '@rushstack/node-core-library': 5.19.1(@types/node@20.17.19) + '@rushstack/heft': 1.2.0(@types/node@20.17.19) + '@rushstack/node-core-library': 5.20.0(@types/node@20.17.19) semver: 7.5.4 transitivePeerDependencies: - '@types/node' - '@rushstack/heft-config-file@0.19.5(@types/node@20.17.19)': + '@rushstack/heft-config-file@0.20.0(@types/node@20.17.19)': dependencies: - '@rushstack/node-core-library': 5.19.1(@types/node@20.17.19) - '@rushstack/rig-package': 0.6.0 - '@rushstack/terminal': 0.19.5(@types/node@20.17.19) + '@rushstack/node-core-library': 5.20.0(@types/node@20.17.19) + '@rushstack/rig-package': 0.7.0 + '@rushstack/terminal': 0.22.0(@types/node@20.17.19) '@ungap/structured-clone': 1.3.0 jsonpath-plus: 10.3.0 transitivePeerDependencies: - '@types/node' - '@rushstack/heft-config-file@0.19.5(@types/node@22.9.3)': + '@rushstack/heft-config-file@0.20.0(@types/node@22.9.3)': dependencies: - '@rushstack/node-core-library': 5.19.1(@types/node@22.9.3) - '@rushstack/rig-package': 0.6.0 - '@rushstack/terminal': 0.19.5(@types/node@22.9.3) + '@rushstack/node-core-library': 5.20.0(@types/node@22.9.3) + '@rushstack/rig-package': 0.7.0 + '@rushstack/terminal': 0.22.0(@types/node@22.9.3) '@ungap/structured-clone': 1.3.0 jsonpath-plus: 10.3.0 transitivePeerDependencies: - '@types/node' - '@rushstack/heft-jest-plugin@1.1.7(@rushstack/heft@1.1.7(@types/node@20.17.19))(@types/node@20.17.19)(jest-environment-jsdom@29.5.0)(jest-environment-node@29.5.0)': + '@rushstack/heft-jest-plugin@1.2.0(@rushstack/heft@1.2.0(@types/node@20.17.19))(@types/node@20.17.19)(babel-plugin-macros@3.1.0)(jest-environment-jsdom@29.5.0)(jest-environment-node@29.5.0)': dependencies: '@jest/core': 29.5.0(babel-plugin-macros@3.1.0) '@jest/reporters': 29.5.0 '@jest/transform': 29.5.0 - '@rushstack/heft': 1.1.7(@types/node@20.17.19) - '@rushstack/heft-config-file': 0.19.5(@types/node@20.17.19) - '@rushstack/node-core-library': 5.19.1(@types/node@20.17.19) - '@rushstack/terminal': 0.19.5(@types/node@20.17.19) + '@rushstack/heft': 1.2.0(@types/node@20.17.19) + '@rushstack/heft-config-file': 0.20.0(@types/node@20.17.19) + '@rushstack/node-core-library': 5.20.0(@types/node@20.17.19) + '@rushstack/terminal': 0.22.0(@types/node@20.17.19) jest-config: 29.5.0(@types/node@20.17.19)(babel-plugin-macros@3.1.0) jest-resolve: 29.5.0 jest-snapshot: 29.5.0 @@ -24022,24 +24048,24 @@ snapshots: - supports-color - ts-node - '@rushstack/heft-lint-plugin@1.1.10(@rushstack/heft@1.1.7(@types/node@20.17.19))(@types/node@20.17.19)': + '@rushstack/heft-lint-plugin@1.2.0(@rushstack/heft@1.2.0(@types/node@20.17.19))(@types/node@20.17.19)': dependencies: - '@rushstack/heft': 1.1.7(@types/node@20.17.19) - '@rushstack/node-core-library': 5.19.1(@types/node@20.17.19) + '@rushstack/heft': 1.2.0(@types/node@20.17.19) + '@rushstack/node-core-library': 5.20.0(@types/node@20.17.19) json-stable-stringify-without-jsonify: 1.0.1 semver: 7.5.4 transitivePeerDependencies: - '@types/node' - '@rushstack/heft-node-rig@2.11.12(@rushstack/heft@1.1.7(@types/node@20.17.19))(@types/node@20.17.19)(jest-environment-jsdom@29.5.0)': + '@rushstack/heft-node-rig@2.11.20(@rushstack/heft@1.2.0(@types/node@20.17.19))(@types/node@20.17.19)(babel-plugin-macros@3.1.0)(jest-environment-jsdom@29.5.0)': dependencies: - '@microsoft/api-extractor': 7.55.2(@types/node@20.17.19) - '@rushstack/eslint-config': 4.6.1(eslint@9.37.0)(typescript@5.8.2) - '@rushstack/heft': 1.1.7(@types/node@20.17.19) - '@rushstack/heft-api-extractor-plugin': 1.2.3(@rushstack/heft@1.1.7(@types/node@20.17.19))(@types/node@20.17.19) - '@rushstack/heft-jest-plugin': 1.1.7(@rushstack/heft@1.1.7(@types/node@20.17.19))(@types/node@20.17.19)(jest-environment-jsdom@29.5.0)(jest-environment-node@29.5.0) - '@rushstack/heft-lint-plugin': 1.1.10(@rushstack/heft@1.1.7(@types/node@20.17.19))(@types/node@20.17.19) - '@rushstack/heft-typescript-plugin': 1.1.7(@rushstack/heft@1.1.7(@types/node@20.17.19))(@types/node@20.17.19) + '@microsoft/api-extractor': 7.57.0(@types/node@20.17.19) + '@rushstack/eslint-config': 4.6.2(eslint@9.37.0)(typescript@5.8.2) + '@rushstack/heft': 1.2.0(@types/node@20.17.19) + '@rushstack/heft-api-extractor-plugin': 1.3.0(@rushstack/heft@1.2.0(@types/node@20.17.19))(@types/node@20.17.19) + '@rushstack/heft-jest-plugin': 1.2.0(@rushstack/heft@1.2.0(@types/node@20.17.19))(@types/node@20.17.19)(babel-plugin-macros@3.1.0)(jest-environment-jsdom@29.5.0)(jest-environment-node@29.5.0) + '@rushstack/heft-lint-plugin': 1.2.0(@rushstack/heft@1.2.0(@types/node@20.17.19))(@types/node@20.17.19) + '@rushstack/heft-typescript-plugin': 1.2.0(@rushstack/heft@1.2.0(@types/node@20.17.19))(@types/node@20.17.19) '@types/heft-jest': 1.0.1 eslint: 9.37.0 jest-environment-node: 29.5.0 @@ -24053,25 +24079,25 @@ snapshots: - supports-color - ts-node - '@rushstack/heft-typescript-plugin@1.1.7(@rushstack/heft@1.1.7(@types/node@20.17.19))(@types/node@20.17.19)': + '@rushstack/heft-typescript-plugin@1.2.0(@rushstack/heft@1.2.0(@types/node@20.17.19))(@types/node@20.17.19)': dependencies: - '@rushstack/heft': 1.1.7(@types/node@20.17.19) - '@rushstack/heft-config-file': 0.19.5(@types/node@20.17.19) - '@rushstack/node-core-library': 5.19.1(@types/node@20.17.19) + '@rushstack/heft': 1.2.0(@types/node@20.17.19) + '@rushstack/heft-config-file': 0.20.0(@types/node@20.17.19) + '@rushstack/node-core-library': 5.20.0(@types/node@20.17.19) '@types/tapable': 1.0.6 semver: 7.5.4 tapable: 1.1.3 transitivePeerDependencies: - '@types/node' - '@rushstack/heft@1.1.7(@types/node@20.17.19)': + '@rushstack/heft@1.2.0(@types/node@20.17.19)': dependencies: - '@rushstack/heft-config-file': 0.19.5(@types/node@20.17.19) - '@rushstack/node-core-library': 5.19.1(@types/node@20.17.19) - '@rushstack/operation-graph': 0.5.5(@types/node@20.17.19) - '@rushstack/rig-package': 0.6.0 - '@rushstack/terminal': 0.19.5(@types/node@20.17.19) - '@rushstack/ts-command-line': 5.1.5(@types/node@20.17.19) + '@rushstack/heft-config-file': 0.20.0(@types/node@20.17.19) + '@rushstack/node-core-library': 5.20.0(@types/node@20.17.19) + '@rushstack/operation-graph': 0.6.0(@types/node@20.17.19) + '@rushstack/rig-package': 0.7.0 + '@rushstack/terminal': 0.22.0(@types/node@20.17.19) + '@rushstack/ts-command-line': 5.3.0(@types/node@20.17.19) '@types/tapable': 1.0.6 fast-glob: 3.3.3 git-repo-info: 2.1.1 @@ -24081,14 +24107,14 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@rushstack/heft@1.1.7(@types/node@22.9.3)': + '@rushstack/heft@1.2.0(@types/node@22.9.3)': dependencies: - '@rushstack/heft-config-file': 0.19.5(@types/node@22.9.3) - '@rushstack/node-core-library': 5.19.1(@types/node@22.9.3) - '@rushstack/operation-graph': 0.5.5(@types/node@22.9.3) - '@rushstack/rig-package': 0.6.0 - '@rushstack/terminal': 0.19.5(@types/node@22.9.3) - '@rushstack/ts-command-line': 5.1.5(@types/node@22.9.3) + '@rushstack/heft-config-file': 0.20.0(@types/node@22.9.3) + '@rushstack/node-core-library': 5.20.0(@types/node@22.9.3) + '@rushstack/operation-graph': 0.6.0(@types/node@22.9.3) + '@rushstack/rig-package': 0.7.0 + '@rushstack/terminal': 0.22.0(@types/node@22.9.3) + '@rushstack/ts-command-line': 5.3.0(@types/node@22.9.3) '@types/tapable': 1.0.6 fast-glob: 3.3.3 git-repo-info: 2.1.1 @@ -24122,7 +24148,7 @@ snapshots: optionalDependencies: '@types/node': 22.9.3 - '@rushstack/node-core-library@5.19.1(@types/node@20.17.19)': + '@rushstack/node-core-library@5.20.0(@types/node@20.17.19)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -24135,7 +24161,7 @@ snapshots: optionalDependencies: '@types/node': 20.17.19 - '@rushstack/node-core-library@5.19.1(@types/node@22.9.3)': + '@rushstack/node-core-library@5.20.0(@types/node@22.9.3)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -24148,29 +24174,29 @@ snapshots: optionalDependencies: '@types/node': 22.9.3 - '@rushstack/operation-graph@0.5.5(@types/node@20.17.19)': + '@rushstack/operation-graph@0.6.0(@types/node@20.17.19)': dependencies: - '@rushstack/node-core-library': 5.19.1(@types/node@20.17.19) - '@rushstack/terminal': 0.19.5(@types/node@20.17.19) + '@rushstack/node-core-library': 5.20.0(@types/node@20.17.19) + '@rushstack/terminal': 0.22.0(@types/node@20.17.19) optionalDependencies: '@types/node': 20.17.19 - '@rushstack/operation-graph@0.5.5(@types/node@22.9.3)': + '@rushstack/operation-graph@0.6.0(@types/node@22.9.3)': dependencies: - '@rushstack/node-core-library': 5.19.1(@types/node@22.9.3) - '@rushstack/terminal': 0.19.5(@types/node@22.9.3) + '@rushstack/node-core-library': 5.20.0(@types/node@22.9.3) + '@rushstack/terminal': 0.22.0(@types/node@22.9.3) optionalDependencies: '@types/node': 22.9.3 - '@rushstack/problem-matcher@0.1.1(@types/node@20.17.19)': + '@rushstack/problem-matcher@0.2.0(@types/node@20.17.19)': optionalDependencies: '@types/node': 20.17.19 - '@rushstack/problem-matcher@0.1.1(@types/node@22.9.3)': + '@rushstack/problem-matcher@0.2.0(@types/node@22.9.3)': optionalDependencies: '@types/node': 22.9.3 - '@rushstack/rig-package@0.6.0': + '@rushstack/rig-package@0.7.0': dependencies: resolve: 1.22.11 strip-json-comments: 3.1.1 @@ -24195,36 +24221,38 @@ snapshots: - '@types/node' - webpack - '@rushstack/terminal@0.19.5(@types/node@20.17.19)': + '@rushstack/terminal@0.22.0(@types/node@20.17.19)': dependencies: - '@rushstack/node-core-library': 5.19.1(@types/node@20.17.19) - '@rushstack/problem-matcher': 0.1.1(@types/node@20.17.19) + '@rushstack/node-core-library': 5.20.0(@types/node@20.17.19) + '@rushstack/problem-matcher': 0.2.0(@types/node@20.17.19) supports-color: 8.1.1 optionalDependencies: '@types/node': 20.17.19 - '@rushstack/terminal@0.19.5(@types/node@22.9.3)': + '@rushstack/terminal@0.22.0(@types/node@22.9.3)': dependencies: - '@rushstack/node-core-library': 5.19.1(@types/node@22.9.3) - '@rushstack/problem-matcher': 0.1.1(@types/node@22.9.3) + '@rushstack/node-core-library': 5.20.0(@types/node@22.9.3) + '@rushstack/problem-matcher': 0.2.0(@types/node@22.9.3) supports-color: 8.1.1 optionalDependencies: '@types/node': 22.9.3 '@rushstack/tree-pattern@0.3.4': {} - '@rushstack/ts-command-line@5.1.5(@types/node@20.17.19)': + '@rushstack/tree-pattern@0.4.0': {} + + '@rushstack/ts-command-line@5.3.0(@types/node@20.17.19)': dependencies: - '@rushstack/terminal': 0.19.5(@types/node@20.17.19) + '@rushstack/terminal': 0.22.0(@types/node@20.17.19) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 transitivePeerDependencies: - '@types/node' - '@rushstack/ts-command-line@5.1.5(@types/node@22.9.3)': + '@rushstack/ts-command-line@5.3.0(@types/node@22.9.3)': dependencies: - '@rushstack/terminal': 0.19.5(@types/node@22.9.3) + '@rushstack/terminal': 0.22.0(@types/node@22.9.3) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -32137,6 +32165,36 @@ snapshots: - babel-plugin-macros - supports-color + jest-config@29.5.0(@types/node@22.9.3): + dependencies: + '@babel/core': 7.20.12 + '@jest/test-sequencer': 29.7.0(@types/node@22.9.3) + '@jest/types': 29.5.0 + babel-jest: 29.7.0(@babel/core@7.20.12) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0(babel-plugin-macros@3.1.0) + jest-environment-node: 29.5.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.5.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 22.9.3 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + jest-config@29.5.0(@types/node@22.9.3)(babel-plugin-macros@3.1.0): dependencies: '@babel/core': 7.20.12 @@ -32587,7 +32645,7 @@ snapshots: jest@29.3.1(@types/node@20.17.19): dependencies: - '@jest/core': 29.5.0(babel-plugin-macros@3.1.0) + '@jest/core': 29.5.0 '@jest/types': 29.5.0 import-local: 3.2.0 jest-cli: 29.7.0(@types/node@20.17.19) @@ -33254,10 +33312,6 @@ snapshots: minimalistic-crypto-utils@1.0.1: {} - minimatch@10.0.3: - dependencies: - '@isaacs/brace-expansion': 5.0.0 - minimatch@10.1.2: dependencies: '@isaacs/brace-expansion': 5.0.1 diff --git a/common/config/subspaces/default/repo-state.json b/common/config/subspaces/default/repo-state.json index 4d000c7625e..632ac9be841 100644 --- a/common/config/subspaces/default/repo-state.json +++ b/common/config/subspaces/default/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "b34e74d93670f1c777f897c9d1d5c7b130a61337", + "pnpmShrinkwrapHash": "14e1da426da2babd4e48137086971c10963c6a7f", "preferredVersionsHash": "9ba05fe872434900a0b29c308a94015078f37c47" } diff --git a/common/scripts/install-run-rush-pnpm.js b/common/scripts/install-run-rush-pnpm.js index 2356649f4e7..0fcb04975dd 100644 --- a/common/scripts/install-run-rush-pnpm.js +++ b/common/scripts/install-run-rush-pnpm.js @@ -17,9 +17,9 @@ /******/ (() => { // webpackBootstrap /******/ "use strict"; var __webpack_exports__ = {}; -/*!*****************************************************!*\ - !*** ./lib-esnext/scripts/install-run-rush-pnpm.js ***! - \*****************************************************/ +/*!***************************************************************!*\ + !*** ./lib-intermediate-esm/scripts/install-run-rush-pnpm.js ***! + \***************************************************************/ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. diff --git a/common/scripts/install-run-rush.js b/common/scripts/install-run-rush.js index dc8980d1a27..4733f4d8cc4 100644 --- a/common/scripts/install-run-rush.js +++ b/common/scripts/install-run-rush.js @@ -16,25 +16,25 @@ /******/ "use strict"; /******/ var __webpack_modules__ = ({ -/***/ 176760: -/*!****************************!*\ - !*** external "node:path" ***! - \****************************/ -/***/ ((module) => { - -module.exports = require("node:path"); - -/***/ }), - -/***/ 973024: +/***/ 973024 /*!**************************!*\ !*** external "node:fs" ***! \**************************/ -/***/ ((module) => { +(module) { module.exports = require("node:fs"); -/***/ }) +/***/ }, + +/***/ 176760 +/*!****************************!*\ + !*** external "node:path" ***! + \****************************/ +(module) { + +module.exports = require("node:path"); + +/***/ } /******/ }); /************************************************************************/ @@ -48,6 +48,12 @@ module.exports = require("node:fs"); /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } +/******/ // Check if module exists (development only) +/******/ if (__webpack_modules__[moduleId] === undefined) { +/******/ var e = new Error("Cannot find module '" + moduleId + "'"); +/******/ e.code = 'MODULE_NOT_FOUND'; +/******/ throw e; +/******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed @@ -107,9 +113,9 @@ module.exports = require("node:fs"); var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk. (() => { -/*!************************************************!*\ - !*** ./lib-esnext/scripts/install-run-rush.js ***! - \************************************************/ +/*!**********************************************************!*\ + !*** ./lib-intermediate-esm/scripts/install-run-rush.js ***! + \**********************************************************/ __webpack_require__.r(__webpack_exports__); /* harmony import */ var node_path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! node:path */ 176760); /* harmony import */ var node_path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(node_path__WEBPACK_IMPORTED_MODULE_0__); diff --git a/common/scripts/install-run-rushx.js b/common/scripts/install-run-rushx.js index 6581521f3c7..67d51a05b56 100644 --- a/common/scripts/install-run-rushx.js +++ b/common/scripts/install-run-rushx.js @@ -17,9 +17,9 @@ /******/ (() => { // webpackBootstrap /******/ "use strict"; var __webpack_exports__ = {}; -/*!*************************************************!*\ - !*** ./lib-esnext/scripts/install-run-rushx.js ***! - \*************************************************/ +/*!***********************************************************!*\ + !*** ./lib-intermediate-esm/scripts/install-run-rushx.js ***! + \***********************************************************/ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. diff --git a/common/scripts/install-run.js b/common/scripts/install-run.js index 2b2b91aca6c..f5c278d72b4 100644 --- a/common/scripts/install-run.js +++ b/common/scripts/install-run.js @@ -16,11 +16,11 @@ /******/ "use strict"; /******/ var __webpack_modules__ = ({ -/***/ 90178: -/*!****************************************************!*\ - !*** ./lib-esnext/utilities/executionUtilities.js ***! - \****************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { +/***/ 953844 +/*!**************************************************************!*\ + !*** ./lib-intermediate-esm/utilities/executionUtilities.js ***! + \**************************************************************/ +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { @@ -47,33 +47,13 @@ function escapeArgumentIfNeeded(command, isWindows = IS_WINDOWS) { } //# sourceMappingURL=executionUtilities.js.map -/***/ }), +/***/ }, -/***/ 176760: -/*!****************************!*\ - !*** external "node:path" ***! - \****************************/ -/***/ ((module) => { - -module.exports = require("node:path"); - -/***/ }), - -/***/ 731421: -/*!*************************************!*\ - !*** external "node:child_process" ***! - \*************************************/ -/***/ ((module) => { - -module.exports = require("node:child_process"); - -/***/ }), - -/***/ 832286: -/*!************************************************!*\ - !*** ./lib-esnext/utilities/npmrcUtilities.js ***! - \************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { +/***/ 359480 +/*!**********************************************************!*\ + !*** ./lib-intermediate-esm/utilities/npmrcUtilities.js ***! + \**********************************************************/ +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { @@ -100,7 +80,7 @@ __webpack_require__.r(__webpack_exports__); // create a global _combinedNpmrc for cache purpose const _combinedNpmrcMap = new Map(); function _trimNpmrcFile(options) { - const { sourceNpmrcPath, linesToPrepend, linesToAppend, supportEnvVarFallbackSyntax } = options; + const { sourceNpmrcPath, linesToPrepend, linesToAppend, supportEnvVarFallbackSyntax, filterNpmIncompatibleProperties, env = process.env } = options; const combinedNpmrcFromCache = _combinedNpmrcMap.get(sourceNpmrcPath); if (combinedNpmrcFromCache !== undefined) { return combinedNpmrcFromCache; @@ -116,21 +96,63 @@ function _trimNpmrcFile(options) { npmrcFileLines.push(...linesToAppend); } npmrcFileLines = npmrcFileLines.map((line) => (line || '').trim()); - const resultLines = trimNpmrcFileLines(npmrcFileLines, process.env, supportEnvVarFallbackSyntax); + const resultLines = trimNpmrcFileLines(npmrcFileLines, env, supportEnvVarFallbackSyntax, filterNpmIncompatibleProperties); const combinedNpmrc = resultLines.join('\n'); //save the cache _combinedNpmrcMap.set(sourceNpmrcPath, combinedNpmrc); return combinedNpmrc; } +/** + * List of npmrc properties that are not supported by npm but may be present in the config. + * These include pnpm-specific properties and deprecated npm properties. + */ +const NPM_INCOMPATIBLE_PROPERTIES = new Set([ + // pnpm-specific hoisting configuration + 'hoist', + 'hoist-pattern', + 'public-hoist-pattern', + 'shamefully-hoist', + // Deprecated or unknown npm properties that cause warnings + 'email', + 'publish-branch' +]); +/** + * List of registry-scoped npmrc property suffixes that are pnpm-specific. + * These are properties like "//registry.example.com/:tokenHelper" where "tokenHelper" + * is the suffix after the last colon. + */ +const NPM_INCOMPATIBLE_REGISTRY_SCOPED_PROPERTIES = new Set([ + // pnpm-specific token helper properties + 'tokenHelper', + 'urlTokenHelper' +]); +/** + * Regular expression to extract property names from .npmrc lines. + * Matches everything before '=', '[', or whitespace to capture the property name. + * Note: The 'g' flag is intentionally omitted since we only need the first match. + * Examples: + * "registry=https://..." -> matches "registry" + * "hoist-pattern[]=..." -> matches "hoist-pattern" + */ +const PROPERTY_NAME_REGEX = /^([^=\[\s]+)/; +/** + * Regular expression to extract environment variable names and optional fallback values. + * Matches patterns like: + * nameString -> group 1: nameString, group 2: undefined + * nameString-fallbackString -> group 1: nameString, group 2: fallbackString + * nameString:-fallbackString -> group 1: nameString, group 2: fallbackString + */ +const ENV_VAR_WITH_FALLBACK_REGEX = /^(?[^:-]+)(?::?-(?.+))?$/; /** * * @param npmrcFileLines The npmrc file's lines * @param env The environment variables object * @param supportEnvVarFallbackSyntax Whether to support fallback values in the form of `${VAR_NAME:-fallback}` - * @returns + * @param filterNpmIncompatibleProperties Whether to filter out properties that npm doesn't understand + * @returns An array of processed npmrc file lines with undefined environment variables and npm-incompatible properties commented out */ -function trimNpmrcFileLines(npmrcFileLines, env, supportEnvVarFallbackSyntax) { - var _a; +function trimNpmrcFileLines(npmrcFileLines, env, supportEnvVarFallbackSyntax, filterNpmIncompatibleProperties = false) { + var _a, _b, _c; const resultLines = []; // This finds environment variable tokens that look like "${VAR_NAME}" const expansionRegExp = /\$\{([^\}]+)\}/g; @@ -139,6 +161,7 @@ function trimNpmrcFileLines(npmrcFileLines, env, supportEnvVarFallbackSyntax) { // Trim out lines that reference environment variables that aren't defined for (let line of npmrcFileLines) { let lineShouldBeTrimmed = false; + let trimReason = ''; //remove spaces before or after key and value line = line .split('=') @@ -146,49 +169,89 @@ function trimNpmrcFileLines(npmrcFileLines, env, supportEnvVarFallbackSyntax) { .join('='); // Ignore comment lines if (!commentRegExp.test(line)) { - const environmentVariables = line.match(expansionRegExp); - if (environmentVariables) { - for (const token of environmentVariables) { - /** - * Remove the leading "${" and the trailing "}" from the token - * - * ${nameString} -> nameString - * ${nameString-fallbackString} -> name-fallbackString - * ${nameString:-fallbackString} -> name:-fallbackString - */ - const nameWithFallback = token.substring(2, token.length - 1); - let environmentVariableName; - let fallback; - if (supportEnvVarFallbackSyntax) { - /** - * Get the environment variable name and fallback value. - * - * name fallback - * nameString -> nameString undefined - * nameString-fallbackString -> nameString fallbackString - * nameString:-fallbackString -> nameString fallbackString - */ - const matched = nameWithFallback.match(/^([^:-]+)(?:\:?-(.+))?$/); - // matched: [originStr, variableName, fallback] - environmentVariableName = (_a = matched === null || matched === void 0 ? void 0 : matched[1]) !== null && _a !== void 0 ? _a : nameWithFallback; - fallback = matched === null || matched === void 0 ? void 0 : matched[2]; + // Check if this is a property that npm doesn't understand + if (filterNpmIncompatibleProperties) { + // Extract the property name (everything before the '=' or '[') + const match = line.match(PROPERTY_NAME_REGEX); + if (match) { + const propertyName = match[1]; + // Check if this is a registry-scoped property (starts with "//" like "//registry.npmjs.org/:_authToken") + const isRegistryScoped = propertyName.startsWith('//'); + if (isRegistryScoped) { + // For registry-scoped properties, check if the suffix (after the last colon) is npm-incompatible + // Example: "//registry.example.com/:tokenHelper" -> suffix is "tokenHelper" + const lastColonIndex = propertyName.lastIndexOf(':'); + if (lastColonIndex !== -1) { + const registryPropertySuffix = propertyName.substring(lastColonIndex + 1); + if (NPM_INCOMPATIBLE_REGISTRY_SCOPED_PROPERTIES.has(registryPropertySuffix)) { + lineShouldBeTrimmed = true; + trimReason = 'NPM_INCOMPATIBLE_PROPERTY'; + } + } } else { - environmentVariableName = nameWithFallback; + // For non-registry-scoped properties, check the full property name + if (NPM_INCOMPATIBLE_PROPERTIES.has(propertyName)) { + lineShouldBeTrimmed = true; + trimReason = 'NPM_INCOMPATIBLE_PROPERTY'; + } } - // Is the environment variable and fallback value defined. - if (!env[environmentVariableName] && !fallback) { - // No, so trim this line - lineShouldBeTrimmed = true; - break; + } + } + // Check for undefined environment variables + if (!lineShouldBeTrimmed) { + const environmentVariables = line.match(expansionRegExp); + if (environmentVariables) { + for (const token of environmentVariables) { + /** + * Remove the leading "${" and the trailing "}" from the token + * + * ${nameString} -> nameString + * ${nameString-fallbackString} -> name-fallbackString + * ${nameString:-fallbackString} -> name:-fallbackString + */ + const nameWithFallback = token.slice(2, -1); + let environmentVariableName; + let fallback; + if (supportEnvVarFallbackSyntax) { + /** + * Get the environment variable name and fallback value. + * + * name fallback + * nameString -> nameString undefined + * nameString-fallbackString -> nameString fallbackString + * nameString:-fallbackString -> nameString fallbackString + */ + const matched = nameWithFallback.match(ENV_VAR_WITH_FALLBACK_REGEX); + environmentVariableName = (_b = (_a = matched === null || matched === void 0 ? void 0 : matched.groups) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : nameWithFallback; + fallback = (_c = matched === null || matched === void 0 ? void 0 : matched.groups) === null || _c === void 0 ? void 0 : _c.fallback; + } + else { + environmentVariableName = nameWithFallback; + } + // Is the environment variable and fallback value defined. + if (!env[environmentVariableName] && !fallback) { + // No, so trim this line + lineShouldBeTrimmed = true; + trimReason = 'MISSING_ENVIRONMENT_VARIABLE'; + break; + } } } } } if (lineShouldBeTrimmed) { - // Example output: - // "; MISSING ENVIRONMENT VARIABLE: //my-registry.com/npm/:_authToken=${MY_AUTH_TOKEN}" - resultLines.push('; MISSING ENVIRONMENT VARIABLE: ' + line); + // Comment out the line with appropriate reason + if (trimReason === 'NPM_INCOMPATIBLE_PROPERTY') { + // Example output: + // "; UNSUPPORTED BY NPM: email=test@example.com" + resultLines.push('; UNSUPPORTED BY NPM: ' + line); + } + else { + // Example output: + // "; MISSING ENVIRONMENT VARIABLE: //my-registry.com/npm/:_authToken=${MY_AUTH_TOKEN}" + resultLines.push('; MISSING ENVIRONMENT VARIABLE: ' + line); + } } else { resultLines.push(line); @@ -242,33 +305,57 @@ function isVariableSetInNpmrcFile(sourceNpmrcFolder, variableKey, supportEnvVarF if (!node_fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(sourceNpmrcPath)) { return false; } - const trimmedNpmrcFile = _trimNpmrcFile({ sourceNpmrcPath, supportEnvVarFallbackSyntax }); + const trimmedNpmrcFile = _trimNpmrcFile({ + sourceNpmrcPath, + supportEnvVarFallbackSyntax, + filterNpmIncompatibleProperties: false + }); const variableKeyRegExp = new RegExp(`^${variableKey}=`, 'm'); return trimmedNpmrcFile.match(variableKeyRegExp) !== null; } //# sourceMappingURL=npmrcUtilities.js.map -/***/ }), +/***/ }, -/***/ 848161: -/*!**************************!*\ - !*** external "node:os" ***! - \**************************/ -/***/ ((module) => { +/***/ 731421 +/*!*************************************!*\ + !*** external "node:child_process" ***! + \*************************************/ +(module) { -module.exports = require("node:os"); +module.exports = require("node:child_process"); -/***/ }), +/***/ }, -/***/ 973024: +/***/ 973024 /*!**************************!*\ !*** external "node:fs" ***! \**************************/ -/***/ ((module) => { +(module) { module.exports = require("node:fs"); -/***/ }) +/***/ }, + +/***/ 848161 +/*!**************************!*\ + !*** external "node:os" ***! + \**************************/ +(module) { + +module.exports = require("node:os"); + +/***/ }, + +/***/ 176760 +/*!****************************!*\ + !*** external "node:path" ***! + \****************************/ +(module) { + +module.exports = require("node:path"); + +/***/ } /******/ }); /************************************************************************/ @@ -282,6 +369,12 @@ module.exports = require("node:fs"); /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } +/******/ // Check if module exists (development only) +/******/ if (__webpack_modules__[moduleId] === undefined) { +/******/ var e = new Error("Cannot find module '" + moduleId + "'"); +/******/ e.code = 'MODULE_NOT_FOUND'; +/******/ throw e; +/******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed @@ -341,9 +434,9 @@ module.exports = require("node:fs"); var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk. (() => { -/*!*******************************************!*\ - !*** ./lib-esnext/scripts/install-run.js ***! - \*******************************************/ +/*!*****************************************************!*\ + !*** ./lib-intermediate-esm/scripts/install-run.js ***! + \*****************************************************/ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ RUSH_JSON_FILENAME: () => (/* binding */ RUSH_JSON_FILENAME), @@ -360,8 +453,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var node_os__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(node_os__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var node_path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! node:path */ 176760); /* harmony import */ var node_path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(node_path__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _utilities_npmrcUtilities__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utilities/npmrcUtilities */ 832286); -/* harmony import */ var _utilities_executionUtilities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utilities/executionUtilities */ 90178); +/* harmony import */ var _utilities_npmrcUtilities__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utilities/npmrcUtilities */ 359480); +/* harmony import */ var _utilities_executionUtilities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utilities/executionUtilities */ 953844); // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. /* eslint-disable no-console */ @@ -509,7 +602,10 @@ function _resolvePackageVersion(logger, rushCommonFolder, { name, version }) { sourceNpmrcFolder, targetNpmrcFolder: rushTempFolder, logger, - supportEnvVarFallbackSyntax: false + supportEnvVarFallbackSyntax: false, + // Always filter npm-incompatible properties in install-run scripts. + // Any warnings will be shown when running Rush commands directly. + filterNpmIncompatibleProperties: true }); // This returns something that looks like: // ``` @@ -745,7 +841,10 @@ function installAndRun(logger, packageName, packageVersion, packageBinName, pack sourceNpmrcFolder, targetNpmrcFolder: packageInstallFolder, logger, - supportEnvVarFallbackSyntax: false + supportEnvVarFallbackSyntax: false, + // Always filter npm-incompatible properties in install-run scripts. + // Any warnings will be shown when running Rush commands directly. + filterNpmIncompatibleProperties: true }); _createPackageJson(packageInstallFolder, packageName, packageVersion); const installCommand = lockFilePath ? 'ci' : 'install'; diff --git a/eslint/eslint-patch/package.json b/eslint/eslint-patch/package.json index ecc3e1603fa..ce6b3a93c9b 100644 --- a/eslint/eslint-patch/package.json +++ b/eslint/eslint-patch/package.json @@ -62,7 +62,7 @@ "patch" ], "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "@types/eslint-8": "npm:@types/eslint@8.56.10", "@types/eslint-9": "npm:@types/eslint@9.6.1", "@typescript-eslint/types": "~8.46.0", diff --git a/eslint/eslint-plugin-packlets/package.json b/eslint/eslint-plugin-packlets/package.json index eac1b2ca7de..ff37aff4c98 100644 --- a/eslint/eslint-plugin-packlets/package.json +++ b/eslint/eslint-plugin-packlets/package.json @@ -51,7 +51,7 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" }, "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "@typescript-eslint/parser": "~8.46.0", "decoupled-local-node-rig": "workspace:*", "eslint": "~9.37.0", diff --git a/eslint/eslint-plugin-security/package.json b/eslint/eslint-plugin-security/package.json index 38196271a20..f6b2aa8ca7b 100644 --- a/eslint/eslint-plugin-security/package.json +++ b/eslint/eslint-plugin-security/package.json @@ -50,7 +50,7 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" }, "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "@typescript-eslint/parser": "~8.46.0", "@typescript-eslint/rule-tester": "~8.46.0", "@typescript-eslint/typescript-estree": "~8.46.0", diff --git a/eslint/eslint-plugin/package.json b/eslint/eslint-plugin/package.json index cd019214741..1c50ea7afb6 100644 --- a/eslint/eslint-plugin/package.json +++ b/eslint/eslint-plugin/package.json @@ -54,7 +54,7 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" }, "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "@typescript-eslint/parser": "~8.46.0", "@typescript-eslint/rule-tester": "~8.46.0", "decoupled-local-node-rig": "workspace:*", diff --git a/eslint/local-eslint-config/package.json b/eslint/local-eslint-config/package.json index a58d4ebf7c3..5f9489cb201 100644 --- a/eslint/local-eslint-config/package.json +++ b/eslint/local-eslint-config/package.json @@ -14,7 +14,7 @@ "devDependencies": { "eslint": "~9.37.0", "typescript": "~5.8.2", - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "decoupled-local-node-rig": "workspace:*" }, "dependencies": { diff --git a/libraries/api-extractor-model/package.json b/libraries/api-extractor-model/package.json index 252356d2704..19313a84c37 100644 --- a/libraries/api-extractor-model/package.json +++ b/libraries/api-extractor-model/package.json @@ -43,7 +43,7 @@ "@rushstack/node-core-library": "workspace:*" }, "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "decoupled-local-node-rig": "workspace:*", "eslint": "~9.37.0" }, diff --git a/libraries/heft-config-file/package.json b/libraries/heft-config-file/package.json index 6db88e1bca8..7f61b6ad3a1 100644 --- a/libraries/heft-config-file/package.json +++ b/libraries/heft-config-file/package.json @@ -49,7 +49,7 @@ "jsonpath-plus": "~10.3.0" }, "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "@types/ungap__structured-clone": "~1.2.0", "decoupled-local-node-rig": "workspace:*", "eslint": "~9.37.0" diff --git a/libraries/node-core-library/package.json b/libraries/node-core-library/package.json index 4db5cf753c9..f85c9550d93 100644 --- a/libraries/node-core-library/package.json +++ b/libraries/node-core-library/package.json @@ -47,7 +47,7 @@ "ajv-formats": "~3.0.1" }, "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "@rushstack/problem-matcher": "workspace:*", "@types/fs-extra": "7.0.0", "@types/jju": "1.4.1", diff --git a/libraries/operation-graph/package.json b/libraries/operation-graph/package.json index 8e7671a6a14..b7cc78c3f52 100644 --- a/libraries/operation-graph/package.json +++ b/libraries/operation-graph/package.json @@ -41,7 +41,7 @@ "@rushstack/terminal": "workspace:*" }, "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "decoupled-local-node-rig": "workspace:*", "eslint": "~9.37.0" }, diff --git a/libraries/problem-matcher/package.json b/libraries/problem-matcher/package.json index f9bf5473e17..af777563f8c 100644 --- a/libraries/problem-matcher/package.json +++ b/libraries/problem-matcher/package.json @@ -37,7 +37,7 @@ "_phase:test": "heft run --only test -- --clean" }, "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "decoupled-local-node-rig": "workspace:*", "eslint": "~9.37.0" }, diff --git a/libraries/rig-package/package.json b/libraries/rig-package/package.json index cd573ec1353..0e17f86cc31 100644 --- a/libraries/rig-package/package.json +++ b/libraries/rig-package/package.json @@ -42,7 +42,7 @@ "strip-json-comments": "~3.1.1" }, "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "@types/resolve": "1.20.2", "ajv": "~8.13.0", "decoupled-local-node-rig": "workspace:*", diff --git a/libraries/terminal/package.json b/libraries/terminal/package.json index 4d864027117..4a0e9fe3fa2 100644 --- a/libraries/terminal/package.json +++ b/libraries/terminal/package.json @@ -42,7 +42,7 @@ "supports-color": "~8.1.1" }, "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "@types/supports-color": "8.1.3", "decoupled-local-node-rig": "workspace:*", "eslint": "~9.37.0" diff --git a/libraries/tree-pattern/package.json b/libraries/tree-pattern/package.json index 79864f0bdfc..ac90fc5d7c9 100644 --- a/libraries/tree-pattern/package.json +++ b/libraries/tree-pattern/package.json @@ -37,7 +37,7 @@ "_phase:test": "heft run --only test -- --clean" }, "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "decoupled-local-node-rig": "workspace:*", "eslint": "~9.37.0" }, diff --git a/libraries/ts-command-line/package.json b/libraries/ts-command-line/package.json index f756e13613e..fa8ae34d7a2 100644 --- a/libraries/ts-command-line/package.json +++ b/libraries/ts-command-line/package.json @@ -43,7 +43,7 @@ "string-argv": "~0.3.1" }, "devDependencies": { - "@rushstack/heft": "1.1.7", + "@rushstack/heft": "1.2.0", "@rushstack/node-core-library": "workspace:*", "decoupled-local-node-rig": "workspace:*", "eslint": "~9.37.0" diff --git a/rigs/decoupled-local-node-rig/package.json b/rigs/decoupled-local-node-rig/package.json index 37a1d43547c..3d9f26bee4f 100644 --- a/rigs/decoupled-local-node-rig/package.json +++ b/rigs/decoupled-local-node-rig/package.json @@ -9,12 +9,12 @@ "_phase:build": "" }, "dependencies": { - "@microsoft/api-extractor": "7.55.2", - "@rushstack/eslint-config": "4.6.1", - "@rushstack/eslint-patch": "1.15.0", - "@rushstack/eslint-plugin": "0.22.1", - "@rushstack/heft-node-rig": "2.11.12", - "@rushstack/heft": "1.1.7", + "@microsoft/api-extractor": "7.57.0", + "@rushstack/eslint-config": "4.6.2", + "@rushstack/eslint-patch": "1.16.0", + "@rushstack/eslint-plugin": "0.23.0", + "@rushstack/heft-node-rig": "2.11.20", + "@rushstack/heft": "1.2.0", "@types/heft-jest": "1.0.1", "@types/node": "20.17.19", "@typescript-eslint/eslint-plugin": "~8.46.0", diff --git a/rush.json b/rush.json index ab816fc21f5..92cb5f8e635 100644 --- a/rush.json +++ b/rush.json @@ -16,7 +16,7 @@ * path segment in the "$schema" field for all your Rush config files. This will ensure * correct error-underlining and tab-completion for editors such as VS Code. */ - "rushVersion": "5.166.0", + "rushVersion": "5.169.0", /** * The next field selects which package manager should be installed and determines its version. From 43dab6654bd7ae4342de23a386beaafeb3209a44 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 18 Feb 2026 16:54:01 -0800 Subject: [PATCH 2/9] fixup! Bump decoupled local dependencies. --- common/config/rush/command-line.json | 8 ++++ common/config/rush/experiments.json | 14 +++++-- common/config/rush/pnpm-config.json | 55 ++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 3 deletions(-) diff --git a/common/config/rush/command-line.json b/common/config/rush/command-line.json index 42a4467c79e..84354ed1fe6 100644 --- a/common/config/rush/command-line.json +++ b/common/config/rush/command-line.json @@ -119,6 +119,14 @@ // "enableParallelism": false, // // /** + // * Controls whether weighted operations can start when the total weight would exceed the limit + // * but is currently below the limit. This setting only applies when "enableParallelism" is true + // * and operations have a "weight" property configured in their rush-project.json "operationSettings". + // * Choose true (the default) to favor parallelism. Choose false to strictly stay under the limit. + // */ + // "allowOversubscription": false, + // + // /** // * Normally projects will be processed according to their dependency order: a given project will not start // * processing the command until all of its dependencies have completed. This restriction doesn't apply for // * certain operations, for example a "clean" task that deletes output files. In this case diff --git a/common/config/rush/experiments.json b/common/config/rush/experiments.json index f8071d80056..7dcb8ecd683 100644 --- a/common/config/rush/experiments.json +++ b/common/config/rush/experiments.json @@ -76,7 +76,7 @@ * Enable this experiment if you want "rush" and "rushx" commands to resync injected dependencies * by invoking "pnpm-sync" during the build. */ - "usePnpmSyncForInjectedDependencies": true + "usePnpmSyncForInjectedDependencies": true, /** * If set to true, Rush will generate a `project-impact-graph.yaml` file in the repository root during `rush update`. @@ -107,7 +107,7 @@ * By default, rush perform a full scan of the entire repository. For example, Rush runs `git status` to check for local file changes. * When this toggle is enabled, Rush will only scan specific paths, significantly speeding up Git operations. */ - // "enableSubpathScan": true + // "enableSubpathScan": true, /** * Rush has a policy that normally requires Rush projects to specify `workspace:*` in package.json when depending @@ -116,5 +116,13 @@ * subspace. This is useful for large product groups who work in separate subspaces and generally prefer to consume * each other's packages via the NPM registry. */ - // "exemptDecoupledDependenciesBetweenSubspaces": true + // "exemptDecoupledDependenciesBetweenSubspaces": true, + + /** + * If true, when running on macOS, Rush will omit AppleDouble files (._*) from build cache archives + * when a companion file exists in the same directory. AppleDouble files are automatically created by + * macOS to store extended attributes on filesystems that don't support them, and should generally not + * be included in the shared build cache. + */ + "omitAppleDoubleFilesFromBuildCache": true } diff --git a/common/config/rush/pnpm-config.json b/common/config/rush/pnpm-config.json index ed2af158cbd..acd69794ec3 100644 --- a/common/config/rush/pnpm-config.json +++ b/common/config/rush/pnpm-config.json @@ -67,6 +67,38 @@ */ // "autoInstallPeers": false, + /** + * The minimum number of minutes that must pass after a version is published before pnpm will install it. + * This setting helps reduce the risk of installing compromised packages, as malicious releases are typically + * discovered and removed within a short time frame. + * + * For example, the following setting ensures that only packages released at least one day ago can be installed: + * + * "minimumReleaseAge": 1440 + * + * (SUPPORTED ONLY IN PNPM 10.16.0 AND NEWER) + * + * PNPM documentation: https://pnpm.io/settings#minimumreleaseage + * + * The default value is 0 (disabled). + */ + // "minimumReleaseAge": 1440, + + /** + * An array of package names or patterns to exclude from the minimumReleaseAge check. + * This allows certain trusted packages to be installed immediately after publication. + * Patterns are supported using glob syntax (e.g., "@myorg/*" to exclude all packages from an organization). + * + * For example: + * + * "minimumReleaseAgeExclude": ["webpack", "react", "@myorg/*"] + * + * (SUPPORTED ONLY IN PNPM 10.16.0 AND NEWER) + * + * PNPM documentation: https://pnpm.io/settings#minimumreleaseageexclude + */ + // "minimumReleaseAgeExclude": ["@myorg/*"], + /** * If true, then Rush will add the `--strict-peer-dependencies` command-line parameter when * invoking PNPM. This causes `rush update` to fail if there are unsatisfied peer dependencies, @@ -454,6 +486,29 @@ // "fsevents" ], + /** + * The `globalOnlyBuiltDependencies` setting specifies which dependencies are permitted to run + * build scripts (`preinstall`, `install`, and `postinstall` lifecycle events). This is the inverse + * of `globalNeverBuiltDependencies`. In PNPM 10.x, build scripts are disabled by default for + * security, so this setting is required to explicitly permit specific packages to run their + * build scripts. The settings are written to the `onlyBuiltDependencies` field of the + * `pnpm-workspace.yaml` file that is generated by Rush during installation. + * + * (SUPPORTED ONLY IN PNPM 10.1.0 AND NEWER) + * + * PNPM documentation: https://pnpm.io/settings#onlybuiltdependencies + * + * Example: + * "globalOnlyBuiltDependencies": [ + * "esbuild", + * "playwright", + * "@swc/core" + * ] + */ + // "globalOnlyBuiltDependencies": [ + // "esbuild" + // ], + /** * The `globalIgnoredOptionalDependencies` setting suppresses the installation of optional NPM * dependencies specified in the list. This is useful when certain optional dependencies are From 0572ea12edf68244eb223f15c1617b5beb48f2fb Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 18 Feb 2026 17:03:04 -0800 Subject: [PATCH 3/9] fixup! fixup! Bump decoupled local dependencies. --- build-tests/api-extractor-test-05/dist/tsdoc-metadata.json | 2 +- common/reviews/api/node-core-library.api.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build-tests/api-extractor-test-05/dist/tsdoc-metadata.json b/build-tests/api-extractor-test-05/dist/tsdoc-metadata.json index 1c07d607ee2..35d93708271 100644 --- a/build-tests/api-extractor-test-05/dist/tsdoc-metadata.json +++ b/build-tests/api-extractor-test-05/dist/tsdoc-metadata.json @@ -5,7 +5,7 @@ "toolPackages": [ { "packageName": "@microsoft/api-extractor", - "packageVersion": "7.56.3" + "packageVersion": "7.57.0" } ] } diff --git a/common/reviews/api/node-core-library.api.md b/common/reviews/api/node-core-library.api.md index 1d377c3b3f3..c5b2ebe4f9b 100644 --- a/common/reviews/api/node-core-library.api.md +++ b/common/reviews/api/node-core-library.api.md @@ -42,8 +42,8 @@ export class Async { static mapAsync(iterable: Iterable | AsyncIterable, callback: (entry: TEntry, arrayIndex: number) => Promise, options: IAsyncParallelismOptions & { weighted: true; }): Promise; - static runWithRetriesAsync({ action, maxRetries, retryDelayMs }: IRunWithRetriesOptions): Promise; - static runWithTimeoutAsync({ action, timeoutMs, timeoutMessage }: IRunWithTimeoutOptions): Promise; + static runWithRetriesAsync(input: IRunWithRetriesOptions): Promise; + static runWithTimeoutAsync(input: IRunWithTimeoutOptions): Promise; static sleepAsync(ms: number): Promise; static validateWeightedIterable(operation: IWeighted): void; } From 40caebdedab7b816980d61a15e4113b0eac881a8 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 18 Feb 2026 17:19:39 -0800 Subject: [PATCH 4/9] Fix some issues with rush-project.json --- .../config/rush-project.json | 2 +- .../config/rush-project.json | 2 +- .../config/rush-project.json | 2 +- .../api-extractor-lib1-test/config/rush-project.json | 2 +- .../api-extractor-lib2-test/config/rush-project.json | 2 +- .../api-extractor-lib3-test/config/rush-project.json | 2 +- .../api-extractor-lib4-test/config/rush-project.json | 2 +- .../api-extractor-lib5-test/config/rush-project.json | 2 +- .../api-extractor-test-01/config/rush-project.json | 2 +- .../api-extractor-test-02/config/rush-project.json | 2 +- .../api-extractor-test-04/config/rush-project.json | 2 +- .../api-extractor-test-05/config/rush-project.json | 2 +- .../heft-minimal-rig-test/config/rush-project.json | 10 ---------- .../heft-node-everything-test/config/rush-project.json | 2 +- .../config/rush-project.json | 2 +- build-tests/heft-sass-test/config/rush-project.json | 2 +- build-tests/heft-swc-test/config/rush-project.json | 2 +- .../heft-typescript-v2-test/config/rush-project.json | 2 +- .../heft-typescript-v3-test/config/rush-project.json | 2 +- .../heft-typescript-v4-test/config/rush-project.json | 2 +- .../config/rush-project.json | 2 +- .../config/rush-project.json | 2 +- .../config/rush-project.json | 2 +- eslint/eslint-config/config/rush-project.json | 10 ---------- 24 files changed, 22 insertions(+), 42 deletions(-) delete mode 100644 build-tests/heft-minimal-rig-test/config/rush-project.json delete mode 100644 eslint/eslint-config/config/rush-project.json diff --git a/build-tests-samples/heft-storybook-v6-react-tutorial/config/rush-project.json b/build-tests-samples/heft-storybook-v6-react-tutorial/config/rush-project.json index 52ba509ef7b..700f29565b5 100644 --- a/build-tests-samples/heft-storybook-v6-react-tutorial/config/rush-project.json +++ b/build-tests-samples/heft-storybook-v6-react-tutorial/config/rush-project.json @@ -5,7 +5,7 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": [".heft", "lib-esm", "dist"] + "outputFolderNames": [".heft", "lib-commonjs", "lib-esm", "dist", "dist-storybook"] }, { "operationName": "_phase:test", diff --git a/build-tests-samples/heft-storybook-v9-react-tutorial/config/rush-project.json b/build-tests-samples/heft-storybook-v9-react-tutorial/config/rush-project.json index 52ba509ef7b..f25e963df0a 100644 --- a/build-tests-samples/heft-storybook-v9-react-tutorial/config/rush-project.json +++ b/build-tests-samples/heft-storybook-v9-react-tutorial/config/rush-project.json @@ -5,7 +5,7 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": [".heft", "lib-esm", "dist"] + "outputFolderNames": [".heft", "lib-esm", "lib-commonjs", "dist"] }, { "operationName": "_phase:test", diff --git a/build-tests-samples/heft-webpack-basic-tutorial/config/rush-project.json b/build-tests-samples/heft-webpack-basic-tutorial/config/rush-project.json index 52ba509ef7b..f25e963df0a 100644 --- a/build-tests-samples/heft-webpack-basic-tutorial/config/rush-project.json +++ b/build-tests-samples/heft-webpack-basic-tutorial/config/rush-project.json @@ -5,7 +5,7 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": [".heft", "lib-esm", "dist"] + "outputFolderNames": [".heft", "lib-esm", "lib-commonjs", "dist"] }, { "operationName": "_phase:test", diff --git a/build-tests/api-extractor-lib1-test/config/rush-project.json b/build-tests/api-extractor-lib1-test/config/rush-project.json index b4536921de9..6c75ba02c45 100644 --- a/build-tests/api-extractor-lib1-test/config/rush-project.json +++ b/build-tests/api-extractor-lib1-test/config/rush-project.json @@ -5,7 +5,7 @@ { "operationName": "_phase:build", // dist is intentionally tracked - "outputFolderNames": ["lib-commonjs"] + "outputFolderNames": ["lib-commonjs", "lib-esm", "lib-dts"] } ] } diff --git a/build-tests/api-extractor-lib2-test/config/rush-project.json b/build-tests/api-extractor-lib2-test/config/rush-project.json index fd37eb27059..6c75ba02c45 100644 --- a/build-tests/api-extractor-lib2-test/config/rush-project.json +++ b/build-tests/api-extractor-lib2-test/config/rush-project.json @@ -5,7 +5,7 @@ { "operationName": "_phase:build", // dist is intentionally tracked - "outputFolderNames": ["lib"] + "outputFolderNames": ["lib-commonjs", "lib-esm", "lib-dts"] } ] } diff --git a/build-tests/api-extractor-lib3-test/config/rush-project.json b/build-tests/api-extractor-lib3-test/config/rush-project.json index fd37eb27059..6c75ba02c45 100644 --- a/build-tests/api-extractor-lib3-test/config/rush-project.json +++ b/build-tests/api-extractor-lib3-test/config/rush-project.json @@ -5,7 +5,7 @@ { "operationName": "_phase:build", // dist is intentionally tracked - "outputFolderNames": ["lib"] + "outputFolderNames": ["lib-commonjs", "lib-esm", "lib-dts"] } ] } diff --git a/build-tests/api-extractor-lib4-test/config/rush-project.json b/build-tests/api-extractor-lib4-test/config/rush-project.json index fd37eb27059..6c75ba02c45 100644 --- a/build-tests/api-extractor-lib4-test/config/rush-project.json +++ b/build-tests/api-extractor-lib4-test/config/rush-project.json @@ -5,7 +5,7 @@ { "operationName": "_phase:build", // dist is intentionally tracked - "outputFolderNames": ["lib"] + "outputFolderNames": ["lib-commonjs", "lib-esm", "lib-dts"] } ] } diff --git a/build-tests/api-extractor-lib5-test/config/rush-project.json b/build-tests/api-extractor-lib5-test/config/rush-project.json index fd37eb27059..6c75ba02c45 100644 --- a/build-tests/api-extractor-lib5-test/config/rush-project.json +++ b/build-tests/api-extractor-lib5-test/config/rush-project.json @@ -5,7 +5,7 @@ { "operationName": "_phase:build", // dist is intentionally tracked - "outputFolderNames": ["lib"] + "outputFolderNames": ["lib-commonjs", "lib-esm", "lib-dts"] } ] } diff --git a/build-tests/api-extractor-test-01/config/rush-project.json b/build-tests/api-extractor-test-01/config/rush-project.json index fd37eb27059..6c75ba02c45 100644 --- a/build-tests/api-extractor-test-01/config/rush-project.json +++ b/build-tests/api-extractor-test-01/config/rush-project.json @@ -5,7 +5,7 @@ { "operationName": "_phase:build", // dist is intentionally tracked - "outputFolderNames": ["lib"] + "outputFolderNames": ["lib-commonjs", "lib-esm", "lib-dts"] } ] } diff --git a/build-tests/api-extractor-test-02/config/rush-project.json b/build-tests/api-extractor-test-02/config/rush-project.json index fd37eb27059..6c75ba02c45 100644 --- a/build-tests/api-extractor-test-02/config/rush-project.json +++ b/build-tests/api-extractor-test-02/config/rush-project.json @@ -5,7 +5,7 @@ { "operationName": "_phase:build", // dist is intentionally tracked - "outputFolderNames": ["lib"] + "outputFolderNames": ["lib-commonjs", "lib-esm", "lib-dts"] } ] } diff --git a/build-tests/api-extractor-test-04/config/rush-project.json b/build-tests/api-extractor-test-04/config/rush-project.json index fd37eb27059..6c75ba02c45 100644 --- a/build-tests/api-extractor-test-04/config/rush-project.json +++ b/build-tests/api-extractor-test-04/config/rush-project.json @@ -5,7 +5,7 @@ { "operationName": "_phase:build", // dist is intentionally tracked - "outputFolderNames": ["lib"] + "outputFolderNames": ["lib-commonjs", "lib-esm", "lib-dts"] } ] } diff --git a/build-tests/api-extractor-test-05/config/rush-project.json b/build-tests/api-extractor-test-05/config/rush-project.json index fd37eb27059..6c75ba02c45 100644 --- a/build-tests/api-extractor-test-05/config/rush-project.json +++ b/build-tests/api-extractor-test-05/config/rush-project.json @@ -5,7 +5,7 @@ { "operationName": "_phase:build", // dist is intentionally tracked - "outputFolderNames": ["lib"] + "outputFolderNames": ["lib-commonjs", "lib-esm", "lib-dts"] } ] } diff --git a/build-tests/heft-minimal-rig-test/config/rush-project.json b/build-tests/heft-minimal-rig-test/config/rush-project.json deleted file mode 100644 index 514e557d5eb..00000000000 --- a/build-tests/heft-minimal-rig-test/config/rush-project.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/rush-project.schema.json", - - "operationSettings": [ - { - "operationName": "_phase:build", - "outputFolderNames": ["lib", "dist"] - } - ] -} diff --git a/build-tests/heft-node-everything-test/config/rush-project.json b/build-tests/heft-node-everything-test/config/rush-project.json index 95af43b193f..40a0d93f857 100644 --- a/build-tests/heft-node-everything-test/config/rush-project.json +++ b/build-tests/heft-node-everything-test/config/rush-project.json @@ -4,7 +4,7 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": ["dist", "lib-commonjs", "lib-esm", "lib-umd"] + "outputFolderNames": ["dist", "lib-commonjs", "lib-esm", "lib-umd", "lib-dts"] }, { "operationName": "_phase:test", diff --git a/build-tests/heft-rspack-everything-test/config/rush-project.json b/build-tests/heft-rspack-everything-test/config/rush-project.json index a87b21eb4a2..1c0d7da9a5d 100644 --- a/build-tests/heft-rspack-everything-test/config/rush-project.json +++ b/build-tests/heft-rspack-everything-test/config/rush-project.json @@ -4,7 +4,7 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": ["lib-esm", "dist"] + "outputFolderNames": ["lib-esm", "lib-commonjs", "dist"] }, { "operationName": "_phase:test", diff --git a/build-tests/heft-sass-test/config/rush-project.json b/build-tests/heft-sass-test/config/rush-project.json index 8640b4ff7e0..8862092ef1d 100644 --- a/build-tests/heft-sass-test/config/rush-project.json +++ b/build-tests/heft-sass-test/config/rush-project.json @@ -4,7 +4,7 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": ["lib-esm", "lib-css", "dist", "temp/sass-ts"] + "outputFolderNames": ["lib-esm", "lib-commonjs", "lib-css", "dist", "temp/sass-ts"] }, { "operationName": "_phase:test", diff --git a/build-tests/heft-swc-test/config/rush-project.json b/build-tests/heft-swc-test/config/rush-project.json index eb3025cae7a..de6d0e4f9a6 100644 --- a/build-tests/heft-swc-test/config/rush-project.json +++ b/build-tests/heft-swc-test/config/rush-project.json @@ -4,7 +4,7 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": ["lib-commonjs", "lib-dts", "lib-esm", "temp/build"] + "outputFolderNames": ["lib-commonjs", "lib-dts", "lib-esm", "lib-es5", "temp/build"] }, { "operationName": "_phase:test", diff --git a/build-tests/heft-typescript-v2-test/config/rush-project.json b/build-tests/heft-typescript-v2-test/config/rush-project.json index 95af43b193f..40a0d93f857 100644 --- a/build-tests/heft-typescript-v2-test/config/rush-project.json +++ b/build-tests/heft-typescript-v2-test/config/rush-project.json @@ -4,7 +4,7 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": ["dist", "lib-commonjs", "lib-esm", "lib-umd"] + "outputFolderNames": ["dist", "lib-commonjs", "lib-esm", "lib-umd", "lib-dts"] }, { "operationName": "_phase:test", diff --git a/build-tests/heft-typescript-v3-test/config/rush-project.json b/build-tests/heft-typescript-v3-test/config/rush-project.json index 95af43b193f..40a0d93f857 100644 --- a/build-tests/heft-typescript-v3-test/config/rush-project.json +++ b/build-tests/heft-typescript-v3-test/config/rush-project.json @@ -4,7 +4,7 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": ["dist", "lib-commonjs", "lib-esm", "lib-umd"] + "outputFolderNames": ["dist", "lib-commonjs", "lib-esm", "lib-umd", "lib-dts"] }, { "operationName": "_phase:test", diff --git a/build-tests/heft-typescript-v4-test/config/rush-project.json b/build-tests/heft-typescript-v4-test/config/rush-project.json index 95af43b193f..40a0d93f857 100644 --- a/build-tests/heft-typescript-v4-test/config/rush-project.json +++ b/build-tests/heft-typescript-v4-test/config/rush-project.json @@ -4,7 +4,7 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": ["dist", "lib-commonjs", "lib-esm", "lib-umd"] + "outputFolderNames": ["dist", "lib-commonjs", "lib-esm", "lib-umd", "lib-dts"] }, { "operationName": "_phase:test", diff --git a/build-tests/heft-webpack4-everything-test/config/rush-project.json b/build-tests/heft-webpack4-everything-test/config/rush-project.json index a87b21eb4a2..1c0d7da9a5d 100644 --- a/build-tests/heft-webpack4-everything-test/config/rush-project.json +++ b/build-tests/heft-webpack4-everything-test/config/rush-project.json @@ -4,7 +4,7 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": ["lib-esm", "dist"] + "outputFolderNames": ["lib-esm", "lib-commonjs", "dist"] }, { "operationName": "_phase:test", diff --git a/build-tests/heft-webpack5-everything-test/config/rush-project.json b/build-tests/heft-webpack5-everything-test/config/rush-project.json index a87b21eb4a2..1c0d7da9a5d 100644 --- a/build-tests/heft-webpack5-everything-test/config/rush-project.json +++ b/build-tests/heft-webpack5-everything-test/config/rush-project.json @@ -4,7 +4,7 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": ["lib-esm", "dist"] + "outputFolderNames": ["lib-esm", "lib-commonjs", "dist"] }, { "operationName": "_phase:test", diff --git a/build-tests/webpack-local-version-test/config/rush-project.json b/build-tests/webpack-local-version-test/config/rush-project.json index 504f3875412..c1256b277a7 100644 --- a/build-tests/webpack-local-version-test/config/rush-project.json +++ b/build-tests/webpack-local-version-test/config/rush-project.json @@ -4,7 +4,7 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": ["lib-esm"] + "outputFolderNames": ["lib-esm", "dist"] } ] } diff --git a/eslint/eslint-config/config/rush-project.json b/eslint/eslint-config/config/rush-project.json deleted file mode 100644 index 514e557d5eb..00000000000 --- a/eslint/eslint-config/config/rush-project.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/rush-project.schema.json", - - "operationSettings": [ - { - "operationName": "_phase:build", - "outputFolderNames": ["lib", "dist"] - } - ] -} From 66bdcabaeff399a3b2b113559ffcff772477deac Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 18 Feb 2026 17:50:12 -0800 Subject: [PATCH 5/9] Mark projects that behave differently in Node 18 as depending on Node major version. --- .../config/rush-project.json | 4 +++- .../heft-storybook-v9-react-tutorial/config/rush-project.json | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/build-tests-samples/heft-storybook-v9-react-tutorial-app/config/rush-project.json b/build-tests-samples/heft-storybook-v9-react-tutorial-app/config/rush-project.json index f3549d52dfd..a5b43ed724b 100644 --- a/build-tests-samples/heft-storybook-v9-react-tutorial-app/config/rush-project.json +++ b/build-tests-samples/heft-storybook-v9-react-tutorial-app/config/rush-project.json @@ -5,7 +5,9 @@ "operationSettings": [ { "operationName": "_phase:lite-build", - "outputFolderNames": ["dist"] + "outputFolderNames": ["dist"], + // This project builds differently between Node 18 and other versions of Node + "dependsOnNodeVersion": "major" } ] } diff --git a/build-tests-samples/heft-storybook-v9-react-tutorial/config/rush-project.json b/build-tests-samples/heft-storybook-v9-react-tutorial/config/rush-project.json index f25e963df0a..cdcf8f93e85 100644 --- a/build-tests-samples/heft-storybook-v9-react-tutorial/config/rush-project.json +++ b/build-tests-samples/heft-storybook-v9-react-tutorial/config/rush-project.json @@ -5,7 +5,9 @@ "operationSettings": [ { "operationName": "_phase:build", - "outputFolderNames": [".heft", "lib-esm", "lib-commonjs", "dist"] + "outputFolderNames": [".heft", "lib-esm", "lib-commonjs", "dist"], + // This project builds differently between Node 18 and other versions of Node + "dependsOnNodeVersion": "major" }, { "operationName": "_phase:test", From a3c2d9cce0fb7974cfb52d3b1fc6511d527a6470 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 18 Feb 2026 17:51:23 -0800 Subject: [PATCH 6/9] fixup! Bump decoupled local dependencies. --- rush.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rush.json b/rush.json index 92cb5f8e635..1b665695ae4 100644 --- a/rush.json +++ b/rush.json @@ -16,7 +16,7 @@ * path segment in the "$schema" field for all your Rush config files. This will ensure * correct error-underlining and tab-completion for editors such as VS Code. */ - "rushVersion": "5.169.0", + "rushVersion": "5.169.1", /** * The next field selects which package manager should be installed and determines its version. From 4b83543f890c7c17ab59509a7fee2c716981c1cd Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 18 Feb 2026 17:53:28 -0800 Subject: [PATCH 7/9] fixup! Fix some issues with rush-project.json --- .../bump-decoupled-local-deps_2026-02-19-01-53.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@rushstack/eslint-config/bump-decoupled-local-deps_2026-02-19-01-53.json diff --git a/common/changes/@rushstack/eslint-config/bump-decoupled-local-deps_2026-02-19-01-53.json b/common/changes/@rushstack/eslint-config/bump-decoupled-local-deps_2026-02-19-01-53.json new file mode 100644 index 00000000000..c9d880304a5 --- /dev/null +++ b/common/changes/@rushstack/eslint-config/bump-decoupled-local-deps_2026-02-19-01-53.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/eslint-config", + "comment": "", + "type": "none" + } + ], + "packageName": "@rushstack/eslint-config" +} \ No newline at end of file From 840d4433aad1b35acd4706253dd8c3414d489d1b Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 18 Feb 2026 18:11:16 -0800 Subject: [PATCH 8/9] fixup! Bump decoupled local dependencies. --- .../profiles/default/config/jest.config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rigs/decoupled-local-node-rig/profiles/default/config/jest.config.json b/rigs/decoupled-local-node-rig/profiles/default/config/jest.config.json index f14c1acd341..1250d45a5a3 100644 --- a/rigs/decoupled-local-node-rig/profiles/default/config/jest.config.json +++ b/rigs/decoupled-local-node-rig/profiles/default/config/jest.config.json @@ -34,5 +34,5 @@ ] ], - "resolver": "@rushstack/heft-jest-plugin/lib/exports/jest-node-modules-symlink-resolver.js" + "resolver": "@rushstack/heft-jest-plugin/lib-commonjs/exports/jest-node-modules-symlink-resolver.js" } From 37583b06d670549f9e8d0650d34b9bc94654a92b Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Wed, 18 Feb 2026 18:46:50 -0800 Subject: [PATCH 9/9] fixup! Bump decoupled local dependencies. --- .../src/test/ConfigurationFile.test.ts | 36 ++++++++++++++++--- .../node-core-library/src/test/Import.test.ts | 24 ++++++------- .../test/__snapshots__/Import.test.ts.snap | 8 ++--- 3 files changed, 48 insertions(+), 20 deletions(-) diff --git a/libraries/heft-config-file/src/test/ConfigurationFile.test.ts b/libraries/heft-config-file/src/test/ConfigurationFile.test.ts index 56bbcca3d76..6605195c2e8 100644 --- a/libraries/heft-config-file/src/test/ConfigurationFile.test.ts +++ b/libraries/heft-config-file/src/test/ConfigurationFile.test.ts @@ -837,7 +837,14 @@ describe('ConfigurationFile', () => { }, { plugin: FileSystem.getRealPath( - nodeJsPath.resolve(projectRoot, 'node_modules', '@rushstack', 'heft', 'lib', 'index.js') + nodeJsPath.resolve( + projectRoot, + 'node_modules', + '@rushstack', + 'heft', + 'lib-commonjs', + 'index.js' + ) ) }, { @@ -918,7 +925,14 @@ describe('ConfigurationFile', () => { }, { plugin: await FileSystem.getRealPathAsync( - nodeJsPath.resolve(projectRoot, 'node_modules', '@rushstack', 'heft', 'lib', 'index.js') + nodeJsPath.resolve( + projectRoot, + 'node_modules', + '@rushstack', + 'heft', + 'lib-commonjs', + 'index.js' + ) ) }, { @@ -1001,7 +1015,14 @@ describe('ConfigurationFile', () => { }, { plugin: FileSystem.getRealPath( - nodeJsPath.resolve(projectRoot, 'node_modules', '@rushstack', 'heft', 'lib', 'index.js') + nodeJsPath.resolve( + projectRoot, + 'node_modules', + '@rushstack', + 'heft', + 'lib-commonjs', + 'index.js' + ) ) }, { @@ -1082,7 +1103,14 @@ describe('ConfigurationFile', () => { }, { plugin: await FileSystem.getRealPathAsync( - nodeJsPath.resolve(projectRoot, 'node_modules', '@rushstack', 'heft', 'lib', 'index.js') + nodeJsPath.resolve( + projectRoot, + 'node_modules', + '@rushstack', + 'heft', + 'lib-commonjs', + 'index.js' + ) ) }, { diff --git a/libraries/node-core-library/src/test/Import.test.ts b/libraries/node-core-library/src/test/Import.test.ts index c58420be51e..30732b7ae14 100644 --- a/libraries/node-core-library/src/test/Import.test.ts +++ b/libraries/node-core-library/src/test/Import.test.ts @@ -53,7 +53,7 @@ describe(Import.name, () => { Path.convertToSlashes( Import.resolveModule({ modulePath: '@rushstack/heft', baseFolderPath: __dirname }) ) - ).toMatch(/node_modules\/@rushstack\/heft\/lib\/index.js$/); + ).toMatch(/node_modules\/@rushstack\/heft\/lib-commonjs\/index.js$/); }); it('resolves a path inside a dependency', () => { @@ -86,29 +86,29 @@ describe(Import.name, () => { baseFolderPath: nodeJsPath.join(packageRoot, 'node_modules', '@rushstack', 'heft') }) ) - ).toMatch(/node_modules\/@rushstack\/ts-command-line\/lib\/index\.js$/); + ).toMatch(/node_modules\/@rushstack\/ts-command-line\/lib-commonjs\/index\.js$/); }); it('resolves a path inside a dependency of a dependency', () => { expect( Path.convertToSlashes( Import.resolveModule({ - modulePath: '@rushstack/ts-command-line/lib/Constants.js', + modulePath: '@rushstack/ts-command-line/lib-commonjs/Constants.js', baseFolderPath: nodeJsPath.join(packageRoot, 'node_modules', '@rushstack', 'heft') }) ) - ).toMatch(/node_modules\/@rushstack\/ts-command-line\/lib\/Constants\.js$/); + ).toMatch(/node_modules\/@rushstack\/ts-command-line\/lib-commonjs\/Constants\.js$/); }); it('resolves a path inside a dependency of a dependency without an extension', () => { expect( Path.convertToSlashes( Import.resolveModule({ - modulePath: '@rushstack/ts-command-line/lib/Constants', + modulePath: '@rushstack/ts-command-line/lib-commonjs/Constants', baseFolderPath: nodeJsPath.join(packageRoot, 'node_modules', '@rushstack', 'heft') }) ) - ).toMatch(/node_modules\/@rushstack\/ts-command-line\/lib\/Constants\.js$/); + ).toMatch(/node_modules\/@rushstack\/ts-command-line\/lib-commonjs\/Constants\.js$/); }); describe('allowSelfReference', () => { @@ -122,11 +122,11 @@ describe(Import.name, () => { ).toEqual(packageRoot); expect( Import.resolveModule({ - modulePath: '@rushstack/node-core-library/lib/Constants.js', + modulePath: '@rushstack/node-core-library/lib-commonjs/Constants.js', baseFolderPath: __dirname, allowSelfReference: true }) - ).toEqual(nodeJsPath.join(packageRoot, 'lib', 'Constants.js')); + ).toEqual(nodeJsPath.join(packageRoot, 'lib-commonjs', 'Constants.js')); }); it('resolves the real path inside a package with allowSelfReference turned on', () => { @@ -150,7 +150,7 @@ describe(Import.name, () => { ); expectToThrowNormalizedErrorMatchingSnapshot(() => Import.resolveModule({ - modulePath: '@rushstack/node-core-library/lib/Constants.js', + modulePath: '@rushstack/node-core-library/lib-commonjs/Constants.js', baseFolderPath: __dirname }) ); @@ -206,7 +206,7 @@ describe(Import.name, () => { expectToThrowNormalizedErrorMatchingSnapshot(() => Path.convertToSlashes( Import.resolvePackage({ - packageName: '@rushstack/heft/lib/start.js', + packageName: '@rushstack/heft/lib-commonjs/start.js', baseFolderPath: __dirname }) ) @@ -228,7 +228,7 @@ describe(Import.name, () => { expectToThrowNormalizedErrorMatchingSnapshot(() => Path.convertToSlashes( Import.resolvePackage({ - packageName: '@rushstack/ts-command-line/lib/Constants.js', + packageName: '@rushstack/ts-command-line/lib-commonjs/Constants.js', baseFolderPath: nodeJsPath.join(packageRoot, 'node_modules', '@rushstack', 'heft') }) ) @@ -263,7 +263,7 @@ describe(Import.name, () => { it('fails to resolve a path inside this package with allowSelfReference turned on', () => { expectToThrowNormalizedErrorMatchingSnapshot(() => Import.resolvePackage({ - packageName: '@rushstack/node-core-library/lib/Constants.js', + packageName: '@rushstack/node-core-library/lib-commonjs/Constants.js', baseFolderPath: __dirname, allowSelfReference: true }) diff --git a/libraries/node-core-library/src/test/__snapshots__/Import.test.ts.snap b/libraries/node-core-library/src/test/__snapshots__/Import.test.ts.snap index 0ff81af1df6..2d57d3b2283 100644 --- a/libraries/node-core-library/src/test/__snapshots__/Import.test.ts.snap +++ b/libraries/node-core-library/src/test/__snapshots__/Import.test.ts.snap @@ -2,19 +2,19 @@ exports[`Import resolveModule allowSelfReference throws on an attempt to reference this package without allowSelfReference turned on 1`] = `"Cannot find module \\"@rushstack/node-core-library\\" from \\"/lib-commonjs/test\\": Error: Cannot find module '@rushstack/node-core-library' from ''"`; -exports[`Import resolveModule allowSelfReference throws on an attempt to reference this package without allowSelfReference turned on 2`] = `"Cannot find module \\"@rushstack/node-core-library/lib/Constants.js\\" from \\"/lib-commonjs/test\\": Error: Cannot find module '@rushstack/node-core-library/lib/Constants.js' from ''"`; +exports[`Import resolveModule allowSelfReference throws on an attempt to reference this package without allowSelfReference turned on 2`] = `"Cannot find module \\"@rushstack/node-core-library/lib-commonjs/Constants.js\\" from \\"/lib-commonjs/test\\": Error: Cannot find module '@rushstack/node-core-library/lib-commonjs/Constants.js' from ''"`; exports[`Import resolveModule includeSystemModules throws on an attempt to resolve a non-existing path inside a system module with includeSystemModules turned on 1`] = `"Cannot find module \\"fs/foo/bar\\" from \\"/lib-commonjs/test\\": Error: Cannot find module 'fs/foo/bar' from ''"`; exports[`Import resolveModule includeSystemModules throws on an attempt to resolve a system module without includeSystemModules turned on 1`] = `"Cannot find module \\"fs\\" from \\"/lib-commonjs/test\\"."`; -exports[`Import resolvePackage allowSelfReference fails to resolve a path inside this package with allowSelfReference turned on 1`] = `"The package name \\"@rushstack/node-core-library/lib/Constants.js\\" contains an invalid character: \\"/\\""`; +exports[`Import resolvePackage allowSelfReference fails to resolve a path inside this package with allowSelfReference turned on 1`] = `"The package name \\"@rushstack/node-core-library/lib-commonjs/Constants.js\\" contains an invalid character: \\"/\\""`; exports[`Import resolvePackage allowSelfReference throws on an attempt to reference this package without allowSelfReference turned on 1`] = `"Cannot find package \\"@rushstack/node-core-library\\" from \\"/lib-commonjs/test\\": Error: Cannot find module '@rushstack/node-core-library/package.json' from ''."`; -exports[`Import resolvePackage fails to resolve a path inside a dependency 1`] = `"The package name \\"@rushstack/heft/lib/start.js\\" contains an invalid character: \\"/\\""`; +exports[`Import resolvePackage fails to resolve a path inside a dependency 1`] = `"The package name \\"@rushstack/heft/lib-commonjs/start.js\\" contains an invalid character: \\"/\\""`; -exports[`Import resolvePackage fails to resolve a path inside a dependency of a dependency 1`] = `"The package name \\"@rushstack/ts-command-line/lib/Constants.js\\" contains an invalid character: \\"/\\""`; +exports[`Import resolvePackage fails to resolve a path inside a dependency of a dependency 1`] = `"The package name \\"@rushstack/ts-command-line/lib-commonjs/Constants.js\\" contains an invalid character: \\"/\\""`; exports[`Import resolvePackage includeSystemModules throws on an attempt to resolve a non-existing path inside a system module with includeSystemModules turned on 1`] = `"The package name \\"fs/foo/bar\\" contains an invalid character: \\"/\\""`;