nx 22.0.1 → 22.0.3

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 (112) hide show
  1. package/migrations.json +6 -0
  2. package/package.json +12 -12
  3. package/project.json +5 -1
  4. package/src/ai/set-up-ai-agents/get-agent-rules.d.ts.map +1 -1
  5. package/src/ai/set-up-ai-agents/get-agent-rules.js +0 -11
  6. package/src/ai/utils.d.ts.map +1 -1
  7. package/src/ai/utils.js +3 -1
  8. package/src/command-line/init/ai-agent-prompts.d.ts.map +1 -1
  9. package/src/command-line/init/ai-agent-prompts.js +12 -11
  10. package/src/command-line/init/implementation/dot-nx/add-nx-scripts.d.ts +2 -0
  11. package/src/command-line/init/implementation/dot-nx/add-nx-scripts.d.ts.map +1 -1
  12. package/src/command-line/init/implementation/dot-nx/add-nx-scripts.js +11 -1
  13. package/src/command-line/init/init-v2.d.ts.map +1 -1
  14. package/src/command-line/init/init-v2.js +4 -0
  15. package/src/command-line/release/config/config.d.ts +1 -1
  16. package/src/command-line/release/config/config.d.ts.map +1 -1
  17. package/src/command-line/release/config/config.js +39 -0
  18. package/src/command-line/release/utils/release-graph.d.ts +1 -1
  19. package/src/command-line/release/version/release-group-processor.d.ts.map +1 -1
  20. package/src/command-line/release/version/release-group-processor.js +3 -2
  21. package/src/config/nx-json.d.ts +2 -0
  22. package/src/config/nx-json.d.ts.map +1 -1
  23. package/src/config/nx-json.js +2 -1
  24. package/src/core/graph/main.js +1 -1
  25. package/src/daemon/client/client.d.ts.map +1 -1
  26. package/src/daemon/client/client.js +25 -19
  27. package/src/daemon/client/daemon-socket-messenger.d.ts +1 -1
  28. package/src/daemon/client/daemon-socket-messenger.d.ts.map +1 -1
  29. package/src/daemon/client/daemon-socket-messenger.js +5 -3
  30. package/src/daemon/is-v8-serializer-enabled.d.ts +6 -0
  31. package/src/daemon/is-v8-serializer-enabled.d.ts.map +1 -0
  32. package/src/daemon/is-v8-serializer-enabled.js +10 -0
  33. package/src/daemon/server/file-watching/file-watcher-sockets.d.ts.map +1 -1
  34. package/src/daemon/server/file-watching/file-watcher-sockets.js +1 -1
  35. package/src/daemon/server/handle-context-file-data.js +1 -1
  36. package/src/daemon/server/handle-flush-sync-generator-changes-to-disk.js +1 -1
  37. package/src/daemon/server/handle-get-files-in-directory.js +1 -1
  38. package/src/daemon/server/handle-get-registered-sync-generators.js +1 -1
  39. package/src/daemon/server/handle-get-sync-generator-changes.js +1 -1
  40. package/src/daemon/server/handle-glob.js +2 -2
  41. package/src/daemon/server/handle-hash-tasks.d.ts +1 -1
  42. package/src/daemon/server/handle-hash-tasks.d.ts.map +1 -1
  43. package/src/daemon/server/handle-hash-tasks.js +1 -1
  44. package/src/daemon/server/handle-nx-workspace-files.js +1 -1
  45. package/src/daemon/server/handle-outputs-tracking.js +1 -1
  46. package/src/daemon/server/handle-task-history.d.ts +2 -2
  47. package/src/daemon/server/handle-task-history.js +2 -2
  48. package/src/daemon/server/handle-tasks-execution-hooks.d.ts +1 -1
  49. package/src/daemon/server/handle-tasks-execution-hooks.js +1 -1
  50. package/src/daemon/server/project-graph-incremental-recomputation.d.ts.map +1 -1
  51. package/src/daemon/server/project-graph-incremental-recomputation.js +14 -1
  52. package/src/daemon/server/project-graph-listener-sockets.d.ts.map +1 -1
  53. package/src/daemon/server/project-graph-listener-sockets.js +3 -2
  54. package/src/daemon/server/server.d.ts +2 -2
  55. package/src/daemon/server/server.d.ts.map +1 -1
  56. package/src/daemon/server/server.js +49 -28
  57. package/src/daemon/server/shutdown-utils.d.ts.map +1 -1
  58. package/src/daemon/server/shutdown-utils.js +2 -1
  59. package/src/daemon/socket-utils.d.ts +11 -0
  60. package/src/daemon/socket-utils.d.ts.map +1 -1
  61. package/src/daemon/socket-utils.js +41 -0
  62. package/src/devkit-internals.d.ts +2 -1
  63. package/src/devkit-internals.d.ts.map +1 -1
  64. package/src/devkit-internals.js +4 -1
  65. package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.d.ts.map +1 -1
  66. package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js +5 -1
  67. package/src/hasher/hash-task.d.ts +1 -0
  68. package/src/hasher/hash-task.d.ts.map +1 -1
  69. package/src/hasher/hash-task.js +57 -0
  70. package/src/migrations/update-22-1-0/update-nx-wrapper.d.ts +3 -0
  71. package/src/migrations/update-22-1-0/update-nx-wrapper.d.ts.map +1 -0
  72. package/src/migrations/update-22-1-0/update-nx-wrapper.js +7 -0
  73. package/src/native/nx.wasi-browser.js +53 -45
  74. package/src/native/nx.wasm32-wasi.wasm +0 -0
  75. package/src/plugins/js/index.d.ts.map +1 -1
  76. package/src/plugins/js/index.js +34 -20
  77. package/src/plugins/js/lock-file/pnpm-parser.d.ts.map +1 -1
  78. package/src/plugins/js/lock-file/pnpm-parser.js +5 -3
  79. package/src/plugins/js/lock-file/project-graph-pruning.js +1 -1
  80. package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +1 -1
  81. package/src/project-graph/plugins/isolation/messaging.d.ts.map +1 -1
  82. package/src/project-graph/plugins/isolation/messaging.js +2 -1
  83. package/src/project-graph/plugins/isolation/plugin-pool.js +19 -5
  84. package/src/project-graph/plugins/loaded-nx-plugin.d.ts.map +1 -1
  85. package/src/project-graph/plugins/loaded-nx-plugin.js +2 -0
  86. package/src/project-graph/plugins/resolve-plugin.d.ts.map +1 -1
  87. package/src/project-graph/plugins/resolve-plugin.js +4 -2
  88. package/src/project-graph/utils/project-configuration-utils.d.ts +1 -1
  89. package/src/project-graph/utils/project-configuration-utils.d.ts.map +1 -1
  90. package/src/project-graph/utils/project-configuration-utils.js +7 -4
  91. package/src/tasks-runner/cache.d.ts.map +1 -1
  92. package/src/tasks-runner/cache.js +27 -14
  93. package/src/tasks-runner/fork.js +3 -1
  94. package/src/tasks-runner/is-tui-enabled.d.ts.map +1 -1
  95. package/src/tasks-runner/is-tui-enabled.js +1 -1
  96. package/src/tasks-runner/pseudo-ipc.d.ts.map +1 -1
  97. package/src/tasks-runner/pseudo-ipc.js +4 -4
  98. package/src/tasks-runner/run-command.d.ts.map +1 -1
  99. package/src/tasks-runner/run-command.js +4 -1
  100. package/src/tasks-runner/task-orchestrator.d.ts +1 -1
  101. package/src/tasks-runner/task-orchestrator.d.ts.map +1 -1
  102. package/src/tasks-runner/task-orchestrator.js +2 -6
  103. package/src/utils/consume-messages-from-socket.d.ts +2 -0
  104. package/src/utils/consume-messages-from-socket.d.ts.map +1 -1
  105. package/src/utils/consume-messages-from-socket.js +27 -8
  106. package/src/utils/exit-codes.d.ts +1 -1
  107. package/src/utils/exit-codes.d.ts.map +1 -1
  108. package/src/utils/git-utils.js +1 -1
  109. package/src/utils/package-json.js +1 -1
  110. package/src/utils/package-manager.js +2 -2
  111. package/src/utils/update-nxw.d.ts.map +1 -1
  112. package/src/utils/update-nxw.js +11 -0
