nx 19.8.11 → 19.8.13
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
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "nx",
|
3
|
-
"version": "19.8.
|
3
|
+
"version": "19.8.13",
|
4
4
|
"private": false,
|
5
5
|
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
|
6
6
|
"repository": {
|
@@ -67,7 +67,7 @@
|
|
67
67
|
"yargs-parser": "21.1.1",
|
68
68
|
"node-machine-id": "1.1.12",
|
69
69
|
"ora": "5.3.0",
|
70
|
-
"@nrwl/tao": "19.8.
|
70
|
+
"@nrwl/tao": "19.8.13"
|
71
71
|
},
|
72
72
|
"peerDependencies": {
|
73
73
|
"@swc-node/register": "^1.8.0",
|
@@ -82,16 +82,16 @@
|
|
82
82
|
}
|
83
83
|
},
|
84
84
|
"optionalDependencies": {
|
85
|
-
"@nx/nx-darwin-x64": "19.8.
|
86
|
-
"@nx/nx-darwin-arm64": "19.8.
|
87
|
-
"@nx/nx-linux-x64-gnu": "19.8.
|
88
|
-
"@nx/nx-linux-x64-musl": "19.8.
|
89
|
-
"@nx/nx-win32-x64-msvc": "19.8.
|
90
|
-
"@nx/nx-linux-arm64-gnu": "19.8.
|
91
|
-
"@nx/nx-linux-arm64-musl": "19.8.
|
92
|
-
"@nx/nx-linux-arm-gnueabihf": "19.8.
|
93
|
-
"@nx/nx-win32-arm64-msvc": "19.8.
|
94
|
-
"@nx/nx-freebsd-x64": "19.8.
|
85
|
+
"@nx/nx-darwin-x64": "19.8.13",
|
86
|
+
"@nx/nx-darwin-arm64": "19.8.13",
|
87
|
+
"@nx/nx-linux-x64-gnu": "19.8.13",
|
88
|
+
"@nx/nx-linux-x64-musl": "19.8.13",
|
89
|
+
"@nx/nx-win32-x64-msvc": "19.8.13",
|
90
|
+
"@nx/nx-linux-arm64-gnu": "19.8.13",
|
91
|
+
"@nx/nx-linux-arm64-musl": "19.8.13",
|
92
|
+
"@nx/nx-linux-arm-gnueabihf": "19.8.13",
|
93
|
+
"@nx/nx-win32-arm64-msvc": "19.8.13",
|
94
|
+
"@nx/nx-freebsd-x64": "19.8.13"
|
95
95
|
},
|
96
96
|
"nx-migrations": {
|
97
97
|
"migrations": "./migrations.json",
|
@@ -408,6 +408,9 @@ class DaemonClient {
|
|
408
408
|
}
|
409
409
|
}
|
410
410
|
async startInBackground() {
|
411
|
+
if (global.NX_PLUGIN_WORKER) {
|
412
|
+
throw new Error('Fatal Error: Something unexpected has occurred. Plugin Workers should not start a new daemon process. Please report this issue.');
|
413
|
+
}
|
411
414
|
(0, node_fs_1.mkdirSync)(tmp_dir_1.DAEMON_DIR_FOR_CURRENT_WORKSPACE, { recursive: true });
|
412
415
|
if (!(0, node_fs_1.existsSync)(tmp_dir_1.DAEMON_OUTPUT_LOG_FILE)) {
|
413
416
|
(0, node_fs_1.writeFileSync)(tmp_dir_1.DAEMON_OUTPUT_LOG_FILE, '');
|
@@ -353,6 +353,15 @@ async function startServer() {
|
|
353
353
|
server.listen((0, socket_utils_1.getFullOsSocketPath)(), async () => {
|
354
354
|
try {
|
355
355
|
logger_1.serverLogger.log(`Started listening on: ${(0, socket_utils_1.getFullOsSocketPath)()}`);
|
356
|
+
setInterval(() => {
|
357
|
+
if ((0, cache_1.getDaemonProcessIdSync)() !== process.pid) {
|
358
|
+
return (0, shutdown_utils_1.handleServerProcessTermination)({
|
359
|
+
server,
|
360
|
+
reason: 'this process is no longer the current daemon (native)',
|
361
|
+
sockets: exports.openSockets,
|
362
|
+
});
|
363
|
+
}
|
364
|
+
}).unref();
|
356
365
|
// this triggers the storage of the lock file hash
|
357
366
|
daemonIsOutdated();
|
358
367
|
if (!(0, shutdown_utils_1.getWatcherInstance)()) {
|
Binary file
|
@@ -10,9 +10,19 @@ if (process.env.NX_PERF_LOGGING === 'true') {
|
|
10
10
|
require('../../../utils/perf-logging');
|
11
11
|
}
|
12
12
|
global.NX_GRAPH_CREATION = true;
|
13
|
+
global.NX_PLUGIN_WORKER = true;
|
14
|
+
let connected = false;
|
13
15
|
let plugin;
|
14
16
|
const socketPath = process.argv[2];
|
15
17
|
const server = (0, net_1.createServer)((socket) => {
|
18
|
+
connected = true;
|
19
|
+
// This handles cases where the host process was killed
|
20
|
+
// after the worker connected but before the worker was
|
21
|
+
// instructed to load the plugin.
|
22
|
+
const loadTimeout = setTimeout(() => {
|
23
|
+
console.error(`Plugin Worker exited because no plugin was loaded within 10 seconds of starting up.`);
|
24
|
+
process.exit(1);
|
25
|
+
}, 10000).unref();
|
16
26
|
socket.on('data', (0, consume_messages_from_socket_1.consumeMessagesFromSocket)((raw) => {
|
17
27
|
const message = JSON.parse(raw.toString());
|
18
28
|
if (!(0, messaging_1.isPluginWorkerMessage)(message)) {
|
@@ -20,6 +30,8 @@ const server = (0, net_1.createServer)((socket) => {
|
|
20
30
|
}
|
21
31
|
return (0, messaging_1.consumeMessage)(socket, message, {
|
22
32
|
load: async ({ plugin: pluginConfiguration, root }) => {
|
33
|
+
if (loadTimeout)
|
34
|
+
clearTimeout(loadTimeout);
|
23
35
|
process.chdir(root);
|
24
36
|
try {
|
25
37
|
const [promise] = (0, loader_1.loadNxPlugin)(pluginConfiguration, root);
|
@@ -131,6 +143,8 @@ const server = (0, net_1.createServer)((socket) => {
|
|
131
143
|
// since the worker is spawned per host process. As such,
|
132
144
|
// we can safely close the worker when the host disconnects.
|
133
145
|
socket.on('end', () => {
|
146
|
+
// Destroys the socket once it's fully closed.
|
147
|
+
socket.destroySoon();
|
134
148
|
// Stops accepting new connections, but existing connections are
|
135
149
|
// not closed immediately.
|
136
150
|
server.close(() => {
|
@@ -140,11 +154,15 @@ const server = (0, net_1.createServer)((socket) => {
|
|
140
154
|
catch (e) { }
|
141
155
|
process.exit(0);
|
142
156
|
});
|
143
|
-
// Destroys the socket once it's fully closed.
|
144
|
-
socket.destroySoon();
|
145
157
|
});
|
146
158
|
});
|
147
159
|
server.listen(socketPath);
|
160
|
+
setTimeout(() => {
|
161
|
+
if (!connected) {
|
162
|
+
console.error('The plugin worker is exiting as it was not connected to within 5 seconds.');
|
163
|
+
process.exit(1);
|
164
|
+
}
|
165
|
+
}, 5000).unref();
|
148
166
|
const exitHandler = (exitCode) => () => {
|
149
167
|
server.close();
|
150
168
|
try {
|