@rushstack/rush-sdk 5.107.4 → 5.109.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.
@@ -771,11 +771,16 @@ export declare const EnvironmentVariableNames: {
771
771
  * Explicitly specifies the path for the `tar` binary that is invoked by certain Rush operations.
772
772
  */
773
773
  readonly RUSH_TAR_BINARY_PATH: "RUSH_TAR_BINARY_PATH";
774
+ /**
775
+ * Internal variable used by `rushx` when recursively invoking another `rushx` process, to avoid
776
+ * nesting event hooks.
777
+ */
778
+ readonly _RUSH_RECURSIVE_RUSHX_CALL: "_RUSH_RECURSIVE_RUSHX_CALL";
774
779
  /**
775
780
  * Internal variable that explicitly specifies the path for the version of `@microsoft/rush-lib` being executed.
776
781
  * Will be set upon loading Rush.
777
782
  */
778
- readonly RUSH_LIB_PATH: "_RUSH_LIB_PATH";
783
+ readonly _RUSH_LIB_PATH: "_RUSH_LIB_PATH";
779
784
  /**
780
785
  * When Rush executes shell scripts, it sometimes changes the working directory to be a project folder or
781
786
  * the repository root folder. The original working directory (where the Rush command was invoked) is assigned
@@ -786,6 +791,16 @@ export declare const EnvironmentVariableNames: {
786
791
  * assign when they execute lifecycle scripts.
787
792
  */
788
793
  readonly RUSH_INVOKED_FOLDER: "RUSH_INVOKED_FOLDER";
794
+ /**
795
+ * When running a hook script, this environment variable communicates the original arguments
796
+ * passed to the `rush` or `rushx` command.
797
+ *
798
+ * @remarks
799
+ * Unlike `RUSH_INVOKED_FOLDER`, the `RUSH_INVOKED_ARGS` variable is only available for hook scripts.
800
+ * Other lifecycle scripts should not make assumptions about Rush's command line syntax
801
+ * if Rush did not explicitly pass along command-line parameters to their process.
802
+ */
803
+ readonly RUSH_INVOKED_ARGS: "RUSH_INVOKED_ARGS";
789
804
  };
790
805
 
791
806
  /**
@@ -808,7 +823,15 @@ declare enum Event_2 {
808
823
  /**
809
824
  * Post Rush build event
810
825
  */
811
- postRushBuild = 4
826
+ postRushBuild = 4,
827
+ /**
828
+ * Start of rushx execution event
829
+ */
830
+ preRushx = 5,
831
+ /**
832
+ * End of rushx execution event
833
+ */
834
+ postRushx = 6
812
835
  }
813
836
  export { Event_2 as Event }
814
837
 
@@ -1381,15 +1404,22 @@ export declare interface ILaunchOptions {
1381
1404
  */
1382
1405
  alreadyReportedNodeTooNewError?: boolean;
1383
1406
  /**
1384
- * Used to specify Rush plugins that are dependencies of the "\@microsoft/rush" package.
1407
+ * Pass along the terminal provider from the CLI version selector.
1385
1408
  *
1386
- * @internal
1409
+ * @privateRemarks
1410
+ * We should remove this. The version selector package can be very old. It's unwise for
1411
+ * `rush-lib` to rely on a potentially ancient `ITerminalProvider` implementation.
1387
1412
  */
1388
- builtInPluginConfigurations?: _IBuiltInPluginConfiguration[];
1413
+ terminalProvider?: ITerminalProvider;
1389
1414
  /**
1390
- * Used to specify terminal how to write a message
1415
+ * Used only by `@microsoft/rush/lib/start-dev.js` during development.
1416
+ * Specifies Rush devDependencies of the `@microsoft/rush` to be manually loaded.
1417
+ *
1418
+ * @remarks
1419
+ * Marked as `@internal` because `IBuiltInPluginConfiguration` is internal.
1420
+ * @internal
1391
1421
  */
1392
- terminalProvider?: ITerminalProvider;
1422
+ builtInPluginConfigurations?: _IBuiltInPluginConfiguration[];
1393
1423
  }
