@ohos-ports/nx 23.2.1-beta.1 → 23.3.0-beta.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 (351) hide show
  1. package/README.md +1 -1
  2. package/dist/bin/init-local.js +7 -1
  3. package/dist/nx-cloud-internals.d.ts +1 -0
  4. package/dist/nx-cloud-internals.js +9 -0
  5. package/dist/plugins/package-json.js +1 -1
  6. package/dist/src/command-line/add/add.js +5 -1
  7. package/dist/src/command-line/affected/affected.js +70 -9
  8. package/dist/src/command-line/affected/command-object.js +1 -1
  9. package/dist/src/command-line/format/format.js +2 -18
  10. package/dist/src/command-line/graph/graph.d.ts +31 -0
  11. package/dist/src/command-line/graph/graph.js +113 -20
  12. package/dist/src/command-line/init/implementation/add-nx-to-monorepo.js +0 -3
  13. package/dist/src/command-line/init/implementation/add-nx-to-nest.js +0 -3
  14. package/dist/src/command-line/init/implementation/add-nx-to-npm-repo.js +0 -3
  15. package/dist/src/command-line/init/implementation/angular/index.js +0 -3
  16. package/dist/src/command-line/init/implementation/angular/legacy-angular-versions.js +0 -3
  17. package/dist/src/command-line/init/implementation/format.js +2 -3
  18. package/dist/src/command-line/init/implementation/utils.d.ts +0 -1
  19. package/dist/src/command-line/init/implementation/utils.js +6 -9
  20. package/dist/src/command-line/init/init-v2.js +0 -3
  21. package/dist/src/command-line/migrate/agentic/capture-generator-output.d.ts +25 -0
  22. package/dist/src/command-line/migrate/agentic/capture-generator-output.js +121 -5
  23. package/dist/src/command-line/migrate/agentic/close-agent-session.d.ts +21 -0
  24. package/dist/src/command-line/migrate/agentic/close-agent-session.js +126 -0
  25. package/dist/src/command-line/migrate/agentic/definitions.d.ts +24 -0
  26. package/dist/src/command-line/migrate/agentic/definitions.js +79 -20
  27. package/dist/src/command-line/migrate/agentic/format-command.d.ts +14 -0
  28. package/dist/src/command-line/migrate/agentic/format-command.js +44 -0
  29. package/dist/src/command-line/migrate/agentic/handoff-gitignore.d.ts +3 -3
  30. package/dist/src/command-line/migrate/agentic/handoff-gitignore.js +3 -3
  31. package/dist/src/command-line/migrate/agentic/handoff.d.ts +50 -17
  32. package/dist/src/command-line/migrate/agentic/handoff.js +166 -24
  33. package/dist/src/command-line/migrate/agentic/instruction-files.d.ts +23 -0
  34. package/dist/src/command-line/migrate/agentic/instruction-files.js +41 -0
  35. package/dist/src/command-line/migrate/agentic/master/invocations.d.ts +12 -0
  36. package/dist/src/command-line/migrate/agentic/master/invocations.js +54 -0
  37. package/dist/src/command-line/migrate/agentic/master/run-master-session.d.ts +16 -0
  38. package/dist/src/command-line/migrate/agentic/master/run-master-session.js +175 -0
  39. package/dist/src/command-line/migrate/agentic/master/spawn-master.d.ts +31 -0
  40. package/dist/src/command-line/migrate/agentic/master/spawn-master.js +222 -0
  41. package/dist/src/command-line/migrate/agentic/prompts/final-validation.d.ts +13 -0
  42. package/dist/src/command-line/migrate/agentic/prompts/final-validation.js +41 -0
  43. package/dist/src/command-line/migrate/agentic/prompts/fragments.d.ts +17 -0
  44. package/dist/src/command-line/migrate/agentic/prompts/fragments.js +90 -0
  45. package/dist/src/command-line/migrate/agentic/prompts/generic-validation.js +4 -3
  46. package/dist/src/command-line/migrate/agentic/prompts/system-prompt.d.ts +25 -1
  47. package/dist/src/command-line/migrate/agentic/prompts/system-prompt.js +57 -34
  48. package/dist/src/command-line/migrate/agentic/run-step.js +28 -4
  49. package/dist/src/command-line/migrate/agentic/runner.d.ts +3 -15
  50. package/dist/src/command-line/migrate/agentic/runner.js +57 -239
  51. package/dist/src/command-line/migrate/agentic/terminal-repair.d.ts +1 -0
  52. package/dist/src/command-line/migrate/agentic/terminal-repair.js +27 -0
  53. package/dist/src/command-line/migrate/agentic/types.d.ts +23 -8
  54. package/dist/src/command-line/migrate/agentic/types.js +10 -7
  55. package/dist/src/command-line/migrate/agentic/windows-cmd.d.ts +33 -0
  56. package/dist/src/command-line/migrate/agentic/windows-cmd.js +88 -0
  57. package/dist/src/command-line/migrate/command-object.d.ts +2 -0
  58. package/dist/src/command-line/migrate/command-object.js +11 -1
  59. package/dist/src/command-line/migrate/deferred-output.d.ts +44 -0
  60. package/dist/src/command-line/migrate/deferred-output.js +92 -0
  61. package/dist/src/command-line/migrate/execute-migration.d.ts +9 -3
  62. package/dist/src/command-line/migrate/execute-migration.js +53 -16
  63. package/dist/src/command-line/migrate/migrate-analytics.d.ts +34 -9
  64. package/dist/src/command-line/migrate/migrate-analytics.js +71 -10
  65. package/dist/src/command-line/migrate/migrate-commits.d.ts +5 -4
  66. package/dist/src/command-line/migrate/migrate-commits.js +16 -6
  67. package/dist/src/command-line/migrate/migrate-config.d.ts +5 -2
  68. package/dist/src/command-line/migrate/migrate-config.js +19 -11
  69. package/dist/src/command-line/migrate/migrate-output.d.ts +3 -7
  70. package/dist/src/command-line/migrate/migrate-output.js +3 -7
  71. package/dist/src/command-line/migrate/migrate.d.ts +3 -0
  72. package/dist/src/command-line/migrate/migrate.js +183 -46
  73. package/dist/src/command-line/migrate/resolve-package-version.js +2 -19
  74. package/dist/src/command-line/migrate/run/agent-output.d.ts +11 -0
  75. package/dist/src/command-line/migrate/run/agent-output.js +21 -2
  76. package/dist/src/command-line/migrate/run/agent-work-payload.d.ts +37 -0
  77. package/dist/src/command-line/migrate/run/agent-work-payload.js +156 -0
  78. package/dist/src/command-line/migrate/run/atomic-write.d.ts +8 -0
  79. package/dist/src/command-line/migrate/run/atomic-write.js +17 -0
  80. package/dist/src/command-line/migrate/run/broker.d.ts +150 -0
  81. package/dist/src/command-line/migrate/run/broker.js +568 -0
  82. package/dist/src/command-line/migrate/run/clean-retry.d.ts +12 -0
  83. package/dist/src/command-line/migrate/run/clean-retry.js +99 -0
  84. package/dist/src/command-line/migrate/run/existing-run-report.d.ts +55 -0
  85. package/dist/src/command-line/migrate/run/existing-run-report.js +227 -0
  86. package/dist/src/command-line/migrate/run/give-up.d.ts +41 -0
  87. package/dist/src/command-line/migrate/run/give-up.js +148 -0
  88. package/dist/src/command-line/migrate/run/index.d.ts +9 -6
  89. package/dist/src/command-line/migrate/run/index.js +21 -2
  90. package/dist/src/command-line/migrate/run/issues.d.ts +127 -0
  91. package/dist/src/command-line/migrate/run/issues.js +1121 -0
  92. package/dist/src/command-line/migrate/run/orchestrator.d.ts +59 -1
  93. package/dist/src/command-line/migrate/run/orchestrator.js +1529 -457
  94. package/dist/src/command-line/migrate/run/run-id.d.ts +0 -8
  95. package/dist/src/command-line/migrate/run/run-id.js +0 -30
  96. package/dist/src/command-line/migrate/run/run-state.d.ts +77 -17
  97. package/dist/src/command-line/migrate/run/run-state.js +263 -32
  98. package/dist/src/command-line/migrate/run/runbook.d.ts +18 -0
  99. package/dist/src/command-line/migrate/run/runbook.js +118 -0
  100. package/dist/src/command-line/migrate/run/state-lock.d.ts +33 -2
  101. package/dist/src/command-line/migrate/run/state-lock.js +128 -2
  102. package/dist/src/command-line/migrate/run/state-machine.d.ts +50 -1
  103. package/dist/src/command-line/migrate/run/state-machine.js +339 -26
  104. package/dist/src/command-line/migrate/run/util.d.ts +3 -1
  105. package/dist/src/command-line/migrate/run/util.js +24 -3
  106. package/dist/src/command-line/migrate/run/worker.js +290 -129
  107. package/dist/src/command-line/migrate/step-actions.d.ts +1 -1
  108. package/dist/src/command-line/migrate/step-actions.js +7 -1
  109. package/dist/src/command-line/migrate/text.d.ts +6 -0
  110. package/dist/src/command-line/migrate/text.js +25 -0
  111. package/dist/src/command-line/migrate/version-skew-guard.js +2 -0
  112. package/dist/src/command-line/nx-cloud/connect/connect-to-nx-cloud.js +5 -11
  113. package/dist/src/command-line/release/publish.js +11 -8
  114. package/dist/src/command-line/release/utils/get-touched-projects-for-group.js +3 -3
  115. package/dist/src/command-line/release/utils/release-graph.js +1 -1
  116. package/dist/src/command-line/release/utils/remote-release-clients/github.js +5 -8
  117. package/dist/src/command-line/release/utils/remote-release-clients/gitlab.js +3 -3
  118. package/dist/src/command-line/release/utils/remote-release-clients/remote-release-client.d.ts +4 -2
  119. package/dist/src/command-line/release/utils/remote-release-clients/remote-release-client.js +37 -3
  120. package/dist/src/command-line/release/version/version-actions.d.ts +3 -0
  121. package/dist/src/command-line/reset/reset.js +10 -4
  122. package/dist/src/command-line/run/run-one.js +5 -1
  123. package/dist/src/command-line/run-many/run-many.js +6 -12
  124. package/dist/src/command-line/show/command-object.js +1 -1
  125. package/dist/src/command-line/show/projects.js +52 -1
  126. package/dist/src/command-line/yargs-utils/shared-options.d.ts +5 -1
  127. package/dist/src/command-line/yargs-utils/shared-options.js +38 -4
  128. package/dist/src/config/task-graph.d.ts +1 -1
  129. package/dist/src/config/workspace-json-project-json.d.ts +23 -1
  130. package/dist/src/core/graph/main.js +1 -1
  131. package/dist/src/core/graph/runtime.js +1 -1
  132. package/dist/src/core/graph/styles.js +1 -1
  133. package/dist/src/daemon/client/client.d.ts +14 -8
  134. package/dist/src/daemon/client/client.js +41 -12
  135. package/dist/src/daemon/message-types/get-plugin-capabilities.d.ts +5 -0
  136. package/dist/src/daemon/message-types/get-plugin-capabilities.js +11 -0
  137. package/dist/src/daemon/message-types/run-tasks-execution-hooks.d.ts +3 -2
  138. package/dist/src/daemon/message-types/select-affected-tasks.d.ts +21 -0
  139. package/dist/src/daemon/message-types/select-affected-tasks.js +11 -0
  140. package/dist/src/daemon/message-types/ultracache-configuration-version.d.ts +8 -0
  141. package/dist/src/daemon/message-types/ultracache-configuration-version.js +2 -0
  142. package/dist/src/daemon/server/dotenv-graph-changes.d.ts +1 -1
  143. package/dist/src/daemon/server/dotenv-graph-changes.js +2 -2
  144. package/dist/src/daemon/server/handle-get-plugin-capabilities.d.ts +2 -0
  145. package/dist/src/daemon/server/handle-get-plugin-capabilities.js +13 -0
  146. package/dist/src/daemon/server/handle-hash-tasks.d.ts +10 -2
  147. package/dist/src/daemon/server/handle-hash-tasks.js +18 -3
  148. package/dist/src/daemon/server/handle-select-affected-tasks.d.ts +3 -0
  149. package/dist/src/daemon/server/handle-select-affected-tasks.js +26 -0
  150. package/dist/src/daemon/server/handle-tasks-execution-hooks.d.ts +3 -2
  151. package/dist/src/daemon/server/{handle-outputs-changes.d.ts → handle-watch-events.d.ts} +4 -4
  152. package/dist/src/daemon/server/{handle-outputs-changes.js → handle-watch-events.js} +36 -37
  153. package/dist/src/daemon/server/outputs-tracking.d.ts +7 -19
  154. package/dist/src/daemon/server/outputs-tracking.js +7 -107
  155. package/dist/src/daemon/server/planning-context.d.ts +8 -0
  156. package/dist/src/daemon/server/planning-context.js +18 -0
  157. package/dist/src/daemon/server/project-graph-incremental-recomputation.d.ts +22 -7
  158. package/dist/src/daemon/server/project-graph-incremental-recomputation.js +104 -74
  159. package/dist/src/daemon/server/restart-checks.d.ts +22 -0
  160. package/dist/src/daemon/server/restart-checks.js +77 -0
  161. package/dist/src/daemon/server/server.d.ts +1 -0
  162. package/dist/src/daemon/server/server.js +54 -30
  163. package/dist/src/daemon/server/shutdown-utils.d.ts +0 -5
  164. package/dist/src/daemon/server/shutdown-utils.js +3 -26
  165. package/dist/src/daemon/server/ultracache-configuration-state.d.ts +7 -0
  166. package/dist/src/daemon/server/ultracache-configuration-state.js +36 -0
  167. package/dist/src/devkit-internals.d.ts +3 -1
  168. package/dist/src/devkit-internals.js +8 -3
  169. package/dist/src/executors/run-commands/run-commands.impl.d.ts +2 -1
  170. package/dist/src/executors/run-commands/run-commands.impl.js +19 -5
  171. package/dist/src/executors/run-commands/running-tasks.d.ts +5 -4
  172. package/dist/src/executors/run-commands/running-tasks.js +13 -13
  173. package/dist/src/hasher/create-task-hasher.d.ts +8 -1
  174. package/dist/src/hasher/create-task-hasher.js +13 -3
  175. package/dist/src/hasher/hash-plan-inspector.js +2 -2
  176. package/dist/src/hasher/hash-task.d.ts +2 -2
  177. package/dist/src/hasher/hash-task.js +28 -17
  178. package/dist/src/hasher/native-task-hasher-impl.d.ts +20 -4
  179. package/dist/src/hasher/native-task-hasher-impl.js +75 -9
  180. package/dist/src/hasher/task-hasher.d.ts +24 -7
  181. package/dist/src/hasher/task-hasher.js +27 -8
  182. package/dist/src/hasher/task-planning-context.d.ts +13 -0
  183. package/dist/src/hasher/task-planning-context.js +12 -0
  184. package/dist/src/native/index.d.ts +582 -21
  185. package/dist/src/native/index.js +3 -5
  186. package/dist/src/native/native-bindings.js +13 -1
  187. package/dist/src/native/nx.openharmony-arm64.node +0 -0
  188. package/dist/src/native/nx.wasm32-wasi.debug.wasm +0 -0
  189. package/dist/src/native/nx.wasm32-wasi.wasm +0 -0
  190. package/dist/src/native/transform-objects.d.ts +11 -2
  191. package/dist/src/native/transform-objects.js +46 -0
  192. package/dist/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.js +15 -8
  193. package/dist/src/nx-cloud/update-manager.d.ts +3 -0
  194. package/dist/src/nx-cloud/update-manager.js +19 -13
  195. package/dist/src/nx-cloud/utilities/client.d.ts +1 -1
  196. package/dist/src/nx-cloud/utilities/client.js +1 -1
  197. package/dist/src/nx-cloud/utilities/is-workspace-claimed.js +2 -1
  198. package/dist/src/nx-cloud/utilities/nx-cloud-http-client.d.ts +5 -0
  199. package/dist/src/nx-cloud/utilities/nx-cloud-http-client.js +16 -0
  200. package/dist/src/nx-cloud/utilities/url-shorten.js +17 -10
  201. package/dist/src/plugins/js/index.js +45 -64
  202. package/dist/src/plugins/js/lock-file/lock-file.d.ts +4 -4
  203. package/dist/src/plugins/js/lock-file/lock-file.js +6 -7
  204. package/dist/src/plugins/js/lock-file/pnpm-parser.js +1 -1
  205. package/dist/src/plugins/js/lock-file/utils/pnpm-normalizer.d.ts +2 -0
  206. package/dist/src/plugins/js/lock-file/utils/pnpm-normalizer.js +22 -0
  207. package/dist/src/plugins/js/project-graph/affected/lock-file-changes.d.ts +10 -2
  208. package/dist/src/plugins/js/project-graph/affected/lock-file-changes.js +51 -29
  209. package/dist/src/plugins/js/project-graph/affected/npm-packages.d.ts +10 -2
  210. package/dist/src/plugins/js/project-graph/affected/npm-packages.js +32 -11
  211. package/dist/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +22 -18
  212. package/dist/src/plugins/js/utils/register.js +13 -4
  213. package/dist/src/plugins/package-json/create-nodes.d.ts +2 -2
  214. package/dist/src/plugins/package-json/create-nodes.js +13 -13
  215. package/dist/src/project-graph/affected/affected-project-graph-models.d.ts +14 -0
  216. package/dist/src/project-graph/affected/affected-project-graph.js +5 -18
  217. package/dist/src/project-graph/affected/affected-projects.d.ts +7 -0
  218. package/dist/src/project-graph/affected/affected-projects.js +42 -0
  219. package/dist/src/project-graph/affected/affected-reasons.d.ts +116 -0
  220. package/dist/src/project-graph/affected/affected-reasons.js +459 -0
  221. package/dist/src/project-graph/affected/affected-tasks.d.ts +103 -0
  222. package/dist/src/project-graph/affected/affected-tasks.js +386 -0
  223. package/dist/src/project-graph/affected/print-explanation.d.ts +11 -0
  224. package/dist/src/project-graph/affected/print-explanation.js +44 -0
  225. package/dist/src/project-graph/error-types.d.ts +5 -0
  226. package/dist/src/project-graph/error-types.js +44 -5
  227. package/dist/src/project-graph/file-utils.d.ts +2 -0
  228. package/dist/src/project-graph/file-utils.js +12 -3
  229. package/dist/src/project-graph/nx-deps-cache.d.ts +5 -2
  230. package/dist/src/project-graph/nx-deps-cache.js +4 -4
  231. package/dist/src/project-graph/plugins/get-plugins.d.ts +3 -1
  232. package/dist/src/project-graph/plugins/get-plugins.js +60 -82
  233. package/dist/src/project-graph/plugins/in-process-loader.d.ts +1 -1
  234. package/dist/src/project-graph/plugins/in-process-loader.js +1 -4
  235. package/dist/src/project-graph/plugins/isolation/index.d.ts +1 -1
  236. package/dist/src/project-graph/plugins/isolation/index.js +3 -1
  237. package/dist/src/project-graph/plugins/isolation/isolated-plugin.d.ts +8 -0
  238. package/dist/src/project-graph/plugins/isolation/isolated-plugin.js +42 -6
  239. package/dist/src/project-graph/plugins/isolation/load-isolated-plugin.d.ts +10 -1
  240. package/dist/src/project-graph/plugins/isolation/load-isolated-plugin.js +67 -17
  241. package/dist/src/project-graph/plugins/isolation/messaging.d.ts +3 -2
  242. package/dist/src/project-graph/plugins/isolation/plugin-worker.js +5 -1
  243. package/dist/src/project-graph/plugins/loaded-nx-plugin.d.ts +5 -2
  244. package/dist/src/project-graph/plugins/loaded-nx-plugin.js +14 -1
  245. package/dist/src/project-graph/plugins/nx-plugin-capabilities.d.ts +6 -0
  246. package/dist/src/project-graph/plugins/nx-plugin-capabilities.js +28 -0
  247. package/dist/src/project-graph/plugins/task-results-stub.d.ts +50 -0
  248. package/dist/src/project-graph/plugins/task-results-stub.js +111 -0
  249. package/dist/src/project-graph/plugins/tasks-execution-hooks.d.ts +3 -2
  250. package/dist/src/project-graph/plugins/tasks-execution-hooks.js +14 -1
  251. package/dist/src/project-graph/project-graph.js +43 -42
  252. package/dist/src/project-graph/utils/project-configuration/target-merging.js +67 -0
  253. package/dist/src/project-graph/utils/project-configuration/target-normalization.js +83 -0
  254. package/dist/src/project-graph/utils/project-configuration/utils.d.ts +1 -0
  255. package/dist/src/project-graph/utils/project-configuration/utils.js +1 -0
  256. package/dist/src/tasks-runner/batch/run-batch.js +15 -0
  257. package/dist/src/tasks-runner/cache.d.ts +37 -2
  258. package/dist/src/tasks-runner/cache.js +42 -1
  259. package/dist/src/tasks-runner/create-task-graph.d.ts +24 -1
  260. package/dist/src/tasks-runner/create-task-graph.js +57 -2
  261. package/dist/src/tasks-runner/default-tasks-runner.js +1 -1
  262. package/dist/src/tasks-runner/forked-process-task-runner.d.ts +1 -1
  263. package/dist/src/tasks-runner/forked-process-task-runner.js +11 -10
  264. package/dist/src/tasks-runner/init-tasks-runner.d.ts +7 -2
  265. package/dist/src/tasks-runner/init-tasks-runner.js +15 -7
  266. package/dist/src/tasks-runner/is-tui-enabled.js +4 -3
  267. package/dist/src/tasks-runner/life-cycle.d.ts +7 -0
  268. package/dist/src/tasks-runner/life-cycle.js +7 -0
  269. package/dist/src/tasks-runner/life-cycles/summary-terminal-output-life-cycle.d.ts +35 -0
  270. package/dist/src/tasks-runner/life-cycles/summary-terminal-output-life-cycle.js +146 -0
  271. package/dist/src/tasks-runner/prune-task-graph.d.ts +17 -0
  272. package/dist/src/tasks-runner/prune-task-graph.js +45 -0
  273. package/dist/src/tasks-runner/run-command.d.ts +41 -5
  274. package/dist/src/tasks-runner/run-command.js +98 -22
  275. package/dist/src/tasks-runner/running-tasks/batch-process.d.ts +93 -19
  276. package/dist/src/tasks-runner/running-tasks/batch-process.js +184 -88
  277. package/dist/src/tasks-runner/task-io-service.d.ts +11 -3
  278. package/dist/src/tasks-runner/task-io-service.js +14 -5
  279. package/dist/src/tasks-runner/task-orchestrator.d.ts +71 -4
  280. package/dist/src/tasks-runner/task-orchestrator.js +266 -66
  281. package/dist/src/tasks-runner/tasks-runner.d.ts +2 -0
  282. package/dist/src/tasks-runner/terminal-output-path.d.ts +11 -0
  283. package/dist/src/tasks-runner/terminal-output-path.js +18 -0
  284. package/dist/src/tasks-runner/utils.d.ts +5 -0
  285. package/dist/src/tasks-runner/utils.js +14 -2
  286. package/dist/src/ultracache/config.d.ts +21 -0
  287. package/dist/src/ultracache/config.js +29 -0
  288. package/dist/src/ultracache/fetch.d.ts +21 -0
  289. package/dist/src/ultracache/fetch.js +43 -0
  290. package/dist/src/ultracache/overrides.d.ts +17 -0
  291. package/dist/src/ultracache/overrides.js +61 -0
  292. package/dist/src/ultracache/report.d.ts +13 -0
  293. package/dist/src/ultracache/report.js +62 -0
  294. package/dist/src/ultracache/store.d.ts +41 -0
  295. package/dist/src/ultracache/store.js +158 -0
  296. package/dist/src/utils/ab-testing.d.ts +4 -1
  297. package/dist/src/utils/ab-testing.js +22 -19
  298. package/dist/src/utils/chunkify.d.ts +1 -7
  299. package/dist/src/utils/chunkify.js +2 -8
  300. package/dist/src/utils/command-line-utils.d.ts +20 -0
  301. package/dist/src/utils/command-line-utils.js +10 -3
  302. package/dist/src/utils/create-cli-options.d.ts +6 -0
  303. package/dist/src/utils/create-cli-options.js +29 -0
  304. package/dist/src/utils/db-connection.d.ts +2 -0
  305. package/dist/src/utils/db-connection.js +2 -0
  306. package/dist/src/utils/formatters/index.d.ts +6 -0
  307. package/dist/src/utils/formatters/index.js +5 -0
  308. package/dist/src/utils/formatters/prettier.d.ts +0 -8
  309. package/dist/src/utils/formatters/prettier.js +4 -26
  310. package/dist/src/utils/git-utils.d.ts +19 -0
  311. package/dist/src/utils/git-utils.js +97 -39
  312. package/dist/src/utils/handle-errors.js +5 -43
  313. package/dist/src/utils/http-client.d.ts +27 -0
  314. package/dist/src/utils/http-client.js +193 -0
  315. package/dist/src/utils/installed-nx-version.js +2 -48
  316. package/dist/src/utils/json-diff.d.ts +4 -2
  317. package/dist/src/utils/json-diff.js +6 -94
  318. package/dist/src/utils/min-release-age/packument.js +1 -1
  319. package/dist/src/utils/nx-cloud-utils.d.ts +2 -0
  320. package/dist/src/utils/nx-cloud-utils.js +6 -1
  321. package/dist/src/utils/output.d.ts +22 -3
  322. package/dist/src/utils/output.js +28 -5
  323. package/dist/src/utils/package-json.d.ts +25 -0
  324. package/dist/src/utils/package-json.js +49 -6
  325. package/dist/src/utils/package-manager.d.ts +6 -0
  326. package/dist/src/utils/package-manager.js +10 -0
  327. package/dist/src/utils/plugins/plugin-capabilities.js +7 -2
  328. package/dist/src/utils/project-graph-utils.d.ts +2 -0
  329. package/dist/src/utils/project-graph-utils.js +12 -0
  330. package/dist/src/utils/provenance.js +20 -4
  331. package/dist/src/utils/serialize-overrides-into-command-line.js +2 -4
  332. package/dist/src/utils/workspace-context.d.ts +51 -3
  333. package/dist/src/utils/workspace-context.js +174 -10
  334. package/package.json +31 -48
  335. package/readme-template.md +16 -0
  336. package/schemas/nx-schema.json +38 -0
  337. package/schemas/project-schema.json +35 -0
  338. package/dist/src/daemon/server/file-watching/route-workspace-changes.d.ts +0 -9
  339. package/dist/src/daemon/server/file-watching/route-workspace-changes.js +0 -76
  340. package/dist/src/daemon/server/watcher.d.ts +0 -18
  341. package/dist/src/daemon/server/watcher.js +0 -126
  342. package/dist/src/nx-cloud/utilities/axios.d.ts +0 -4
  343. package/dist/src/nx-cloud/utilities/axios.js +0 -17
  344. package/dist/src/project-graph/affected/locators/project-glob-changes.d.ts +0 -2
  345. package/dist/src/project-graph/affected/locators/project-glob-changes.js +0 -47
  346. package/dist/src/project-graph/affected/locators/workspace-json-changes.d.ts +0 -4
  347. package/dist/src/project-graph/affected/locators/workspace-json-changes.js +0 -47
  348. package/dist/src/project-graph/affected/locators/workspace-projects.d.ts +0 -3
  349. package/dist/src/project-graph/affected/locators/workspace-projects.js +0 -74
  350. package/dist/src/utils/collapse-expanded-outputs.d.ts +0 -10
  351. package/dist/src/utils/collapse-expanded-outputs.js +0 -72
