diff --git a/README.md b/README.md index 676bc4bdc14..5c4fc870f95 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,9 @@ These GitHub repositories provide supplementary resources for Rush Stack: | [/libraries/problem-matcher](./libraries/problem-matcher/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Fproblem-matcher.svg)](https://badge.fury.io/js/%40rushstack%2Fproblem-matcher) | [changelog](./libraries/problem-matcher/CHANGELOG.md) | [@rushstack/problem-matcher](https://www.npmjs.com/package/@rushstack/problem-matcher) | | [/libraries/rig-package](./libraries/rig-package/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frig-package.svg)](https://badge.fury.io/js/%40rushstack%2Frig-package) | [changelog](./libraries/rig-package/CHANGELOG.md) | [@rushstack/rig-package](https://www.npmjs.com/package/@rushstack/rig-package) | | [/libraries/rush-lib](./libraries/rush-lib/) | [![npm version](https://badge.fury.io/js/%40microsoft%2Frush-lib.svg)](https://badge.fury.io/js/%40microsoft%2Frush-lib) | | [@microsoft/rush-lib](https://www.npmjs.com/package/@microsoft/rush-lib) | +| [/libraries/rush-pnpm-kit-v10](./libraries/rush-pnpm-kit-v10/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-pnpm-kit-v10.svg)](https://badge.fury.io/js/%40rushstack%2Frush-pnpm-kit-v10) | [changelog](./libraries/rush-pnpm-kit-v10/CHANGELOG.md) | [@rushstack/rush-pnpm-kit-v10](https://www.npmjs.com/package/@rushstack/rush-pnpm-kit-v10) | +| [/libraries/rush-pnpm-kit-v8](./libraries/rush-pnpm-kit-v8/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-pnpm-kit-v8.svg)](https://badge.fury.io/js/%40rushstack%2Frush-pnpm-kit-v8) | [changelog](./libraries/rush-pnpm-kit-v8/CHANGELOG.md) | [@rushstack/rush-pnpm-kit-v8](https://www.npmjs.com/package/@rushstack/rush-pnpm-kit-v8) | +| [/libraries/rush-pnpm-kit-v9](./libraries/rush-pnpm-kit-v9/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-pnpm-kit-v9.svg)](https://badge.fury.io/js/%40rushstack%2Frush-pnpm-kit-v9) | [changelog](./libraries/rush-pnpm-kit-v9/CHANGELOG.md) | [@rushstack/rush-pnpm-kit-v9](https://www.npmjs.com/package/@rushstack/rush-pnpm-kit-v9) | | [/libraries/rush-sdk](./libraries/rush-sdk/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-sdk.svg)](https://badge.fury.io/js/%40rushstack%2Frush-sdk) | | [@rushstack/rush-sdk](https://www.npmjs.com/package/@rushstack/rush-sdk) | | [/libraries/stream-collator](./libraries/stream-collator/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Fstream-collator.svg)](https://badge.fury.io/js/%40rushstack%2Fstream-collator) | [changelog](./libraries/stream-collator/CHANGELOG.md) | [@rushstack/stream-collator](https://www.npmjs.com/package/@rushstack/stream-collator) | | [/libraries/terminal](./libraries/terminal/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Fterminal.svg)](https://badge.fury.io/js/%40rushstack%2Fterminal) | [changelog](./libraries/terminal/CHANGELOG.md) | [@rushstack/terminal](https://www.npmjs.com/package/@rushstack/terminal) | diff --git a/build-tests/api-documenter-test/etc/api-documenter-test.api.json b/build-tests/api-documenter-test/etc/api-documenter-test.api.json index 8c18b181cfa..a84567c2040 100644 --- a/build-tests/api-documenter-test/etc/api-documenter-test.api.json +++ b/build-tests/api-documenter-test/etc/api-documenter-test.api.json @@ -114,6 +114,22 @@ "tagName": "@virtual", "syntaxKind": "modifier" }, + { + "tagName": "@jsx", + "syntaxKind": "block" + }, + { + "tagName": "@jsxRuntime", + "syntaxKind": "block" + }, + { + "tagName": "@jsxFrag", + "syntaxKind": "block" + }, + { + "tagName": "@jsxImportSource", + "syntaxKind": "block" + }, { "tagName": "@betaDocumentation", "syntaxKind": "modifier" 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 7690bff4320..70e3c576bac 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.54.0" + "packageVersion": "7.55.1" } ] } diff --git a/common/changes/@microsoft/rush/guxiang-upgrade-pnpm-sync-lib-to-3.0.1_2025-06-09-07-23.json b/common/changes/@microsoft/rush/guxiang-upgrade-pnpm-sync-lib-to-3.0.1_2025-06-09-07-23.json new file mode 100644 index 00000000000..0439bd586bb --- /dev/null +++ b/common/changes/@microsoft/rush/guxiang-upgrade-pnpm-sync-lib-to-3.0.1_2025-06-09-07-23.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Upgrade `pnpm-sync-lib` to v0.3.3 for pnpm v10 compatibility", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/common/changes/@rushstack/lockfile-explorer/guxiang-upgrade-pnpm-sync-lib-to-0.3.3_2025-06-20-00-29.json b/common/changes/@rushstack/lockfile-explorer/guxiang-upgrade-pnpm-sync-lib-to-0.3.3_2025-06-20-00-29.json new file mode 100644 index 00000000000..c3df88d2254 --- /dev/null +++ b/common/changes/@rushstack/lockfile-explorer/guxiang-upgrade-pnpm-sync-lib-to-0.3.3_2025-06-20-00-29.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/lockfile-explorer", + "comment": "Use pnpm dependency path implementation from `@rushstack/rush-pnpm-kit-v8`", + "type": "patch" + } + ], + "packageName": "@rushstack/lockfile-explorer" +} \ No newline at end of file diff --git a/common/changes/@rushstack/rush-pnpm-kit-v10/guxiang-upgrade-pnpm-sync-lib-to-0.3.3_2025-06-20-00-29.json b/common/changes/@rushstack/rush-pnpm-kit-v10/guxiang-upgrade-pnpm-sync-lib-to-0.3.3_2025-06-20-00-29.json new file mode 100644 index 00000000000..5d08711254e --- /dev/null +++ b/common/changes/@rushstack/rush-pnpm-kit-v10/guxiang-upgrade-pnpm-sync-lib-to-0.3.3_2025-06-20-00-29.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/rush-pnpm-kit-v10", + "comment": "Set up the `@rushstack/rush-pnpm-kit-v10` package to bundle all pnpm v10 related packages together.", + "type": "minor" + } + ], + "packageName": "@rushstack/rush-pnpm-kit-v10" +} \ No newline at end of file diff --git a/common/changes/@rushstack/rush-pnpm-kit-v8/guxiang-upgrade-pnpm-sync-lib-to-0.3.3_2025-06-20-00-29.json b/common/changes/@rushstack/rush-pnpm-kit-v8/guxiang-upgrade-pnpm-sync-lib-to-0.3.3_2025-06-20-00-29.json new file mode 100644 index 00000000000..c27c574a6d7 --- /dev/null +++ b/common/changes/@rushstack/rush-pnpm-kit-v8/guxiang-upgrade-pnpm-sync-lib-to-0.3.3_2025-06-20-00-29.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/rush-pnpm-kit-v8", + "comment": "Set up the `@rushstack/rush-pnpm-kit-v8` package to bundle all pnpm v8 related packages together.", + "type": "minor" + } + ], + "packageName": "@rushstack/rush-pnpm-kit-v8" +} \ No newline at end of file diff --git a/common/changes/@rushstack/rush-pnpm-kit-v9/guxiang-upgrade-pnpm-sync-lib-to-0.3.3_2025-06-20-00-29.json b/common/changes/@rushstack/rush-pnpm-kit-v9/guxiang-upgrade-pnpm-sync-lib-to-0.3.3_2025-06-20-00-29.json new file mode 100644 index 00000000000..88334ba2a40 --- /dev/null +++ b/common/changes/@rushstack/rush-pnpm-kit-v9/guxiang-upgrade-pnpm-sync-lib-to-0.3.3_2025-06-20-00-29.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/rush-pnpm-kit-v9", + "comment": "Set up the `@rushstack/rush-pnpm-kit-v9` package to bundle all pnpm v9 related packages together.", + "type": "minor" + } + ], + "packageName": "@rushstack/rush-pnpm-kit-v9" +} \ No newline at end of file diff --git a/common/config/rush/nonbrowser-approved-packages.json b/common/config/rush/nonbrowser-approved-packages.json index 161327d854d..e557fd1d1f5 100644 --- a/common/config/rush/nonbrowser-approved-packages.json +++ b/common/config/rush/nonbrowser-approved-packages.json @@ -102,10 +102,18 @@ "name": "@pnpm/link-bins", "allowedCategories": [ "libraries" ] }, + { + "name": "@pnpm/lockfile-file", + "allowedCategories": [ "libraries" ] + }, { "name": "@pnpm/lockfile-types", "allowedCategories": [ "libraries" ] }, + { + "name": "@pnpm/lockfile.fs", + "allowedCategories": [ "libraries" ] + }, { "name": "@pnpm/lockfile.types", "allowedCategories": [ "libraries" ] @@ -314,6 +322,18 @@ "name": "@rushstack/rush-http-build-cache-plugin", "allowedCategories": [ "libraries" ] }, + { + "name": "@rushstack/rush-pnpm-kit-v10", + "allowedCategories": [ "libraries" ] + }, + { + "name": "@rushstack/rush-pnpm-kit-v8", + "allowedCategories": [ "libraries" ] + }, + { + "name": "@rushstack/rush-pnpm-kit-v9", + "allowedCategories": [ "libraries" ] + }, { "name": "@rushstack/rush-redis-cobuild-plugin", "allowedCategories": [ "tests" ] diff --git a/common/config/subspaces/build-tests-subspace/pnpm-lock.yaml b/common/config/subspaces/build-tests-subspace/pnpm-lock.yaml index 9f1474f6bff..5dc054da624 100644 --- a/common/config/subspaces/build-tests-subspace/pnpm-lock.yaml +++ b/common/config/subspaces/build-tests-subspace/pnpm-lock.yaml @@ -111,10 +111,10 @@ importers: version: file:../../../apps/heft(@types/node@20.17.19) '@rushstack/heft-lint-plugin': specifier: file:../../heft-plugins/heft-lint-plugin - version: file:../../../heft-plugins/heft-lint-plugin(@rushstack/heft@1.1.5)(@types/node@20.17.19) + version: file:../../../heft-plugins/heft-lint-plugin(@rushstack/heft@1.1.6)(@types/node@20.17.19) '@rushstack/heft-typescript-plugin': specifier: file:../../heft-plugins/heft-typescript-plugin - version: file:../../../heft-plugins/heft-typescript-plugin(@rushstack/heft@1.1.5)(@types/node@20.17.19) + version: file:../../../heft-plugins/heft-typescript-plugin(@rushstack/heft@1.1.6)(@types/node@20.17.19) eslint: specifier: ~9.25.1 version: 9.25.1 @@ -1025,6 +1025,14 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + /@pnpm/constants@1001.3.1: + resolution: {integrity: sha512-2hf0s4pVrVEH8RvdJJ7YRKjQdiG8m0iAT26TTqXnCbK30kKwJW69VLmP5tED5zstmDRXcOeH5eRcrpkdwczQ9g==} + engines: {node: '>=18.12'} + + /@pnpm/constants@7.1.1: + resolution: {integrity: sha512-31pZqMtjwV+Vaq7MaPrT1EoDFSYwye3dp6BiHIGRJmVThCQwySRKM7hCvqqI94epNkqFAAYoWrNynWoRYosGdw==} + engines: {node: '>=16.14'} + /@pnpm/crypto.base32-hash@1.0.1: resolution: {integrity: sha512-pzAXNn6KxTA3kbcI3iEnYs4vtH51XEVqmK/1EiD18MaPKylhqy8UvMJK3zKG+jeP82cqQbozcTGm4yOQ8i3vNw==} engines: {node: '>=14.6'} @@ -1052,6 +1060,14 @@ packages: '@pnpm/graceful-fs': 1000.0.0 ssri: 10.0.5 + /@pnpm/crypto.hash@1000.2.1: + resolution: {integrity: sha512-Kgo3bgYbdKkC5xFvvQshbHa+Nru7k50D91+yyq7enp4Ur2EMp4wg5oXleaC5xu5hC9A/1eSCRI8npCioplxG4A==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/crypto.polyfill': 1000.1.0 + '@pnpm/graceful-fs': 1000.0.1 + ssri: 10.0.5 + /@pnpm/crypto.polyfill@1.0.0: resolution: {integrity: sha512-WbmsqqcUXKKaAF77ox1TQbpZiaQcr26myuMUu+WjUtoWYgD3VP6iKYEvSx35SZ6G2L316lu+pv+40A2GbWJc1w==} engines: {node: '>=18.12'} @@ -1068,6 +1084,14 @@ packages: '@pnpm/types': 1000.6.0 semver: 7.7.2 + /@pnpm/dependency-path@1001.1.6: + resolution: {integrity: sha512-MQ0l7p0xTNsobggVsT3zXed677WvlDQ25wt0rTQv54Z6fLS/B89pwemUMNhWIKR4q+5WHJjkSlVN2t+W4um+7Q==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/crypto.hash': 1000.2.1 + '@pnpm/types': 1001.0.1 + semver: 7.7.2 + /@pnpm/dependency-path@2.1.8: resolution: {integrity: sha512-ywBaTjy0iSEF7lH3DlF8UXrdL2bw4AQFV2tTOeNeY7wc1W5CE+RHSJhf9MXBYcZPesqGRrPiU7Pimj3l05L9VA==} engines: {node: '>=16.14'} @@ -1089,12 +1113,42 @@ packages: resolution: {integrity: sha512-vxkRrkneBPVmP23kyjnYwVOtipwlSl6UfL+h+Xa3TrABJTz5rYBXemlTsU5BzST8U4pD7YDkTb3SQu+MMuIDKA==} engines: {node: '>=10.16'} + /@pnpm/error@1000.0.5: + resolution: {integrity: sha512-GjH0TPjbVNrPnl/BAGoFuBLJ2sFfXNKbS33lll/Ehe9yw0fyc8Kdw7kO9if37yQqn6vaa4dAHKkPllum7f/IPQ==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/constants': 1001.3.1 + + /@pnpm/error@5.0.3: + resolution: {integrity: sha512-ONJU5cUeoeJSy50qOYsMZQHTA/9QKmGgh1ATfEpCLgtbdwqUiwD9MxHNeXUYYI/pocBCz6r1ZCFqiQvO+8SUKA==} + engines: {node: '>=16.14'} + dependencies: + '@pnpm/constants': 7.1.1 + + /@pnpm/git-utils@1.0.0: + resolution: {integrity: sha512-lUI+XrzOJN4zdPGOGnFUrmtXAXpXi8wD8OI0nWOZmlh+raqbLzC3VkXu1zgaduOK6YonOcnQW88O+ojav1rAdA==} + engines: {node: '>=16.14'} + dependencies: + execa: /safe-execa@0.1.2 + + /@pnpm/git-utils@1000.0.0: + resolution: {integrity: sha512-W6isNTNgB26n6dZUgwCw6wly+uHQ2Zh5QiRKY1HHMbLAlsnZOxsSNGnuS9euKWHxDftvPfU7uR8XB5x95T5zPQ==} + engines: {node: '>=18.12'} + dependencies: + execa: /safe-execa@0.1.2 + /@pnpm/graceful-fs@1000.0.0: resolution: {integrity: sha512-RvMEliAmcfd/4UoaYQ93DLQcFeqit78jhYmeJJVPxqFGmj0jEcb9Tu0eAOXr7tGP3eJHpgvPbTU4o6pZ1bJhxg==} engines: {node: '>=18.12'} dependencies: graceful-fs: 4.2.11 + /@pnpm/graceful-fs@1000.0.1: + resolution: {integrity: sha512-JnzaAVFJIEgwTcB55eww8N3h5B6qJdZqDA2wYkSK+OcTvvMSQb9c2STMhBP6GfkWygG1fs3w8D7JRx9SPZnxJg==} + engines: {node: '>=18.12'} + dependencies: + graceful-fs: 4.2.11 + /@pnpm/link-bins@5.3.25: resolution: {integrity: sha512-9Xq8lLNRHFDqvYPXPgaiKkZ4rtdsm7izwM/cUsFDc5IMnG0QYIVBXQbgwhz2UvjUotbJrvfKLJaCfA3NGBnLDg==} engines: {node: '>=10.16'} @@ -1113,6 +1167,72 @@ packages: p-settle: 4.1.1 ramda: 0.27.2 + /@pnpm/lockfile-file@8.1.8(@pnpm/logger@5.0.0): + resolution: {integrity: sha512-bRadYzGFyFtwiynwp4Mkn7NDNHkgKvJ9xtjsCT5XiE6S8wpzS3W8yx2WzHGk9Mm1J/2wM0F52+NzCWhlz5eIqA==} + engines: {node: '>=16.14'} + peerDependencies: + '@pnpm/logger': ^5.0.0 + dependencies: + '@pnpm/constants': 7.1.1 + '@pnpm/dependency-path': 2.1.8 + '@pnpm/error': 5.0.3 + '@pnpm/git-utils': 1.0.0 + '@pnpm/lockfile-types': 5.1.5 + '@pnpm/logger': 5.0.0 + '@pnpm/merge-lockfile-changes': 5.0.7 + '@pnpm/types': 9.4.2 + '@pnpm/util.lex-comparator': 1.0.0 + '@zkochan/rimraf': 2.1.3 + comver-to-semver: 1.0.0 + js-yaml: /@zkochan/js-yaml@0.0.6 + normalize-path: 3.0.0 + ramda: /@pnpm/ramda@0.28.1 + semver: 7.7.2 + sort-keys: 4.2.0 + strip-bom: 4.0.0 + write-file-atomic: 5.0.1 + + /@pnpm/lockfile-types@5.1.5: + resolution: {integrity: sha512-02FP0HynzX+2DcuPtuMy7PH+kLIC0pevAydAOK+zug2bwdlSLErlvSkc+4+3dw60eRWgUXUqyfO2eR/Ansdbng==} + engines: {node: '>=16.14'} + dependencies: + '@pnpm/types': 9.4.2 + + /@pnpm/lockfile.fs@1001.1.25(@pnpm/logger@1001.0.1): + resolution: {integrity: sha512-5Lw2otNQkcKvDIjxgnY3A5VsFiKSaaNCz8lUqIzWCDayrEHU/Rj/QlpWNfjCtwDmvP+t7aY+huNEm5Slo+lf3A==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': '>=1001.0.0 <1002.0.0' + dependencies: + '@pnpm/constants': 1001.3.1 + '@pnpm/dependency-path': 1001.1.6 + '@pnpm/error': 1000.0.5 + '@pnpm/git-utils': 1000.0.0 + '@pnpm/lockfile.merger': 1001.0.15 + '@pnpm/lockfile.types': 1002.0.5 + '@pnpm/lockfile.utils': 1003.0.7 + '@pnpm/logger': 1001.0.1 + '@pnpm/object.key-sorting': 1000.0.1 + '@pnpm/types': 1001.0.1 + '@zkochan/rimraf': 3.0.2 + comver-to-semver: 1.0.0 + js-yaml: /@zkochan/js-yaml@0.0.9 + normalize-path: 3.0.0 + ramda: /@pnpm/ramda@0.28.1 + semver: 7.7.2 + strip-bom: 4.0.0 + write-file-atomic: 5.0.1 + + /@pnpm/lockfile.merger@1001.0.15: + resolution: {integrity: sha512-A+Ow2xSDdgn29xJxRkoWGV0ZqlWg9QKcIeLRVvMSwYjfN9scDXeyBxmtMSAAjlByj8T5NpyNjMA9JLr34g/2Ug==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/lockfile.types': 1002.0.5 + '@pnpm/types': 1001.0.1 + comver-to-semver: 1.0.0 + ramda: /@pnpm/ramda@0.28.1 + semver: 7.7.2 + /@pnpm/lockfile.types@1.0.3: resolution: {integrity: sha512-A7vUWktnhDkrIs+WmXm7AdffJVyVYJpQUEouya/DYhB+Y+tQ3BXjZ6CV0KybqLgI/8AZErgCJqFxA0GJH6QDjA==} engines: {node: '>=18.12'} @@ -1121,6 +1241,71 @@ packages: '@pnpm/types': 12.2.0 dev: false + /@pnpm/lockfile.types@1001.1.0: + resolution: {integrity: sha512-/rfDUV8M9iMm0QXahHPv6SD6eKNkrMXlhECJVhDkdL4NIifcv6/HZwYtxd0PIndExz04+OE+iV9K8zKG9i/OEA==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/patching.types': 1000.1.0 + '@pnpm/types': 1000.7.0 + + /@pnpm/lockfile.types@1002.0.5: + resolution: {integrity: sha512-QjXamght8X77XTiiM1XjWukgumFfprRCYD8Uzx1H+2syBcjN88bwFWh9YjqFI+0pbSlHPDwDvBqPN29gma/6kQ==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/patching.types': 1000.1.0 + '@pnpm/resolver-base': 1005.3.1 + '@pnpm/types': 1001.0.1 + + /@pnpm/lockfile.types@900.0.0: + resolution: {integrity: sha512-/4+3CAu4uIjx0ln1DYXNdj0qKJ3wyRDY+RS+eFzV6OHjreaTKWsF2WcjigYp1M5mxL4kj2RsRGgBGEyKtCfEWg==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/patching.types': 900.0.0 + '@pnpm/types': 900.0.0 + dev: false + + /@pnpm/lockfile.utils@1003.0.7: + resolution: {integrity: sha512-jqhMqCPZQDKZRMykxJAXYW4WLOLVgOjTM3FinLi8Bu/VliK8MW26b97dukzO61hthmj4bCRHIsnZUylEaJL6XA==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/dependency-path': 1001.1.6 + '@pnpm/lockfile.types': 1002.0.5 + '@pnpm/pick-fetcher': 1001.0.0 + '@pnpm/resolver-base': 1005.3.1 + '@pnpm/types': 1001.0.1 + get-npm-tarball-url: 2.1.0 + ramda: /@pnpm/ramda@0.28.1 + + /@pnpm/logger@1001.0.1: + resolution: {integrity: sha512-gdwlAMXC4Wc0s7Dmg/4wNybMEd/4lSd9LsXQxeg/piWY0PPXjgz1IXJWnVScx6dZRaaodWP3c1ornrw8mZdFZw==} + engines: {node: '>=18.12'} + dependencies: + bole: 5.0.23 + split2: 4.2.0 + + /@pnpm/logger@5.0.0: + resolution: {integrity: sha512-YfcB2QrX+Wx1o6LD1G2Y2fhDhOix/bAY/oAnMpHoNLsKkWIRbt1oKLkIFvxBMzLwAEPqnYWguJrYC+J6i4ywbw==} + engines: {node: '>=12.17'} + dependencies: + bole: 5.0.23 + ndjson: 2.0.0 + + /@pnpm/merge-lockfile-changes@5.0.7: + resolution: {integrity: sha512-fYmX1+EHv3wg7l4A9FCEkjgEBIHaY6JosknkLk3pL8dbB9k6unjIrF9f2onNtpj3XUlWxZ3aBw9THk/Bf6hKow==} + engines: {node: '>=16.14'} + dependencies: + '@pnpm/lockfile-types': 5.1.5 + comver-to-semver: 1.0.0 + ramda: /@pnpm/ramda@0.28.1 + semver: 7.7.2 + + /@pnpm/object.key-sorting@1000.0.1: + resolution: {integrity: sha512-YTJCXyUGOrJuj4QqhSKqZa1vlVAm82h1/uw00ZmD/kL2OViggtyUwWyIe62kpwWVPwEYixfGjfvaFKVJy2mjzA==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/util.lex-comparator': 3.0.2 + sort-keys: 4.2.0 + /@pnpm/package-bins@4.1.0: resolution: {integrity: sha512-57/ioGYLBbVRR80Ux9/q2i3y8Q+uQADc3c+Yse8jr/60YLOi3jcWz13e2Jy+ANYtZI258Qc5wk2X077rp0Ly/Q==} engines: {node: '>=10.16'} @@ -1134,6 +1319,22 @@ packages: engines: {node: '>=18.12'} dev: false + /@pnpm/patching.types@1000.1.0: + resolution: {integrity: sha512-Zib2ysLctRnWM4KXXlljR44qSKwyEqYmLk+8VPBDBEK3l5Gp5mT3N4ix9E4qjYynvFqahumsxzOfxOYQhUGMGw==} + engines: {node: '>=18.12'} + + /@pnpm/patching.types@900.0.0: + resolution: {integrity: sha512-A/3kgRD4Xy2tBMPjOBdx5ZdgmpUobphzWkqDB72S5SIB6gdyCg32AUV0/aO12DwMxpT7kyqMhkkynUOPBfdlUQ==} + engines: {node: '>=18.12'} + dev: false + + /@pnpm/pick-fetcher@1001.0.0: + resolution: {integrity: sha512-Zl8npMjFSS1gSGM27KkbmfmeOuwU2MCxRFIofAUo/PkqOE2IzzXr0yzB1XYJM8Ml1nUXt9BHfwAlUQKC5MdBLA==} + engines: {node: '>=18.12'} + + /@pnpm/ramda@0.28.1: + resolution: {integrity: sha512-zcAG+lvU0fMziNeGXpPyCyCJYp5ZVrPElEE4t14jAmViaihohocZ+dDkcRIyAomox8pQsuZnv1EyHR+pOhmUWw==} + /@pnpm/read-modules-dir@2.0.3: resolution: {integrity: sha512-i9OgRvSlxrTS9a2oXokhDxvQzDtfqtsooJ9jaGoHkznue5aFCTSrNZFQ6M18o8hC03QWfnxaKi0BtOvNkKu2+A==} engines: {node: '>=10.13'} @@ -1166,10 +1367,24 @@ packages: sort-keys: 4.2.0 strip-bom: 4.0.0 + /@pnpm/resolver-base@1005.3.1: + resolution: {integrity: sha512-d/l84T+J26xVfl28HbfTNaZcpbzr+VH3CFI2RLFWxI8Y34pIphKbD18Zke6dQmv+g7JenT6FmE8YSRIfwAEjaw==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/types': 1001.0.1 + /@pnpm/types@1000.6.0: resolution: {integrity: sha512-6PsMNe98VKPGcg6LnXSW/LE3YfJ77nj+bPKiRjYRWAQLZ+xXjEQRaR0dAuyjCmchlv4wR/hpnMVRS21/fCod5w==} engines: {node: '>=18.12'} + /@pnpm/types@1000.7.0: + resolution: {integrity: sha512-1s7FvDqmOEIeFGLUj/VO8sF5lGFxeE/1WALrBpfZhDnMXY/x8FbmuygTTE5joWifebcZ8Ww8Kw2CgBoStsIevQ==} + engines: {node: '>=18.12'} + + /@pnpm/types@1001.0.1: + resolution: {integrity: sha512-v5X09E6LkJFOOw9FgGITpAs7nQJtx6u3N0SNtyIC5mSeIC5SebMrrelpCz6QUTJvyXBEa1AWj2dZhYfLj59xhA==} + engines: {node: '>=18.12'} + /@pnpm/types@12.2.0: resolution: {integrity: sha512-5RtwWhX39j89/Tmyv2QSlpiNjErA357T/8r1Dkg+2lD3P7RuS7Xi2tChvmOC3VlezEFNcWnEGCOeKoGRkDuqFA==} engines: {node: '>=18.12'} @@ -1186,6 +1401,19 @@ packages: resolution: {integrity: sha512-g1hcF8Nv4gd76POilz9gD4LITAPXOe5nX4ijgr8ixCbLQZfcpYiMfJ+C1RlMNRUDo8vhlNB4O3bUlxmT6EAQXA==} engines: {node: '>=16.14'} + /@pnpm/types@900.0.0: + resolution: {integrity: sha512-GucC9h/EVbU03Kl7M/FqVes1s5RCQaGCW2f41lFA7VqqHWQElR6k1q33iF6f6fXDUSCdzB1IUxSq9ghP2J+8Pw==} + engines: {node: '>=18.12'} + dev: false + + /@pnpm/util.lex-comparator@1.0.0: + resolution: {integrity: sha512-3aBQPHntVgk5AweBWZn+1I/fqZ9krK/w01197aYVkAJQGftb+BVWgEepxY5GChjSW12j52XX+CmfynYZ/p0DFQ==} + engines: {node: '>=12.22.0'} + + /@pnpm/util.lex-comparator@3.0.2: + resolution: {integrity: sha512-blFO4Ws97tWv/SNE6N39ZdGmZBrocXnBOfVp0ln4kELmns4pGPZizqyRtR8EjfOLMLstbmNCTReBoDvLz1isVg==} + engines: {node: '>=18.12'} + /@pnpm/write-project-manifest@1.1.7: resolution: {integrity: sha512-OLkDZSqkA1mkoPNPvLFXyI6fb0enCuFji6Zfditi/CLAo9kmIhQFmEUDu4krSB8i908EljG8YwL5Xjxzm5wsWA==} engines: {node: '>=10.16'} @@ -1859,6 +2087,35 @@ packages: graceful-fs: 4.2.11 is-windows: 1.0.2 + /@zkochan/js-yaml@0.0.6: + resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} + hasBin: true + dependencies: + argparse: 2.0.1 + + /@zkochan/js-yaml@0.0.9: + resolution: {integrity: sha512-SsdK25Upg5wLeGK2Wm8y5bDloMMxN/qE5H6aNOiPRh07a9/fQPYVhlLZz2zRFg9il9XOlpFdrnQnPKsU7FJIpQ==} + hasBin: true + dependencies: + argparse: 2.0.1 + + /@zkochan/rimraf@2.1.3: + resolution: {integrity: sha512-mCfR3gylCzPC+iqdxEA6z5SxJeOgzgbwmyxanKriIne5qZLswDe/M43aD3p5MNzwzXRhbZg/OX+MpES6Zk1a6A==} + engines: {node: '>=12.10'} + dependencies: + rimraf: 3.0.2 + + /@zkochan/rimraf@3.0.2: + resolution: {integrity: sha512-GBf4ua7ogWTr7fATnzk/JLowZDBnBJMm8RkMaC/KcvxZ9gxbMWix0/jImd815LmqKyIHZ7h7lADRddGMdGBuCA==} + engines: {node: '>=18.12'} + + /@zkochan/which@2.0.3: + resolution: {integrity: sha512-C1ReN7vt2/2O0fyTsx5xnbQuxBrmG5NMSbcIkPKCCfCTJgpZBsuRYzFXHj3nVq8vTfK7vxHUmzfCpSHgO7j4rg==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + /acorn-jsx@5.3.2(acorn@8.14.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -2267,6 +2524,12 @@ packages: inherits: 2.0.4 readable-stream: 3.6.2 + /bole@5.0.23: + resolution: {integrity: sha512-xpiwhM4hEpfpasv+CIVUJJB/GisrqcysIBwBJ6rU069rUMXfy0DZKYJ1M1IS1fZ6yb65CPKBWzMs72Pop+Cgfg==} + dependencies: + fast-safe-stringify: 2.1.1 + individual: 3.0.0 + /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true @@ -2583,6 +2846,10 @@ packages: engines: {node: '>= 12.0.0'} dev: true + /comver-to-semver@1.0.0: + resolution: {integrity: sha512-gcGtbRxjwROQOdXLUWH1fQAXqThUVRZ219aAwgtX3KfYw429/Zv6EIJRf5TBSzWdAGwePmqH7w70WTaX4MDqag==} + engines: {node: '>=12.17'} + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -3720,6 +3987,9 @@ packages: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true + /fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + /fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: @@ -3894,6 +4164,10 @@ packages: math-intrinsics: 1.1.0 dev: true + /get-npm-tarball-url@2.1.0: + resolution: {integrity: sha512-ro+DiMu5DXgRBabqXupW38h7WPZ9+Ad8UjwhvsmmN8w1sU7ab0nzAXvVZ4kqYg57OrqomRtJvepX5/xvFKNtjA==} + engines: {node: '>=12.17'} + /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -4291,6 +4565,9 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} + /individual@3.0.0: + resolution: {integrity: sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g==} + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -5276,6 +5553,9 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true + /json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true @@ -5649,6 +5929,17 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true + /ndjson@2.0.0: + resolution: {integrity: sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + json-stringify-safe: 5.0.1 + minimist: 1.2.8 + readable-stream: 3.6.2 + split2: 3.2.2 + through2: 4.0.2 + /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true @@ -6030,6 +6321,9 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + /path-name@1.0.0: + resolution: {integrity: sha512-/dcAb5vMXH0f51yvMuSUqFpxUcA8JelbRmE5mW/p4CUJxrNgK24IkstnV7ENtg2IDGBOu6izKTG6eilbnbNKWQ==} + /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -6080,11 +6374,14 @@ packages: dependencies: semver-compare: 1.0.0 - /pnpm-sync-lib@0.3.2: - resolution: {integrity: sha512-XlHyNAHlBqIMGTBD0HfgyRyj1UpSJvVyP20ihPek00YKmMb7RJ16AxlQkjT1jQ/D6s6OAT0ety/tSxcJTrvQ4w==} + /pnpm-sync-lib@0.3.3: + resolution: {integrity: sha512-iE0xtJIm7cljColV3CAfi05FfRWHeJFwKcxsJfwo+dkFo9kg9QgGKHlF5qlF2o2uArOz6z0P4bA/t4pX2Z2jYg==} dependencies: - '@pnpm/dependency-path-2': /@pnpm/dependency-path@2.1.8 - '@pnpm/dependency-path-5': /@pnpm/dependency-path@5.1.7 + '@pnpm/dependency-path-pnpm-v10': /@pnpm/dependency-path@1000.0.9 + '@pnpm/dependency-path-pnpm-v8': /@pnpm/dependency-path@2.1.8 + '@pnpm/dependency-path-pnpm-v9': /@pnpm/dependency-path@5.1.7 + '@pnpm/lockfile-types-pnpm-lock-v6': /@pnpm/lockfile-types@5.1.5 + '@pnpm/lockfile.types-pnpm-lock-v9': /@pnpm/lockfile.types@1001.1.0 yaml: 2.4.1 /possible-typed-array-names@1.0.0: @@ -6438,6 +6735,13 @@ packages: /rfc4648@1.5.3: resolution: {integrity: sha512-MjOWxM065+WswwnmNONOT+bD1nXzY9Km6u3kzvnx8F8/HXGZdz3T6e6vZJ8Q/RIMUSp/nxqjH3GwvJDy8ijeQQ==} + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + dependencies: + glob: 7.2.3 + /run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -6485,6 +6789,14 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + /safe-execa@0.1.2: + resolution: {integrity: sha512-vdTshSQ2JsRCgT8eKZWNJIL26C6bVqy1SOmuCMlKHegVeo8KYRobRrefOdUq9OozSPUUiSxrylteeRmLOMFfWg==} + engines: {node: '>=12'} + dependencies: + '@zkochan/which': 2.0.3 + execa: 5.1.1 + path-name: 1.0.0 + /safe-push-apply@1.0.0: resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} engines: {node: '>= 0.4'} @@ -6662,6 +6974,10 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -6720,6 +7036,15 @@ packages: /spdx-license-ids@3.0.20: resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} + /split2@3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + dependencies: + readable-stream: 3.6.2 + + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -7005,6 +7330,11 @@ packages: /throat@6.0.2: resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + /through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.2 + /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -7551,6 +7881,13 @@ packages: signal-exit: 3.0.7 dev: true + /write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + /write-yaml-file@4.2.0: resolution: {integrity: sha512-LwyucHy0uhWqbrOkh9cBluZBeNVxzHjDaE9mwepZG3n3ZlbM4v3ndrFw51zW/NXYFFqP+QWZ72ihtLWTh05e4Q==} engines: {node: '>=10.13'} @@ -7842,7 +8179,7 @@ packages: - supports-color dev: true - file:../../../heft-plugins/heft-api-extractor-plugin(@rushstack/heft@1.1.5)(@types/node@20.17.19): + file:../../../heft-plugins/heft-api-extractor-plugin(@rushstack/heft@1.1.6)(@types/node@20.17.19): resolution: {directory: ../../../heft-plugins/heft-api-extractor-plugin, type: directory} id: file:../../../heft-plugins/heft-api-extractor-plugin name: '@rushstack/heft-api-extractor-plugin' @@ -7856,7 +8193,7 @@ packages: - '@types/node' dev: true - file:../../../heft-plugins/heft-jest-plugin(@rushstack/heft@1.1.5)(@types/node@20.17.19)(jest-environment-node@29.5.0): + file:../../../heft-plugins/heft-jest-plugin(@rushstack/heft@1.1.6)(@types/node@20.17.19)(jest-environment-node@29.5.0): resolution: {directory: ../../../heft-plugins/heft-jest-plugin, type: directory} id: file:../../../heft-plugins/heft-jest-plugin name: '@rushstack/heft-jest-plugin' @@ -7891,7 +8228,7 @@ packages: - ts-node dev: true - file:../../../heft-plugins/heft-lint-plugin(@rushstack/heft@1.1.5)(@types/node@20.17.19): + file:../../../heft-plugins/heft-lint-plugin(@rushstack/heft@1.1.6)(@types/node@20.17.19): resolution: {directory: ../../../heft-plugins/heft-lint-plugin, type: directory} id: file:../../../heft-plugins/heft-lint-plugin name: '@rushstack/heft-lint-plugin' @@ -7906,7 +8243,7 @@ packages: - '@types/node' dev: true - file:../../../heft-plugins/heft-typescript-plugin(@rushstack/heft@1.1.5)(@types/node@20.17.19): + file:../../../heft-plugins/heft-typescript-plugin(@rushstack/heft@1.1.6)(@types/node@20.17.19): resolution: {directory: ../../../heft-plugins/heft-typescript-plugin, type: directory} id: file:../../../heft-plugins/heft-typescript-plugin name: '@rushstack/heft-typescript-plugin' @@ -8079,6 +8416,9 @@ packages: '@rushstack/package-deps-hash': file:../../../libraries/package-deps-hash(@types/node@20.17.19) '@rushstack/package-extractor': file:../../../libraries/package-extractor(@types/node@20.17.19) '@rushstack/rig-package': file:../../../libraries/rig-package + '@rushstack/rush-pnpm-kit-v10': file:../../../libraries/rush-pnpm-kit-v10 + '@rushstack/rush-pnpm-kit-v8': file:../../../libraries/rush-pnpm-kit-v8 + '@rushstack/rush-pnpm-kit-v9': file:../../../libraries/rush-pnpm-kit-v9 '@rushstack/stream-collator': file:../../../libraries/stream-collator(@types/node@20.17.19) '@rushstack/terminal': file:../../../libraries/terminal(@types/node@20.17.19) '@rushstack/ts-command-line': file:../../../libraries/ts-command-line(@types/node@20.17.19) @@ -8099,7 +8439,7 @@ packages: npm-check: 6.0.1 npm-package-arg: 6.1.1 object-hash: 3.0.0 - pnpm-sync-lib: 0.3.2 + pnpm-sync-lib: 0.3.3 read-package-tree: 5.1.6 rxjs: 6.6.7 semver: 7.5.4 @@ -8113,12 +8453,37 @@ packages: - '@types/node' - supports-color + file:../../../libraries/rush-pnpm-kit-v10: + resolution: {directory: ../../../libraries/rush-pnpm-kit-v10, type: directory} + name: '@rushstack/rush-pnpm-kit-v10' + dependencies: + '@pnpm/dependency-path-pnpm-v10': /@pnpm/dependency-path@1000.0.9 + '@pnpm/lockfile.fs-pnpm-lock-v9': /@pnpm/lockfile.fs@1001.1.25(@pnpm/logger@1001.0.1) + '@pnpm/logger': 1001.0.1 + + file:../../../libraries/rush-pnpm-kit-v8: + resolution: {directory: ../../../libraries/rush-pnpm-kit-v8, type: directory} + name: '@rushstack/rush-pnpm-kit-v8' + dependencies: + '@pnpm/dependency-path-pnpm-v8': /@pnpm/dependency-path@2.1.8 + '@pnpm/lockfile-file-pnpm-lock-v6': /@pnpm/lockfile-file@8.1.8(@pnpm/logger@5.0.0) + '@pnpm/logger': 5.0.0 + + file:../../../libraries/rush-pnpm-kit-v9: + resolution: {directory: ../../../libraries/rush-pnpm-kit-v9, type: directory} + name: '@rushstack/rush-pnpm-kit-v9' + dependencies: + '@pnpm/dependency-path-pnpm-v9': /@pnpm/dependency-path@5.1.7 + '@pnpm/lockfile.fs-pnpm-lock-v9': /@pnpm/lockfile.fs@1001.1.25(@pnpm/logger@1001.0.1) + '@pnpm/logger': 1001.0.1 + file:../../../libraries/rush-sdk(@types/node@20.17.19): resolution: {directory: ../../../libraries/rush-sdk, type: directory} id: file:../../../libraries/rush-sdk name: '@rushstack/rush-sdk' dependencies: '@pnpm/lockfile.types': 1.0.3 + '@pnpm/lockfile.types-900': /@pnpm/lockfile.types@900.0.0 '@rushstack/credential-cache': file:../../../libraries/credential-cache(@types/node@20.17.19) '@rushstack/lookup-by-path': file:../../../libraries/lookup-by-path(@types/node@20.17.19) '@rushstack/node-core-library': file:../../../libraries/node-core-library(@types/node@20.17.19) @@ -8171,7 +8536,7 @@ packages: transitivePeerDependencies: - '@types/node' - file:../../../rigs/heft-node-rig(@rushstack/heft@1.1.5)(@types/node@20.17.19): + file:../../../rigs/heft-node-rig(@rushstack/heft@1.1.6)(@types/node@20.17.19): resolution: {directory: ../../../rigs/heft-node-rig, type: directory} id: file:../../../rigs/heft-node-rig name: '@rushstack/heft-node-rig' @@ -8181,10 +8546,10 @@ packages: '@microsoft/api-extractor': file:../../../apps/api-extractor(@types/node@20.17.19) '@rushstack/eslint-config': file:../../../eslint/eslint-config(eslint@9.37.0)(typescript@5.8.2) '@rushstack/heft': file:../../../apps/heft(@types/node@20.17.19) - '@rushstack/heft-api-extractor-plugin': file:../../../heft-plugins/heft-api-extractor-plugin(@rushstack/heft@1.1.5)(@types/node@20.17.19) - '@rushstack/heft-jest-plugin': file:../../../heft-plugins/heft-jest-plugin(@rushstack/heft@1.1.5)(@types/node@20.17.19)(jest-environment-node@29.5.0) - '@rushstack/heft-lint-plugin': file:../../../heft-plugins/heft-lint-plugin(@rushstack/heft@1.1.5)(@types/node@20.17.19) - '@rushstack/heft-typescript-plugin': file:../../../heft-plugins/heft-typescript-plugin(@rushstack/heft@1.1.5)(@types/node@20.17.19) + '@rushstack/heft-api-extractor-plugin': file:../../../heft-plugins/heft-api-extractor-plugin(@rushstack/heft@1.1.6)(@types/node@20.17.19) + '@rushstack/heft-jest-plugin': file:../../../heft-plugins/heft-jest-plugin(@rushstack/heft@1.1.6)(@types/node@20.17.19)(jest-environment-node@29.5.0) + '@rushstack/heft-lint-plugin': file:../../../heft-plugins/heft-lint-plugin(@rushstack/heft@1.1.6)(@types/node@20.17.19) + '@rushstack/heft-typescript-plugin': file:../../../heft-plugins/heft-typescript-plugin(@rushstack/heft@1.1.6)(@types/node@20.17.19) '@types/heft-jest': 1.0.1 eslint: 9.37.0 jest-environment-node: 29.5.0 @@ -8206,7 +8571,7 @@ packages: '@microsoft/api-extractor': file:../../../apps/api-extractor(@types/node@20.17.19) '@rushstack/eslint-patch': file:../../../eslint/eslint-patch '@rushstack/heft': file:../../../apps/heft(@types/node@20.17.19) - '@rushstack/heft-node-rig': file:../../../rigs/heft-node-rig(@rushstack/heft@1.1.5)(@types/node@20.17.19) + '@rushstack/heft-node-rig': file:../../../rigs/heft-node-rig(@rushstack/heft@1.1.6)(@types/node@20.17.19) '@types/heft-jest': 1.0.1 '@types/node': 20.17.19 eslint: 9.37.0 diff --git a/common/config/subspaces/build-tests-subspace/repo-state.json b/common/config/subspaces/build-tests-subspace/repo-state.json index 7399cc047db..5ceb2e2aab2 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": "e12ac931528bca6b851ff4e4bbe8df7c7463449c", + "pnpmShrinkwrapHash": "90e774c50c693aeee82f2c67c9f46776171c2cdd", "preferredVersionsHash": "550b4cee0bef4e97db6c6aad726df5149d20e7d9", - "packageJsonInjectedDependenciesHash": "10959d629cddc9df960467f98e5cf3982e69f38d" + "packageJsonInjectedDependenciesHash": "05c032f73447ca6e583d330de9013d5bee49c1c4" } diff --git a/common/config/subspaces/default/common-versions.json b/common/config/subspaces/default/common-versions.json index bcaa4198eb5..635b1c7a0a0 100644 --- a/common/config/subspaces/default/common-versions.json +++ b/common/config/subspaces/default/common-versions.json @@ -147,6 +147,12 @@ "@rushstack/set-webpack-public-path-plugin": [ // This is used by the webpack 4 localization plugin tests "^4.1.16" + ], + "@pnpm/logger": [ + // For pnpm kit v8 + "~5.0.0", + // For pnpm kit v9, v10 + "~1001.0.0" ] } } diff --git a/common/config/subspaces/default/pnpm-lock.yaml b/common/config/subspaces/default/pnpm-lock.yaml index 9b3644ccffe..fbeddefd96a 100644 --- a/common/config/subspaces/default/pnpm-lock.yaml +++ b/common/config/subspaces/default/pnpm-lock.yaml @@ -3750,15 +3750,6 @@ importers: ../../../libraries/rush-lib: dependencies: - '@pnpm/dependency-path': - specifier: ~1000.0.9 - version: 1000.0.9 - '@pnpm/dependency-path-lockfile-pre-v10': - specifier: npm:@pnpm/dependency-path@~5.1.7 - version: /@pnpm/dependency-path@5.1.7 - '@pnpm/dependency-path-lockfile-pre-v9': - specifier: npm:@pnpm/dependency-path@~2.1.2 - version: /@pnpm/dependency-path@2.1.8 '@pnpm/link-bins': specifier: ~5.3.7 version: 5.3.25 @@ -3786,6 +3777,15 @@ importers: '@rushstack/rig-package': specifier: workspace:* version: link:../rig-package + '@rushstack/rush-pnpm-kit-v10': + specifier: workspace:* + version: link:../rush-pnpm-kit-v10 + '@rushstack/rush-pnpm-kit-v8': + specifier: workspace:* + version: link:../rush-pnpm-kit-v8 + '@rushstack/rush-pnpm-kit-v9': + specifier: workspace:* + version: link:../rush-pnpm-kit-v9 '@rushstack/stream-collator': specifier: workspace:* version: link:../stream-collator @@ -3841,8 +3841,8 @@ importers: specifier: 3.0.0 version: 3.0.0 pnpm-sync-lib: - specifier: 0.3.2 - version: 0.3.2 + specifier: 0.3.3 + version: 0.3.3 read-package-tree: specifier: ~5.1.5 version: 5.1.6 @@ -3868,12 +3868,9 @@ importers: specifier: ~2.2.1 version: 2.2.1 devDependencies: - '@pnpm/lockfile.types': - specifier: ~1.0.3 - version: 1.0.3 - '@pnpm/logger': - specifier: 4.0.0 - version: 4.0.0 + '@pnpm/lockfile.types-900': + specifier: npm:@pnpm/lockfile.types@~900.0.0 + version: /@pnpm/lockfile.types@900.0.0 '@rushstack/heft': specifier: workspace:* version: link:../../apps/heft @@ -3932,11 +3929,68 @@ importers: specifier: ~5.98.0 version: 5.98.0 + ../../../libraries/rush-pnpm-kit-v10: + dependencies: + '@pnpm/dependency-path-pnpm-v10': + specifier: npm:@pnpm/dependency-path@~1000.0.9 + version: /@pnpm/dependency-path@1000.0.9 + '@pnpm/lockfile.fs-pnpm-lock-v9': + specifier: npm:@pnpm/lockfile.fs@~1001.1.11 + version: /@pnpm/lockfile.fs@1001.1.25(@pnpm/logger@1001.0.1) + '@pnpm/logger': + specifier: ~1001.0.0 + version: 1001.0.1 + devDependencies: + '@rushstack/heft': + specifier: workspace:* + version: link:../../apps/heft + local-node-rig: + specifier: workspace:* + version: link:../../rigs/local-node-rig + + ../../../libraries/rush-pnpm-kit-v8: + dependencies: + '@pnpm/dependency-path-pnpm-v8': + specifier: npm:@pnpm/dependency-path@~2.1.8 + version: /@pnpm/dependency-path@2.1.8 + '@pnpm/lockfile-file-pnpm-lock-v6': + specifier: npm:@pnpm/lockfile-file@~8.1.8 + version: /@pnpm/lockfile-file@8.1.8(@pnpm/logger@5.0.0) + '@pnpm/logger': + specifier: ~5.0.0 + version: 5.0.0 + devDependencies: + '@rushstack/heft': + specifier: workspace:* + version: link:../../apps/heft + local-node-rig: + specifier: workspace:* + version: link:../../rigs/local-node-rig + + ../../../libraries/rush-pnpm-kit-v9: + dependencies: + '@pnpm/dependency-path-pnpm-v9': + specifier: npm:@pnpm/dependency-path@~5.1.7 + version: /@pnpm/dependency-path@5.1.7 + '@pnpm/lockfile.fs-pnpm-lock-v9': + specifier: npm:@pnpm/lockfile.fs@~1001.1.11 + version: /@pnpm/lockfile.fs@1001.1.25(@pnpm/logger@1001.0.1) + '@pnpm/logger': + specifier: ~1001.0.0 + version: 1001.0.1 + devDependencies: + '@rushstack/heft': + specifier: workspace:* + version: link:../../apps/heft + local-node-rig: + specifier: workspace:* + version: link:../../rigs/local-node-rig + ../../../libraries/rush-sdk: dependencies: - '@pnpm/lockfile.types': - specifier: ~1.0.3 - version: 1.0.3 + '@pnpm/lockfile.types-900': + specifier: npm:@pnpm/lockfile.types@~900.0.0 + version: /@pnpm/lockfile.types@900.0.0 '@rushstack/credential-cache': specifier: workspace:* version: link:../credential-cache @@ -10722,6 +10776,16 @@ packages: webpack: 4.47.0 dev: true + /@pnpm/constants@1001.3.1: + resolution: {integrity: sha512-2hf0s4pVrVEH8RvdJJ7YRKjQdiG8m0iAT26TTqXnCbK30kKwJW69VLmP5tED5zstmDRXcOeH5eRcrpkdwczQ9g==} + engines: {node: '>=18.12'} + dev: false + + /@pnpm/constants@7.1.1: + resolution: {integrity: sha512-31pZqMtjwV+Vaq7MaPrT1EoDFSYwye3dp6BiHIGRJmVThCQwySRKM7hCvqqI94epNkqFAAYoWrNynWoRYosGdw==} + engines: {node: '>=16.14'} + dev: false + /@pnpm/crypto.base32-hash@1.0.1: resolution: {integrity: sha512-pzAXNn6KxTA3kbcI3iEnYs4vtH51XEVqmK/1EiD18MaPKylhqy8UvMJK3zKG+jeP82cqQbozcTGm4yOQ8i3vNw==} engines: {node: '>=14.6'} @@ -10753,6 +10817,15 @@ packages: ssri: 10.0.5 dev: false + /@pnpm/crypto.hash@1000.2.1: + resolution: {integrity: sha512-Kgo3bgYbdKkC5xFvvQshbHa+Nru7k50D91+yyq7enp4Ur2EMp4wg5oXleaC5xu5hC9A/1eSCRI8npCioplxG4A==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/crypto.polyfill': 1000.1.0 + '@pnpm/graceful-fs': 1000.0.1 + ssri: 10.0.5 + dev: false + /@pnpm/crypto.polyfill@1.0.0: resolution: {integrity: sha512-WbmsqqcUXKKaAF77ox1TQbpZiaQcr26myuMUu+WjUtoWYgD3VP6iKYEvSx35SZ6G2L316lu+pv+40A2GbWJc1w==} engines: {node: '>=18.12'} @@ -10772,6 +10845,15 @@ packages: semver: 7.7.2 dev: false + /@pnpm/dependency-path@1001.1.6: + resolution: {integrity: sha512-MQ0l7p0xTNsobggVsT3zXed677WvlDQ25wt0rTQv54Z6fLS/B89pwemUMNhWIKR4q+5WHJjkSlVN2t+W4um+7Q==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/crypto.hash': 1000.2.1 + '@pnpm/types': 1001.0.1 + semver: 7.7.2 + dev: false + /@pnpm/dependency-path@2.1.8: resolution: {integrity: sha512-ywBaTjy0iSEF7lH3DlF8UXrdL2bw4AQFV2tTOeNeY7wc1W5CE+RHSJhf9MXBYcZPesqGRrPiU7Pimj3l05L9VA==} engines: {node: '>=16.14'} @@ -10796,6 +10878,34 @@ packages: engines: {node: '>=10.16'} dev: false + /@pnpm/error@1000.0.5: + resolution: {integrity: sha512-GjH0TPjbVNrPnl/BAGoFuBLJ2sFfXNKbS33lll/Ehe9yw0fyc8Kdw7kO9if37yQqn6vaa4dAHKkPllum7f/IPQ==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/constants': 1001.3.1 + dev: false + + /@pnpm/error@5.0.3: + resolution: {integrity: sha512-ONJU5cUeoeJSy50qOYsMZQHTA/9QKmGgh1ATfEpCLgtbdwqUiwD9MxHNeXUYYI/pocBCz6r1ZCFqiQvO+8SUKA==} + engines: {node: '>=16.14'} + dependencies: + '@pnpm/constants': 7.1.1 + dev: false + + /@pnpm/git-utils@1.0.0: + resolution: {integrity: sha512-lUI+XrzOJN4zdPGOGnFUrmtXAXpXi8wD8OI0nWOZmlh+raqbLzC3VkXu1zgaduOK6YonOcnQW88O+ojav1rAdA==} + engines: {node: '>=16.14'} + dependencies: + execa: /safe-execa@0.1.2 + dev: false + + /@pnpm/git-utils@1000.0.0: + resolution: {integrity: sha512-W6isNTNgB26n6dZUgwCw6wly+uHQ2Zh5QiRKY1HHMbLAlsnZOxsSNGnuS9euKWHxDftvPfU7uR8XB5x95T5zPQ==} + engines: {node: '>=18.12'} + dependencies: + execa: /safe-execa@0.1.2 + dev: false + /@pnpm/graceful-fs@1000.0.0: resolution: {integrity: sha512-RvMEliAmcfd/4UoaYQ93DLQcFeqit78jhYmeJJVPxqFGmj0jEcb9Tu0eAOXr7tGP3eJHpgvPbTU4o6pZ1bJhxg==} engines: {node: '>=18.12'} @@ -10803,6 +10913,13 @@ packages: graceful-fs: 4.2.11 dev: false + /@pnpm/graceful-fs@1000.0.1: + resolution: {integrity: sha512-JnzaAVFJIEgwTcB55eww8N3h5B6qJdZqDA2wYkSK+OcTvvMSQb9c2STMhBP6GfkWygG1fs3w8D7JRx9SPZnxJg==} + engines: {node: '>=18.12'} + dependencies: + graceful-fs: 4.2.11 + dev: false + /@pnpm/link-bins@5.3.25: resolution: {integrity: sha512-9Xq8lLNRHFDqvYPXPgaiKkZ4rtdsm7izwM/cUsFDc5IMnG0QYIVBXQbgwhz2UvjUotbJrvfKLJaCfA3NGBnLDg==} engines: {node: '>=10.16'} @@ -10822,12 +10939,83 @@ packages: ramda: 0.27.2 dev: false - /@pnpm/lockfile.types@1.0.3: - resolution: {integrity: sha512-A7vUWktnhDkrIs+WmXm7AdffJVyVYJpQUEouya/DYhB+Y+tQ3BXjZ6CV0KybqLgI/8AZErgCJqFxA0GJH6QDjA==} + /@pnpm/lockfile-file@8.1.8(@pnpm/logger@5.0.0): + resolution: {integrity: sha512-bRadYzGFyFtwiynwp4Mkn7NDNHkgKvJ9xtjsCT5XiE6S8wpzS3W8yx2WzHGk9Mm1J/2wM0F52+NzCWhlz5eIqA==} + engines: {node: '>=16.14'} + peerDependencies: + '@pnpm/logger': ^5.0.0 + dependencies: + '@pnpm/constants': 7.1.1 + '@pnpm/dependency-path': 2.1.8 + '@pnpm/error': 5.0.3 + '@pnpm/git-utils': 1.0.0 + '@pnpm/lockfile-types': 5.1.5 + '@pnpm/logger': 5.0.0 + '@pnpm/merge-lockfile-changes': 5.0.7 + '@pnpm/types': 9.4.2 + '@pnpm/util.lex-comparator': 1.0.0 + '@zkochan/rimraf': 2.1.3 + comver-to-semver: 1.0.0 + js-yaml: /@zkochan/js-yaml@0.0.6 + normalize-path: 3.0.0 + ramda: /@pnpm/ramda@0.28.1 + semver: 7.5.4 + sort-keys: 4.2.0 + strip-bom: 4.0.0 + write-file-atomic: 5.0.1 + dev: false + + /@pnpm/lockfile-types@5.1.5: + resolution: {integrity: sha512-02FP0HynzX+2DcuPtuMy7PH+kLIC0pevAydAOK+zug2bwdlSLErlvSkc+4+3dw60eRWgUXUqyfO2eR/Ansdbng==} + engines: {node: '>=16.14'} + dependencies: + '@pnpm/types': 9.4.2 + dev: false + + /@pnpm/lockfile.fs@1001.1.25(@pnpm/logger@1001.0.1): + resolution: {integrity: sha512-5Lw2otNQkcKvDIjxgnY3A5VsFiKSaaNCz8lUqIzWCDayrEHU/Rj/QlpWNfjCtwDmvP+t7aY+huNEm5Slo+lf3A==} + engines: {node: '>=18.12'} + peerDependencies: + '@pnpm/logger': '>=1001.0.0 <1002.0.0' + dependencies: + '@pnpm/constants': 1001.3.1 + '@pnpm/dependency-path': 1001.1.6 + '@pnpm/error': 1000.0.5 + '@pnpm/git-utils': 1000.0.0 + '@pnpm/lockfile.merger': 1001.0.15 + '@pnpm/lockfile.types': 1002.0.5 + '@pnpm/lockfile.utils': 1003.0.7 + '@pnpm/logger': 1001.0.1 + '@pnpm/object.key-sorting': 1000.0.1 + '@pnpm/types': 1001.0.1 + '@zkochan/rimraf': 3.0.2 + comver-to-semver: 1.0.0 + js-yaml: /@zkochan/js-yaml@0.0.9 + normalize-path: 3.0.0 + ramda: /@pnpm/ramda@0.28.1 + semver: 7.7.2 + strip-bom: 4.0.0 + write-file-atomic: 5.0.1 + dev: false + + /@pnpm/lockfile.merger@1001.0.15: + resolution: {integrity: sha512-A+Ow2xSDdgn29xJxRkoWGV0ZqlWg9QKcIeLRVvMSwYjfN9scDXeyBxmtMSAAjlByj8T5NpyNjMA9JLr34g/2Ug==} engines: {node: '>=18.12'} dependencies: - '@pnpm/patching.types': 1.0.0 - '@pnpm/types': 12.2.0 + '@pnpm/lockfile.types': 1002.0.5 + '@pnpm/types': 1001.0.1 + comver-to-semver: 1.0.0 + ramda: /@pnpm/ramda@0.28.1 + semver: 7.7.2 + dev: false + + /@pnpm/lockfile.types@1001.1.0: + resolution: {integrity: sha512-/rfDUV8M9iMm0QXahHPv6SD6eKNkrMXlhECJVhDkdL4NIifcv6/HZwYtxd0PIndExz04+OE+iV9K8zKG9i/OEA==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/patching.types': 1000.1.0 + '@pnpm/types': 1000.7.0 + dev: false /@pnpm/lockfile.types@1002.0.1: resolution: {integrity: sha512-anzBtzb78rf2KRExS8R38v4nyiU7b9ZMUsyzRdWpo+rfCmLUupjIxvasVlDgsf5pV7tbcBPASOamQ2G5V8IGAQ==} @@ -10838,13 +11026,68 @@ packages: '@pnpm/types': 1000.8.0 dev: true - /@pnpm/logger@4.0.0: - resolution: {integrity: sha512-SIShw+k556e7S7tLZFVSIHjCdiVog1qWzcKW2RbLEHPItdisAFVNIe34kYd9fMSswTlSRLS/qRjw3ZblzWmJ9Q==} + /@pnpm/lockfile.types@1002.0.5: + resolution: {integrity: sha512-QjXamght8X77XTiiM1XjWukgumFfprRCYD8Uzx1H+2syBcjN88bwFWh9YjqFI+0pbSlHPDwDvBqPN29gma/6kQ==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/patching.types': 1000.1.0 + '@pnpm/resolver-base': 1005.3.1 + '@pnpm/types': 1001.0.1 + dev: false + + /@pnpm/lockfile.types@900.0.0: + resolution: {integrity: sha512-/4+3CAu4uIjx0ln1DYXNdj0qKJ3wyRDY+RS+eFzV6OHjreaTKWsF2WcjigYp1M5mxL4kj2RsRGgBGEyKtCfEWg==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/patching.types': 900.0.0 + '@pnpm/types': 900.0.0 + + /@pnpm/lockfile.utils@1003.0.7: + resolution: {integrity: sha512-jqhMqCPZQDKZRMykxJAXYW4WLOLVgOjTM3FinLi8Bu/VliK8MW26b97dukzO61hthmj4bCRHIsnZUylEaJL6XA==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/dependency-path': 1001.1.6 + '@pnpm/lockfile.types': 1002.0.5 + '@pnpm/pick-fetcher': 1001.0.0 + '@pnpm/resolver-base': 1005.3.1 + '@pnpm/types': 1001.0.1 + get-npm-tarball-url: 2.1.0 + ramda: /@pnpm/ramda@0.28.1 + dev: false + + /@pnpm/logger@1001.0.1: + resolution: {integrity: sha512-gdwlAMXC4Wc0s7Dmg/4wNybMEd/4lSd9LsXQxeg/piWY0PPXjgz1IXJWnVScx6dZRaaodWP3c1ornrw8mZdFZw==} + engines: {node: '>=18.12'} + dependencies: + bole: 5.0.23 + split2: 4.2.0 + dev: false + + /@pnpm/logger@5.0.0: + resolution: {integrity: sha512-YfcB2QrX+Wx1o6LD1G2Y2fhDhOix/bAY/oAnMpHoNLsKkWIRbt1oKLkIFvxBMzLwAEPqnYWguJrYC+J6i4ywbw==} engines: {node: '>=12.17'} dependencies: - bole: 4.0.1 + bole: 5.0.23 ndjson: 2.0.0 - dev: true + dev: false + + /@pnpm/merge-lockfile-changes@5.0.7: + resolution: {integrity: sha512-fYmX1+EHv3wg7l4A9FCEkjgEBIHaY6JosknkLk3pL8dbB9k6unjIrF9f2onNtpj3XUlWxZ3aBw9THk/Bf6hKow==} + engines: {node: '>=16.14'} + dependencies: + '@pnpm/lockfile-types': 5.1.5 + comver-to-semver: 1.0.0 + ramda: /@pnpm/ramda@0.28.1 + semver: 7.5.4 + dev: false + + /@pnpm/object.key-sorting@1000.0.1: + resolution: {integrity: sha512-YTJCXyUGOrJuj4QqhSKqZa1vlVAm82h1/uw00ZmD/kL2OViggtyUwWyIe62kpwWVPwEYixfGjfvaFKVJy2mjzA==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/util.lex-comparator': 3.0.2 + sort-keys: 4.2.0 + dev: false /@pnpm/package-bins@4.1.0: resolution: {integrity: sha512-57/ioGYLBbVRR80Ux9/q2i3y8Q+uQADc3c+Yse8jr/60YLOi3jcWz13e2Jy+ANYtZI258Qc5wk2X077rp0Ly/Q==} @@ -10855,14 +11098,22 @@ packages: is-subdir: 1.2.0 dev: false - /@pnpm/patching.types@1.0.0: - resolution: {integrity: sha512-juCdQCC1USqLcOhVPl1tYReoTO9YH4fTullMnFXXcmpsDM7Dkn3tzuOQKC3oPoJ2ozv+0EeWWMtMGqn2+IM3pQ==} - engines: {node: '>=18.12'} - /@pnpm/patching.types@1000.1.0: resolution: {integrity: sha512-Zib2ysLctRnWM4KXXlljR44qSKwyEqYmLk+8VPBDBEK3l5Gp5mT3N4ix9E4qjYynvFqahumsxzOfxOYQhUGMGw==} engines: {node: '>=18.12'} - dev: true + + /@pnpm/patching.types@900.0.0: + resolution: {integrity: sha512-A/3kgRD4Xy2tBMPjOBdx5ZdgmpUobphzWkqDB72S5SIB6gdyCg32AUV0/aO12DwMxpT7kyqMhkkynUOPBfdlUQ==} + engines: {node: '>=18.12'} + + /@pnpm/pick-fetcher@1001.0.0: + resolution: {integrity: sha512-Zl8npMjFSS1gSGM27KkbmfmeOuwU2MCxRFIofAUo/PkqOE2IzzXr0yzB1XYJM8Ml1nUXt9BHfwAlUQKC5MdBLA==} + engines: {node: '>=18.12'} + dev: false + + /@pnpm/ramda@0.28.1: + resolution: {integrity: sha512-zcAG+lvU0fMziNeGXpPyCyCJYp5ZVrPElEE4t14jAmViaihohocZ+dDkcRIyAomox8pQsuZnv1EyHR+pOhmUWw==} + dev: false /@pnpm/read-modules-dir@2.0.3: resolution: {integrity: sha512-i9OgRvSlxrTS9a2oXokhDxvQzDtfqtsooJ9jaGoHkznue5aFCTSrNZFQ6M18o8hC03QWfnxaKi0BtOvNkKu2+A==} @@ -10906,19 +11157,37 @@ packages: '@pnpm/types': 1000.8.0 dev: true + /@pnpm/resolver-base@1005.3.1: + resolution: {integrity: sha512-d/l84T+J26xVfl28HbfTNaZcpbzr+VH3CFI2RLFWxI8Y34pIphKbD18Zke6dQmv+g7JenT6FmE8YSRIfwAEjaw==} + engines: {node: '>=18.12'} + dependencies: + '@pnpm/types': 1001.0.1 + dev: false + /@pnpm/types@1000.6.0: resolution: {integrity: sha512-6PsMNe98VKPGcg6LnXSW/LE3YfJ77nj+bPKiRjYRWAQLZ+xXjEQRaR0dAuyjCmchlv4wR/hpnMVRS21/fCod5w==} engines: {node: '>=18.12'} dev: false + /@pnpm/types@1000.7.0: + resolution: {integrity: sha512-1s7FvDqmOEIeFGLUj/VO8sF5lGFxeE/1WALrBpfZhDnMXY/x8FbmuygTTE5joWifebcZ8Ww8Kw2CgBoStsIevQ==} + engines: {node: '>=18.12'} + dev: false + /@pnpm/types@1000.8.0: resolution: {integrity: sha512-yx86CGHHquWAI0GgKIuV/RnYewcf5fVFZemC45C/K2cX0uV8GB8TUP541ZrokWola2fZx5sn1vL7xzbceRZfoQ==} engines: {node: '>=18.12'} dev: true + /@pnpm/types@1001.0.1: + resolution: {integrity: sha512-v5X09E6LkJFOOw9FgGITpAs7nQJtx6u3N0SNtyIC5mSeIC5SebMrrelpCz6QUTJvyXBEa1AWj2dZhYfLj59xhA==} + engines: {node: '>=18.12'} + dev: false + /@pnpm/types@12.2.0: resolution: {integrity: sha512-5RtwWhX39j89/Tmyv2QSlpiNjErA357T/8r1Dkg+2lD3P7RuS7Xi2tChvmOC3VlezEFNcWnEGCOeKoGRkDuqFA==} engines: {node: '>=18.12'} + dev: false /@pnpm/types@6.4.0: resolution: {integrity: sha512-nco4+4sZqNHn60Y4VE/fbtlShCBqipyUO+nKRPvDHqLrecMW9pzHWMVRxk4nrMRoeowj3q0rX3GYRBa8lsHTAg==} @@ -10935,6 +11204,20 @@ packages: engines: {node: '>=16.14'} dev: false + /@pnpm/types@900.0.0: + resolution: {integrity: sha512-GucC9h/EVbU03Kl7M/FqVes1s5RCQaGCW2f41lFA7VqqHWQElR6k1q33iF6f6fXDUSCdzB1IUxSq9ghP2J+8Pw==} + engines: {node: '>=18.12'} + + /@pnpm/util.lex-comparator@1.0.0: + resolution: {integrity: sha512-3aBQPHntVgk5AweBWZn+1I/fqZ9krK/w01197aYVkAJQGftb+BVWgEepxY5GChjSW12j52XX+CmfynYZ/p0DFQ==} + engines: {node: '>=12.22.0'} + dev: false + + /@pnpm/util.lex-comparator@3.0.2: + resolution: {integrity: sha512-blFO4Ws97tWv/SNE6N39ZdGmZBrocXnBOfVp0ln4kELmns4pGPZizqyRtR8EjfOLMLstbmNCTReBoDvLz1isVg==} + engines: {node: '>=18.12'} + dev: false + /@pnpm/write-project-manifest@1.1.7: resolution: {integrity: sha512-OLkDZSqkA1mkoPNPvLFXyI6fb0enCuFji6Zfditi/CLAo9kmIhQFmEUDu4krSB8i908EljG8YwL5Xjxzm5wsWA==} engines: {node: '>=10.16'} @@ -15831,6 +16114,40 @@ packages: is-windows: 1.0.2 dev: false + /@zkochan/js-yaml@0.0.6: + resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: false + + /@zkochan/js-yaml@0.0.9: + resolution: {integrity: sha512-SsdK25Upg5wLeGK2Wm8y5bDloMMxN/qE5H6aNOiPRh07a9/fQPYVhlLZz2zRFg9il9XOlpFdrnQnPKsU7FJIpQ==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: false + + /@zkochan/rimraf@2.1.3: + resolution: {integrity: sha512-mCfR3gylCzPC+iqdxEA6z5SxJeOgzgbwmyxanKriIne5qZLswDe/M43aD3p5MNzwzXRhbZg/OX+MpES6Zk1a6A==} + engines: {node: '>=12.10'} + dependencies: + rimraf: 3.0.2 + dev: false + + /@zkochan/rimraf@3.0.2: + resolution: {integrity: sha512-GBf4ua7ogWTr7fATnzk/JLowZDBnBJMm8RkMaC/KcvxZ9gxbMWix0/jImd815LmqKyIHZ7h7lADRddGMdGBuCA==} + engines: {node: '>=18.12'} + dev: false + + /@zkochan/which@2.0.3: + resolution: {integrity: sha512-C1ReN7vt2/2O0fyTsx5xnbQuxBrmG5NMSbcIkPKCCfCTJgpZBsuRYzFXHj3nVq8vTfK7vxHUmzfCpSHgO7j4rg==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} deprecated: Use your platform's native atob() and btoa() methods instead @@ -17003,12 +17320,12 @@ packages: - supports-color dev: false - /bole@4.0.1: - resolution: {integrity: sha512-42r0aSOJFJti2l6LasBHq2BuWJzohGs349olQnH/ETlJo87XnoWw7UT8pGE6UstjxzOKkwz7tjoFcmSr6L16vg==} + /bole@5.0.23: + resolution: {integrity: sha512-xpiwhM4hEpfpasv+CIVUJJB/GisrqcysIBwBJ6rU069rUMXfy0DZKYJ1M1IS1fZ6yb65CPKBWzMs72Pop+Cgfg==} dependencies: fast-safe-stringify: 2.1.1 individual: 3.0.0 - dev: true + dev: false /bonjour-service@1.2.1: resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} @@ -17905,6 +18222,11 @@ packages: resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} dev: true + /comver-to-semver@1.0.0: + resolution: {integrity: sha512-gcGtbRxjwROQOdXLUWH1fQAXqThUVRZ219aAwgtX3KfYw429/Zv6EIJRf5TBSzWdAGwePmqH7w70WTaX4MDqag==} + engines: {node: '>=12.17'} + dev: false + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -20888,6 +21210,7 @@ packages: /fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + dev: false /fast-xml-parser@4.2.5: resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} @@ -21535,6 +21858,11 @@ packages: hasown: 2.0.2 math-intrinsics: 1.1.0 + /get-npm-tarball-url@2.1.0: + resolution: {integrity: sha512-ro+DiMu5DXgRBabqXupW38h7WPZ9+Ad8UjwhvsmmN8w1sU7ab0nzAXvVZ4kqYg57OrqomRtJvepX5/xvFKNtjA==} + engines: {node: '>=12.17'} + dev: false + /get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -22431,7 +22759,7 @@ packages: /individual@3.0.0: resolution: {integrity: sha512-rUY5vtT748NMRbEMrTNiFfy29BgGZwGXUi2NFUVMWQrogSLzlJvQV9eeMWi+g1aVaQ53tpyLAQtd5x/JH0Nh1g==} - dev: true + dev: false /infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} @@ -23999,7 +24327,7 @@ packages: /json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: true + dev: false /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} @@ -25068,7 +25396,7 @@ packages: readable-stream: 3.6.2 split2: 3.2.2 through2: 4.0.2 - dev: true + dev: false /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} @@ -25817,6 +26145,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + /path-name@1.0.0: + resolution: {integrity: sha512-/dcAb5vMXH0f51yvMuSUqFpxUcA8JelbRmE5mW/p4CUJxrNgK24IkstnV7ENtg2IDGBOu6izKTG6eilbnbNKWQ==} + dev: false + /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -25954,11 +26286,14 @@ packages: - typescript dev: true - /pnpm-sync-lib@0.3.2: - resolution: {integrity: sha512-XlHyNAHlBqIMGTBD0HfgyRyj1UpSJvVyP20ihPek00YKmMb7RJ16AxlQkjT1jQ/D6s6OAT0ety/tSxcJTrvQ4w==} + /pnpm-sync-lib@0.3.3: + resolution: {integrity: sha512-iE0xtJIm7cljColV3CAfi05FfRWHeJFwKcxsJfwo+dkFo9kg9QgGKHlF5qlF2o2uArOz6z0P4bA/t4pX2Z2jYg==} dependencies: - '@pnpm/dependency-path-2': /@pnpm/dependency-path@2.1.8 - '@pnpm/dependency-path-5': /@pnpm/dependency-path@5.1.7 + '@pnpm/dependency-path-pnpm-v10': /@pnpm/dependency-path@1000.0.9 + '@pnpm/dependency-path-pnpm-v8': /@pnpm/dependency-path@2.1.8 + '@pnpm/dependency-path-pnpm-v9': /@pnpm/dependency-path@5.1.7 + '@pnpm/lockfile-types-pnpm-lock-v6': /@pnpm/lockfile-types@5.1.5 + '@pnpm/lockfile.types-pnpm-lock-v9': /@pnpm/lockfile.types@1001.1.0 yaml: 2.4.1 dev: false @@ -27653,6 +27988,15 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + /safe-execa@0.1.2: + resolution: {integrity: sha512-vdTshSQ2JsRCgT8eKZWNJIL26C6bVqy1SOmuCMlKHegVeo8KYRobRrefOdUq9OozSPUUiSxrylteeRmLOMFfWg==} + engines: {node: '>=12'} + dependencies: + '@zkochan/which': 2.0.3 + execa: 5.1.1 + path-name: 1.0.0 + dev: false + /safe-push-apply@1.0.0: resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} engines: {node: '>= 0.4'} @@ -28634,7 +28978,12 @@ packages: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: readable-stream: 3.6.2 - dev: true + dev: false + + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + dev: false /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -29361,7 +29710,7 @@ packages: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: readable-stream: 3.6.2 - dev: true + dev: false /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} @@ -31020,6 +31369,14 @@ packages: imurmurhash: 0.1.4 signal-exit: 3.0.7 + /write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + dev: false + /write-yaml-file@4.2.0: resolution: {integrity: sha512-LwyucHy0uhWqbrOkh9cBluZBeNVxzHjDaE9mwepZG3n3ZlbM4v3ndrFw51zW/NXYFFqP+QWZ72ihtLWTh05e4Q==} engines: {node: '>=10.13'} diff --git a/common/config/subspaces/default/repo-state.json b/common/config/subspaces/default/repo-state.json index 4dc7a555200..0162f941a60 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": "5bb8825107066ff50f554daed7bc20aae550e573", + "pnpmShrinkwrapHash": "732f476cbdfb956762ebe4436cd0a2fee21d89a9", "preferredVersionsHash": "a9b67c38568259823f9cfb8270b31bf6d8470b27" } diff --git a/common/reviews/api/rush-pnpm-kit-v10.api.md b/common/reviews/api/rush-pnpm-kit-v10.api.md new file mode 100644 index 00000000000..8a6d0f4c60e --- /dev/null +++ b/common/reviews/api/rush-pnpm-kit-v10.api.md @@ -0,0 +1,39 @@ +## API Report File for "@rushstack/rush-pnpm-kit-v10" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import type { DependencyPath } from '@pnpm/dependency-path-pnpm-v10'; +import { depPathToFilename } from '@pnpm/dependency-path-pnpm-v10'; +import { indexOfPeersSuffix } from '@pnpm/dependency-path-pnpm-v10'; +import type { LogBase } from '@pnpm/logger'; +import { parse } from '@pnpm/dependency-path-pnpm-v10'; +import { readWantedLockfile } from '@pnpm/lockfile.fs-pnpm-lock-v9'; +import { removeSuffix } from '@pnpm/dependency-path-pnpm-v10'; + +declare namespace dependencyPath { + export { + depPathToFilename, + indexOfPeersSuffix, + parse, + removeSuffix, + DependencyPath + } +} + +declare namespace lockfileFs { + export { + readWantedLockfile + } +} + +declare namespace logger { + export { + LogBase + } +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/common/reviews/api/rush-pnpm-kit-v8.api.md b/common/reviews/api/rush-pnpm-kit-v8.api.md new file mode 100644 index 00000000000..e6d5e5bdd27 --- /dev/null +++ b/common/reviews/api/rush-pnpm-kit-v8.api.md @@ -0,0 +1,35 @@ +## API Report File for "@rushstack/rush-pnpm-kit-v8" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import { depPathToFilename } from '@pnpm/dependency-path-pnpm-v8'; +import { indexOfPeersSuffix } from '@pnpm/dependency-path-pnpm-v8'; +import type { LogBase } from '@pnpm/logger'; +import { parse } from '@pnpm/dependency-path-pnpm-v8'; +import { readWantedLockfile } from '@pnpm/lockfile-file-pnpm-lock-v6'; + +declare namespace dependencyPath { + export { + depPathToFilename, + indexOfPeersSuffix, + parse + } +} + +declare namespace lockfileFs { + export { + readWantedLockfile + } +} + +declare namespace logger { + export { + LogBase + } +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/common/reviews/api/rush-pnpm-kit-v9.api.md b/common/reviews/api/rush-pnpm-kit-v9.api.md new file mode 100644 index 00000000000..c94a618c571 --- /dev/null +++ b/common/reviews/api/rush-pnpm-kit-v9.api.md @@ -0,0 +1,39 @@ +## API Report File for "@rushstack/rush-pnpm-kit-v9" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import type { DependencyPath } from '@pnpm/dependency-path-pnpm-v9'; +import { depPathToFilename } from '@pnpm/dependency-path-pnpm-v9'; +import { indexOfPeersSuffix } from '@pnpm/dependency-path-pnpm-v9'; +import type { LogBase } from '@pnpm/logger'; +import { parse } from '@pnpm/dependency-path-pnpm-v9'; +import { readWantedLockfile } from '@pnpm/lockfile.fs-pnpm-lock-v9'; +import { removeSuffix } from '@pnpm/dependency-path-pnpm-v9'; + +declare namespace dependencyPath { + export { + depPathToFilename, + indexOfPeersSuffix, + parse, + removeSuffix, + DependencyPath + } +} + +declare namespace lockfileFs { + export { + readWantedLockfile + } +} + +declare namespace logger { + export { + LogBase + } +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index 235fa171670..16adbd75903 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -29,9 +29,6 @@ }, "license": "MIT", "dependencies": { - "@pnpm/dependency-path-lockfile-pre-v9": "npm:@pnpm/dependency-path@~2.1.2", - "@pnpm/dependency-path-lockfile-pre-v10": "npm:@pnpm/dependency-path@~5.1.7", - "@pnpm/dependency-path": "~1000.0.9", "@pnpm/link-bins": "~5.3.7", "@rushstack/credential-cache": "workspace:*", "@rushstack/heft-config-file": "workspace:*", @@ -41,6 +38,9 @@ "@rushstack/package-deps-hash": "workspace:*", "@rushstack/package-extractor": "workspace:*", "@rushstack/rig-package": "workspace:*", + "@rushstack/rush-pnpm-kit-v10": "workspace:*", + "@rushstack/rush-pnpm-kit-v8": "workspace:*", + "@rushstack/rush-pnpm-kit-v9": "workspace:*", "@rushstack/stream-collator": "workspace:*", "@rushstack/terminal": "workspace:*", "@rushstack/ts-command-line": "workspace:*", @@ -59,7 +59,7 @@ "js-yaml": "~4.1.0", "npm-package-arg": "~6.1.0", "object-hash": "3.0.0", - "pnpm-sync-lib": "0.3.2", + "pnpm-sync-lib": "0.3.3", "read-package-tree": "~5.1.5", "rxjs": "~6.6.7", "semver": "~7.5.4", @@ -70,8 +70,7 @@ "true-case-path": "~2.2.1" }, "devDependencies": { - "@pnpm/lockfile.types": "~1.0.3", - "@pnpm/logger": "4.0.0", + "@pnpm/lockfile.types-900": "npm:@pnpm/lockfile.types@~900.0.0", "@rushstack/heft-webpack5-plugin": "workspace:*", "@rushstack/heft": "workspace:*", "@rushstack/operation-graph": "workspace:*", diff --git a/libraries/rush-lib/src/logic/base/BaseInstallManager.ts b/libraries/rush-lib/src/logic/base/BaseInstallManager.ts index a38af503f97..e2cf4aea898 100644 --- a/libraries/rush-lib/src/logic/base/BaseInstallManager.ts +++ b/libraries/rush-lib/src/logic/base/BaseInstallManager.ts @@ -10,7 +10,6 @@ import { readFile, unlink } from 'node:fs/promises'; import * as semver from 'semver'; import { type ILockfile, - type ILockfilePackage, type ILogMessageCallbackOptions, pnpmSyncGetJsonVersion, pnpmSyncPrepareAsync @@ -59,7 +58,6 @@ import { SubspacePnpmfileConfiguration } from '../pnpm/SubspacePnpmfileConfigura import type { Subspace } from '../../api/Subspace'; import { ProjectImpactGraphGenerator } from '../ProjectImpactGraphGenerator'; import { FlagFile } from '../../api/FlagFile'; -import { PnpmShrinkwrapFile } from '../pnpm/PnpmShrinkwrapFile'; import { PnpmSyncUtilities } from '../../utilities/PnpmSyncUtilities'; import { HotlinkManager } from '../../utilities/HotlinkManager'; @@ -311,35 +309,32 @@ export abstract class BaseInstallManager { lockfileId: subspace.subspaceName, ensureFolderAsync: FileSystem.ensureFolderAsync.bind(FileSystem), // eslint-disable-next-line @typescript-eslint/naming-convention - readPnpmLockfile: async (lockfilePath: string) => { - const wantedPnpmLockfile: PnpmShrinkwrapFile | undefined = PnpmShrinkwrapFile.loadFromFile( - lockfilePath, - { withCaching: true } + readPnpmLockfile: async (lockfilePath: string, options): Promise => { + const pnpmLockFolder: string = path.dirname(lockfilePath); + + const { lockfileFs: lockfileFsV9 } = await import('@rushstack/rush-pnpm-kit-v9'); + const lockfileV9: ILockfile | null = (await lockfileFsV9.readWantedLockfile( + pnpmLockFolder, + options + // TODO: pnpm-sync-lib.d.ts was at some point generalized to support multiple lockfile formats, + // however its API still returns a single "ILockfile" that is incompatible with the newer interfaces + )) as ILockfile | null; + + if (lockfileV9?.lockfileVersion.toString().startsWith('9')) { + return lockfileV9; + } + + const { lockfileFs: lockfileFsV6 } = await import('@rushstack/rush-pnpm-kit-v8'); + const lockfileV6: ILockfile | null = await lockfileFsV6.readWantedLockfile( + pnpmLockFolder, + options ); - if (!wantedPnpmLockfile) { - return undefined; - } else { - const lockfilePackages: Record = Object.create(null); - for (const versionPath of wantedPnpmLockfile.packages.keys()) { - lockfilePackages[versionPath] = { - dependencies: wantedPnpmLockfile.packages.get(versionPath)?.dependencies as Record< - string, - string - >, - optionalDependencies: wantedPnpmLockfile.packages.get(versionPath) - ?.optionalDependencies as Record - }; - } - - const result: ILockfile = { - lockfileVersion: wantedPnpmLockfile.shrinkwrapFileMajorVersion, - importers: Object.fromEntries(wantedPnpmLockfile.importers.entries()), - packages: lockfilePackages - }; - - return result; + if (lockfileV6?.lockfileVersion.toString().startsWith('6')) { + return lockfileV6; } + + return undefined; }, logMessageCallback: (logMessageOptions: ILogMessageCallbackOptions) => PnpmSyncUtilities.processLogMessage(logMessageOptions, this._terminal) diff --git a/libraries/rush-lib/src/logic/pnpm/IPnpmfile.ts b/libraries/rush-lib/src/logic/pnpm/IPnpmfile.ts index 0e8620f318c..50e9ddadd25 100644 --- a/libraries/rush-lib/src/logic/pnpm/IPnpmfile.ts +++ b/libraries/rush-lib/src/logic/pnpm/IPnpmfile.ts @@ -1,8 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { LogBase } from '@pnpm/logger'; - +import type * as pnpmKitV8 from '@rushstack/rush-pnpm-kit-v8'; import type { IPackageJson } from '@rushstack/node-core-library'; import type { IPnpmShrinkwrapYaml } from './PnpmShrinkwrapFile'; @@ -53,7 +52,7 @@ export interface IPnpmfileContext { /** * The `log` parameter passed to {@link IPnpmfile.hooks.filterLog}. */ -export type IPnpmLog = LogBase & { +export type IPnpmLog = pnpmKitV8.logger.LogBase & { [key: string]: unknown; }; diff --git a/libraries/rush-lib/src/logic/pnpm/PnpmLinkManager.ts b/libraries/rush-lib/src/logic/pnpm/PnpmLinkManager.ts index 15facc8eeef..2fd3425f9a4 100644 --- a/libraries/rush-lib/src/logic/pnpm/PnpmLinkManager.ts +++ b/libraries/rush-lib/src/logic/pnpm/PnpmLinkManager.ts @@ -323,13 +323,13 @@ export class PnpmLinkManager extends BaseLinkManager { RushConstants.nodeModulesFolderName ); } else if (this._pnpmVersion.major >= 10) { - const { depPathToFilename } = await import('@pnpm/dependency-path'); + const pnpmKitV10: typeof import('@rushstack/rush-pnpm-kit-v10') = await import('@rushstack/rush-pnpm-kit-v10'); // project@file+projects+presentation-integration-tests.tgz_jsdom@11.12.0 // The second parameter is max length of virtual store dir, // for v10 default is 120 on Linux/MacOS and 60 on Windows https://pnpm.io/next/settings#virtualstoredirmaxlength // TODO Read virtual-store-dir-max-length from .npmrc - const folderName: string = depPathToFilename( + const folderName: string = pnpmKitV10.dependencyPath.depPathToFilename( tempProjectDependencyKey, process.platform === 'win32' ? 60 : 120 ); @@ -341,12 +341,12 @@ export class PnpmLinkManager extends BaseLinkManager { RushConstants.nodeModulesFolderName ); } else if (this._pnpmVersion.major >= 9) { - const { depPathToFilename } = await import('@pnpm/dependency-path-lockfile-pre-v10'); + const pnpmKitV9: typeof import('@rushstack/rush-pnpm-kit-v9') = await import('@rushstack/rush-pnpm-kit-v9'); // project@file+projects+presentation-integration-tests.tgz_jsdom@11.12.0 // The second parameter is max length of virtual store dir, for v9 default is 120 https://pnpm.io/9.x/npmrc#virtual-store-dir-max-length // TODO Read virtual-store-dir-max-length from .npmrc - const folderName: string = depPathToFilename(tempProjectDependencyKey, 120); + const folderName: string = pnpmKitV9.dependencyPath.depPathToFilename(tempProjectDependencyKey, 120); return path.join( this._rushConfiguration.commonTempFolder, RushConstants.nodeModulesFolderName, @@ -355,13 +355,13 @@ export class PnpmLinkManager extends BaseLinkManager { RushConstants.nodeModulesFolderName ); } else if (this._pnpmVersion.major >= 8) { - const { depPathToFilename } = await import('@pnpm/dependency-path-lockfile-pre-v9'); + const pnpmKitV8: typeof import('@rushstack/rush-pnpm-kit-v8') = await import('@rushstack/rush-pnpm-kit-v8'); // PNPM 8 changed the local path format again and the hashing algorithm, and // is now using the scoped '@pnpm/dependency-path' package // See https://github.com/pnpm/pnpm/releases/tag/v8.0.0 // e.g.: // file+projects+presentation-integration-tests.tgz_jsdom@11.12.0 - const folderName: string = depPathToFilename(`${tarballEntry}${folderSuffix}`); + const folderName: string = pnpmKitV8.dependencyPath.depPathToFilename(`${tarballEntry}${folderSuffix}`); return path.join( this._rushConfiguration.commonTempFolder, RushConstants.nodeModulesFolderName, diff --git a/libraries/rush-lib/src/logic/pnpm/PnpmShrinkWrapFileConverters.ts b/libraries/rush-lib/src/logic/pnpm/PnpmShrinkWrapFileConverters.ts index c2c549fb21c..356bbdeb11f 100644 --- a/libraries/rush-lib/src/logic/pnpm/PnpmShrinkWrapFileConverters.ts +++ b/libraries/rush-lib/src/logic/pnpm/PnpmShrinkWrapFileConverters.ts @@ -13,7 +13,6 @@ * 2. @pnpm/lockfile.fs only provides asynchronous read methods, while rush requires synchronous reading of the lockfile file. * Perhaps this file will be deleted in the future and instead depend on @pnpm/lockfile.fs directly. */ -import { removeSuffix } from '@pnpm/dependency-path'; import type { InlineSpecifiersProjectSnapshot, InlineSpecifiersResolvedDependencies, @@ -23,7 +22,9 @@ import type { PackageSnapshots, ProjectSnapshot, ResolvedDependencies -} from '@pnpm/lockfile.types'; +} from '@pnpm/lockfile.types-900'; + +import * as pnpmKitV9 from '@rushstack/rush-pnpm-kit-v9'; import { removeNullishProps } from '../../utilities/objectUtilities'; @@ -107,7 +108,7 @@ export function convertLockfileV9ToLockfileObject(lockfile: LockfileFileV9): Loc const packages: PackageSnapshots = {}; for (const [depPath, pkg] of Object.entries(lockfile.snapshots ?? {})) { - const pkgId: string = removeSuffix(depPath); + const pkgId: string = pnpmKitV9.dependencyPath.removeSuffix(depPath); packages[depPath as DepPath] = Object.assign(pkg, lockfile.packages?.[pkgId]); } return { diff --git a/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts b/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts index 6da650f35d5..8ec9a700d18 100644 --- a/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts +++ b/libraries/rush-lib/src/logic/pnpm/PnpmShrinkwrapFile.ts @@ -5,8 +5,6 @@ import * as path from 'node:path'; import crypto from 'node:crypto'; import * as semver from 'semver'; -import * as dependencyPathLockfilePreV9 from '@pnpm/dependency-path-lockfile-pre-v9'; -import * as dependencyPath from '@pnpm/dependency-path'; import type { ProjectId, Lockfile, @@ -14,7 +12,7 @@ import type { ProjectSnapshot, LockfileFileV9, ResolvedDependencies -} from '@pnpm/lockfile.types'; +} from '@pnpm/lockfile.types-900'; import { FileSystem, @@ -46,6 +44,14 @@ import { CustomTipId, type CustomTipsConfiguration } from '../../api/CustomTipsC import { convertLockfileV9ToLockfileObject } from './PnpmShrinkWrapFileConverters'; const yamlModule: typeof import('js-yaml') = Import.lazy('js-yaml', require); +const pnpmKitV8: typeof import('@rushstack/rush-pnpm-kit-v8') = Import.lazy( + '@rushstack/rush-pnpm-kit-v8', + require +); +const pnpmKitV9: typeof import('@rushstack/rush-pnpm-kit-v9') = Import.lazy( + '@rushstack/rush-pnpm-kit-v9', + require +); export enum ShrinkwrapFileMajorVersion { V6 = 6, @@ -145,7 +151,7 @@ export function parsePnpm9DependencyKey( return undefined; } - const { peersIndex } = dependencyPath.indexOfPeersSuffix(dependencyKey); + const { peersIndex } = pnpmKitV9.dependencyPath.indexOfPeersSuffix(dependencyKey); if (peersIndex !== -1) { // Remove peer suffix const key: string = dependencyKey.slice(0, peersIndex); @@ -161,7 +167,8 @@ export function parsePnpm9DependencyKey( // Example: https://github.com/jonschlinkert/pad-left/tarball/2.1.0 -> name=undefined version=undefined // Example: pad-left@https://github.com/jonschlinkert/pad-left/tarball/2.1.0 -> name=pad-left nonSemverVersion=https://xxxx // Example: pad-left@https://codeload.github.com/jonschlinkert/pad-left/tar.gz/7798d648225aa5 -> name=pad-left nonSemverVersion=https://xxxx - const dependency: dependencyPath.DependencyPath = dependencyPath.parse(dependencyKey); + const dependency: import('@rushstack/rush-pnpm-kit-v9').dependencyPath.DependencyPath = + pnpmKitV9.dependencyPath.parse(dependencyKey); const name: string = dependency.name ?? dependencyName; const version: string = dependency.version ?? dependency.nonSemverVersion ?? dependencyKey; @@ -368,7 +375,7 @@ export class PnpmShrinkwrapFile extends BaseShrinkwrapFile { return /@file:/.test(version) ? version : `${name}@${version}`; } - return dependencyPath.removeSuffix(version).includes('@', 1) ? version : `${name}@${version}`; + return pnpmKitV9.dependencyPath.removeSuffix(version).includes('@', 1) ? version : `${name}@${version}`; } /** @@ -568,7 +575,7 @@ export class PnpmShrinkwrapFile extends BaseShrinkwrapFile { private _convertLockfileV6DepPathToV5DepPath(newDepPath: string): string { if (!newDepPath.includes('@', 2) || newDepPath.startsWith('file:')) return newDepPath; const index: number = newDepPath.indexOf('@', newDepPath.indexOf('/@') + 2); - if (newDepPath.includes('(') && index > dependencyPathLockfilePreV9.indexOfPeersSuffix(newDepPath)) + if (newDepPath.includes('(') && index > pnpmKitV8.dependencyPath.indexOfPeersSuffix(newDepPath)) return newDepPath; return `${newDepPath.substring(0, index)}/${newDepPath.substring(index + 1)}`; } @@ -583,8 +590,8 @@ export class PnpmShrinkwrapFile extends BaseShrinkwrapFile { if (this.shrinkwrapFileMajorVersion >= ShrinkwrapFileMajorVersion.V6) { depPath = this._convertLockfileV6DepPathToV5DepPath(packagePath); } - const pkgInfo: ReturnType = - dependencyPathLockfilePreV9.parse(depPath); + const pkgInfo: ReturnType = + pnpmKitV8.dependencyPath.parse(depPath); return this._getPackageId(pkgInfo.name as string, pkgInfo.version as string); } @@ -688,7 +695,7 @@ export class PnpmShrinkwrapFile extends BaseShrinkwrapFile { } if (this.shrinkwrapFileMajorVersion >= ShrinkwrapFileMajorVersion.V9) { - const { version, nonSemverVersion } = dependencyPath.parse(value); + const { version, nonSemverVersion } = pnpmKitV9.dependencyPath.parse(value); value = version ?? nonSemverVersion ?? value; } else { let underscoreOrParenthesisIndex: number = value.indexOf('_'); diff --git a/libraries/rush-lib/src/logic/pnpm/test/PnpmShrinkwrapConverters.test.ts b/libraries/rush-lib/src/logic/pnpm/test/PnpmShrinkwrapConverters.test.ts index 912bbc55b7a..045de7afede 100644 --- a/libraries/rush-lib/src/logic/pnpm/test/PnpmShrinkwrapConverters.test.ts +++ b/libraries/rush-lib/src/logic/pnpm/test/PnpmShrinkwrapConverters.test.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. // See LICENSE in the project root for license information. -import type { LockfileFileV9, PackageSnapshot, ProjectSnapshot } from '@pnpm/lockfile.types'; +import type { LockfileFileV9, PackageSnapshot, ProjectSnapshot } from '@pnpm/lockfile.types-900'; import { convertLockfileV9ToLockfileObject } from '../PnpmShrinkWrapFileConverters'; import { FileSystem } from '@rushstack/node-core-library'; import yamlModule from 'js-yaml'; diff --git a/libraries/rush-pnpm-kit-v10/LICENSE b/libraries/rush-pnpm-kit-v10/LICENSE new file mode 100644 index 00000000000..5cdb73542f0 --- /dev/null +++ b/libraries/rush-pnpm-kit-v10/LICENSE @@ -0,0 +1,24 @@ +@rushstack/rush-pnpm-kit-v10 + +Copyright (c) Microsoft Corporation. All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/libraries/rush-pnpm-kit-v10/README.md b/libraries/rush-pnpm-kit-v10/README.md new file mode 100644 index 00000000000..5880e3e0ae6 --- /dev/null +++ b/libraries/rush-pnpm-kit-v10/README.md @@ -0,0 +1,14 @@ +## @microsoft/rush-pnpm-kit-v10 + +This is a companion package for the Rush tool. See the +[@microsoft/rush](https://www.npmjs.com/package/@microsoft/rush) +package for details. + +## Links + +- [CHANGELOG.md]( + https://github.com/microsoft/rushstack/blob/main/libraries/rush-pnpm-kit-v10/CHANGELOG.md) - Find + out what's new in the latest version +- [API Reference](https://api.rushstack.io/pages/rush-lib/) + +Rush is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/rush-pnpm-kit-v10/config/api-extractor.json b/libraries/rush-pnpm-kit-v10/config/api-extractor.json new file mode 100644 index 00000000000..996e271d3dd --- /dev/null +++ b/libraries/rush-pnpm-kit-v10/config/api-extractor.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + + "mainEntryPointFilePath": "/lib/index.d.ts", + + "apiReport": { + "enabled": true, + "reportFolder": "../../../common/reviews/api" + }, + + "docModel": { + "enabled": true, + "apiJsonFilePath": "../../../common/temp/api/.api.json" + }, + + "dtsRollup": { + "enabled": true + } +} diff --git a/libraries/rush-pnpm-kit-v10/config/rig.json b/libraries/rush-pnpm-kit-v10/config/rig.json new file mode 100644 index 00000000000..165ffb001f5 --- /dev/null +++ b/libraries/rush-pnpm-kit-v10/config/rig.json @@ -0,0 +1,7 @@ +{ + // The "rig.json" file directs tools to look for their config files in an external package. + // Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package + "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", + + "rigPackageName": "local-node-rig" +} diff --git a/libraries/rush-pnpm-kit-v10/eslint.config.js b/libraries/rush-pnpm-kit-v10/eslint.config.js new file mode 100644 index 00000000000..c15e6077310 --- /dev/null +++ b/libraries/rush-pnpm-kit-v10/eslint.config.js @@ -0,0 +1,18 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +const nodeTrustedToolProfile = require('local-node-rig/profiles/default/includes/eslint/flat/profile/node-trusted-tool'); +const friendlyLocalsMixin = require('local-node-rig/profiles/default/includes/eslint/flat/mixins/friendly-locals'); + +module.exports = [ + ...nodeTrustedToolProfile, + ...friendlyLocalsMixin, + { + files: ['**/*.ts', '**/*.tsx'], + languageOptions: { + parserOptions: { + tsconfigRootDir: __dirname + } + } + } +]; diff --git a/libraries/rush-pnpm-kit-v10/package.json b/libraries/rush-pnpm-kit-v10/package.json new file mode 100644 index 00000000000..a47634eb7d2 --- /dev/null +++ b/libraries/rush-pnpm-kit-v10/package.json @@ -0,0 +1,23 @@ +{ + "name": "@rushstack/rush-pnpm-kit-v10", + "version": "0.0.0", + "description": "rush pnpm kit v10", + "license": "MIT", + "main": "lib/index.js", + "typings": "dist/rush-pnpm-kit-v10.d.ts", + "scripts": { + "_phase:build": "heft run --only build -- --clean", + "_phase:test": "heft run --only test -- --clean", + "build": "heft build --clean", + "test": "heft test --clean" + }, + "dependencies": { + "@pnpm/dependency-path-pnpm-v10": "npm:@pnpm/dependency-path@~1000.0.9", + "@pnpm/lockfile.fs-pnpm-lock-v9": "npm:@pnpm/lockfile.fs@~1001.1.11", + "@pnpm/logger": "~1001.0.0" + }, + "devDependencies": { + "@rushstack/heft": "workspace:*", + "local-node-rig": "workspace:*" + } +} diff --git a/libraries/rush-pnpm-kit-v10/src/dependencyPath.ts b/libraries/rush-pnpm-kit-v10/src/dependencyPath.ts new file mode 100644 index 00000000000..a5995ab7e3d --- /dev/null +++ b/libraries/rush-pnpm-kit-v10/src/dependencyPath.ts @@ -0,0 +1,7 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import { depPathToFilename, indexOfPeersSuffix, parse, removeSuffix } from '@pnpm/dependency-path-pnpm-v10'; +import type { DependencyPath } from '@pnpm/dependency-path-pnpm-v10'; + +export { depPathToFilename, indexOfPeersSuffix, parse, removeSuffix, DependencyPath }; diff --git a/libraries/rush-pnpm-kit-v10/src/index.ts b/libraries/rush-pnpm-kit-v10/src/index.ts new file mode 100644 index 00000000000..bb8a9dcdfa9 --- /dev/null +++ b/libraries/rush-pnpm-kit-v10/src/index.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +export * as dependencyPath from './dependencyPath'; +export * as lockfileFs from './lockfileFs'; +export * as logger from './logger'; diff --git a/libraries/rush-pnpm-kit-v10/src/lockfileFs.ts b/libraries/rush-pnpm-kit-v10/src/lockfileFs.ts new file mode 100644 index 00000000000..bfed13bf89f --- /dev/null +++ b/libraries/rush-pnpm-kit-v10/src/lockfileFs.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import { readWantedLockfile } from '@pnpm/lockfile.fs-pnpm-lock-v9'; + +export { readWantedLockfile }; diff --git a/libraries/rush-pnpm-kit-v10/src/logger.ts b/libraries/rush-pnpm-kit-v10/src/logger.ts new file mode 100644 index 00000000000..6d0c71dee47 --- /dev/null +++ b/libraries/rush-pnpm-kit-v10/src/logger.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import type { LogBase } from '@pnpm/logger'; + +export { LogBase }; diff --git a/libraries/rush-pnpm-kit-v10/tsconfig.json b/libraries/rush-pnpm-kit-v10/tsconfig.json new file mode 100644 index 00000000000..dac21d04081 --- /dev/null +++ b/libraries/rush-pnpm-kit-v10/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/local-node-rig/profiles/default/tsconfig-base.json" +} diff --git a/libraries/rush-pnpm-kit-v8/LICENSE b/libraries/rush-pnpm-kit-v8/LICENSE new file mode 100644 index 00000000000..0ea811163c2 --- /dev/null +++ b/libraries/rush-pnpm-kit-v8/LICENSE @@ -0,0 +1,24 @@ +@rushstack/rush-pnpm-kit-v8 + +Copyright (c) Microsoft Corporation. All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/libraries/rush-pnpm-kit-v8/README.md b/libraries/rush-pnpm-kit-v8/README.md new file mode 100644 index 00000000000..c8ecde4d611 --- /dev/null +++ b/libraries/rush-pnpm-kit-v8/README.md @@ -0,0 +1,14 @@ +## @microsoft/rush-pnpm-kit-v8 + +This is a companion package for the Rush tool. See the +[@microsoft/rush](https://www.npmjs.com/package/@microsoft/rush) +package for details. + +## Links + +- [CHANGELOG.md]( + https://github.com/microsoft/rushstack/blob/main/libraries/rush-pnpm-kit-v8/CHANGELOG.md) - Find + out what's new in the latest version +- [API Reference](https://api.rushstack.io/pages/rush-lib/) + +Rush is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/rush-pnpm-kit-v8/config/api-extractor.json b/libraries/rush-pnpm-kit-v8/config/api-extractor.json new file mode 100644 index 00000000000..996e271d3dd --- /dev/null +++ b/libraries/rush-pnpm-kit-v8/config/api-extractor.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + + "mainEntryPointFilePath": "/lib/index.d.ts", + + "apiReport": { + "enabled": true, + "reportFolder": "../../../common/reviews/api" + }, + + "docModel": { + "enabled": true, + "apiJsonFilePath": "../../../common/temp/api/.api.json" + }, + + "dtsRollup": { + "enabled": true + } +} diff --git a/libraries/rush-pnpm-kit-v8/config/rig.json b/libraries/rush-pnpm-kit-v8/config/rig.json new file mode 100644 index 00000000000..165ffb001f5 --- /dev/null +++ b/libraries/rush-pnpm-kit-v8/config/rig.json @@ -0,0 +1,7 @@ +{ + // The "rig.json" file directs tools to look for their config files in an external package. + // Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package + "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", + + "rigPackageName": "local-node-rig" +} diff --git a/libraries/rush-pnpm-kit-v8/eslint.config.js b/libraries/rush-pnpm-kit-v8/eslint.config.js new file mode 100644 index 00000000000..c15e6077310 --- /dev/null +++ b/libraries/rush-pnpm-kit-v8/eslint.config.js @@ -0,0 +1,18 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +const nodeTrustedToolProfile = require('local-node-rig/profiles/default/includes/eslint/flat/profile/node-trusted-tool'); +const friendlyLocalsMixin = require('local-node-rig/profiles/default/includes/eslint/flat/mixins/friendly-locals'); + +module.exports = [ + ...nodeTrustedToolProfile, + ...friendlyLocalsMixin, + { + files: ['**/*.ts', '**/*.tsx'], + languageOptions: { + parserOptions: { + tsconfigRootDir: __dirname + } + } + } +]; diff --git a/libraries/rush-pnpm-kit-v8/package.json b/libraries/rush-pnpm-kit-v8/package.json new file mode 100644 index 00000000000..40239703046 --- /dev/null +++ b/libraries/rush-pnpm-kit-v8/package.json @@ -0,0 +1,23 @@ +{ + "name": "@rushstack/rush-pnpm-kit-v8", + "version": "0.0.0", + "description": "rush pnpm kit v8", + "license": "MIT", + "main": "lib/index.js", + "typings": "dist/rush-pnpm-kit-v8.d.ts", + "scripts": { + "_phase:build": "heft run --only build -- --clean", + "_phase:test": "heft run --only test -- --clean", + "build": "heft build --clean", + "test": "heft test --clean" + }, + "dependencies": { + "@pnpm/dependency-path-pnpm-v8": "npm:@pnpm/dependency-path@~2.1.8", + "@pnpm/lockfile-file-pnpm-lock-v6": "npm:@pnpm/lockfile-file@~8.1.8", + "@pnpm/logger": "~5.0.0" + }, + "devDependencies": { + "@rushstack/heft": "workspace:*", + "local-node-rig": "workspace:*" + } +} diff --git a/libraries/rush-pnpm-kit-v8/src/dependencyPath.ts b/libraries/rush-pnpm-kit-v8/src/dependencyPath.ts new file mode 100644 index 00000000000..f1d1f63bf6e --- /dev/null +++ b/libraries/rush-pnpm-kit-v8/src/dependencyPath.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import { depPathToFilename, indexOfPeersSuffix, parse } from '@pnpm/dependency-path-pnpm-v8'; + +export { depPathToFilename, indexOfPeersSuffix, parse }; diff --git a/libraries/rush-pnpm-kit-v8/src/index.ts b/libraries/rush-pnpm-kit-v8/src/index.ts new file mode 100644 index 00000000000..bb8a9dcdfa9 --- /dev/null +++ b/libraries/rush-pnpm-kit-v8/src/index.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +export * as dependencyPath from './dependencyPath'; +export * as lockfileFs from './lockfileFs'; +export * as logger from './logger'; diff --git a/libraries/rush-pnpm-kit-v8/src/lockfileFs.ts b/libraries/rush-pnpm-kit-v8/src/lockfileFs.ts new file mode 100644 index 00000000000..53e6c97e72d --- /dev/null +++ b/libraries/rush-pnpm-kit-v8/src/lockfileFs.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import { readWantedLockfile } from '@pnpm/lockfile-file-pnpm-lock-v6'; + +export { readWantedLockfile }; diff --git a/libraries/rush-pnpm-kit-v8/src/logger.ts b/libraries/rush-pnpm-kit-v8/src/logger.ts new file mode 100644 index 00000000000..6d0c71dee47 --- /dev/null +++ b/libraries/rush-pnpm-kit-v8/src/logger.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import type { LogBase } from '@pnpm/logger'; + +export { LogBase }; diff --git a/libraries/rush-pnpm-kit-v8/tsconfig.json b/libraries/rush-pnpm-kit-v8/tsconfig.json new file mode 100644 index 00000000000..dac21d04081 --- /dev/null +++ b/libraries/rush-pnpm-kit-v8/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/local-node-rig/profiles/default/tsconfig-base.json" +} diff --git a/libraries/rush-pnpm-kit-v9/LICENSE b/libraries/rush-pnpm-kit-v9/LICENSE new file mode 100644 index 00000000000..b530223f3b1 --- /dev/null +++ b/libraries/rush-pnpm-kit-v9/LICENSE @@ -0,0 +1,24 @@ +@rushstack/rush-pnpm-kit-v9 + +Copyright (c) Microsoft Corporation. All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/libraries/rush-pnpm-kit-v9/README.md b/libraries/rush-pnpm-kit-v9/README.md new file mode 100644 index 00000000000..1a313d7a43c --- /dev/null +++ b/libraries/rush-pnpm-kit-v9/README.md @@ -0,0 +1,14 @@ +## @microsoft/rush-pnpm-kit-v9 + +This is a companion package for the Rush tool. See the +[@microsoft/rush](https://www.npmjs.com/package/@microsoft/rush) +package for details. + +## Links + +- [CHANGELOG.md]( + https://github.com/microsoft/rushstack/blob/main/libraries/rush-pnpm-kit-v9/CHANGELOG.md) - Find + out what's new in the latest version +- [API Reference](https://api.rushstack.io/pages/rush-lib/) + +Rush is part of the [Rush Stack](https://rushstack.io/) family of projects. diff --git a/libraries/rush-pnpm-kit-v9/config/api-extractor.json b/libraries/rush-pnpm-kit-v9/config/api-extractor.json new file mode 100644 index 00000000000..996e271d3dd --- /dev/null +++ b/libraries/rush-pnpm-kit-v9/config/api-extractor.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + + "mainEntryPointFilePath": "/lib/index.d.ts", + + "apiReport": { + "enabled": true, + "reportFolder": "../../../common/reviews/api" + }, + + "docModel": { + "enabled": true, + "apiJsonFilePath": "../../../common/temp/api/.api.json" + }, + + "dtsRollup": { + "enabled": true + } +} diff --git a/libraries/rush-pnpm-kit-v9/config/rig.json b/libraries/rush-pnpm-kit-v9/config/rig.json new file mode 100644 index 00000000000..165ffb001f5 --- /dev/null +++ b/libraries/rush-pnpm-kit-v9/config/rig.json @@ -0,0 +1,7 @@ +{ + // The "rig.json" file directs tools to look for their config files in an external package. + // Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package + "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", + + "rigPackageName": "local-node-rig" +} diff --git a/libraries/rush-pnpm-kit-v9/eslint.config.js b/libraries/rush-pnpm-kit-v9/eslint.config.js new file mode 100644 index 00000000000..c15e6077310 --- /dev/null +++ b/libraries/rush-pnpm-kit-v9/eslint.config.js @@ -0,0 +1,18 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +const nodeTrustedToolProfile = require('local-node-rig/profiles/default/includes/eslint/flat/profile/node-trusted-tool'); +const friendlyLocalsMixin = require('local-node-rig/profiles/default/includes/eslint/flat/mixins/friendly-locals'); + +module.exports = [ + ...nodeTrustedToolProfile, + ...friendlyLocalsMixin, + { + files: ['**/*.ts', '**/*.tsx'], + languageOptions: { + parserOptions: { + tsconfigRootDir: __dirname + } + } + } +]; diff --git a/libraries/rush-pnpm-kit-v9/package.json b/libraries/rush-pnpm-kit-v9/package.json new file mode 100644 index 00000000000..9aa382399f6 --- /dev/null +++ b/libraries/rush-pnpm-kit-v9/package.json @@ -0,0 +1,23 @@ +{ + "name": "@rushstack/rush-pnpm-kit-v9", + "version": "0.0.0", + "description": "rush pnpm kit v9", + "license": "MIT", + "main": "lib/index.js", + "typings": "dist/rush-pnpm-kit-v9.d.ts", + "scripts": { + "_phase:build": "heft run --only build -- --clean", + "_phase:test": "heft run --only test -- --clean", + "build": "heft build --clean", + "test": "heft test --clean" + }, + "dependencies": { + "@pnpm/dependency-path-pnpm-v9": "npm:@pnpm/dependency-path@~5.1.7", + "@pnpm/lockfile.fs-pnpm-lock-v9": "npm:@pnpm/lockfile.fs@~1001.1.11", + "@pnpm/logger": "~1001.0.0" + }, + "devDependencies": { + "@rushstack/heft": "workspace:*", + "local-node-rig": "workspace:*" + } +} diff --git a/libraries/rush-pnpm-kit-v9/src/dependencyPath.ts b/libraries/rush-pnpm-kit-v9/src/dependencyPath.ts new file mode 100644 index 00000000000..649f8936bab --- /dev/null +++ b/libraries/rush-pnpm-kit-v9/src/dependencyPath.ts @@ -0,0 +1,7 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import { depPathToFilename, indexOfPeersSuffix, parse, removeSuffix } from '@pnpm/dependency-path-pnpm-v9'; +import type { DependencyPath } from '@pnpm/dependency-path-pnpm-v9'; + +export { depPathToFilename, indexOfPeersSuffix, parse, removeSuffix, DependencyPath }; diff --git a/libraries/rush-pnpm-kit-v9/src/index.ts b/libraries/rush-pnpm-kit-v9/src/index.ts new file mode 100644 index 00000000000..bb8a9dcdfa9 --- /dev/null +++ b/libraries/rush-pnpm-kit-v9/src/index.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +export * as dependencyPath from './dependencyPath'; +export * as lockfileFs from './lockfileFs'; +export * as logger from './logger'; diff --git a/libraries/rush-pnpm-kit-v9/src/lockfileFs.ts b/libraries/rush-pnpm-kit-v9/src/lockfileFs.ts new file mode 100644 index 00000000000..bfed13bf89f --- /dev/null +++ b/libraries/rush-pnpm-kit-v9/src/lockfileFs.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import { readWantedLockfile } from '@pnpm/lockfile.fs-pnpm-lock-v9'; + +export { readWantedLockfile }; diff --git a/libraries/rush-pnpm-kit-v9/src/logger.ts b/libraries/rush-pnpm-kit-v9/src/logger.ts new file mode 100644 index 00000000000..6d0c71dee47 --- /dev/null +++ b/libraries/rush-pnpm-kit-v9/src/logger.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import type { LogBase } from '@pnpm/logger'; + +export { LogBase }; diff --git a/libraries/rush-pnpm-kit-v9/tsconfig.json b/libraries/rush-pnpm-kit-v9/tsconfig.json new file mode 100644 index 00000000000..dac21d04081 --- /dev/null +++ b/libraries/rush-pnpm-kit-v9/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/local-node-rig/profiles/default/tsconfig-base.json" +} diff --git a/libraries/rush-sdk/package.json b/libraries/rush-sdk/package.json index ca684482236..069f3290eeb 100644 --- a/libraries/rush-sdk/package.json +++ b/libraries/rush-sdk/package.json @@ -39,7 +39,7 @@ }, "license": "MIT", "dependencies": { - "@pnpm/lockfile.types": "~1.0.3", + "@pnpm/lockfile.types-900": "npm:@pnpm/lockfile.types@~900.0.0", "@rushstack/credential-cache": "workspace:*", "@rushstack/lookup-by-path": "workspace:*", "@rushstack/node-core-library": "workspace:*", diff --git a/rush.json b/rush.json index c66a3135481..6affc317af8 100644 --- a/rush.json +++ b/rush.json @@ -1539,6 +1539,24 @@ "projectFolder": "rush-plugins/rush-mcp-docs-plugin", "reviewCategory": "libraries", "shouldPublish": true + }, + { + "packageName": "@rushstack/rush-pnpm-kit-v8", + "projectFolder": "libraries/rush-pnpm-kit-v8", + "reviewCategory": "libraries", + "shouldPublish": true + }, + { + "packageName": "@rushstack/rush-pnpm-kit-v9", + "projectFolder": "libraries/rush-pnpm-kit-v9", + "reviewCategory": "libraries", + "shouldPublish": true + }, + { + "packageName": "@rushstack/rush-pnpm-kit-v10", + "projectFolder": "libraries/rush-pnpm-kit-v10", + "reviewCategory": "libraries", + "shouldPublish": true } ] }