nx 22.5.0 → 22.5.2
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/LICENSE +1 -1
- package/bin/init-local.d.ts.map +1 -1
- package/bin/init-local.js +1 -0
- package/package.json +13 -13
- package/src/ai/constants.d.ts +7 -1
- package/src/ai/constants.d.ts.map +1 -1
- package/src/ai/constants.js +4 -3
- package/src/ai/set-up-ai-agents/get-agent-rules.d.ts +5 -1
- package/src/ai/set-up-ai-agents/get-agent-rules.d.ts.map +1 -1
- package/src/ai/set-up-ai-agents/get-agent-rules.js +4 -3
- package/src/ai/set-up-ai-agents/set-up-ai-agents.d.ts.map +1 -1
- package/src/ai/set-up-ai-agents/set-up-ai-agents.js +59 -1
- package/src/command-line/configure-ai-agents/configure-ai-agents.d.ts.map +1 -1
- package/src/command-line/configure-ai-agents/configure-ai-agents.js +22 -0
- package/src/command-line/release/index.d.ts +1 -1
- package/src/command-line/release/index.d.ts.map +1 -1
- package/src/command-line/release/release.d.ts +1 -1
- package/src/command-line/release/release.d.ts.map +1 -1
- package/src/core/graph/main.js +1 -1
- package/src/daemon/client/client.d.ts.map +1 -1
- package/src/daemon/client/client.js +8 -2
- package/src/daemon/server/project-graph-incremental-recomputation.d.ts.map +1 -1
- package/src/daemon/server/project-graph-incremental-recomputation.js +38 -10
- package/src/executors/run-commands/running-tasks.d.ts +1 -1
- package/src/executors/run-commands/running-tasks.d.ts.map +1 -1
- package/src/executors/run-commands/running-tasks.js +23 -17
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/plugins/js/utils/register.d.ts.map +1 -1
- package/src/plugins/js/utils/register.js +14 -0
- package/src/project-graph/plugins/isolation/enabled.d.ts.map +1 -1
- package/src/project-graph/plugins/isolation/enabled.js +4 -1
- package/src/project-graph/utils/project-configuration-utils.d.ts.map +1 -1
- package/src/project-graph/utils/project-configuration-utils.js +47 -10
- package/src/tasks-runner/forked-process-task-runner.d.ts +1 -1
- package/src/tasks-runner/forked-process-task-runner.d.ts.map +1 -1
- package/src/tasks-runner/forked-process-task-runner.js +4 -9
- package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.d.ts.map +1 -1
- package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.js +1 -0
- package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.d.ts.map +1 -1
- package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.js +1 -0
- package/src/tasks-runner/life-cycles/tui-summary-life-cycle.d.ts.map +1 -1
- package/src/tasks-runner/life-cycles/tui-summary-life-cycle.js +15 -5
- package/src/tasks-runner/pseudo-ipc.d.ts.map +1 -1
- package/src/tasks-runner/pseudo-ipc.js +16 -0
- package/src/tasks-runner/pseudo-terminal.d.ts +2 -2
- package/src/tasks-runner/pseudo-terminal.d.ts.map +1 -1
- package/src/tasks-runner/pseudo-terminal.js +7 -5
- package/src/tasks-runner/run-command.d.ts.map +1 -1
- package/src/tasks-runner/run-command.js +3 -1
- package/src/tasks-runner/running-tasks/batch-process.d.ts +2 -1
- package/src/tasks-runner/running-tasks/batch-process.d.ts.map +1 -1
- package/src/tasks-runner/running-tasks/batch-process.js +5 -4
- package/src/tasks-runner/running-tasks/node-child-process.d.ts +2 -1
- package/src/tasks-runner/running-tasks/node-child-process.d.ts.map +1 -1
- package/src/tasks-runner/running-tasks/node-child-process.js +8 -5
- package/src/tasks-runner/task-graph-utils.d.ts.map +1 -1
- package/src/tasks-runner/task-graph-utils.js +8 -2
- package/src/tasks-runner/task-orchestrator.d.ts.map +1 -1
- package/src/tasks-runner/task-orchestrator.js +5 -17
- package/src/utils/is-sandbox.d.ts +2 -0
- package/src/utils/is-sandbox.d.ts.map +1 -0
- package/src/utils/is-sandbox.js +9 -0
- package/src/utils/output.d.ts.map +1 -1
- package/src/utils/output.js +6 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAS,MAAM,eAAe,CAAC;AAepD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAW,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK9E,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/client/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ const project_graph_1 = require("../../project-graph/project-graph");
|
|
|
17
17
|
const consume_messages_from_socket_1 = require("../../utils/consume-messages-from-socket");
|
|
18
18
|
const delayed_spinner_1 = require("../../utils/delayed-spinner");
|
|
19
19
|
const is_ci_1 = require("../../utils/is-ci");
|
|
20
|
+
const is_sandbox_1 = require("../../utils/is-sandbox");
|
|
20
21
|
const output_1 = require("../../utils/output");
|
|
21
22
|
const promised_based_queue_1 = require("../../utils/promised-based-queue");
|
|
22
23
|
const workspace_root_1 = require("../../utils/workspace-root");
|
|
@@ -96,7 +97,7 @@ class DaemonClient {
|
|
|
96
97
|
// WASM => no daemon because file watching does not work
|
|
97
98
|
// version mismatch => no daemon because the installed nx version differs from the running one
|
|
98
99
|
if ((0, is_nx_version_mismatch_1.isNxVersionMismatch)() ||
|
|
99
|
-
(((0, is_ci_1.isCI)() || isDocker()) && env !== 'true') ||
|
|
100
|
+
(((0, is_ci_1.isCI)() || isDocker() || (0, is_sandbox_1.isSandbox)()) && env !== 'true') ||
|
|
100
101
|
(0, tmp_dir_1.isDaemonDisabled)() ||
|
|
101
102
|
nxJsonIsNotPresent() ||
|
|
102
103
|
(useDaemonProcessOption === undefined && env === 'false') ||
|
|
@@ -733,7 +734,12 @@ class DaemonClient {
|
|
|
733
734
|
}
|
|
734
735
|
setUpConnection() {
|
|
735
736
|
const socketPath = this.getSocketPath();
|
|
736
|
-
|
|
737
|
+
const socket = (0, net_1.connect)(socketPath);
|
|
738
|
+
// Unref the socket so it doesn't keep the process alive. The
|
|
739
|
+
// sendMessageToDaemon method uses a keep-alive setTimeout to
|
|
740
|
+
// explicitly hold the event loop open while awaiting a response.
|
|
741
|
+
socket.unref();
|
|
742
|
+
this.socketMessenger = new daemon_socket_messenger_1.DaemonSocketMessenger(socket).listen((message) => this.handleMessage(message), () => {
|
|
737
743
|
// it's ok for the daemon to terminate if the client doesn't wait on
|
|
738
744
|
// any messages from the daemon
|
|
739
745
|
if (this.queue.isEmpty()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-graph-incremental-recomputation.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/server/project-graph-incremental-recomputation.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,OAAO,EACP,YAAY,EAEb,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EACL,YAAY,EAIb,MAAM,mCAAmC,CAAC;AAe3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAEL,uBAAuB,EACxB,MAAM,uDAAuD,CAAC;AAS/D,UAAU,sBAAsB;IAC9B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,mBAAmB,EAAE,YAAY,GAAG,IAAI,CAAC;IACzC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,iBAAiB,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACrC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC3C,cAAc,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAClD;AAGD,eAAO,IAAI,gBAAgB,EACvB;IACE,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,QAAQ,EAAE,CAAC;IAC9B,cAAc,EAAE,yBAAyB,CAAC;CAC3C,GACD,SAAS,CAAC;AACd,eAAO,IAAI,0BAA0B,EAAE,YAAY,GAAG,SAAS,CAAC;AAChE,eAAO,IAAI,mBAAmB,EAAE,YAAY,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"project-graph-incremental-recomputation.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/server/project-graph-incremental-recomputation.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,OAAO,EACP,YAAY,EAEb,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EACL,YAAY,EAIb,MAAM,mCAAmC,CAAC;AAe3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAEL,uBAAuB,EACxB,MAAM,uDAAuD,CAAC;AAS/D,UAAU,sBAAsB;IAC9B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,mBAAmB,EAAE,YAAY,GAAG,IAAI,CAAC;IACzC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,iBAAiB,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACrC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC3C,cAAc,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAClD;AAGD,eAAO,IAAI,gBAAgB,EACvB;IACE,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,QAAQ,EAAE,CAAC;IAC9B,cAAc,EAAE,yBAAyB,CAAC;CAC3C,GACD,SAAS,CAAC;AACd,eAAO,IAAI,0BAA0B,EAAE,YAAY,GAAG,SAAS,CAAC;AAChE,eAAO,IAAI,mBAAmB,EAAE,YAAY,GAAG,SAAS,CAAC;AAoBzD,wBAAsB,sCAAsC,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAgF9F;AAED,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,MAAM,EAAE,QAiDvB;AAED,wBAAgB,yCAAyC,CACvD,QAAQ,EAAE,CACR,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,uBAAuB,EACnC,KAAK,EAAE,KAAK,GAAG,IAAI,KAChB,IAAI,QAGV"}
|
|
@@ -21,13 +21,17 @@ const logger_1 = require("../logger");
|
|
|
21
21
|
const error_types_1 = require("../../project-graph/error-types");
|
|
22
22
|
const get_plugins_1 = require("../../project-graph/plugins/get-plugins");
|
|
23
23
|
let cachedSerializedProjectGraphPromise;
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
// Maps file path to a version counter that increments on each modification.
|
|
25
|
+
// This lets us detect mid-flight re-modifications when clearing processed files.
|
|
26
|
+
const collectedUpdatedFiles = new Map();
|
|
27
|
+
const collectedDeletedFiles = new Map();
|
|
26
28
|
const projectGraphRecomputationListeners = new Set();
|
|
27
29
|
let storedWorkspaceConfigHash;
|
|
28
30
|
let waitPeriod = 100;
|
|
29
31
|
let scheduledTimeoutId;
|
|
30
32
|
let knownExternalNodes = {};
|
|
33
|
+
let fileChangeCounter = 0;
|
|
34
|
+
let recomputationGeneration = 0;
|
|
31
35
|
async function getCachedSerializedProjectGraphPromise() {
|
|
32
36
|
try {
|
|
33
37
|
let wasScheduled = false;
|
|
@@ -91,13 +95,14 @@ async function getCachedSerializedProjectGraphPromise() {
|
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
97
|
function addUpdatedAndDeletedFiles(createdFiles, updatedFiles, deletedFiles) {
|
|
98
|
+
++fileChangeCounter;
|
|
94
99
|
for (let f of [...createdFiles, ...updatedFiles]) {
|
|
95
100
|
collectedDeletedFiles.delete(f);
|
|
96
|
-
collectedUpdatedFiles.
|
|
101
|
+
collectedUpdatedFiles.set(f, fileChangeCounter);
|
|
97
102
|
}
|
|
98
103
|
for (let f of deletedFiles) {
|
|
99
104
|
collectedUpdatedFiles.delete(f);
|
|
100
|
-
collectedDeletedFiles.
|
|
105
|
+
collectedDeletedFiles.set(f, fileChangeCounter);
|
|
101
106
|
}
|
|
102
107
|
// Notify file change listeners immediately when files change
|
|
103
108
|
if (createdFiles.length > 0 ||
|
|
@@ -153,8 +158,6 @@ async function processCollectedUpdatedAndDeletedFiles({ projects, externalNodes,
|
|
|
153
158
|
exports.fileMapWithFiles = await (0, retrieve_workspace_files_1.retrieveWorkspaceFiles)(workspace_root_1.workspaceRoot, projectRootMap);
|
|
154
159
|
}
|
|
155
160
|
}
|
|
156
|
-
collectedUpdatedFiles.clear();
|
|
157
|
-
collectedDeletedFiles.clear();
|
|
158
161
|
}
|
|
159
162
|
catch (e) {
|
|
160
163
|
// this is expected
|
|
@@ -170,16 +173,21 @@ async function processCollectedUpdatedAndDeletedFiles({ projects, externalNodes,
|
|
|
170
173
|
}
|
|
171
174
|
}
|
|
172
175
|
async function processFilesAndCreateAndSerializeProjectGraph(plugins) {
|
|
176
|
+
const myGeneration = ++recomputationGeneration;
|
|
177
|
+
// Helper to check if this recomputation is stale (a newer one has started)
|
|
178
|
+
const isStale = () => myGeneration !== recomputationGeneration;
|
|
173
179
|
try {
|
|
174
180
|
perf_hooks_1.performance.mark('hash-watched-changes-start');
|
|
175
|
-
const
|
|
176
|
-
const
|
|
181
|
+
const updatedFilesSnapshot = new Map(collectedUpdatedFiles);
|
|
182
|
+
const deletedFilesSnapshot = new Map(collectedDeletedFiles);
|
|
183
|
+
const updatedFiles = [...updatedFilesSnapshot.keys()];
|
|
184
|
+
const deletedFiles = [...deletedFilesSnapshot.keys()];
|
|
177
185
|
let updatedFileHashes = (0, workspace_context_1.updateFilesInContext)(workspace_root_1.workspaceRoot, updatedFiles, deletedFiles);
|
|
178
186
|
perf_hooks_1.performance.mark('hash-watched-changes-end');
|
|
179
187
|
perf_hooks_1.performance.measure('hash changed files from watcher', 'hash-watched-changes-start', 'hash-watched-changes-end');
|
|
180
188
|
logger_1.serverLogger.requestLog(`Updated workspace context based on watched changes, recomputing project graph...`);
|
|
181
|
-
logger_1.serverLogger.requestLog(
|
|
182
|
-
logger_1.serverLogger.requestLog(
|
|
189
|
+
logger_1.serverLogger.requestLog(updatedFiles);
|
|
190
|
+
logger_1.serverLogger.requestLog(deletedFiles);
|
|
183
191
|
const nxJson = (0, nx_json_1.readNxJson)(workspace_root_1.workspaceRoot);
|
|
184
192
|
global.NX_GRAPH_CREATION = true;
|
|
185
193
|
let projectConfigurationsResult;
|
|
@@ -196,7 +204,27 @@ async function processFilesAndCreateAndSerializeProjectGraph(plugins) {
|
|
|
196
204
|
throw e;
|
|
197
205
|
}
|
|
198
206
|
}
|
|
207
|
+
// Early exit if a newer recomputation has started - chain to the newer one
|
|
208
|
+
if (isStale()) {
|
|
209
|
+
return cachedSerializedProjectGraphPromise;
|
|
210
|
+
}
|
|
199
211
|
await processCollectedUpdatedAndDeletedFiles(projectConfigurationsResult, updatedFileHashes, deletedFiles);
|
|
212
|
+
// Only remove files whose version matches the snapshot — if the version
|
|
213
|
+
// is higher, the file was modified again mid-flight and needs reprocessing.
|
|
214
|
+
for (const [f, version] of updatedFilesSnapshot) {
|
|
215
|
+
if (collectedUpdatedFiles.get(f) === version) {
|
|
216
|
+
collectedUpdatedFiles.delete(f);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
for (const [f, version] of deletedFilesSnapshot) {
|
|
220
|
+
if (collectedDeletedFiles.get(f) === version) {
|
|
221
|
+
collectedDeletedFiles.delete(f);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
// Early exit if a newer recomputation has started - chain to the newer one
|
|
225
|
+
if (isStale()) {
|
|
226
|
+
return cachedSerializedProjectGraphPromise;
|
|
227
|
+
}
|
|
200
228
|
const g = await createAndSerializeProjectGraph(projectConfigurationsResult);
|
|
201
229
|
delete global.NX_GRAPH_CREATION;
|
|
202
230
|
const errors = [...(projectConfigurationsError?.errors ?? [])];
|
|
@@ -24,7 +24,7 @@ export declare class ParallelRunningTasks implements RunningTask {
|
|
|
24
24
|
export declare class SeriallyRunningTasks implements RunningTask {
|
|
25
25
|
private readonly tuiEnabled;
|
|
26
26
|
private readonly taskId;
|
|
27
|
-
private
|
|
27
|
+
private terminalOutputChunks;
|
|
28
28
|
private currentProcess;
|
|
29
29
|
private exitCallbacks;
|
|
30
30
|
private code;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"running-tasks.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/run-commands/running-tasks.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,YAAY,EAAE,MAAM,eAAe,CAAC;AAIjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAGL,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAO5E,OAAO,EAEL,4BAA4B,EAE7B,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,aAAa,CAChB;IACL,OAAO,CAAC,eAAe,CAA+C;gBAGpE,OAAO,EAAE,4BAA4B,EACrC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM;IAqBV,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAQrE,QAAQ,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI;IAI7C,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhE,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAM3B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;YAYpB,GAAG;YAiGH,2BAA2B;CAkC1C;AAED,qBAAa,oBAAqB,YAAW,WAAW;IAYpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"running-tasks.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/run-commands/running-tasks.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,YAAY,EAAE,MAAM,eAAe,CAAC;AAIjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAGL,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAO5E,OAAO,EAEL,4BAA4B,EAE7B,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,aAAa,CAChB;IACL,OAAO,CAAC,eAAe,CAA+C;gBAGpE,OAAO,EAAE,4BAA4B,EACrC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM;IAqBV,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAQrE,QAAQ,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI;IAI7C,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhE,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAM3B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;YAYpB,GAAG;YAiGH,2BAA2B;CAkC1C;AAED,qBAAa,oBAAqB,YAAW,WAAW;IAYpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,aAAa,CAChB;IACL,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,eAAe,CAA+C;gBAGpE,OAAO,EAAE,4BAA4B,EACrC,OAAO,EAAE,eAAe,EACP,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM;IAejC,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAY/D,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhE,QAAQ,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI;IAI7C,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIjC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;YAId,GAAG;YAwCH,aAAa;CAsD5B;AAsKD,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,4BAA4B,EACxC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAsB3B"}
|
|
@@ -143,7 +143,7 @@ class SeriallyRunningTasks {
|
|
|
143
143
|
constructor(options, context, tuiEnabled, taskId) {
|
|
144
144
|
this.tuiEnabled = tuiEnabled;
|
|
145
145
|
this.taskId = taskId;
|
|
146
|
-
this.
|
|
146
|
+
this.terminalOutputChunks = [];
|
|
147
147
|
this.currentProcess = null;
|
|
148
148
|
this.exitCallbacks = [];
|
|
149
149
|
this.code = 0;
|
|
@@ -153,19 +153,21 @@ class SeriallyRunningTasks {
|
|
|
153
153
|
this.error = e;
|
|
154
154
|
})
|
|
155
155
|
.finally(() => {
|
|
156
|
+
const terminalOutput = this.terminalOutputChunks.join('');
|
|
157
|
+
this.terminalOutputChunks = [];
|
|
156
158
|
for (const cb of this.exitCallbacks) {
|
|
157
|
-
cb(this.code,
|
|
159
|
+
cb(this.code, terminalOutput);
|
|
158
160
|
}
|
|
159
161
|
});
|
|
160
162
|
}
|
|
161
163
|
getResults() {
|
|
162
164
|
return new Promise((res, rej) => {
|
|
163
|
-
this.onExit((code) => {
|
|
165
|
+
this.onExit((code, terminalOutput) => {
|
|
164
166
|
if (this.error) {
|
|
165
167
|
rej(this.error);
|
|
166
168
|
}
|
|
167
169
|
else {
|
|
168
|
-
res({ code, terminalOutput
|
|
170
|
+
res({ code, terminalOutput });
|
|
169
171
|
}
|
|
170
172
|
});
|
|
171
173
|
});
|
|
@@ -192,15 +194,14 @@ class SeriallyRunningTasks {
|
|
|
192
194
|
}
|
|
193
195
|
});
|
|
194
196
|
let { code, terminalOutput } = await childProcess.getResults();
|
|
195
|
-
this.terminalOutput
|
|
197
|
+
this.terminalOutputChunks.push(terminalOutput);
|
|
196
198
|
this.code = code;
|
|
197
199
|
if (code !== 0) {
|
|
198
200
|
const output = `Warning: command "${c.command}" exited with non-zero status code`;
|
|
199
|
-
terminalOutput += output;
|
|
200
201
|
if (options.streamOutput) {
|
|
201
202
|
process.stderr.write(output);
|
|
202
203
|
}
|
|
203
|
-
this.
|
|
204
|
+
this.terminalOutputChunks.push(output);
|
|
204
205
|
// Stop running commands
|
|
205
206
|
break;
|
|
206
207
|
}
|
|
@@ -232,14 +233,15 @@ class RunningNodeProcess {
|
|
|
232
233
|
constructor(commandConfig, color, cwd, env, readyWhenStatus, streamOutput = true, envFile, taskId) {
|
|
233
234
|
this.readyWhenStatus = readyWhenStatus;
|
|
234
235
|
this.taskId = taskId;
|
|
235
|
-
this.
|
|
236
|
+
this.terminalOutputChunks = [];
|
|
236
237
|
this.exitCallbacks = [];
|
|
237
238
|
this.outputCallbacks = [];
|
|
238
239
|
env = processEnv(color, cwd, env, envFile);
|
|
239
240
|
this.command = commandConfig.command;
|
|
240
|
-
|
|
241
|
+
const header = pc.dim('> ') + commandConfig.command + '\r\n\r\n';
|
|
242
|
+
this.terminalOutputChunks.push(header);
|
|
241
243
|
if (streamOutput) {
|
|
242
|
-
process.stdout.write(
|
|
244
|
+
process.stdout.write(header);
|
|
243
245
|
}
|
|
244
246
|
this.childProcess = (0, child_process_1.exec)(commandConfig.command, {
|
|
245
247
|
maxBuffer: run_commands_impl_1.LARGE_BUFFER,
|
|
@@ -292,7 +294,7 @@ class RunningNodeProcess {
|
|
|
292
294
|
addListeners(commandConfig, streamOutput) {
|
|
293
295
|
this.childProcess.stdout.on('data', (data) => {
|
|
294
296
|
const output = addColorAndPrefix(data, commandConfig);
|
|
295
|
-
this.
|
|
297
|
+
this.terminalOutputChunks.push(output);
|
|
296
298
|
this.triggerOutputListeners(output);
|
|
297
299
|
if (streamOutput) {
|
|
298
300
|
process.stdout.write(output);
|
|
@@ -300,13 +302,13 @@ class RunningNodeProcess {
|
|
|
300
302
|
if (this.readyWhenStatus.length &&
|
|
301
303
|
isReady(this.readyWhenStatus, data.toString())) {
|
|
302
304
|
for (const cb of this.exitCallbacks) {
|
|
303
|
-
cb(0, this.
|
|
305
|
+
cb(0, this.terminalOutputChunks.join(''));
|
|
304
306
|
}
|
|
305
307
|
}
|
|
306
308
|
});
|
|
307
309
|
this.childProcess.stderr.on('data', (err) => {
|
|
308
310
|
const output = addColorAndPrefix(err, commandConfig);
|
|
309
|
-
this.
|
|
311
|
+
this.terminalOutputChunks.push(output);
|
|
310
312
|
this.triggerOutputListeners(output);
|
|
311
313
|
if (streamOutput) {
|
|
312
314
|
process.stderr.write(output);
|
|
@@ -314,24 +316,28 @@ class RunningNodeProcess {
|
|
|
314
316
|
if (this.readyWhenStatus.length &&
|
|
315
317
|
isReady(this.readyWhenStatus, err.toString())) {
|
|
316
318
|
for (const cb of this.exitCallbacks) {
|
|
317
|
-
cb(1, this.
|
|
319
|
+
cb(1, this.terminalOutputChunks.join(''));
|
|
318
320
|
}
|
|
319
321
|
}
|
|
320
322
|
});
|
|
321
323
|
this.childProcess.on('error', (err) => {
|
|
322
324
|
const output = addColorAndPrefix(err.toString(), commandConfig);
|
|
323
|
-
this.
|
|
325
|
+
this.terminalOutputChunks.push(output);
|
|
324
326
|
if (streamOutput) {
|
|
325
327
|
process.stderr.write(output);
|
|
326
328
|
}
|
|
329
|
+
const terminalOutput = this.terminalOutputChunks.join('');
|
|
330
|
+
this.terminalOutputChunks = [];
|
|
327
331
|
for (const cb of this.exitCallbacks) {
|
|
328
|
-
cb(1,
|
|
332
|
+
cb(1, terminalOutput);
|
|
329
333
|
}
|
|
330
334
|
});
|
|
331
335
|
this.childProcess.on('exit', (code) => {
|
|
332
336
|
if (!this.readyWhenStatus.length || isReady(this.readyWhenStatus)) {
|
|
337
|
+
const terminalOutput = this.terminalOutputChunks.join('');
|
|
338
|
+
this.terminalOutputChunks = [];
|
|
333
339
|
for (const cb of this.exitCallbacks) {
|
|
334
|
-
cb(code,
|
|
340
|
+
cb(code, terminalOutput);
|
|
335
341
|
}
|
|
336
342
|
}
|
|
337
343
|
});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/plugins/js/utils/register.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/plugins/js/utils/register.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAkElD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;AACpE;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,OAAE;AAoDxE,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,eAAe,GAC/B,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAcjC;AAED,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,eAAe,EAChC,aAAa,CAAC,EAAE,eAAe,EAC/B,YAAY,CAAC,EAAE,OAAO,GACrB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAwBjC;AAiFD,wBAAgB,aAAa,CAC3B,eAAe,EAAE,eAAe,EAChC,WAAW,CAAC,EAAE,OAAO,SALc,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAiFnE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,eAAe,EAChC,WAAW,CAAC,EAAE,OAAO,GACpB,MAAM,IAAI,CAUZ;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,KAAA,GAAG,MAAM,IAAI,CAuB9D;AA8FD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CxE"}
|
|
@@ -9,6 +9,7 @@ exports.registerTsConfigPaths = registerTsConfigPaths;
|
|
|
9
9
|
exports.getTsNodeCompilerOptions = getTsNodeCompilerOptions;
|
|
10
10
|
const path_1 = require("path");
|
|
11
11
|
const logger_1 = require("../../../utils/logger");
|
|
12
|
+
const workspace_root_1 = require("../../../utils/workspace-root");
|
|
12
13
|
const typescript_1 = require("./typescript");
|
|
13
14
|
const swcNodeInstalled = packageIsInstalled('@swc-node/register');
|
|
14
15
|
const tsNodeInstalled = packageIsInstalled('ts-node/register');
|
|
@@ -308,6 +309,19 @@ function readCompilerOptionsWithSwc(tsConfigPath) {
|
|
|
308
309
|
// @swc-node/register filters the files to transpile based on it, but it can be limiting when processing
|
|
309
310
|
// files not part of the received tsconfig included files (e.g. shared helpers, or config files not in source, etc.).
|
|
310
311
|
delete compilerOptions.files;
|
|
312
|
+
// @swc-node/register's readDefaultTsConfig auto-sets baseUrl to the
|
|
313
|
+
// dirname of the tsconfig when not explicitly configured. This is incorrect
|
|
314
|
+
// when paths are inherited via "extends" from a parent tsconfig at a
|
|
315
|
+
// different directory level (e.g., tsconfig.base.json at workspace root),
|
|
316
|
+
// because SWC will resolve "./"-prefixed paths relative to the wrong
|
|
317
|
+
// directory. Use the workspace root as baseUrl in that case.
|
|
318
|
+
// baseUrl will not be configured when using newer versions of TypeScript like `tsgo`.
|
|
319
|
+
if (compilerOptions.paths) {
|
|
320
|
+
const { options: tsOptions } = (0, typescript_1.readTsConfigWithoutFiles)(tsConfigPath);
|
|
321
|
+
if (!tsOptions.baseUrl) {
|
|
322
|
+
compilerOptions.baseUrl = workspace_root_1.workspaceRoot;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
311
325
|
return compilerOptions;
|
|
312
326
|
}
|
|
313
327
|
function readCompilerOptionsWithTypescript(tsConfigPath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enabled.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/project-graph/plugins/isolation/enabled.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"enabled.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/project-graph/plugins/isolation/enabled.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,YAiBjC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isIsolationEnabled = isIsolationEnabled;
|
|
4
4
|
const native_1 = require("../../../native");
|
|
5
|
+
const is_sandbox_1 = require("../../../utils/is-sandbox");
|
|
5
6
|
function isIsolationEnabled() {
|
|
6
7
|
// Explicitly enabled, regardless of further conditions
|
|
7
8
|
if (process.env.NX_ISOLATE_PLUGINS === 'true') {
|
|
@@ -11,7 +12,9 @@ function isIsolationEnabled() {
|
|
|
11
12
|
// Explicitly disabled
|
|
12
13
|
process.env.NX_ISOLATE_PLUGINS === 'false' ||
|
|
13
14
|
// Isolation is disabled on WASM builds currently.
|
|
14
|
-
native_1.IS_WASM
|
|
15
|
+
native_1.IS_WASM ||
|
|
16
|
+
// Isolation is disabled in sandbox environments (AI agents, etc.)
|
|
17
|
+
(0, is_sandbox_1.isSandbox)()) {
|
|
15
18
|
return false;
|
|
16
19
|
}
|
|
17
20
|
// Default value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-configuration-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/utils/project-configuration-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACf,MAAM,0CAA0C,CAAC;AAUlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AA2BlE,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC1C,MAAM,EACN,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAClC,CAAC;AAEF,wBAAgB,oCAAoC,CAClD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EACpD,OAAO,EAAE,oBAAoB,EAC7B,uBAAuB,CAAC,EAAE,uBAAuB,EACjD,iBAAiB,CAAC,EAAE,iBAAiB,EAGrC,uBAAuB,CAAC,EAAE,OAAO,GAChC,IAAI,CAgLN;AAED,wBAAgB,aAAa,CAAC,CAAC,GAAG,eAAe,GAAG,cAAc,EAChE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EACzD,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACjD,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,CAAC,EACX,gBAAgB,CAAC,EAAE,CAAC,GACnB,CAAC,CAmEH;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,QAAQ,EAAE;QACR,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAAC;KAC7C,CAAC;IAEF;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAExD;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC,UAAU,EAAE,uBAAuB,CAAC;IAEpC;;OAEG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,sCAAsC,CAC1D,IAAI,EAAE,MAAsB,EAC5B,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,wEAAwE;AAClG,OAAO,EAAE,cAAc,EAAE,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAuI9B;
|
|
1
|
+
{"version":3,"file":"project-configuration-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/utils/project-configuration-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -373,21 +373,58 @@ function mergeCreateNodesResults(results, nxJsonConfiguration, workspaceRoot, er
|
|
|
373
373
|
perf_hooks_1.performance.measure('createNodes:merge', 'createNodes:merge - start', 'createNodes:merge - end');
|
|
374
374
|
return { projectRootMap, externalNodes, rootMap, configurationSourceMaps };
|
|
375
375
|
}
|
|
376
|
+
/**
|
|
377
|
+
* Fast matcher for patterns without negations - uses short-circuit evaluation.
|
|
378
|
+
*/
|
|
379
|
+
function matchesSimplePatterns(file, patterns) {
|
|
380
|
+
return patterns.some((pattern) => (0, minimatch_1.minimatch)(file, pattern, { dot: true }));
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* Full matcher for patterns with negations - processes all patterns sequentially.
|
|
384
|
+
* Patterns starting with '!' are negation patterns that remove files from the match set.
|
|
385
|
+
* Patterns are processed in order, with later patterns overriding earlier ones.
|
|
386
|
+
*/
|
|
387
|
+
function matchesNegationPatterns(file, patterns) {
|
|
388
|
+
// If first pattern is negation, start by matching everything
|
|
389
|
+
let isMatch = patterns[0].startsWith('!');
|
|
390
|
+
for (const pattern of patterns) {
|
|
391
|
+
const isNegation = pattern.startsWith('!');
|
|
392
|
+
const actualPattern = isNegation ? pattern.substring(1) : pattern;
|
|
393
|
+
if ((0, minimatch_1.minimatch)(file, actualPattern, { dot: true })) {
|
|
394
|
+
// Last matching pattern wins
|
|
395
|
+
isMatch = !isNegation;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
return isMatch;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Creates a matcher function for the given patterns.
|
|
402
|
+
* @param patterns Array of glob patterns (can include negation patterns starting with '!')
|
|
403
|
+
* @param emptyValue Value to return when patterns array is empty
|
|
404
|
+
* @returns A function that checks if a file matches the patterns
|
|
405
|
+
*/
|
|
406
|
+
function createMatcher(patterns, emptyValue) {
|
|
407
|
+
if (!patterns || patterns.length === 0) {
|
|
408
|
+
return () => emptyValue;
|
|
409
|
+
}
|
|
410
|
+
const hasNegationPattern = patterns.some((p) => p.startsWith('!'));
|
|
411
|
+
return hasNegationPattern
|
|
412
|
+
? (file) => matchesNegationPatterns(file, patterns)
|
|
413
|
+
: (file) => matchesSimplePatterns(file, patterns);
|
|
414
|
+
}
|
|
376
415
|
function findMatchingConfigFiles(projectFiles, pattern, include, exclude) {
|
|
377
416
|
const matchingConfigFiles = [];
|
|
417
|
+
// Create matchers once, outside the loop
|
|
418
|
+
// Empty include means include everything, empty exclude means exclude nothing
|
|
419
|
+
const includes = createMatcher(include, true);
|
|
420
|
+
const excludes = createMatcher(exclude, false);
|
|
378
421
|
for (const file of projectFiles) {
|
|
379
422
|
if ((0, minimatch_1.minimatch)(file, pattern, { dot: true })) {
|
|
380
|
-
if (
|
|
381
|
-
|
|
382
|
-
if (!included) {
|
|
383
|
-
continue;
|
|
384
|
-
}
|
|
423
|
+
if (!includes(file)) {
|
|
424
|
+
continue;
|
|
385
425
|
}
|
|
386
|
-
if (
|
|
387
|
-
|
|
388
|
-
if (excluded) {
|
|
389
|
-
continue;
|
|
390
|
-
}
|
|
426
|
+
if (excludes(file)) {
|
|
427
|
+
continue;
|
|
391
428
|
}
|
|
392
429
|
matchingConfigFiles.push(file);
|
|
393
430
|
}
|
|
@@ -15,7 +15,7 @@ export declare class ForkedProcessTaskRunner {
|
|
|
15
15
|
private pseudoTerminals;
|
|
16
16
|
constructor(options: DefaultTasksRunnerOptions, tuiEnabled: boolean);
|
|
17
17
|
init(): Promise<void>;
|
|
18
|
-
forkProcessForBatch({ executorName, taskGraph: batchTaskGraph }: Batch, projectGraph: ProjectGraph, fullTaskGraph: TaskGraph, env: NodeJS.ProcessEnv): Promise<BatchProcess>;
|
|
18
|
+
forkProcessForBatch({ id: batchId, executorName, taskGraph: batchTaskGraph }: Batch, projectGraph: ProjectGraph, fullTaskGraph: TaskGraph, env: NodeJS.ProcessEnv): Promise<BatchProcess>;
|
|
19
19
|
cleanUpBatchProcesses(): void;
|
|
20
20
|
forkProcessLegacy(task: Task, { temporaryOutputPath, streamOutput, pipeOutput, taskGraph, env, }: {
|
|
21
21
|
temporaryOutputPath: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forked-process-task-runner.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/forked-process-task-runner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,
|
|
1
|
+
{"version":3,"file":"forked-process-task-runner.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/forked-process-task-runner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAGL,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAK7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAOzC,qBAAa,uBAAuB;IAShC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAT7B,OAAO,SAAgB;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IACrE,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,eAAe,CAA6B;gBAGjC,OAAO,EAAE,yBAAyB,EAClC,UAAU,EAAE,OAAO;IAGhC,IAAI;IAKG,mBAAmB,CAC9B,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,KAAK,EAC/D,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,SAAS,EACxB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,YAAY,CAAC;IAgDjB,qBAAqB;IASf,iBAAiB,CAC5B,IAAI,EAAE,IAAI,EACV,EACE,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,GAAG,GACJ,EAAE;QACD,mBAAmB,EAAE,MAAM,CAAC;QAC5B,YAAY,EAAE,OAAO,CAAC;QACtB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,SAAS,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;KACxB,GACA,OAAO,CAAC,WAAW,CAAC;IAgBV,WAAW,CACtB,IAAI,EAAE,IAAI,EACV,EACE,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,GAAG,EACH,qBAAqB,GACtB,EAAE;QACD,mBAAmB,EAAE,MAAM,CAAC;QAC5B,YAAY,EAAE,OAAO,CAAC;QACtB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,SAAS,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;QACvB,qBAAqB,EAAE,OAAO,CAAC;KAChC,GACA,OAAO,CAAC,WAAW,GAAG,gBAAgB,CAAC;YAiC5B,oBAAoB;YAapB,6BAA6B;IA6D3C,OAAO,CAAC,8BAA8B;IAmEtC,OAAO,CAAC,8BAA8B;IA2EtC,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;IAO/B,OAAO,CAAC,0BAA0B;CAwCnC"}
|
|
@@ -4,7 +4,6 @@ exports.ForkedProcessTaskRunner = void 0;
|
|
|
4
4
|
const child_process_1 = require("child_process");
|
|
5
5
|
const fs_1 = require("fs");
|
|
6
6
|
const path_1 = require("path");
|
|
7
|
-
const native_1 = require("../native");
|
|
8
7
|
const exit_codes_1 = require("../utils/exit-codes");
|
|
9
8
|
const output_1 = require("../utils/output");
|
|
10
9
|
const strip_indents_1 = require("../utils/strip-indents");
|
|
@@ -31,7 +30,7 @@ class ForkedProcessTaskRunner {
|
|
|
31
30
|
this.setupProcessEventListeners();
|
|
32
31
|
}
|
|
33
32
|
// TODO: vsavkin delegate terminal output printing
|
|
34
|
-
async forkProcessForBatch({ executorName, taskGraph: batchTaskGraph }, projectGraph, fullTaskGraph, env) {
|
|
33
|
+
async forkProcessForBatch({ id: batchId, executorName, taskGraph: batchTaskGraph }, projectGraph, fullTaskGraph, env) {
|
|
35
34
|
const count = Object.keys(batchTaskGraph.tasks).length;
|
|
36
35
|
if (count > 1) {
|
|
37
36
|
output_1.output.logSingleLine(`Running ${output_1.output.bold(count)} ${output_1.output.bold('tasks')} with ${output_1.output.bold(executorName)}`);
|
|
@@ -49,7 +48,6 @@ class ForkedProcessTaskRunner {
|
|
|
49
48
|
});
|
|
50
49
|
// Register batch worker process with all tasks
|
|
51
50
|
if (p.pid) {
|
|
52
|
-
const batchId = `${executorName}-${p.pid}`;
|
|
53
51
|
const taskIds = Object.keys(batchTaskGraph.tasks);
|
|
54
52
|
(0, process_metrics_service_1.getProcessMetricsService)().registerBatch(batchId, taskIds, p.pid);
|
|
55
53
|
}
|
|
@@ -121,7 +119,8 @@ class ForkedProcessTaskRunner {
|
|
|
121
119
|
}
|
|
122
120
|
}
|
|
123
121
|
async createPseudoTerminal() {
|
|
124
|
-
|
|
122
|
+
// Use the helper to ensure shutdown callbacks are registered
|
|
123
|
+
const terminal = (0, pseudo_terminal_1.createPseudoTerminal)(true);
|
|
125
124
|
await terminal.init();
|
|
126
125
|
terminal.onMessageFromChildren((message) => {
|
|
127
126
|
process.send(message);
|
|
@@ -154,11 +153,7 @@ class ForkedProcessTaskRunner {
|
|
|
154
153
|
isVerbose: this.verbose,
|
|
155
154
|
});
|
|
156
155
|
this.processes.add(p);
|
|
157
|
-
|
|
158
|
-
p.onOutput((msg) => {
|
|
159
|
-
terminalOutput += msg;
|
|
160
|
-
});
|
|
161
|
-
p.onExit((code) => {
|
|
156
|
+
p.onExit((code, terminalOutput) => {
|
|
162
157
|
if (!this.tuiEnabled && code > 128) {
|
|
163
158
|
process.exit(code);
|
|
164
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-run-many-terminal-output-life-cycle.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAU/C;;;;;;;;;GASG;AACH,wBAAsB,kCAAkC,CAAC,EACvD,YAAY,EACZ,KAAK,EACL,IAAI,EACJ,SAAS,GACV,EAAE;IACD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"dynamic-run-many-terminal-output-life-cycle.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAU/C;;;;;;;;;GASG;AACH,wBAAsB,kCAAkC,CAAC,EACvD,YAAY,EACZ,KAAK,EACL,IAAI,EACJ,SAAS,GACV,EAAE;IACD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CA2cjE"}
|
|
@@ -68,6 +68,7 @@ async function createRunManyDynamicOutputRenderer({ projectNames, tasks, args, o
|
|
|
68
68
|
let currentFrame = 0;
|
|
69
69
|
let renderIntervalId;
|
|
70
70
|
const moveCursorToStartOfPinnedFooter = () => {
|
|
71
|
+
readline.cursorTo(process.stdout, 0);
|
|
71
72
|
readline.moveCursor(process.stdout, 0, -pinnedFooterNumLines);
|
|
72
73
|
};
|
|
73
74
|
const renderPinnedFooter = (lines, dividerColor = 'cyan') => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-run-one-terminal-output-life-cycle.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAqB/C;;;;;;;;;GASG;AACH,wBAAsB,iCAAiC,CAAC,EACtD,iBAAiB,EACjB,KAAK,EACL,IAAI,EACJ,SAAS,GACV,EAAE;IACD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,IAAI,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"dynamic-run-one-terminal-output-life-cycle.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAqB/C;;;;;;;;;GASG;AACH,wBAAsB,iCAAiC,CAAC,EACtD,iBAAiB,EACjB,KAAK,EACL,IAAI,EACJ,SAAS,GACV,EAAE;IACD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,IAAI,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CA0UjE"}
|
|
@@ -63,6 +63,7 @@ async function createRunOneDynamicOutputRenderer({ initiatingProject, tasks, arg
|
|
|
63
63
|
let dependentTargetsCurrentFrame = 0;
|
|
64
64
|
let renderDependentTargetsIntervalId;
|
|
65
65
|
const moveCursorToStartOfDependentTargetLines = () => {
|
|
66
|
+
readline.cursorTo(process.stdout, 0);
|
|
66
67
|
readline.moveCursor(process.stdout, 0, -dependentTargetsNumLines);
|
|
67
68
|
};
|
|
68
69
|
const renderLines = (lines, dividerColor = 'cyan', renderDivider = true) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-summary-life-cycle.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/tasks-runner/life-cycles/tui-summary-life-cycle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAc/C,wBAAgB,8BAA8B,CAAC,EAC7C,YAAY,EACZ,KAAK,EACL,SAAS,EACT,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,0BAA0B,GAC3B,EAAE;IACD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,IAAI,EAAE,CAAC;IACxB,0BAA0B,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;CACnD;
|
|
1
|
+
{"version":3,"file":"tui-summary-life-cycle.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/tasks-runner/life-cycles/tui-summary-life-cycle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAc/C,wBAAgB,8BAA8B,CAAC,EAC7C,YAAY,EACZ,KAAK,EACL,SAAS,EACT,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,0BAA0B,GAC3B,EAAE;IACD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,IAAI,EAAE,CAAC;IACxB,0BAA0B,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;CACnD;eA+fkC,SAAS;;EAC3C"}
|