@rushstack/rush-sdk 5.152.0 → 5.153.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.
@@ -1191,6 +1191,12 @@ export declare interface ICreateOperationsContext {
1191
1191
  * The configuration for the build cache, if the feature is enabled.
1192
1192
  */
1193
1193
  readonly buildCacheConfiguration: BuildCacheConfiguration | undefined;
1194
+ /**
1195
+ * If true, for an incremental build, Rush will only include projects with immediate changes or projects with no consumers.
1196
+ * @remarks
1197
+ * This is an optimization that may produce invalid outputs if some of the intervening projects are impacted by the changes.
1198
+ */
1199
+ readonly changedProjectsOnly: boolean;
1194
1200
  /**
1195
1201
  * The configuration for the cobuild, if cobuild feature and build cache feature are both enabled.
1196
1202
  */
@@ -2009,6 +2015,10 @@ export declare interface IOperationSettings {
2009
2015
  * If true, this operation can use cobuilds for orchestration without restoring build cache entries.
2010
2016
  */
2011
2017
  allowCobuildWithoutCache?: boolean;
2018
+ /**
2019
+ * If true, this operation will never be skipped by the `--changed-projects-only` flag.
2020
+ */
2021
+ ignoreChangedProjectsOnlyFlag?: boolean;
2012
2022
  }
2013
2023
 
2014
2024
  /**
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.52.3"
8
+ "packageVersion": "7.52.4"
9
9
  }
10
10
  ]
11
11
  }
@@ -113,6 +113,10 @@ export interface IOperationSettings {
113
113
  * If true, this operation can use cobuilds for orchestration without restoring build cache entries.
114
114
  */
115
115
  allowCobuildWithoutCache?: boolean;
116
+ /**
117
+ * If true, this operation will never be skipped by the `--changed-projects-only` flag.
118
+ */
119
+ ignoreChangedProjectsOnlyFlag?: boolean;
116
120
  }
117
121
  /**
118
122
  * Use this class to load the "config/rush-project.json" config file.
@@ -42,7 +42,8 @@ export declare class PhasedScriptAction extends BaseScriptAction<IPhasedCommandC
42
42
  private readonly _alwaysInstall;
43
43
  private readonly _knownPhases;
44
44
  private readonly _terminal;
45
- private readonly _changedProjectsOnly;
45
+ private _changedProjectsOnly;
46
+ private readonly _changedProjectsOnlyParameter;
46
47
  private readonly _selectionParameters;
47
48
  private readonly _verboseParameter;
48
49
  private readonly _parallelismParameter;
@@ -3,6 +3,7 @@ import type { IInputsSnapshot, GetInputsSnapshotAsyncFn } from './incremental/In
3
3
  import type { RushConfiguration } from '../api/RushConfiguration';
4
4
  import type { RushConfigurationProject } from '../api/RushConfigurationProject';
5
5
  export interface IProjectWatcherOptions {
6
+ abortSignal: AbortSignal;
6
7
  getInputsSnapshotAsync: GetInputsSnapshotAsyncFn;
7
8
  debounceMs?: number;
8
9
  rushConfiguration: RushConfiguration;
@@ -34,6 +35,7 @@ export interface IPromptGeneratorFunction {
34
35
  * more projects differ from the value the previous time it was invoked. The first time will always resolve with the full selection.
35
36
  */
36
37
  export declare class ProjectWatcher {
38
+ private readonly _abortSignal;
37
39
  private readonly _getInputsSnapshotAsync;
38
40
  private readonly _debounceMs;
39
41
  private readonly _repoRoot;
@@ -44,7 +46,9 @@ export declare class ProjectWatcher {
44
46
  private _previousSnapshot;
45
47
  private _forceChangedProjects;
46
48
  private _resolveIfChanged;
49
+ private _onAbort;
47
50
  private _getPromptLines;
51
+ private _lastStatus;
48
52
  private _renderedStatusLines;
49
53
  isPaused: boolean;
50
54
  constructor(options: IProjectWatcherOptions);
@@ -53,6 +57,7 @@ export declare class ProjectWatcher {
53
57
  invalidateProject(project: RushConfigurationProject, reason: string): boolean;
54
58
  invalidateAll(reason: string): void;
55
59
  clearStatus(): void;
60
+ rerenderStatus(): void;
56
61
  setPromptGenerator(promptGenerator: IPromptGeneratorFunction): void;
57
62
  /**
58
63
  * Waits for a change to the package-deps of one or more of the selected projects, since the previous invocation.
@@ -32,6 +32,12 @@ export interface ICreateOperationsContext {
32
32
  * The configuration for the build cache, if the feature is enabled.
33
33
  */
34
34
  readonly buildCacheConfiguration: BuildCacheConfiguration | undefined;
35
+ /**
36
+ * If true, for an incremental build, Rush will only include projects with immediate changes or projects with no consumers.
37
+ * @remarks
38
+ * This is an optimization that may produce invalid outputs if some of the intervening projects are impacted by the changes.
39
+ */
40
+ readonly changedProjectsOnly: boolean;
35
41
  /**
36
42
  * The configuration for the cobuild, if cobuild feature and build cache feature are both enabled.
37
43
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/rush-sdk",
3
- "version": "5.152.0",
3
+ "version": "5.153.0",
4
4
  "description": "An API for interacting with the Rush engine",
5
5
  "repository": {
6
6
  "type": "git",
@@ -36,21 +36,21 @@
36
36
  "dependencies": {
37
37
  "@pnpm/lockfile.types": "~1.0.3",
38
38
  "tapable": "2.2.1",
39
- "@rushstack/lookup-by-path": "0.5.16",
39
+ "@rushstack/lookup-by-path": "0.5.19",
40
+ "@rushstack/node-core-library": "5.13.0",
40
41
  "@rushstack/terminal": "0.15.2",
41
- "@rushstack/package-deps-hash": "4.3.17",
42
- "@rushstack/node-core-library": "5.13.0"
42
+ "@rushstack/package-deps-hash": "4.3.20"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/semver": "7.5.0",
46
46
  "@types/webpack-env": "1.18.8",
47
47
  "webpack": "~5.98.0",
48
- "@microsoft/rush-lib": "5.152.0",
49
- "@rushstack/heft": "0.71.2",
48
+ "@microsoft/rush-lib": "5.153.0",
49
+ "@rushstack/heft": "0.73.1",
50
50
  "local-node-rig": "1.0.0",
51
- "@rushstack/stream-collator": "4.1.95",
52
- "@rushstack/heft-webpack5-plugin": "0.11.25",
53
- "@rushstack/webpack-preserve-dynamic-require-plugin": "0.11.94",
51
+ "@rushstack/heft-webpack5-plugin": "0.11.28",
52
+ "@rushstack/stream-collator": "4.1.98",
53
+ "@rushstack/webpack-preserve-dynamic-require-plugin": "0.11.97",
54
54
  "@rushstack/ts-command-line": "4.23.7"
55
55
  },
56
56
  "scripts": {