nx 13.9.3 → 13.10.0-beta.2

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 (438) hide show
  1. package/bin/init-local.d.ts +2 -0
  2. package/bin/init-local.js +123 -0
  3. package/bin/init-local.js.map +1 -0
  4. package/{src/cli/run-cli.d.ts → bin/init.d.ts} +0 -0
  5. package/bin/init.js +13 -0
  6. package/bin/init.js.map +1 -0
  7. package/bin/nx.js +8 -8
  8. package/bin/nx.js.map +1 -1
  9. package/{src/compat/compat.d.ts → bin/run-executor.d.ts} +0 -0
  10. package/{src/cli/run-cli.js → bin/run-executor.js} +11 -3
  11. package/bin/run-executor.js.map +1 -0
  12. package/package.json +26 -11
  13. package/src/adapter/compat.d.ts +1 -0
  14. package/src/{compat → adapter}/compat.js +1 -1
  15. package/src/adapter/compat.js.map +1 -0
  16. package/src/{cli → adapter}/decorate-cli.d.ts +0 -0
  17. package/src/{cli → adapter}/decorate-cli.js +0 -0
  18. package/src/adapter/decorate-cli.js.map +1 -0
  19. package/src/{commands → adapter}/ngcli-adapter.d.ts +4 -11
  20. package/src/{commands → adapter}/ngcli-adapter.js +13 -37
  21. package/src/adapter/ngcli-adapter.js.map +1 -0
  22. package/src/cli/index.d.ts +0 -3
  23. package/src/cli/index.js +0 -74
  24. package/src/cli/index.js.map +1 -1
  25. package/src/command-line/affected.d.ts +3 -0
  26. package/src/command-line/affected.js +117 -0
  27. package/src/command-line/affected.js.map +1 -0
  28. package/src/command-line/connect-to-nx-cloud.d.ts +2 -0
  29. package/src/command-line/connect-to-nx-cloud.js +79 -0
  30. package/src/command-line/connect-to-nx-cloud.js.map +1 -0
  31. package/src/command-line/daemon.d.ts +2 -0
  32. package/src/command-line/daemon.js +23 -0
  33. package/src/command-line/daemon.js.map +1 -0
  34. package/src/command-line/dep-graph.d.ts +24 -0
  35. package/src/command-line/dep-graph.js +371 -0
  36. package/src/command-line/dep-graph.js.map +1 -0
  37. package/src/command-line/examples.d.ts +5 -0
  38. package/src/command-line/examples.js +283 -0
  39. package/src/command-line/examples.js.map +1 -0
  40. package/src/command-line/format.d.ts +7 -0
  41. package/src/command-line/format.js +205 -0
  42. package/src/command-line/format.js.map +1 -0
  43. package/src/command-line/generate.d.ts +17 -0
  44. package/src/{commands → command-line}/generate.js +42 -63
  45. package/src/command-line/generate.js.map +1 -0
  46. package/src/command-line/lint.d.ts +1 -0
  47. package/src/command-line/lint.js +33 -0
  48. package/src/command-line/lint.js.map +1 -0
  49. package/src/command-line/list.d.ts +13 -0
  50. package/src/command-line/list.js +41 -0
  51. package/src/command-line/list.js.map +1 -0
  52. package/src/{commands → command-line}/migrate.d.ts +6 -2
  53. package/src/{commands → command-line}/migrate.js +21 -58
  54. package/src/command-line/migrate.js.map +1 -0
  55. package/src/command-line/nx-commands.d.ts +9 -0
  56. package/src/command-line/nx-commands.js +607 -0
  57. package/src/command-line/nx-commands.js.map +1 -0
  58. package/src/command-line/print-affected.d.ts +6 -0
  59. package/src/command-line/print-affected.js +82 -0
  60. package/src/command-line/print-affected.js.map +1 -0
  61. package/src/command-line/report.d.ts +17 -0
  62. package/src/command-line/report.js +125 -0
  63. package/src/command-line/report.js.map +1 -0
  64. package/src/command-line/reset.d.ts +1 -0
  65. package/src/command-line/reset.js +20 -0
  66. package/src/command-line/reset.js.map +1 -0
  67. package/src/command-line/run-many.d.ts +3 -0
  68. package/src/command-line/run-many.js +61 -0
  69. package/src/command-line/run-many.js.map +1 -0
  70. package/src/command-line/run-one.d.ts +3 -0
  71. package/src/command-line/run-one.js +111 -0
  72. package/src/command-line/run-one.js.map +1 -0
  73. package/src/{commands → command-line}/run.d.ts +12 -7
  74. package/src/{commands → command-line}/run.js +15 -63
  75. package/src/command-line/run.js.map +1 -0
  76. package/src/command-line/utils.d.ts +51 -0
  77. package/src/command-line/utils.js +272 -0
  78. package/src/command-line/utils.js.map +1 -0
  79. package/src/command-line/workspace-generators.d.ts +1 -0
  80. package/src/command-line/workspace-generators.js +151 -0
  81. package/src/command-line/workspace-generators.js.map +1 -0
  82. package/src/command-line/workspace-integrity-checks.d.ts +11 -0
  83. package/src/command-line/workspace-integrity-checks.js +60 -0
  84. package/src/command-line/workspace-integrity-checks.js.map +1 -0
  85. package/src/core/affected-project-graph/affected-project-graph-models.d.ts +11 -0
  86. package/src/core/affected-project-graph/affected-project-graph-models.js +3 -0
  87. package/src/core/affected-project-graph/affected-project-graph-models.js.map +1 -0
  88. package/src/core/affected-project-graph/affected-project-graph.d.ts +5 -0
  89. package/src/core/affected-project-graph/affected-project-graph.js +88 -0
  90. package/src/core/affected-project-graph/affected-project-graph.js.map +1 -0
  91. package/src/core/affected-project-graph/index.d.ts +2 -0
  92. package/src/core/affected-project-graph/index.js +6 -0
  93. package/src/core/affected-project-graph/index.js.map +1 -0
  94. package/src/core/affected-project-graph/locators/implicit-json-changes.d.ts +4 -0
  95. package/src/core/affected-project-graph/locators/implicit-json-changes.js +54 -0
  96. package/src/core/affected-project-graph/locators/implicit-json-changes.js.map +1 -0
  97. package/src/core/affected-project-graph/locators/npm-packages.d.ts +4 -0
  98. package/src/core/affected-project-graph/locators/npm-packages.js +35 -0
  99. package/src/core/affected-project-graph/locators/npm-packages.js.map +1 -0
  100. package/src/core/affected-project-graph/locators/tsconfig-json-changes.d.ts +4 -0
  101. package/src/core/affected-project-graph/locators/tsconfig-json-changes.js +64 -0
  102. package/src/core/affected-project-graph/locators/tsconfig-json-changes.js.map +1 -0
  103. package/src/core/affected-project-graph/locators/workspace-json-changes.d.ts +4 -0
  104. package/src/core/affected-project-graph/locators/workspace-json-changes.js +48 -0
  105. package/src/core/affected-project-graph/locators/workspace-json-changes.js.map +1 -0
  106. package/src/core/affected-project-graph/locators/workspace-projects.d.ts +3 -0
  107. package/src/core/affected-project-graph/locators/workspace-projects.js +40 -0
  108. package/src/core/affected-project-graph/locators/workspace-projects.js.map +1 -0
  109. package/src/core/assert-workspace-validity.d.ts +2 -0
  110. package/src/core/assert-workspace-validity.js +72 -0
  111. package/src/core/assert-workspace-validity.js.map +1 -0
  112. package/src/core/dep-graph/3rdpartylicenses.txt +732 -0
  113. package/src/core/dep-graph/index.html +16 -0
  114. package/src/core/dep-graph/main.esm.js +2 -0
  115. package/src/core/dep-graph/main.esm.js.LICENSE.txt +39 -0
  116. package/src/core/dep-graph/polyfills.esm.js +1 -0
  117. package/src/core/dep-graph/runtime.esm.js +1 -0
  118. package/src/core/dep-graph/styles.css +3 -0
  119. package/src/core/file-map-utils.d.ts +9 -0
  120. package/src/core/file-map-utils.js +80 -0
  121. package/src/core/file-map-utils.js.map +1 -0
  122. package/src/core/file-utils.d.ts +41 -0
  123. package/src/core/file-utils.js +168 -0
  124. package/src/core/file-utils.js.map +1 -0
  125. package/src/core/hasher/file-hasher-base.d.ts +12 -0
  126. package/src/core/hasher/file-hasher-base.js +68 -0
  127. package/src/core/hasher/file-hasher-base.js.map +1 -0
  128. package/src/core/hasher/file-hasher.d.ts +2 -0
  129. package/src/core/hasher/file-hasher.js +22 -0
  130. package/src/core/hasher/file-hasher.js.map +1 -0
  131. package/src/core/hasher/git-based-file-hasher.d.ts +10 -0
  132. package/src/core/hasher/git-based-file-hasher.js +50 -0
  133. package/src/core/hasher/git-based-file-hasher.js.map +1 -0
  134. package/src/core/hasher/git-hasher.d.ts +7 -0
  135. package/src/core/hasher/git-hasher.js +134 -0
  136. package/src/core/hasher/git-hasher.js.map +1 -0
  137. package/src/core/hasher/hasher.d.ts +60 -0
  138. package/src/core/hasher/hasher.js +362 -0
  139. package/src/core/hasher/hasher.js.map +1 -0
  140. package/src/core/hasher/hashing-impl.d.ts +5 -0
  141. package/src/core/hasher/hashing-impl.js +23 -0
  142. package/src/core/hasher/hashing-impl.js.map +1 -0
  143. package/src/core/hasher/node-based-file-hasher.d.ts +7 -0
  144. package/src/core/hasher/node-based-file-hasher.js +78 -0
  145. package/src/core/hasher/node-based-file-hasher.js.map +1 -0
  146. package/src/core/normalize-nx-json.d.ts +8 -0
  147. package/src/core/normalize-nx-json.js +32 -0
  148. package/src/core/normalize-nx-json.js.map +1 -0
  149. package/src/core/nx-deps/nx-deps-cache.d.ts +41 -0
  150. package/src/core/nx-deps/nx-deps-cache.js +164 -0
  151. package/src/core/nx-deps/nx-deps-cache.js.map +1 -0
  152. package/src/core/project-graph/build-dependencies/build-explicit-typescript-and-package-json-dependencies.d.ts +6 -0
  153. package/src/core/project-graph/build-dependencies/build-explicit-typescript-and-package-json-dependencies.js +19 -0
  154. package/src/core/project-graph/build-dependencies/build-explicit-typescript-and-package-json-dependencies.js.map +1 -0
  155. package/src/core/project-graph/build-dependencies/explicit-package-json-dependencies.d.ts +3 -0
  156. package/src/core/project-graph/build-dependencies/explicit-package-json-dependencies.js +76 -0
  157. package/src/core/project-graph/build-dependencies/explicit-package-json-dependencies.js.map +1 -0
  158. package/src/core/project-graph/build-dependencies/explicit-project-dependencies.d.ts +3 -0
  159. package/src/core/project-graph/build-dependencies/explicit-project-dependencies.js +27 -0
  160. package/src/core/project-graph/build-dependencies/explicit-project-dependencies.js.map +1 -0
  161. package/src/core/project-graph/build-dependencies/implicit-project-dependencies.d.ts +3 -0
  162. package/src/core/project-graph/build-dependencies/implicit-project-dependencies.js +20 -0
  163. package/src/core/project-graph/build-dependencies/implicit-project-dependencies.js.map +1 -0
  164. package/src/core/project-graph/build-dependencies/index.d.ts +3 -0
  165. package/src/core/project-graph/build-dependencies/index.js +7 -0
  166. package/src/core/project-graph/build-dependencies/index.js.map +1 -0
  167. package/src/core/project-graph/build-dependencies/typescript-import-locator.d.ts +11 -0
  168. package/src/core/project-graph/build-dependencies/typescript-import-locator.js +114 -0
  169. package/src/core/project-graph/build-dependencies/typescript-import-locator.js.map +1 -0
  170. package/src/core/project-graph/build-nodes/index.d.ts +2 -0
  171. package/src/core/project-graph/build-nodes/index.js +6 -0
  172. package/src/core/project-graph/build-nodes/index.js.map +1 -0
  173. package/src/core/project-graph/build-nodes/npm-packages.d.ts +2 -0
  174. package/src/core/project-graph/build-nodes/npm-packages.js +22 -0
  175. package/src/core/project-graph/build-nodes/npm-packages.js.map +1 -0
  176. package/src/core/project-graph/build-nodes/workspace-projects.d.ts +3 -0
  177. package/src/core/project-graph/build-nodes/workspace-projects.js +49 -0
  178. package/src/core/project-graph/build-nodes/workspace-projects.js.map +1 -0
  179. package/src/core/project-graph/build-project-graph.d.ts +9 -0
  180. package/src/core/project-graph/build-project-graph.js +233 -0
  181. package/src/core/project-graph/build-project-graph.js.map +1 -0
  182. package/src/core/project-graph/daemon/cache.d.ts +6 -0
  183. package/src/core/project-graph/daemon/cache.js +56 -0
  184. package/src/core/project-graph/daemon/cache.js.map +1 -0
  185. package/src/core/project-graph/daemon/client/client.d.ts +26 -0
  186. package/src/core/project-graph/daemon/client/client.js +200 -0
  187. package/src/core/project-graph/daemon/client/client.js.map +1 -0
  188. package/src/core/project-graph/daemon/client/exec-is-server-available.d.ts +1 -0
  189. package/src/core/project-graph/daemon/client/exec-is-server-available.js +13 -0
  190. package/src/core/project-graph/daemon/client/exec-is-server-available.js.map +1 -0
  191. package/src/core/project-graph/daemon/client/generate-help-output.d.ts +1 -0
  192. package/src/core/project-graph/daemon/client/generate-help-output.js +31 -0
  193. package/src/core/project-graph/daemon/client/generate-help-output.js.map +1 -0
  194. package/src/core/project-graph/daemon/server/logger.d.ts +18 -0
  195. package/src/core/project-graph/daemon/server/logger.js +38 -0
  196. package/src/core/project-graph/daemon/server/logger.js.map +1 -0
  197. package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.d.ts +8 -0
  198. package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.js +191 -0
  199. package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.js.map +1 -0
  200. package/src/core/project-graph/daemon/server/server.d.ts +4 -0
  201. package/src/core/project-graph/daemon/server/server.js +236 -0
  202. package/src/core/project-graph/daemon/server/server.js.map +1 -0
  203. package/src/core/project-graph/daemon/server/shutdown-utils.d.ts +12 -0
  204. package/src/core/project-graph/daemon/server/shutdown-utils.js +32 -0
  205. package/src/core/project-graph/daemon/server/shutdown-utils.js.map +1 -0
  206. package/src/core/project-graph/daemon/server/start.d.ts +1 -0
  207. package/src/core/project-graph/daemon/server/start.js +19 -0
  208. package/src/core/project-graph/daemon/server/start.js.map +1 -0
  209. package/src/core/project-graph/daemon/server/stop.d.ts +1 -0
  210. package/src/core/project-graph/daemon/server/stop.js +19 -0
  211. package/src/core/project-graph/daemon/server/stop.js.map +1 -0
  212. package/src/core/project-graph/daemon/server/watcher.d.ts +12 -0
  213. package/src/core/project-graph/daemon/server/watcher.js +158 -0
  214. package/src/core/project-graph/daemon/server/watcher.js.map +1 -0
  215. package/src/core/project-graph/daemon/socket-utils.d.ts +15 -0
  216. package/src/core/project-graph/daemon/socket-utils.js +38 -0
  217. package/src/core/project-graph/daemon/socket-utils.js.map +1 -0
  218. package/src/core/project-graph/daemon/tmp-dir.d.ts +6 -0
  219. package/src/core/project-graph/daemon/tmp-dir.js +37 -0
  220. package/src/core/project-graph/daemon/tmp-dir.js.map +1 -0
  221. package/src/core/project-graph/operators.d.ts +20 -0
  222. package/src/core/project-graph/operators.js +125 -0
  223. package/src/core/project-graph/operators.js.map +1 -0
  224. package/src/core/project-graph/project-graph-builder.d.ts +38 -0
  225. package/src/core/project-graph/project-graph-builder.js +164 -0
  226. package/src/core/project-graph/project-graph-builder.js.map +1 -0
  227. package/src/core/project-graph/project-graph-worker.d.ts +1 -0
  228. package/src/core/project-graph/project-graph-worker.js +19 -0
  229. package/src/core/project-graph/project-graph-worker.js.map +1 -0
  230. package/src/core/project-graph/project-graph.d.ts +37 -0
  231. package/src/core/project-graph/project-graph.js +188 -0
  232. package/src/core/project-graph/project-graph.js.map +1 -0
  233. package/src/core/shared-interfaces.d.ts +11 -0
  234. package/src/core/shared-interfaces.js +3 -0
  235. package/src/core/shared-interfaces.js.map +1 -0
  236. package/src/core/target-project-locator.d.ts +36 -0
  237. package/src/core/target-project-locator.js +164 -0
  238. package/src/core/target-project-locator.js.map +1 -0
  239. package/src/shared/nx.d.ts +2 -1
  240. package/src/shared/tree.js +1 -1
  241. package/src/shared/tree.js.map +1 -1
  242. package/src/shared/workspace.d.ts +8 -6
  243. package/src/shared/workspace.js +21 -20
  244. package/src/shared/workspace.js.map +1 -1
  245. package/src/tasks-runner/batch/batch-messages.d.ts +24 -0
  246. package/src/tasks-runner/batch/batch-messages.js +9 -0
  247. package/src/tasks-runner/batch/batch-messages.js.map +1 -0
  248. package/src/tasks-runner/batch/run-batch.d.ts +1 -0
  249. package/src/tasks-runner/batch/run-batch.js +57 -0
  250. package/src/tasks-runner/batch/run-batch.js.map +1 -0
  251. package/src/tasks-runner/cache.d.ts +40 -0
  252. package/src/tasks-runner/cache.js +284 -0
  253. package/src/tasks-runner/cache.js.map +1 -0
  254. package/src/tasks-runner/default-tasks-runner.d.ts +19 -0
  255. package/src/tasks-runner/default-tasks-runner.js +48 -0
  256. package/src/tasks-runner/default-tasks-runner.js.map +1 -0
  257. package/src/tasks-runner/forked-process-task-runner.d.ts +36 -0
  258. package/src/tasks-runner/forked-process-task-runner.js +259 -0
  259. package/src/tasks-runner/forked-process-task-runner.js.map +1 -0
  260. package/src/tasks-runner/life-cycle.d.ts +43 -0
  261. package/src/tasks-runner/life-cycle.js +72 -0
  262. package/src/tasks-runner/life-cycle.js.map +1 -0
  263. package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.d.ts +25 -0
  264. package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.js +349 -0
  265. package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.js.map +1 -0
  266. package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.d.ts +25 -0
  267. package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.js +231 -0
  268. package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.js.map +1 -0
  269. package/src/tasks-runner/life-cycles/empty-terminal-output-life-cycle.d.ts +5 -0
  270. package/src/tasks-runner/life-cycles/empty-terminal-output-life-cycle.js +19 -0
  271. package/src/tasks-runner/life-cycles/empty-terminal-output-life-cycle.js.map +1 -0
  272. package/src/tasks-runner/life-cycles/pretty-time.d.ts +4 -0
  273. package/src/tasks-runner/life-cycles/pretty-time.js +75 -0
  274. package/src/tasks-runner/life-cycles/pretty-time.js.map +1 -0
  275. package/src/tasks-runner/life-cycles/static-run-many-terminal-output-life-cycle.d.ts +33 -0
  276. package/src/tasks-runner/life-cycles/static-run-many-terminal-output-life-cycle.js +110 -0
  277. package/src/tasks-runner/life-cycles/static-run-many-terminal-output-life-cycle.js.map +1 -0
  278. package/src/tasks-runner/life-cycles/static-run-one-terminal-output-life-cycle.d.ts +31 -0
  279. package/src/tasks-runner/life-cycles/static-run-one-terminal-output-life-cycle.js +97 -0
  280. package/src/tasks-runner/life-cycles/static-run-one-terminal-output-life-cycle.js.map +1 -0
  281. package/src/tasks-runner/life-cycles/task-profiling-life-cycle.d.ts +19 -0
  282. package/src/tasks-runner/life-cycles/task-profiling-life-cycle.js +67 -0
  283. package/src/tasks-runner/life-cycles/task-profiling-life-cycle.js.map +1 -0
  284. package/src/tasks-runner/life-cycles/task-timings-life-cycle.d.ts +13 -0
  285. package/src/tasks-runner/life-cycles/task-timings-life-cycle.js +33 -0
  286. package/src/tasks-runner/life-cycles/task-timings-life-cycle.js.map +1 -0
  287. package/src/tasks-runner/remove-old-cache-records.d.ts +1 -0
  288. package/src/tasks-runner/remove-old-cache-records.js +62 -0
  289. package/src/tasks-runner/remove-old-cache-records.js.map +1 -0
  290. package/src/tasks-runner/reporter.d.ts +14 -0
  291. package/src/tasks-runner/reporter.js +11 -0
  292. package/src/tasks-runner/reporter.js.map +1 -0
  293. package/src/tasks-runner/run-command.d.ts +22 -0
  294. package/src/tasks-runner/run-command.js +352 -0
  295. package/src/tasks-runner/run-command.js.map +1 -0
  296. package/src/tasks-runner/task-graph-creator.d.ts +13 -0
  297. package/src/tasks-runner/task-graph-creator.js +71 -0
  298. package/src/tasks-runner/task-graph-creator.js.map +1 -0
  299. package/src/tasks-runner/task-orchestrator.d.ts +38 -0
  300. package/src/tasks-runner/task-orchestrator.js +299 -0
  301. package/src/tasks-runner/task-orchestrator.js.map +1 -0
  302. package/src/tasks-runner/tasks-runner-v2.d.ts +19 -0
  303. package/src/tasks-runner/tasks-runner-v2.js +42 -0
  304. package/src/tasks-runner/tasks-runner-v2.js.map +1 -0
  305. package/src/tasks-runner/tasks-runner.d.ts +45 -0
  306. package/src/tasks-runner/tasks-runner.js +15 -0
  307. package/src/tasks-runner/tasks-runner.js.map +1 -0
  308. package/src/tasks-runner/tasks-schedule.d.ts +33 -0
  309. package/src/tasks-runner/tasks-schedule.js +130 -0
  310. package/src/tasks-runner/tasks-schedule.js.map +1 -0
  311. package/src/tasks-runner/utils.d.ts +32 -0
  312. package/src/tasks-runner/utils.js +234 -0
  313. package/src/tasks-runner/utils.js.map +1 -0
  314. package/src/utils/app-root.d.ts +9 -0
  315. package/src/utils/app-root.js +10 -1
  316. package/src/utils/app-root.js.map +1 -1
  317. package/src/utils/cache-directory.d.ts +4 -0
  318. package/src/utils/cache-directory.js +37 -0
  319. package/src/utils/cache-directory.js.map +1 -0
  320. package/src/utils/default-base.d.ts +1 -0
  321. package/src/utils/default-base.js +16 -0
  322. package/src/utils/default-base.js.map +1 -0
  323. package/src/utils/fileutils.d.ts +4 -0
  324. package/src/utils/fileutils.js +38 -1
  325. package/src/utils/fileutils.js.map +1 -1
  326. package/src/{cli → utils}/find-workspace-root.d.ts +5 -2
  327. package/src/{cli → utils}/find-workspace-root.js +0 -0
  328. package/src/utils/find-workspace-root.js.map +1 -0
  329. package/src/{cli/is_ci.d.ts → utils/is-ci.d.ts} +0 -0
  330. package/src/{cli/is_ci.js → utils/is-ci.js} +2 -1
  331. package/src/utils/is-ci.js.map +1 -0
  332. package/src/utils/json-diff.d.ts +17 -0
  333. package/src/utils/json-diff.js +112 -0
  334. package/src/utils/json-diff.js.map +1 -0
  335. package/src/{shared → utils}/logger.d.ts +0 -0
  336. package/src/{shared → utils}/logger.js +0 -0
  337. package/src/utils/logger.js.map +1 -0
  338. package/src/{shared → utils}/nx-plugin.d.ts +12 -3
  339. package/src/utils/nx-plugin.js +162 -0
  340. package/src/utils/nx-plugin.js.map +1 -0
  341. package/src/{cli → utils}/output.d.ts +17 -14
  342. package/src/utils/output.js +170 -0
  343. package/src/utils/output.js.map +1 -0
  344. package/src/{shared → utils}/package-json.d.ts +2 -2
  345. package/src/{shared → utils}/package-json.js +0 -0
  346. package/src/utils/package-json.js.map +1 -0
  347. package/src/{shared → utils}/package-manager.d.ts +0 -0
  348. package/src/{shared → utils}/package-manager.js +0 -0
  349. package/src/utils/package-manager.js.map +1 -0
  350. package/src/{shared → utils}/params.d.ts +5 -4
  351. package/src/{shared → utils}/params.js +0 -0
  352. package/src/utils/params.js.map +1 -0
  353. package/src/utils/path.d.ts +8 -0
  354. package/src/utils/path.js +22 -0
  355. package/src/utils/path.js.map +1 -0
  356. package/src/utils/perf-logging.d.ts +1 -0
  357. package/src/utils/perf-logging.js +12 -0
  358. package/src/utils/perf-logging.js.map +1 -0
  359. package/src/utils/plugins/community-plugins.d.ts +3 -0
  360. package/src/utils/plugins/community-plugins.js +47 -0
  361. package/src/utils/plugins/community-plugins.js.map +1 -0
  362. package/src/utils/plugins/core-plugins.d.ts +3 -0
  363. package/src/utils/plugins/core-plugins.js +80 -0
  364. package/src/utils/plugins/core-plugins.js.map +1 -0
  365. package/src/utils/plugins/index.d.ts +4 -0
  366. package/src/utils/plugins/index.js +16 -0
  367. package/src/utils/plugins/index.js.map +1 -0
  368. package/src/utils/plugins/installed-plugins.d.ts +3 -0
  369. package/src/utils/plugins/installed-plugins.js +55 -0
  370. package/src/utils/plugins/installed-plugins.js.map +1 -0
  371. package/src/utils/plugins/models.d.ts +31 -0
  372. package/src/{cli/workspace.js → utils/plugins/models.js} +1 -1
  373. package/src/utils/plugins/models.js.map +1 -0
  374. package/src/utils/plugins/plugin-capabilities.d.ts +3 -0
  375. package/src/utils/plugins/plugin-capabilities.js +81 -0
  376. package/src/utils/plugins/plugin-capabilities.js.map +1 -0
  377. package/src/utils/plugins/shared.d.ts +1 -0
  378. package/src/utils/plugins/shared.js +9 -0
  379. package/src/utils/plugins/shared.js.map +1 -0
  380. package/src/utils/print-help.d.ts +10 -0
  381. package/src/utils/print-help.js +46 -0
  382. package/src/utils/print-help.js.map +1 -0
  383. package/src/utils/project-graph-utils.d.ts +12 -0
  384. package/src/utils/project-graph-utils.js +96 -0
  385. package/src/utils/project-graph-utils.js.map +1 -0
  386. package/src/utils/register.d.ts +1 -1
  387. package/src/utils/register.js +14 -9
  388. package/src/utils/register.js.map +1 -1
  389. package/src/utils/strip-indents.d.ts +14 -0
  390. package/src/utils/strip-indents.js +25 -0
  391. package/src/utils/strip-indents.js.map +1 -0
  392. package/src/utils/strip-source-code.d.ts +2 -0
  393. package/src/utils/strip-source-code.js +85 -0
  394. package/src/utils/strip-source-code.js.map +1 -0
  395. package/src/utils/typescript.d.ts +11 -0
  396. package/src/utils/typescript.js +70 -0
  397. package/src/utils/typescript.js.map +1 -0
  398. package/src/utils/version-utils.d.ts +1 -0
  399. package/src/utils/version-utils.js +19 -0
  400. package/src/utils/version-utils.js.map +1 -0
  401. package/src/utils/versions.d.ts +8 -0
  402. package/src/utils/versions.js +12 -0
  403. package/src/utils/versions.js.map +1 -0
  404. package/tasks-runners/default.d.ts +1 -0
  405. package/tasks-runners/default.js +6 -0
  406. package/tasks-runners/default.js.map +1 -0
  407. package/src/cli/decorate-cli.js.map +0 -1
  408. package/src/cli/find-workspace-root.js.map +0 -1
  409. package/src/cli/init-local.d.ts +0 -2
  410. package/src/cli/init-local.js +0 -109
  411. package/src/cli/init-local.js.map +0 -1
  412. package/src/cli/is_ci.js.map +0 -1
  413. package/src/cli/output.js +0 -129
  414. package/src/cli/output.js.map +0 -1
  415. package/src/cli/parse-run-one-options.d.ts +0 -6
  416. package/src/cli/parse-run-one-options.js +0 -139
  417. package/src/cli/parse-run-one-options.js.map +0 -1
  418. package/src/cli/run-cli.js.map +0 -1
  419. package/src/cli/workspace.d.ts +0 -4
  420. package/src/cli/workspace.js.map +0 -1
  421. package/src/commands/generate.d.ts +0 -15
  422. package/src/commands/generate.js.map +0 -1
  423. package/src/commands/help.d.ts +0 -1
  424. package/src/commands/help.js +0 -34
  425. package/src/commands/help.js.map +0 -1
  426. package/src/commands/migrate.js.map +0 -1
  427. package/src/commands/ngcli-adapter.js.map +0 -1
  428. package/src/commands/run.js.map +0 -1
  429. package/src/compat/compat.js.map +0 -1
  430. package/src/shared/logger.js.map +0 -1
  431. package/src/shared/nx-plugin.js +0 -53
  432. package/src/shared/nx-plugin.js.map +0 -1
  433. package/src/shared/package-json.js.map +0 -1
  434. package/src/shared/package-manager.js.map +0 -1
  435. package/src/shared/params.js.map +0 -1
  436. package/src/shared/print-help.d.ts +0 -2
  437. package/src/shared/print-help.js +0 -32
  438. package/src/shared/print-help.js.map +0 -1
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRunManyDynamicOutputRenderer = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const cliCursor = require("cli-cursor");
6
+ const cli_spinners_1 = require("cli-spinners");
7
+ const os_1 = require("os");
8
+ const readline = require("readline");
9
+ const output_1 = require("../../utils/output");
10
+ const pretty_time_1 = require("./pretty-time");
11
+ /**
12
+ * The following function is responsible for creating a life cycle with dynamic
13
+ * outputs, meaning previous outputs can be rewritten or modified as new outputs
14
+ * are added. It is therefore intended for use on a user's local machines.
15
+ *
16
+ * In CI environments the static equivalent of this life cycle should be used.
17
+ *
18
+ * NOTE: output.dim() should be preferred over output.colors.gray() because it
19
+ * is much more consistently readable across different terminal color themes.
20
+ */
21
+ function createRunManyDynamicOutputRenderer({ projectNames, tasks, args, overrides, }) {
22
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
23
+ cliCursor.hide();
24
+ let resolveRenderIsDonePromise;
25
+ const renderIsDone = new Promise((resolve) => (resolveRenderIsDonePromise = resolve)).then(() => {
26
+ clearRenderInterval();
27
+ cliCursor.show();
28
+ });
29
+ function clearRenderInterval() {
30
+ if (renderProjectRowsIntervalId) {
31
+ clearInterval(renderProjectRowsIntervalId);
32
+ }
33
+ }
34
+ process.on('exit', () => clearRenderInterval());
35
+ process.on('SIGINT', () => clearRenderInterval());
36
+ process.on('SIGTERM', () => clearRenderInterval());
37
+ process.on('SIGHUP', () => clearRenderInterval());
38
+ const lifeCycle = {};
39
+ const isVerbose = overrides.verbose === true;
40
+ const start = process.hrtime();
41
+ const figures = yield Promise.resolve().then(() => require('figures'));
42
+ const totalTasks = tasks.length;
43
+ const totalProjects = projectNames.length;
44
+ const totalDependentTasks = totalTasks - totalProjects;
45
+ const targetName = args.target;
46
+ const projectRows = projectNames.map((projectName) => {
47
+ return {
48
+ projectName,
49
+ status: 'pending',
50
+ };
51
+ });
52
+ const tasksToTerminalOutputs = {};
53
+ const tasksToProcessStartTimes = {};
54
+ let hasTaskOutput = false;
55
+ let pinnedFooterNumLines = 0;
56
+ let totalCompletedTasks = 0;
57
+ let totalSuccessfulTasks = 0;
58
+ let totalFailedTasks = 0;
59
+ let totalCachedTasks = 0;
60
+ // Used to control the rendering of the spinner on each project row
61
+ let projectRowsCurrentFrame = 0;
62
+ let renderProjectRowsIntervalId;
63
+ const clearPinnedFooter = () => {
64
+ for (let i = 0; i < pinnedFooterNumLines; i++) {
65
+ readline.moveCursor(process.stdout, 0, -1);
66
+ readline.clearLine(process.stdout, 0);
67
+ }
68
+ };
69
+ const renderPinnedFooter = (lines, dividerColor = 'cyan') => {
70
+ let additionalLines = 0;
71
+ if (hasTaskOutput) {
72
+ output_1.output.addVerticalSeparator(dividerColor);
73
+ additionalLines += 3;
74
+ }
75
+ // Create vertical breathing room for cursor position under the pinned footer
76
+ lines.push('');
77
+ for (const line of lines) {
78
+ process.stdout.write(output_1.output.X_PADDING + line + os_1.EOL);
79
+ }
80
+ pinnedFooterNumLines = lines.length + additionalLines;
81
+ };
82
+ const printTaskResult = (task, status) => {
83
+ clearPinnedFooter();
84
+ // If this is the very first output, add some vertical breathing room
85
+ if (!hasTaskOutput) {
86
+ output_1.output.addNewline();
87
+ }
88
+ hasTaskOutput = true;
89
+ switch (status) {
90
+ case 'local-cache':
91
+ writeLine(`${output_1.output.colors.green(figures.tick) +
92
+ output_1.output.dim(' nx run ') +
93
+ task.id} ${output_1.output.dim('[local cache]')}`);
94
+ if (isVerbose) {
95
+ writeCommandOutputBlock(tasksToTerminalOutputs[task.id]);
96
+ }
97
+ break;
98
+ case 'local-cache-kept-existing':
99
+ writeLine(`${output_1.output.colors.green(figures.tick) +
100
+ output_1.output.dim(' nx run ') +
101
+ task.id} ${output_1.output.dim('[existing outputs match the cache, left as is]')}`);
102
+ if (isVerbose) {
103
+ writeCommandOutputBlock(tasksToTerminalOutputs[task.id]);
104
+ }
105
+ break;
106
+ case 'remote-cache':
107
+ writeLine(`${output_1.output.colors.green(figures.tick) +
108
+ output_1.output.dim(' nx run ') +
109
+ task.id} ${output_1.output.dim('[remote cache]')}`);
110
+ if (isVerbose) {
111
+ writeCommandOutputBlock(tasksToTerminalOutputs[task.id]);
112
+ }
113
+ break;
114
+ case 'success': {
115
+ const timeTakenText = (0, pretty_time_1.prettyTime)(process.hrtime(tasksToProcessStartTimes[task.id]));
116
+ writeLine(output_1.output.colors.green(figures.tick) +
117
+ output_1.output.dim(' nx run ') +
118
+ task.id +
119
+ output_1.output.dim(` (${timeTakenText})`));
120
+ if (isVerbose) {
121
+ writeCommandOutputBlock(tasksToTerminalOutputs[task.id]);
122
+ }
123
+ break;
124
+ }
125
+ case 'failure':
126
+ output_1.output.addNewline();
127
+ writeLine(output_1.output.colors.red(figures.cross) +
128
+ output_1.output.dim(' nx run ') +
129
+ output_1.output.colors.red(task.id));
130
+ writeCommandOutputBlock(tasksToTerminalOutputs[task.id]);
131
+ break;
132
+ }
133
+ delete tasksToTerminalOutputs[task.id];
134
+ renderPinnedFooter([]);
135
+ renderProjectRows();
136
+ };
137
+ const renderProjectRows = () => {
138
+ const max = cli_spinners_1.dots.frames.length - 1;
139
+ const curr = projectRowsCurrentFrame;
140
+ projectRowsCurrentFrame = curr >= max ? 0 : curr + 1;
141
+ const additionalFooterRows = [''];
142
+ const runningTasks = projectRows.filter((row) => row.status === 'running');
143
+ const remainingTasks = totalTasks - totalCompletedTasks;
144
+ if (runningTasks.length > 0) {
145
+ additionalFooterRows.push(output_1.output.dim(` ${output_1.output.colors.cyan(figures.arrowRight)} Executing ${runningTasks.length}/${remainingTasks} remaining tasks${runningTasks.length > 1 ? ' in parallel' : ''}...`));
146
+ additionalFooterRows.push('');
147
+ for (const projectRow of runningTasks) {
148
+ additionalFooterRows.push(` ${output_1.output.dim.cyan(cli_spinners_1.dots.frames[projectRowsCurrentFrame])} ${output_1.output.dim('nx run ') + projectRow.projectName + ':' + targetName}`);
149
+ }
150
+ /**
151
+ * Reduce layout thrashing by ensuring that there is a relatively consistent
152
+ * height for the area in which the task rows are rendered.
153
+ *
154
+ * We can look at the parallel flag to know how many rows are likely to be
155
+ * needed in the common case and always render that at least that many.
156
+ */
157
+ if (totalCompletedTasks !== totalTasks &&
158
+ Number.isInteger(args.parallel) &&
159
+ runningTasks.length < args.parallel) {
160
+ // Don't bother with this optimization if there are fewer tasks remaining than rows required
161
+ if (remainingTasks >= args.parallel) {
162
+ for (let i = runningTasks.length; i < args.parallel; i++) {
163
+ additionalFooterRows.push('');
164
+ }
165
+ }
166
+ }
167
+ }
168
+ if (totalSuccessfulTasks > 0 || totalFailedTasks > 0) {
169
+ additionalFooterRows.push('');
170
+ }
171
+ if (totalFailedTasks > 0) {
172
+ additionalFooterRows.push(` ${output_1.output.colors.red(figures.cross)} ${totalFailedTasks}${`/${totalCompletedTasks}`} failed`);
173
+ }
174
+ if (totalSuccessfulTasks > 0) {
175
+ additionalFooterRows.push(` ${output_1.output.colors.green(figures.tick)} ${totalSuccessfulTasks}${`/${totalCompletedTasks}`} succeeded ${output_1.output.dim(`[${totalCachedTasks} read from cache]`)}`);
176
+ }
177
+ clearPinnedFooter();
178
+ if (additionalFooterRows.length > 1) {
179
+ let text = `Running target ${output_1.output.bold.cyan(targetName)} for ${output_1.output.bold.cyan(totalProjects)} projects`;
180
+ if (totalDependentTasks > 0) {
181
+ text += ` and ${output_1.output.bold(totalDependentTasks)} task(s) they depend on`;
182
+ }
183
+ const taskOverridesRows = [];
184
+ if (Object.keys(overrides).length > 0) {
185
+ const leftPadding = `${output_1.output.X_PADDING} `;
186
+ taskOverridesRows.push('');
187
+ taskOverridesRows.push(`${leftPadding}${output_1.output.dim.cyan('With additional flags:')}`);
188
+ Object.entries(overrides)
189
+ .map(([flag, value]) => output_1.output.dim.cyan(`${leftPadding} --${flag}=${value}`))
190
+ .forEach((arg) => taskOverridesRows.push(arg));
191
+ }
192
+ const pinnedFooterLines = [
193
+ output_1.output.applyNxPrefix('cyan', output_1.output.colors.cyan(text)),
194
+ ...taskOverridesRows,
195
+ ...additionalFooterRows,
196
+ ];
197
+ // Vertical breathing room when there isn't yet any output or divider
198
+ if (!hasTaskOutput) {
199
+ pinnedFooterLines.unshift('');
200
+ }
201
+ renderPinnedFooter(pinnedFooterLines);
202
+ }
203
+ else {
204
+ renderPinnedFooter([]);
205
+ }
206
+ };
207
+ lifeCycle.startCommand = () => {
208
+ if (totalProjects <= 0) {
209
+ let description = `with target ${output_1.output.colors.white.bold(targetName)}`;
210
+ if (args.configuration) {
211
+ description += ` that are configured for "${args.configuration}"`;
212
+ }
213
+ renderPinnedFooter([
214
+ '',
215
+ output_1.output.applyNxPrefix('gray', `No projects ${description} were run`),
216
+ ]);
217
+ resolveRenderIsDonePromise();
218
+ return;
219
+ }
220
+ renderPinnedFooter([]);
221
+ };
222
+ lifeCycle.endCommand = () => {
223
+ clearRenderInterval();
224
+ const timeTakenText = (0, pretty_time_1.prettyTime)(process.hrtime(start));
225
+ clearPinnedFooter();
226
+ if (totalSuccessfulTasks === totalTasks) {
227
+ let text = `Successfully ran target ${output_1.output.bold(targetName)} for ${output_1.output.bold(totalProjects)} projects`;
228
+ if (totalDependentTasks > 0) {
229
+ text += ` and ${output_1.output.bold(totalDependentTasks)} task(s) they depend on`;
230
+ }
231
+ const taskOverridesRows = [];
232
+ if (Object.keys(overrides).length > 0) {
233
+ const leftPadding = `${output_1.output.X_PADDING} `;
234
+ taskOverridesRows.push('');
235
+ taskOverridesRows.push(`${leftPadding}${output_1.output.dim.green('With additional flags:')}`);
236
+ Object.entries(overrides)
237
+ .map(([flag, value]) => output_1.output.dim.green(`${leftPadding} --${flag}=${value}`))
238
+ .forEach((arg) => taskOverridesRows.push(arg));
239
+ }
240
+ const pinnedFooterLines = [
241
+ output_1.output.applyNxPrefix('green', output_1.output.colors.green(text) + output_1.output.dim.white(` (${timeTakenText})`)),
242
+ ...taskOverridesRows,
243
+ ];
244
+ if (totalCachedTasks > 0) {
245
+ pinnedFooterLines.push(output_1.output.dim(`${os_1.EOL} Nx read the output from the cache instead of running the command for ${totalCachedTasks} out of ${totalTasks} tasks.`));
246
+ }
247
+ renderPinnedFooter(pinnedFooterLines, 'green');
248
+ }
249
+ else {
250
+ let text = `Ran target ${output_1.output.bold(targetName)} for ${output_1.output.bold(totalProjects)} projects`;
251
+ if (totalDependentTasks > 0) {
252
+ text += ` and ${output_1.output.bold(totalDependentTasks)} task(s) they depend on`;
253
+ }
254
+ const taskOverridesRows = [];
255
+ if (Object.keys(overrides).length > 0) {
256
+ const leftPadding = `${output_1.output.X_PADDING} `;
257
+ taskOverridesRows.push('');
258
+ taskOverridesRows.push(`${leftPadding}${output_1.output.dim.red('With additional flags:')}`);
259
+ Object.entries(overrides)
260
+ .map(([flag, value]) => output_1.output.dim.red(`${leftPadding} --${flag}=${value}`))
261
+ .forEach((arg) => taskOverridesRows.push(arg));
262
+ }
263
+ renderPinnedFooter([
264
+ output_1.output.applyNxPrefix('red', output_1.output.colors.red(text) + output_1.output.dim.white(` (${timeTakenText})`)),
265
+ ...taskOverridesRows,
266
+ '',
267
+ ` ${output_1.output.colors.red(figures.cross)} ${totalFailedTasks}${`/${totalCompletedTasks}`} failed`,
268
+ ` ${output_1.output.dim(figures.tick)} ${totalSuccessfulTasks}${`/${totalCompletedTasks}`} succeeded ${output_1.output.dim(`[${totalCachedTasks} read from cache]`)}`,
269
+ ], 'red');
270
+ }
271
+ resolveRenderIsDonePromise();
272
+ };
273
+ lifeCycle.startTasks = (tasks) => {
274
+ for (const task of tasks) {
275
+ tasksToProcessStartTimes[task.id] = process.hrtime();
276
+ }
277
+ for (const projectRow of projectRows) {
278
+ const matchedTask = tasks.find((t) => t.target.project === projectRow.projectName);
279
+ if (!matchedTask) {
280
+ continue;
281
+ }
282
+ projectRow.status = 'running';
283
+ }
284
+ if (!renderProjectRowsIntervalId) {
285
+ renderProjectRowsIntervalId = setInterval(renderProjectRows, 100);
286
+ }
287
+ };
288
+ lifeCycle.printTaskTerminalOutput = (task, _cacheStatus, output) => {
289
+ tasksToTerminalOutputs[task.id] = output;
290
+ };
291
+ lifeCycle.endTasks = (taskResults) => {
292
+ for (let t of taskResults) {
293
+ totalCompletedTasks++;
294
+ const matchingProjectRow = projectRows.find((pr) => pr.projectName === t.task.target.project);
295
+ if (matchingProjectRow) {
296
+ matchingProjectRow.status = t.status;
297
+ }
298
+ switch (t.status) {
299
+ case 'remote-cache':
300
+ case 'local-cache':
301
+ case 'local-cache-kept-existing':
302
+ totalCachedTasks++;
303
+ totalSuccessfulTasks++;
304
+ break;
305
+ case 'success':
306
+ totalSuccessfulTasks++;
307
+ break;
308
+ case 'failure':
309
+ totalFailedTasks++;
310
+ break;
311
+ }
312
+ printTaskResult(t.task, t.status);
313
+ }
314
+ };
315
+ return { lifeCycle, renderIsDone };
316
+ });
317
+ }
318
+ exports.createRunManyDynamicOutputRenderer = createRunManyDynamicOutputRenderer;
319
+ function writeLine(line) {
320
+ const additionalXPadding = ' ';
321
+ process.stdout.write(output_1.output.X_PADDING + additionalXPadding + line + os_1.EOL);
322
+ }
323
+ /**
324
+ * There's not much we can do in order to "neaten up" the outputs of
325
+ * commands we do not control, but at the very least we can trim any
326
+ * leading whitespace and any _excess_ trailing newlines so that there
327
+ * isn't unncecessary vertical whitespace.
328
+ */
329
+ function writeCommandOutputBlock(commandOutput) {
330
+ commandOutput = commandOutput || '';
331
+ commandOutput = commandOutput.trimStart();
332
+ const additionalXPadding = ' ';
333
+ const lines = commandOutput.split(os_1.EOL);
334
+ let totalTrailingEmptyLines = 0;
335
+ for (let i = lines.length - 1; i >= 0; i--) {
336
+ if (lines[i] !== '') {
337
+ break;
338
+ }
339
+ totalTrailingEmptyLines++;
340
+ }
341
+ if (totalTrailingEmptyLines > 1) {
342
+ const linesToRemove = totalTrailingEmptyLines - 1;
343
+ lines.splice(lines.length - linesToRemove, linesToRemove);
344
+ }
345
+ // Indent the command output to make it look more "designed" in the context of the dynamic output
346
+ process.stdout.write(lines.map((l) => `${output_1.output.X_PADDING}${additionalXPadding}${l}`).join(os_1.EOL) +
347
+ os_1.EOL);
348
+ }
349
+ //# sourceMappingURL=dynamic-run-many-terminal-output-life-cycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-run-many-terminal-output-life-cycle.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { LifeCycle } from '../life-cycle';
2
+ import { Task } from 'nx/src/shared/tasks';
3
+ /**
4
+ * The following function is responsible for creating a life cycle with dynamic
5
+ * outputs, meaning previous outputs can be rewritten or modified as new outputs
6
+ * are added. It is therefore intended for use on a user's local machines.
7
+ *
8
+ * In CI environments the static equivalent of this life cycle should be used.
9
+ *
10
+ * NOTE: output.dim() should be preferred over output.colors.gray() because it
11
+ * is much more consistently readable across different terminal color themes.
12
+ */
13
+ export declare function createRunOneDynamicOutputRenderer({ initiatingProject, tasks, args, overrides, }: {
14
+ initiatingProject: string;
15
+ tasks: Task[];
16
+ args: {
17
+ target?: string;
18
+ configuration?: string;
19
+ parallel?: number;
20
+ };
21
+ overrides: Record<string, unknown>;
22
+ }): Promise<{
23
+ lifeCycle: LifeCycle;
24
+ renderIsDone: Promise<void>;
25
+ }>;
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRunOneDynamicOutputRenderer = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const cliCursor = require("cli-cursor");
6
+ const cli_spinners_1 = require("cli-spinners");
7
+ const os_1 = require("os");
8
+ const readline = require("readline");
9
+ const output_1 = require("../../utils/output");
10
+ const pretty_time_1 = require("./pretty-time");
11
+ /**
12
+ * The following function is responsible for creating a life cycle with dynamic
13
+ * outputs, meaning previous outputs can be rewritten or modified as new outputs
14
+ * are added. It is therefore intended for use on a user's local machines.
15
+ *
16
+ * In CI environments the static equivalent of this life cycle should be used.
17
+ *
18
+ * NOTE: output.dim() should be preferred over output.colors.gray() because it
19
+ * is much more consistently readable across different terminal color themes.
20
+ */
21
+ function createRunOneDynamicOutputRenderer({ initiatingProject, tasks, args, overrides, }) {
22
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
23
+ cliCursor.hide();
24
+ let resolveRenderIsDonePromise;
25
+ const renderIsDone = new Promise((resolve) => (resolveRenderIsDonePromise = resolve)).then(() => {
26
+ clearRenderInterval();
27
+ cliCursor.show();
28
+ });
29
+ function clearRenderInterval() {
30
+ if (renderDependentTargetsIntervalId) {
31
+ clearInterval(renderDependentTargetsIntervalId);
32
+ }
33
+ }
34
+ process.on('exit', () => clearRenderInterval());
35
+ process.on('SIGINT', () => clearRenderInterval());
36
+ process.on('SIGTERM', () => clearRenderInterval());
37
+ process.on('SIGHUP', () => clearRenderInterval());
38
+ const lifeCycle = {};
39
+ const start = process.hrtime();
40
+ const figures = yield Promise.resolve().then(() => require('figures'));
41
+ let state = 'EXECUTING_DEPENDENT_TARGETS';
42
+ const tasksToTerminalOutputs = {};
43
+ const totalTasks = tasks.length;
44
+ const totalDependentTasks = totalTasks - 1;
45
+ const totalTasksFromInitiatingProject = tasks.filter((t) => t.target.project === initiatingProject).length;
46
+ // Tasks from the initiating project are treated differently, they forward their output
47
+ const totalDependentTasksNotFromInitiatingProject = totalTasks - totalTasksFromInitiatingProject;
48
+ const targetName = args.target;
49
+ let dependentTargetsNumLines = 0;
50
+ let totalCompletedTasks = 0;
51
+ let totalSuccessfulTasks = 0;
52
+ let totalFailedTasks = 0;
53
+ let totalCachedTasks = 0;
54
+ // Used to control the rendering of the spinner
55
+ let dependentTargetsCurrentFrame = 0;
56
+ let renderDependentTargetsIntervalId;
57
+ const clearDependentTargets = () => {
58
+ for (let i = 0; i < dependentTargetsNumLines; i++) {
59
+ readline.moveCursor(process.stdout, 0, -1);
60
+ readline.clearLine(process.stdout, 0);
61
+ }
62
+ };
63
+ const renderLines = (lines, dividerColor = 'cyan', renderDivider = true, skipPadding = false) => {
64
+ let additionalLines = 0;
65
+ if (renderDivider) {
66
+ output_1.output.addVerticalSeparator(dividerColor);
67
+ additionalLines += 3;
68
+ }
69
+ if (renderDivider) {
70
+ lines.push('');
71
+ }
72
+ for (const line of lines) {
73
+ process.stdout.write((skipPadding ? '' : output_1.output.X_PADDING) + line + os_1.EOL);
74
+ }
75
+ dependentTargetsNumLines = lines.length + additionalLines;
76
+ };
77
+ const renderDependentTargets = (renderDivider = true) => {
78
+ if (totalDependentTasksNotFromInitiatingProject <= 0) {
79
+ return;
80
+ }
81
+ const max = cli_spinners_1.dots.frames.length - 1;
82
+ const curr = dependentTargetsCurrentFrame;
83
+ dependentTargetsCurrentFrame = curr >= max ? 0 : curr + 1;
84
+ const linesToRender = [''];
85
+ const remainingDependentTasksNotFromInitiatingProject = totalDependentTasksNotFromInitiatingProject - totalCompletedTasks;
86
+ switch (state) {
87
+ case 'EXECUTING_DEPENDENT_TARGETS':
88
+ if (totalFailedTasks === 0) {
89
+ linesToRender.push(` ${output_1.output.colors.cyan(cli_spinners_1.dots.frames[dependentTargetsCurrentFrame])} ${output_1.output.dim(`Nx is waiting on ${remainingDependentTasksNotFromInitiatingProject} dependent project tasks before running tasks from`)} ${initiatingProject}${output_1.output.dim('...')}`);
90
+ if (totalSuccessfulTasks > 0) {
91
+ linesToRender.push('');
92
+ }
93
+ }
94
+ break;
95
+ }
96
+ if (totalFailedTasks > 0) {
97
+ linesToRender.push(output_1.output.colors.red.dim(` ${output_1.output.colors.red(figures.cross)} ${totalFailedTasks}${`/${totalCompletedTasks}`} dependent project tasks failed (see below)`));
98
+ }
99
+ if (totalSuccessfulTasks > 0) {
100
+ linesToRender.push(output_1.output.dim(` ${output_1.output.dim(figures.tick)} ${totalSuccessfulTasks}${`/${totalCompletedTasks}`} dependent project tasks succeeded ${output_1.output.dim(`[${totalCachedTasks} read from cache]`)}`));
101
+ }
102
+ clearDependentTargets();
103
+ if (linesToRender.length > 1) {
104
+ renderLines(linesToRender, 'gray', renderDivider && state !== 'EXECUTING_DEPENDENT_TARGETS', true);
105
+ }
106
+ else {
107
+ renderLines([]);
108
+ }
109
+ };
110
+ lifeCycle.startCommand = () => {
111
+ renderDependentTargets();
112
+ };
113
+ lifeCycle.startTasks = (tasks) => {
114
+ for (const task of tasks) {
115
+ // Move from the dependent project tasks phase to the initiating project's targets
116
+ if (task.target.project === initiatingProject &&
117
+ state !== 'EXECUTING_INITIATING_PROJECT_TARGET') {
118
+ state = 'EXECUTING_INITIATING_PROJECT_TARGET';
119
+ clearRenderInterval();
120
+ renderDependentTargets(false);
121
+ if (totalDependentTasksNotFromInitiatingProject > 0) {
122
+ output_1.output.addNewline();
123
+ process.stdout.write(` ${output_1.output.dim('Hint: you can run the command with')} --verbose ${output_1.output.dim('to see the full dependent project outputs')}` + os_1.EOL);
124
+ output_1.output.addVerticalSeparator('gray');
125
+ }
126
+ }
127
+ }
128
+ if (!renderDependentTargetsIntervalId &&
129
+ state === 'EXECUTING_DEPENDENT_TARGETS') {
130
+ renderDependentTargetsIntervalId = setInterval(renderDependentTargets, 100);
131
+ }
132
+ };
133
+ lifeCycle.printTaskTerminalOutput = (task, cacheStatus, terminalOutput) => {
134
+ if (task.target.project === initiatingProject) {
135
+ output_1.output.logCommand(task.id, cacheStatus);
136
+ output_1.output.addNewline();
137
+ process.stdout.write(terminalOutput);
138
+ }
139
+ else {
140
+ tasksToTerminalOutputs[task.id] = terminalOutput;
141
+ }
142
+ };
143
+ lifeCycle.endTasks = (taskResults) => {
144
+ for (let t of taskResults) {
145
+ totalCompletedTasks++;
146
+ switch (t.status) {
147
+ case 'remote-cache':
148
+ case 'local-cache':
149
+ case 'local-cache-kept-existing':
150
+ totalCachedTasks++;
151
+ totalSuccessfulTasks++;
152
+ break;
153
+ case 'success':
154
+ totalSuccessfulTasks++;
155
+ break;
156
+ case 'failure':
157
+ totalFailedTasks++;
158
+ /**
159
+ * A dependent project has failed so we stop executing and update the relevant
160
+ * dependent project task messaging
161
+ */
162
+ if (t.task.target.project !== initiatingProject) {
163
+ clearRenderInterval();
164
+ renderDependentTargets(false);
165
+ output_1.output.addVerticalSeparator('red');
166
+ output_1.output.logCommand(t.task.id, t.status);
167
+ output_1.output.addNewline();
168
+ process.stdout.write(tasksToTerminalOutputs[t.task.id]);
169
+ }
170
+ break;
171
+ }
172
+ delete tasksToTerminalOutputs[t.task.id];
173
+ }
174
+ };
175
+ lifeCycle.endCommand = () => {
176
+ clearRenderInterval();
177
+ const timeTakenText = (0, pretty_time_1.prettyTime)(process.hrtime(start));
178
+ if (totalSuccessfulTasks === totalTasks) {
179
+ state = 'COMPLETED_SUCCESSFULLY';
180
+ let text = `Successfully ran target ${output_1.output.bold(targetName)} for project ${output_1.output.bold(initiatingProject)}`;
181
+ if (totalDependentTasks > 0) {
182
+ text += ` and ${output_1.output.bold(totalDependentTasks)} task(s) it depends on`;
183
+ }
184
+ const taskOverridesLines = [];
185
+ if (Object.keys(overrides).length > 0) {
186
+ const leftPadding = `${output_1.output.X_PADDING} `;
187
+ taskOverridesLines.push('');
188
+ taskOverridesLines.push(`${leftPadding}${output_1.output.dim.green('With additional flags:')}`);
189
+ Object.entries(overrides)
190
+ .map(([flag, value]) => output_1.output.dim.green(`${leftPadding} --${flag}=${value}`))
191
+ .forEach((arg) => taskOverridesLines.push(arg));
192
+ }
193
+ const pinnedFooterLines = [
194
+ output_1.output.applyNxPrefix('green', output_1.output.colors.green(text) + output_1.output.dim(` (${timeTakenText})`)),
195
+ ...taskOverridesLines,
196
+ ];
197
+ if (totalCachedTasks > 0) {
198
+ pinnedFooterLines.push(output_1.output.dim(`${os_1.EOL} Nx read the output from the cache instead of running the command for ${totalCachedTasks} out of ${totalTasks} tasks.`));
199
+ }
200
+ renderLines(pinnedFooterLines, 'green');
201
+ }
202
+ else {
203
+ state = 'COMPLETED_WITH_ERRORS';
204
+ let text = `Ran target ${output_1.output.bold(targetName)} for project ${output_1.output.bold(initiatingProject)}`;
205
+ if (totalDependentTasks > 0) {
206
+ text += ` and ${output_1.output.bold(totalDependentTasks)} task(s) it depends on`;
207
+ }
208
+ const taskOverridesLines = [];
209
+ if (Object.keys(overrides).length > 0) {
210
+ const leftPadding = `${output_1.output.X_PADDING} `;
211
+ taskOverridesLines.push('');
212
+ taskOverridesLines.push(`${leftPadding}${output_1.output.dim.red('With additional flags:')}`);
213
+ Object.entries(overrides)
214
+ .map(([flag, value]) => output_1.output.dim.red(`${leftPadding} --${flag}=${value}`))
215
+ .forEach((arg) => taskOverridesLines.push(arg));
216
+ }
217
+ renderLines([
218
+ output_1.output.applyNxPrefix('red', output_1.output.colors.red(text) + output_1.output.dim(` (${timeTakenText})`)),
219
+ ...taskOverridesLines,
220
+ '',
221
+ ` ${output_1.output.colors.red(figures.cross)} ${totalFailedTasks}${`/${totalCompletedTasks}`} failed`,
222
+ ` ${output_1.output.dim(figures.tick)} ${totalSuccessfulTasks}${`/${totalCompletedTasks}`} succeeded ${output_1.output.dim(`[${totalCachedTasks} read from cache]`)}`,
223
+ ], 'red');
224
+ }
225
+ resolveRenderIsDonePromise();
226
+ };
227
+ return { lifeCycle, renderIsDone };
228
+ });
229
+ }
230
+ exports.createRunOneDynamicOutputRenderer = createRunOneDynamicOutputRenderer;
231
+ //# sourceMappingURL=dynamic-run-one-terminal-output-life-cycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-run-one-terminal-output-life-cycle.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { LifeCycle } from '../life-cycle';
2
+ import { TaskStatus } from 'nx/src/tasks-runner/tasks-runner';
3
+ export declare class EmptyTerminalOutputLifeCycle implements LifeCycle {
4
+ printTaskTerminalOutput(task: any, cacheStatus: TaskStatus, terminalOutput: string): void;
5
+ }