1394
1424
 
1395
1425
  /**
@@ -1851,6 +1881,10 @@ export declare interface _IPnpmOptionsJson extends IPackageManagerOptionsJsonBas
1851
1881
  * {@inheritDoc PnpmOptionsConfiguration.resolutionMode}
1852
1882
  */
1853
1883
  resolutionMode?: PnpmResolutionMode;
1884
+ /**
1885
+ * {@inheritDoc PnpmOptionsConfiguration.autoInstallPeers}
1886
+ */
1887
+ autoInstallPeers?: boolean;
1854
1888
  }
1855
1889
 
1856
1890
  declare interface IPnpmPackageExtension {
@@ -2917,6 +2951,13 @@ export declare class PnpmOptionsConfiguration extends PackageManagerOptionsConfi
2917
2951
  * The default value is true. (For now.)
2918
2952
  */
2919
2953
  readonly useWorkspaces: boolean;
2954
+ /**
2955
+ * When true, any missing non-optional peer dependencies are automatically installed.
2956
+ *
2957
+ * @remarks
2958
+ * The default value is same as PNPM default value. (In PNPM 8.x, this value is true)
2959
+ */
2960
+ readonly autoInstallPeers: boolean | undefined;
2920
2961
  /**
2921
2962
  * The "globalOverrides" setting provides a simple mechanism for overriding version selections
2922
2963
  * for all dependencies of all projects in the monorepo workspace. The settings are copied
@@ -3164,7 +3205,7 @@ export declare class Rush {
3164
3205
  *
3165
3206
  * Even though this API isn't documented, it is still supported for legacy compatibility.
3166
3207
  */
3167
- static launch(launcherVersion: string, arg: ILaunchOptions): void;
3208
+ static launch(launcherVersion: string, options: ILaunchOptions): void;
3168
3209
  /**
3169
3210
  * This API is used by the `@microsoft/rush` front end to launch the "rushx" command-line.
3170
3211
  * Third-party tools should not use this API. Instead, they should execute the "rushx" binary
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.37.1"
8
+ "packageVersion": "7.38.0"
9
9
  }
10
10
  ]
11
11
  }
@@ -155,11 +155,16 @@ export declare const EnvironmentVariableNames: {
155
155
  * Explicitly specifies the path for the `tar` binary that is invoked by certain Rush operations.
156
156
  */
157
157
  readonly RUSH_TAR_BINARY_PATH: "RUSH_TAR_BINARY_PATH";
158
+ /**
159
+ * Internal variable used by `rushx` when recursively invoking another `rushx` process, to avoid
160
+ * nesting event hooks.
161
+ */
162
+ readonly _RUSH_RECURSIVE_RUSHX_CALL: "_RUSH_RECURSIVE_RUSHX_CALL";
158
163
  /**
159
164
  * Internal variable that explicitly specifies the path for the version of `@microsoft/rush-lib` being executed.
160
165
  * Will be set upon loading Rush.
161
166
  */
162
- readonly RUSH_LIB_PATH: "_RUSH_LIB_PATH";
167
+ readonly _RUSH_LIB_PATH: "_RUSH_LIB_PATH";
163
168
  /**
164
169
  * When Rush executes shell scripts, it sometimes changes the working directory to be a project folder or
165
170
  * the repository root folder. The original working directory (where the Rush command was invoked) is assigned
@@ -170,6 +175,16 @@ export declare const EnvironmentVariableNames: {
170
175
  * assign when they execute lifecycle scripts.
171
176
  */
172
177
  readonly RUSH_INVOKED_FOLDER: "RUSH_INVOKED_FOLDER";
178
+ /**
179
+ * When running a hook script, this environment variable communicates the original arguments
180
+ * passed to the `rush` or `rushx` command.
181
+ *
182
+ * @remarks
183
+ * Unlike `RUSH_INVOKED_FOLDER`, the `RUSH_INVOKED_ARGS` variable is only available for hook scripts.
184
+ * Other lifecycle scripts should not make assumptions about Rush's command line syntax
185
+ * if Rush did not explicitly pass along command-line parameters to their process.
186
+ */
187
+ readonly RUSH_INVOKED_ARGS: "RUSH_INVOKED_ARGS";
173
188
  };
