@microsoft/rush 5.70.0 → 5.75.0-pr3481.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/bin/rush-pnpm ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ require('../lib/start.js');
@@ -1 +1 @@
1
- {"version":3,"file":"RushCommandSelector.d.ts","sourceRoot":"","sources":["../src/RushCommandSelector.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAI/C;;;;;;GAMG;AACH,qBAAa,mBAAmB;WAChB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;WAQ7C,OAAO,CACnB,eAAe,EAAE,MAAM,EAEvB,eAAe,EAAE,GAAG,EACpB,OAAO,EAAE,OAAO,CAAC,cAAc,GAC9B,IAAI;IAqBP,OAAO,CAAC,MAAM,CAAC,cAAc;IAK7B,OAAO,CAAC,MAAM,CAAC,eAAe;CAe/B"}
1
+ {"version":3,"file":"RushCommandSelector.d.ts","sourceRoot":"","sources":["../src/RushCommandSelector.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAI/C;;;;;;GAMG;AACH,qBAAa,mBAAmB;WAChB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;WAS7C,OAAO,CACnB,eAAe,EAAE,MAAM,EAEvB,eAAe,EAAE,GAAG,EACpB,OAAO,EAAE,OAAO,CAAC,cAAc,GAC9B,IAAI;IAkCP,OAAO,CAAC,MAAM,CAAC,cAAc;IAK7B,OAAO,CAAC,MAAM,CAAC,eAAe;CAkB/B"}
@@ -40,8 +40,9 @@ const path = __importStar(require("path"));
40
40
  */
41
41
  class RushCommandSelector {
42
42
  static failIfNotInvokedAsRush(version) {
43
- if (RushCommandSelector._getCommandName() === 'rushx') {
44
- RushCommandSelector._failWithError(`This repository is using Rush version ${version} which does not support the "rushx" command`);
43
+ const commandName = RushCommandSelector._getCommandName();
44
+ if (commandName !== 'rush' && commandName !== undefined) {
45
+ RushCommandSelector._failWithError(`This repository is using Rush version ${version} which does not support the ${commandName} command`);
45
46
  }
46
47
  }
47
48
  static execute(launcherVersion,
@@ -52,7 +53,18 @@ class RushCommandSelector {
52
53
  // This should be impossible unless we somehow loaded an unexpected version
53
54
  RushCommandSelector._failWithError(`Unable to find the "Rush" entry point in @microsoft/rush-lib`);
54
55
  }
55
- if (RushCommandSelector._getCommandName() === 'rushx') {
56
+ const commandName = RushCommandSelector._getCommandName();
57
+ if (commandName === 'rush-pnpm') {
58
+ if (!Rush.launchRushPnpm) {
59
+ RushCommandSelector._failWithError(`This repository is using Rush version ${Rush.version}` +
60
+ ` which does not support the "rush-pnpm" command`);
61
+ }
62
+ Rush.launchRushPnpm(launcherVersion, {
63
+ isManaged: options.isManaged,
64
+ alreadyReportedNodeTooNewError: options.alreadyReportedNodeTooNewError
65
+ });
66
+ }
67
+ else if (commandName === 'rushx') {
56
68
  if (!Rush.launchRushX) {
57
69
  RushCommandSelector._failWithError(`This repository is using Rush version ${Rush.version}` +
58
70
  ` which does not support the "rushx" command`);
@@ -73,12 +85,15 @@ class RushCommandSelector {
73
85
  // argv[0]: "C:\\Program Files\\nodejs\\node.exe"
74
86
  // argv[1]: "C:\\Program Files\\nodejs\\node_modules\\@microsoft\\rush\\bin\\rushx"
75
87
  const basename = path.basename(process.argv[1]).toUpperCase();
76
- if (basename === 'RUSHX') {
77
- return 'rushx';
78
- }
79
88
  if (basename === 'RUSH') {
80
89
  return 'rush';
81
90
  }
91
+ if (basename === 'RUSH-PNPM') {
92
+ return 'rush-pnpm';
93
+ }
94
+ if (basename === 'RUSHX') {
95
+ return 'rushx';
96
+ }
82
97
  }
83
98
  return undefined;
84
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RushCommandSelector.js","sourceRoot":"","sources":["../src/RushCommandSelector.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,uDAAiC;AACjC,2CAA6B;AAK7B;;;;;;GAMG;AACH,MAAa,mBAAmB;IACvB,MAAM,CAAC,sBAAsB,CAAC,OAAe;QAClD,IAAI,mBAAmB,CAAC,eAAe,EAAE,KAAK,OAAO,EAAE;YACrD,mBAAmB,CAAC,cAAc,CAChC,yCAAyC,OAAO,6CAA6C,CAC9F,CAAC;SACH;IACH,CAAC;IAEM,MAAM,CAAC,OAAO,CACnB,eAAuB;IACvB,8DAA8D;IAC9D,eAAoB,EACpB,OAA+B;QAE/B,MAAM,IAAI,GAAwB,eAAe,CAAC,IAAI,CAAC;QAEvD,IAAI,CAAC,IAAI,EAAE;YACT,2EAA2E;YAC3E,mBAAmB,CAAC,cAAc,CAAC,8DAA8D,CAAC,CAAC;SACpG;QAED,IAAI,mBAAmB,CAAC,eAAe,EAAE,KAAK,OAAO,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,mBAAmB,CAAC,cAAc,CAChC,yCAAyC,IAAI,CAAC,OAAO,EAAE;oBACrD,6CAA6C,CAChD,CAAC;aACH;YACD,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;SACvC;IACH,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,OAAe;QAC3C,OAAO,CAAC,GAAG,CAAC,cAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,eAAe;QAC5B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YAC5B,WAAW;YACX,iDAAiD;YACjD,mFAAmF;YACnF,MAAM,QAAQ,GAAW,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACtE,IAAI,QAAQ,KAAK,OAAO,EAAE;gBACxB,OAAO,OAAO,CAAC;aAChB;YACD,IAAI,QAAQ,KAAK,MAAM,EAAE;gBACvB,OAAO,MAAM,CAAC;aACf;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAvDD,kDAuDC","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 colors from 'colors/safe';\nimport * as path from 'path';\nimport * as rushLib from '@microsoft/rush-lib';\n\ntype CommandName = 'rush' | 'rushx' | undefined;\n\n/**\n * Both \"rush\" and \"rushx\" share the same src/start.ts entry point. This makes it\n * a little easier for them to share all the same startup checks and version selector\n * logic. RushCommandSelector looks at argv to determine whether we're doing \"rush\"\n * or \"rushx\" behavior, and then invokes the appropriate entry point in the selected\n * @microsoft/rush-lib.\n */\nexport class RushCommandSelector {\n public static failIfNotInvokedAsRush(version: string): void {\n if (RushCommandSelector._getCommandName() === 'rushx') {\n RushCommandSelector._failWithError(\n `This repository is using Rush version ${version} which does not support the \"rushx\" command`\n );\n }\n }\n\n public static execute(\n launcherVersion: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n selectedRushLib: any,\n options: rushLib.ILaunchOptions\n ): void {\n const Rush: typeof rushLib.Rush = selectedRushLib.Rush;\n\n if (!Rush) {\n // This should be impossible unless we somehow loaded an unexpected version\n RushCommandSelector._failWithError(`Unable to find the \"Rush\" entry point in @microsoft/rush-lib`);\n }\n\n if (RushCommandSelector._getCommandName() === 'rushx') {\n if (!Rush.launchRushX) {\n RushCommandSelector._failWithError(\n `This repository is using Rush version ${Rush.version}` +\n ` which does not support the \"rushx\" command`\n );\n }\n Rush.launchRushX(launcherVersion, options);\n } else {\n Rush.launch(launcherVersion, options);\n }\n }\n\n private static _failWithError(message: string): never {\n console.log(colors.red(message));\n return process.exit(1);\n }\n\n private static _getCommandName(): CommandName {\n if (process.argv.length >= 2) {\n // Example:\n // argv[0]: \"C:\\\\Program Files\\\\nodejs\\\\node.exe\"\n // argv[1]: \"C:\\\\Program Files\\\\nodejs\\\\node_modules\\\\@microsoft\\\\rush\\\\bin\\\\rushx\"\n const basename: string = path.basename(process.argv[1]).toUpperCase();\n if (basename === 'RUSHX') {\n return 'rushx';\n }\n if (basename === 'RUSH') {\n return 'rush';\n }\n }\n return undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"RushCommandSelector.js","sourceRoot":"","sources":["../src/RushCommandSelector.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,uDAAiC;AACjC,2CAA6B;AAK7B;;;;;;GAMG;AACH,MAAa,mBAAmB;IACvB,MAAM,CAAC,sBAAsB,CAAC,OAAe;QAClD,MAAM,WAAW,GAAgB,mBAAmB,CAAC,eAAe,EAAE,CAAC;QACvE,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,SAAS,EAAE;YACvD,mBAAmB,CAAC,cAAc,CAChC,yCAAyC,OAAO,+BAA+B,WAAW,UAAU,CACrG,CAAC;SACH;IACH,CAAC;IAEM,MAAM,CAAC,OAAO,CACnB,eAAuB;IACvB,8DAA8D;IAC9D,eAAoB,EACpB,OAA+B;QAE/B,MAAM,IAAI,GAAwB,eAAe,CAAC,IAAI,CAAC;QAEvD,IAAI,CAAC,IAAI,EAAE;YACT,2EAA2E;YAC3E,mBAAmB,CAAC,cAAc,CAAC,8DAA8D,CAAC,CAAC;SACpG;QAED,MAAM,WAAW,GAAgB,mBAAmB,CAAC,eAAe,EAAE,CAAC;QAEvE,IAAI,WAAW,KAAK,WAAW,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACxB,mBAAmB,CAAC,cAAc,CAChC,yCAAyC,IAAI,CAAC,OAAO,EAAE;oBACrD,iDAAiD,CACpD,CAAC;aACH;YACD,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE;gBACnC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,8BAA8B,EAAE,OAAO,CAAC,8BAA8B;aACvE,CAAC,CAAC;SACJ;aAAM,IAAI,WAAW,KAAK,OAAO,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,mBAAmB,CAAC,cAAc,CAChC,yCAAyC,IAAI,CAAC,OAAO,EAAE;oBACrD,6CAA6C,CAChD,CAAC;aACH;YACD,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;SACvC;IACH,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,OAAe;QAC3C,OAAO,CAAC,GAAG,CAAC,cAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,eAAe;QAC5B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YAC5B,WAAW;YACX,iDAAiD;YACjD,mFAAmF;YACnF,MAAM,QAAQ,GAAW,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACtE,IAAI,QAAQ,KAAK,MAAM,EAAE;gBACvB,OAAO,MAAM,CAAC;aACf;YACD,IAAI,QAAQ,KAAK,WAAW,EAAE;gBAC5B,OAAO,WAAW,CAAC;aACpB;YACD,IAAI,QAAQ,KAAK,OAAO,EAAE;gBACxB,OAAO,OAAO,CAAC;aAChB;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAxED,kDAwEC","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 colors from 'colors/safe';\nimport * as path from 'path';\nimport * as rushLib from '@microsoft/rush-lib';\n\ntype CommandName = 'rush' | 'rush-pnpm' | 'rushx' | undefined;\n\n/**\n * Both \"rush\" and \"rushx\" share the same src/start.ts entry point. This makes it\n * a little easier for them to share all the same startup checks and version selector\n * logic. RushCommandSelector looks at argv to determine whether we're doing \"rush\"\n * or \"rushx\" behavior, and then invokes the appropriate entry point in the selected\n * @microsoft/rush-lib.\n */\nexport class RushCommandSelector {\n public static failIfNotInvokedAsRush(version: string): void {\n const commandName: CommandName = RushCommandSelector._getCommandName();\n if (commandName !== 'rush' && commandName !== undefined) {\n RushCommandSelector._failWithError(\n `This repository is using Rush version ${version} which does not support the ${commandName} command`\n );\n }\n }\n\n public static execute(\n launcherVersion: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n selectedRushLib: any,\n options: rushLib.ILaunchOptions\n ): void {\n const Rush: typeof rushLib.Rush = selectedRushLib.Rush;\n\n if (!Rush) {\n // This should be impossible unless we somehow loaded an unexpected version\n RushCommandSelector._failWithError(`Unable to find the \"Rush\" entry point in @microsoft/rush-lib`);\n }\n\n const commandName: CommandName = RushCommandSelector._getCommandName();\n\n if (commandName === 'rush-pnpm') {\n if (!Rush.launchRushPnpm) {\n RushCommandSelector._failWithError(\n `This repository is using Rush version ${Rush.version}` +\n ` which does not support the \"rush-pnpm\" command`\n );\n }\n Rush.launchRushPnpm(launcherVersion, {\n isManaged: options.isManaged,\n alreadyReportedNodeTooNewError: options.alreadyReportedNodeTooNewError\n });\n } else if (commandName === 'rushx') {\n if (!Rush.launchRushX) {\n RushCommandSelector._failWithError(\n `This repository is using Rush version ${Rush.version}` +\n ` which does not support the \"rushx\" command`\n );\n }\n Rush.launchRushX(launcherVersion, options);\n } else {\n Rush.launch(launcherVersion, options);\n }\n }\n\n private static _failWithError(message: string): never {\n console.log(colors.red(message));\n return process.exit(1);\n }\n\n private static _getCommandName(): CommandName {\n if (process.argv.length >= 2) {\n // Example:\n // argv[0]: \"C:\\\\Program Files\\\\nodejs\\\\node.exe\"\n // argv[1]: \"C:\\\\Program Files\\\\nodejs\\\\node_modules\\\\@microsoft\\\\rush\\\\bin\\\\rushx\"\n const basename: string = path.basename(process.argv[1]).toUpperCase();\n if (basename === 'RUSH') {\n return 'rush';\n }\n if (basename === 'RUSH-PNPM') {\n return 'rush-pnpm';\n }\n if (basename === 'RUSHX') {\n return 'rushx';\n }\n }\n return undefined;\n }\n}\n"]}
@@ -77,13 +77,13 @@ class RushVersionSelector {
77
77
  }
78
78
  if (semver.lt(version, '3.0.20')) {
79
79
  // In old versions, requiring the entry point invoked the command-line parser immediately,
80
- // so fail if "rushx" was used
80
+ // so fail if "rushx" or "rush-pnpm" was used
81
81
  RushCommandSelector_1.RushCommandSelector.failIfNotInvokedAsRush(version);
82
82
  require(path.join(expectedRushPath, 'node_modules', '@microsoft', 'rush', 'lib', 'rush'));
83
83
  }
84
84
  else if (semver.lt(version, '4.0.0')) {
85
85
  // In old versions, requiring the entry point invoked the command-line parser immediately,
86
- // so fail if "rushx" was used
86
+ // so fail if "rushx" or "rush-pnpm" was used
87
87
  RushCommandSelector_1.RushCommandSelector.failIfNotInvokedAsRush(version);
88
88
  require(path.join(expectedRushPath, 'node_modules', '@microsoft', 'rush', 'lib', 'start'));
89
89
  }
@@ -1 +1 @@
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 'path';\nimport * as semver from 'semver';\n\nimport { LockFile } from '@rushstack/node-core-library';\nimport { Utilities } from '@microsoft/rush-lib/lib/utilities/Utilities';\nimport { _LastInstallFlag, _RushGlobalFolder, ILaunchOptions } from '@microsoft/rush-lib';\n\nimport { RushCommandSelector } from './RushCommandSelector';\nimport { 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: _LastInstallFlag = new _LastInstallFlag(expectedRushPath, {\n node: process.versions.node\n });\n\n if (!installMarker.isValid()) {\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.acquire(expectedRushPath, resourceName);\n if (installMarker.isValid()) {\n console.log('Another process performed the installation.');\n } else {\n Utilities.installPackageInDirectory({\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 });\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 installMarker.create();\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\" 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\" was used\n RushCommandSelector.failIfNotInvokedAsRush(version);\n require(path.join(expectedRushPath, 'node_modules', '@microsoft', 'rush', 'lib', 'start'));\n } else {\n // For newer rush-lib, RushCommandSelector can test whether \"rushx\" is supported or not\n const rushCliEntrypoint: {} = require(path.join(\n expectedRushPath,\n 'node_modules',\n '@microsoft',\n 'rush-lib',\n 'lib',\n 'index'\n ));\n RushCommandSelector.execute(this._currentPackageVersion, rushCliEntrypoint, executeOptions);\n }\n }\n}\n"]}
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 'path';\nimport * as semver from 'semver';\n\nimport { LockFile } from '@rushstack/node-core-library';\nimport { Utilities } from '@microsoft/rush-lib/lib/utilities/Utilities';\nimport { _LastInstallFlag, _RushGlobalFolder, ILaunchOptions } from '@microsoft/rush-lib';\n\nimport { RushCommandSelector } from './RushCommandSelector';\nimport { 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: _LastInstallFlag = new _LastInstallFlag(expectedRushPath, {\n node: process.versions.node\n });\n\n if (!installMarker.isValid()) {\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.acquire(expectedRushPath, resourceName);\n if (installMarker.isValid()) {\n console.log('Another process performed the installation.');\n } else {\n Utilities.installPackageInDirectory({\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 });\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 installMarker.create();\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 // For newer rush-lib, RushCommandSelector can test whether \"rushx\" is supported or not\n const rushCliEntrypoint: {} = require(path.join(\n expectedRushPath,\n 'node_modules',\n '@microsoft',\n 'rush-lib',\n 'lib',\n 'index'\n ));\n RushCommandSelector.execute(this._currentPackageVersion, rushCliEntrypoint, executeOptions);\n }\n }\n}\n"]}
package/lib/start.js CHANGED
@@ -80,7 +80,8 @@ if (rushVersionToLoad && semver.lt(rushVersionToLoad, '5.0.0-dev.18')) {
80
80
  }
81
81
  // Rush is "managed" if its version and configuration are dictated by a repo's rush.json
82
82
  const isManaged = !!configuration;
83
- const launchOptions = { isManaged, alreadyReportedNodeTooNewError };
83
+ const terminalProvider = new node_core_library_1.ConsoleTerminalProvider();
84
+ const launchOptions = { isManaged, alreadyReportedNodeTooNewError, terminalProvider };
84
85
  // If we're inside a repo folder, and it's requesting a different version, then use the RushVersionManager to
85
86
  // install it
86
87
  if (rushVersionToLoad && rushVersionToLoad !== currentPackageVersion) {
package/lib/start.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.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\n// We're using a path-based import here to minimize the amount of code that is evaluated before\n// we check to see if the Node.js version is too old. If, for whatever reason, Rush crashes with\n// an old Node.js version when evaluating one of the more complex imports, we'll at least\n// shown a meaningful error message.\nimport { NodeJsCompatibility } from '@microsoft/rush-lib/lib/logic/NodeJsCompatibility';\n\nif (NodeJsCompatibility.reportAncientIncompatibleVersion()) {\n // The Node.js version is known to have serious incompatibilities. In that situation, the user\n // should downgrade Rush to an older release that supported their Node.js version.\n process.exit(1);\n}\n\nconst alreadyReportedNodeTooNewError: boolean = NodeJsCompatibility.warnAboutVersionTooNew({\n isRushLib: false,\n alreadyReportedNodeTooNewError: false\n});\n\nimport colors from 'colors/safe';\nimport * as os from 'os';\nimport * as semver from 'semver';\n\nimport { Text, PackageJsonLookup } from '@rushstack/node-core-library';\nimport { EnvironmentVariableNames } from '@microsoft/rush-lib';\nimport * as rushLib from '@microsoft/rush-lib';\n\nimport { RushCommandSelector } from './RushCommandSelector';\nimport { RushVersionSelector } from './RushVersionSelector';\nimport { MinimalRushConfiguration } from './MinimalRushConfiguration';\n\n// Load the configuration\nconst configuration: MinimalRushConfiguration | undefined =\n MinimalRushConfiguration.loadFromDefaultLocation();\n\nconst currentPackageVersion: string = PackageJsonLookup.loadOwnPackageJson(__dirname).version;\n\nlet rushVersionToLoad: string | undefined = undefined;\n\nconst previewVersion: string | undefined = process.env[EnvironmentVariableNames.RUSH_PREVIEW_VERSION];\n\nif (previewVersion) {\n if (!semver.valid(previewVersion, false)) {\n console.error(\n colors.red(`Invalid value for RUSH_PREVIEW_VERSION environment variable: \"${previewVersion}\"`)\n );\n process.exit(1);\n }\n\n rushVersionToLoad = previewVersion;\n\n const lines: string[] = [];\n lines.push(\n `*********************************************************************`,\n `* WARNING! THE \"RUSH_PREVIEW_VERSION\" ENVIRONMENT VARIABLE IS SET. *`,\n `* *`,\n `* You are previewing Rush version: ${Text.padEnd(previewVersion, 25)} *`\n );\n\n if (configuration) {\n lines.push(`* The rush.json configuration asks for: ${Text.padEnd(configuration.rushVersion, 25)} *`);\n }\n\n lines.push(\n `* *`,\n `* To restore the normal behavior, unset the RUSH_PREVIEW_VERSION *`,\n `* environment variable. *`,\n `*********************************************************************`\n );\n\n console.error(lines.map((line) => colors.black(colors.bgYellow(line))).join(os.EOL));\n} else if (configuration) {\n rushVersionToLoad = configuration.rushVersion;\n}\n\n// If we are previewing an older Rush that doesn't understand the RUSH_PREVIEW_VERSION variable,\n// then unset it.\nif (rushVersionToLoad && semver.lt(rushVersionToLoad, '5.0.0-dev.18')) {\n delete process.env[EnvironmentVariableNames.RUSH_PREVIEW_VERSION];\n}\n\n// Rush is \"managed\" if its version and configuration are dictated by a repo's rush.json\nconst isManaged: boolean = !!configuration;\nconst launchOptions: rushLib.ILaunchOptions = { isManaged, alreadyReportedNodeTooNewError };\n\n// If we're inside a repo folder, and it's requesting a different version, then use the RushVersionManager to\n// install it\nif (rushVersionToLoad && rushVersionToLoad !== currentPackageVersion) {\n const versionSelector: RushVersionSelector = new RushVersionSelector(currentPackageVersion);\n versionSelector\n .ensureRushVersionInstalledAsync(rushVersionToLoad, configuration, launchOptions)\n .catch((error: Error) => {\n console.log(colors.red('Error: ' + error.message));\n });\n} else {\n // Otherwise invoke the rush-lib that came with this rush package\n RushCommandSelector.execute(currentPackageVersion, rushLib, launchOptions);\n}\n"]}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.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\n// We're using a path-based import here to minimize the amount of code that is evaluated before\n// we check to see if the Node.js version is too old. If, for whatever reason, Rush crashes with\n// an old Node.js version when evaluating one of the more complex imports, we'll at least\n// shown a meaningful error message.\nimport { NodeJsCompatibility } from '@microsoft/rush-lib/lib/logic/NodeJsCompatibility';\n\nif (NodeJsCompatibility.reportAncientIncompatibleVersion()) {\n // The Node.js version is known to have serious incompatibilities. In that situation, the user\n // should downgrade Rush to an older release that supported their Node.js version.\n process.exit(1);\n}\n\nconst alreadyReportedNodeTooNewError: boolean = NodeJsCompatibility.warnAboutVersionTooNew({\n isRushLib: false,\n alreadyReportedNodeTooNewError: false\n});\n\nimport colors from 'colors/safe';\nimport * as os from 'os';\nimport * as semver from 'semver';\n\nimport {\n ConsoleTerminalProvider,\n Text,\n PackageJsonLookup,\n ITerminalProvider\n} from '@rushstack/node-core-library';\nimport { EnvironmentVariableNames } from '@microsoft/rush-lib';\nimport * as rushLib from '@microsoft/rush-lib';\n\nimport { RushCommandSelector } from './RushCommandSelector';\nimport { RushVersionSelector } from './RushVersionSelector';\nimport { MinimalRushConfiguration } from './MinimalRushConfiguration';\n\n// Load the configuration\nconst configuration: MinimalRushConfiguration | undefined =\n MinimalRushConfiguration.loadFromDefaultLocation();\n\nconst currentPackageVersion: string = PackageJsonLookup.loadOwnPackageJson(__dirname).version;\n\nlet rushVersionToLoad: string | undefined = undefined;\n\nconst previewVersion: string | undefined = process.env[EnvironmentVariableNames.RUSH_PREVIEW_VERSION];\n\nif (previewVersion) {\n if (!semver.valid(previewVersion, false)) {\n console.error(\n colors.red(`Invalid value for RUSH_PREVIEW_VERSION environment variable: \"${previewVersion}\"`)\n );\n process.exit(1);\n }\n\n rushVersionToLoad = previewVersion;\n\n const lines: string[] = [];\n lines.push(\n `*********************************************************************`,\n `* WARNING! THE \"RUSH_PREVIEW_VERSION\" ENVIRONMENT VARIABLE IS SET. *`,\n `* *`,\n `* You are previewing Rush version: ${Text.padEnd(previewVersion, 25)} *`\n );\n\n if (configuration) {\n lines.push(`* The rush.json configuration asks for: ${Text.padEnd(configuration.rushVersion, 25)} *`);\n }\n\n lines.push(\n `* *`,\n `* To restore the normal behavior, unset the RUSH_PREVIEW_VERSION *`,\n `* environment variable. *`,\n `*********************************************************************`\n );\n\n console.error(lines.map((line) => colors.black(colors.bgYellow(line))).join(os.EOL));\n} else if (configuration) {\n rushVersionToLoad = configuration.rushVersion;\n}\n\n// If we are previewing an older Rush that doesn't understand the RUSH_PREVIEW_VERSION variable,\n// then unset it.\nif (rushVersionToLoad && semver.lt(rushVersionToLoad, '5.0.0-dev.18')) {\n delete process.env[EnvironmentVariableNames.RUSH_PREVIEW_VERSION];\n}\n\n// Rush is \"managed\" if its version and configuration are dictated by a repo's rush.json\nconst isManaged: boolean = !!configuration;\n\nconst terminalProvider: ITerminalProvider = new ConsoleTerminalProvider();\n\nconst launchOptions: rushLib.ILaunchOptions = { isManaged, alreadyReportedNodeTooNewError, terminalProvider };\n\n// If we're inside a repo folder, and it's requesting a different version, then use the RushVersionManager to\n// install it\nif (rushVersionToLoad && rushVersionToLoad !== currentPackageVersion) {\n const versionSelector: RushVersionSelector = new RushVersionSelector(currentPackageVersion);\n versionSelector\n .ensureRushVersionInstalledAsync(rushVersionToLoad, configuration, launchOptions)\n .catch((error: Error) => {\n console.log(colors.red('Error: ' + error.message));\n });\n} else {\n // Otherwise invoke the rush-lib that came with this rush package\n RushCommandSelector.execute(currentPackageVersion, rushLib, launchOptions);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/rush",
3
- "version": "5.70.0",
3
+ "version": "5.75.0-pr3481.0",
4
4
  "description": "A professional solution for consolidating all your JavaScript projects in one Git repo",
5
5
  "keywords": [
6
6
  "install",
@@ -25,21 +25,22 @@
25
25
  "homepage": "https://rushjs.io",
26
26
  "bin": {
27
27
  "rush": "./bin/rush",
28
+ "rush-pnpm": "./bin/rush-pnpm",
28
29
  "rushx": "./bin/rushx"
29
30
  },
30
31
  "license": "MIT",
31
32
  "dependencies": {
32
- "@microsoft/rush-lib": "5.70.0",
33
- "@rushstack/node-core-library": "3.45.5",
33
+ "@microsoft/rush-lib": "5.75.0-pr3481.0",
34
+ "@rushstack/node-core-library": "3.49.0",
34
35
  "colors": "~1.2.1",
35
36
  "semver": "~7.3.0"
36
37
  },
37
38
  "devDependencies": {
38
- "@rushstack/eslint-config": "2.6.0",
39
- "@rushstack/heft": "0.45.2",
40
- "@rushstack/heft-node-rig": "1.9.3",
41
- "@rushstack/rush-amazon-s3-build-cache-plugin": "5.70.0",
42
- "@rushstack/rush-azure-storage-build-cache-plugin": "5.70.0",
39
+ "@rushstack/eslint-config": "2.6.2",
40
+ "@rushstack/heft": "0.46.4",
41
+ "@rushstack/heft-node-rig": "1.9.20",
42
+ "@rushstack/rush-amazon-s3-build-cache-plugin": "5.75.0",
43
+ "@rushstack/rush-azure-storage-build-cache-plugin": "5.75.0",
43
44
  "@types/heft-jest": "1.0.1",
44
45
  "@types/node": "12.20.24",
45
46
  "@types/semver": "7.3.5"