@rushstack/rush-sdk 5.68.2 → 5.71.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 +91 -13
  2. package/package.json +8 -8
@@ -225,7 +225,6 @@ export declare class CommonVersionsConfiguration {
225
225
  private _filePath;
226
226
  private _preferredVersions;
227
227
  private _implicitlyPreferredVersions;
228
- private _xstitchPreferredVersions;
229
228
  private _allowedAlternativeVersions;
230
229
  private _modified;
231
230
  private constructor();
@@ -272,15 +271,6 @@ export declare class CommonVersionsConfiguration {
272
271
  * If the value is `undefined`, then the default value is `true`.
273
272
  */
274
273
  get implicitlyPreferredVersions(): boolean | undefined;
275
- /**
276
- * A table of specifies preferred versions maintained by the XStitch tool.
277
- *
278
- * @remarks
279
- * This property has the same behavior as the "preferredVersions" property, except these entries
280
- * are automatically managed by the XStitch tool. It is an error for the same dependency name
281
- * to appear in both tables.
282
- */
283
- get xstitchPreferredVersions(): Map<string, string>;
284
274
  /**
285
275
  * A table that stores, for a given dependency, a list of SemVer ranges that will be accepted
286
276
  * by "rush check" in addition to the normal version range.
@@ -295,7 +285,7 @@ export declare class CommonVersionsConfiguration {
295
285
  */
296
286
  get allowedAlternativeVersions(): Map<string, ReadonlyArray<string>>;
297
287
  /**
298
- * Returns the union of preferredVersions and xstitchPreferredVersions.
288
+ * Returns preferredVersions.
299
289
  */
300
290
  getAllPreferredVersions(): Map<string, string>;
301
291
  private _onSetPreferredVersions;
@@ -779,6 +769,11 @@ export declare interface ICreateOperationsContext {
779
769
  * The set of Rush projects selected for the current command execution.
780
770
  */
781
771
  readonly projectSelection: ReadonlySet<RushConfigurationProject>;
772
+ /**
773
+ * The set of Rush projects that have not been built in the current process since they were last modified.
774
+ * When `isInitial` is true, this will be an exact match of `projectSelection`.
775
+ */
776
+ readonly projectsInUnknownState: ReadonlySet<RushConfigurationProject>;
782
777
  /**
783
778
  * The Rush configuration
784
779
  */
@@ -822,6 +817,21 @@ declare interface IEventHooksJson {
822
817
  postRushBuild?: string[];
823
818
  }
824
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
+
825
835
  /**
826
836
  * This interface represents the raw experiments.json file which allows repo
827
837
  * maintainers to enable and disable experimental Rush features.
@@ -1029,6 +1039,33 @@ export declare class IndividualVersionPolicy extends VersionPolicy {
1029
1039
  export declare interface _INpmOptionsJson extends IPackageManagerOptionsJsonBase {
1030
1040
  }
1031
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
+
1032
1069
  /**
1033
1070
  * Options for constructing a new Operation.
1034
1071
  * @alpha
@@ -1364,6 +1401,29 @@ declare interface IRushVariantOptionsJson {
1364
1401
  description: string;
1365
1402
  }
1366
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
+
1367
1427
  /**
1368
1428
  * @beta
1369
1429
  */
@@ -1397,7 +1457,7 @@ export declare interface ITelemetryData {
1397
1457
  */
1398
1458
  readonly rushVersion?: string;
1399
1459
  readonly extraData?: {
1400
- [key: string]: string;
1460
+ [key: string]: string | number | boolean;
1401
1461
  };
1402
1462
  }
1403
1463
 
@@ -1671,10 +1731,14 @@ export declare class Operation {
1671
1731
  * The Rush project associated with this Operation, if any
1672
1732
  */
1673
1733
  readonly associatedProject: RushConfigurationProject | undefined;
1734
+ /**
1735
+ * A set of all operations which depend on this operation.
1736
+ */
1737
+ readonly consumers: ReadonlySet<Operation>;
1674
1738
  /**
1675
1739
  * A set of all dependencies which must be executed before this operation is complete.
1676
1740
  */
1677
- readonly dependencies: Set<Operation>;
1741
+ readonly dependencies: ReadonlySet<Operation>;
1678
1742
  /**
1679
1743
  * When the scheduler is ready to process this `Operation`, the `runner` implements the actual work of
1680
1744
  * running the operation.
@@ -1697,6 +1761,14 @@ export declare class Operation {
1697
1761
  * The name of this operation, for logging.
1698
1762
  */
1699
1763
  get name(): string | undefined;
1764
+ /**
1765
+ * Adds the specified operation as a dependency and updates the consumer list.
1766
+ */
1767
+ addDependency(dependency: Operation): void;
1768
+ /**
1769
+ * Deletes the specified operation as a dependency and updates the consumer list.
1770
+ */
1771
+ deleteDependency(dependency: Operation): void;
1700
1772
  }
1701
1773
 
1702
1774
  /**
@@ -1865,6 +1937,12 @@ export declare class PhasedCommandHooks {
1865
1937
  * Use the context to distinguish between the initial run and phased runs.
1866
1938
  */
1867
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]>;
1868
1946
  /**
1869
1947
  * Hook invoked after a run has finished and the command is watching for changes.
1870
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.68.2",
3
+ "version": "5.71.0",
4
4
  "description": "An API for interacting with the Rush engine",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,18 +12,18 @@
12
12
  "typings": "dist/rush-lib.d.ts",
13
13
  "license": "MIT",
14
14
  "dependencies": {
15
- "@rushstack/node-core-library": "3.45.4",
15
+ "@rushstack/node-core-library": "3.45.5",
16
16
  "@types/node-fetch": "1.6.9",
17
17
  "tapable": "2.2.1"
18
18
  },
19
19
  "devDependencies": {
20
- "@microsoft/rush-lib": "5.68.2",
20
+ "@microsoft/rush-lib": "5.71.0",
21
21
  "@rushstack/eslint-config": "2.6.0",
22
- "@rushstack/heft": "0.45.1",
23
- "@rushstack/heft-node-rig": "1.9.2",
24
- "@rushstack/stream-collator": "4.0.171",
25
- "@rushstack/ts-command-line": "4.10.10",
26
- "@rushstack/terminal": "0.3.40",
22
+ "@rushstack/heft": "0.45.5",
23
+ "@rushstack/heft-node-rig": "1.9.6",
24
+ "@rushstack/stream-collator": "4.0.175",
25
+ "@rushstack/ts-command-line": "4.11.0",
26
+ "@rushstack/terminal": "0.3.44",
27
27
  "@types/heft-jest": "1.0.1",
28
28
  "@types/semver": "7.3.5",
29
29
  "@types/webpack-env": "1.13.0"