@rushstack/rush-sdk 5.79.0 → 5.80.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 +61 -2
  2. package/package.json +9 -9
@@ -1086,6 +1086,10 @@ export declare interface IOperationExecutionResult {
1086
1086
  * Object used to report a summary at the end of the Rush invocation.
1087
1087
  */
1088
1088
  readonly stdioSummarizer: StdioSummarizer;
1089
+ /**
1090
+ * The value indicates the duration of the same operation without cache hit.
1091
+ */
1092
+ readonly nonCachedDurationMs: number | undefined;
1089
1093
  }
1090
1094
 
1091
1095
  /**
@@ -1169,6 +1173,31 @@ export declare interface IOperationRunnerContext {
1169
1173
  * Object used to report a summary at the end of the Rush invocation.
1170
1174
  */
1171
1175
  stdioSummarizer: StdioSummarizer;
1176
+ /**
1177
+ * Object used to record state of the operation.
1178
+ *
1179
+ * @internal
1180
+ */
1181
+ _operationStateFile?: _OperationStateFile;
1182
+ /**
1183
+ * Object used to track elapsed time.
1184
+ */
1185
+ stopwatch: IStopwatchResult;
1186
+ }
1187
+
1188
+ /**
1189
+ * @internal
1190
+ */
1191
+ export declare interface _IOperationStateFileOptions {
1192
+ rushProject: RushConfigurationProject;
1193
+ phase: IPhase;
1194
+ }
1195
+
1196
+ /**
1197
+ * @internal
1198
+ */
1199
+ export declare interface _IOperationStateJson {
1200
+ nonCachedDurationMs: number;
1172
1201
  }
1173
1202
 
1174
1203
  /**
@@ -1478,7 +1507,7 @@ declare interface IRushVariantOptionsJson {
1478
1507
 
1479
1508
  /**
1480
1509
  * Represents a readonly view of a `Stopwatch`.
1481
- * @alpha
1510
+ * @beta
1482
1511
  */
1483
1512
  export declare interface IStopwatchResult {
1484
1513
  /**
@@ -1595,6 +1624,10 @@ export declare interface ITelemetryOperationResult {
1595
1624
  * If the operation was blocked, will be `undefined`.
1596
1625
  */
1597
1626
  endTimestampMs?: number;
1627
+ /**
1628
+ * Duration in milliseconds when the operation does not hit cache
1629
+ */
1630
+ nonCachedDurationMs?: number;
1598
1631
  }
1599
1632
 
1600
1633
  /**
@@ -1666,7 +1699,7 @@ export declare class _LastInstallFlag {
1666
1699
  *
1667
1700
  * @internal
1668
1701
  */
1669
- checkValidAndReportStoreIssues(): boolean;
1702
+ checkValidAndReportStoreIssues(rushVerb: string): boolean;
1670
1703
  private _isValid;
1671
1704
  /**
1672
1705
  * Writes the flag file to disk with the current state
@@ -1907,6 +1940,32 @@ export declare class Operation {
1907
1940
  deleteDependency(dependency: Operation): void;
1908
1941
  }
1909
1942
 
1943
+ /**
1944
+ * A helper class for managing the state file of a operation.
1945
+ *
1946
+ * @internal
1947
+ */
1948
+ export declare class _OperationStateFile {
1949
+ private readonly _rushProject;
1950
+ private readonly _filename;
1951
+ private _state;
1952
+ constructor(options: _IOperationStateFileOptions);
1953
+ private static _getFilename;
1954
+ /**
1955
+ * ProjectBuildCache expects the relative path for better logging
1956
+ *
1957
+ * @internal
1958
+ */
1959
+ static getFilenameRelativeToProjectRoot(phase: IPhase): string;
1960
+ /**
1961
+ * Returns the filename of the metadata file.
1962
+ */
1963
+ get filename(): string;
1964
+ get state(): _IOperationStateJson | undefined;
1965
+ writeAsync(json: _IOperationStateJson): Promise<void>;
1966
+ tryRestoreAsync(): Promise<_IOperationStateJson | undefined>;
1967
+ }
1968
+
1910
1969
  /**
1911
1970
  * Enumeration defining potential states of an operation
1912
1971
  * @beta
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/rush-sdk",
3
- "version": "5.79.0",
3
+ "version": "5.80.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.52.0",
15
+ "@rushstack/node-core-library": "3.53.0",
16
16
  "@types/node-fetch": "1.6.9",
17
17
  "tapable": "2.2.1"
18
18
  },
19
19
  "devDependencies": {
20
- "@microsoft/rush-lib": "5.79.0",
21
- "@rushstack/eslint-config": "3.0.1",
22
- "@rushstack/heft": "0.47.10",
23
- "@rushstack/heft-node-rig": "1.10.12",
24
- "@rushstack/stream-collator": "4.0.205",
25
- "@rushstack/ts-command-line": "4.12.3",
26
- "@rushstack/terminal": "0.3.74",
20
+ "@microsoft/rush-lib": "5.80.0",
21
+ "@rushstack/eslint-config": "3.1.0",
22
+ "@rushstack/heft": "0.48.0",
23
+ "@rushstack/heft-node-rig": "1.11.0",
24
+ "@rushstack/stream-collator": "4.0.207",
25
+ "@rushstack/ts-command-line": "4.12.4",
26
+ "@rushstack/terminal": "0.3.76",
27
27
  "@types/heft-jest": "1.0.1",
28
28
  "@types/semver": "7.3.5",
29
29
  "@types/webpack-env": "1.13.0"