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,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertChangeEventsToLogMessage = exports.subscribeToWorkspaceChanges = void 0;
4
+ const tslib_1 = require("tslib");
5
+ /**
6
+ * In addition to its native performance, another great advantage of `@parcel/watcher` is that it will
7
+ * automatically take advantage of Facebook's watchman tool (https://facebook.github.io/watchman/) if
8
+ * the user has it installed (but not require it if they don't).
9
+ *
10
+ * See https://github.com/parcel-bundler/watcher for more details.
11
+ */
12
+ const app_root_1 = require("nx/src/utils/app-root");
13
+ const fs_1 = require("fs");
14
+ const path_1 = require("path");
15
+ const socket_utils_1 = require("../socket-utils");
16
+ const shutdown_utils_1 = require("nx/src/core/project-graph/daemon/server/shutdown-utils");
17
+ const ignore_1 = require("ignore");
18
+ const path_2 = require("nx/src/utils/path");
19
+ /**
20
+ * This configures the files and directories which we always want to ignore as part of file watching
21
+ * and which we know the location of statically (meaning irrespective of user configuration files).
22
+ * This has the advantage of being ignored directly within the C++ layer of `@parcel/watcher` so there
23
+ * is less pressure on the main JavaScript thread.
24
+ *
25
+ * Other ignored entries will need to be determined dynamically by reading and evaluating the user's
26
+ * .gitignore and .nxignore files below.
27
+ *
28
+ * It's possible that glob support will be added in the C++ layer in the future as well:
29
+ * https://github.com/parcel-bundler/watcher/issues/64
30
+ */
31
+ const ALWAYS_IGNORE = [
32
+ (0, path_1.join)(app_root_1.appRootPath, 'node_modules'),
33
+ (0, path_1.join)(app_root_1.appRootPath, '.git'),
34
+ socket_utils_1.FULL_OS_SOCKET_PATH,
35
+ ];
36
+ function getIgnoredGlobs() {
37
+ return [
38
+ ...ALWAYS_IGNORE,
39
+ ...getIgnoredGlobsFromFile((0, path_1.join)(app_root_1.appRootPath, '.nxignore')),
40
+ ...getIgnoredGlobsFromFile((0, path_1.join)(app_root_1.appRootPath, '.gitignore')),
41
+ ];
42
+ }
43
+ function getIgnoredGlobsFromFile(file) {
44
+ try {
45
+ return (0, fs_1.readFileSync)(file, 'utf-8')
46
+ .split('\n')
47
+ .map((i) => i.trim())
48
+ .filter((i) => !!i && !i.startsWith('#'))
49
+ .map((i) => (i.startsWith('/') ? (0, path_1.join)(app_root_1.appRootPath, i) : i));
50
+ }
51
+ catch (e) {
52
+ return [];
53
+ }
54
+ }
55
+ function configureIgnoreObject() {
56
+ const ig = (0, ignore_1.default)();
57
+ try {
58
+ ig.add((0, fs_1.readFileSync)(`${app_root_1.appRootPath}/.gitignore`, 'utf-8'));
59
+ }
60
+ catch (_a) { }
61
+ try {
62
+ ig.add((0, fs_1.readFileSync)(`${app_root_1.appRootPath}/.nxignore`, 'utf-8'));
63
+ }
64
+ catch (_b) { }
65
+ return ig;
66
+ }
67
+ function subscribeToWorkspaceChanges(server, cb) {
68
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
69
+ /**
70
+ * The imports and exports of @nrwl/workspace are somewhat messy and far reaching across the repo (and beyond),
71
+ * and so it is much safer for us to lazily load here `@parcel/watcher` so that its inclusion is not inadvertently
72
+ * executed by packages which do not have its necessary native binaries available.
73
+ */
74
+ const watcher = yield Promise.resolve().then(() => require('@parcel/watcher'));
75
+ const ignoreObj = configureIgnoreObject();
76
+ const subscription = yield watcher.subscribe(app_root_1.appRootPath, (err, events) => {
77
+ // Let the consumer handle any errors
78
+ if (err) {
79
+ return cb(err, null);
80
+ }
81
+ let hasIgnoreFileUpdate = false;
82
+ // Most of our utilities (ignore, hashing etc) require unix-style workspace relative paths
83
+ const workspaceRelativeEvents = [];
84
+ for (const event of events) {
85
+ const workspaceRelativeEvent = {
86
+ type: event.type,
87
+ path: (0, path_2.normalizePath)((0, path_1.relative)(app_root_1.appRootPath, event.path)),
88
+ };
89
+ if (workspaceRelativeEvent.path === '.gitignore' ||
90
+ workspaceRelativeEvent.path === '.nxignore') {
91
+ hasIgnoreFileUpdate = true;
92
+ }
93
+ workspaceRelativeEvents.push(workspaceRelativeEvent);
94
+ }
95
+ // If the ignore files themselves have changed we need to dynamically update our cached ignoreGlobs
96
+ if (hasIgnoreFileUpdate) {
97
+ (0, shutdown_utils_1.handleServerProcessTermination)({
98
+ server,
99
+ reason: 'Stopping the daemon the set of ignored files changed.',
100
+ watcherSubscription: subscription,
101
+ });
102
+ }
103
+ const nonIgnoredEvents = workspaceRelativeEvents
104
+ .filter(({ path }) => !!path)
105
+ .filter(({ path }) => !ignoreObj.ignores(path));
106
+ if (nonIgnoredEvents && nonIgnoredEvents.length > 0) {
107
+ cb(null, nonIgnoredEvents);
108
+ }
109
+ }, {
110
+ ignore: getIgnoredGlobs(),
111
+ });
112
+ return subscription;
113
+ });
114
+ }
115
+ exports.subscribeToWorkspaceChanges = subscribeToWorkspaceChanges;
116
+ /**
117
+ * NOTE: An event type of "create" will also apply to the case where the user has restored
118
+ * an original version of a file after modifying/deleting it by using git, so we adjust
119
+ * our log language accordingly.
120
+ */
121
+ function convertChangeEventsToLogMessage(changeEvents) {
122
+ // If only a single file was changed, show the information inline
123
+ if (changeEvents.length === 1) {
124
+ const { path, type } = changeEvents[0];
125
+ let typeLog = 'updated';
126
+ switch (type) {
127
+ case 'create':
128
+ typeLog = 'created or restored';
129
+ break;
130
+ case 'update':
131
+ typeLog = 'modified';
132
+ break;
133
+ case 'delete':
134
+ typeLog = 'deleted';
135
+ break;
136
+ }
137
+ return `${path} was ${typeLog}`;
138
+ }
139
+ let numCreatedOrRestoredFiles = 0;
140
+ let numModifiedFiles = 0;
141
+ let numDeletedFiles = 0;
142
+ for (const event of changeEvents) {
143
+ switch (event.type) {
144
+ case 'create':
145
+ numCreatedOrRestoredFiles++;
146
+ break;
147
+ case 'update':
148
+ numModifiedFiles++;
149
+ break;
150
+ case 'delete':
151
+ numDeletedFiles++;
152
+ break;
153
+ }
154
+ }
155
+ return `${numCreatedOrRestoredFiles} file(s) created or restored, ${numModifiedFiles} file(s) modified, ${numDeletedFiles} file(s) deleted`;
156
+ }
157
+ exports.convertChangeEventsToLogMessage = convertChangeEventsToLogMessage;
158
+ //# sourceMappingURL=watcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../../../../../../packages/nx/src/core/project-graph/daemon/server/watcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { ProjectGraph } from 'nx/src/shared/project-graph';
2
+ export declare const isWindows: boolean;
3
+ /**
4
+ * For IPC with the daemon server we use unix sockets or windows named pipes, depending on the user's operating system.
5
+ *
6
+ * See https://nodejs.org/dist/latest-v14.x/docs/api/net.html#net_identifying_paths_for_ipc_connections for a full breakdown
7
+ * of OS differences between Unix domain sockets and named pipes.
8
+ */
9
+ export declare const FULL_OS_SOCKET_PATH: string;
10
+ export declare function killSocketOrPath(): void;
11
+ export interface ProjectGraphServerResult {
12
+ error: Error | null;
13
+ projectGraph: ProjectGraph | null;
14
+ }
15
+ export declare function serializeResult(error: Error | null, serializedProjectGraph: string | null): string | null;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeResult = exports.killSocketOrPath = exports.FULL_OS_SOCKET_PATH = exports.isWindows = void 0;
4
+ const fs_1 = require("fs");
5
+ const os_1 = require("os");
6
+ const path_1 = require("path");
7
+ const tmp_dir_1 = require("./tmp-dir");
8
+ exports.isWindows = (0, os_1.platform)() === 'win32';
9
+ /**
10
+ * For IPC with the daemon server we use unix sockets or windows named pipes, depending on the user's operating system.
11
+ *
12
+ * See https://nodejs.org/dist/latest-v14.x/docs/api/net.html#net_identifying_paths_for_ipc_connections for a full breakdown
13
+ * of OS differences between Unix domain sockets and named pipes.
14
+ */
15
+ exports.FULL_OS_SOCKET_PATH = exports.isWindows
16
+ ? '\\\\.\\pipe\\nx\\' + (0, path_1.resolve)(tmp_dir_1.DAEMON_SOCKET_PATH)
17
+ : (0, path_1.resolve)(tmp_dir_1.DAEMON_SOCKET_PATH);
18
+ function killSocketOrPath() {
19
+ try {
20
+ (0, fs_1.unlinkSync)(exports.FULL_OS_SOCKET_PATH);
21
+ }
22
+ catch (_a) { }
23
+ }
24
+ exports.killSocketOrPath = killSocketOrPath;
25
+ // Include the original stack trace within the serialized error so that the client can show it to the user.
26
+ function serializeError(error) {
27
+ if (!error) {
28
+ return null;
29
+ }
30
+ return JSON.stringify(error, Object.getOwnPropertyNames(error));
31
+ }
32
+ // Prepare a serialized project graph result for sending over IPC from the server to the client
33
+ function serializeResult(error, serializedProjectGraph) {
34
+ // We do not want to repeat work `JSON.stringify`ing an object containing the potentially large project graph so merge as strings
35
+ return `{ "error": ${serializeError(error)}, "projectGraph": ${serializedProjectGraph} }`;
36
+ }
37
+ exports.serializeResult = serializeResult;
38
+ //# sourceMappingURL=socket-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket-utils.js","sourceRoot":"","sources":["../../../../../../../packages/nx/src/core/project-graph/daemon/socket-utils.ts"],"names":[],"mappings":";;;AAAA,2BAAgC;AAChC,2BAA8B;AAC9B,+BAA+B;AAC/B,uCAA+C;AAGlC,QAAA,SAAS,GAAG,IAAA,aAAQ,GAAE,KAAK,OAAO,CAAC;AAEhD;;;;;GAKG;AACU,QAAA,mBAAmB,GAAG,iBAAS;IAC1C,CAAC,CAAC,mBAAmB,GAAG,IAAA,cAAO,EAAC,4BAAkB,CAAC;IACnD,CAAC,CAAC,IAAA,cAAO,EAAC,4BAAkB,CAAC,CAAC;AAEhC,SAAgB,gBAAgB;IAC9B,IAAI;QACF,IAAA,eAAU,EAAC,2BAAmB,CAAC,CAAC;KACjC;IAAC,WAAM,GAAE;AACZ,CAAC;AAJD,4CAIC;AAOD,2GAA2G;AAC3G,SAAS,cAAc,CAAC,KAAmB;IACzC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,+FAA+F;AAC/F,SAAgB,eAAe,CAC7B,KAAmB,EACnB,sBAAqC;IAErC,iIAAiI;IACjI,OAAO,cAAc,cAAc,CACjC,KAAK,CACN,qBAAqB,sBAAsB,IAAI,CAAC;AACnD,CAAC;AARD,0CAQC"}
@@ -0,0 +1,6 @@
1
+ export declare const DAEMON_DIR_FOR_CURRENT_WORKSPACE: string;
2
+ export declare const DAEMON_OUTPUT_LOG_FILE: string;
3
+ export declare const DAEMON_SOCKET_PATH: string;
4
+ export declare function writeDaemonLogs(error?: string): string;
5
+ export declare function markDaemonAsDisabled(): void;
6
+ export declare function isDaemonDisabled(): boolean;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isDaemonDisabled = exports.markDaemonAsDisabled = exports.writeDaemonLogs = exports.DAEMON_SOCKET_PATH = exports.DAEMON_OUTPUT_LOG_FILE = exports.DAEMON_DIR_FOR_CURRENT_WORKSPACE = void 0;
4
+ /**
5
+ * Per workspace (to avoid subtle differences and issues), we want to have a deterministic
6
+ * location within the OS's tmp directory where we write log files for background processes
7
+ * and where we create the actual unix socket/named pipe for the daemon.
8
+ */
9
+ const fs_1 = require("fs");
10
+ const path_1 = require("path");
11
+ const cache_directory_1 = require("../../../utils/cache-directory");
12
+ exports.DAEMON_DIR_FOR_CURRENT_WORKSPACE = (0, path_1.join)(cache_directory_1.cacheDir, 'd');
13
+ exports.DAEMON_OUTPUT_LOG_FILE = (0, path_1.join)(exports.DAEMON_DIR_FOR_CURRENT_WORKSPACE, 'daemon.log');
14
+ exports.DAEMON_SOCKET_PATH = (0, path_1.join)(exports.DAEMON_DIR_FOR_CURRENT_WORKSPACE,
15
+ // As per notes above on socket/named pipe length limitations, we keep this intentionally short
16
+ 'd.sock');
17
+ function writeDaemonLogs(error) {
18
+ const file = (0, path_1.join)(exports.DAEMON_DIR_FOR_CURRENT_WORKSPACE, 'daemon-error.log');
19
+ (0, fs_1.writeFileSync)(file, error);
20
+ return file;
21
+ }
22
+ exports.writeDaemonLogs = writeDaemonLogs;
23
+ function markDaemonAsDisabled() {
24
+ (0, fs_1.writeFileSync)((0, path_1.join)(exports.DAEMON_DIR_FOR_CURRENT_WORKSPACE, 'disabled'), 'true');
25
+ }
26
+ exports.markDaemonAsDisabled = markDaemonAsDisabled;
27
+ function isDaemonDisabled() {
28
+ try {
29
+ (0, fs_1.statSync)((0, path_1.join)(exports.DAEMON_DIR_FOR_CURRENT_WORKSPACE, 'disabled'));
30
+ return true;
31
+ }
32
+ catch (e) {
33
+ return false;
34
+ }
35
+ }
36
+ exports.isDaemonDisabled = isDaemonDisabled;
37
+ //# sourceMappingURL=tmp-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tmp-dir.js","sourceRoot":"","sources":["../../../../../../../packages/nx/src/core/project-graph/daemon/tmp-dir.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,2BAA6C;AAC7C,+BAA4B;AAC5B,oEAA0D;AAE7C,QAAA,gCAAgC,GAAG,IAAA,WAAI,EAAC,0BAAQ,EAAE,GAAG,CAAC,CAAC;AAEvD,QAAA,sBAAsB,GAAG,IAAA,WAAI,EACxC,wCAAgC,EAChC,YAAY,CACb,CAAC;AAEW,QAAA,kBAAkB,GAAG,IAAA,WAAI,EACpC,wCAAgC;AAChC,+FAA+F;AAC/F,QAAQ,CACT,CAAC;AAEF,SAAgB,eAAe,CAAC,KAAc;IAC5C,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,wCAAgC,EAAE,kBAAkB,CAAC,CAAC;IACxE,IAAA,kBAAa,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC;AAJD,0CAIC;AAED,SAAgB,oBAAoB;IAClC,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,wCAAgC,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;AAC5E,CAAC;AAFD,oDAEC;AAED,SAAgB,gBAAgB;IAC9B,IAAI;QACF,IAAA,aAAQ,EAAC,IAAA,WAAI,EAAC,wCAAgC,EAAE,UAAU,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAPD,4CAOC"}
@@ -0,0 +1,20 @@
1
+ import { ProjectGraph, ProjectGraphExternalNode, ProjectGraphNode, ProjectGraphProjectNode } from 'nx/src/shared/project-graph';
2
+ /**
3
+ * Returns a new project graph where all the edges are reversed.
4
+ *
5
+ * For instance, if project A depends on B, in the reversed graph
6
+ * B will depend on A.
7
+ */
8
+ export declare function reverse(graph: ProjectGraph): ProjectGraph;
9
+ export declare function filterNodes(predicate?: (n: ProjectGraphNode) => boolean): (p: ProjectGraph) => ProjectGraph;
10
+ /**
11
+ * @deprecated will be removed in v14. All projects in ProjectGraph's `nodes` are workspace projects
12
+ */
13
+ export declare function isWorkspaceProject(project: ProjectGraphNode): project is ProjectGraphProjectNode;
14
+ export declare function isNpmProject(project: ProjectGraphNode): project is ProjectGraphExternalNode;
15
+ /**
16
+ * @deprecated will be removed in v14. All projects in ProjectGraph's `nodes` are workspace projects. Use {@link pruneExternalNodes}
17
+ */
18
+ export declare const onlyWorkspaceProjects: (p: ProjectGraph) => ProjectGraph;
19
+ export declare const pruneExternalNodes: (p: ProjectGraph) => ProjectGraph;
20
+ export declare function withDeps(original: ProjectGraph, subsetNodes: ProjectGraphProjectNode[]): ProjectGraph;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withDeps = exports.pruneExternalNodes = exports.onlyWorkspaceProjects = exports.isNpmProject = exports.isWorkspaceProject = exports.filterNodes = exports.reverse = void 0;
4
+ const reverseMemo = new Map();
5
+ /**
6
+ * Returns a new project graph where all the edges are reversed.
7
+ *
8
+ * For instance, if project A depends on B, in the reversed graph
9
+ * B will depend on A.
10
+ */
11
+ function reverse(graph) {
12
+ const resultFromMemo = reverseMemo.get(graph);
13
+ if (resultFromMemo) {
14
+ return resultFromMemo;
15
+ }
16
+ const result = {
17
+ nodes: graph.nodes,
18
+ externalNodes: graph.externalNodes,
19
+ dependencies: {},
20
+ };
21
+ Object.keys(graph.nodes).forEach((n) => (result.dependencies[n] = []));
22
+ // we need to keep external node's reverse dependencies to trace our route back
23
+ if (graph.externalNodes) {
24
+ Object.keys(graph.externalNodes).forEach((n) => (result.dependencies[n] = []));
25
+ }
26
+ Object.values(graph.dependencies).forEach((byProject) => {
27
+ byProject.forEach((dep) => {
28
+ const dependency = result.dependencies[dep.target];
29
+ if (dependency) {
30
+ dependency.push({
31
+ type: dep.type,
32
+ source: dep.target,
33
+ target: dep.source,
34
+ });
35
+ }
36
+ });
37
+ });
38
+ reverseMemo.set(graph, result);
39
+ reverseMemo.set(result, graph);
40
+ return result;
41
+ }
42
+ exports.reverse = reverse;
43
+ function filterNodes(predicate) {
44
+ return (original) => {
45
+ const graph = { nodes: {}, dependencies: {} };
46
+ const added = new Set();
47
+ Object.values(original.nodes).forEach((n) => {
48
+ if (!predicate || predicate(n)) {
49
+ graph.nodes[n.name] = n;
50
+ graph.dependencies[n.name] = [];
51
+ added.add(n.name);
52
+ }
53
+ });
54
+ Object.values(original.dependencies).forEach((ds) => {
55
+ ds.forEach((d) => {
56
+ if (added.has(d.source) && added.has(d.target)) {
57
+ graph.dependencies[d.source].push(d);
58
+ }
59
+ });
60
+ });
61
+ return graph;
62
+ };
63
+ }
64
+ exports.filterNodes = filterNodes;
65
+ /**
66
+ * @deprecated will be removed in v14. All projects in ProjectGraph's `nodes` are workspace projects
67
+ */
68
+ function isWorkspaceProject(project) {
69
+ return (project.type === 'app' || project.type === 'lib' || project.type === 'e2e');
70
+ }
71
+ exports.isWorkspaceProject = isWorkspaceProject;
72
+ function isNpmProject(project) {
73
+ return (project === null || project === void 0 ? void 0 : project.type) === 'npm';
74
+ }
75
+ exports.isNpmProject = isNpmProject;
76
+ /**
77
+ * @deprecated will be removed in v14. All projects in ProjectGraph's `nodes` are workspace projects. Use {@link pruneExternalNodes}
78
+ */
79
+ exports.onlyWorkspaceProjects = filterNodes(isWorkspaceProject);
80
+ exports.pruneExternalNodes = filterNodes();
81
+ function withDeps(original, subsetNodes) {
82
+ const res = { nodes: {}, dependencies: {} };
83
+ const visitedNodes = [];
84
+ const visitedEdges = [];
85
+ Object.values(subsetNodes).forEach(recurNodes);
86
+ Object.values(subsetNodes).forEach(recurEdges);
87
+ return res;
88
+ // ---------------------------------------------------------------------------
89
+ function recurNodes(node) {
90
+ if (visitedNodes.indexOf(node.name) > -1)
91
+ return;
92
+ res.nodes[node.name] = node;
93
+ if (!res.dependencies[node.name]) {
94
+ res.dependencies[node.name] = [];
95
+ }
96
+ visitedNodes.push(node.name);
97
+ original.dependencies[node.name].forEach((n) => {
98
+ if (original.nodes[n.target]) {
99
+ recurNodes(original.nodes[n.target]);
100
+ }
101
+ });
102
+ }
103
+ function recurEdges(node) {
104
+ if (visitedEdges.indexOf(node.name) > -1)
105
+ return;
106
+ visitedEdges.push(node.name);
107
+ const ds = original.dependencies[node.name];
108
+ ds.forEach((n) => {
109
+ if (!original.nodes[n.target]) {
110
+ return;
111
+ }
112
+ if (!res.dependencies[n.source]) {
113
+ res.dependencies[n.source] = [];
114
+ }
115
+ res.dependencies[n.source].push(n);
116
+ });
117
+ ds.forEach((n) => {
118
+ if (original.nodes[n.target]) {
119
+ recurEdges(original.nodes[n.target]);
120
+ }
121
+ });
122
+ }
123
+ }
124
+ exports.withDeps = withDeps;
125
+ //# sourceMappingURL=operators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/core/project-graph/operators.ts"],"names":[],"mappings":";;;AAOA,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAC;AAE1D;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,KAAmB;IACzC,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IAED,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,YAAY,EAAE,EAAE;KACD,CAAC;IAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvE,+EAA+E;IAC/E,IAAI,KAAK,CAAC,aAAa,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CACrC,CAAC;KACH;IACD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QACtD,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,UAAU,EAAE;gBACd,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;iBACnB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/B,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC;AAjCD,0BAiCC;AAED,SAAgB,WAAW,CACzB,SAA4C;IAE5C,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAkB,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;gBAC9B,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAChC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACnB;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAClD,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACf,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;oBAC9C,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACtC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAtBD,kCAsBC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,OAAyB;IAEzB,OAAO,CACL,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAC3E,CAAC;AACJ,CAAC;AAND,gDAMC;AAED,SAAgB,YAAY,CAC1B,OAAyB;IAEzB,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,KAAK,CAAC;AACjC,CAAC;AAJD,oCAIC;AAED;;GAEG;AACU,QAAA,qBAAqB,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;AAExD,QAAA,kBAAkB,GAAG,WAAW,EAAE,CAAC;AAEhD,SAAgB,QAAQ,CACtB,QAAsB,EACtB,WAAsC;IAEtC,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAkB,CAAC;IAC5D,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,OAAO,GAAG,CAAC;IAEX,8EAA8E;IAE9E,SAAS,UAAU,CAAC,IAAI;QACtB,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO;QACjD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAChC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SAClC;QACD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7B,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7C,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;gBAC5B,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aACtC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,UAAU,CAAC,IAAI;QACtB,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO;QACjD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;gBAC7B,OAAO;aACR;YACD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;gBAC/B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;aACjC;YACD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACf,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;gBAC5B,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aACtC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAjDD,4BAiDC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Builder for adding nodes and dependencies to a {@link ProjectGraph}
3
+ */
4
+ import { ProjectGraph, ProjectGraphExternalNode, ProjectGraphProjectNode } from 'nx/src/shared/project-graph';
5
+ export declare class ProjectGraphBuilder {
6
+ readonly graph: ProjectGraph;
7
+ readonly removedEdges: {
8
+ [source: string]: Set<string>;
9
+ };
10
+ constructor(g?: ProjectGraph);
11
+ /**
12
+ * Adds a project node to the project graph
13
+ */
14
+ addNode(node: ProjectGraphProjectNode): void;
15
+ /**
16
+ * Adds a external node to the project graph
17
+ */
18
+ addExternalNode(node: ProjectGraphExternalNode): void;
19
+ /**
20
+ * Adds a dependency from source project to target project
21
+ */
22
+ addImplicitDependency(sourceProjectName: string, targetProjectName: string): void;
23
+ /**
24
+ * Removes a dependency from source project to target project
25
+ */
26
+ removeDependency(sourceProjectName: string, targetProjectName: string): void;
27
+ /**
28
+ * Add an explicit dependency from a file in source project to target project
29
+ */
30
+ addExplicitDependency(sourceProjectName: string, sourceProjectFile: string, targetProjectName: string): void;
31
+ /**
32
+ * Set version of the project graph
33
+ */
34
+ setVersion(version: string): void;
35
+ getUpdatedProjectGraph(): ProjectGraph;
36
+ private calculateTargetDepsFromFiles;
37
+ private calculateAlreadySetTargetDeps;
38
+ }
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProjectGraphBuilder = void 0;
4
+ /**
5
+ * Builder for adding nodes and dependencies to a {@link ProjectGraph}
6
+ */
7
+ const project_graph_1 = require("nx/src/shared/project-graph");
8
+ class ProjectGraphBuilder {
9
+ constructor(g) {
10
+ this.removedEdges = {};
11
+ if (g) {
12
+ this.graph = g;
13
+ }
14
+ else {
15
+ this.graph = {
16
+ nodes: {},
17
+ externalNodes: {},
18
+ dependencies: {},
19
+ };
20
+ }
21
+ }
22
+ /**
23
+ * Adds a project node to the project graph
24
+ */
25
+ addNode(node) {
26
+ // Check if project with the same name already exists
27
+ if (this.graph.nodes[node.name]) {
28
+ // Throw if existing project is of a different type
29
+ if (this.graph.nodes[node.name].type !== node.type) {
30
+ throw new Error(`Multiple projects are named "${node.name}". One is of type "${node.type}" and the other is of type "${this.graph.nodes[node.name].type}". Please resolve the conflicting project names.`);
31
+ }
32
+ }
33
+ this.graph.nodes[node.name] = node;
34
+ this.graph.dependencies[node.name] = [];
35
+ }
36
+ /**
37
+ * Adds a external node to the project graph
38
+ */
39
+ addExternalNode(node) {
40
+ this.graph.externalNodes[node.name] = node;
41
+ }
42
+ /**
43
+ * Adds a dependency from source project to target project
44
+ */
45
+ addImplicitDependency(sourceProjectName, targetProjectName) {
46
+ if (sourceProjectName === targetProjectName) {
47
+ return;
48
+ }
49
+ if (!this.graph.nodes[sourceProjectName]) {
50
+ throw new Error(`Source project does not exist: ${sourceProjectName}`);
51
+ }
52
+ if (!this.graph.nodes[targetProjectName] &&
53
+ !this.graph.externalNodes[targetProjectName]) {
54
+ throw new Error(`Target project does not exist: ${targetProjectName}`);
55
+ }
56
+ this.graph.dependencies[sourceProjectName].push({
57
+ source: sourceProjectName,
58
+ target: targetProjectName,
59
+ type: project_graph_1.DependencyType.implicit,
60
+ });
61
+ }
62
+ /**
63
+ * Removes a dependency from source project to target project
64
+ */
65
+ removeDependency(sourceProjectName, targetProjectName) {
66
+ if (sourceProjectName === targetProjectName) {
67
+ return;
68
+ }
69
+ if (!this.graph.nodes[sourceProjectName]) {
70
+ throw new Error(`Source project does not exist: ${sourceProjectName}`);
71
+ }
72
+ if (!this.graph.nodes[targetProjectName] &&
73
+ !this.graph.externalNodes[targetProjectName]) {
74
+ throw new Error(`Target project does not exist: ${targetProjectName}`);
75
+ }
76
+ // this.graph.dependencies[sourceProjectName] = this.graph.dependencies[
77
+ // sourceProjectName
78
+ // ].filter((d) => d.target !== targetProjectName);
79
+ if (!this.removedEdges[sourceProjectName]) {
80
+ this.removedEdges[sourceProjectName] = new Set();
81
+ }
82
+ this.removedEdges[sourceProjectName].add(targetProjectName);
83
+ }
84
+ /**
85
+ * Add an explicit dependency from a file in source project to target project
86
+ */
87
+ addExplicitDependency(sourceProjectName, sourceProjectFile, targetProjectName) {
88
+ if (sourceProjectName === targetProjectName) {
89
+ return;
90
+ }
91
+ const source = this.graph.nodes[sourceProjectName];
92
+ if (!source) {
93
+ throw new Error(`Source project does not exist: ${sourceProjectName}`);
94
+ }
95
+ if (!this.graph.nodes[targetProjectName] &&
96
+ !this.graph.externalNodes[targetProjectName]) {
97
+ throw new Error(`Target project does not exist: ${targetProjectName}`);
98
+ }
99
+ const fileData = source.data.files.find((f) => f.file === sourceProjectFile);
100
+ if (!fileData) {
101
+ throw new Error(`Source project ${sourceProjectName} does not have a file: ${sourceProjectFile}`);
102
+ }
103
+ if (!fileData.deps) {
104
+ fileData.deps = [];
105
+ }
106
+ if (!fileData.deps.find((t) => t === targetProjectName)) {
107
+ fileData.deps.push(targetProjectName);
108
+ }
109
+ }
110
+ /**
111
+ * Set version of the project graph
112
+ */
113
+ setVersion(version) {
114
+ this.graph.version = version;
115
+ }
116
+ getUpdatedProjectGraph() {
117
+ for (const sourceProject of Object.keys(this.graph.nodes)) {
118
+ const alreadySetTargetProjects = this.calculateAlreadySetTargetDeps(sourceProject);
119
+ this.graph.dependencies[sourceProject] = [
120
+ ...alreadySetTargetProjects.values(),
121
+ ];
122
+ const fileDeps = this.calculateTargetDepsFromFiles(sourceProject);
123
+ for (const targetProject of fileDeps) {
124
+ if (!alreadySetTargetProjects.has(targetProject)) {
125
+ if (!this.removedEdges[sourceProject] ||
126
+ !this.removedEdges[sourceProject].has(targetProject)) {
127
+ this.graph.dependencies[sourceProject].push({
128
+ source: sourceProject,
129
+ target: targetProject,
130
+ type: project_graph_1.DependencyType.static,
131
+ });
132
+ }
133
+ }
134
+ }
135
+ }
136
+ return this.graph;
137
+ }
138
+ calculateTargetDepsFromFiles(sourceProject) {
139
+ const fileDeps = new Set();
140
+ const files = this.graph.nodes[sourceProject].data.files;
141
+ if (!files)
142
+ return fileDeps;
143
+ for (let f of files) {
144
+ if (f.deps) {
145
+ for (let p of f.deps) {
146
+ fileDeps.add(p);
147
+ }
148
+ }
149
+ }
150
+ return fileDeps;
151
+ }
152
+ calculateAlreadySetTargetDeps(sourceProject) {
153
+ const alreadySetTargetProjects = new Map();
154
+ const removed = this.removedEdges[sourceProject];
155
+ for (const d of this.graph.dependencies[sourceProject]) {
156
+ if (!removed || !removed.has(d.target)) {
157
+ alreadySetTargetProjects.set(d.target, d);
158
+ }
159
+ }
160
+ return alreadySetTargetProjects;
161
+ }
162
+ }
163
+ exports.ProjectGraphBuilder = ProjectGraphBuilder;
164
+ //# sourceMappingURL=project-graph-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-graph-builder.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/core/project-graph/project-graph-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};