@nrwl/workspace 13.3.0-beta.3 → 13.3.0

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.
Files changed (93) hide show
  1. package/package.json +11 -7
  2. package/src/command-line/format.js +12 -7
  3. package/src/command-line/format.js.map +1 -1
  4. package/src/command-line/utils.js +2 -4
  5. package/src/command-line/utils.js.map +1 -1
  6. package/src/core/assert-workspace-validity.js +6 -22
  7. package/src/core/assert-workspace-validity.js.map +1 -1
  8. package/src/core/dep-graph/index.html +41 -1
  9. package/src/core/dep-graph/main.esm.js +1 -1
  10. package/src/core/dep-graph/styles.css +1 -1
  11. package/src/core/hasher/file-hasher.js +2 -0
  12. package/src/core/hasher/file-hasher.js.map +1 -1
  13. package/src/core/project-graph/build-dependencies/explicit-package-json-dependencies.js +27 -4
  14. package/src/core/project-graph/build-dependencies/explicit-package-json-dependencies.js.map +1 -1
  15. package/src/core/project-graph/build-nodes/workspace-projects.d.ts +0 -1
  16. package/src/core/project-graph/build-nodes/workspace-projects.js +6 -25
  17. package/src/core/project-graph/build-nodes/workspace-projects.js.map +1 -1
  18. package/src/core/project-graph/build-project-graph.js +8 -4
  19. package/src/core/project-graph/build-project-graph.js.map +1 -1
  20. package/src/core/project-graph/daemon/client/client.d.ts +1 -1
  21. package/src/core/project-graph/daemon/client/client.js +40 -17
  22. package/src/core/project-graph/daemon/client/client.js.map +1 -1
  23. package/src/core/project-graph/daemon/server/logger.d.ts +0 -1
  24. package/src/core/project-graph/daemon/server/logger.js +0 -3
  25. package/src/core/project-graph/daemon/server/logger.js.map +1 -1
  26. package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.d.ts +3 -0
  27. package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.js +90 -42
  28. package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.js.map +1 -1
  29. package/src/core/project-graph/daemon/server/server.js +86 -63
  30. package/src/core/project-graph/daemon/server/server.js.map +1 -1
  31. package/src/core/project-graph/daemon/server/shutdown-utils.d.ts +1 -2
  32. package/src/core/project-graph/daemon/server/shutdown-utils.js +10 -6
  33. package/src/core/project-graph/daemon/server/shutdown-utils.js.map +1 -1
  34. package/src/core/project-graph/daemon/server/start.js +2 -0
  35. package/src/core/project-graph/daemon/server/start.js.map +1 -1
  36. package/src/core/project-graph/daemon/server/watcher.js +3 -1
  37. package/src/core/project-graph/daemon/server/watcher.js.map +1 -1
  38. package/src/core/project-graph/project-graph.js +31 -6
  39. package/src/core/project-graph/project-graph.js.map +1 -1
  40. package/src/generators/move/lib/update-build-targets.js +7 -4
  41. package/src/generators/move/lib/update-build-targets.js.map +1 -1
  42. package/src/generators/npm-package/npm-package.js +6 -3
  43. package/src/generators/npm-package/npm-package.js.map +1 -1
  44. package/src/tasks-runner/forked-process-task-runner.d.ts +3 -1
  45. package/src/tasks-runner/forked-process-task-runner.js +8 -1
  46. package/src/tasks-runner/forked-process-task-runner.js.map +1 -1
  47. package/src/tasks-runner/life-cycle.d.ts +10 -11
  48. package/src/tasks-runner/life-cycle.js.map +1 -1
  49. package/src/tasks-runner/run-command/components/no-targets-run.d.ts +7 -0
  50. package/src/tasks-runner/run-command/components/no-targets-run.js +20 -0
  51. package/src/tasks-runner/run-command/components/no-targets-run.js.map +1 -0
  52. package/src/tasks-runner/run-command/components/nx-output-row-title.d.ts +7 -0
  53. package/src/tasks-runner/run-command/components/nx-output-row-title.js +17 -0
  54. package/src/tasks-runner/run-command/components/nx-output-row-title.js.map +1 -0
  55. package/src/tasks-runner/run-command/components/run-command.d.ts +16 -0
  56. package/src/tasks-runner/run-command/components/run-command.js +55 -0
  57. package/src/tasks-runner/run-command/components/run-command.js.map +1 -0
  58. package/src/tasks-runner/run-command/components/run-many.d.ts +15 -0
  59. package/src/tasks-runner/run-command/components/run-many.js +123 -0
  60. package/src/tasks-runner/run-command/components/run-many.js.map +1 -0
  61. package/src/tasks-runner/run-command/components/task-list.d.ts +7 -0
  62. package/src/tasks-runner/run-command/components/task-list.js +29 -0
  63. package/src/tasks-runner/run-command/components/task-list.js.map +1 -0
  64. package/src/tasks-runner/run-command/components/task-row.d.ts +12 -0
  65. package/src/tasks-runner/run-command/components/task-row.js +52 -0
  66. package/src/tasks-runner/run-command/components/task-row.js.map +1 -0
  67. package/src/tasks-runner/{run-command.d.ts → run-command/index.d.ts} +4 -7
  68. package/src/tasks-runner/{run-command.js → run-command/index.js} +45 -28
  69. package/src/tasks-runner/run-command/index.js.map +1 -0
  70. package/src/tasks-runner/run-command/ink-run-many-life-cycle.d.ts +30 -0
  71. package/src/tasks-runner/run-command/ink-run-many-life-cycle.js +34 -0
  72. package/src/tasks-runner/run-command/ink-run-many-life-cycle.js.map +1 -0
  73. package/src/tasks-runner/task-orchestrator.js +3 -2
  74. package/src/tasks-runner/task-orchestrator.js.map +1 -1
  75. package/src/tasks-runner/tasks-runner.d.ts +1 -1
  76. package/src/tasks-runner/tasks-runner.js.map +1 -1
  77. package/src/tasks-runner/utils.js +5 -3
  78. package/src/tasks-runner/utils.js.map +1 -1
  79. package/src/tslint/nxEnforceModuleBoundariesRule.d.ts +3 -1
  80. package/src/tslint/nxEnforceModuleBoundariesRule.js +8 -4
  81. package/src/tslint/nxEnforceModuleBoundariesRule.js.map +1 -1
  82. package/src/utilities/plugins/plugin-capabilities.js +10 -11
  83. package/src/utilities/plugins/plugin-capabilities.js.map +1 -1
  84. package/src/utilities/project-graph-utils.d.ts +1 -0
  85. package/src/utilities/project-graph-utils.js +17 -1
  86. package/src/utilities/project-graph-utils.js.map +1 -1
  87. package/src/utils/rules/format-files.js +7 -11
  88. package/src/utils/rules/format-files.js.map +1 -1
  89. package/src/utils/runtime-lint-utils.d.ts +6 -2
  90. package/src/utils/runtime-lint-utils.js +28 -7
  91. package/src/utils/runtime-lint-utils.js.map +1 -1
  92. package/src/utils/versions.js +1 -1
  93. 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 configName = (0, workspace_1.workspaceConfigName)(app_root_1.appRootPath);
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
- // recomputing it now on demand. we can ignore the scheduled timeout
25
- if (scheduledTimeoutId) {
26
- clearTimeout(scheduledTimeoutId);
27
- scheduledTimeoutId = undefined;
28
- }
29
- // reset the wait time
30
- waitPeriod = 100;
31
- resetInternalStateIfNxDepsMissing();
32
- if (collectedUpdatedFiles.size == 0 && collectedDeletedFiles.size == 0) {
33
- if (!cachedSerializedProjectGraphPromise) {
34
- processCollectedUpdatedAndDeletedFiles(); // this creates a project graph
35
- cachedSerializedProjectGraphPromise = createAndSerializeProjectGraph();
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
- else {
39
- processCollectedUpdatedAndDeletedFiles();
40
- cachedSerializedProjectGraphPromise = createAndSerializeProjectGraph();
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
- processCollectedUpdatedAndDeletedFiles();
61
- cachedSerializedProjectGraphPromise = createAndSerializeProjectGraph();
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
- perf_hooks_1.performance.mark('hash-watched-changes-start');
68
- const updatedFiles = (0, git_hasher_1.getGitHashForFiles)([...collectedUpdatedFiles.values()], app_root_1.appRootPath);
69
- const deletedFiles = [...collectedDeletedFiles.values()];
70
- perf_hooks_1.performance.mark('hash-watched-changes-end');
71
- perf_hooks_1.performance.measure('hash changed files from watcher', 'hash-watched-changes-start', 'hash-watched-changes-end');
72
- file_hasher_1.defaultFileHasher.incrementalUpdate(updatedFiles, deletedFiles);
73
- const workspaceJson = (0, file_utils_1.readWorkspaceJson)();
74
- logger_1.serverLogger.nestedLog(`Updated file-hasher based on watched changes, recomputing project graph...`);
75
- // when workspace.json changes we cannot be sure about the correctness of the project file map
76
- if (collectedUpdatedFiles.has(configName) ||
77
- collectedDeletedFiles.has(configName)) {
78
- projectFileMapWithFiles = (0, file_utils_1.createProjectFileMap)(workspaceJson);
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
+ });
79
119
  }
80
120
  else {
81
- projectFileMapWithFiles = projectFileMapWithFiles
82
- ? (0, file_utils_1.updateProjectFileMap)(workspaceJson, projectFileMapWithFiles.projectFileMap, projectFileMapWithFiles.allWorkspaceFiles, updatedFiles, deletedFiles)
83
- : (0, file_utils_1.createProjectFileMap)(workspaceJson);
121
+ return createAndSerializeProjectGraph();
84
122
  }
85
- collectedUpdatedFiles.clear();
86
- collectedDeletedFiles.clear();
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]);
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 (err) {
152
+ catch (e) {
153
+ logger_1.serverLogger.log(`Error detected when creating a project graph: ${e.message}`);
107
154
  return {
108
- error: err,
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":"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"}
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");
@@ -13,45 +12,57 @@ 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");
15
14
  const fs_1 = require("fs");
15
+ const hashing_impl_1 = require("../../../hasher/hashing-impl");
16
16
  function respondToClient(socket, message) {
17
- socket.write(message, () => {
18
- // Close the connection once all data has been written so that the client knows when to read it.
19
- socket.end();
20
- logger_1.serverLogger.nestedLog(`Closed Connection to Client`);
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
+ });
21
24
  });
22
25
  }
23
26
  let watcherSubscription;
24
27
  let performanceObserver;
25
- const server = (0, net_1.createServer)((socket) => {
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* () {
26
40
  (0, shutdown_utils_1.resetInactivityTimeout)(handleInactivityTimeout);
27
41
  if (!performanceObserver) {
28
42
  performanceObserver = new perf_hooks_1.PerformanceObserver((list) => {
29
43
  const entry = list.getEntries()[0];
30
- logger_1.serverLogger.nestedLog(`Time taken for '${entry.name}'`, `${entry.duration}ms`);
44
+ logger_1.serverLogger.log(`Time taken for '${entry.name}'`, `${entry.duration}ms`);
31
45
  });
32
46
  performanceObserver.observe({ entryTypes: ['measure'], buffered: false });
33
47
  }
34
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
+ }
35
52
  (0, shutdown_utils_1.resetInactivityTimeout)(handleInactivityTimeout);
36
53
  const payload = data.toString();
37
54
  if (payload !== 'REQUEST_PROJECT_GRAPH_PAYLOAD') {
38
- throw new Error(`Unsupported payload sent to daemon server: ${payload}`);
55
+ yield respondWithErrorAndExit(socket, `Invalid payload from the client`, new Error(`Unsupported payload sent to daemon server: ${payload}`));
39
56
  }
40
57
  perf_hooks_1.performance.mark('server-connection');
41
58
  logger_1.serverLogger.requestLog('Client Request for Project Graph Received');
42
59
  const result = yield (0, project_graph_incremental_recomputation_1.getCachedSerializedProjectGraphPromise)();
43
60
  if (result.error) {
44
- (0, project_graph_incremental_recomputation_1.resetInternalState)();
45
- logger_1.serverLogger.nestedLog(`Error when preparing serialized project graph: ${result.error.message}`);
46
- respondToClient(socket, (0, socket_utils_1.serializeResult)(result.error, result.serializedProjectGraph));
47
- return;
61
+ yield respondWithErrorAndExit(socket, `Error when preparing serialized project graph.`, result.error);
48
62
  }
49
63
  const serializedResult = (0, socket_utils_1.serializeResult)(result.error, result.serializedProjectGraph);
50
64
  if (!serializedResult) {
51
- (0, project_graph_incremental_recomputation_1.resetInternalState)();
52
- logger_1.serverLogger.nestedLog(`Error when serializing project graph result`);
53
- respondToClient(socket, (0, socket_utils_1.serializeResult)(new Error('Critical error when serializing server result, check server logs'), null));
54
- return;
65
+ yield respondWithErrorAndExit(socket, `Error when serializing project graph result.`, new Error('Critical error when serializing server result, check server logs'));
55
66
  }
56
67
  perf_hooks_1.performance.mark('serialized-project-graph-ready');
57
68
  perf_hooks_1.performance.measure('total for creating and serializing project graph', 'server-connection', 'serialized-project-graph-ready');
@@ -62,10 +73,10 @@ const server = (0, net_1.createServer)((socket) => {
62
73
  socket.end();
63
74
  perf_hooks_1.performance.measure('total for server response', 'server-connection', 'serialized-project-graph-written-to-client');
64
75
  const bytesWritten = Buffer.byteLength(result.serializedProjectGraph, 'utf-8');
65
- logger_1.serverLogger.nestedLog(`Closed Connection to Client (${bytesWritten} bytes transferred)`);
76
+ logger_1.serverLogger.requestLog(`Closed Connection to Client (${bytesWritten} bytes transferred)`);
66
77
  });
67
78
  }));
