@rushstack/rush-sdk 5.112.2-pr4485.1 → 5.112.2-pr4485.3
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.
- package/dist/rush-lib.d.ts +16 -18
- package/lib/api/ExperimentsConfiguration.d.ts +6 -0
- package/lib/api/RushProjectConfiguration.d.ts +0 -7
- package/lib/cli/scriptActions/PhasedScriptAction.d.ts +1 -0
- package/lib/logic/operations/IOperationRunner.d.ts +0 -12
- package/lib/logic/operations/OperationExecutionRecord.d.ts +0 -2
- package/lib/logic/operations/ShellOperationRunnerPlugin.d.ts +10 -0
- package/lib/pluginFramework/PhasedCommandHooks.d.ts +10 -0
- package/lib/utilities/Utilities.d.ts +4 -0
- package/package.json +4 -4
package/dist/rush-lib.d.ts
CHANGED
|
@@ -1155,6 +1155,12 @@ export declare interface ICreateOperationsContext {
|
|
|
1155
1155
|
* The Rush configuration
|
|
1156
1156
|
*/
|
|
1157
1157
|
readonly rushConfiguration: RushConfiguration;
|
|
1158
|
+
/**
|
|
1159
|
+
* Marks an operation's result as invalid, potentially triggering a new build. Only applicable in watch mode.
|
|
1160
|
+
* @param operation - The operation to invalidate
|
|
1161
|
+
* @param reason - The reason for invalidating the operation
|
|
1162
|
+
*/
|
|
1163
|
+
readonly invalidateOperation?: ((operation: Operation, reason: string) => void) | undefined;
|
|
1158
1164
|
}
|
|
1159
1165
|
|
|
1160
1166
|
/**
|
|
@@ -1333,6 +1339,12 @@ export declare interface IExperimentsJson {
|
|
|
1333
1339
|
* If true, Rush will not allow node_modules in the repo folder or in parent folders.
|
|
1334
1340
|
*/
|
|
1335
1341
|
forbidPhantomResolvableNodeModulesFolders?: boolean;
|
|
1342
|
+
/**
|
|
1343
|
+
* If true, when running in watch mode, Rush will check for phase scripts named `_phase:<name>:ipc` and run them instead
|
|
1344
|
+
* of `_phase:<name>` if they exist. The created child process will be provided with an IPC channel and expected to persist
|
|
1345
|
+
* across invocations.
|
|
1346
|
+
*/
|
|
1347
|
+
useIPCScriptsInWatchMode?: boolean;
|
|
1336
1348
|
}
|
|
1337
1349
|
|
|
1338
1350
|
/**
|
|
@@ -1661,10 +1673,6 @@ export declare interface IOperationRunnerContext {
|
|
|
1661
1673
|
* Defaults to `true`. Will be `false` if Rush was invoked with `--verbose`.
|
|
1662
1674
|
*/
|
|
1663
1675
|
quietMode: boolean;
|
|
1664
|
-
/**
|
|
1665
|
-
* Object used to report a summary at the end of the Rush invocation.
|
|
1666
|
-
*/
|
|
1667
|
-
stdioSummarizer: StdioSummarizer;
|
|
1668
1676
|
/**
|
|
1669
1677
|
* Object used to manage metadata of the operation.
|
|
1670
1678
|
*
|
|
@@ -1687,13 +1695,6 @@ export declare interface IOperationRunnerContext {
|
|
|
1687
1695
|
* it later (for example to re-print errors at end of execution).
|
|
1688
1696
|
*/
|
|
1689
1697
|
error?: Error;
|
|
1690
|
-
/**
|
|
1691
|
-
* Normally the incremental build logic will rebuild changed projects as well as
|
|
1692
|
-
* any projects that directly or indirectly depend on a changed project.
|
|
1693
|
-
* If true, then the incremental build logic will only rebuild changed projects and
|
|
1694
|
-
* ignore dependent projects.
|
|
1695
|
-
*/
|
|
1696
|
-
readonly changedProjectsOnly: boolean;
|
|
1697
1698
|
/**
|
|
1698
1699
|
* Invokes the specified callback with a terminal that is associated with this operation.
|
|
1699
1700
|
*
|
|
@@ -1748,13 +1749,6 @@ export declare interface IOperationSettings {
|
|
|
1748
1749
|
* calculating final hash value when reading and writing the build cache
|
|
1749
1750
|
*/
|
|
1750
1751
|
dependsOnAdditionalFiles?: string[];
|
|
1751
|
-
/**
|
|
1752
|
-
* When running this operation in watch mode, enable IPC functionality. This allows reusing a long-lived child
|
|
1753
|
-
* process instead of spawning a new child process for each incremental build.
|
|
1754
|
-
*
|
|
1755
|
-
* Implicitly disables the build cache for this operation.
|
|
1756
|
-
*/
|
|
1757
|
-
useIPCInWatchMode?: boolean;
|
|
1758
1752
|
}
|
|
1759
1753
|
|
|
1760
1754
|
/**
|
|
@@ -2873,6 +2867,10 @@ export declare class PhasedCommandHooks {
|
|
|
2873
2867
|
readonly afterExecuteOperation: AsyncSeriesHook<[
|
|
2874
2868
|
IOperationRunnerContext & IOperationExecutionResult
|
|
2875
2869
|
]>;
|
|
2870
|
+
/**
|
|
2871
|
+
* Hook invoked to shutdown long-lived work in plugins.
|
|
2872
|
+
*/
|
|
2873
|
+
readonly shutdown: SyncHook<void>;
|
|
2876
2874
|
/**
|
|
2877
2875
|
* Hook invoked after a run has finished and the command is watching for changes.
|
|
2878
2876
|
* May be used to display additional relevant data to the user.
|
|
@@ -59,6 +59,12 @@ export interface IExperimentsJson {
|
|
|
59
59
|
* If true, Rush will not allow node_modules in the repo folder or in parent folders.
|
|
60
60
|
*/
|
|
61
61
|
forbidPhantomResolvableNodeModulesFolders?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* If true, when running in watch mode, Rush will check for phase scripts named `_phase:<name>:ipc` and run them instead
|
|
64
|
+
* of `_phase:<name>` if they exist. The created child process will be provided with an IPC channel and expected to persist
|
|
65
|
+
* across invocations.
|
|
66
|
+
*/
|
|
67
|
+
useIPCScriptsInWatchMode?: boolean;
|
|
62
68
|
}
|
|
63
69
|
/**
|
|
64
70
|
* Use this class to load the "common/config/rush/experiments.json" config file.
|
|
@@ -73,13 +73,6 @@ export interface IOperationSettings {
|
|
|
73
73
|
* calculating final hash value when reading and writing the build cache
|
|
74
74
|
*/
|
|
75
75
|
dependsOnAdditionalFiles?: string[];
|
|
76
|
-
/**
|
|
77
|
-
* When running this operation in watch mode, enable IPC functionality. This allows reusing a long-lived child
|
|
78
|
-
* process instead of spawning a new child process for each incremental build.
|
|
79
|
-
*
|
|
80
|
-
* Implicitly disables the build cache for this operation.
|
|
81
|
-
*/
|
|
82
|
-
useIPCInWatchMode?: boolean;
|
|
83
76
|
}
|
|
84
77
|
/**
|
|
85
78
|
* Use this class to load the "config/rush-project.json" config file.
|
|
@@ -50,6 +50,7 @@ export declare class PhasedScriptAction extends BaseScriptAction<IPhasedCommandC
|
|
|
50
50
|
private readonly _watchParameter;
|
|
51
51
|
private readonly _timelineParameter;
|
|
52
52
|
private readonly _installParameter;
|
|
53
|
+
private readonly _noIPCParameter;
|
|
53
54
|
constructor(options: IPhasedScriptActionOptions);
|
|
54
55
|
runAsync(): Promise<void>;
|
|
55
56
|
private _runInitialPhases;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { StdioSummarizer } from '@rushstack/terminal';
|
|
2
1
|
import type { CollatedWriter } from '@rushstack/stream-collator';
|
|
3
2
|
import type { ITerminal, ITerminalProvider } from '@rushstack/node-core-library';
|
|
4
3
|
import type { OperationStatus } from './OperationStatus';
|
|
@@ -22,10 +21,6 @@ export interface IOperationRunnerContext {
|
|
|
22
21
|
* Defaults to `true`. Will be `false` if Rush was invoked with `--verbose`.
|
|
23
22
|
*/
|
|
24
23
|
quietMode: boolean;
|
|
25
|
-
/**
|
|
26
|
-
* Object used to report a summary at the end of the Rush invocation.
|
|
27
|
-
*/
|
|
28
|
-
stdioSummarizer: StdioSummarizer;
|
|
29
24
|
/**
|
|
30
25
|
* Object used to manage metadata of the operation.
|
|
31
26
|
*
|
|
@@ -48,13 +43,6 @@ export interface IOperationRunnerContext {
|
|
|
48
43
|
* it later (for example to re-print errors at end of execution).
|
|
49
44
|
*/
|
|
50
45
|
error?: Error;
|
|
51
|
-
/**
|
|
52
|
-
* Normally the incremental build logic will rebuild changed projects as well as
|
|
53
|
-
* any projects that directly or indirectly depend on a changed project.
|
|
54
|
-
* If true, then the incremental build logic will only rebuild changed projects and
|
|
55
|
-
* ignore dependent projects.
|
|
56
|
-
*/
|
|
57
|
-
readonly changedProjectsOnly: boolean;
|
|
58
46
|
/**
|
|
59
47
|
* Invokes the specified callback with a terminal that is associated with this operation.
|
|
60
48
|
*
|
|
@@ -13,7 +13,6 @@ export interface IOperationExecutionRecordContext {
|
|
|
13
13
|
onOperationStatusChanged?: (record: OperationExecutionRecord) => void;
|
|
14
14
|
debugMode: boolean;
|
|
15
15
|
quietMode: boolean;
|
|
16
|
-
changedProjectsOnly: boolean;
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
19
18
|
* Internal class representing everything about executing an operation
|
|
@@ -84,7 +83,6 @@ export declare class OperationExecutionRecord implements IOperationRunnerContext
|
|
|
84
83
|
get name(): string;
|
|
85
84
|
get debugMode(): boolean;
|
|
86
85
|
get quietMode(): boolean;
|
|
87
|
-
get changedProjectsOnly(): boolean;
|
|
88
86
|
get collatedWriter(): CollatedWriter;
|
|
89
87
|
get nonCachedDurationMs(): number | undefined;
|
|
90
88
|
get cobuildRunnerId(): string | undefined;
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
+
import type { IPhase } from '../../api/CommandLineConfiguration';
|
|
2
|
+
import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
|
|
1
3
|
import type { IPhasedCommandPlugin, PhasedCommandHooks } from '../../pluginFramework/PhasedCommandHooks';
|
|
4
|
+
export declare const PLUGIN_NAME: 'ShellOperationRunnerPlugin';
|
|
2
5
|
/**
|
|
3
6
|
* Core phased command plugin that provides the functionality for executing an operation via shell command.
|
|
4
7
|
*/
|
|
5
8
|
export declare class ShellOperationRunnerPlugin implements IPhasedCommandPlugin {
|
|
6
9
|
apply(hooks: PhasedCommandHooks): void;
|
|
7
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Memoizer for custom parameter values by phase
|
|
13
|
+
* @returns A function that returns the custom parameter values for a given phase
|
|
14
|
+
*/
|
|
15
|
+
export declare function getCustomParameterValuesByPhase(): (phase: IPhase) => ReadonlyArray<string>;
|
|
16
|
+
export declare function formatCommand(rawCommand: string, customParameterValues: ReadonlyArray<string>): string;
|
|
17
|
+
export declare function getDisplayName(phase: IPhase, project: RushConfigurationProject): string;
|
|
8
18
|
//# sourceMappingURL=ShellOperationRunnerPlugin.d.ts.map
|
|
@@ -83,6 +83,12 @@ export interface ICreateOperationsContext {
|
|
|
83
83
|
* The Rush configuration
|
|
84
84
|
*/
|
|
85
85
|
readonly rushConfiguration: RushConfiguration;
|
|
86
|
+
/**
|
|
87
|
+
* Marks an operation's result as invalid, potentially triggering a new build. Only applicable in watch mode.
|
|
88
|
+
* @param operation - The operation to invalidate
|
|
89
|
+
* @param reason - The reason for invalidating the operation
|
|
90
|
+
*/
|
|
91
|
+
readonly invalidateOperation?: ((operation: Operation, reason: string) => void) | undefined;
|
|
86
92
|
}
|
|
87
93
|
/**
|
|
88
94
|
* Hooks into the execution process for phased commands
|
|
@@ -125,6 +131,10 @@ export declare class PhasedCommandHooks {
|
|
|
125
131
|
readonly afterExecuteOperation: AsyncSeriesHook<[
|
|
126
132
|
IOperationRunnerContext & IOperationExecutionResult
|
|
127
133
|
]>;
|
|
134
|
+
/**
|
|
135
|
+
* Hook invoked to shutdown long-lived work in plugins.
|
|
136
|
+
*/
|
|
137
|
+
readonly shutdown: SyncHook<void>;
|
|
128
138
|
/**
|
|
129
139
|
* Hook invoked after a run has finished and the command is watching for changes.
|
|
130
140
|
* May be used to display additional relevant data to the user.
|
|
@@ -59,6 +59,10 @@ export interface ILifecycleCommandOptions {
|
|
|
59
59
|
* If true, attempt to establish a NodeJS IPC channel to the child process.
|
|
60
60
|
*/
|
|
61
61
|
ipc?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* If true, wire up SubprocessTerminator to the child process.
|
|
64
|
+
*/
|
|
65
|
+
connectSubprocessTerminator?: boolean;
|
|
62
66
|
}
|
|
63
67
|
export interface IEnvironmentPathOptions {
|
|
64
68
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rushstack/rush-sdk",
|
|
3
|
-
"version": "5.112.2-pr4485.
|
|
3
|
+
"version": "5.112.2-pr4485.3",
|
|
4
4
|
"description": "An API for interacting with the Rush engine",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -30,11 +30,11 @@
|
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/semver": "7.5.0",
|
|
32
32
|
"@types/webpack-env": "1.18.0",
|
|
33
|
-
"@microsoft/rush-lib": "5.112.2-pr4485.
|
|
34
|
-
"@rushstack/stream-collator": "4.1.18",
|
|
33
|
+
"@microsoft/rush-lib": "5.112.2-pr4485.3",
|
|
35
34
|
"@rushstack/heft": "0.64.0",
|
|
36
|
-
"@rushstack/
|
|
35
|
+
"@rushstack/stream-collator": "4.1.18",
|
|
37
36
|
"local-node-rig": "1.0.0",
|
|
37
|
+
"@rushstack/terminal": "0.7.17",
|
|
38
38
|
"@rushstack/ts-command-line": "4.17.1"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|