@rushstack/rush-sdk 5.126.0 → 5.127.1

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.
@@ -972,7 +972,7 @@ declare interface IBaseBuildCacheJson {
972
972
  * - `[arch]`
973
973
  * @privateRemarks
974
974
  * NOTE: If you update this comment, make sure to update build-cache.json in the "rush init" template.
975
- * The token parser is in CachEntryId.ts
975
+ * The token parser is in CacheEntryId.ts
976
976
  */
977
977
  cacheEntryNamePattern?: string;
978
978
  }
@@ -1680,9 +1680,13 @@ export declare interface IOperationOptions {
1680
1680
  */
1681
1681
  runner?: IOperationRunner | undefined;
1682
1682
  /**
1683
- * Settings defined in the project configuration for this operation, can be overriden.
1683
+ * Settings defined in the project configuration for this operation, can be overridden.
1684
1684
  */
1685
1685
  settings?: IOperationSettings | undefined;
1686
+ /**
1687
+ * {@inheritDoc Operation.logFilenameIdentifier}
1688
+ */
1689
+ logFilenameIdentifier: string;
1686
1690
  }
1687
1691
 
1688
1692
  /**
@@ -2732,6 +2736,12 @@ export declare class Operation {
2732
2736
  * A set of all dependencies which must be executed before this operation is complete.
2733
2737
  */
2734
2738
  readonly dependencies: ReadonlySet<Operation>;
2739
+ /**
2740
+ * This property is used in the name of the filename for the logs generated by this
2741
+ * operation. This is a filesystem-safe version of the phase name. For example,
2742
+ * an operation for a phase with name `_phase:compile` has a `logFilenameIdentifier` of `_phase_compile`.
2743
+ */
2744
+ logFilenameIdentifier: string;
2735
2745
  /**
2736
2746
  * When the scheduler is ready to process this `Operation`, the `runner` implements the actual work of
2737
2747
  * running the operation.
@@ -2754,7 +2764,7 @@ export declare class Operation {
2754
2764
  * the project configuration.
2755
2765
  */
2756
2766
  settings: IOperationSettings | undefined;
2757
- constructor(options?: IOperationOptions);
2767
+ constructor(options: IOperationOptions);
2758
2768
  /**
2759
2769
  * The name of this operation, for logging.
2760
2770
  */
