@microsoft/rush 5.172.1 → 5.173.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +23 -0
- package/CHANGELOG.md +14 -1
- package/lib-commonjs/RushVersionSelector.js +4 -1
- package/lib-commonjs/RushVersionSelector.js.map +1 -1
- package/lib-dts/RushVersionSelector.d.ts.map +1 -1
- package/lib-esm/RushVersionSelector.js +4 -1
- package/lib-esm/RushVersionSelector.js.map +1 -1
- package/package.json +8 -8
package/CHANGELOG.json
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/rush",
|
|
3
3
|
"entries": [
|
|
4
|
+
{
|
|
5
|
+
"version": "5.173.0",
|
|
6
|
+
"tag": "@microsoft/rush_v5.173.0",
|
|
7
|
+
"date": "Fri, 10 Apr 2026 22:46:54 GMT",
|
|
8
|
+
"comments": {
|
|
9
|
+
"none": [
|
|
10
|
+
{
|
|
11
|
+
"comment": "Move stale autoinstaller `node_modules` folders into Rush's recycler before asynchronously deleting them, instead of synchronously deleting them in place."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"comment": "Filter npm-incompatible properties from .npmrc when installing rush-lib via npm, to eliminate spurious \"Unknown env config\" and \"Unknown project config\" warnings."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"comment": "When cobuilds are remote executing, check them after locally executable tasks."
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"minor": [
|
|
21
|
+
{
|
|
22
|
+
"comment": "Add async variants of disk-touching APIs in `PackageJsonEditor` (`loadAsync`, `saveIfModifiedAsync`), `CommonVersionsConfiguration` (`loadFromFileAsync`, `saveAsync`), and `VersionPolicy` (`setDependenciesBeforePublishAsync`, `setDependenciesBeforeCommitAsync`); deprecate corresponding sync methods."
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
4
27
|
{
|
|
5
28
|
"version": "5.172.1",
|
|
6
29
|
"tag": "@microsoft/rush_v5.172.1",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
# Change Log - @microsoft/rush
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Fri, 10 Apr 2026 22:46:54 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 5.173.0
|
|
6
|
+
Fri, 10 Apr 2026 22:46:54 GMT
|
|
7
|
+
|
|
8
|
+
### Minor changes
|
|
9
|
+
|
|
10
|
+
- Add async variants of disk-touching APIs in `PackageJsonEditor` (`loadAsync`, `saveIfModifiedAsync`), `CommonVersionsConfiguration` (`loadFromFileAsync`, `saveAsync`), and `VersionPolicy` (`setDependenciesBeforePublishAsync`, `setDependenciesBeforeCommitAsync`); deprecate corresponding sync methods.
|
|
11
|
+
|
|
12
|
+
### Updates
|
|
13
|
+
|
|
14
|
+
- Move stale autoinstaller `node_modules` folders into Rush's recycler before asynchronously deleting them, instead of synchronously deleting them in place.
|
|
15
|
+
- Filter npm-incompatible properties from .npmrc when installing rush-lib via npm, to eliminate spurious "Unknown env config" and "Unknown project config" warnings.
|
|
16
|
+
- When cobuilds are remote executing, check them after locally executable tasks.
|
|
4
17
|
|
|
5
18
|
## 5.172.1
|
|
6
19
|
Wed, 25 Mar 2026 01:01:07 GMT
|
|
@@ -79,7 +79,10 @@ class RushVersionSelector {
|
|
|
79
79
|
// different implementations of the same version of the same package.
|
|
80
80
|
// This was needed for: https://github.com/microsoft/rushstack/issues/691
|
|
81
81
|
commonRushConfigFolder: configuration ? configuration.commonRushConfigFolder : undefined,
|
|
82
|
-
suppressOutput: true
|
|
82
|
+
suppressOutput: true,
|
|
83
|
+
// Filter out npm-incompatible properties (e.g. pnpm-specific settings) from .npmrc
|
|
84
|
+
// since this installation always uses npm regardless of the repo's package manager.
|
|
85
|
+
filterNpmIncompatibleProperties: true
|
|
83
86
|
});
|
|
84
87
|
console.log(`Successfully installed Rush version ${version} in ${expectedRushPath}.`);
|
|
85
88
|
// If we've made it here without exception, write the flag file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RushVersionSelector.js","sourceRoot":"","sources":["../src/RushVersionSelector.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,gDAAkC;AAElC,+CAAiC;AAEjC,oEAAgE;AAChE,2EAAwE;AACxE,kDAAwF;AAExF,+DAA4D;AAG5D,MAAM,oBAAoB,GAAW,CAAC,CAAC;AAEvC,MAAa,mBAAmB;IAI9B,YAAmB,qBAA6B;QAC9C,IAAI,CAAC,iBAAiB,GAAG,IAAI,4BAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,+BAA+B,CAC1C,OAAe,EACf,aAAmD,EACnD,cAA8B;QAE9B,MAAM,mBAAmB,GAAY,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,gBAAgB,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,QAAQ,OAAO,EAAE,CAAC,CAAC;QAEvG,MAAM,aAAa,GAAc,IAAI,oBAAS,CAAC,gBAAgB,EAAE,cAAc,EAAE;YAC/E,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;SAC5B,CAAC,CAAC;QAEH,IAAI,cAAc,GAAY,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;QACjE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,uBAAuB;YACvB,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,4CAA4C,CAAC,CAAC;YAEjF,MAAM,YAAY,GAAW,QAAQ,OAAO,EAAE,CAAC;YAE/C,OAAO,CAAC,GAAG,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC;YAE1D,MAAM,IAAI,GAAa,MAAM,4BAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;YACnF,cAAc,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YACpD,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,MAAM,qBAAS,CAAC,8BAA8B,CAAC;oBAC7C,SAAS,EAAE,gBAAgB;oBAC3B,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB;oBAC5E,OAAO,EAAE,OAAO;oBAChB,gBAAgB,EAAE,oBAAoB;oBACtC,kBAAkB,EAAE,oBAAoB;oBACxC,wFAAwF;oBACxF,mFAAmF;oBACnF,mFAAmF;oBACnF,gFAAgF;oBAChF,qEAAqE;oBACrE,yEAAyE;oBACzE,sBAAsB,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS;oBACxF,cAAc,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"RushVersionSelector.js","sourceRoot":"","sources":["../src/RushVersionSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport * as path from 'node:path';\n\nimport * as semver from 'semver';\n\nimport { LockFile, Import } from '@rushstack/node-core-library';\nimport { Utilities } from '@microsoft/rush-lib/lib/utilities/Utilities';\nimport { _FlagFile, _RushGlobalFolder, type ILaunchOptions } from '@microsoft/rush-lib';\n\nimport { RushCommandSelector } from './RushCommandSelector';\nimport type { MinimalRushConfiguration } from './MinimalRushConfiguration';\n\nconst MAX_INSTALL_ATTEMPTS: number = 3;\n\nexport class RushVersionSelector {\n private _rushGlobalFolder: _RushGlobalFolder;\n private _currentPackageVersion: string;\n\n public constructor(currentPackageVersion: string) {\n this._rushGlobalFolder = new _RushGlobalFolder();\n this._currentPackageVersion = currentPackageVersion;\n }\n\n public async ensureRushVersionInstalledAsync(\n version: string,\n configuration: MinimalRushConfiguration | undefined,\n executeOptions: ILaunchOptions\n ): Promise<void> {\n const isLegacyRushVersion: boolean = semver.lt(version, '4.0.0');\n const expectedRushPath: string = path.join(this._rushGlobalFolder.nodeSpecificPath, `rush-${version}`);\n\n const installMarker: _FlagFile = new _FlagFile(expectedRushPath, 'last-install', {\n node: process.versions.node\n });\n\n let installIsValid: boolean = await installMarker.isValidAsync();\n if (!installIsValid) {\n // Need to install Rush\n console.log(`Rush version ${version} is not currently installed. Installing...`);\n\n const resourceName: string = `rush-${version}`;\n\n console.log(`Trying to acquire lock for ${resourceName}`);\n\n const lock: LockFile = await LockFile.acquireAsync(expectedRushPath, resourceName);\n installIsValid = await installMarker.isValidAsync();\n if (installIsValid) {\n console.log('Another process performed the installation.');\n } else {\n await Utilities.installPackageInDirectoryAsync({\n directory: expectedRushPath,\n packageName: isLegacyRushVersion ? '@microsoft/rush' : '@microsoft/rush-lib',\n version: version,\n tempPackageTitle: 'rush-local-install',\n maxInstallAttempts: MAX_INSTALL_ATTEMPTS,\n // This is using a local configuration to install a package in a shared global location.\n // Generally that's a bad practice, but in this case if we can successfully install\n // the package at all, we can reasonably assume it's good for all the repositories.\n // In particular, we'll assume that two different NPM registries cannot have two\n // different implementations of the same version of the same package.\n // This was needed for: https://github.com/microsoft/rushstack/issues/691\n commonRushConfigFolder: configuration ? configuration.commonRushConfigFolder : undefined,\n suppressOutput: true,\n // Filter out npm-incompatible properties (e.g. pnpm-specific settings) from .npmrc\n // since this installation always uses npm regardless of the repo's package manager.\n filterNpmIncompatibleProperties: true\n });\n\n console.log(`Successfully installed Rush version ${version} in ${expectedRushPath}.`);\n\n // If we've made it here without exception, write the flag file\n await installMarker.createAsync();\n\n lock.release();\n }\n }\n\n if (semver.lt(version, '3.0.20')) {\n // In old versions, requiring the entry point invoked the command-line parser immediately,\n // so fail if \"rushx\" or \"rush-pnpm\" was used\n RushCommandSelector.failIfNotInvokedAsRush(version);\n require(path.join(expectedRushPath, 'node_modules', '@microsoft', 'rush', 'lib', 'rush'));\n } else if (semver.lt(version, '4.0.0')) {\n // In old versions, requiring the entry point invoked the command-line parser immediately,\n // so fail if \"rushx\" or \"rush-pnpm\" was used\n RushCommandSelector.failIfNotInvokedAsRush(version);\n require(path.join(expectedRushPath, 'node_modules', '@microsoft', 'rush', 'lib', 'start'));\n } else {\n // Explicitly resolve the entry point for rush-lib, rather than using a simple require, because\n // newer versions of rush-lib use the package.json `exports` field, which maps\n // `lib/index` to `lib-commonjs/index.js`\n const rushLibEntrypoint: string = await Import.resolveModuleAsync({\n modulePath: '@microsoft/rush-lib/lib/index',\n baseFolderPath: expectedRushPath\n });\n const rushCliEntrypoint: typeof import('@microsoft/rush-lib') = require(rushLibEntrypoint);\n // For newer rush-lib, RushCommandSelector can test whether \"rushx\" is supported or not\n RushCommandSelector.execute(this._currentPackageVersion, rushCliEntrypoint, executeOptions);\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RushVersionSelector.d.ts","sourceRoot":"","sources":["../src/RushVersionSelector.ts"],"names":[],"mappings":"AASA,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGxF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAI3E,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,sBAAsB,CAAS;gBAEpB,qBAAqB,EAAE,MAAM;IAKnC,+BAA+B,CAC1C,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,wBAAwB,GAAG,SAAS,EACnD,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"RushVersionSelector.d.ts","sourceRoot":"","sources":["../src/RushVersionSelector.ts"],"names":[],"mappings":"AASA,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGxF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAI3E,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,sBAAsB,CAAS;gBAEpB,qBAAqB,EAAE,MAAM;IAKnC,+BAA+B,CAC1C,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,wBAAwB,GAAG,SAAS,EACnD,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC;CAyEjB"}
|
|
@@ -43,7 +43,10 @@ export class RushVersionSelector {
|
|
|
43
43
|
// different implementations of the same version of the same package.
|
|
44
44
|
// This was needed for: https://github.com/microsoft/rushstack/issues/691
|
|
45
45
|
commonRushConfigFolder: configuration ? configuration.commonRushConfigFolder : undefined,
|
|
46
|
-
suppressOutput: true
|
|
46
|
+
suppressOutput: true,
|
|
47
|
+
// Filter out npm-incompatible properties (e.g. pnpm-specific settings) from .npmrc
|
|
48
|
+
// since this installation always uses npm regardless of the repo's package manager.
|
|
49
|
+
filterNpmIncompatibleProperties: true
|
|
47
50
|
});
|
|
48
51
|
console.log(`Successfully installed Rush version ${version} in ${expectedRushPath}.`);
|
|
49
52
|
// If we've made it here without exception, write the flag file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RushVersionSelector.js","sourceRoot":"","sources":["../src/RushVersionSelector.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,2DAA2D;AAE3D,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAuB,MAAM,qBAAqB,CAAC;AAExF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,MAAM,oBAAoB,GAAW,CAAC,CAAC;AAEvC,MAAM,OAAO,mBAAmB;IAI9B,YAAmB,qBAA6B;QAC9C,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,+BAA+B,CAC1C,OAAe,EACf,aAAmD,EACnD,cAA8B;QAE9B,MAAM,mBAAmB,GAAY,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,gBAAgB,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,QAAQ,OAAO,EAAE,CAAC,CAAC;QAEvG,MAAM,aAAa,GAAc,IAAI,SAAS,CAAC,gBAAgB,EAAE,cAAc,EAAE;YAC/E,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;SAC5B,CAAC,CAAC;QAEH,IAAI,cAAc,GAAY,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;QACjE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,uBAAuB;YACvB,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,4CAA4C,CAAC,CAAC;YAEjF,MAAM,YAAY,GAAW,QAAQ,OAAO,EAAE,CAAC;YAE/C,OAAO,CAAC,GAAG,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC;YAE1D,MAAM,IAAI,GAAa,MAAM,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;YACnF,cAAc,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC;YACpD,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,CAAC,8BAA8B,CAAC;oBAC7C,SAAS,EAAE,gBAAgB;oBAC3B,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB;oBAC5E,OAAO,EAAE,OAAO;oBAChB,gBAAgB,EAAE,oBAAoB;oBACtC,kBAAkB,EAAE,oBAAoB;oBACxC,wFAAwF;oBACxF,mFAAmF;oBACnF,mFAAmF;oBACnF,gFAAgF;oBAChF,qEAAqE;oBACrE,yEAAyE;oBACzE,sBAAsB,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS;oBACxF,cAAc,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"RushVersionSelector.js","sourceRoot":"","sources":["../src/RushVersionSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport * as path from 'node:path';\n\nimport * as semver from 'semver';\n\nimport { LockFile, Import } from '@rushstack/node-core-library';\nimport { Utilities } from '@microsoft/rush-lib/lib/utilities/Utilities';\nimport { _FlagFile, _RushGlobalFolder, type ILaunchOptions } from '@microsoft/rush-lib';\n\nimport { RushCommandSelector } from './RushCommandSelector';\nimport type { MinimalRushConfiguration } from './MinimalRushConfiguration';\n\nconst MAX_INSTALL_ATTEMPTS: number = 3;\n\nexport class RushVersionSelector {\n private _rushGlobalFolder: _RushGlobalFolder;\n private _currentPackageVersion: string;\n\n public constructor(currentPackageVersion: string) {\n this._rushGlobalFolder = new _RushGlobalFolder();\n this._currentPackageVersion = currentPackageVersion;\n }\n\n public async ensureRushVersionInstalledAsync(\n version: string,\n configuration: MinimalRushConfiguration | undefined,\n executeOptions: ILaunchOptions\n ): Promise<void> {\n const isLegacyRushVersion: boolean = semver.lt(version, '4.0.0');\n const expectedRushPath: string = path.join(this._rushGlobalFolder.nodeSpecificPath, `rush-${version}`);\n\n const installMarker: _FlagFile = new _FlagFile(expectedRushPath, 'last-install', {\n node: process.versions.node\n });\n\n let installIsValid: boolean = await installMarker.isValidAsync();\n if (!installIsValid) {\n // Need to install Rush\n console.log(`Rush version ${version} is not currently installed. Installing...`);\n\n const resourceName: string = `rush-${version}`;\n\n console.log(`Trying to acquire lock for ${resourceName}`);\n\n const lock: LockFile = await LockFile.acquireAsync(expectedRushPath, resourceName);\n installIsValid = await installMarker.isValidAsync();\n if (installIsValid) {\n console.log('Another process performed the installation.');\n } else {\n await Utilities.installPackageInDirectoryAsync({\n directory: expectedRushPath,\n packageName: isLegacyRushVersion ? '@microsoft/rush' : '@microsoft/rush-lib',\n version: version,\n tempPackageTitle: 'rush-local-install',\n maxInstallAttempts: MAX_INSTALL_ATTEMPTS,\n // This is using a local configuration to install a package in a shared global location.\n // Generally that's a bad practice, but in this case if we can successfully install\n // the package at all, we can reasonably assume it's good for all the repositories.\n // In particular, we'll assume that two different NPM registries cannot have two\n // different implementations of the same version of the same package.\n // This was needed for: https://github.com/microsoft/rushstack/issues/691\n commonRushConfigFolder: configuration ? configuration.commonRushConfigFolder : undefined,\n suppressOutput: true,\n // Filter out npm-incompatible properties (e.g. pnpm-specific settings) from .npmrc\n // since this installation always uses npm regardless of the repo's package manager.\n filterNpmIncompatibleProperties: true\n });\n\n console.log(`Successfully installed Rush version ${version} in ${expectedRushPath}.`);\n\n // If we've made it here without exception, write the flag file\n await installMarker.createAsync();\n\n lock.release();\n }\n }\n\n if (semver.lt(version, '3.0.20')) {\n // In old versions, requiring the entry point invoked the command-line parser immediately,\n // so fail if \"rushx\" or \"rush-pnpm\" was used\n RushCommandSelector.failIfNotInvokedAsRush(version);\n require(path.join(expectedRushPath, 'node_modules', '@microsoft', 'rush', 'lib', 'rush'));\n } else if (semver.lt(version, '4.0.0')) {\n // In old versions, requiring the entry point invoked the command-line parser immediately,\n // so fail if \"rushx\" or \"rush-pnpm\" was used\n RushCommandSelector.failIfNotInvokedAsRush(version);\n require(path.join(expectedRushPath, 'node_modules', '@microsoft', 'rush', 'lib', 'start'));\n } else {\n // Explicitly resolve the entry point for rush-lib, rather than using a simple require, because\n // newer versions of rush-lib use the package.json `exports` field, which maps\n // `lib/index` to `lib-commonjs/index.js`\n const rushLibEntrypoint: string = await Import.resolveModuleAsync({\n modulePath: '@microsoft/rush-lib/lib/index',\n baseFolderPath: expectedRushPath\n });\n const rushCliEntrypoint: typeof import('@microsoft/rush-lib') = require(rushLibEntrypoint);\n // For newer rush-lib, RushCommandSelector can test whether \"rushx\" is supported or not\n RushCommandSelector.execute(this._currentPackageVersion, rushCliEntrypoint, executeOptions);\n }\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/rush",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.173.0",
|
|
4
4
|
"description": "A professional solution for consolidating all your JavaScript projects in one Git repo",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"install",
|
|
@@ -31,19 +31,19 @@
|
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"semver": "~7.5.4",
|
|
34
|
-
"@microsoft/rush-lib": "5.
|
|
35
|
-
"@rushstack/terminal": "0.22.
|
|
36
|
-
"@rushstack/node-core-library": "5.
|
|
34
|
+
"@microsoft/rush-lib": "5.173.0",
|
|
35
|
+
"@rushstack/terminal": "0.22.5",
|
|
36
|
+
"@rushstack/node-core-library": "5.22.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"eslint": "~9.37.0",
|
|
40
40
|
"@types/heft-jest": "1.0.1",
|
|
41
41
|
"@types/semver": "7.5.0",
|
|
42
|
-
"@rushstack/heft": "1.2.
|
|
42
|
+
"@rushstack/heft": "1.2.12",
|
|
43
|
+
"@rushstack/rush-amazon-s3-build-cache-plugin": "5.173.0",
|
|
43
44
|
"local-node-rig": "1.0.0",
|
|
44
|
-
"@rushstack/rush-
|
|
45
|
-
"@rushstack/rush-azure-storage-build-cache-plugin": "5.
|
|
46
|
-
"@rushstack/rush-http-build-cache-plugin": "5.172.1"
|
|
45
|
+
"@rushstack/rush-http-build-cache-plugin": "5.173.0",
|
|
46
|
+
"@rushstack/rush-azure-storage-build-cache-plugin": "5.173.0"
|
|
47
47
|
},
|
|
48
48
|
"exports": {
|
|
49
49
|
"./lib/*": {
|