68
- });
79
+ }));
69
80
  function handleInactivityTimeout() {
70
81
  (0, shutdown_utils_1.handleServerProcessTermination)({
71
82
  server,
@@ -89,31 +100,25 @@ process
89
100
  watcherSubscription,
90
101
  reason: 'received process SIGHUP',
91
102
  }));
92
- function requireUncached(module) {
93
- delete require.cache[require.resolve(module)];
94
- return require(module);
95
- }
96
- /**
97
- * We need to ensure that the server shuts down if the Nx installation changes.
98
- */
99
- let cachedNxVersion = resolveCurrentNxVersion();
100
- function resolveCurrentNxVersion() {
101
- const nrwlWorkspacePackageJsonPath = (0, devkit_1.normalizePath)((0, path_1.join)(app_root_1.appRootPath, 'node_modules/@nrwl/workspace/package.json'));
102
- try {
103
- const { version } = requireUncached(nrwlWorkspacePackageJsonPath);
104
- return version;
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;
105
117
  }
106
- catch (_a) {
107
- logger_1.serverLogger.nestedLog(`Error: Could not determine the current Nx version by inspecting: ${nrwlWorkspacePackageJsonPath}`);
108
- return null;
109
- }
110
- }
111
- function isNxVersionSame(currentNxVersion) {
112
- if (currentNxVersion === null) {
113
- // Something has gone wrong with figuring out the Nx version, declare the version as having changed
118
+ else {
119
+ existingLockHash = newHash;
114
120
  return false;
115
121
  }
116
- return currentNxVersion === cachedNxVersion;
117
122
  }
118
123
  /**
119
124
  * When applicable files in the workspaces are changed (created, updated, deleted),
@@ -121,22 +126,27 @@ function isNxVersionSame(currentNxVersion) {
121
126
  * available for the next client request to the server.
122
127
  */
123
128
  const handleWorkspaceChanges = (err, changeEvents) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
124
- (0, shutdown_utils_1.resetInactivityTimeout)(handleInactivityTimeout);
125
- if (!isNxVersionSame(resolveCurrentNxVersion())) {
126
- yield (0, shutdown_utils_1.handleServerProcessTermination)({
127
- server,
128
- watcherSubscription,
129
- reason: '@nrwl/workspace installation changed',
130
- });
131
- return;
132
- }
133
- if (err || !changeEvents || !changeEvents.length) {
134
- logger_1.serverLogger.watcherLog('Unexpected Error');
135
- console.error(err);
129
+ if (watcherError) {
130
+ logger_1.serverLogger.watcherLog('Skipping handleWorkspaceChanges because of a previously recorded watcher error.');
136
131
  return;
137
132
  }
138
- logger_1.serverLogger.watcherLog((0, watcher_1.convertChangeEventsToLogMessage)(changeEvents));
139
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));
140
150
  const filesToHash = [];