174
189
  /**
175
190
  * Provides Rush-specific environment variable data. All Rush environment variables must start with "RUSH_". This class
@@ -19,7 +19,15 @@ export declare enum Event {
19
19
  /**
20
20
  * Post Rush build event
21
21
  */
22
- postRushBuild = 4
22
+ postRushBuild = 4,
23
+ /**
24
+ * Start of rushx execution event
25
+ */
26
+ preRushx = 5,
27
+ /**
28
+ * End of rushx execution event
29
+ */
30
+ postRushx = 6
23
31
  }
24
32
  /**
25
33
  * This class represents Rush event hooks configured for this repo.
package/lib/api/Rush.d.ts CHANGED
@@ -19,15 +19,22 @@ export interface ILaunchOptions {
19
19
  */
20
20
  alreadyReportedNodeTooNewError?: boolean;
21
21
  /**
22
- * Used to specify Rush plugins that are dependencies of the "\@microsoft/rush" package.
22
+ * Pass along the terminal provider from the CLI version selector.
23
23
  *
24
- * @internal
24
+ * @privateRemarks
25
+ * We should remove this. The version selector package can be very old. It's unwise for
26
+ * `rush-lib` to rely on a potentially ancient `ITerminalProvider` implementation.
25
27
  */
26
- builtInPluginConfigurations?: IBuiltInPluginConfiguration[];
28
+ terminalProvider?: ITerminalProvider;
27
29
  /**
28
- * Used to specify terminal how to write a message
30
+ * Used only by `@microsoft/rush/lib/start-dev.js` during development.
31
+ * Specifies Rush devDependencies of the `@microsoft/rush` to be manually loaded.
32
+ *
33
+ * @remarks
34
+ * Marked as `@internal` because `IBuiltInPluginConfiguration` is internal.
35
+ * @internal
29
36
  */
30
- terminalProvider?: ITerminalProvider;
37
+ builtInPluginConfigurations?: IBuiltInPluginConfiguration[];
31
38
  }
32
39
  /**
33
40
  * General operations for the Rush engine.
@@ -48,7 +55,7 @@ export declare class Rush {
48
55
  *
49
56
  * Even though this API isn't documented, it is still supported for legacy compatibility.
50
57
  */
51
- static launch(launcherVersion: string, arg: ILaunchOptions): void;
58
+ static launch(launcherVersion: string, options: ILaunchOptions): void;
52
59
  /**
53
60
  * This API is used by the `@microsoft/rush` front end to launch the "rushx" command-line.
54
61
  * Third-party tools should not use this API. Instead, they should execute the "rushx" binary
@@ -1,17 +1,8 @@
1
- /**
2
- * @internal
3
- */
4
- export interface ILaunchRushXInternalOptions {
5
- isManaged: boolean;
6
- alreadyReportedNodeTooNewError?: boolean;
7
- }
1
+ import { type ILaunchOptions } from '../api/Rush';
8
2
  export declare class RushXCommandLine {
9
- static launchRushX(launcherVersion: string, isManaged: boolean): void;
10
- /**
11
- * @internal
12
- */
13
- static _launchRushXInternal(launcherVersion: string, options: ILaunchRushXInternalOptions): void;
14
- private static _getCommandLineArguments;
3
+ static launchRushX(launcherVersion: string, options: ILaunchOptions): void;
4
+ private static _launchRushXInternal;
5
+ private static _parseCommandLineArguments;
15
6
  private static _showUsage;
16
7
  }
