@rushstack/rush-sdk 5.69.0 → 5.74.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.
Files changed (2) hide show
  1. package/dist/rush-lib.d.ts +82 -5
  2. package/package.json +6 -6
@@ -817,6 +817,21 @@ declare interface IEventHooksJson {
817
817
  postRushBuild?: string[];
818
818
  }
819
819
 
820
+ /**
821
+ * The `IExecutionResult` interface represents the results of executing a set of {@link Operation}s.
822
+ * @alpha
823
+ */
824
+ export declare interface IExecutionResult {
825
+ /**
826
+ * The results for each scheduled operation.
827
+ */
828
+ readonly operationResults: ReadonlyMap<Operation, IOperationExecutionResult>;
829
+ /**
830
+ * The overall result.
831
+ */
832
+ readonly status: OperationStatus;
833
+ }
834
+
820
835
  /**
821
836
  * This interface represents the raw experiments.json file which allows repo
822
837
  * maintainers to enable and disable experimental Rush features.
@@ -943,6 +958,10 @@ export declare interface ILaunchOptions {
943
958
  * @internal
944
959
  */
945
960
  builtInPluginConfigurations?: _IBuiltInPluginConfiguration[];
961
+ /**
962
+ * Used to specify terminal how to write a message
963
+ */
964
+ terminalProvider?: ITerminalProvider;
946
965
  }
947
966
 
948
967
  /**
@@ -1024,6 +1043,33 @@ export declare class IndividualVersionPolicy extends VersionPolicy {
1024
1043
  export declare interface _INpmOptionsJson extends IPackageManagerOptionsJsonBase {
1025
1044
  }
1026
1045
 
1046
+ /**
1047
+ * The `IOperationExecutionResult` interface represents the results of executing an {@link Operation}.
1048
+ * @alpha
1049
+ */
1050
+ export declare interface IOperationExecutionResult {
1051
+ /**
1052
+ * The current execution status of an operation. Operations start in the 'ready' state,
1053
+ * but can be 'blocked' if an upstream operation failed. It is 'executing' when
1054
+ * the operation is executing. Once execution is complete, it is either 'success' or
1055
+ * 'failure'.
1056
+ */
1057
+ readonly status: OperationStatus;
1058
+ /**
1059
+ * The error which occurred while executing this operation, this is stored in case we need
1060
+ * it later (for example to re-print errors at end of execution).
1061
+ */
1062
+ readonly error: Error | undefined;
1063
+ /**
1064
+ * Object tracking execution timing.
1065
+ */
1066
+ readonly stopwatch: IStopwatchResult;
1067
+ /**
1068
+ * Object used to report a summary at the end of the Rush invocation.
1069
+ */
1070
+ readonly stdioSummarizer: StdioSummarizer;
1071
+ }
1072
+
1027
1073
  /**
1028
1074
  * Options for constructing a new Operation.
1029
1075
  * @alpha
@@ -1359,6 +1405,29 @@ declare interface IRushVariantOptionsJson {
1359
1405
  description: string;
1360
1406
  }
1361
1407
 
1408
+ /**
1409
+ * Represents a readonly view of a `Stopwatch`.
1410
+ * @alpha
1411
+ */
1412
+ export declare interface IStopwatchResult {
1413
+ /**
1414
+ * Displays how long the stopwatch has been executing in a human readable format.
1415
+ */
1416
+ toString(): string;
1417
+ /**
1418
+ * Get the duration in seconds.
1419
+ */
1420
+ get duration(): number;
1421
+ /**
1422
+ * Return the start time of the most recent stopwatch run.
1423
+ */
1424
+ get startTime(): number | undefined;
1425
+ /**
1426
+ * Return the end time of the most recent stopwatch run.
1427
+ */
1428
+ get endTime(): number | undefined;
1429
+ }
1430
+
1362
1431
  /**
1363
1432
  * @beta
1364
1433
  */
