@rushstack/rush-sdk 5.104.1 → 5.105.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.
@@ -1502,6 +1502,11 @@ export declare interface IOperationRunner {
1502
1502
  * exit code
1503
1503
  */
1504
1504
  warningsAreAllowed: boolean;
1505
+ /**
1506
+ * If set to true, this operation is considered a no-op and can be considered always skipped for
1507
+ * analysis purposes.
1508
+ */
1509
+ readonly isNoOp?: boolean;
1505
1510
  /**
1506
1511
  * Method to be executed for the operation.
1507
1512
  */
@@ -4092,7 +4097,7 @@ export declare class RushProjectConfiguration {
4092
4097
  * Load the rush-project.json data for all selected projects.
4093
4098
  * Validate compatibility of output folders across all selected phases.
4094
4099
  */
4095
- static tryLoadAndValidateForProjectsAsync(projects: Iterable<RushConfigurationProject>, phases: ReadonlySet<IPhase>, terminal: ITerminal): Promise<ReadonlyMap<RushConfigurationProject, RushProjectConfiguration>>;
4100
+ static tryLoadForProjectsAsync(projects: Iterable<RushConfigurationProject>, terminal: ITerminal): Promise<ReadonlyMap<RushConfigurationProject, RushProjectConfiguration>>;
4096
4101
  private static _tryLoadJsonForProjectAsync;
4097
4102
  private static _getRushProjectConfiguration;
4098
4103
  }
@@ -124,7 +124,7 @@ export declare class RushProjectConfiguration {
124
124
  * Load the rush-project.json data for all selected projects.
125
125
  * Validate compatibility of output folders across all selected phases.
126
126
  */
127
- static tryLoadAndValidateForProjectsAsync(projects: Iterable<RushConfigurationProject>, phases: ReadonlySet<IPhase>, terminal: ITerminal): Promise<ReadonlyMap<RushConfigurationProject, RushProjectConfiguration>>;
127
+ static tryLoadForProjectsAsync(projects: Iterable<RushConfigurationProject>, terminal: ITerminal): Promise<ReadonlyMap<RushConfigurationProject, RushProjectConfiguration>>;
128
128
  private static _tryLoadJsonForProjectAsync;
129
129
  private static _getRushProjectConfiguration;
130
130
  }
@@ -26,6 +26,10 @@ export interface IPhasedScriptActionOptions extends IBaseScriptActionOptions<IPh
26
26
  * "build" script for each project.
27
27
  */
28
28
  export declare class PhasedScriptAction extends BaseScriptAction<IPhasedCommandConfig> {
29
+ /**
30
+ * @internal
31
+ */
32
+ _runsBeforeInstall: boolean | undefined;
29
33
  readonly hooks: PhasedCommandHooks;
30
34
  private readonly _enableParallelism;
31
35
  private readonly _isIncrementalBuildAllowed;
@@ -6,6 +6,7 @@ import { ProjectLogWritable } from './ProjectLogWritable';
6
6
  import { CobuildConfiguration } from '../../api/CobuildConfiguration';
7
7
  import { PeriodicCallback } from './PeriodicCallback';
8
8
  import type { IPhasedCommandPlugin, PhasedCommandHooks } from '../../pluginFramework/PhasedCommandHooks';
9
+ import type { ProjectChangeAnalyzer } from '../ProjectChangeAnalyzer';
9
10
  import type { BuildCacheConfiguration } from '../../api/BuildCacheConfiguration';
10
11
  export interface IProjectDeps {
11
12
  files: {
@@ -16,6 +17,7 @@ export interface IProjectDeps {
16
17
  export interface IOperationBuildCacheContext {
17
18
  isCacheWriteAllowed: boolean;
18
19
  isCacheReadAllowed: boolean;
20
+ projectChangeAnalyzer: ProjectChangeAnalyzer;
19
21
  projectBuildCache: ProjectBuildCache | undefined;
20
22
  cacheDisabledReason: string | undefined;
21
23
  operationSettings: IOperationSettings | undefined;
@@ -35,7 +37,6 @@ export interface ICacheableOperationPluginOptions {
35
37
  }
36
38
  export declare class CacheableOperationPlugin implements IPhasedCommandPlugin {
37
39
  private _buildCacheContextByOperation;
38
- private _createContext;
39
40
  private readonly _options;
40
41
  constructor(options: ICacheableOperationPluginOptions);
41
42
  apply(hooks: PhasedCommandHooks): void;
@@ -84,6 +84,11 @@ export interface IOperationRunner {
84
84
  * exit code
85
85
  */
86
86
  warningsAreAllowed: boolean;
87
+ /**
88
+ * If set to true, this operation is considered a no-op and can be considered always skipped for
89
+ * analysis purposes.
90
+ */
91
+ readonly isNoOp?: boolean;
87
92
  /**
88
93
  * Method to be executed for the operation.
89
94
  */
@@ -27,6 +27,7 @@ export declare class NullOperationRunner implements IOperationRunner {
27
27
  readonly silent: boolean;
28
28
  cacheable: boolean;
29
29
  readonly warningsAreAllowed: boolean;
30
+ readonly isNoOp: boolean;
30
31
  readonly result: OperationStatus;
31
32
  constructor({ name, result, silent }: INullOperationRunnerParams);
32
33
  executeAsync(context: IOperationRunnerContext): Promise<OperationStatus>;
@@ -0,0 +1,13 @@
1
+ import type { IPhasedCommandPlugin, PhasedCommandHooks } from '../../pluginFramework/PhasedCommandHooks';
2
+ import type { ITerminal } from '@rushstack/node-core-library';
3
+ /**
4
+ * Core phased command plugin that provides the functionality for generating a base operation graph
5
+ * from the set of selected projects and phases.
6
+ */
7
+ export declare class ValidateOperationsPlugin implements IPhasedCommandPlugin {
8
+ private readonly _terminal;
9
+ constructor(terminal: ITerminal);
10
+ apply(hooks: PhasedCommandHooks): void;
11
+ private _validateOperations;
12
+ }
13
+ //# sourceMappingURL=ValidateOperationsPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/ValidateOperationsPlugin");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/rush-sdk",
3
- "version": "5.104.1",
3
+ "version": "5.105.0",
4
4
  "description": "An API for interacting with the Rush engine",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,7 +31,7 @@
31
31
  "@types/node": "14.18.36",
32
32
  "@types/semver": "7.5.0",
33
33
  "@types/webpack-env": "1.18.0",
34
- "@microsoft/rush-lib": "5.104.1",
34
+ "@microsoft/rush-lib": "5.105.0",
35
35
  "@rushstack/eslint-config": "3.3.3",
36
36
  "@rushstack/heft": "0.58.2",
37
37
  "@rushstack/heft-node-rig": "2.2.22",