nx 22.5.0-beta.2 → 22.5.0-beta.4

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 (82) hide show
  1. package/README.md +3 -3
  2. package/package.json +13 -13
  3. package/src/ai/constants.d.ts +1 -0
  4. package/src/ai/constants.d.ts.map +1 -1
  5. package/src/ai/constants.js +4 -0
  6. package/src/ai/set-up-ai-agents/set-up-ai-agents.d.ts.map +1 -1
  7. package/src/ai/set-up-ai-agents/set-up-ai-agents.js +22 -0
  8. package/src/command-line/configure-ai-agents/configure-ai-agents.d.ts.map +1 -1
  9. package/src/command-line/configure-ai-agents/configure-ai-agents.js +77 -43
  10. package/src/command-line/nx-commands.js +1 -1
  11. package/src/command-line/release/changelog/version-plan-filtering.d.ts +6 -3
  12. package/src/command-line/release/changelog/version-plan-filtering.d.ts.map +1 -1
  13. package/src/command-line/release/changelog/version-plan-filtering.js +4 -3
  14. package/src/command-line/release/changelog.d.ts.map +1 -1
  15. package/src/command-line/release/changelog.js +11 -9
  16. package/src/command-line/release/utils/git.d.ts +3 -2
  17. package/src/command-line/release/utils/git.d.ts.map +1 -1
  18. package/src/command-line/release/utils/git.js +3 -69
  19. package/src/command-line/release/utils/release-graph.d.ts +10 -0
  20. package/src/command-line/release/utils/release-graph.d.ts.map +1 -1
  21. package/src/command-line/release/utils/release-graph.js +32 -1
  22. package/src/command-line/release/utils/repository-git-tags.d.ts +26 -0
  23. package/src/command-line/release/utils/repository-git-tags.d.ts.map +1 -0
  24. package/src/command-line/release/utils/repository-git-tags.js +125 -0
  25. package/src/command-line/release/utils/resolve-semver-specifier.d.ts +2 -1
  26. package/src/command-line/release/utils/resolve-semver-specifier.d.ts.map +1 -1
  27. package/src/command-line/release/utils/resolve-semver-specifier.js +2 -2
  28. package/src/command-line/release/utils/shared.d.ts +3 -2
  29. package/src/command-line/release/utils/shared.d.ts.map +1 -1
  30. package/src/command-line/release/utils/shared.js +4 -10
  31. package/src/command-line/release/version/derive-specifier-from-conventional-commits.d.ts +2 -1
  32. package/src/command-line/release/version/derive-specifier-from-conventional-commits.d.ts.map +1 -1
  33. package/src/command-line/release/version/derive-specifier-from-conventional-commits.js +2 -2
  34. package/src/command-line/release/version/release-group-processor.d.ts.map +1 -1
  35. package/src/command-line/release/version/release-group-processor.js +1 -1
  36. package/src/command-line/run/run-one.d.ts +1 -1
  37. package/src/command-line/run/run-one.d.ts.map +1 -1
  38. package/src/command-line/run/run-one.js +12 -9
  39. package/src/core/graph/main.js +1 -1
  40. package/src/daemon/client/client.js +4 -4
  41. package/src/daemon/server/server.d.ts.map +1 -1
  42. package/src/daemon/server/server.js +3 -2
  43. package/src/daemon/server/shutdown-utils.d.ts.map +1 -1
  44. package/src/daemon/server/shutdown-utils.js +1 -1
  45. package/src/executors/run-commands/running-tasks.d.ts.map +1 -1
  46. package/src/executors/run-commands/running-tasks.js +4 -4
  47. package/src/hasher/hash-task.d.ts +3 -3
  48. package/src/hasher/hash-task.d.ts.map +1 -1
  49. package/src/hasher/hash-task.js +24 -5
  50. package/src/hasher/native-task-hasher-impl.d.ts +1 -1
  51. package/src/hasher/native-task-hasher-impl.d.ts.map +1 -1
  52. package/src/hasher/native-task-hasher-impl.js +2 -2
  53. package/src/hasher/task-hasher.d.ts +4 -1
  54. package/src/hasher/task-hasher.d.ts.map +1 -1
  55. package/src/hasher/task-hasher.js +1 -0
  56. package/src/native/index.d.ts +18 -2
  57. package/src/native/nx.wasi.cjs +29 -28
  58. package/src/native/nx.wasm32-wasi.wasm +0 -0
  59. package/src/project-graph/plugins/get-plugins.d.ts.map +1 -1
  60. package/src/project-graph/plugins/get-plugins.js +81 -11
  61. package/src/project-graph/plugins/isolation/plugin-pool.d.ts.map +1 -1
  62. package/src/project-graph/plugins/isolation/plugin-pool.js +78 -27
  63. package/src/project-graph/plugins/isolation/plugin-worker.js +33 -17
  64. package/src/project-graph/project-graph.js +1 -1
  65. package/src/tasks-runner/cache.d.ts +2 -2
  66. package/src/tasks-runner/cache.d.ts.map +1 -1
  67. package/src/tasks-runner/cache.js +14 -11
  68. package/src/tasks-runner/forked-process-task-runner.d.ts +3 -3
  69. package/src/tasks-runner/forked-process-task-runner.d.ts.map +1 -1
  70. package/src/tasks-runner/forked-process-task-runner.js +12 -11
  71. package/src/tasks-runner/process-metrics-service.d.ts +2 -2
  72. package/src/tasks-runner/process-metrics-service.d.ts.map +1 -1
  73. package/src/tasks-runner/process-metrics-service.js +2 -2
  74. package/src/tasks-runner/run-command.d.ts.map +1 -1
  75. package/src/tasks-runner/task-io-service.d.ts +97 -0
  76. package/src/tasks-runner/task-io-service.d.ts.map +1 -0
  77. package/src/tasks-runner/task-io-service.js +146 -0
  78. package/src/utils/consume-messages-from-socket.d.ts.map +1 -1
  79. package/src/utils/consume-messages-from-socket.js +3 -1
  80. package/src/utils/promised-based-queue.d.ts +0 -7
  81. package/src/utils/promised-based-queue.d.ts.map +1 -1
  82. package/src/utils/promised-based-queue.js +0 -9