@@ -2781,7 +2791,7 @@ export declare class Operation {
2781
2791
  export declare class _OperationMetadataManager {
2782
2792
  readonly stateFile: _OperationStateFile;
2783
2793
  readonly logFilenameIdentifier: string;
2784
- private readonly _metadataFolder;
2794
+ private readonly _metadataFolderPath;
2785
2795
  private readonly _logPath;
2786
2796
  private readonly _errorLogPath;
2787
2797
  private readonly _logChunksPath;
@@ -4552,6 +4562,17 @@ export declare class RushProjectConfiguration {
4552
4562
  * why the project cannot enable the build cache for that phase, or undefined if it is safe to so do.
4553
4563
  */
4554
4564
  getCacheDisabledReason(trackedFileNames: Iterable<string>, phaseName: string, isNoOp: boolean): string | undefined;
4565
+ /**
4566
+ * Source of truth for whether a project is unable to use the build cache for a given phase.
4567
+ * As some operations may not have a rush-project.json file defined at all, but may be no-op operations
4568
+ * we'll want to ignore those completely.
4569
+ */
4570
+ static getCacheDisabledReasonForProject(options: {
4571
+ projectConfiguration: RushProjectConfiguration | undefined;
4572
+ trackedFileNames: Iterable<string>;
4573
+ phaseName: string;
4574
+ isNoOp: boolean;
4575
+ }): string | undefined;
4555
4576
  /**
4556
4577
  * Loads the rush-project.json data for the specified project.
4557
4578
  */
@@ -23,7 +23,7 @@ export interface IBaseBuildCacheJson {
23
23
  * - `[arch]`
24
24
  * @privateRemarks
25
25
  * NOTE: If you update this comment, make sure to update build-cache.json in the "rush init" template.
26
- * The token parser is in CachEntryId.ts
26
+ * The token parser is in CacheEntryId.ts
27
27
  */
28
28
  cacheEntryNamePattern?: string;
29
29
  }
@@ -149,6 +149,17 @@ export declare class RushProjectConfiguration {
149
149
  * why the project cannot enable the build cache for that phase, or undefined if it is safe to so do.
150
150
  */
151
151
  getCacheDisabledReason(trackedFileNames: Iterable<string>, phaseName: string, isNoOp: boolean): string | undefined;
152
+ /**
153
+ * Source of truth for whether a project is unable to use the build cache for a given phase.
154
+ * As some operations may not have a rush-project.json file defined at all, but may be no-op operations
155
+ * we'll want to ignore those completely.
156
+ */
157
+ static getCacheDisabledReasonForProject(options: {
158
+ projectConfiguration: RushProjectConfiguration | undefined;
159
+ trackedFileNames: Iterable<string>;
160
+ phaseName: string;
161
+ isNoOp: boolean;
162
+ }): string | undefined;
152
163
  /**
153
164
  * Loads the rush-project.json data for the specified project.
154
165
  */
@@ -1,7 +1,7 @@
1
1
  import { type ITerminal } from '@rushstack/terminal';
2
2
  import { CobuildLock } from '../cobuild/CobuildLock';
3
3
  import { ProjectBuildCache } from '../buildCache/ProjectBuildCache';
4
- import type { IOperationSettings } from '../../api/RushProjectConfiguration';
4
+ import { type IOperationSettings } from '../../api/RushProjectConfiguration';
5
5
  import { ProjectLogWritable } from './ProjectLogWritable';
6
6
  import type { CobuildConfiguration } from '../../api/CobuildConfiguration';
7
7
  import { DisjointSet } from '../cobuild/DisjointSet';
@@ -21,9 +21,13 @@ export interface IOperationOptions {
21
21
  */
22
22
  runner?: IOperationRunner | undefined;
23
23
  /**
24
- * Settings defined in the project configuration for this operation, can be overriden.
24
+ * Settings defined in the project configuration for this operation, can be overridden.
25
25
  */
26
26
  settings?: IOperationSettings | undefined;
27
+ /**
28
+ * {@inheritDoc Operation.logFilenameIdentifier}
29
+ */
30
+ logFilenameIdentifier: string;
27
31
  }
28
32
  /**
29
33
  * The `Operation` class is a node in the dependency graph of work that needs to be scheduled by the
@@ -51,6 +55,12 @@ export declare class Operation {
51
55
  * A set of all dependencies which must be executed before this operation is complete.
52
56
  */
53
57
  readonly dependencies: ReadonlySet<Operation>;
58
+ /**
59
+ * This property is used in the name of the filename for the logs generated by this
60
+ * operation. This is a filesystem-safe version of the phase name. For example,
61
+ * an operation for a phase with name `_phase:compile` has a `logFilenameIdentifier` of `_phase_compile`.
62
+ */
63
+ logFilenameIdentifier: string;
54
64
  /**
55
65
  * When the scheduler is ready to process this `Operation`, the `runner` implements the actual work of
56
66
  * running the operation.
@@ -73,7 +83,7 @@ export declare class Operation {
73
83
  * the project configuration.
74
84
  */
75
85
  settings: IOperationSettings | undefined;
76
- constructor(options?: IOperationOptions);
86
+ constructor(options: IOperationOptions);
77
87
  /**
78
88
  * The name of this operation, for logging.
79
89
  */
@@ -33,7 +33,7 @@ export interface ILogChunkStorage {
33
33
  export declare class OperationMetadataManager {
34
34
  readonly stateFile: OperationStateFile;
35
35
  readonly logFilenameIdentifier: string;
36
- private readonly _metadataFolder;
36
+ private readonly _metadataFolderPath;
37
37
  private readonly _logPath;
38
38
  private readonly _errorLogPath;
39
39
  private readonly _logChunksPath;
@@ -56,5 +56,4 @@ export declare class OperationMetadataManager {
56
56
  errorLogPath: string;
57
57
  }): Promise<void>;
58
58
  }
59
- export declare function normalizeNameForLogFilenameIdentifiers(name: string): string;
60
59
  //# sourceMappingURL=OperationMetadataManager.d.ts.map
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.46.2"
8
+ "packageVersion": "7.47.0"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/rush-sdk",
3
- "version": "5.126.0",
3
+ "version": "5.127.1",
4
4
  "description": "An API for interacting with the Rush engine",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,11 +31,11 @@
31
31
  "devDependencies": {
32
32
  "@types/semver": "7.5.0",
33
33
  "@types/webpack-env": "1.18.0",
34
- "@rushstack/ts-command-line": "4.22.0",
35
- "@rushstack/heft": "0.66.17",
36
- "@microsoft/rush-lib": "5.126.0",
34
+ "@microsoft/rush-lib": "5.127.1",
37
35
  "local-node-rig": "1.0.0",
38
- "@rushstack/stream-collator": "4.1.55"
36
+ "@rushstack/heft": "0.66.18",
37
+ "@rushstack/stream-collator": "4.1.56",
38
+ "@rushstack/ts-command-line": "4.22.0"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "heft build --clean",