17
8
  //# sourceMappingURL=RushXCommandLine.d.ts.map
@@ -1,8 +1,8 @@
1
1
  import type { CommandLineFlagParameter, CommandLineIntegerParameter, CommandLineStringParameter } from '@rushstack/ts-command-line';
2
+ import { type ITerminal } from '@rushstack/node-core-library';
2
3
  import { BaseRushAction, type IBaseRushActionOptions } from './BaseRushAction';
3
4
  import type { IInstallManagerOptions } from '../../logic/base/BaseInstallManagerTypes';
4
5
  import type { SelectionParameterSet } from '../parsing/SelectionParameterSet';
5
- import { type ITerminal } from '@rushstack/node-core-library';
6
6
  /**
7
7
  * This is the common base class for InstallAction and UpdateAction.
8
8
  */
@@ -16,6 +16,7 @@ export declare abstract class BaseInstallAction extends BaseRushAction {
16
16
  protected readonly _debugPackageManagerParameter: CommandLineFlagParameter;
17
17
  protected readonly _maxInstallAttempts: CommandLineIntegerParameter;
18
18
  protected readonly _ignoreHooksParameter: CommandLineFlagParameter;
19
+ protected readonly _offlineParameter: CommandLineFlagParameter;
19
20
  protected _selectionParameters?: SelectionParameterSet;
20
21
  constructor(options: IBaseRushActionOptions);
21
22
  protected abstract buildInstallOptionsAsync(): Promise<IInstallManagerOptions>;
@@ -14,7 +14,7 @@ export declare class PurgeManager {
14
14
  * Performs the AsyncRecycler.deleteAll() operation. This should be called before
15
15
  * the PurgeManager instance is disposed.
16
16
  */
17
- deleteAll(): void;
17
+ startDeleteAllAsync(): Promise<void>;
18
18
  /**
19
19
  * Delete everything from the common/temp folder
20
20
  */
@@ -40,6 +40,11 @@ export interface IInstallManagerOptions {
40
40
  * (pnpmfile.js script logic, registry changes, etc).
41
41
  */
42
42
  recheckShrinkwrap: boolean;
43
+ /**
44
+ * Do not attempt to access the network. Report an error if the required dependencies
45
+ * cannot be obtained from the local cache.
46
+ */
47
+ offline: boolean;
43
48
  /**
44
49
  * The value of the "--network-concurrency" command-line parameter, which
45
50
  * is a diagnostic option used to troubleshoot network failures.
@@ -90,6 +90,10 @@ export interface IPnpmOptionsJson extends IPackageManagerOptionsJsonBase {
90
90
  * {@inheritDoc PnpmOptionsConfiguration.resolutionMode}
91
91
  */
92
92
  resolutionMode?: PnpmResolutionMode;
93
+ /**
94
+ * {@inheritDoc PnpmOptionsConfiguration.autoInstallPeers}
95
+ */
96
+ autoInstallPeers?: boolean;
93
97
  }
94
98
  /**
95
99
  * Options that are only used when the PNPM package manager is selected.
@@ -183,6 +187,13 @@ export declare class PnpmOptionsConfiguration extends PackageManagerOptionsConfi
183
187
  * The default value is true. (For now.)
184
188
  */
185
189
  readonly useWorkspaces: boolean;
190
+ /**
191
+ * When true, any missing non-optional peer dependencies are automatically installed.
192
+ *
193
+ * @remarks
194
+ * The default value is same as PNPM default value. (In PNPM 8.x, this value is true)
195
+ */
196
+ readonly autoInstallPeers: boolean | undefined;
186
197
  /**
187
198
  * The "globalOverrides" setting provides a simple mechanism for overriding version selections
188
199
  * for all dependencies of all projects in the monorepo workspace. The settings are copied
@@ -32,7 +32,7 @@ export declare class AsyncRecycler {
32
32
  * NOTE: To avoid spawning multiple instances of the same command, moveFolder()
33
33
  * MUST NOT be called again after deleteAll() has started.
34
34
  */
35
- deleteAll(): void;
35
+ startDeleteAllAsync(): Promise<void>;
36
36
  private _renameOrRecurseInFolder;
37
37
  }
38
38
  //# sourceMappingURL=AsyncRecycler.d.ts.map
@@ -47,6 +47,10 @@ export interface ILifecycleCommandOptions {
47
47
  * If true, suppress the process's output, but if there is a nonzero exit code then print stderr
48
48
  */
49
49
  handleOutput: boolean;
50
+ /**
51
+ * an existing environment to copy instead of process.env
52
+ */
53
+ initialEnvironment?: IEnvironment;
50
54
  /**
51
55
  * Options for what should be added to the PATH variable
52
56
  */
@@ -1,6 +1,6 @@
1
1
  import type { EnvironmentVariableNames } from '@microsoft/rush-lib';
2
2
  export declare const RUSH_LIB_NAME: '@microsoft/rush-lib';
3
- export declare const RUSH_LIB_PATH_ENV_VAR_NAME: typeof EnvironmentVariableNames.RUSH_LIB_PATH;
3
+ export declare const RUSH_LIB_PATH_ENV_VAR_NAME: typeof EnvironmentVariableNames._RUSH_LIB_PATH;
4
4
  export type RushLibModuleType = Record<string, unknown>;
5
5
  export interface ISdkContext {
6
6
  rushLibModule: RushLibModuleType | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,eAAO,MAAM,aAAa,EAAE,qBAA6C,CAAC;AAC1E,eAAO,MAAM,0BAA0B,EAAE,OAAO,wBAAwB,CAAC,aAAgC,CAAC;AAE1G,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC9C;AAED,eAAO,MAAM,UAAU,EAAE,WAExB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBlF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAU7D;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAOnF"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,eAAO,MAAM,aAAa,EAAE,qBAA6C,CAAC;AAC1E,eAAO,MAAM,0BAA0B,EAAE,OAAO,wBAAwB,CAAC,cAAiC,CAAC;AAE3G,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC9C;AAED,eAAO,MAAM,UAAU,EAAE,WAExB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBlF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAU7D;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAOnF"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,2CAA6B;AAC7B,oEAAkE;AAGrD,QAAA,aAAa,GAA0B,qBAAqB,CAAC;AAC7D,QAAA,0BAA0B,GAAkD,gBAAgB,CAAC;AAQ7F,QAAA,UAAU,GAAgB;IACrC,aAAa,EAAE,SAAS;CACzB,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,cAAsB;IAC5D,IAAI,aAAa,GAAW,cAAc,CAAC;IAE3C,6EAA6E;IAC7E,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACnC,MAAM,gBAAgB,GAAW,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAEvE,IAAI,8BAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;YACvC,OAAO,gBAAgB,CAAC;SACzB;QAED,MAAM,YAAY,GAAW,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,YAAY,KAAK,aAAa,EAAE;YAClC,MAAM;SACP;QAED,aAAa,GAAG,YAAY,CAAC;KAC9B;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AApBD,0DAoBC;AAED,SAAgB,QAAQ,CAAU,UAAkB;IAClD,IAAI,OAAO,uBAAuB,KAAK,UAAU,EAAE;QACjD,6FAA6F;QAC7F,kEAAkE;QAClE,2FAA2F;QAC3F,mBAAmB;QACnB,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC;KAC5C;SAAM;QACL,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;KAC5B;AACH,CAAC;AAVD,4BAUC;AAED;;GAEG;AACH,SAAgB,6BAA6B,CAAC,UAAkB;IAC9D,MAAM,iBAAiB,GAAW,0BAAM,CAAC,aAAa,CAAC;QACrD,UAAU,EAAE,qBAAa;QACzB,cAAc,EAAE,UAAU;KAC3B,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC;AAPD,sEAOC","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 { Import, FileSystem } from '@rushstack/node-core-library';\nimport type { EnvironmentVariableNames } from '@microsoft/rush-lib';\n\nexport const RUSH_LIB_NAME: '@microsoft/rush-lib' = '@microsoft/rush-lib';\nexport const RUSH_LIB_PATH_ENV_VAR_NAME: typeof EnvironmentVariableNames.RUSH_LIB_PATH = '_RUSH_LIB_PATH';\n\nexport type RushLibModuleType = Record<string, unknown>;\n\nexport interface ISdkContext {\n rushLibModule: RushLibModuleType | undefined;\n}\n\nexport const sdkContext: ISdkContext = {\n rushLibModule: undefined\n};\n\n/**\n * Find the rush.json location and return the path, or undefined if a rush.json can't be found.\n *\n * @privateRemarks\n * Keep this in sync with `RushConfiguration.tryFindRushJsonLocation`.\n */\nexport function tryFindRushJsonLocation(startingFolder: string): string | undefined {\n let currentFolder: string = startingFolder;\n\n // Look upwards at parent folders until we find a folder containing rush.json\n for (let i: number = 0; i < 10; ++i) {\n const rushJsonFilename: string = path.join(currentFolder, 'rush.json');\n\n if (FileSystem.exists(rushJsonFilename)) {\n return rushJsonFilename;\n }\n\n const parentFolder: string = path.dirname(currentFolder);\n if (parentFolder === currentFolder) {\n break;\n }\n\n currentFolder = parentFolder;\n }\n\n return undefined;\n}\n\nexport function _require<TResult>(moduleName: string): TResult {\n if (typeof __non_webpack_require__ === 'function') {\n // If this library has been bundled with Webpack, we need to call the real `require` function\n // that doesn't get turned into a `__webpack_require__` statement.\n // `__non_webpack_require__` is a Webpack macro that gets turned into a `require` statement\n // during bundling.\n return __non_webpack_require__(moduleName);\n } else {\n return require(moduleName);\n }\n}\n\n/**\n * Require `@microsoft/rush-lib` under the specified folder path.\n */\nexport function requireRushLibUnderFolderPath(folderPath: string): RushLibModuleType {\n const rushLibModulePath: string = Import.resolveModule({\n modulePath: RUSH_LIB_NAME,\n baseFolderPath: folderPath\n });\n\n return _require(rushLibModulePath);\n}\n"]}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,2CAA6B;AAC7B,oEAAkE;AAGrD,QAAA,aAAa,GAA0B,qBAAqB,CAAC;AAC7D,QAAA,0BAA0B,GAAmD,gBAAgB,CAAC;AAQ9F,QAAA,UAAU,GAAgB;IACrC,aAAa,EAAE,SAAS;CACzB,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,cAAsB;IAC5D,IAAI,aAAa,GAAW,cAAc,CAAC;IAE3C,6EAA6E;IAC7E,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACnC,MAAM,gBAAgB,GAAW,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAEvE,IAAI,8BAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;YACvC,OAAO,gBAAgB,CAAC;SACzB;QAED,MAAM,YAAY,GAAW,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,YAAY,KAAK,aAAa,EAAE;YAClC,MAAM;SACP;QAED,aAAa,GAAG,YAAY,CAAC;KAC9B;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AApBD,0DAoBC;AAED,SAAgB,QAAQ,CAAU,UAAkB;IAClD,IAAI,OAAO,uBAAuB,KAAK,UAAU,EAAE;QACjD,6FAA6F;QAC7F,kEAAkE;QAClE,2FAA2F;QAC3F,mBAAmB;QACnB,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC;KAC5C;SAAM;QACL,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;KAC5B;AACH,CAAC;AAVD,4BAUC;AAED;;GAEG;AACH,SAAgB,6BAA6B,CAAC,UAAkB;IAC9D,MAAM,iBAAiB,GAAW,0BAAM,CAAC,aAAa,CAAC;QACrD,UAAU,EAAE,qBAAa;QACzB,cAAc,EAAE,UAAU;KAC3B,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC;AAPD,sEAOC","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 { Import, FileSystem } from '@rushstack/node-core-library';\nimport type { EnvironmentVariableNames } from '@microsoft/rush-lib';\n\nexport const RUSH_LIB_NAME: '@microsoft/rush-lib' = '@microsoft/rush-lib';\nexport const RUSH_LIB_PATH_ENV_VAR_NAME: typeof EnvironmentVariableNames._RUSH_LIB_PATH = '_RUSH_LIB_PATH';\n\nexport type RushLibModuleType = Record<string, unknown>;\n\nexport interface ISdkContext {\n rushLibModule: RushLibModuleType | undefined;\n}\n\nexport const sdkContext: ISdkContext = {\n rushLibModule: undefined\n};\n\n/**\n * Find the rush.json location and return the path, or undefined if a rush.json can't be found.\n *\n * @privateRemarks\n * Keep this in sync with `RushConfiguration.tryFindRushJsonLocation`.\n */\nexport function tryFindRushJsonLocation(startingFolder: string): string | undefined {\n let currentFolder: string = startingFolder;\n\n // Look upwards at parent folders until we find a folder containing rush.json\n for (let i: number = 0; i < 10; ++i) {\n const rushJsonFilename: string = path.join(currentFolder, 'rush.json');\n\n if (FileSystem.exists(rushJsonFilename)) {\n return rushJsonFilename;\n }\n\n const parentFolder: string = path.dirname(currentFolder);\n if (parentFolder === currentFolder) {\n break;\n }\n\n currentFolder = parentFolder;\n }\n\n return undefined;\n}\n\nexport function _require<TResult>(moduleName: string): TResult {\n if (typeof __non_webpack_require__ === 'function') {\n // If this library has been bundled with Webpack, we need to call the real `require` function\n // that doesn't get turned into a `__webpack_require__` statement.\n // `__non_webpack_require__` is a Webpack macro that gets turned into a `require` statement\n // during bundling.\n return __non_webpack_require__(moduleName);\n } else {\n return require(moduleName);\n }\n}\n\n/**\n * Require `@microsoft/rush-lib` under the specified folder path.\n */\nexport function requireRushLibUnderFolderPath(folderPath: string): RushLibModuleType {\n const rushLibModulePath: string = Import.resolveModule({\n modulePath: RUSH_LIB_NAME,\n baseFolderPath: folderPath\n });\n\n return _require(rushLibModulePath);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/rush-sdk",
3
- "version": "5.107.4",
3
+ "version": "5.109.0",
4
4
  "description": "An API for interacting with the Rush engine",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,17 +25,17 @@
25
25
  "dependencies": {
26
26
  "@types/node-fetch": "2.6.2",
27
27
  "tapable": "2.2.1",
28
- "@rushstack/node-core-library": "3.60.1"
28
+ "@rushstack/node-core-library": "3.61.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/semver": "7.5.0",
32
32
  "@types/webpack-env": "1.18.0",
33
- "@microsoft/rush-lib": "5.107.4",
34
- "@rushstack/heft": "0.61.3",
33
+ "@microsoft/rush-lib": "5.109.0",
34
+ "@rushstack/heft": "0.62.3",
35
35
  "local-node-rig": "1.0.0",
36
- "@rushstack/stream-collator": "4.1.6",
36
+ "@rushstack/stream-collator": "4.1.10",
37
37
  "@rushstack/ts-command-line": "4.16.1",
38
- "@rushstack/terminal": "0.7.5"
38
+ "@rushstack/terminal": "0.7.9"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "heft build --clean",