@@ -790,13 +790,13 @@ class DaemonClient {
790
790
  this.establishConnection();
791
791
  // Resend the pending message if one exists
792
792
  if (this.currentMessage && this.currentResolve && this.currentReject) {
793
- // Decrement the queue counter that was incremented when the error occurred
794
- this.queue.decrementQueueCounter();
795
- // Retry the message through the normal queue
793
+ // Retry the message directly (not through the queue) to resolve the
794
+ // pending promise that the original queue entry is waiting on.
795
+ // This allows the original queue entry to complete naturally.
796
796
  const msg = this.currentMessage;
797
797
  const res = this.currentResolve;
798
798
  const rej = this.currentReject;
799
- this.sendToDaemonViaQueue(msg).then(res, rej);
799
+ this.sendMessageToDaemon(msg).then(res, rej);
800
800
  }
801
801
  }
802
802
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/server/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAwKnD,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACtC,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,GAAG,CAAC,MAAM,CAAa,CAAC;AAsRlD,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EAClC,IAAI,EAAE,MAAM,GAAG,IAAI,iBA6BpB;AA+KD,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CA2GnD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/server/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAwKnD,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACtC,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,GAAG,CAAC,MAAM,CAAa,CAAC;AAuRlD,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,EAClC,IAAI,EAAE,MAAM,GAAG,IAAI,iBA6BpB;AA+KD,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CA2GnD"}
@@ -80,8 +80,9 @@ const server = (0, net_1.createServer)(async (socket) => {
80
80
  await handleMessage(socket, message);
81
81
  }));
82
82
  socket.on('error', (e) => {
83
- logger_1.serverLogger.log('Socket error');
84
- console.error(e);
83
+ logger_1.serverLogger.log(`Socket error: ${e.message}`);
84
+ (0, file_watcher_sockets_1.removeRegisteredFileWatcherSocket)(socket);
85
+ (0, project_graph_listener_sockets_1.removeRegisteredProjectGraphListenerSocket)(socket);
85
86
  });
