@nrwl/workspace 13.3.0-beta.2 → 13.3.0-beta.23
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 -7
- package/src/command-line/format.js +12 -7
- package/src/command-line/format.js.map +1 -1
- package/src/command-line/nx-commands.js +1 -1
- package/src/command-line/nx-commands.js.map +1 -1
- package/src/command-line/utils.js +2 -4
- package/src/command-line/utils.js.map +1 -1
- package/src/core/assert-workspace-validity.js +6 -22
- package/src/core/assert-workspace-validity.js.map +1 -1
- package/src/core/dep-graph/index.html +41 -1
- package/src/core/dep-graph/main.esm.js +1 -1
- package/src/core/dep-graph/styles.css +1 -1
- package/src/core/file-utils.js +5 -0
- package/src/core/file-utils.js.map +1 -1
- package/src/core/hasher/file-hasher.js +2 -0
- package/src/core/hasher/file-hasher.js.map +1 -1
- package/src/core/nx-deps/nx-deps-cache.js +1 -1
- package/src/core/nx-deps/nx-deps-cache.js.map +1 -1
- package/src/core/project-graph/build-dependencies/explicit-package-json-dependencies.js +27 -4
- package/src/core/project-graph/build-dependencies/explicit-package-json-dependencies.js.map +1 -1
- package/src/core/project-graph/build-nodes/workspace-projects.d.ts +0 -1
- package/src/core/project-graph/build-nodes/workspace-projects.js +6 -25
- package/src/core/project-graph/build-nodes/workspace-projects.js.map +1 -1
- package/src/core/project-graph/build-project-graph.js +8 -5
- package/src/core/project-graph/build-project-graph.js.map +1 -1
- package/src/core/project-graph/daemon/client/client.js +25 -6
- package/src/core/project-graph/daemon/client/client.js.map +1 -1
- package/src/core/project-graph/daemon/server/logger.d.ts +0 -1
- package/src/core/project-graph/daemon/server/logger.js +0 -3
- package/src/core/project-graph/daemon/server/logger.js.map +1 -1
- package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.d.ts +3 -0
- package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.js +90 -42
- package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.js.map +1 -1
- package/src/core/project-graph/daemon/server/server.js +96 -64
- package/src/core/project-graph/daemon/server/server.js.map +1 -1
- package/src/core/project-graph/daemon/server/shutdown-utils.d.ts +1 -2
- package/src/core/project-graph/daemon/server/shutdown-utils.js +10 -6
- package/src/core/project-graph/daemon/server/shutdown-utils.js.map +1 -1
- package/src/core/project-graph/daemon/server/watcher.js +3 -1
- package/src/core/project-graph/daemon/server/watcher.js.map +1 -1
- package/src/core/project-graph/project-graph.js +33 -8
- package/src/core/project-graph/project-graph.js.map +1 -1
- package/src/generators/npm-package/npm-package.js +6 -3
- package/src/generators/npm-package/npm-package.js.map +1 -1
- package/src/tasks-runner/forked-process-task-runner.d.ts +3 -1
- package/src/tasks-runner/forked-process-task-runner.js +8 -1
- package/src/tasks-runner/forked-process-task-runner.js.map +1 -1
- package/src/tasks-runner/life-cycle.d.ts +10 -11
- package/src/tasks-runner/life-cycle.js.map +1 -1
- package/src/tasks-runner/run-command/components/no-targets-run.d.ts +7 -0
- package/src/tasks-runner/run-command/components/no-targets-run.js +20 -0
- package/src/tasks-runner/run-command/components/no-targets-run.js.map +1 -0
- package/src/tasks-runner/run-command/components/nx-output-row-title.d.ts +7 -0
- package/src/tasks-runner/run-command/components/nx-output-row-title.js +17 -0
- package/src/tasks-runner/run-command/components/nx-output-row-title.js.map +1 -0
- package/src/tasks-runner/run-command/components/run-command.d.ts +16 -0
- package/src/tasks-runner/run-command/components/run-command.js +55 -0
- package/src/tasks-runner/run-command/components/run-command.js.map +1 -0
- package/src/tasks-runner/run-command/components/run-many.d.ts +15 -0
- package/src/tasks-runner/run-command/components/run-many.js +123 -0
- package/src/tasks-runner/run-command/components/run-many.js.map +1 -0
- package/src/tasks-runner/run-command/components/task-list.d.ts +7 -0
- package/src/tasks-runner/run-command/components/task-list.js +29 -0
- package/src/tasks-runner/run-command/components/task-list.js.map +1 -0
- package/src/tasks-runner/run-command/components/task-row.d.ts +12 -0
- package/src/tasks-runner/run-command/components/task-row.js +52 -0
- package/src/tasks-runner/run-command/components/task-row.js.map +1 -0
- package/src/tasks-runner/{run-command.d.ts → run-command/index.d.ts} +4 -7
- package/src/tasks-runner/{run-command.js → run-command/index.js} +35 -20
- package/src/tasks-runner/run-command/index.js.map +1 -0
- package/src/tasks-runner/run-command/ink-run-many-life-cycle.d.ts +30 -0
- package/src/tasks-runner/run-command/ink-run-many-life-cycle.js +34 -0
- package/src/tasks-runner/run-command/ink-run-many-life-cycle.js.map +1 -0
- package/src/tasks-runner/task-orchestrator.js +3 -2
- package/src/tasks-runner/task-orchestrator.js.map +1 -1
- package/src/tasks-runner/tasks-runner-v2.js +3 -0
- package/src/tasks-runner/tasks-runner-v2.js.map +1 -1
- package/src/tasks-runner/tasks-runner.d.ts +1 -1
- package/src/tasks-runner/tasks-runner.js.map +1 -1
- package/src/tasks-runner/tasks-schedule.d.ts +1 -1
- package/src/tasks-runner/tasks-schedule.js.map +1 -1
- package/src/tasks-runner/utils.js +5 -3
- package/src/tasks-runner/utils.js.map +1 -1
- package/src/tslint/nxEnforceModuleBoundariesRule.d.ts +3 -1
- package/src/tslint/nxEnforceModuleBoundariesRule.js +8 -4
- package/src/tslint/nxEnforceModuleBoundariesRule.js.map +1 -1
- package/src/utilities/plugins/plugin-capabilities.js +10 -11
- package/src/utilities/plugins/plugin-capabilities.js.map +1 -1
- package/src/utilities/project-graph-utils.d.ts +1 -0
- package/src/utilities/project-graph-utils.js +17 -1
- package/src/utilities/project-graph-utils.js.map +1 -1
- package/src/utils/graph-utils.js +1 -1
- package/src/utils/graph-utils.js.map +1 -1
- package/src/utils/rules/format-files.js +7 -11
- package/src/utils/rules/format-files.js.map +1 -1
- package/src/utils/runtime-lint-utils.d.ts +6 -2
- package/src/utils/runtime-lint-utils.js +30 -9
- package/src/utils/runtime-lint-utils.js.map +1 -1
- package/src/utils/versions.js +1 -1
- package/src/tasks-runner/run-command.js.map +0 -1
|
@@ -9,37 +9,44 @@ const file_hasher_1 = require("../../../hasher/file-hasher");
|
|
|
9
9
|
const git_hasher_1 = require("../../../hasher/git-hasher");
|
|
10
10
|
const logger_1 = require("./logger");
|
|
11
11
|
const build_project_graph_1 = require("../../build-project-graph");
|
|
12
|
-
const workspace_1 = require("@nrwl/tao/src/shared/workspace");
|
|
13
12
|
const nx_deps_cache_1 = require("../../../nx-deps/nx-deps-cache");
|
|
14
13
|
const fileutils_1 = require("../../../../utilities/fileutils");
|
|
15
|
-
const
|
|
14
|
+
const hashing_impl_1 = require("../../../hasher/hashing-impl");
|
|
16
15
|
let cachedSerializedProjectGraphPromise;
|
|
17
16
|
let projectFileMapWithFiles;
|
|
18
17
|
let currentProjectGraphCache;
|
|
19
18
|
const collectedUpdatedFiles = new Set();
|
|
20
19
|
const collectedDeletedFiles = new Set();
|
|
20
|
+
let storedWorkspaceConfigHash;
|
|
21
21
|
let waitPeriod = 100;
|
|
22
22
|
let scheduledTimeoutId;
|
|
23
23
|
function getCachedSerializedProjectGraphPromise() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
25
|
+
try {
|
|
26
|
+
// recomputing it now on demand. we can ignore the scheduled timeout
|
|
27
|
+
if (scheduledTimeoutId) {
|
|
28
|
+
clearTimeout(scheduledTimeoutId);
|
|
29
|
+
scheduledTimeoutId = undefined;
|
|
30
|
+
}
|
|
31
|
+
// reset the wait time
|
|
32
|
+
waitPeriod = 100;
|
|
33
|
+
resetInternalStateIfNxDepsMissing();
|
|
34
|
+
if (collectedUpdatedFiles.size == 0 && collectedDeletedFiles.size == 0) {
|
|
35
|
+
if (!cachedSerializedProjectGraphPromise) {
|
|
36
|
+
cachedSerializedProjectGraphPromise =
|
|
37
|
+
processFilesAndCreateAndSerializeProjectGraph();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
cachedSerializedProjectGraphPromise =
|
|
42
|
+
processFilesAndCreateAndSerializeProjectGraph();
|
|
43
|
+
}
|
|
44
|
+
return yield cachedSerializedProjectGraphPromise;
|
|
36
45
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
return cachedSerializedProjectGraphPromise;
|
|
46
|
+
catch (e) {
|
|
47
|
+
return { error: e, serializedProjectGraph: null };
|
|
48
|
+
}
|
|
49
|
+
});
|
|
43
50
|
}
|
|
44
51
|
exports.getCachedSerializedProjectGraphPromise = getCachedSerializedProjectGraphPromise;
|
|
45
52
|
function addUpdatedAndDeletedFiles(updatedFiles, deletedFiles) {
|
|
@@ -57,40 +64,79 @@ function addUpdatedAndDeletedFiles(updatedFiles, deletedFiles) {
|
|
|
57
64
|
if (waitPeriod < 4000) {
|
|
58
65
|
waitPeriod = waitPeriod * 2;
|
|
59
66
|
}
|
|
60
|
-
|
|
61
|
-
|
|
67
|
+
cachedSerializedProjectGraphPromise =
|
|
68
|
+
processFilesAndCreateAndSerializeProjectGraph();
|
|
62
69
|
}, waitPeriod);
|
|
63
70
|
}
|
|
64
71
|
}
|
|
65
72
|
exports.addUpdatedAndDeletedFiles = addUpdatedAndDeletedFiles;
|
|
73
|
+
function computeWorkspaceConfigHash(workspaceJson) {
|
|
74
|
+
return new hashing_impl_1.HashingImpl().hashArray([JSON.stringify(workspaceJson)]);
|
|
75
|
+
}
|
|
66
76
|
function processCollectedUpdatedAndDeletedFiles() {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
try {
|
|
78
|
+
perf_hooks_1.performance.mark('hash-watched-changes-start');
|
|
79
|
+
const updatedFiles = (0, git_hasher_1.getGitHashForFiles)([...collectedUpdatedFiles.values()], app_root_1.appRootPath);
|
|
80
|
+
const deletedFiles = [...collectedDeletedFiles.values()];
|
|
81
|
+
perf_hooks_1.performance.mark('hash-watched-changes-end');
|
|
82
|
+
perf_hooks_1.performance.measure('hash changed files from watcher', 'hash-watched-changes-start', 'hash-watched-changes-end');
|
|
83
|
+
file_hasher_1.defaultFileHasher.incrementalUpdate(updatedFiles, deletedFiles);
|
|
84
|
+
const workspaceJson = (0, file_utils_1.readWorkspaceJson)();
|
|
85
|
+
const workspaceConfigHash = computeWorkspaceConfigHash(workspaceJson);
|
|
86
|
+
logger_1.serverLogger.requestLog(`Updated file-hasher based on watched changes, recomputing project graph...`);
|
|
87
|
+
// when workspace config changes we cannot incrementally update project file map
|
|
88
|
+
if (workspaceConfigHash !== storedWorkspaceConfigHash) {
|
|
89
|
+
storedWorkspaceConfigHash = workspaceConfigHash;
|
|
90
|
+
projectFileMapWithFiles = (0, file_utils_1.createProjectFileMap)(workspaceJson);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
projectFileMapWithFiles = projectFileMapWithFiles
|
|
94
|
+
? (0, file_utils_1.updateProjectFileMap)(workspaceJson, projectFileMapWithFiles.projectFileMap, projectFileMapWithFiles.allWorkspaceFiles, updatedFiles, deletedFiles)
|
|
95
|
+
: (0, file_utils_1.createProjectFileMap)(workspaceJson);
|
|
96
|
+
}
|
|
97
|
+
collectedUpdatedFiles.clear();
|
|
98
|
+
collectedDeletedFiles.clear();
|
|
99
|
+
}
|
|
100
|
+
catch (e) {
|
|
101
|
+
// this is expected
|
|
102
|
+
// for instance, workspace.json can be incorrect etc
|
|
103
|
+
// we are resetting internal state to start from scratch next time a file changes
|
|
104
|
+
// given the user the opportunity to fix the error
|
|
105
|
+
// if Nx requests the project graph prior to the error being fixed,
|
|
106
|
+
// the error will be propagated
|
|
107
|
+
logger_1.serverLogger.log(`Error detected when recomputing project file map: ${e.message}`);
|
|
108
|
+
resetInternalState();
|
|
109
|
+
return e;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function processFilesAndCreateAndSerializeProjectGraph() {
|
|
113
|
+
const err = processCollectedUpdatedAndDeletedFiles();
|
|
114
|
+
if (err) {
|
|
115
|
+
return Promise.resolve({
|
|
116
|
+
error: err,
|
|
117
|
+
serializedProjectGraph: null,
|
|
118
|
+
});
|
|
81
119
|
}
|
|
82
120
|
else {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
121
|
+
return createAndSerializeProjectGraph();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function copyFileData(d) {
|
|
125
|
+
return d.map((t) => (Object.assign({}, t)));
|
|
126
|
+
}
|
|
127
|
+
function copyFileMap(m) {
|
|
128
|
+
const c = {};
|
|
129
|
+
for (let p of Object.keys(m)) {
|
|
130
|
+
c[p] = copyFileData(m[p]);
|
|
86
131
|
}
|
|
132
|
+
return c;
|
|
87
133
|
}
|
|
88
134
|
function createAndSerializeProjectGraph() {
|
|
89
135
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
90
136
|
try {
|
|
91
137
|
perf_hooks_1.performance.mark('create-project-graph-start');
|
|
92
138
|
const workspaceJson = (0, file_utils_1.readWorkspaceJson)();
|
|
93
|
-
const { projectGraph, projectGraphCache } = yield (0, build_project_graph_1.buildProjectGraphUsingProjectFileMap)(workspaceJson, projectFileMapWithFiles.projectFileMap, projectFileMapWithFiles.allWorkspaceFiles, currentProjectGraphCache || (0, nx_deps_cache_1.readCache)(), true);
|
|
139
|
+
const { projectGraph, projectGraphCache } = yield (0, build_project_graph_1.buildProjectGraphUsingProjectFileMap)(workspaceJson, copyFileMap(projectFileMapWithFiles.projectFileMap), copyFileData(projectFileMapWithFiles.allWorkspaceFiles), currentProjectGraphCache || (0, nx_deps_cache_1.readCache)(), true);
|
|
94
140
|
currentProjectGraphCache = projectGraphCache;
|
|
95
141
|
perf_hooks_1.performance.mark('create-project-graph-end');
|
|
96
142
|
perf_hooks_1.performance.measure('total execution time for createProjectGraph()', 'create-project-graph-start', 'create-project-graph-end');
|
|
@@ -103,9 +149,10 @@ function createAndSerializeProjectGraph() {
|
|
|
103
149
|
serializedProjectGraph,
|
|
104
150
|
};
|
|
105
151
|
}
|
|
106
|
-
catch (
|
|
152
|
+
catch (e) {
|
|
153
|
+
logger_1.serverLogger.log(`Error detected when creating a project graph: ${e.message}`);
|
|
107
154
|
return {
|
|
108
|
-
error:
|
|
155
|
+
error: e,
|
|
109
156
|
serializedProjectGraph: null,
|
|
110
157
|
};
|
|
111
158
|
}
|
|
@@ -117,6 +164,7 @@ function resetInternalState() {
|
|
|
117
164
|
currentProjectGraphCache = undefined;
|
|
118
165
|
collectedUpdatedFiles.clear();
|
|
119
166
|
collectedDeletedFiles.clear();
|
|
167
|
+
file_hasher_1.defaultFileHasher.clear();
|
|
120
168
|
waitPeriod = 100;
|
|
121
169
|
}
|
|
122
170
|
exports.resetInternalState = resetInternalState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-graph-incremental-recomputation.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.ts"],"names":[],"mappings":";;;;AACA,2DAA2D;AAC3D,2CAAyC;AACzC,oDAI6B;AAC7B,6DAAgE;AAChE,2DAAgE;AAChE,qCAAwC;AACxC,mEAAiF;
|
|
1
|
+
{"version":3,"file":"project-graph-incremental-recomputation.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.stopServer = exports.startServer = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const devkit_1 = require("@nrwl/devkit");
|
|
6
5
|
const app_root_1 = require("@nrwl/tao/src/utils/app-root");
|
|
7
6
|
const net_1 = require("net");
|
|
8
7
|
const path_1 = require("path");
|
|
@@ -12,45 +11,58 @@ const logger_1 = require("./logger");
|
|
|
12
11
|
const shutdown_utils_1 = require("./shutdown-utils");
|
|
13
12
|
const watcher_1 = require("./watcher");
|
|
14
13
|
const project_graph_incremental_recomputation_1 = require("./project-graph-incremental-recomputation");
|
|
14
|
+
const fs_1 = require("fs");
|
|
15
|
+
const hashing_impl_1 = require("../../../hasher/hashing-impl");
|
|
15
16
|
function respondToClient(socket, message) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
return new Promise((res) => {
|
|
18
|
+
socket.write(message, () => {
|
|
19
|
+
// Close the connection once all data has been written so that the client knows when to read it.
|
|
20
|
+
socket.end();
|
|
21
|
+
logger_1.serverLogger.log(`Closed Connection to Client`);
|
|
22
|
+
res(null);
|
|
23
|
+
});
|
|
20
24
|
});
|
|
21
25
|
}
|
|
22
26
|
let watcherSubscription;
|
|
23
27
|
let performanceObserver;
|
|
24
|
-
|
|
28
|
+
let watcherError;
|
|
29
|
+
function respondWithErrorAndExit(socket, description, error) {
|
|
30
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
31
|
+
// print some extra stuff in the error message
|
|
32
|
+
logger_1.serverLogger.requestLog(`Responding to the client with an error.`, description, error.message);
|
|
33
|
+
console.error(error);
|
|
34
|
+
error.message = `${error.message}\n\nBecause of the error the Nx daemon process has exited. The next Nx command is going to restart the daemon process.\nIf the error persists, please run "nx reset".`;
|
|
35
|
+
yield respondToClient(socket, (0, socket_utils_1.serializeResult)(error, null));
|
|
36
|
+
process.exit(1);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
const server = (0, net_1.createServer)((socket) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
25
40
|
(0, shutdown_utils_1.resetInactivityTimeout)(handleInactivityTimeout);
|
|
26
41
|
if (!performanceObserver) {
|
|
27
42
|
performanceObserver = new perf_hooks_1.PerformanceObserver((list) => {
|
|
28
43
|
const entry = list.getEntries()[0];
|
|
29
|
-
logger_1.serverLogger.
|
|
44
|
+
logger_1.serverLogger.log(`Time taken for '${entry.name}'`, `${entry.duration}ms`);
|
|
30
45
|
});
|
|
31
46
|
performanceObserver.observe({ entryTypes: ['measure'], buffered: false });
|
|
32
47
|
}
|
|
33
48
|
socket.on('data', (data) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
49
|
+
if (watcherError) {
|
|
50
|
+
yield respondWithErrorAndExit(socket, `File watcher error in the workspace '${app_root_1.appRootPath}'.`, watcherError);
|
|
51
|
+
}
|
|
34
52
|
(0, shutdown_utils_1.resetInactivityTimeout)(handleInactivityTimeout);
|
|
35
53
|
const payload = data.toString();
|
|
36
54
|
if (payload !== 'REQUEST_PROJECT_GRAPH_PAYLOAD') {
|
|
37
|
-
|
|
55
|
+
yield respondWithErrorAndExit(socket, `Invalid payload from the client`, new Error(`Unsupported payload sent to daemon server: ${payload}`));
|
|
38
56
|
}
|
|
39
57
|
perf_hooks_1.performance.mark('server-connection');
|
|
40
58
|
logger_1.serverLogger.requestLog('Client Request for Project Graph Received');
|
|
41
59
|
const result = yield (0, project_graph_incremental_recomputation_1.getCachedSerializedProjectGraphPromise)();
|
|
42
60
|
if (result.error) {
|
|
43
|
-
(
|
|
44
|
-
logger_1.serverLogger.nestedLog(`Error when preparing serialized project graph: ${result.error.message}`);
|
|
45
|
-
respondToClient(socket, (0, socket_utils_1.serializeResult)(result.error, result.serializedProjectGraph));
|
|
46
|
-
return;
|
|
61
|
+
yield respondWithErrorAndExit(socket, `Error when preparing serialized project graph.`, result.error);
|
|
47
62
|
}
|
|
48
63
|
const serializedResult = (0, socket_utils_1.serializeResult)(result.error, result.serializedProjectGraph);
|
|
49
64
|
if (!serializedResult) {
|
|
50
|
-
(
|
|
51
|
-
logger_1.serverLogger.nestedLog(`Error when serializing project graph result`);
|
|
52
|
-
respondToClient(socket, (0, socket_utils_1.serializeResult)(new Error('Critical error when serializing server result, check server logs'), null));
|
|
53
|
-
return;
|
|
65
|
+
yield respondWithErrorAndExit(socket, `Error when serializing project graph result.`, new Error('Critical error when serializing server result, check server logs'));
|
|
54
66
|
}
|
|
55
67
|
perf_hooks_1.performance.mark('serialized-project-graph-ready');
|
|
56
68
|
perf_hooks_1.performance.measure('total for creating and serializing project graph', 'server-connection', 'serialized-project-graph-ready');
|
|
@@ -61,10 +73,10 @@ const server = (0, net_1.createServer)((socket) => {
|
|
|
61
73
|
socket.end();
|
|
62
74
|
perf_hooks_1.performance.measure('total for server response', 'server-connection', 'serialized-project-graph-written-to-client');
|
|
63
75
|
const bytesWritten = Buffer.byteLength(result.serializedProjectGraph, 'utf-8');
|
|
64
|
-
logger_1.serverLogger.
|
|
76
|
+
logger_1.serverLogger.requestLog(`Closed Connection to Client (${bytesWritten} bytes transferred)`);
|
|
65
77
|
});
|
|
66
78
|
}));
|
|
67
|
-
});
|
|
79
|
+
}));
|
|
68
80
|
function handleInactivityTimeout() {
|
|
69
81
|
(0, shutdown_utils_1.handleServerProcessTermination)({
|
|
70
82
|
server,
|
|
@@ -88,31 +100,25 @@ process
|
|
|
88
100
|
watcherSubscription,
|
|
89
101
|
reason: 'received process SIGHUP',
|
|
90
102
|
}));
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
let existingLockHash;
|
|
104
|
+
function lockFileChanged() {
|
|
105
|
+
const hash = new hashing_impl_1.HashingImpl();
|
|
106
|
+
const lockHashes = [
|
|
107
|
+
(0, path_1.join)(app_root_1.appRootPath, 'package-lock.json'),
|
|
108
|
+
(0, path_1.join)(app_root_1.appRootPath, 'yarn.lock'),
|
|
109
|
+
(0, path_1.join)(app_root_1.appRootPath, 'pnpm-lock.yaml'),
|
|
110
|
+
]
|
|
111
|
+
.filter((file) => (0, fs_1.existsSync)(file))
|
|
112
|
+
.map((file) => hash.hashFile(file));
|
|
113
|
+
const newHash = hash.hashArray(lockHashes);
|
|
114
|
+
if (existingLockHash && newHash != existingLockHash) {
|
|
115
|
+
existingLockHash = newHash;
|
|
116
|
+
return true;
|
|
104
117
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
return null;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
function isNxVersionSame(currentNxVersion) {
|
|
111
|
-
if (currentNxVersion === null) {
|
|
112
|
-
// Something has gone wrong with figuring out the Nx version, declare the version as having changed
|
|
118
|
+
else {
|
|
119
|
+
existingLockHash = newHash;
|
|
113
120
|
return false;
|
|
114
121
|
}
|
|
115
|
-
return currentNxVersion === cachedNxVersion;
|
|
116
122
|
}
|
|
117
123
|
/**
|
|
118
124
|
* When applicable files in the workspaces are changed (created, updated, deleted),
|
|
@@ -120,22 +126,27 @@ function isNxVersionSame(currentNxVersion) {
|
|
|
120
126
|
* available for the next client request to the server.
|
|
121
127
|
*/
|
|
122
128
|
const handleWorkspaceChanges = (err, changeEvents) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
yield (0, shutdown_utils_1.handleServerProcessTermination)({
|
|
126
|
-
server,
|
|
127
|
-
watcherSubscription,
|
|
128
|
-
reason: '@nrwl/workspace installation changed',
|
|
129
|
-
});
|
|
129
|
+
if (watcherError) {
|
|
130
|
+
logger_1.serverLogger.watcherLog('Skipping handleWorkspaceChanges because of a previously recorded watcher error.');
|
|
130
131
|
return;
|
|
131
132
|
}
|
|
132
|
-
if (err || !changeEvents || !changeEvents.length) {
|
|
133
|
-
logger_1.serverLogger.watcherLog('Unexpected Error');
|
|
134
|
-
console.error(err);
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
logger_1.serverLogger.watcherLog((0, watcher_1.convertChangeEventsToLogMessage)(changeEvents));
|
|
138
133
|
try {
|
|
134
|
+
(0, shutdown_utils_1.resetInactivityTimeout)(handleInactivityTimeout);
|
|
135
|
+
if (lockFileChanged()) {
|
|
136
|
+
yield (0, shutdown_utils_1.handleServerProcessTermination)({
|
|
137
|
+
server,
|
|
138
|
+
watcherSubscription,
|
|
139
|
+
reason: 'Lock file changed',
|
|
140
|
+
});
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (err || !changeEvents || !changeEvents.length) {
|
|
144
|
+
logger_1.serverLogger.watcherLog('Unexpected watcher error', err.message);
|
|
145
|
+
console.error(err);
|
|
146
|
+
watcherError = err;
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
logger_1.serverLogger.watcherLog((0, watcher_1.convertChangeEventsToLogMessage)(changeEvents));
|
|
139
150
|
const filesToHash = [];
|
|
140
151
|
const deletedFiles = [];
|
|
141
152
|
for (const event of changeEvents) {
|
|
@@ -143,14 +154,23 @@ const handleWorkspaceChanges = (err, changeEvents) => (0, tslib_1.__awaiter)(voi
|
|
|
143
154
|
deletedFiles.push(event.path);
|
|
144
155
|
}
|
|
145
156
|
else {
|
|
146
|
-
|
|
157
|
+
try {
|
|
158
|
+
const s = (0, fs_1.statSync)((0, path_1.join)(app_root_1.appRootPath, event.path));
|
|
159
|
+
if (!s.isDirectory()) {
|
|
160
|
+
filesToHash.push(event.path);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
catch (e) {
|
|
164
|
+
// this can happen when the update file was deleted right after
|
|
165
|
+
}
|
|
147
166
|
}
|
|
148
167
|
}
|
|
149
168
|
(0, project_graph_incremental_recomputation_1.addUpdatedAndDeletedFiles)(filesToHash, deletedFiles);
|
|
150
169
|
}
|
|
151
170
|
catch (err) {
|
|
152
|
-
logger_1.serverLogger.
|
|
171
|
+
logger_1.serverLogger.watcherLog(`Unexpected error`, err.message);
|
|
153
172
|
console.error(err);
|
|
173
|
+
watcherError = err;
|
|
154
174
|
}
|
|
155
175
|
});
|
|
156
176
|
function startServer() {
|
|
@@ -159,15 +179,27 @@ function startServer() {
|
|
|
159
179
|
if (!socket_utils_1.isWindows) {
|
|
160
180
|
(0, socket_utils_1.killSocketOrPath)();
|
|
161
181
|
}
|
|
162
|
-
return new Promise((resolve) => {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
182
|
+
return new Promise((resolve, reject) => {
|
|
183
|
+
try {
|
|
184
|
+
server.listen(socket_utils_1.FULL_OS_SOCKET_PATH, () => (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
185
|
+
try {
|
|
186
|
+
logger_1.serverLogger.log(`Started listening on: ${socket_utils_1.FULL_OS_SOCKET_PATH}`);
|
|
187
|
+
// this triggers the storage of the lock file hash
|
|
188
|
+
lockFileChanged();
|
|
189
|
+
if (!watcherSubscription) {
|
|
190
|
+
watcherSubscription = yield (0, watcher_1.subscribeToWorkspaceChanges)(handleWorkspaceChanges);
|
|
191
|
+
logger_1.serverLogger.watcherLog(`Subscribed to changes within: ${app_root_1.appRootPath}`);
|
|
192
|
+
}
|
|
193
|
+
return resolve(server);
|
|
194
|
+
}
|
|
195
|
+
catch (err) {
|
|
196
|
+
reject(err);
|
|
197
|
+
}
|
|
198
|
+
}));
|
|
199
|
+
}
|
|
200
|
+
catch (err) {
|
|
201
|
+
reject(err);
|
|
202
|
+
}
|
|
171
203
|
});
|
|
172
204
|
});
|
|
173
205
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/server/server.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/server/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
import type { Server } from 'net';
|
|
3
3
|
import type { WatcherSubscription } from './watcher';
|
|
4
4
|
export declare const SERVER_INACTIVITY_TIMEOUT_MS: 10800000;
|
|
5
|
-
declare type ServerTerminationReason = `received process ${NodeJS.Signals}` | '@nrwl/workspace installation changed' | `${typeof SERVER_INACTIVITY_TIMEOUT_MS}ms of inactivity`;
|
|
6
5
|
interface HandleServerProcessTerminationParams {
|
|
7
6
|
server: Server;
|
|
8
|
-
reason:
|
|
7
|
+
reason: string;
|
|
9
8
|
watcherSubscription: WatcherSubscription | undefined;
|
|
10
9
|
}
|
|
11
10
|
export declare function handleServerProcessTermination({ server, reason, watcherSubscription, }: HandleServerProcessTerminationParams): Promise<void>;
|
|
@@ -7,13 +7,17 @@ const logger_1 = require("./logger");
|
|
|
7
7
|
exports.SERVER_INACTIVITY_TIMEOUT_MS = 10800000; // 10800000 ms = 3 hours
|
|
8
8
|
function handleServerProcessTermination({ server, reason, watcherSubscription, }) {
|
|
9
9
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
try {
|
|
11
|
+
server.close();
|
|
12
|
+
if (watcherSubscription) {
|
|
13
|
+
yield watcherSubscription.unsubscribe();
|
|
14
|
+
logger_1.serverLogger.watcherLog(`Unsubscribed from changes within: ${app_root_1.appRootPath}`);
|
|
15
|
+
}
|
|
16
|
+
logger_1.serverLogger.log(`Server stopped because: "${reason}"`);
|
|
17
|
+
}
|
|
18
|
+
finally {
|
|
19
|
+
process.exit(0);
|
|
14
20
|
}
|
|
15
|
-
logger_1.serverLogger.log(`Server stopped because: "${reason}"`);
|
|
16
|
-
process.exit(0);
|
|
17
21
|
});
|
|
18
22
|
}
|
|
19
23
|
exports.handleServerProcessTermination = handleServerProcessTermination;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown-utils.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/server/shutdown-utils.ts"],"names":[],"mappings":";;;;AAAA,2DAA2D;AAE3D,qCAAwC;AAG3B,QAAA,4BAA4B,GAAG,QAAiB,CAAC,CAAC,wBAAwB;
|
|
1
|
+
{"version":3,"file":"shutdown-utils.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/server/shutdown-utils.ts"],"names":[],"mappings":";;;;AAAA,2DAA2D;AAE3D,qCAAwC;AAG3B,QAAA,4BAA4B,GAAG,QAAiB,CAAC,CAAC,wBAAwB;AAQvF,SAAsB,8BAA8B,CAAC,EACnD,MAAM,EACN,MAAM,EACN,mBAAmB,GACkB;;QACrC,IAAI;YACF,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,mBAAmB,EAAE;gBACvB,MAAM,mBAAmB,CAAC,WAAW,EAAE,CAAC;gBACxC,qBAAY,CAAC,UAAU,CACrB,qCAAqC,sBAAW,EAAE,CACnD,CAAC;aACH;YACD,qBAAY,CAAC,GAAG,CAAC,4BAA4B,MAAM,GAAG,CAAC,CAAC;SACzD;gBAAS;YACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC;CAAA;AAjBD,wEAiBC;AAED,IAAI,uBAAmD,CAAC;AAExD,SAAgB,sBAAsB,CAAC,EAAc;IACnD,IAAI,uBAAuB,EAAE;QAC3B,YAAY,CAAC,uBAAuB,CAAC,CAAC;KACvC;IACD,uBAAuB,GAAG,UAAU,CAAC,EAAE,EAAE,oCAA4B,CAAC,CAAC;AACzE,CAAC;AALD,wDAKC"}
|
|
@@ -81,7 +81,9 @@ function subscribeToWorkspaceChanges(cb) {
|
|
|
81
81
|
if (hasIgnoreFileUpdate) {
|
|
82
82
|
cachedIgnoreGlobs = getIgnoredGlobs(app_root_1.appRootPath);
|
|
83
83
|
}
|
|
84
|
-
const nonIgnoredEvents = workspaceRelativeEvents
|
|
84
|
+
const nonIgnoredEvents = workspaceRelativeEvents
|
|
85
|
+
.filter(({ path }) => !!path)
|
|
86
|
+
.filter(({ path }) => !cachedIgnoreGlobs.ignores(path));
|
|
85
87
|
if (!nonIgnoredEvents || !nonIgnoredEvents.length) {
|
|
86
88
|
return;
|
|
87
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/server/watcher.ts"],"names":[],"mappings":";;;;AAAA;;;;;;GAMG;AACH,yCAA6C;AAC7C,2DAA2D;AAE3D,2BAAkC;AAClC,mCAA4B;AAC5B,+BAAsC;AACtC,kDAAsD;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,aAAa,GAAG;IACpB,IAAA,WAAI,EAAC,sBAAW,EAAE,cAAc,CAAC;IACjC,IAAA,WAAI,EAAC,sBAAW,EAAE,MAAM,CAAC;IACzB,IAAA,WAAI,EAAC,sBAAW,EAAE,MAAM,CAAC;IACzB,kCAAmB;CACpB,CAAC;AAEF;;;GAGG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,EAAE,GAAG,IAAA,gBAAM,GAAE,CAAC;IACpB,IAAI;QACF,EAAE,CAAC,GAAG,CAAC,IAAA,iBAAY,EAAC,GAAG,IAAI,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;KACrD;IAAC,WAAM,GAAE;IACV,IAAI;QACF,EAAE,CAAC,GAAG,CAAC,IAAA,iBAAY,EAAC,GAAG,IAAI,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;KACpD;IAAC,WAAM,GAAE;IACV,OAAO,EAAE,CAAC;AACZ,CAAC;AAQD,SAAsB,2BAA2B,CAC/C,EAAuC;;QAEvC;;;;WAIG;QACH,MAAM,OAAO,GAAG,2CAAa,iBAAiB,EAAC,CAAC;QAEhD,IAAI,iBAAiB,GAAG,eAAe,CAAC,sBAAW,CAAC,CAAC;QAErD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,SAAS,CAC1C,sBAAW,EACX,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,qCAAqC;YACrC,IAAI,GAAG,EAAE;gBACP,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACtB;YAED,IAAI,mBAAmB,GAAG,KAAK,CAAC;YAEhC,0FAA0F;YAC1F,MAAM,uBAAuB,GAAY,EAAE,CAAC;YAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,MAAM,sBAAsB,GAAU;oBACpC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,IAAA,sBAAa,EAAC,IAAA,eAAQ,EAAC,sBAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;iBACvD,CAAC;gBACF,IACE,sBAAsB,CAAC,IAAI,KAAK,YAAY;oBAC5C,sBAAsB,CAAC,IAAI,KAAK,WAAW,EAC3C;oBACA,mBAAmB,GAAG,IAAI,CAAC;iBAC5B;gBACD,uBAAuB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;aACtD;YAED,mGAAmG;YACnG,IAAI,mBAAmB,EAAE;gBACvB,iBAAiB,GAAG,eAAe,CAAC,sBAAW,CAAC,CAAC;aAClD;YAED,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/server/watcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ const devkit_1 = require("@nrwl/devkit");
|
|
|
6
6
|
const nx_deps_cache_1 = require("../nx-deps/nx-deps-cache");
|
|
7
7
|
const build_project_graph_1 = require("./build-project-graph");
|
|
8
8
|
const file_utils_1 = require("../file-utils");
|
|
9
|
+
const output_1 = require("../../utilities/output");
|
|
9
10
|
/**
|
|
10
11
|
* Synchronously reads the latest cached copy of the workspace's ProjectGraph.
|
|
11
12
|
* @throws {Error} if there is no cached ProjectGraph to read from
|
|
@@ -41,18 +42,42 @@ function readCachedProjectGraph(projectGraphVersion = '5.0') {
|
|
|
41
42
|
}
|
|
42
43
|
exports.readCachedProjectGraph = readCachedProjectGraph;
|
|
43
44
|
function createProjectGraphAsync(projectGraphVersion = '5.0') {
|
|
44
|
-
var _a, _b;
|
|
45
|
+
var _a, _b, _c;
|
|
45
46
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
46
47
|
const nxJson = (0, file_utils_1.readNxJson)();
|
|
47
|
-
const useDaemonProcessOption = (_b = (_a = nxJson.tasksRunnerOptions['default']) === null ||
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
const useDaemonProcessOption = (_c = (_b = (_a = nxJson.tasksRunnerOptions) === null || _a === void 0 ? void 0 : _a['default']) === null || _b === void 0 ? void 0 : _b.options) === null || _c === void 0 ? void 0 : _c.useDaemonProcess;
|
|
49
|
+
const env = process.env.NX_DAEMON;
|
|
50
|
+
// env takes precendence
|
|
51
|
+
// option=undefined,env=undefined => no daemon
|
|
52
|
+
// option=true,env=false => no daemon
|
|
53
|
+
// option=false,env=undefined => no daemon
|
|
54
|
+
// option=false,env=false => no daemon
|
|
55
|
+
// option=true,env=undefined => daemon
|
|
56
|
+
// option=true,env=true => daemon
|
|
57
|
+
// option=false,env=true => daemon
|
|
58
|
+
try {
|
|
59
|
+
if ((useDaemonProcessOption === undefined && env === undefined) ||
|
|
60
|
+
(useDaemonProcessOption === true && env === 'false') ||
|
|
61
|
+
(useDaemonProcessOption === false && env === undefined) ||
|
|
62
|
+
(useDaemonProcessOption === false && env === 'false')) {
|
|
63
|
+
return projectGraphAdapter('5.0', projectGraphVersion, yield (0, build_project_graph_1.buildProjectGraph)());
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
const daemonClient = require('./daemon/client/client');
|
|
67
|
+
if (!(yield daemonClient.isServerAvailable())) {
|
|
68
|
+
yield daemonClient.startInBackground();
|
|
69
|
+
}
|
|
70
|
+
return projectGraphAdapter('5.0', projectGraphVersion, yield daemonClient.getProjectGraphFromServer());
|
|
71
|
+
}
|
|
50
72
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
73
|
+
catch (e) {
|
|
74
|
+
const lines = e.message.split('\n');
|
|
75
|
+
output_1.output.error({
|
|
76
|
+
title: lines[0],
|
|
77
|
+
bodyLines: lines.slice(1),
|
|
78
|
+
});
|
|
79
|
+
process.exit(1);
|
|
54
80
|
}
|
|
55
|
-
return projectGraphAdapter('5.0', projectGraphVersion, daemonClient.getProjectGraphFromServer());
|
|
56
81
|
});
|
|
57
82
|
}
|
|
58
83
|
exports.createProjectGraphAsync = createProjectGraphAsync;
|