141
151
  const deletedFiles = [];
142
152
  for (const event of changeEvents) {
@@ -158,8 +168,9 @@ const handleWorkspaceChanges = (err, changeEvents) => (0, tslib_1.__awaiter)(voi
158
168
  (0, project_graph_incremental_recomputation_1.addUpdatedAndDeletedFiles)(filesToHash, deletedFiles);
159
169
  }
160
170
  catch (err) {
161
- logger_1.serverLogger.log(`Unexpected Error`);
171
+ logger_1.serverLogger.watcherLog(`Unexpected error`, err.message);
162
172
  console.error(err);
173
+ watcherError = err;
163
174
  }
164
175
  });
165
176
  function startServer() {
@@ -168,15 +179,27 @@ function startServer() {
168
179
  if (!socket_utils_1.isWindows) {
169
180
  (0, socket_utils_1.killSocketOrPath)();
170
181
  }
171
- return new Promise((resolve) => {
172
- server.listen(socket_utils_1.FULL_OS_SOCKET_PATH, () => (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
173
- logger_1.serverLogger.log(`Started listening on: ${socket_utils_1.FULL_OS_SOCKET_PATH}`);
174
- if (!watcherSubscription) {
175
- watcherSubscription = yield (0, watcher_1.subscribeToWorkspaceChanges)(handleWorkspaceChanges);
176
- logger_1.serverLogger.watcherLog(`Subscribed to changes within: ${app_root_1.appRootPath}`);
177
- }
178
- return resolve(server);
179
- }));
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
+ }
180
203
  });
