nx 22.5.0-beta.2 → 22.5.0-beta.4
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/README.md +3 -3
- package/package.json +13 -13
- package/src/ai/constants.d.ts +1 -0
- package/src/ai/constants.d.ts.map +1 -1
- package/src/ai/constants.js +4 -0
- 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 +22 -0
- 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 +77 -43
- package/src/command-line/nx-commands.js +1 -1
- package/src/command-line/release/changelog/version-plan-filtering.d.ts +6 -3
- package/src/command-line/release/changelog/version-plan-filtering.d.ts.map +1 -1
- package/src/command-line/release/changelog/version-plan-filtering.js +4 -3
- package/src/command-line/release/changelog.d.ts.map +1 -1
- package/src/command-line/release/changelog.js +11 -9
- package/src/command-line/release/utils/git.d.ts +3 -2
- package/src/command-line/release/utils/git.d.ts.map +1 -1
- package/src/command-line/release/utils/git.js +3 -69
- package/src/command-line/release/utils/release-graph.d.ts +10 -0
- package/src/command-line/release/utils/release-graph.d.ts.map +1 -1
- package/src/command-line/release/utils/release-graph.js +32 -1
- package/src/command-line/release/utils/repository-git-tags.d.ts +26 -0
- package/src/command-line/release/utils/repository-git-tags.d.ts.map +1 -0
- package/src/command-line/release/utils/repository-git-tags.js +125 -0
- package/src/command-line/release/utils/resolve-semver-specifier.d.ts +2 -1
- package/src/command-line/release/utils/resolve-semver-specifier.d.ts.map +1 -1
- package/src/command-line/release/utils/resolve-semver-specifier.js +2 -2
- package/src/command-line/release/utils/shared.d.ts +3 -2
- package/src/command-line/release/utils/shared.d.ts.map +1 -1
- package/src/command-line/release/utils/shared.js +4 -10
- package/src/command-line/release/version/derive-specifier-from-conventional-commits.d.ts +2 -1
- package/src/command-line/release/version/derive-specifier-from-conventional-commits.d.ts.map +1 -1
- package/src/command-line/release/version/derive-specifier-from-conventional-commits.js +2 -2
- package/src/command-line/release/version/release-group-processor.d.ts.map +1 -1
- package/src/command-line/release/version/release-group-processor.js +1 -1
- package/src/command-line/run/run-one.d.ts +1 -1
- package/src/command-line/run/run-one.d.ts.map +1 -1
- package/src/command-line/run/run-one.js +12 -9
- package/src/core/graph/main.js +1 -1
- package/src/daemon/client/client.js +4 -4
- package/src/daemon/server/server.d.ts.map +1 -1
- package/src/daemon/server/server.js +3 -2
- package/src/daemon/server/shutdown-utils.d.ts.map +1 -1
- package/src/daemon/server/shutdown-utils.js +1 -1
- package/src/executors/run-commands/running-tasks.d.ts.map +1 -1
- package/src/executors/run-commands/running-tasks.js +4 -4
- package/src/hasher/hash-task.d.ts +3 -3
- package/src/hasher/hash-task.d.ts.map +1 -1
- package/src/hasher/hash-task.js +24 -5
- package/src/hasher/native-task-hasher-impl.d.ts +1 -1
- package/src/hasher/native-task-hasher-impl.d.ts.map +1 -1
- package/src/hasher/native-task-hasher-impl.js +2 -2
- package/src/hasher/task-hasher.d.ts +4 -1
- package/src/hasher/task-hasher.d.ts.map +1 -1
- package/src/hasher/task-hasher.js +1 -0
- package/src/native/index.d.ts +18 -2
- package/src/native/nx.wasi.cjs +29 -28
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/project-graph/plugins/get-plugins.d.ts.map +1 -1
- package/src/project-graph/plugins/get-plugins.js +81 -11
- package/src/project-graph/plugins/isolation/plugin-pool.d.ts.map +1 -1
- package/src/project-graph/plugins/isolation/plugin-pool.js +78 -27
- package/src/project-graph/plugins/isolation/plugin-worker.js +33 -17
- package/src/project-graph/project-graph.js +1 -1
- package/src/tasks-runner/cache.d.ts +2 -2
- package/src/tasks-runner/cache.d.ts.map +1 -1
- package/src/tasks-runner/cache.js +14 -11
- package/src/tasks-runner/forked-process-task-runner.d.ts +3 -3
- package/src/tasks-runner/forked-process-task-runner.d.ts.map +1 -1
- package/src/tasks-runner/forked-process-task-runner.js +12 -11
- package/src/tasks-runner/process-metrics-service.d.ts +2 -2
- package/src/tasks-runner/process-metrics-service.d.ts.map +1 -1
- package/src/tasks-runner/process-metrics-service.js +2 -2
- package/src/tasks-runner/run-command.d.ts.map +1 -1
- package/src/tasks-runner/task-io-service.d.ts +97 -0
- package/src/tasks-runner/task-io-service.d.ts.map +1 -0
- package/src/tasks-runner/task-io-service.js +146 -0
- package/src/utils/consume-messages-from-socket.d.ts.map +1 -1
- package/src/utils/consume-messages-from-socket.js +3 -1
- package/src/utils/promised-based-queue.d.ts +0 -7
- package/src/utils/promised-based-queue.d.ts.map +1 -1
- package/src/utils/promised-based-queue.js +0 -9
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTaskIOService = getTaskIOService;
|
|
4
|
+
exports.registerTaskProcessStart = registerTaskProcessStart;
|
|
5
|
+
const process_metrics_service_1 = require("./process-metrics-service");
|
|
6
|
+
/**
|
|
7
|
+
* Service for tracking task process IDs and providing access to task IO information.
|
|
8
|
+
* Subscribes to ProcessMetricsService for PID discovery.
|
|
9
|
+
* IO information comes from hash inputs (populated during hashing).
|
|
10
|
+
* Output files are reported when tasks are stored to cache.
|
|
11
|
+
*/
|
|
12
|
+
class TaskIOService {
|
|
13
|
+
constructor(projectGraph, taskGraph) {
|
|
14
|
+
// Used to call subscribers that were late to the party
|
|
15
|
+
this.taskToPids = new Map();
|
|
16
|
+
this.taskToInputs = new Map();
|
|
17
|
+
this.taskToOutputs = new Map();
|
|
18
|
+
// Subscription state
|
|
19
|
+
this.pidCallbacks = [];
|
|
20
|
+
this.taskInputCallbacks = [];
|
|
21
|
+
this.taskOutputsCallbacks = [];
|
|
22
|
+
// Project graph and task graph for resolving task information
|
|
23
|
+
this.projectGraph = null;
|
|
24
|
+
this.taskGraph = null;
|
|
25
|
+
if (projectGraph) {
|
|
26
|
+
this.projectGraph = projectGraph;
|
|
27
|
+
}
|
|
28
|
+
if (taskGraph) {
|
|
29
|
+
this.taskGraph = taskGraph;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Subscribe to task PID updates.
|
|
34
|
+
* Receives notifications when processes are added/removed from tasks.
|
|
35
|
+
*/
|
|
36
|
+
subscribeToTaskPids(callback) {
|
|
37
|
+
this.pidCallbacks.push(callback);
|
|
38
|
+
// Emit current state to new subscriber
|
|
39
|
+
for (const [taskId, pid] of this.taskToPids) {
|
|
40
|
+
callback({
|
|
41
|
+
taskId,
|
|
42
|
+
pid,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Subscribe to hash inputs as they are computed.
|
|
48
|
+
* Called when a task's hash inputs become available.
|
|
49
|
+
*/
|
|
50
|
+
subscribeToTaskInputs(callback) {
|
|
51
|
+
this.taskInputCallbacks.push(callback);
|
|
52
|
+
// Emit current state to new subscriber
|
|
53
|
+
for (const [, taskInputInfo] of this.taskToInputs) {
|
|
54
|
+
callback(taskInputInfo);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Subscribe to task outputs as they are stored to cache.
|
|
59
|
+
* Called when a task's output files are collected for caching.
|
|
60
|
+
*/
|
|
61
|
+
subscribeToTaskOutputs(callback) {
|
|
62
|
+
this.taskOutputsCallbacks.push(callback);
|
|
63
|
+
// Emit current state to new subscriber
|
|
64
|
+
for (const [task, outputs] of this.taskToOutputs) {
|
|
65
|
+
callback({
|
|
66
|
+
taskId: task,
|
|
67
|
+
outputs: outputs,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Notify subscribers that hash inputs are available for a task.
|
|
73
|
+
* Called from the hasher when inputs are computed.
|
|
74
|
+
*/
|
|
75
|
+
notifyTaskInputs(taskId, inputs) {
|
|
76
|
+
const taskInputInfo = {
|
|
77
|
+
taskId,
|
|
78
|
+
inputs,
|
|
79
|
+
};
|
|
80
|
+
this.taskToInputs.set(taskId, taskInputInfo);
|
|
81
|
+
for (const cb of this.taskInputCallbacks) {
|
|
82
|
+
try {
|
|
83
|
+
cb(taskInputInfo);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
// Silent failure - don't let one callback break others
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Notify subscribers that task outputs have been collected.
|
|
92
|
+
* Called from the cache when outputs are stored.
|
|
93
|
+
*/
|
|
94
|
+
notifyTaskOutputs(taskId, outputs) {
|
|
95
|
+
this.taskToOutputs.set(taskId, outputs);
|
|
96
|
+
const update = {
|
|
97
|
+
taskId,
|
|
98
|
+
outputs,
|
|
99
|
+
};
|
|
100
|
+
for (const cb of this.taskOutputsCallbacks) {
|
|
101
|
+
try {
|
|
102
|
+
cb(update);
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
// Silent failure - don't let one callback break others
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Registers a PID to a task and notifies subscribers.
|
|
111
|
+
* @param update The TaskPidUpdate containing taskId and pid.
|
|
112
|
+
*/
|
|
113
|
+
notifyPidUpdate(update) {
|
|
114
|
+
this.taskToPids.set(update.taskId, update.pid);
|
|
115
|
+
for (const cb of this.pidCallbacks) {
|
|
116
|
+
try {
|
|
117
|
+
cb(update);
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
// Silent failure - don't let one callback break others
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// Singleton
|
|
126
|
+
let instance = null;
|
|
127
|
+
/**
|
|
128
|
+
* Get or create the singleton TaskIOService instance.
|
|
129
|
+
* Optionally provide projectGraph and taskGraph to initialize with context.
|
|
130
|
+
*/
|
|
131
|
+
function getTaskIOService(projectGraph, taskGraph) {
|
|
132
|
+
if (!instance) {
|
|
133
|
+
instance = new TaskIOService(projectGraph, taskGraph);
|
|
134
|
+
}
|
|
135
|
+
return instance;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Register a task process start with both IO and metrics services.
|
|
139
|
+
* This is the standard way to notify the system that a task process has started.
|
|
140
|
+
* Both services need to be notified together - TaskIOService for external subscribers
|
|
141
|
+
* and ProcessMetricsService for native resource monitoring.
|
|
142
|
+
*/
|
|
143
|
+
function registerTaskProcessStart(taskId, pid) {
|
|
144
|
+
getTaskIOService().notifyPidUpdate({ taskId, pid });
|
|
145
|
+
(0, process_metrics_service_1.getProcessMetricsService)().registerTaskProcess(taskId, pid);
|
|
146
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consume-messages-from-socket.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/consume-messages-from-socket.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"consume-messages-from-socket.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/consume-messages-from-socket.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,QACuB,CAAC;AAEpD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,IAGnE,SAAI,UA4Bb;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAYtD"}
|
|
@@ -3,12 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MESSAGE_END_SEQ = void 0;
|
|
4
4
|
exports.consumeMessagesFromSocket = consumeMessagesFromSocket;
|
|
5
5
|
exports.isJsonMessage = isJsonMessage;
|
|
6
|
+
const string_decoder_1 = require("string_decoder");
|
|
6
7
|
const VERY_END_CODE = 4;
|
|
7
8
|
exports.MESSAGE_END_SEQ = 'NX_MSG_END' + String.fromCharCode(VERY_END_CODE);
|
|
8
9
|
function consumeMessagesFromSocket(callback) {
|
|
9
10
|
let message = '';
|
|
11
|
+
const decoder = new string_decoder_1.StringDecoder('utf8');
|
|
10
12
|
return (data) => {
|
|
11
|
-
const chunk =
|
|
13
|
+
const chunk = decoder.write(data);
|
|
12
14
|
message += chunk;
|
|
13
15
|
// Check if accumulated message ends with MESSAGE_END_SEQ (not just the chunk)
|
|
14
16
|
// This handles TCP packet fragmentation where MESSAGE_END_SEQ may be split across packets
|
|
@@ -3,12 +3,5 @@ export declare class PromisedBasedQueue {
|
|
|
3
3
|
private promise;
|
|
4
4
|
sendToQueue(fn: () => Promise<any>): Promise<any>;
|
|
5
5
|
isEmpty(): boolean;
|
|
6
|
-
/**
|
|
7
|
-
* Used to decrement the internal counter representing the number of active promises in the queue.
|
|
8
|
-
* This is useful for retrying a failed daemon message, as we want to be able to shut the daemon down
|
|
9
|
-
* without marking the promise that represents the failed message as settled. To do so, we store
|
|
10
|
-
* the promise in a separate variable and only resolve or reject it later.
|
|
11
|
-
*/
|
|
12
|
-
decrementQueueCounter(): void;
|
|
13
6
|
}
|
|
14
7
|
//# sourceMappingURL=promised-based-queue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promised-based-queue.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/promised-based-queue.ts"],"names":[],"mappings":"AAAA,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAyB;IAExC,WAAW,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA8BjD,OAAO;
|
|
1
|
+
{"version":3,"file":"promised-based-queue.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/promised-based-queue.ts"],"names":[],"mappings":"AAAA,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,OAAO,CAAyB;IAExC,WAAW,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA8BjD,OAAO;CAGR"}
|
|
@@ -39,14 +39,5 @@ class PromisedBasedQueue {
|
|
|
39
39
|
isEmpty() {
|
|
40
40
|
return this.counter === 0;
|
|
41
41
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Used to decrement the internal counter representing the number of active promises in the queue.
|
|
44
|
-
* This is useful for retrying a failed daemon message, as we want to be able to shut the daemon down
|
|
45
|
-
* without marking the promise that represents the failed message as settled. To do so, we store
|
|
46
|
-
* the promise in a separate variable and only resolve or reject it later.
|
|
47
|
-
*/
|
|
48
|
-
decrementQueueCounter() {
|
|
49
|
-
this.counter--;
|
|
50
|
-
}
|
|
51
42
|
}
|
|
52
43
|
exports.PromisedBasedQueue = PromisedBasedQueue;
|