@@ -1392,7 +1461,7 @@ export declare interface ITelemetryData {
1392
1461
  */
1393
1462
  readonly rushVersion?: string;
1394
1463
  readonly extraData?: {
1395
- [key: string]: string;
1464
+ [key: string]: string | number | boolean;
1396
1465
  };
1397
1466
  }
1398
1467
 
@@ -1872,6 +1941,12 @@ export declare class PhasedCommandHooks {
1872
1941
  * Use the context to distinguish between the initial run and phased runs.
1873
1942
  */
1874
1943
  readonly createOperations: AsyncSeriesWaterfallHook<[Set<Operation>, ICreateOperationsContext]>;
1944
+ /**
1945
+ * Hook invoked after executing a set of operations.
1946
+ * Use the context to distinguish between the initial run and phased runs.
1947
+ * Hook is series for stable output.
1948
+ */
1949
+ readonly afterExecuteOperations: AsyncSeriesHook<[IExecutionResult, ICreateOperationsContext]>;
1875
1950
  /**
1876
1951
  * Hook invoked after a run has finished and the command is watching for changes.
1877
1952
  * May be used to display additional relevant data to the user.
@@ -2067,8 +2142,6 @@ export declare class Rush {
2067
2142
  * Third-party tools should not use this API. Instead, they should execute the "rush" binary
2068
2143
  * and start a new Node.js process.
2069
2144
  *
2070
- * @param launcherVersion - The version of the `@microsoft/rush` wrapper used to call invoke the CLI.
2071
- *
2072
2145
  * @remarks
2073
2146
  * Earlier versions of the rush frontend used a different API contract. In the old contract,
2074
2147
  * the second argument was the `isManaged` value of the {@link ILaunchOptions} object.
@@ -2080,10 +2153,14 @@ export declare class Rush {
2080
2153
  * This API is used by the `@microsoft/rush` front end to launch the "rushx" command-line.
2081
2154
  * Third-party tools should not use this API. Instead, they should execute the "rushx" binary
2082
2155
  * and start a new Node.js process.
2083
- *
2084
- * @param launcherVersion - The version of the `@microsoft/rush` wrapper used to call invoke the CLI.
2085
2156
  */
2086
2157
  static launchRushX(launcherVersion: string, options: ILaunchOptions): void;
2158
+ /**
2159
+ * This API is used by the `@microsoft/rush` front end to launch the "rush-pnpm" command-line.
2160
+ * Third-party tools should not use this API. Instead, they should execute the "rush-pnpm" binary
2161
+ * and start a new Node.js process.
2162
+ */
2163
+ static launchRushPnpm(launcherVersion: string, options: ILaunchOptions): void;
2087
2164
  /**
2088
2165
  * The currently executing version of the "rush-lib" library.
2089
2166
  * This is the same as the Rush tool version for that release.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/rush-sdk",
3
- "version": "5.69.0",
3
+ "version": "5.74.0",
4
4
  "description": "An API for interacting with the Rush engine",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,13 +17,13 @@
17
17
  "tapable": "2.2.1"
18
18
  },
19
19
  "devDependencies": {
20
- "@microsoft/rush-lib": "5.69.0",
20
+ "@microsoft/rush-lib": "5.74.0",
21
21
  "@rushstack/eslint-config": "2.6.0",
22
- "@rushstack/heft": "0.45.2",
23
- "@rushstack/heft-node-rig": "1.9.3",
24
- "@rushstack/stream-collator": "4.0.172",
22
+ "@rushstack/heft": "0.45.6",
23
+ "@rushstack/heft-node-rig": "1.9.7",
24
+ "@rushstack/stream-collator": "4.0.176",
25
25
  "@rushstack/ts-command-line": "4.11.0",
26
- "@rushstack/terminal": "0.3.41",
26
+ "@rushstack/terminal": "0.3.45",
27
27
  "@types/heft-jest": "1.0.1",
28
28
  "@types/semver": "7.3.5",
29
29
  "@types/webpack-env": "1.13.0"