@@ -13,7 +13,11 @@ exports.reportMigrateRunComplete = reportMigrateRunComplete;
13
13
  exports.reportMigrateRunError = reportMigrateRunError;
14
14
  exports.reportMigrateOrchestratorInit = reportMigrateOrchestratorInit;
15
15
  exports.reportMigrateOrchestratorDispense = reportMigrateOrchestratorDispense;
16
+ exports.reportMigrateOrchestratorStepDispensed = reportMigrateOrchestratorStepDispensed;
16
17
  exports.reportMigrateOrchestratorComplete = reportMigrateOrchestratorComplete;
18
+ exports.reportMigrateOrchestratorAbandoned = reportMigrateOrchestratorAbandoned;
19
+ exports.reportMigrateOrchestratorResume = reportMigrateOrchestratorResume;
20
+ exports.reportMigrateOrchestratorExistingRun = reportMigrateOrchestratorExistingRun;
17
21
  exports.reportMigrateSingleMigrationInvocation = reportMigrateSingleMigrationInvocation;
18
22
  exports.computeMajorsCrossed = computeMajorsCrossed;
19
23
  exports.safeReport = safeReport;
@@ -195,10 +199,12 @@ function reportMigrateOrchestratorInit(opts) {
195
199
  });
196
200
  }