@@ -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
- if (chunk.codePointAt(chunk.length - 1) === 4) {
9
- message += chunk.substring(0, chunk.length - 1);
10
- // Server may send multiple messages in one chunk, so splitting by 0x4
11
- const messages = message.split('');
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
- callback(splitMessage);
20
+ if (splitMessage) {
21
+ callback(splitMessage);
22
+ }
14
23
  }
15
24
  message = '';
16
25
  }
17
- else {
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
+ }
@@ -2,7 +2,7 @@
2
2
  * Translates NodeJS signals to numeric exit code
3
3
  * @param signal
4
4
  */
5
- export declare function signalToCode(signal: NodeJS.Signals): number;
5
+ export declare function signalToCode(signal: NodeJS.Signals | null): number;
6
6
  /**
7
7
  * Translates numeric exit codes to NodeJS signals
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/exit-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAW3D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAWzD"}
1
+ {"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/exit-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,GAAG,MAAM,CAWlE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAWzD"}
@@ -15,7 +15,7 @@ function execAsync(command, execOptions) {
15
15
  if (err) {
16
16
  return rej(err);
17
17
  }
18
- res(stdout);
18
+ res(stdout.toString());
19
19
  });
20
20
  });
21
21
  }
@@ -303,7 +303,7 @@ function getDependencyVersionFromPackageJsonFromFileSystem(packageName, root = w
303
303
  // Resolve catalog reference if needed
304
304
  const manager = (0, catalog_1.getCatalogManager)(root);
305
305
  if (version && manager?.isCatalogReference(version)) {
306
- version = manager.resolveCatalogReference(packageName, version, root);
306
+ version = manager.resolveCatalogReference(root, packageName, version);
307
307
  }
308
308
  return version;
309
309
  }
@@ -370,7 +370,7 @@ async function resolvePackageVersionUsingRegistry(packageName, version) {
370
370
  let resolvedVersion = version;
371
371
  const manager = (0, catalog_1.getCatalogManager)(workspace_root_1.workspaceRoot);
372
372
  if (manager?.isCatalogReference(version)) {
373
- resolvedVersion = manager.resolveCatalogReference(packageName, version, workspace_root_1.workspaceRoot);
373
+ resolvedVersion = manager.resolveCatalogReference(workspace_root_1.workspaceRoot, packageName, version);
374
374
  if (!resolvedVersion) {
375
375
  throw new Error(`Unable to resolve catalog reference ${packageName}@${version}.`);
376
376
  }
@@ -412,7 +412,7 @@ async function resolvePackageVersionUsingInstallation(packageName, version) {
412
412
  let resolvedVersion = version;
413
413
  const manager = (0, catalog_1.getCatalogManager)(workspace_root_1.workspaceRoot);
414
414
  if (manager.isCatalogReference(version)) {
415
- resolvedVersion = manager.resolveCatalogReference(packageName, version, workspace_root_1.workspaceRoot);
415
+ resolvedVersion = manager.resolveCatalogReference(workspace_root_1.workspaceRoot, packageName, version);
416
416
  if (!resolvedVersion) {
417
417
  throw new Error(`Unable to resolve catalog reference ${packageName}@${version}.`);
418
418
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update-nxw.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/update-nxw.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAG/C,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,QAKnC"}
1
+ {"version":3,"file":"update-nxw.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/update-nxw.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAI/C,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,QAiBnC"}
@@ -3,9 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateNxw = updateNxw;
4
4
  const add_nx_scripts_1 = require("../command-line/init/implementation/dot-nx/add-nx-scripts");
5
5
  const path_1 = require("../utils/path");
6
+ const fs_1 = require("fs");
6
7
  function updateNxw(tree) {
7
8
  const wrapperPath = (0, path_1.normalizePath)((0, add_nx_scripts_1.nxWrapperPath)());
8
9
  if (tree.exists(wrapperPath)) {
9
10
  tree.write(wrapperPath, (0, add_nx_scripts_1.getNxWrapperContents)());
10
11
  }
12
+ const bashScriptPath = 'nx';
13
+ if (tree.exists(bashScriptPath) && tree.isFile(bashScriptPath)) {
14
+ tree.write(bashScriptPath, (0, add_nx_scripts_1.getShellScriptContents)(), {
15
+ mode: fs_1.constants.S_IXUSR | fs_1.constants.S_IRUSR | fs_1.constants.S_IWUSR,
16
+ });
17
+ }
18
+ const batchScriptPath = 'nx.bat';
19
+ if (tree.exists(batchScriptPath) && tree.isFile(batchScriptPath)) {
20
+ tree.write(batchScriptPath, (0, add_nx_scripts_1.getBatchScriptContents)());
21
+ }
11
22
  }