181
204
  });
182
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/server/server.ts"],"names":[],"mappings":"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"}
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: ServerTerminationReason;
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
- server.close();
11
- if (watcherSubscription) {
12
- yield watcherSubscription.unsubscribe();
13
- logger_1.serverLogger.watcherLog(`Unsubscribed from changes within: ${app_root_1.appRootPath}`);
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;AAavF,SAAsB,8BAA8B,CAAC,EACnD,MAAM,EACN,MAAM,EACN,mBAAmB,GACkB;;QACrC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,mBAAmB,EAAE;YACvB,MAAM,mBAAmB,CAAC,WAAW,EAAE,CAAC;YACxC,qBAAY,CAAC,UAAU,CAAC,qCAAqC,sBAAW,EAAE,CAAC,CAAC;SAC7E;QACD,qBAAY,CAAC,GAAG,CAAC,4BAA4B,MAAM,GAAG,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CAAA;AAZD,wEAYC;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"}
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"}
@@ -3,12 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const devkit_1 = require("@nrwl/devkit");
5
5
  const server_1 = require("./server");
6
+ const process = require("process");
6
7
  (() => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
7
8
  try {
8
9
  yield (0, server_1.startServer)();
9
10
  }
10
11
  catch (err) {
11
12
  devkit_1.logger.error(err);
13
+ process.exit(1);
12
14
  }
13
15
  }))();
14
16
  //# sourceMappingURL=start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/server/start.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,qCAAuC;AAEvC,CAAC,GAAS,EAAE;IACV,IAAI;QACF,MAAM,IAAA,oBAAW,GAAE,CAAC;KACrB;IAAC,OAAO,GAAG,EAAE;QACZ,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACnB;AACH,CAAC,CAAA,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/server/start.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,qCAAuC;AACvC,mCAAmC;AAEnC,CAAC,GAAS,EAAE;IACV,IAAI;QACF,MAAM,IAAA,oBAAW,GAAE,CAAC;KACrB;IAAC,OAAO,GAAG,EAAE;QACZ,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC,CAAA,CAAC,EAAE,CAAC"}
@@ -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.filter(({ path }) => !cachedIgnoreGlobs.ignores(path));
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":"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"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../../../../../../packages/workspace/src/core/project-graph/daemon/server/watcher.ts"],"names":[],"mappings":"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"}