197
201
  /**
198
- * One event per orchestrator dispense. The `action` (dispense case) is a
199
- * closed enum carried on a reused dimension, read conditioned on the event
200
- * name (the same multiplexing pattern as {@link reportMigratePrompt});
201
- * `attempt` rides the migration-count dimension.
202
+ * One event per dispense response, repeated on every reconcile until the
203
+ * step moves. The `action` (dispense case) is a closed enum carried on a
204
+ * reused dimension, read conditioned on the event name (the same
205
+ * multiplexing pattern as {@link reportMigratePrompt}); `attempt` rides the
206
+ * migration-count dimension and `ordinal` (the run's dispense count) the
207
+ * task-count one.
202
208
  */
203
209
  function reportMigrateOrchestratorDispense(opts) {
204
210
  safeReport(() => {
@@ -207,21 +213,76 @@ function reportMigrateOrchestratorDispense(opts) {
207
213
  (0, analytics_1.reportEvent)('migrate_orchestrator_dispense', {
208
214
  [analytics_1.customDimensions.promptChoice]: opts.action,
209
215
  [analytics_1.customDimensions.migrationCount]: opts.attempt,
216
+ [analytics_1.customDimensions.taskCount]: opts.ordinal,
217
+ });
218
+ });
219
+ }
220
+ /** Once per durable dispense transition. */
221
+ function reportMigrateOrchestratorStepDispensed(opts) {
222
+ safeReport(() => {
223
+ if (!analytics_1.customDimensions)
224
+ return;
225
+ (0, analytics_1.reportEvent)('migrate_orchestrator_step_dispensed', {
226
+ [analytics_1.customDimensions.migrationCount]: opts.attempt,
227
+ [analytics_1.customDimensions.taskCount]: opts.ordinal,
210
228
  });
211
229
  });
212
230
  }
213
231
  /**
214
- * Terminal funnel event. The two step tallies and the total dispense count
215
- * ride reused numeric dimensions, read conditioned on the event name.
232
+ * The three step tallies and the total dispense count ride reused numeric
233
+ * dimensions, read conditioned on the event name.
216
234
  */
235
+ function orchestratorTallyParams(tallies) {
236
+ return {
237
+ [analytics_1.customDimensions.appliedCount]: tallies.completed,
238
+ [analytics_1.customDimensions.taskCount]: tallies.skipped,
239
+ [analytics_1.customDimensions.majorsCrossed]: tallies.unresolved,
240
+ [analytics_1.customDimensions.migrationCount]: tallies.dispenseCount,
241
+ };
242
+ }
217
243
  function reportMigrateOrchestratorComplete(opts) {
218
244
  safeReport(() => {
219
245
  if (!analytics_1.customDimensions)
220
246
  return;
221
- (0, analytics_1.reportEvent)('migrate_orchestrator_complete', {
222
- [analytics_1.customDimensions.appliedCount]: opts.completed,
223
- [analytics_1.customDimensions.taskCount]: opts.skipped,
224
- [analytics_1.customDimensions.migrationCount]: opts.dispenseCount,
247
+ (0, analytics_1.reportEvent)('migrate_orchestrator_complete', orchestratorTallyParams(opts));
248
+ });
249
+ }
250
+ /** The agent session nx spawned ended with the run still active. */
251
+ function reportMigrateOrchestratorAbandoned(opts) {
252
+ safeReport(() => {
253
+ if (!analytics_1.customDimensions)
254
+ return;
255
+ (0, analytics_1.reportEvent)('migrate_orchestrator_abandoned', {
256
+ ...orchestratorTallyParams(opts),
257
+ [analytics_1.customDimensions.agentUsed]: opts.agentUsed,
258
+ });
259
+ });
260
+ }
261
+ /**
262
+ * An explicit continue (`--run-migrations --run-id`, or "continue" at the
263
+ * master prompt) took up an active run; every resume reports. A bare
264
+ * `--run-id` reconcile is not a resume: nothing in run state marks the first
265
+ * call after a lost session.
266
+ */
267
+ function reportMigrateOrchestratorResume(opts) {
268
+ safeReport(() => {
269
+ if (!analytics_1.customDimensions)
270
+ return;
271
+ (0, analytics_1.reportEvent)('migrate_orchestrator_resume', orchestratorTallyParams(opts));
272
+ });
273
+ }
274
+ /**
275
+ * An invocation found an active run and started nothing. `activity` says
276
+ * whether another nx migrate process held the run; 'unknown' where nx cannot
277
+ * tell.
278
+ */
279
+ function reportMigrateOrchestratorExistingRun(opts) {
280
+ safeReport(() => {
281
+ if (!analytics_1.customDimensions)
282
+ return;
283
+ (0, analytics_1.reportEvent)('migrate_orchestrator_existing_run', {
284
+ ...orchestratorTallyParams(opts),
285
+ [analytics_1.customDimensions.promptChoice]: opts.activity,
225
286
  });
226
287
  });
227
288
  }
@@ -1,4 +1,5 @@
1
1
  import type { ResolvedAgentic } from './agentic/types';
2
+ import { type MigrateOutputSink } from './deferred-output';
2
3
  /**
3
4
  * Discriminated result for `commitMigrationIfRequested`. Distinguishes the
4
5
  * shapes the executor needs to react to:
@@ -7,9 +8,8 @@ import type { ResolvedAgentic } from './agentic/types';
7
8
  * HEAD` failed transiently — by contract the diff is no longer in the
8
9
  * working tree.
9
10
  * - `no-changes`: commits were requested but there was nothing to commit.
10
- * - `failed`: the commit attempt itself errored. The diff remains in the
11
- * working tree; the executor uses this signal to track pending migrations
12
- * so the next successful commit can annotate its body.
11
+ * - `failed`: the attempt errored, possibly after the commit landed; tracked
12
+ * as pending so the next successful commit can annotate its body.
13
13
  * - `disabled`: commits are off for this run.
14
14
  */
15
15
  export type CommitResult = {
@@ -37,7 +37,7 @@ export declare function commitMigrationIfRequested(root: string, migration: {
37
37
  }, shouldCreateCommits: boolean, commitPrefix: string, installDepsIfChanged: () => Promise<void>, pendingMigrations?: ReadonlyArray<{
38
38
  package: string;
39
39
  name: string;
40
- }>, failureGuidance?: string): Promise<CommitResult>;
40
+ }>, failureGuidance?: string, out?: MigrateOutputSink): Promise<CommitResult>;
41
41
  /**
42
42
  * Commits any pre-existing working-tree state into a dedicated "checkpoint"
43
43
  * commit before the first migration runs. Without this, the first migration's
@@ -64,6 +64,7 @@ export declare function resolveCreateCommits(args: {
64
64
  warning?: string;
65
65
  error?: string;
66
66
  };
67
+ export declare function currentBranchIfDefault(root: string): string | null;
67
68
  /**
68
69
  * Asks before a run starts committing on the workspace's default branch, and
69
70
  * reports the decision when the answer is no. Returns whether to proceed.
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.commitMigrationIfRequested = commitMigrationIfRequested;
4
4
  exports.commitCheckpointBeforeMigrations = commitCheckpointBeforeMigrations;
5
5
  exports.resolveCreateCommits = resolveCreateCommits;
6
+ exports.currentBranchIfDefault = currentBranchIfDefault;
6
7
  exports.confirmMigrationCommitsOnDefaultBranch = confirmMigrationCommitsOnDefaultBranch;
7
8
  exports.confirmCommitsOnDefaultBranch = confirmCommitsOnDefaultBranch;
8
9
  const tslib_1 = require("tslib");
@@ -14,6 +15,7 @@ const logger_1 = require("../../utils/logger");
14
15
  const output_1 = require("../../utils/output");
15
16
  const types_1 = require("./agentic/types");
16
17
  const safe_prompt_1 = require("./safe-prompt");
18
+ const deferred_output_1 = require("./deferred-output");
17
19
  // `git add -A` captures an orchestrated run's scratch state whenever the
18
20
  // ignore rule that normally hides it goes missing mid-run (a checkout, a
19
21
  // .gitignore edit, or the migration's own changes).
@@ -27,7 +29,7 @@ const MIGRATE_COMMIT_EXCLUDES = [types_1.MIGRATE_RUNS_RELATIVE_DIR];
27
29
  * behavior; a caller with no later commit or recap to absorb the diff (the
28
30
  * standalone single-migration worker) passes its own.
29
31
  */
30
- async function commitMigrationIfRequested(root, migration, shouldCreateCommits, commitPrefix, installDepsIfChanged, pendingMigrations = [], failureGuidance = 'The next successful commit will absorb it and reference this migration in its body; if no later commit lands, the end-of-run output will list this migration so you can commit or revert manually.') {
32
+ async function commitMigrationIfRequested(root, migration, shouldCreateCommits, commitPrefix, installDepsIfChanged, pendingMigrations = [], failureGuidance = 'Any uncommitted changes will be included in the next successful commit, which will reference this migration; if they remain uncommitted, the end-of-run output will list this migration so you can commit or revert them manually.', out = deferred_output_1.terminalOutput) {
31
33
  if (!shouldCreateCommits)
32
34
  return { status: 'disabled' };
33
35
  await installDepsIfChanged();
@@ -35,22 +37,22 @@ async function commitMigrationIfRequested(root, migration, shouldCreateCommits,
35
37
  // dir, or the prompt half made no change: log neutrally, not as an error.
36
38
  // The probe excludes what the commit excludes, else the commit fails empty.
37
39
  if (!(0, git_utils_1.hasUncommittedChanges)(root, MIGRATE_COMMIT_EXCLUDES)) {
38
- logger_1.logger.info(pc.dim(`- No changes to commit for ${migration.name}.`));
40
+ out.line('dim', `- No changes to commit for ${migration.name}.`);
39
41
  return { status: 'no-changes' };
40
42
  }
41
43
  const commitMessage = buildCommitMessage(`${commitPrefix}${migration.name}`, pendingMigrations);
42
44
  try {
43
- const sha = (0, git_utils_1.tryCommitChanges)(commitMessage, root, MIGRATE_COMMIT_EXCLUDES);
45
+ const sha = await (0, git_utils_1.tryCommitChangesAsync)(commitMessage, root, MIGRATE_COMMIT_EXCLUDES);
44
46
  if (sha)
45
47
  return { status: 'committed', sha };
46
48
  // null = commit landed but `git rev-parse HEAD` failed (see
47
- // `tryCommitChanges`). Degraded-but-correct — log yellow, not red.
48
- logger_1.logger.info(pc.yellow(`The commit for ${migration.name} was created, but its sha could not be resolved (\`git rev-parse HEAD\` failed transiently). Continuing without recording the sha for this step.`));
49
+ // `tryCommitChangesAsync`). Degraded-but-correct — log yellow, not red.
50
+ out.line('yellow', `The commit for ${migration.name} was created, but its sha could not be resolved (\`git rev-parse HEAD\` failed transiently). Continuing without recording the sha for this step.`);
49
51
  return { status: 'committed', sha: null };
50
52
  }
51
53
  catch (err) {
52
54
  const reason = err instanceof Error ? err.message : String(err);
53
- logger_1.logger.info(pc.red(`Could not create a commit for ${migration.name}:\n${reason}\nThe migration's diff remains in the working tree; inspect with \`git status\` / \`git diff\` to review. ${failureGuidance}`));
55
+ out.line('red', `The commit for ${migration.name} failed:\n${reason}\nCheck \`git status\` and \`git log\`; the commit may have landed despite this error. ${failureGuidance}`);
54
56
  return { status: 'failed', reason };
55
57
  }
56
58
  }
@@ -180,6 +182,14 @@ function defaultBranchToCompare(baseRef, currentBranch, root) {
180
182
  .sort((a, b) => b.length - a.length)[0];
181
183
  return remote ? baseRef.slice(remote.length + 1) : baseRef;
182
184
  }
185
+ function currentBranchIfDefault(root) {
186
+ const currentBranch = (0, git_utils_1.getGitCurrentBranch)(root);
187
+ if (!currentBranch) {
188
+ return null;
189
+ }
190
+ const defaultBranch = defaultBranchToCompare((0, command_line_utils_1.getBaseRef)((0, configuration_1.readNxJson)(root)), currentBranch, root);
191
+ return currentBranch === defaultBranch ? currentBranch : null;
192
+ }
183
193
  /**
184
194
  * Asks before a run starts committing on the workspace's default branch, and
185
195
  * reports the decision when the answer is no. Returns whether to proceed.
@@ -10,8 +10,11 @@ import { type MigrateArgs } from './command-object';
10
10
  * `parseMigrationsOptions`: `include` and `multiMajorMode` in the generate
11
11
  * phase only; `createCommits` / `commitPrefix` and `agentic` / `validate` when
12
12
  * running the whole migrations file or a standalone single migration. A
13
- * `--run-id` invocation takes none of them: a recorded run takes its commit
14
- * config from run.json and is driven by the outer agent.
13
+ * `--run-id` reconcile or recorded worker takes none of them: a recorded run
14
+ * takes its commit config from run.json and is driven by the outer agent. A
15
+ * `--run-migrations --run-id` continue takes `agentic` only, to select the
16
+ * agent of the new session. A `--start-fresh` starts a new run and takes all
17
+ * four.
15
18
  *
16
19
  * `include` is carried as `includeFromConfig` so it is never mistaken for an
17
20
  * explicit `--include`: `resolveInclude` applies it only when the resolved
@@ -15,8 +15,11 @@ const MULTI_MAJOR_MODE_ENV = 'NX_MULTI_MAJOR_MODE';
15
15
  * `parseMigrationsOptions`: `include` and `multiMajorMode` in the generate
16
16
  * phase only; `createCommits` / `commitPrefix` and `agentic` / `validate` when
17
17
  * running the whole migrations file or a standalone single migration. A
18
- * `--run-id` invocation takes none of them: a recorded run takes its commit
19
- * config from run.json and is driven by the outer agent.
18
+ * `--run-id` reconcile or recorded worker takes none of them: a recorded run
19
+ * takes its commit config from run.json and is driven by the outer agent. A
20
+ * `--run-migrations --run-id` continue takes `agentic` only, to select the
21
+ * agent of the new session. A `--start-fresh` starts a new run and takes all
22
+ * four.
20
23
  *
21
24
  * `include` is carried as `includeFromConfig` so it is never mistaken for an
22
25
  * explicit `--include`: `resolveInclude` applies it only when the resolved
@@ -33,11 +36,12 @@ function applyNxJsonMigrateDefaults(args, migrateConfig, env = process.env) {
33
36
  // A bare `--run-id` (orchestrated reconcile) must never take the
34
37
  // generate-options overlay, which would leak `include` etc. from nx.json.
35
38
  const isSingleMigration = merged.runMigration !== undefined || merged.runId !== undefined;
36
- // Both overlays are for an invocation that decides these options for
37
- // itself, which a `--run-id` invocation never does: the recorded worker and
38
- // the reconcile both read the commit config from run.json, and overlaying
39
- // `agentic` would trip the `--agentic`/`--run-id` parse conflict.
40
- if ((isRunMigrations || isSingleMigration) && merged.runId === undefined) {
39
+ // These overlays are for an invocation that decides the options for itself,
40
+ // which a `--run-id` invocation only does when it starts fresh: the recorded
41
+ // worker and the reconcile both read the commit config from run.json.
42
+ const startsRun = (isRunMigrations || isSingleMigration) &&
43
+ (merged.runId === undefined || merged.startFresh === true);
44
+ if (startsRun) {
41
45
  if (merged.createCommits === undefined &&
42
46
  migrateConfig.createCommits !== undefined) {
43
47
  assertType(migrateConfig.createCommits, 'boolean', 'createCommits');
@@ -52,15 +56,19 @@ function applyNxJsonMigrateDefaults(args, migrateConfig, env = process.env) {
52
56
  assertType(migrateConfig.commitPrefix, 'string', 'commitPrefix');
53
57
  merged.commitPrefix = migrateConfig.commitPrefix;
54
58
  }
55
- if (merged.agentic === undefined && migrateConfig.agentic !== undefined) {
56
- assertValidAgentic(migrateConfig.agentic);
57
- merged.agentic = (0, cli_args_1.coerceAgenticArg)(migrateConfig.agentic);
58
- }
59
59
  if (merged.validate === undefined && migrateConfig.validate !== undefined) {
60
60
  assertType(migrateConfig.validate, 'boolean', 'validate');
61
61
  merged.validate = migrateConfig.validate;
62
62
  }
63
63
  }
64
+ // A continue takes `agentic` too; the reconcile and the worker must not:
65
+ // there it trips the `--agentic`/`--run-id` parse conflict.
66
+ if ((startsRun || isRunMigrations) &&
67
+ merged.agentic === undefined &&
68
+ migrateConfig.agentic !== undefined) {
69
+ assertValidAgentic(migrateConfig.agentic);
70
+ merged.agentic = (0, cli_args_1.coerceAgenticArg)(migrateConfig.agentic);
71
+ }
64
72
  if (!isRunMigrations && !isSingleMigration) {
65
73
  if (merged.include === undefined && migrateConfig.include !== undefined) {
66
74
  assertOneOf(migrateConfig.include, command_object_1.MIGRATE_INCLUDE_VALUES, 'include');
@@ -24,13 +24,9 @@ export declare function logMigrationBoundary(index: number, total: number, pkg:
24
24
  */
25
25
  export declare function logAgenticSuccessOutcome(label: string, sha: string | null, summary: string): void;
26
26
  /**
27
- * Logs the skip line for a migration that waived its AI step through
28
- * `skipAgentic`, plus a verbose note for any `agentContext` the waiver
29
- * dropped. A hybrid waives its paired prompt; a generator-only migration
30
- * waives the validation pass, so callers must reach here only once they know
31
- * one was on the table. Under `inside-agent` only a hybrid can, so the
32
- * hand-off dropped alongside is always a prompt's; a waived generator-only
33
- * migration keeps its own. The note is author-facing, hence `--verbose`.
27
+ * Callers must already know an agentic step was owed; this only picks which one
28
+ * the waiver dropped. The dropped-`agentContext` note is aimed at the migration
29
+ * author, hence `--verbose`.
34
30
  */
35
31
  export declare function logWaivedAgenticStep(migration: {
36
32
  package: string;
@@ -52,13 +52,9 @@ function logAgenticSuccessOutcome(label, sha, summary) {
52
52
  logger_1.logger.info(`${pc.green('✓')} ${label}${shaPart}: ${summary}`);
53
53
  }
54
54
  /**
55
- * Logs the skip line for a migration that waived its AI step through
56
- * `skipAgentic`, plus a verbose note for any `agentContext` the waiver
57
- * dropped. A hybrid waives its paired prompt; a generator-only migration
58
- * waives the validation pass, so callers must reach here only once they know
59
- * one was on the table. Under `inside-agent` only a hybrid can, so the
60
- * hand-off dropped alongside is always a prompt's; a waived generator-only
61
- * migration keeps its own. The note is author-facing, hence `--verbose`.
55
+ * Callers must already know an agentic step was owed; this only picks which one
56
+ * the waiver dropped. The dropped-`agentContext` note is aimed at the migration
57
+ * author, hence `--verbose`.
62
58
  */
63
59
  function logWaivedAgenticStep(migration, agentContext) {
64
60
  logger_1.logger.info(pc.dim((0, migration_shape_1.isHybridMigration)(migration)
@@ -170,7 +170,10 @@ type RunMigrations = {
170
170
  ifExists: boolean;
171
171
  agentic: AgenticArg;
172
172
  validate?: boolean;
173
+ finalValidation?: boolean;
173
174
  interactive?: boolean;
175
+ runId?: string;
176
+ startFresh?: boolean;
174
177
  };
175
178
  type RunSingleMigration = {
176
179
  type: 'runSingleMigration';