@rushstack/rush-sdk 5.69.0 → 5.70.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 +71 -0
  2. package/package.json +2 -2
@@ -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.
@@ -1024,6 +1039,33 @@ export declare class IndividualVersionPolicy extends VersionPolicy {
1024
1039
  export declare interface _INpmOptionsJson extends IPackageManagerOptionsJsonBase {
1025
1040
  }
1026
1041
 
1042
+ /**
1043
+ * The `IOperationExecutionResult` interface represents the results of executing an {@link Operation}.
1044
+ * @alpha
1045
+ */
1046
+ export declare interface IOperationExecutionResult {
1047
+ /**
1048
+ * The current execution status of an operation. Operations start in the 'ready' state,
1049
+ * but can be 'blocked' if an upstream operation failed. It is 'executing' when
1050
+ * the operation is executing. Once execution is complete, it is either 'success' or
1051
+ * 'failure'.
1052
+ */
1053
+ readonly status: OperationStatus;
1054
+ /**
1055
+ * The error which occurred while executing this operation, this is stored in case we need
1056
+ * it later (for example to re-print errors at end of execution).
1057
+ */
1058
+ readonly error: Error | undefined;
1059
+ /**
1060
+ * Object tracking execution timing.
1061
+ */
1062
+ readonly stopwatch: IStopwatchResult;
1063
+ /**
1064
+ * Object used to report a summary at the end of the Rush invocation.
1065
+ */
1066
+ readonly stdioSummarizer: StdioSummarizer;
1067
+ }
1068
+
1027
1069
  /**
1028
1070
  * Options for constructing a new Operation.
1029
1071
  * @alpha
@@ -1359,6 +1401,29 @@ declare interface IRushVariantOptionsJson {
1359
1401
  description: string;
1360
1402
  }
1361
1403
 
1404
+ /**
1405
+ * Represents a readonly view of a `Stopwatch`.
1406
+ * @alpha
1407
+ */
1408
+ export declare interface IStopwatchResult {
1409
+ /**
1410
+ * Displays how long the stopwatch has been executing in a human readable format.
1411
+ */
1412
+ toString(): string;
1413
+ /**
1414
+ * Get the duration in seconds.
1415
+ */
1416
+ get duration(): number;
1417
+ /**
1418
+ * Return the start time of the most recent stopwatch run.
1419
+ */
1420
+ get startTime(): number | undefined;
1421
+ /**
1422
+ * Return the end time of the most recent stopwatch run.
1423
+ */
1424
+ get endTime(): number | undefined;
1425
+ }
1426
+
1362
1427
  /**
1363
1428
  * @beta
1364
1429
  */
@@ -1872,6 +1937,12 @@ export declare class PhasedCommandHooks {
1872
1937
  * Use the context to distinguish between the initial run and phased runs.
1873
1938
  */
1874
1939
  readonly createOperations: AsyncSeriesWaterfallHook<[Set<Operation>, ICreateOperationsContext]>;
1940
+ /**
1941
+ * Hook invoked after executing a set of operations.
1942
+ * Use the context to distinguish between the initial run and phased runs.
1943
+ * Hook is series for stable output.
1944
+ */
1945
+ readonly afterExecuteOperations: AsyncSeriesHook<[IExecutionResult, ICreateOperationsContext]>;
1875
1946
  /**
1876
1947
  * Hook invoked after a run has finished and the command is watching for changes.
1877
1948
  * May be used to display additional relevant data to the user.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/rush-sdk",
3
- "version": "5.69.0",
3
+ "version": "5.70.0",
4
4
  "description": "An API for interacting with the Rush engine",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,7 @@
17
17
  "tapable": "2.2.1"
18
18
  },
19
19
  "devDependencies": {
20
- "@microsoft/rush-lib": "5.69.0",
20
+ "@microsoft/rush-lib": "5.70.0",
21
21
  "@rushstack/eslint-config": "2.6.0",
22
22
  "@rushstack/heft": "0.45.2",
23
23
  "@rushstack/heft-node-rig": "1.9.3",