86
87
  socket.on('close', () => {
87
88
  numberOfOpenConnections -= 1;
@@ -1 +1 @@
1
- {"version":3,"file":"shutdown-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/server/shutdown-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAI1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAkB5C,eAAO,MAAM,4BAA4B,EAAG,QAAiB,CAAC;AA6C9D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,QAErD;AAED,wBAAgB,kBAAkB,YAEjC;AAID,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,OAAO,QAE3D;AAED,wBAAgB,wBAAwB,YAEvC;AAED,UAAU,oCAAoC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC3B;AAED,wBAAsB,8BAA8B,CAAC,EACnD,MAAM,EACN,MAAM,EACN,OAAO,GACR,EAAE,oCAAoC,iBAEtC;AAED,wBAAsB,yCAAyC,CAAC,EAC9D,MAAM,EACN,MAAM,EACN,OAAO,GACR,EAAE,oCAAoC,iBAMtC;AAgDD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAK3D;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,oBAcpB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,iBAsBb"}
1
+ {"version":3,"file":"shutdown-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/server/shutdown-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAI1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAkB5C,eAAO,MAAM,4BAA4B,EAAG,QAAiB,CAAC;AA6C9D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,QAErD;AAED,wBAAgB,kBAAkB,YAEjC;AAID,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,OAAO,QAE3D;AAED,wBAAgB,wBAAwB,YAEvC;AAED,UAAU,oCAAoC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC3B;AAED,wBAAsB,8BAA8B,CAAC,EACnD,MAAM,EACN,MAAM,EACN,OAAO,GACR,EAAE,oCAAoC,iBAEtC;AAED,wBAAsB,yCAAyC,CAAC,EAC9D,MAAM,EACN,MAAM,EACN,OAAO,GACR,EAAE,oCAAoC,iBAMtC;AAgDD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAK3D;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,oBAgBpB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,KAAK,iBAsBb"}
@@ -127,7 +127,7 @@ function respondToClient(socket, response, description) {
127
127
  }
128
128
  socket.write(response + consume_messages_from_socket_1.MESSAGE_END_SEQ, (err) => {
129
129
  if (err) {
130
- console.error(err);
130
+ logger_1.serverLogger.log(`Socket write error (client likely disconnected): ${err.message}`);
131
131
  }
132
132
  logger_1.serverLogger.log(`Done responding to the client`, description);
133
133
  res(null);
@@ -1 +1 @@
1
- {"version":3,"file":"running-tasks.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/run-commands/running-tasks.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,YAAY,EAAE,MAAM,eAAe,CAAC;AAIjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAGL,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAO5E,OAAO,EAEL,4BAA4B,EAE7B,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,aAAa,CAChB;IACL,OAAO,CAAC,eAAe,CAA+C;gBAGpE,OAAO,EAAE,4BAA4B,EACrC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM;IAqBV,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAQrE,QAAQ,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI;IAI7C,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhE,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAM3B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;YAYpB,GAAG;YAiGH,2BAA2B;CAkC1C;AAED,qBAAa,oBAAqB,YAAW,WAAW;IAYpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,aAAa,CAChB;IACL,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,eAAe,CAA+C;gBAGpE,OAAO,EAAE,4BAA4B,EACrC,OAAO,EAAE,eAAe,EACP,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM;IAajC,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAY/D,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhE,QAAQ,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI;IAI7C,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIjC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;YAId,GAAG;YAyCH,aAAa;CAsD5B;AAoKD,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,4BAA4B,EACxC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAsB3B"}
1
+ {"version":3,"file":"running-tasks.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/run-commands/running-tasks.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,YAAY,EAAE,MAAM,eAAe,CAAC;AAIjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAGL,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAO5E,OAAO,EAEL,4BAA4B,EAE7B,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,aAAa,CAChB;IACL,OAAO,CAAC,eAAe,CAA+C;gBAGpE,OAAO,EAAE,4BAA4B,EACrC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM;IAqBV,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAQrE,QAAQ,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI;IAI7C,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhE,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAM3B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;YAYpB,GAAG;YAiGH,2BAA2B;CAkC1C;AAED,qBAAa,oBAAqB,YAAW,WAAW;IAYpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,aAAa,CAChB;IACL,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,eAAe,CAA+C;gBAGpE,OAAO,EAAE,4BAA4B,EACrC,OAAO,EAAE,eAAe,EACP,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM;IAajC,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAY/D,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhE,QAAQ,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI;IAI7C,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIjC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;YAId,GAAG;YAyCH,aAAa;CAsD5B;AAiKD,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,4BAA4B,EACxC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAsB3B"}
@@ -9,7 +9,7 @@ const path_1 = require("path");
9
9
  const treeKill = require("tree-kill");
10
10
  const pseudo_terminal_1 = require("../../tasks-runner/pseudo-terminal");
11
11
  const task_env_1 = require("../../tasks-runner/task-env");
12
- const process_metrics_service_1 = require("../../tasks-runner/process-metrics-service");
12
+ const task_io_service_1 = require("../../tasks-runner/task-io-service");
13
13
  const exit_codes_1 = require("../../utils/exit-codes");
14
14
  const run_commands_impl_1 = require("./run-commands.impl");
15
15
  class ParallelRunningTasks {
@@ -220,7 +220,7 @@ class SeriallyRunningTasks {
220
220
  // Skip registration if we're in a forked executor - the fork wrapper already registered
221
221
  const pid = pseudoTtyProcess.getPid();
222
222
  if (pid && !process.env.NX_FORKED_TASK_EXECUTOR) {
223
- (0, process_metrics_service_1.getProcessMetricsService)().registerTaskProcess(taskId, pid);
223
+ (0, task_io_service_1.registerTaskProcessStart)(taskId, pid);
224
224
  }
225
225
  return pseudoTtyProcess;
226
226
  }
@@ -250,7 +250,7 @@ class RunningNodeProcess {
250
250
  // Register process for metrics collection
251
251
  // Skip registration if we're in a forked executor - the fork wrapper already registered
252
252
  if (this.childProcess.pid && !process.env.NX_FORKED_TASK_EXECUTOR) {
253
- (0, process_metrics_service_1.getProcessMetricsService)().registerTaskProcess(this.taskId, this.childProcess.pid);
253
+ (0, task_io_service_1.registerTaskProcessStart)(taskId, this.childProcess.pid);
254
254
  }
255
255
  this.addListeners(commandConfig, streamOutput);
256
256
  }
@@ -363,7 +363,7 @@ async function runSingleCommandWithPseudoTerminal(normalized, context, taskId) {
363
363
  // Skip registration if we're in a forked executor - the fork wrapper already registered
364
364
  const pid = pseudoTtyProcess.getPid();
365
365
  if (pid && !process.env.NX_FORKED_TASK_EXECUTOR) {
366
- (0, process_metrics_service_1.getProcessMetricsService)().registerTaskProcess(taskId, pid);
366
+ (0, task_io_service_1.registerTaskProcessStart)(taskId, pid);
367
367
  }
368
368
  registerProcessListener(pseudoTtyProcess, pseudoTerminal);
369
369
  return pseudoTtyProcess;
@@ -1,8 +1,8 @@
1
- import { Task, TaskGraph } from '../config/task-graph';
2
- import { TaskHasher } from './task-hasher';
3
- import { ProjectGraph } from '../config/project-graph';
4
1
  import { NxJsonConfiguration } from '../config/nx-json';
2
+ import { ProjectGraph } from '../config/project-graph';
3
+ import { Task, TaskGraph } from '../config/task-graph';
5
4
  import { TaskDetails } from '../native';
5
+ import { TaskHasher } from './task-hasher';
6
6
  export declare function getTaskDetails(): TaskDetails | null;
7
7
  export declare function hashTasksThatDoNotDependOnOutputsOfOtherTasks(hasher: TaskHasher, projectGraph: ProjectGraph, taskGraph: TaskGraph, nxJson: NxJsonConfiguration, tasksDetails: TaskDetails | null): Promise<void>;
8
8
  export declare function hashTask(hasher: TaskHasher, projectGraph: ProjectGraph, taskGraph: TaskGraph, task: Task, env: NodeJS.ProcessEnv, taskDetails: TaskDetails | null): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"hash-task.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/hash-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAa,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAuB,WAAW,EAAE,MAAM,WAAW,CAAC;AAK7D,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CASnD;AAED,wBAAsB,6CAA6C,CACjE,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,WAAW,GAAG,IAAI,iBAgDjC;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,WAAW,EAAE,WAAW,GAAG,IAAI,iBAuChC;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,WAAW,EAAE,WAAW,GAAG,IAAI,iBAuEhC"}
1
+ {"version":3,"file":"hash-task.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/hash-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAc,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAW,WAAW,EAAE,MAAM,WAAW,CAAC;AAKjD,OAAO,EAAa,UAAU,EAAE,MAAM,eAAe,CAAC;AAItD,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CASnD;AAED,wBAAsB,6CAA6C,CACjE,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,WAAW,GAAG,IAAI,iBAsDjC;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,WAAW,EAAE,WAAW,GAAG,IAAI,iBA4ChC;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,WAAW,EAAE,WAAW,GAAG,IAAI,iBAqFhC"}
@@ -4,12 +4,13 @@ exports.getTaskDetails = getTaskDetails;
4
4
  exports.hashTasksThatDoNotDependOnOutputsOfOtherTasks = hashTasksThatDoNotDependOnOutputsOfOtherTasks;
5
5
  exports.hashTask = hashTask;
6
6
  exports.hashTasks = hashTasks;
7
- const utils_1 = require("../tasks-runner/utils");
8
- const project_graph_1 = require("../project-graph/project-graph");
9
- const task_hasher_1 = require("./task-hasher");
10
7
  const nx_json_1 = require("../config/nx-json");
11
8
  const native_1 = require("../native");
9
+ const project_graph_1 = require("../project-graph/project-graph");
10
+ const task_io_service_1 = require("../tasks-runner/task-io-service");
11
+ const utils_1 = require("../tasks-runner/utils");
12
12
  const db_connection_1 = require("../utils/db-connection");
13
+ const task_hasher_1 = require("./task-hasher");
13
14
  let taskDetails;
14
15
  function getTaskDetails() {
15
16
  // TODO: Remove when wasm supports sqlite
@@ -39,9 +40,14 @@ async function hashTasksThatDoNotDependOnOutputsOfOtherTasks(hasher, projectGrap
39
40
  })
40
41
  .map((t) => t.task);
41
42
  const hashes = await hasher.hashTasks(tasksToHash, taskGraph, process.env);
43
+ const ioService = (0, task_io_service_1.getTaskIOService)();
42
44
  for (let i = 0; i < tasksToHash.length; i++) {
43
45
  tasksToHash[i].hash = hashes[i].value;
44
46
  tasksToHash[i].hashDetails = hashes[i].details;
47
+ // Notify TaskIOService of hash inputs
48
+ if (hashes[i].inputs) {
49
+ ioService.notifyTaskInputs(tasksToHash[i].id, hashes[i].inputs);
50
+ }
45
51
  }
46
52
  if (tasksDetails?.recordTaskDetails) {
47
53
  tasksDetails.recordTaskDetails(tasksToHash.map((task) => ({
@@ -58,7 +64,7 @@ async function hashTask(hasher, projectGraph, taskGraph, task, env, taskDetails)
58
64
  performance.mark('hashSingleTask:start');
59
65
  const customHasher = (0, utils_1.getCustomHasher)(task, projectGraph);
60
66
  const projectsConfigurations = (0, project_graph_1.readProjectsConfigurationFromProjectGraph)(projectGraph);
61
- const { value, details } = await (customHasher
67
+ const { value, details, inputs } = await (customHasher
62
68
  ? customHasher(task, {
63
69
  hasher,
64
70
  projectGraph,
@@ -71,6 +77,10 @@ async function hashTask(hasher, projectGraph, taskGraph, task, env, taskDetails)
71
77
  : hasher.hashTask(task, taskGraph, env));
72
78
  task.hash = value;
73
79
  task.hashDetails = details;
80
+ // Notify TaskIOService of hash inputs
81
+ if (inputs) {
82
+ (0, task_io_service_1.getTaskIOService)().notifyTaskInputs(task.id, inputs);
83
+ }
74
84
  if (taskDetails?.recordTaskDetails) {
75
85
  taskDetails.recordTaskDetails([
76
86
  {
@@ -102,9 +112,10 @@ async function hashTasks(hasher, projectGraph, taskGraph, env, taskDetails) {
102
112
  }
103
113
  }
104
114
  // Hash tasks with custom hashers individually
115
+ const ioService = (0, task_io_service_1.getTaskIOService)();
105
116
  const customHasherPromises = tasksWithCustomHashers.map(async (task) => {
106
117
  const customHasher = (0, utils_1.getCustomHasher)(task, projectGraph);
107
- const { value, details } = await customHasher(task, {
118
+ const { value, details, inputs } = await customHasher(task, {
108
119
  hasher,
109
120
  projectGraph,
110
121
  taskGraph,
@@ -115,6 +126,10 @@ async function hashTasks(hasher, projectGraph, taskGraph, env, taskDetails) {
115
126
  });
116
127
  task.hash = value;
117
128
  task.hashDetails = details;
129
+ // Notify TaskIOService of hash inputs
130
+ if (inputs) {
131
+ ioService.notifyTaskInputs(task.id, inputs);
132
+ }
118
133
  });
119
134
  // Hash tasks without custom hashers in batch
120
135
  let batchHashPromise = Promise.resolve();
@@ -125,6 +140,10 @@ async function hashTasks(hasher, projectGraph, taskGraph, env, taskDetails) {
125
140
  for (let i = 0; i < tasksWithoutCustomHashers.length; i++) {
126
141
  tasksWithoutCustomHashers[i].hash = hashes[i].value;
127
142
  tasksWithoutCustomHashers[i].hashDetails = hashes[i].details;
143
+ // Notify TaskIOService of hash inputs
144
+ if (hashes[i].inputs) {
145
+ ioService.notifyTaskInputs(tasksWithoutCustomHashers[i].id, hashes[i].inputs);
146
+ }
128
147
  }
129
148
  });
130
149
  }
@@ -1,7 +1,7 @@
1
1
  import { NxJsonConfiguration } from '../config/nx-json';
2
2
  import { ProjectGraph } from '../config/project-graph';
3
3
  import { Task, TaskGraph } from '../config/task-graph';
4
- import { ExternalObject, FileData, HasherOptions, HashPlanner, NxWorkspaceFilesExternals, ProjectGraph as NativeProjectGraph, TaskHasher } from '../native';
4
+ import { ExternalObject, FileData, HasherOptions, HashPlanner, ProjectGraph as NativeProjectGraph, NxWorkspaceFilesExternals, TaskHasher } from '../native';
5
5
  import { PartialHash, TaskHasherImpl } from './task-hasher';
6
6
  export declare class NativeTaskHasherImpl implements TaskHasherImpl {
7
7
  hasher: TaskHasher;
@@ -1 +1 @@
1
- {"version":3,"file":"native-task-hasher-impl.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/native-task-hasher-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,QAAQ,EACR,aAAa,EACb,WAAW,EACX,yBAAyB,EACzB,YAAY,IAAI,kBAAkB,EAClC,UAAU,EAEX,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI5D,qBAAa,oBAAqB,YAAW,cAAc;IACzD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACpD,oBAAoB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,iBAAiB,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;gBAGjC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,yBAAyB,EACpC,OAAO,EAAE;QAAE,uBAAuB,EAAE,OAAO,CAAA;KAAE;IAiCzC,QAAQ,CACZ,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC;IAOjB,SAAS,CACb,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,EAAE,CAAC;CAQ1B"}
1
+ {"version":3,"file":"native-task-hasher-impl.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/native-task-hasher-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,IAAI,kBAAkB,EAClC,yBAAyB,EACzB,UAAU,EAEX,MAAM,WAAW,CAAC;AAInB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5D,qBAAa,oBAAqB,YAAW,cAAc;IACzD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACpD,oBAAoB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,iBAAiB,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;gBAGjC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,yBAAyB,EACpC,OAAO,EAAE;QAAE,uBAAuB,EAAE,OAAO,CAAA;KAAE;IAkCzC,QAAQ,CACZ,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC;IAOjB,SAAS,CACb,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,EAAE,CAAC;CAQ1B"}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NativeTaskHasherImpl = void 0;
4
4
  const native_1 = require("../native");
5
5
  const transform_objects_1 = require("../native/transform-objects");
6
- const fileutils_1 = require("../utils/fileutils");
7
6
  const typescript_1 = require("../plugins/js/utils/typescript");
7
+ const fileutils_1 = require("../utils/fileutils");
8
8
  class NativeTaskHasherImpl {
9
9
  constructor(workspaceRoot, nxJson, projectGraph, externals, options) {
10
10
  this.projectGraphRef = (0, native_1.transferProjectGraph)((0, transform_objects_1.transformProjectGraphForRust)(projectGraph));
@@ -21,7 +21,7 @@ class NativeTaskHasherImpl {
21
21
  }
22
22
  }
23
23
  this.planner = new native_1.HashPlanner(nxJson, this.projectGraphRef);
24
- this.hasher = new native_1.TaskHasher(workspaceRoot, this.projectGraphRef, this.projectFileMapRef, this.allWorkspaceFilesRef, Buffer.from(JSON.stringify(tsconfig)), paths, options);
24
+ this.hasher = new native_1.TaskHasher(workspaceRoot, this.projectGraphRef, this.projectFileMapRef, this.allWorkspaceFilesRef, Buffer.from(JSON.stringify(tsconfig)), paths, rootTsConfigPath, options);
25
25
  }
26
26
  async hashTask(task, taskGraph, env, cwd) {
27
27
  const plans = this.planner.getPlansReference([task.id], taskGraph);
@@ -3,7 +3,8 @@ import { NxJsonConfiguration } from '../config/nx-json';
3
3
  import { Task, TaskGraph } from '../config/task-graph';
4
4
  import { DaemonClient } from '../daemon/client/client';
5
5
  import { InputDefinition } from '../config/workspace-json-project-json';
6
- import { NxWorkspaceFilesExternals } from '../native';
6
+ import { HashInputs, NxWorkspaceFilesExternals } from '../native';
7
+ export { HashInputs };
7
8
  /**
8
9
  * A data structure returned by the default hasher.
9
10
  */
@@ -12,6 +13,7 @@ export interface PartialHash {
12
13
  details: {
13
14
  [name: string]: string;
14
15
  };
16
+ inputs: HashInputs;
15
17
  }
16
18
  /**
17
19
  * A data structure returned by the default hasher.
@@ -30,6 +32,7 @@ export interface Hash {
30
32
  [input: string]: string;
31
33
  };
32
34
  };
35
+ inputs?: HashInputs;
33
36
  }
34
37
  export interface TaskHasher {
35
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"task-hasher.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/task-hasher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-hasher.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/task-hasher.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAGlE,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QAClC,YAAY,CAAC,EAAE;YAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QAC9C,OAAO,CAAC,EAAE;YAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;KACvC,CAAC;IACF,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,QAAQ,CACN,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1C;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhE,SAAS,CACP,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CACP,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAE1B,QAAQ,CACN,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC;AAEhC,qBAAa,qBAAsB,YAAW,UAAU;IAEpD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,GAAG;IAG/B,SAAS,CACb,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,CAAC,EAAE,SAAS,EACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,OAAO,CAAC,IAAI,EAAE,CAAC;IAUZ,QAAQ,CACZ,IAAI,EAAE,IAAI,EACV,SAAS,CAAC,EAAE,SAAS,EACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC;CAWjB;AAED,qBAAa,mBAAoB,YAAW,UAAU;IAIlD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,UAAU,CAAiB;gBAGhB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,mBAAmB,EAC3B,sBAAsB,EAAE,yBAAyB,GAAG,IAAI,EACxD,OAAO,EAAE,GAAG;IAazB,SAAS,CACb,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,CAAC,EAAE,SAAS,EACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,EACvB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,EAAE,CAAC;IAYZ,QAAQ,CACZ,IAAI,EAAE,IAAI,EACV,SAAS,CAAC,EAAE,SAAS,EACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,EACvB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAUhB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,WAAW;CAepB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GACnB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GACnB;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GACf;IAAE,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AACvC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAWnE,wBAAgB,cAAc,CAC5B,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,uBAAuB;;;;EAOjC;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,uBAAuB,EACpC,MAAM,EAAE,MAAM;;;EAmBf;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,aAAa,EAAE,GAC/B,MAAM,EAAE,CAIV;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,mBAAmB;;;eAkBN,MAAM;sBAAgB,IAAI;;;;eACvB,MAAM;kBAAY,MAAM,EAAE;;EAPnD;AAyDD,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,IAAI,iBAAiB,CAE5E;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,GACnB,KAAK,IAAI,kBAAkB,CAE7B;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,CAAC,eAAe,GAAG,MAAM,CAAC,EAC/C,WAAW,EAAE;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,eAAe,GAAG,MAAM,CAAC,CAAA;CAAE,GAC5E,aAAa,EAAE,CAiCjB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,eAAe,GAAG,MAAM,CAAC,CAAA;CAAE,GAC5E,aAAa,EAAE,CAIjB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,QAAQ,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,QAAQ,EAAE,CAuCZ"}
@@ -55,6 +55,7 @@ class InProcessTaskHasher {
55
55
  implicitDeps: {},
56
56
  runtime: {},
57
57
  },
58
+ inputs: res.inputs,
58
59
  };
59
60
  }
60
61
  hashCommand(task) {
@@ -74,7 +74,7 @@ export declare class NxCache {
74
74
  cacheDirectory: string
75
75
  constructor(workspaceRoot: string, cachePath: string, dbConnection: ExternalObject<NxDbConnection>, linkTaskDetails?: boolean | undefined | null, maxCacheSize?: number | undefined | null)
76
76
  get(hash: string): CachedResult | null
77
- put(hash: string, terminalOutput: string, outputs: Array<string>, code: number): void
77
+ put(hash: string, terminalOutput: string, outputs: Array<string>, code: number): Array<string>
78
78
  applyRemoteCacheResults(hash: string, result: CachedResult, outputs?: Array<string> | undefined | null): void
79
79
  getTaskOutputsPath(hash: string): string
80
80
  getCacheSize(): number
@@ -158,7 +158,7 @@ export declare class TaskDetails {
158
158
  }
159
159
 
160
160
  export declare class TaskHasher {
161
- constructor(workspaceRoot: string, projectGraph: ExternalObject<ProjectGraph>, projectFileMap: ExternalObject<ProjectFiles>, allWorkspaceFiles: ExternalObject<Array<FileData>>, tsConfig: Buffer, tsConfigPaths: Record<string, Array<string>>, options?: HasherOptions | undefined | null)
161
+ constructor(workspaceRoot: string, projectGraph: ExternalObject<ProjectGraph>, projectFileMap: ExternalObject<ProjectFiles>, allWorkspaceFiles: ExternalObject<Array<FileData>>, tsConfig: Buffer, tsConfigPaths: Record<string, Array<string>>, rootTsconfigPath?: string | undefined | null, options?: HasherOptions | undefined | null)
162
162
  hashPlans(hashPlans: ExternalObject<Record<string, Array<HashInstruction>>>, jsEnv: Record<string, string>, cwd: string): NapiDashMap
163
163
  }
164
164
 
@@ -309,6 +309,8 @@ export declare export declare function hashArray(input: Array<string | undefined
309
309
  export interface HashDetails {
310
310
  value: string
311
311
  details: Record<string, string>
312
+ /** Structured inputs used for hashing (file patterns, env vars, etc.) */
313
+ inputs: HashInputs
312
314
  }
313
315
 
314
316
  export interface HashedTask {
@@ -324,6 +326,20 @@ export interface HasherOptions {
324
326
 
325
327
  export declare export declare function hashFile(file: string): string | null
326
328
 
329
+ /** NAPI-compatible struct for returning hash inputs to JavaScript */
330
+ export interface HashInputs {
331
+ /** Expanded file paths that were used as inputs */
332
+ files: Array<string>
333
+ /** Runtime commands */
334
+ runtime: Array<string>
335
+ /** Environment variable names */
336
+ environment: Array<string>
337
+ /** Dependent task outputs */
338
+ depOutputs: Array<string>
339
+ /** External dependencies */
340
+ external: Array<string>
341
+ }
342
+
327
343
  export interface InputsInput {
328
344
  input: string
329
345
  dependencies?: boolean
@@ -112,34 +112,35 @@ function __napi_rs_initialize_modules(__napiInstance) {
112
112
  __napiInstance.exports['__napi_register__HashPlanInspector_impl_32']?.()
113
113
  __napiInstance.exports['__napi_register__HashPlanner_struct_33']?.()
114
114
  __napiInstance.exports['__napi_register__HashPlanner_impl_37']?.()
115
- __napiInstance.exports['__napi_register__HashDetails_struct_38']?.()
116
- __napiInstance.exports['__napi_register__HasherOptions_struct_39']?.()
117
- __napiInstance.exports['__napi_register__TaskHasher_struct_40']?.()
118
- __napiInstance.exports['__napi_register__TaskHasher_impl_43']?.()
119
- __napiInstance.exports['__napi_register__Task_struct_44']?.()
120
- __napiInstance.exports['__napi_register__TaskTarget_struct_45']?.()
121
- __napiInstance.exports['__napi_register__TaskResult_struct_46']?.()
122
- __napiInstance.exports['__napi_register__TaskGraph_struct_47']?.()
123
- __napiInstance.exports['__napi_register__FileData_struct_48']?.()
124
- __napiInstance.exports['__napi_register__InputsInput_struct_49']?.()
125
- __napiInstance.exports['__napi_register__FileSetInput_struct_50']?.()
126
- __napiInstance.exports['__napi_register__RuntimeInput_struct_51']?.()
127
- __napiInstance.exports['__napi_register__EnvironmentInput_struct_52']?.()
128
- __napiInstance.exports['__napi_register__ExternalDependenciesInput_struct_53']?.()
129
- __napiInstance.exports['__napi_register__DepsOutputsInput_struct_54']?.()
130
- __napiInstance.exports['__napi_register__WorkingDirectoryInput_struct_55']?.()
131
- __napiInstance.exports['__napi_register__NxJson_struct_56']?.()
132
- __napiInstance.exports['__napi_register__is_ai_agent_57']?.()
133
- __napiInstance.exports['__napi_register__FileLock_struct_58']?.()
134
- __napiInstance.exports['__napi_register__FileLock_impl_60']?.()
135
- __napiInstance.exports['__napi_register__WorkspaceContext_struct_61']?.()
136
- __napiInstance.exports['__napi_register__WorkspaceContext_impl_72']?.()
137
- __napiInstance.exports['__napi_register__WorkspaceErrors_73']?.()
138
- __napiInstance.exports['__napi_register__NxWorkspaceFiles_struct_74']?.()
139
- __napiInstance.exports['__napi_register__NxWorkspaceFilesExternals_struct_75']?.()
140
- __napiInstance.exports['__napi_register__UpdatedWorkspaceFiles_struct_76']?.()
141
- __napiInstance.exports['__napi_register__FileMap_struct_77']?.()
142
- __napiInstance.exports['__napi_register____test_only_transfer_file_map_78']?.()
115
+ __napiInstance.exports['__napi_register__HashInputs_struct_38']?.()
116
+ __napiInstance.exports['__napi_register__HashDetails_struct_39']?.()
117
+ __napiInstance.exports['__napi_register__HasherOptions_struct_40']?.()
118
+ __napiInstance.exports['__napi_register__TaskHasher_struct_41']?.()
119
+ __napiInstance.exports['__napi_register__TaskHasher_impl_44']?.()
120
+ __napiInstance.exports['__napi_register__Task_struct_45']?.()
121
+ __napiInstance.exports['__napi_register__TaskTarget_struct_46']?.()
122
+ __napiInstance.exports['__napi_register__TaskResult_struct_47']?.()
123
+ __napiInstance.exports['__napi_register__TaskGraph_struct_48']?.()
124
+ __napiInstance.exports['__napi_register__FileData_struct_49']?.()
125
+ __napiInstance.exports['__napi_register__InputsInput_struct_50']?.()
126
+ __napiInstance.exports['__napi_register__FileSetInput_struct_51']?.()
127
+ __napiInstance.exports['__napi_register__RuntimeInput_struct_52']?.()
128
+ __napiInstance.exports['__napi_register__EnvironmentInput_struct_53']?.()
129
+ __napiInstance.exports['__napi_register__ExternalDependenciesInput_struct_54']?.()
130
+ __napiInstance.exports['__napi_register__DepsOutputsInput_struct_55']?.()
131
+ __napiInstance.exports['__napi_register__WorkingDirectoryInput_struct_56']?.()
132
+ __napiInstance.exports['__napi_register__NxJson_struct_57']?.()
133
+ __napiInstance.exports['__napi_register__is_ai_agent_58']?.()
134
+ __napiInstance.exports['__napi_register__FileLock_struct_59']?.()
135
+ __napiInstance.exports['__napi_register__FileLock_impl_61']?.()
136
+ __napiInstance.exports['__napi_register__WorkspaceContext_struct_62']?.()
137
+ __napiInstance.exports['__napi_register__WorkspaceContext_impl_73']?.()
138
+ __napiInstance.exports['__napi_register__WorkspaceErrors_74']?.()
139
+ __napiInstance.exports['__napi_register__NxWorkspaceFiles_struct_75']?.()
140
+ __napiInstance.exports['__napi_register__NxWorkspaceFilesExternals_struct_76']?.()
141
+ __napiInstance.exports['__napi_register__UpdatedWorkspaceFiles_struct_77']?.()
142
+ __napiInstance.exports['__napi_register__FileMap_struct_78']?.()
143
+ __napiInstance.exports['__napi_register____test_only_transfer_file_map_79']?.()
143
144
  }
144
145
  module.exports.FileLock = __napiModule.exports.FileLock
145
146
  module.exports.HashPlanInspector = __napiModule.exports.HashPlanInspector
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"get-plugins.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/plugins/get-plugins.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAwBzD,wBAAsB,UAAU,CAC9B,IAAI,SAAgB,GACnB,OAAO,CAAC,cAAc,EAAE,CAAC,CAwB3B;AAaD,wBAAsB,qBAAqB,CAAC,IAAI,SAAgB,6BAyB/D;AAED,wBAAgB,cAAc,SAK7B"}
1
+ {"version":3,"file":"get-plugins.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/plugins/get-plugins.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAwBzD,wBAAsB,UAAU,CAC9B,IAAI,SAAgB,GACnB,OAAO,CAAC,cAAc,EAAE,CAAC,CA6C3B;AAaD,wBAAsB,qBAAqB,CAAC,IAAI,SAAgB,6BAyB/D;AAED,wBAAgB,cAAc,SAK7B"}
@@ -31,10 +31,27 @@ async function getPlugins(root = workspace_root_1.workspaceRoot) {
31
31
  return loadedPlugins;
32
32
  }
33
33
  currentPluginsConfigurationHash = pluginsConfigurationHash;
34
- const [defaultPlugins, specifiedPlugins] = await Promise.all([
34
+ const results = await Promise.allSettled([
35
35
  getOnlyDefaultPlugins(root),
36
36
  (pendingPluginsPromise ??= loadSpecifiedNxPlugins(pluginsConfiguration, root)),
37
37
  ]);
38
+ const errors = [];
39
+ const defaultPlugins = [];
40
+ const specifiedPlugins = [];
41
+ for (let i = 0; i < results.length; i++) {
42
+ const result = results[i];
43
+ if (result.status === 'fulfilled') {
44
+ (i === 0 ? defaultPlugins : specifiedPlugins).push(...result.value);
45
+ }
46
+ else {
47
+ errors.push(result.reason instanceof Error
48
+ ? result.reason
49
+ : new Error(String(result.reason)));
50
+ }
51
+ }
52
+ if (errors.length > 0) {
53
+ throw new AggregateError(errors, errors.map((e) => e.message).join('\n'));
54
+ }
38
55
  loadedPlugins = specifiedPlugins.concat(defaultPlugins);
39
56
  return loadedPlugins;
40
57
  }
@@ -79,16 +96,42 @@ async function loadDefaultNxPlugins(root = workspace_root_1.workspaceRoot) {
79
96
  performance.mark('loadDefaultNxPlugins:start');
80
97
  const plugins = getDefaultPlugins(root);
81
98
  const cleanupFunctions = [];
99
+ const results = await Promise.allSettled(plugins.map(async (plugin) => {
100
+ performance.mark(`Load Nx Plugin: ${plugin} - start`);
101
+ const [loadedPluginPromise, cleanup] = await loadingMethod(plugin, root);
102
+ cleanupFunctions.push(cleanup);
103
+ const res = await loadedPluginPromise;
104
+ performance.mark(`Load Nx Plugin: ${plugin} - end`);
105
+ performance.measure(`Load Nx Plugin: ${plugin}`, `Load Nx Plugin: ${plugin} - start`, `Load Nx Plugin: ${plugin} - end`);
106
+ return res;
107
+ }));
108
+ const defaultPluginResults = [];
109
+ const errors = [];
110
+ for (let i = 0; i < results.length; i++) {
111
+ const result = results[i];
112
+ if (result.status === 'fulfilled') {
113
+ defaultPluginResults.push(result.value);
114
+ }
115
+ else {
116
+ errors.push({
117
+ pluginName: plugins[i],
118
+ error: result.reason instanceof Error
119
+ ? result.reason
120
+ : new Error(String(result.reason)),
121
+ });
122
+ }
123
+ }
124
+ if (errors.length > 0) {
125
+ for (const fn of cleanupFunctions) {
126
+ fn();
127
+ }
128
+ const errorMessage = errors
129
+ .map((e) => ` - ${e.pluginName}: ${e.error.message}`)
130
+ .join('\n');
131
+ throw new AggregateError(errors.map((e) => e.error), `Failed to load ${errors.length} default Nx plugin(s):\n${errorMessage}`);
132
+ }
82
133
  const ret = [
83
- await Promise.all(plugins.map(async (plugin) => {
84
- performance.mark(`Load Nx Plugin: ${plugin} - start`);
85
- const [loadedPluginPromise, cleanup] = await loadingMethod(plugin, root);
86
- cleanupFunctions.push(cleanup);
87
- const res = await loadedPluginPromise;
88
- performance.mark(`Load Nx Plugin: ${plugin} - end`);
89
- performance.measure(`Load Nx Plugin: ${plugin}`, `Load Nx Plugin: ${plugin} - start`, `Load Nx Plugin: ${plugin} - end`);
90
- return res;
91
- })),
134
+ defaultPluginResults,
92
135
  () => {
93
136
  for (const fn of cleanupFunctions) {
94
137
  fn();
@@ -111,7 +154,7 @@ async function loadSpecifiedNxPlugins(pluginsConfigurations, root = workspace_ro
111
154
  performance.mark('loadSpecifiedNxPlugins:start');
112
155
  pluginsConfigurations ??= [];
113
156
  const cleanupFunctions = [];
114
- const plugins = await Promise.all(pluginsConfigurations.map(async (plugin, index) => {
157
+ const results = await Promise.allSettled(pluginsConfigurations.map(async (plugin, index) => {
115
158
  const pluginPath = typeof plugin === 'string' ? plugin : plugin.plugin;
116
159
  performance.mark(`Load Nx Plugin: ${pluginPath} - start`);
117
160
  const [loadedPluginPromise, cleanup] = await loadingMethod(plugin, root, index);
@@ -124,6 +167,33 @@ async function loadSpecifiedNxPlugins(pluginsConfigurations, root = workspace_ro
124
167
  }));
125
168
  performance.mark('loadSpecifiedNxPlugins:end');
126
169
  performance.measure('loadSpecifiedNxPlugins', 'loadSpecifiedNxPlugins:start', 'loadSpecifiedNxPlugins:end');
170
+ const plugins = [];
171
+ const errors = [];
172
+ for (let i = 0; i < results.length; i++) {
173
+ const result = results[i];
174
+ if (result.status === 'fulfilled') {
175
+ plugins.push(result.value);
176
+ }
177
+ else {
178
+ const pluginConfig = pluginsConfigurations[i];
179
+ const pluginName = typeof pluginConfig === 'string' ? pluginConfig : pluginConfig.plugin;
180
+ errors.push({
181
+ pluginName,
182
+ error: result.reason instanceof Error
183
+ ? result.reason
184
+ : new Error(String(result.reason)),
185
+ });
186
+ }
187
+ }
188
+ if (errors.length > 0) {
189
+ for (const fn of cleanupFunctions) {
190
+ fn();
191
+ }
192
+ const errorMessage = errors
193
+ .map((e) => ` - ${e.pluginName}: ${e.error.message}`)
194
+ .join('\n');
195
+ throw new AggregateError(errors.map((e) => e.error), `Failed to load ${errors.length} Nx plugin(s):\n${errorMessage}`);
196
+ }
127
197
  cleanupSpecifiedPlugins = () => {
128
198
  for (const fn of cleanupFunctions) {
129
199
  fn();
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-pool.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/project-graph/plugins/isolation/plugin-pool.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAO9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA4C1D,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAmGhD"}
1
+ {"version":3,"file":"plugin-pool.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/project-graph/plugins/isolation/plugin-pool.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAM9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA4C1D,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAmGhD"}