nx 22.1.0-canary.20251024-7712d2a → 22.1.0-canary.20251027-29467da
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/package.json +11 -11
- package/src/core/graph/main.js +1 -1
- package/src/daemon/client/client.d.ts.map +1 -1
- package/src/daemon/client/client.js +18 -8
- package/src/daemon/client/daemon-socket-messenger.d.ts.map +1 -1
- package/src/daemon/client/daemon-socket-messenger.js +10 -2
- package/src/daemon/is-v8-serializer-enabled.d.ts +6 -0
- package/src/daemon/is-v8-serializer-enabled.d.ts.map +1 -0
- package/src/daemon/is-v8-serializer-enabled.js +10 -0
- package/src/daemon/server/file-watching/file-watcher-sockets.d.ts.map +1 -1
- package/src/daemon/server/file-watching/file-watcher-sockets.js +1 -1
- package/src/daemon/server/handle-context-file-data.js +1 -1
- package/src/daemon/server/handle-flush-sync-generator-changes-to-disk.js +1 -1
- package/src/daemon/server/handle-get-files-in-directory.js +1 -1
- package/src/daemon/server/handle-get-registered-sync-generators.js +1 -1
- package/src/daemon/server/handle-get-sync-generator-changes.js +1 -1
- package/src/daemon/server/handle-glob.js +2 -2
- package/src/daemon/server/handle-hash-tasks.d.ts +1 -1
- package/src/daemon/server/handle-hash-tasks.d.ts.map +1 -1
- package/src/daemon/server/handle-hash-tasks.js +1 -1
- package/src/daemon/server/handle-nx-workspace-files.js +1 -1
- package/src/daemon/server/handle-outputs-tracking.js +1 -1
- package/src/daemon/server/handle-task-history.d.ts +2 -2
- package/src/daemon/server/handle-task-history.js +2 -2
- package/src/daemon/server/handle-tasks-execution-hooks.d.ts +1 -1
- package/src/daemon/server/handle-tasks-execution-hooks.js +1 -1
- package/src/daemon/server/project-graph-listener-sockets.d.ts.map +1 -1
- package/src/daemon/server/project-graph-listener-sockets.js +3 -2
- package/src/daemon/server/server.d.ts +2 -2
- package/src/daemon/server/server.d.ts.map +1 -1
- package/src/daemon/server/server.js +49 -28
- package/src/daemon/server/shutdown-utils.d.ts.map +1 -1
- package/src/daemon/server/shutdown-utils.js +2 -1
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/plugins/js/index.d.ts.map +1 -1
- package/src/plugins/js/index.js +34 -20
- package/src/plugins/js/lock-file/pnpm-parser.d.ts.map +1 -1
- package/src/plugins/js/lock-file/pnpm-parser.js +4 -2
- package/src/project-graph/plugins/isolation/messaging.d.ts.map +1 -1
- package/src/project-graph/plugins/isolation/messaging.js +2 -1
- package/src/project-graph/plugins/isolation/plugin-pool.js +19 -5
- package/src/project-graph/plugins/loaded-nx-plugin.d.ts.map +1 -1
- package/src/project-graph/plugins/loaded-nx-plugin.js +2 -0
- package/src/project-graph/plugins/resolve-plugin.d.ts.map +1 -1
- package/src/project-graph/plugins/resolve-plugin.js +4 -2
- package/src/project-graph/utils/project-configuration-utils.d.ts.map +1 -1
- package/src/project-graph/utils/project-configuration-utils.js +3 -0
- package/src/tasks-runner/pseudo-ipc.d.ts.map +1 -1
- package/src/tasks-runner/pseudo-ipc.js +4 -4
- package/src/utils/consume-messages-from-socket.d.ts +2 -0
- package/src/utils/consume-messages-from-socket.d.ts.map +1 -1
- package/src/utils/consume-messages-from-socket.js +27 -8
package/src/plugins/js/index.js
CHANGED
|
@@ -16,7 +16,8 @@ const lock_file_1 = require("./lock-file/lock-file");
|
|
|
16
16
|
const build_dependencies_1 = require("./project-graph/build-dependencies/build-dependencies");
|
|
17
17
|
const config_1 = require("./utils/config");
|
|
18
18
|
exports.name = 'nx/js/dependencies-and-lockfile';
|
|
19
|
-
|
|
19
|
+
// Separate in-memory caches
|
|
20
|
+
let cachedExternalNodes;
|
|
20
21
|
exports.createNodesV2 = [
|
|
21
22
|
(0, globs_1.combineGlobPatterns)(lock_file_1.LOCKFILES),
|
|
22
23
|
(files, _, context) => {
|
|
@@ -38,15 +39,16 @@ function internalCreateNodes(lockFile, _, context) {
|
|
|
38
39
|
? (0, fs_1.readFileSync)(lockFilePath, 'utf-8')
|
|
39
40
|
: (0, bun_parser_1.readBunLockFile)(lockFilePath);
|
|
40
41
|
const lockFileHash = getLockFileHash(lockFileContents);
|
|
41
|
-
if (!lockFileNeedsReprocessing(lockFileHash)) {
|
|
42
|
-
const nodes =
|
|
43
|
-
|
|
42
|
+
if (!lockFileNeedsReprocessing(lockFileHash, externalNodesHashFile)) {
|
|
43
|
+
const nodes = readCachedExternalNodes();
|
|
44
|
+
cachedExternalNodes = nodes;
|
|
44
45
|
return {
|
|
45
46
|
externalNodes: nodes,
|
|
46
47
|
};
|
|
47
48
|
}
|
|
48
49
|
const externalNodes = (0, lock_file_1.getLockFileNodes)(packageManager, lockFileContents, lockFileHash, context);
|
|
49
|
-
|
|
50
|
+
cachedExternalNodes = externalNodes;
|
|
51
|
+
writeExternalNodesCache(lockFileHash, externalNodes);
|
|
50
52
|
return {
|
|
51
53
|
externalNodes,
|
|
52
54
|
};
|
|
@@ -58,19 +60,18 @@ const createDependencies = (_, ctx) => {
|
|
|
58
60
|
// lockfile may not exist yet
|
|
59
61
|
if (pluginConfig.analyzeLockfile &&
|
|
60
62
|
(0, lock_file_1.lockFileExists)(packageManager) &&
|
|
61
|
-
|
|
63
|
+
cachedExternalNodes) {
|
|
62
64
|
const lockFilePath = (0, path_1.join)(workspace_root_1.workspaceRoot, (0, lock_file_1.getLockFileName)(packageManager));
|
|
63
65
|
const lockFileContents = packageManager !== 'bun'
|
|
64
66
|
? (0, fs_1.readFileSync)(lockFilePath, 'utf-8')
|
|
65
67
|
: (0, bun_parser_1.readBunLockFile)(lockFilePath);
|
|
66
68
|
const lockFileHash = getLockFileHash(lockFileContents);
|
|
67
|
-
if (!lockFileNeedsReprocessing(lockFileHash)) {
|
|
68
|
-
lockfileDependencies =
|
|
69
|
+
if (!lockFileNeedsReprocessing(lockFileHash, dependenciesHashFile)) {
|
|
70
|
+
lockfileDependencies = readCachedDependencies();
|
|
69
71
|
}
|
|
70
72
|
else {
|
|
71
73
|
lockfileDependencies = (0, lock_file_1.getLockFileDependencies)(packageManager, lockFileContents, lockFileHash, ctx);
|
|
72
|
-
|
|
73
|
-
writeLastProcessedLockfileHash(lockFileHash, parsedLockFile);
|
|
74
|
+
writeDependenciesCache(lockFileHash, lockfileDependencies);
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
77
|
perf_hooks_1.performance.mark('build typescript dependencies - start');
|
|
@@ -83,21 +84,34 @@ exports.createDependencies = createDependencies;
|
|
|
83
84
|
function getLockFileHash(lockFileContents) {
|
|
84
85
|
return (0, file_hasher_1.hashArray)([versions_1.nxVersion, lockFileContents]);
|
|
85
86
|
}
|
|
86
|
-
function lockFileNeedsReprocessing(lockHash) {
|
|
87
|
+
function lockFileNeedsReprocessing(lockHash, hashFilePath) {
|
|
87
88
|
try {
|
|
88
|
-
return (0, fs_1.readFileSync)(
|
|
89
|
+
return (0, fs_1.readFileSync)(hashFilePath).toString() !== lockHash;
|
|
89
90
|
}
|
|
90
91
|
catch {
|
|
91
92
|
return true;
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
(0, fs_1.
|
|
97
|
-
(0, fs_1.writeFileSync)(
|
|
95
|
+
// External nodes cache functions
|
|
96
|
+
function writeExternalNodesCache(hash, nodes) {
|
|
97
|
+
(0, fs_1.mkdirSync)((0, path_1.dirname)(externalNodesHashFile), { recursive: true });
|
|
98
|
+
(0, fs_1.writeFileSync)(externalNodesCache, JSON.stringify(nodes, null, 2));
|
|
99
|
+
(0, fs_1.writeFileSync)(externalNodesHashFile, hash);
|
|
98
100
|
}
|
|
99
|
-
function
|
|
100
|
-
return JSON.parse((0, fs_1.readFileSync)(
|
|
101
|
+
function readCachedExternalNodes() {
|
|
102
|
+
return JSON.parse((0, fs_1.readFileSync)(externalNodesCache).toString());
|
|
101
103
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
+
// Dependencies cache functions
|
|
105
|
+
function writeDependenciesCache(hash, dependencies) {
|
|
106
|
+
(0, fs_1.mkdirSync)((0, path_1.dirname)(dependenciesHashFile), { recursive: true });
|
|
107
|
+
(0, fs_1.writeFileSync)(dependenciesCache, JSON.stringify(dependencies, null, 2));
|
|
108
|
+
(0, fs_1.writeFileSync)(dependenciesHashFile, hash);
|
|
109
|
+
}
|
|
110
|
+
function readCachedDependencies() {
|
|
111
|
+
return JSON.parse((0, fs_1.readFileSync)(dependenciesCache).toString());
|
|
112
|
+
}
|
|
113
|
+
// Cache file paths
|
|
114
|
+
const externalNodesHashFile = (0, path_1.join)(cache_directory_1.workspaceDataDirectory, 'lockfile-nodes.hash');
|
|
115
|
+
const dependenciesHashFile = (0, path_1.join)(cache_directory_1.workspaceDataDirectory, 'lockfile-dependencies.hash');
|
|
116
|
+
const externalNodesCache = (0, path_1.join)(cache_directory_1.workspaceDataDirectory, 'parsed-lock-file.nodes.json');
|
|
117
|
+
const dependenciesCache = (0, path_1.join)(cache_directory_1.workspaceDataDirectory, 'parsed-lock-file.dependencies.json');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pnpm-parser.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/plugins/js/lock-file/pnpm-parser.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,yBAAyB,EAE1B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAEL,YAAY,EACZ,wBAAwB,EACzB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AA2B3E,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAS1C;AAED,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,yBAAyB,+BAU/B;AAkUD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EACnB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,qBAAqB,EAClC,aAAa,EAAE,MAAM,GACpB,MAAM,
|
|
1
|
+
{"version":3,"file":"pnpm-parser.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/plugins/js/lock-file/pnpm-parser.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,yBAAyB,EAE1B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAEL,YAAY,EACZ,wBAAwB,EACzB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AA2B3E,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAS1C;AAED,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,yBAAyB,+BAU/B;AAkUD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EACnB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,qBAAqB,EAClC,aAAa,EAAE,MAAM,GACpB,MAAM,CAuCR"}
|
|
@@ -287,8 +287,10 @@ function stringifyPnpmLockfile(graph, rootLockFileContent, packageJson, workspac
|
|
|
287
287
|
const workspaceDependencyImporters = {};
|
|
288
288
|
for (const [packageName, importerPath] of Object.entries(requiredImporters)) {
|
|
289
289
|
const baseImporter = importers[importerPath];
|
|
290
|
-
|
|
291
|
-
|
|
290
|
+
if (baseImporter) {
|
|
291
|
+
workspaceDependencyImporters[`workspace_modules/${packageName}`] =
|
|
292
|
+
baseImporter;
|
|
293
|
+
}
|
|
292
294
|
}
|
|
293
295
|
const output = {
|
|
294
296
|
...data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/project-graph/plugins/isolation/messaging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/project-graph/plugins/isolation/messaging.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ exports.isPluginWorkerMessage = isPluginWorkerMessage;
|
|
|
4
4
|
exports.isPluginWorkerResult = isPluginWorkerResult;
|
|
5
5
|
exports.consumeMessage = consumeMessage;
|
|
6
6
|
exports.sendMessageOverSocket = sendMessageOverSocket;
|
|
7
|
+
const consume_messages_from_socket_1 = require("../../../utils/consume-messages-from-socket");
|
|
7
8
|
function isPluginWorkerMessage(message) {
|
|
8
9
|
return (typeof message === 'object' &&
|
|
9
10
|
'type' in message &&
|
|
@@ -46,5 +47,5 @@ async function consumeMessage(socket, raw, handlers) {
|
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
function sendMessageOverSocket(socket, message) {
|
|
49
|
-
socket.write(JSON.stringify(message) +
|
|
50
|
+
socket.write(JSON.stringify(message) + consume_messages_from_socket_1.MESSAGE_END_SEQ);
|
|
50
51
|
}
|
|
@@ -166,7 +166,7 @@ function createWorkerHandler(worker, pending, onload, onloadError, socket) {
|
|
|
166
166
|
}
|
|
167
167
|
},
|
|
168
168
|
createDependenciesResult: ({ tx, ...result }) => {
|
|
169
|
-
const { resolver, rejector } =
|
|
169
|
+
const { resolver, rejector } = getPendingPromise(tx, pending);
|
|
170
170
|
if (result.success) {
|
|
171
171
|
resolver(result.dependencies);
|
|
172
172
|
}
|
|
@@ -175,7 +175,7 @@ function createWorkerHandler(worker, pending, onload, onloadError, socket) {
|
|
|
175
175
|
}
|
|
176
176
|
},
|
|
177
177
|
createNodesResult: ({ tx, ...result }) => {
|
|
178
|
-
const { resolver, rejector } =
|
|
178
|
+
const { resolver, rejector } = getPendingPromise(tx, pending);
|
|
179
179
|
if (result.success) {
|
|
180
180
|
resolver(result.result);
|
|
181
181
|
}
|
|
@@ -184,7 +184,7 @@ function createWorkerHandler(worker, pending, onload, onloadError, socket) {
|
|
|
184
184
|
}
|
|
185
185
|
},
|
|
186
186
|
createMetadataResult: ({ tx, ...result }) => {
|
|
187
|
-
const { resolver, rejector } =
|
|
187
|
+
const { resolver, rejector } = getPendingPromise(tx, pending);
|
|
188
188
|
if (result.success) {
|
|
189
189
|
resolver(result.metadata);
|
|
190
190
|
}
|
|
@@ -193,7 +193,7 @@ function createWorkerHandler(worker, pending, onload, onloadError, socket) {
|
|
|
193
193
|
}
|
|
194
194
|
},
|
|
195
195
|
preTasksExecutionResult: ({ tx, ...result }) => {
|
|
196
|
-
const { resolver, rejector } =
|
|
196
|
+
const { resolver, rejector } = getPendingPromise(tx, pending);
|
|
197
197
|
if (result.success) {
|
|
198
198
|
resolver(result.mutations);
|
|
199
199
|
}
|
|
@@ -202,7 +202,7 @@ function createWorkerHandler(worker, pending, onload, onloadError, socket) {
|
|
|
202
202
|
}
|
|
203
203
|
},
|
|
204
204
|
postTasksExecutionResult: ({ tx, ...result }) => {
|
|
205
|
-
const { resolver, rejector } =
|
|
205
|
+
const { resolver, rejector } = getPendingPromise(tx, pending);
|
|
206
206
|
if (result.success) {
|
|
207
207
|
resolver();
|
|
208
208
|
}
|
|
@@ -220,6 +220,20 @@ function createWorkerExitHandler(worker, pendingPromises) {
|
|
|
220
220
|
}
|
|
221
221
|
};
|
|
222
222
|
}
|
|
223
|
+
function getPendingPromise(tx, pending) {
|
|
224
|
+
const pendingPromise = pending.get(tx);
|
|
225
|
+
if (!pendingPromise) {
|
|
226
|
+
throw new Error(`No pending promise found for transaction "${tx}". This may indicate a bug in the plugin pool. Currently pending promises:\n` +
|
|
227
|
+
Array.from(pending.keys())
|
|
228
|
+
.map((t) => ` - ${t}`)
|
|
229
|
+
.join('\n'));
|
|
230
|
+
}
|
|
231
|
+
const { rejector, resolver } = pendingPromise;
|
|
232
|
+
return {
|
|
233
|
+
rejector,
|
|
234
|
+
resolver,
|
|
235
|
+
};
|
|
236
|
+
}
|
|
223
237
|
function registerPendingPromise(tx, pending, callback, context) {
|
|
224
238
|
let resolver, rejector, timeout;
|
|
225
239
|
const promise = new Promise((res, rej) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loaded-nx-plugin.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/plugins/loaded-nx-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAKhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAItB,qBAAa,cAAc;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,WAAW,EAAE,MAAM;QAGnB,EAAE,EAAE,CACF,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,oBAAoB,KAC1B,OAAO,CACV,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAC1E;KACF,CAAC;IACF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,CACxB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAC3B,OAAO,EAAE,wBAAwB,KAC9B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEhB,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"loaded-nx-plugin.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/plugins/loaded-nx-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAKhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAItB,qBAAa,cAAc;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,WAAW,EAAE,MAAM;QAGnB,EAAE,EAAE,CACF,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,oBAAoB,KAC1B,OAAO,CACV,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAC1E;KACF,CAAC;IACF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,CACxB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAC3B,OAAO,EAAE,wBAAwB,KAC9B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEhB,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB;CAuFtE"}
|
|
@@ -66,6 +66,8 @@ class LoadedNxPlugin {
|
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
68
|
await plugin.preTasksExecution(this.options, context);
|
|
69
|
+
// This doesn't revert env changes, as the proxy still updates
|
|
70
|
+
// originalEnv, rather it removes the proxy.
|
|
69
71
|
process.env = originalEnv;
|
|
70
72
|
return updates;
|
|
71
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-plugin.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/plugins/resolve-plugin.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-plugin.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/plugins/resolve-plugin.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAOrF,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE;;;;GAiBhB;AAqBD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC9C,IAAI,SAAgB,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,oBAAoB,CAAA;CAAE,GAAG,IAAI,CAE9D;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC9C,IAAI,EAAE,MAAM;;;;EAmCb"}
|
|
@@ -13,14 +13,16 @@ const workspace_root_1 = require("../../utils/workspace-root");
|
|
|
13
13
|
const find_project_for_path_1 = require("../utils/find-project-for-path");
|
|
14
14
|
const retrieve_workspace_files_1 = require("../utils/retrieve-workspace-files");
|
|
15
15
|
let projectsWithoutInference;
|
|
16
|
+
let projectsWithoutInferencePromise = null;
|
|
16
17
|
async function resolveNxPlugin(moduleName, root, paths) {
|
|
17
18
|
try {
|
|
18
19
|
require.resolve(moduleName);
|
|
19
20
|
}
|
|
20
21
|
catch {
|
|
21
22
|
// If a plugin cannot be resolved, we will need projects to resolve it
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
projectsWithoutInferencePromise ??=
|
|
24
|
+
(0, retrieve_workspace_files_1.retrieveProjectConfigurationsWithoutPluginInference)(root);
|
|
25
|
+
projectsWithoutInference ??= await projectsWithoutInferencePromise;
|
|
24
26
|
}
|
|
25
27
|
const { pluginPath, name, shouldRegisterTSTranspiler } = getPluginPathAndName(moduleName, paths, projectsWithoutInference, root);
|
|
26
28
|
return { pluginPath, name, shouldRegisterTSTranspiler };
|
|
@@ -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,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAyB7D,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,CAsI9B;AA6FD,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,EAAE,CA2BV;AAED,wBAAgB,oCAAoC,CAClD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,wCAwCrD;
|
|
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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"}
|
|
@@ -470,6 +470,9 @@ function validateAndNormalizeProjectRootMap(workspaceRoot, projectRootMap, nxJso
|
|
|
470
470
|
throw e;
|
|
471
471
|
}
|
|
472
472
|
}
|
|
473
|
+
}
|
|
474
|
+
for (const root in projectRootMap) {
|
|
475
|
+
const project = projectRootMap[root];
|
|
473
476
|
normalizeTargets(project, sourceMaps, nxJsonConfiguration, workspaceRoot, projects);
|
|
474
477
|
}
|
|
475
478
|
if (conflicts.size > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pseudo-ipc.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/pseudo-ipc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"pseudo-ipc.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/pseudo-ipc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,yBAAyB,GAAG,yBAAyB,GAAG,aAAa,CAAC;IAC5E,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,qBAAa,eAAe;IAUd,OAAO,CAAC,IAAI;IATxB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,CAAC,aAAa,CAIZ;gBAEW,IAAI,EAAE,MAAM;IAEhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAerB,OAAO,CAAC,aAAa,CAAiC;IAEhD,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAMvC,OAAO,CAAC,qBAAqB;IA8B7B,qBAAqB,CAAC,OAAO,EAAE,YAAY;IAU3C,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IASpD,qBAAqB,CACnB,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,EAC1C,OAAO,GAAE,MAAM,IAAe,EAC9B,OAAO,GAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAkB;IAS7C,KAAK;CAIN;AAED,qBAAa,eAAe;IAGd,OAAO,CAAC,IAAI;IAFxB,OAAO,CAAC,MAAM,CAA0C;gBAEpC,IAAI,EAAE,MAAM;IAEhC,mBAAmB,CAAC,OAAO,EAAE,YAAY;IAQzC,kBAAkB,CAAC,EAAE,EAAE,MAAM;IAW7B,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,EAC1C,OAAO,GAAE,MAAM,IAAe,EAC9B,OAAO,GAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAkB;IAsB7C,KAAK;CAGN"}
|
|
@@ -77,13 +77,13 @@ class PseudoIPCServer {
|
|
|
77
77
|
this.sockets.forEach((socket) => {
|
|
78
78
|
socket.write(JSON.stringify({ type: 'TO_CHILDREN_FROM_PARENT', message }));
|
|
79
79
|
// send EOT to indicate that the message has been fully written
|
|
80
|
-
socket.write(
|
|
80
|
+
socket.write(consume_messages_from_socket_1.MESSAGE_END_SEQ);
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
sendMessageToChild(id, message) {
|
|
84
84
|
this.sockets.forEach((socket) => {
|
|
85
85
|
socket.write(JSON.stringify({ type: 'TO_CHILDREN_FROM_PARENT', id, message }));
|
|
86
|
-
socket.write(
|
|
86
|
+
socket.write(consume_messages_from_socket_1.MESSAGE_END_SEQ);
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
89
|
onMessageFromChildren(onMessage, onClose = () => { }, onError = (err) => { }) {
|
|
@@ -107,7 +107,7 @@ class PseudoIPCClient {
|
|
|
107
107
|
sendMessageToParent(message) {
|
|
108
108
|
this.socket.write(JSON.stringify({ type: 'TO_PARENT_FROM_CHILDREN', message }));
|
|
109
109
|
// send EOT to indicate that the message has been fully written
|
|
110
|
-
this.socket.write(
|
|
110
|
+
this.socket.write(consume_messages_from_socket_1.MESSAGE_END_SEQ);
|
|
111
111
|
}
|
|
112
112
|
notifyChildIsReady(id) {
|
|
113
113
|
this.socket.write(JSON.stringify({
|
|
@@ -115,7 +115,7 @@ class PseudoIPCClient {
|
|
|
115
115
|
message: id,
|
|
116
116
|
}));
|
|
117
117
|
// send EOT to indicate that the message has been fully written
|
|
118
|
-
this.socket.write(
|
|
118
|
+
this.socket.write(consume_messages_from_socket_1.MESSAGE_END_SEQ);
|
|
119
119
|
}
|
|
120
120
|
onMessageFromParent(forkId, onMessage, onClose = () => { }, onError = (err) => { }) {
|
|
121
121
|
this.socket.on('data', (0, consume_messages_from_socket_1.consumeMessagesFromSocket)(async (rawMessage) => {
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
export declare const MESSAGE_END_SEQ: string;
|
|
1
2
|
export declare function consumeMessagesFromSocket(callback: (message: string) => void): (data: any) => void;
|
|
3
|
+
export declare function isJsonMessage(message: string): boolean;
|
|
2
4
|
//# sourceMappingURL=consume-messages-from-socket.d.ts.map
|
|
@@ -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":"AAAA,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,IAEnE,SAAI,
|
|
1
|
+
{"version":3,"file":"consume-messages-from-socket.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/consume-messages-from-socket.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,QAAwC,CAAC;AAErE,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,IAEnE,SAAI,UAyBb;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAYtD"}
|
|
@@ -1,21 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MESSAGE_END_SEQ = void 0;
|
|
3
4
|
exports.consumeMessagesFromSocket = consumeMessagesFromSocket;
|
|
5
|
+
exports.isJsonMessage = isJsonMessage;
|
|
6
|
+
exports.MESSAGE_END_SEQ = 'NX_MSG_END' + String.fromCharCode(4);
|
|
4
7
|
function consumeMessagesFromSocket(callback) {
|
|
5
8
|
let message = '';
|
|
6
9
|
return (data) => {
|
|
7
10
|
const chunk = data.toString();
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
message += chunk;
|
|
12
|
+
// Check if accumulated message ends with MESSAGE_END_SEQ (not just the chunk)
|
|
13
|
+
// This handles TCP packet fragmentation where MESSAGE_END_SEQ may be split across packets
|
|
14
|
+
if (message.endsWith(exports.MESSAGE_END_SEQ)) {
|
|
15
|
+
// Remove the trailing MESSAGE_END_SEQ
|
|
16
|
+
const fullMessage = message.substring(0, message.length - exports.MESSAGE_END_SEQ.length);
|
|
17
|
+
// Server may send multiple messages in one chunk, so splitting by MESSAGE_END_SEQ
|
|
18
|
+
const messages = fullMessage.split(exports.MESSAGE_END_SEQ);
|
|
12
19
|
for (const splitMessage of messages) {
|
|
13
|
-
|
|
20
|
+
if (splitMessage) {
|
|
21
|
+
callback(splitMessage);
|
|
22
|
+
}
|
|
14
23
|
}
|
|
15
24
|
message = '';
|
|
16
25
|
}
|
|
17
|
-
|
|
18
|
-
message += chunk;
|
|
19
|
-
}
|
|
26
|
+
// If message doesn't end with MESSAGE_END_SEQ, keep accumulating chunks
|
|
20
27
|
};
|
|
21
28
|
}
|
|
29
|
+
function isJsonMessage(message) {
|
|
30
|
+
return (
|
|
31
|
+
// json objects
|
|
32
|
+
['[', '{'].some((prefix) => message.startsWith(prefix)) ||
|
|
33
|
+
// booleans
|
|
34
|
+
message === 'true' ||
|
|
35
|
+
message === 'false' ||
|
|
36
|
+
// strings
|
|
37
|
+
(message.startsWith('"') && message.endsWith('"')) ||
|
|
38
|
+
// numbers
|
|
39
|
+
/^[0-9]+(\.?[0-9]+)?$/.test(message));
|
|
40
|
+
}
|