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,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readEnvironment = exports.workspaceLayout = exports.readNxJson = exports.readPackageJson = exports.defaultFileRead = exports.workspaceFileName = exports.readWorkspaceConfig = exports.readWorkspaceJson = exports.TEN_MEGABYTES = exports.calculateFileChanges = exports.readFileIfExisting = exports.isWholeFileChange = exports.WholeFileChange = void 0;
4
+ const workspace_1 = require("nx/src/shared/workspace");
5
+ const child_process_1 = require("child_process");
6
+ const fs_1 = require("fs");
7
+ const path_1 = require("path");
8
+ const app_root_1 = require("nx/src/utils/app-root");
9
+ const fileutils_1 = require("../utils/fileutils");
10
+ const json_diff_1 = require("../utils/json-diff");
11
+ const ignore_1 = require("ignore");
12
+ const fileutils_2 = require("nx/src/utils/fileutils");
13
+ class WholeFileChange {
14
+ constructor() {
15
+ this.type = 'WholeFileChange';
16
+ }
17
+ }
18
+ exports.WholeFileChange = WholeFileChange;
19
+ function isWholeFileChange(change) {
20
+ return change.type === 'WholeFileChange';
21
+ }
22
+ exports.isWholeFileChange = isWholeFileChange;
23
+ function readFileIfExisting(path) {
24
+ return (0, fs_1.existsSync)(path) ? (0, fs_1.readFileSync)(path, 'utf-8') : '';
25
+ }
26
+ exports.readFileIfExisting = readFileIfExisting;
27
+ function getIgnoredGlobs() {
28
+ const ig = (0, ignore_1.default)();
29
+ ig.add(readFileIfExisting(`${app_root_1.appRootPath}/.gitignore`));
30
+ ig.add(readFileIfExisting(`${app_root_1.appRootPath}/.nxignore`));
31
+ return ig;
32
+ }
33
+ function calculateFileChanges(files, allWorkspaceFiles, nxArgs, readFileAtRevision = defaultReadFileAtRevision, ignore = getIgnoredGlobs()) {
34
+ files = files.filter((f) => !ignore.ignores(f));
35
+ return files.map((f) => {
36
+ const ext = (0, path_1.extname)(f);
37
+ const file = allWorkspaceFiles.find((fileData) => fileData.file == f);
38
+ const hash = file === null || file === void 0 ? void 0 : file.hash;
39
+ return {
40
+ file: f,
41
+ ext,
42
+ hash,
43
+ getChanges: () => {
44
+ if (!nxArgs) {
45
+ return [new WholeFileChange()];
46
+ }
47
+ if (nxArgs.files && nxArgs.files.includes(f)) {
48
+ return [new WholeFileChange()];
49
+ }
50
+ switch (ext) {
51
+ case '.json':
52
+ const atBase = readFileAtRevision(f, nxArgs.base);
53
+ const atHead = readFileAtRevision(f, nxArgs.head);
54
+ try {
55
+ return (0, json_diff_1.jsonDiff)(JSON.parse(atBase), JSON.parse(atHead));
56
+ }
57
+ catch (e) {
58
+ return [new WholeFileChange()];
59
+ }
60
+ default:
61
+ return [new WholeFileChange()];
62
+ }
63
+ },
64
+ };
65
+ });
66
+ }
67
+ exports.calculateFileChanges = calculateFileChanges;
68
+ exports.TEN_MEGABYTES = 1024 * 10000;
69
+ function defaultReadFileAtRevision(file, revision) {
70
+ try {
71
+ const fileFullPath = `${app_root_1.appRootPath}${path_1.sep}${file}`;
72
+ const gitRepositoryPath = (0, child_process_1.execSync)('git rev-parse --show-toplevel')
73
+ .toString()
74
+ .trim();
75
+ const filePathInGitRepository = (0, path_1.relative)(gitRepositoryPath, fileFullPath)
76
+ .split(path_1.sep)
77
+ .join('/');
78
+ return !revision
79
+ ? (0, fs_1.readFileSync)(file, 'utf-8')
80
+ : (0, child_process_1.execSync)(`git show ${revision}:${filePathInGitRepository}`, {
81
+ maxBuffer: exports.TEN_MEGABYTES,
82
+ })
83
+ .toString()
84
+ .trim();
85
+ }
86
+ catch (_a) {
87
+ return '';
88
+ }
89
+ }
90
+ function readWorkspaceJson() {
91
+ return readWorkspaceConfig({
92
+ format: 'nx',
93
+ path: app_root_1.appRootPath,
94
+ });
95
+ }
96
+ exports.readWorkspaceJson = readWorkspaceJson;
97
+ function readWorkspaceConfig(opts) {
98
+ const ws = new workspace_1.Workspaces(opts.path || process.cwd());
99
+ const json = ws.readWorkspaceConfiguration();
100
+ if (opts.format === 'angularCli') {
101
+ const formatted = (0, workspace_1.toOldFormatOrNull)(json);
102
+ return formatted !== null && formatted !== void 0 ? formatted : json;
103
+ }
104
+ else {
105
+ return json;
106
+ }
107
+ }
108
+ exports.readWorkspaceConfig = readWorkspaceConfig;
109
+ function workspaceFileName() {
110
+ if ((0, fileutils_1.fileExists)(`${app_root_1.appRootPath}/angular.json`)) {
111
+ return 'angular.json';
112
+ }
113
+ else {
114
+ return 'workspace.json';
115
+ }
116
+ }
117
+ exports.workspaceFileName = workspaceFileName;
118
+ function defaultFileRead(filePath) {
119
+ return (0, fs_1.readFileSync)((0, path_1.join)(app_root_1.appRootPath, filePath), 'utf-8');
120
+ }
121
+ exports.defaultFileRead = defaultFileRead;
122
+ function readPackageJson() {
123
+ return (0, fileutils_2.readJsonFile)(`${app_root_1.appRootPath}/package.json`);
124
+ }
125
+ exports.readPackageJson = readPackageJson;
126
+ /**
127
+ * Returns the contents of nx.json.
128
+ *
129
+ * If nx.json extends another config file, it will be inlined here.
130
+ */
131
+ function readNxJson(path = `${app_root_1.appRootPath}/nx.json`) {
132
+ let config = (0, fileutils_2.readJsonFile)(path);
133
+ if (!config.npmScope) {
134
+ throw new Error(`nx.json must define the npmScope property.`);
135
+ }
136
+ if (config.extends) {
137
+ config = Object.assign(Object.assign({}, resolveNxJsonExtends(config.extends)), config);
138
+ }
139
+ return config;
140
+ }
141
+ exports.readNxJson = readNxJson;
142
+ function resolveNxJsonExtends(extendedNxJsonPath) {
143
+ try {
144
+ return (0, fileutils_2.readJsonFile)(require.resolve(extendedNxJsonPath));
145
+ }
146
+ catch (e) {
147
+ throw new Error(`Unable to resolve nx.json extends. Error: ${e.message}`);
148
+ }
149
+ }
150
+ /**
151
+ * Returns information about where apps and libs will be created.
152
+ */
153
+ function workspaceLayout() {
154
+ var _a, _b, _c, _d;
155
+ const nxJson = readNxJson();
156
+ return {
157
+ appsDir: (_b = (_a = nxJson.workspaceLayout) === null || _a === void 0 ? void 0 : _a.appsDir) !== null && _b !== void 0 ? _b : 'apps',
158
+ libsDir: (_d = (_c = nxJson.workspaceLayout) === null || _c === void 0 ? void 0 : _c.libsDir) !== null && _d !== void 0 ? _d : 'libs',
159
+ };
160
+ }
161
+ exports.workspaceLayout = workspaceLayout;
162
+ function readEnvironment() {
163
+ const nxJson = readNxJson();
164
+ const workspaceJson = readWorkspaceJson();
165
+ return { nxJson, workspaceJson, workspaceResults: null };
166
+ }
167
+ exports.readEnvironment = readEnvironment;
168
+ //# sourceMappingURL=file-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../../../../packages/nx/src/core/file-utils.ts"],"names":[],"mappings":";;;AAAA,uDAIiC;AACjC,iDAAyC;AACzC,2BAA8C;AAC9C,+BAAoD;AAEpD,oDAAoD;AACpD,kDAAgD;AAChD,kDAA8C;AAE9C,mCAA4B;AAE5B,sDAAsD;AAWtD,MAAa,eAAe;IAA5B;QACE,SAAI,GAAG,iBAAiB,CAAC;IAC3B,CAAC;CAAA;AAFD,0CAEC;AAED,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,MAAM,CAAC,IAAI,KAAK,iBAAiB,CAAC;AAC3C,CAAC;AAFD,8CAEC;AAED,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC;AAFD,gDAEC;AAED,SAAS,eAAe;IACtB,MAAM,EAAE,GAAG,IAAA,gBAAM,GAAE,CAAC;IACpB,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,sBAAW,aAAa,CAAC,CAAC,CAAC;IACxD,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,sBAAW,YAAY,CAAC,CAAC,CAAC;IACvD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,oBAAoB,CAClC,KAAe,EACf,iBAA6B,EAC7B,MAAe,EACf,qBAGc,yBAAyB,EACvC,MAAM,GAAG,eAAe,EAAE;IAE1B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,IAAA,cAAO,EAAC,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC;QAExB,OAAO;YACL,IAAI,EAAE,CAAC;YACP,GAAG;YACH,IAAI;YACJ,UAAU,EAAE,GAAa,EAAE;gBACzB,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;iBAChC;gBAED,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBAC5C,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;iBAChC;gBACD,QAAQ,GAAG,EAAE;oBACX,KAAK,OAAO;wBACV,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;wBAClD,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;wBAElD,IAAI;4BACF,OAAO,IAAA,oBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;yBACzD;wBAAC,OAAO,CAAC,EAAE;4BACV,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;yBAChC;oBACH;wBACE,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;iBAClC;YACH,CAAC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AA7CD,oDA6CC;AAEY,QAAA,aAAa,GAAG,IAAI,GAAG,KAAK,CAAC;AAE1C,SAAS,yBAAyB,CAChC,IAAY,EACZ,QAAuB;IAEvB,IAAI;QACF,MAAM,YAAY,GAAG,GAAG,sBAAW,GAAG,UAAG,GAAG,IAAI,EAAE,CAAC;QACnD,MAAM,iBAAiB,GAAG,IAAA,wBAAQ,EAAC,+BAA+B,CAAC;aAChE,QAAQ,EAAE;aACV,IAAI,EAAE,CAAC;QACV,MAAM,uBAAuB,GAAG,IAAA,eAAQ,EAAC,iBAAiB,EAAE,YAAY,CAAC;aACtE,KAAK,CAAC,UAAG,CAAC;aACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,CAAC,QAAQ;YACd,CAAC,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC;YAC7B,CAAC,CAAC,IAAA,wBAAQ,EAAC,YAAY,QAAQ,IAAI,uBAAuB,EAAE,EAAE;gBAC1D,SAAS,EAAE,qBAAa;aACzB,CAAC;iBACC,QAAQ,EAAE;iBACV,IAAI,EAAE,CAAC;KACf;IAAC,WAAM;QACN,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAED,SAAgB,iBAAiB;IAC/B,OAAO,mBAAmB,CAAC;QACzB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,sBAAW;KAClB,CAAC,CAAC;AACL,CAAC;AALD,8CAKC;AAED,SAAgB,mBAAmB,CAAC,IAGnC;IACC,MAAM,EAAE,GAAG,IAAI,sBAAU,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,EAAE,CAAC,0BAA0B,EAAE,CAAC;IAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE;QAChC,MAAM,SAAS,GAAG,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,CAAC;KAC1B;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAZD,kDAYC;AAED,SAAgB,iBAAiB;IAC/B,IAAI,IAAA,sBAAU,EAAC,GAAG,sBAAW,eAAe,CAAC,EAAE;QAC7C,OAAO,cAAc,CAAC;KACvB;SAAM;QACL,OAAO,gBAAgB,CAAC;KACzB;AACH,CAAC;AAND,8CAMC;AAED,SAAgB,eAAe,CAAC,QAAgB;IAC9C,OAAO,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,sBAAW,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAFD,0CAEC;AAED,SAAgB,eAAe;IAC7B,OAAO,IAAA,wBAAY,EAAC,GAAG,sBAAW,eAAe,CAAC,CAAC;AACrD,CAAC;AAFD,0CAEC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CACxB,OAAe,GAAG,sBAAW,UAAU;IAEvC,IAAI,MAAM,GAAG,IAAA,wBAAY,EAAsB,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IAED,IAAI,MAAM,CAAC,OAAO,EAAE;QAClB,MAAM,mCACD,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,GACpC,MAAM,CACV,CAAC;KACH;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhBD,gCAgBC;AAED,SAAS,oBAAoB,CAAC,kBAA0B;IACtD,IAAI;QACF,OAAO,IAAA,wBAAY,EAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;KAC1D;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KAC3E;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe;;IAC7B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO;QACL,OAAO,EAAE,MAAA,MAAA,MAAM,CAAC,eAAe,0CAAE,OAAO,mCAAI,MAAM;QAClD,OAAO,EAAE,MAAA,MAAA,MAAM,CAAC,eAAe,0CAAE,OAAO,mCAAI,MAAM;KACnD,CAAC;AACJ,CAAC;AAND,0CAMC;AAED,SAAgB,eAAe;IAC7B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,EAAS,CAAC;AAClE,CAAC;AAJD,0CAIC"}
@@ -0,0 +1,12 @@
1
+ import { FileData } from 'nx/src/shared/project-graph';
2
+ export declare abstract class FileHasherBase {
3
+ protected fileHashes: Map<string, string>;
4
+ protected isInitialized: boolean;
5
+ clear(): void;
6
+ abstract init(): Promise<void>;
7
+ abstract hashFiles(files: string[]): Promise<Map<string, string>>;
8
+ ensureInitialized(): Promise<void>;
9
+ allFileData(): FileData[];
10
+ incrementalUpdate(updatedFiles: Map<string, string>, deletedFiles?: string[]): void;
11
+ hashFile(path: string): string;
12
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileHasherBase = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const app_root_1 = require("nx/src/utils/app-root");
6
+ const perf_hooks_1 = require("perf_hooks");
7
+ const hashing_impl_1 = require("./hashing-impl");
8
+ const path_1 = require("nx/src/utils/path");
9
+ class FileHasherBase {
10
+ constructor() {
11
+ this.isInitialized = false;
12
+ }
13
+ clear() {
14
+ this.fileHashes = new Map();
15
+ this.isInitialized = false;
16
+ }
17
+ ensureInitialized() {
18
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
19
+ if (!this.isInitialized) {
20
+ yield this.init();
21
+ }
22
+ });
23
+ }
24
+ allFileData() {
25
+ const res = [];
26
+ this.fileHashes.forEach((hash, file) => {
27
+ res.push({
28
+ file,
29
+ hash,
30
+ });
31
+ });
32
+ res.sort((x, y) => x.file.localeCompare(y.file));
33
+ return res;
34
+ }
35
+ incrementalUpdate(updatedFiles, deletedFiles = []) {
36
+ perf_hooks_1.performance.mark('incremental hashing:start');
37
+ updatedFiles.forEach((hash, filename) => {
38
+ this.fileHashes.set(filename, hash);
39
+ });
40
+ for (const deletedFile of deletedFiles) {
41
+ this.fileHashes.delete(deletedFile);
42
+ }
43
+ perf_hooks_1.performance.mark('incremental hashing:end');
44
+ perf_hooks_1.performance.measure('incremental hashing', 'incremental hashing:start', 'incremental hashing:end');
45
+ }
46
+ hashFile(path) {
47
+ if (!this.fileHashes) {
48
+ throw new Error('FileHasher is invoked before being initialized');
49
+ }
50
+ const relativePath = path.startsWith(app_root_1.appRootPath)
51
+ ? path.substr(app_root_1.appRootPath.length + 1)
52
+ : path;
53
+ if (this.fileHashes.has(relativePath)) {
54
+ return this.fileHashes.get(relativePath);
55
+ }
56
+ else {
57
+ try {
58
+ // this has to be absolute to avoid issues with cwd
59
+ return hashing_impl_1.defaultHashing.hashFile((0, path_1.joinPathFragments)(app_root_1.appRootPath, relativePath));
60
+ }
61
+ catch (_a) {
62
+ return '';
63
+ }
64
+ }
65
+ }
66
+ }
67
+ exports.FileHasherBase = FileHasherBase;
68
+ //# sourceMappingURL=file-hasher-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-hasher-base.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/core/hasher/file-hasher-base.ts"],"names":[],"mappings":";;;;AAAA,oDAAoD;AACpD,2CAAyC;AACzC,iDAAgD;AAEhD,4CAAsD;AAEtD,MAAsB,cAAc;IAApC;QAEY,kBAAa,GAAG,KAAK,CAAC;IAuElC,CAAC;IArEC,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAMK,iBAAiB;;YACrB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;aACnB;QACH,CAAC;KAAA;IAED,WAAW;QACT,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACrC,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI;gBACJ,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iBAAiB,CACf,YAAiC,EACjC,eAAyB,EAAE;QAE3B,wBAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAE9C,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SACrC;QAED,wBAAW,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC5C,wBAAW,CAAC,OAAO,CACjB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAW,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAC1C;aAAM;YACL,IAAI;gBACF,mDAAmD;gBACnD,OAAO,6BAAc,CAAC,QAAQ,CAC5B,IAAA,wBAAiB,EAAC,sBAAW,EAAE,YAAY,CAAC,CAC7C,CAAC;aACH;YAAC,WAAM;gBACN,OAAO,EAAE,CAAC;aACX;SACF;IACH,CAAC;CACF;AAzED,wCAyEC"}
@@ -0,0 +1,2 @@
1
+ import { FileHasherBase } from './file-hasher-base';
2
+ export declare const defaultFileHasher: FileHasherBase;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultFileHasher = void 0;
4
+ const git_based_file_hasher_1 = require("./git-based-file-hasher");
5
+ const app_root_1 = require("nx/src/utils/app-root");
6
+ const node_based_file_hasher_1 = require("./node-based-file-hasher");
7
+ const child_process_1 = require("child_process");
8
+ function createFileHasher() {
9
+ // special case for unit tests
10
+ if (app_root_1.appRootPath === '/root') {
11
+ return new node_based_file_hasher_1.NodeBasedFileHasher();
12
+ }
13
+ try {
14
+ (0, child_process_1.execSync)('git rev-parse --is-inside-work-tree', { stdio: 'ignore' });
15
+ return new git_based_file_hasher_1.GitBasedFileHasher();
16
+ }
17
+ catch (_a) {
18
+ return new node_based_file_hasher_1.NodeBasedFileHasher();
19
+ }
20
+ }
21
+ exports.defaultFileHasher = createFileHasher();
22
+ //# sourceMappingURL=file-hasher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-hasher.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/core/hasher/file-hasher.ts"],"names":[],"mappings":";;;AAAA,mEAA6D;AAC7D,oDAAoD;AACpD,qEAA+D;AAE/D,iDAAyC;AAEzC,SAAS,gBAAgB;IACvB,8BAA8B;IAC9B,IAAI,sBAAW,KAAK,OAAO,EAAE;QAC3B,OAAO,IAAI,4CAAmB,EAAE,CAAC;KAClC;IACD,IAAI;QACF,IAAA,wBAAQ,EAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,0CAAkB,EAAE,CAAC;KACjC;IAAC,WAAM;QACN,OAAO,IAAI,4CAAmB,EAAE,CAAC;KAClC;AACH,CAAC;AAEY,QAAA,iBAAiB,GAAG,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { FileHasherBase } from './file-hasher-base';
2
+ export declare class GitBasedFileHasher extends FileHasherBase {
3
+ /**
4
+ * For the project graph daemon server use-case we can potentially skip expensive work
5
+ * by leveraging knowledge of the uncommitted and untracked files, so the init() method
6
+ * returns a Map containing this data.
7
+ */
8
+ init(): Promise<void>;
9
+ hashFiles(files: string[]): Promise<Map<string, string>>;
10
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GitBasedFileHasher = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const app_root_1 = require("nx/src/utils/app-root");
6
+ const perf_hooks_1 = require("perf_hooks");
7
+ const git_hasher_1 = require("./git-hasher");
8
+ const fs_1 = require("fs");
9
+ const file_hasher_base_1 = require("./file-hasher-base");
10
+ const ignore_1 = require("ignore");
11
+ class GitBasedFileHasher extends file_hasher_base_1.FileHasherBase {
12
+ /**
13
+ * For the project graph daemon server use-case we can potentially skip expensive work
14
+ * by leveraging knowledge of the uncommitted and untracked files, so the init() method
15
+ * returns a Map containing this data.
16
+ */
17
+ init() {
18
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
19
+ perf_hooks_1.performance.mark('init hashing:start');
20
+ this.clear();
21
+ const gitResult = yield (0, git_hasher_1.getFileHashes)(app_root_1.appRootPath);
22
+ const ignore = getIgnoredGlobs();
23
+ gitResult.allFiles.forEach((hash, filename) => {
24
+ if (!ignore.ignores(filename)) {
25
+ this.fileHashes.set(filename, hash);
26
+ }
27
+ });
28
+ this.isInitialized = true;
29
+ perf_hooks_1.performance.mark('init hashing:end');
30
+ perf_hooks_1.performance.measure('init hashing', 'init hashing:start', 'init hashing:end');
31
+ });
32
+ }
33
+ hashFiles(files) {
34
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
35
+ return (yield (0, git_hasher_1.getGitHashForFiles)(files, app_root_1.appRootPath)).hashes;
36
+ });
37
+ }
38
+ }
39
+ exports.GitBasedFileHasher = GitBasedFileHasher;
40
+ function getIgnoredGlobs() {
41
+ if ((0, fs_1.existsSync)(`${app_root_1.appRootPath}/.nxignore`)) {
42
+ const ig = (0, ignore_1.default)();
43
+ ig.add((0, fs_1.readFileSync)(`${app_root_1.appRootPath}/.nxignore`, 'utf-8'));
44
+ return ig;
45
+ }
46
+ else {
47
+ return { ignores: (file) => false };
48
+ }
49
+ }
50
+ //# sourceMappingURL=git-based-file-hasher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-based-file-hasher.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/core/hasher/git-based-file-hasher.ts"],"names":[],"mappings":";;;;AAAA,oDAAoD;AACpD,2CAAyC;AACzC,6CAAiE;AACjE,2BAA8C;AAC9C,yDAAoD;AACpD,mCAA4B;AAE5B,MAAa,kBAAmB,SAAQ,iCAAc;IACpD;;;;OAIG;IACG,IAAI;;YACR,wBAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,MAAM,SAAS,GAAG,MAAM,IAAA,0BAAa,EAAC,sBAAW,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;YACjC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;iBACrC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,wBAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrC,wBAAW,CAAC,OAAO,CACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,CACnB,CAAC;QACJ,CAAC;KAAA;IAEK,SAAS,CAAC,KAAe;;YAC7B,OAAO,CAAC,MAAM,IAAA,+BAAkB,EAAC,KAAK,EAAE,sBAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/D,CAAC;KAAA;CACF;AA7BD,gDA6BC;AAED,SAAS,eAAe;IACtB,IAAI,IAAA,eAAU,EAAC,GAAG,sBAAW,YAAY,CAAC,EAAE;QAC1C,MAAM,EAAE,GAAG,IAAA,gBAAM,GAAE,CAAC;QACpB,EAAE,CAAC,GAAG,CAAC,IAAA,iBAAY,EAAC,GAAG,sBAAW,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,CAAC;KACX;SAAM;QACL,OAAO,EAAE,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;KAC7C;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function getGitHashForFiles(potentialFilesToHash: string[], path: string): Promise<{
2
+ hashes: Map<string, string>;
3
+ deleted: string[];
4
+ }>;
5
+ export declare function getFileHashes(path: string): Promise<{
6
+ allFiles: Map<string, string>;
7
+ }>;
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFileHashes = exports.getGitHashForFiles = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const child_process_1 = require("child_process");
6
+ const fileutils_1 = require("../../utils/fileutils");
7
+ const path_1 = require("../../utils/path");
8
+ function getGitHashForFiles(potentialFilesToHash, path) {
9
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
10
+ const { filesToHash, deleted } = getActualFilesToHash(potentialFilesToHash, path);
11
+ const res = new Map();
12
+ const promises = [];
13
+ if (filesToHash.length) {
14
+ // On windows the max length is limited by the length of
15
+ // the overall comand, rather than the number of individual
16
+ // arguments. Since file paths are large and rather variable,
17
+ // we use a smaller batchSize.
18
+ const batchSize = process.platform === 'win32' ? 500 : 4000;
19
+ for (let startIndex = 0; startIndex < filesToHash.length; startIndex += batchSize) {
20
+ promises.push(getGitHashForBatch(filesToHash.slice(startIndex, startIndex + batchSize), path));
21
+ }
22
+ }
23
+ // Merge batch results into final result set
24
+ const batchResults = yield Promise.all(promises);
25
+ for (const batch of batchResults) {
26
+ batch.forEach((v, k) => res.set(k, v));
27
+ }
28
+ return { hashes: res, deleted };
29
+ });
30
+ }
31
+ exports.getGitHashForFiles = getGitHashForFiles;
32
+ function getGitHashForBatch(filesToHash, path) {
33
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
34
+ const res = new Map();
35
+ const hashStdout = yield spawnProcess('git', ['hash-object', ...filesToHash], path);
36
+ const hashes = hashStdout.split('\n').filter((s) => !!s);
37
+ if (hashes.length !== filesToHash.length) {
38
+ throw new Error(`Passed ${filesToHash.length} file paths to Git to hash, but received ${hashes.length} hashes.`);
39
+ }
40
+ for (let i = 0; i < hashes.length; i++) {
41
+ const hash = hashes[i];
42
+ const filePath = filesToHash[i];
43
+ res.set(filePath, hash);
44
+ }
45
+ return res;
46
+ });
47
+ }
48
+ function getActualFilesToHash(potentialFilesToHash, path) {
49
+ const filesToHash = [];
50
+ const deleted = [];
51
+ for (let file of potentialFilesToHash) {
52
+ if ((0, fileutils_1.fileExists)((0, path_1.joinPathFragments)(path, file))) {
53
+ filesToHash.push(file);
54
+ }
55
+ else {
56
+ deleted.push(file);
57
+ }
58
+ }
59
+ return { filesToHash, deleted };
60
+ }
61
+ function spawnProcess(command, args, cwd) {
62
+ var e_1, _a;
63
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
64
+ const cp = (0, child_process_1.spawn)(command, args, {
65
+ windowsHide: true,
66
+ shell: false,
67
+ cwd,
68
+ });
69
+ let stdout = '';
70
+ try {
71
+ for (var _b = (0, tslib_1.__asyncValues)(cp.stdout), _c; _c = yield _b.next(), !_c.done;) {
72
+ const data = _c.value;
73
+ stdout += data;
74
+ }
75
+ }
76
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
77
+ finally {
78
+ try {
79
+ if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b);
80
+ }
81
+ finally { if (e_1) throw e_1.error; }
82
+ }
83
+ return stdout;
84
+ });
85
+ }
86
+ function getStagedFiles(path) {
87
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
88
+ const staged = yield spawnProcess('git', ['ls-files', '-s', '-z', '--exclude-standard', '.'], path);
89
+ const res = new Map();
90
+ for (let line of staged.split('\0')) {
91
+ if (!line)
92
+ continue;
93
+ const [_, hash, __, ...fileParts] = line.split(/\s/);
94
+ const fileName = fileParts.join(' ');
95
+ res.set(fileName, hash);
96
+ }
97
+ return res;
98
+ });
99
+ }
100
+ function getUnstagedFiles(path) {
101
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
102
+ const unstaged = yield spawnProcess('git', ['ls-files', '-m', '-z', '--exclude-standard', '.'], path);
103
+ const lines = unstaged.split('\0').filter((f) => !!f);
104
+ return getGitHashForFiles(lines, path);
105
+ });
106
+ }
107
+ function getUntrackedFiles(path) {
108
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
109
+ const untracked = yield spawnProcess('git', ['ls-files', '--other', '-z', '--exclude-standard', '.'], path);
110
+ const lines = untracked.split('\0').filter((f) => !!f);
111
+ return getGitHashForFiles(lines, path);
112
+ });
113
+ }
114
+ function getFileHashes(path) {
115
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
116
+ const [staged, unstaged, untracked] = yield Promise.all([
117
+ getStagedFiles(path),
118
+ getUnstagedFiles(path),
119
+ getUntrackedFiles(path),
120
+ ]);
121
+ unstaged.hashes.forEach((hash, filename) => {
122
+ staged.set(filename, hash);
123
+ });
124
+ unstaged.deleted.forEach((filename) => {
125
+ staged.delete(filename);
126
+ });
127
+ untracked.hashes.forEach((hash, filename) => {
128
+ staged.set(filename, hash);
129
+ });
130
+ return { allFiles: staged };
131
+ });
132
+ }
133
+ exports.getFileHashes = getFileHashes;
134
+ //# sourceMappingURL=git-hasher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-hasher.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/core/hasher/git-hasher.ts"],"names":[],"mappings":";;;;AAAA,iDAAsC;AACtC,qDAAmD;AACnD,2CAAqD;AAErD,SAAsB,kBAAkB,CACtC,oBAA8B,EAC9B,IAAY;;QAEZ,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,oBAAoB,CACnD,oBAAoB,EACpB,IAAI,CACL,CAAC;QAEF,MAAM,GAAG,GAAwB,IAAI,GAAG,EAAkB,CAAC;QAC3D,MAAM,QAAQ,GAAmC,EAAE,CAAC;QACpD,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,wDAAwD;YACxD,2DAA2D;YAC3D,6DAA6D;YAC7D,8BAA8B;YAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5D,KACE,IAAI,UAAU,GAAG,CAAC,EAClB,UAAU,GAAG,WAAW,CAAC,MAAM,EAC/B,UAAU,IAAI,SAAS,EACvB;gBACA,QAAQ,CAAC,IAAI,CACX,kBAAkB,CAChB,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC,EACrD,IAAI,CACL,CACF,CAAC;aACH;SACF;QACD,4CAA4C;QAC5C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;YAChC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACxC;QACD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAClC,CAAC;CAAA;AApCD,gDAoCC;AAED,SAAe,kBAAkB,CAAC,WAAqB,EAAE,IAAI;;QAC3D,MAAM,GAAG,GAAwB,IAAI,GAAG,EAAkB,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,YAAY,CACnC,KAAK,EACL,CAAC,aAAa,EAAE,GAAG,WAAW,CAAC,EAC/B,IAAI,CACL,CAAC;QACF,MAAM,MAAM,GAAa,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;YACxC,MAAM,IAAI,KAAK,CACb,UAAU,WAAW,CAAC,MAAM,4CAA4C,MAAM,CAAC,MAAM,UAAU,CAChG,CAAC;SACH;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,IAAI,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAW,WAAW,CAAC,CAAC,CAAC,CAAC;YACxC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CAAA;AAED,SAAS,oBAAoB,CAC3B,oBAA8B,EAC9B,IAAY;IAEZ,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,IAAI,IAAI,IAAI,oBAAoB,EAAE;QACrC,IAAI,IAAA,sBAAU,EAAC,IAAA,wBAAiB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE;YAC7C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxB;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpB;KACF;IACD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;AAClC,CAAC;AAED,SAAe,YAAY,CAAC,OAAe,EAAE,IAAc,EAAE,GAAW;;;QACtE,MAAM,EAAE,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,EAAE;YAC9B,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,KAAK;YACZ,GAAG;SACJ,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,EAAE,CAAC;;YAChB,KAAyB,IAAA,KAAA,2BAAA,EAAE,CAAC,MAAM,CAAA,IAAA;gBAAvB,MAAM,IAAI,WAAA,CAAA;gBACnB,MAAM,IAAI,IAAI,CAAC;aAChB;;;;;;;;;QACD,OAAO,MAAM,CAAC;;CACf;AAED,SAAe,cAAc,CAAC,IAAY;;QACxC,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,KAAK,EACL,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,CAAC,EACnD,IAAI,CACL,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACnC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CAAA;AAED,SAAe,gBAAgB,CAAC,IAAY;;QAC1C,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,KAAK,EACL,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,CAAC,EACnD,IAAI,CACL,CAAC;QACF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;CAAA;AAED,SAAe,iBAAiB,CAAC,IAAY;;QAC3C,MAAM,SAAS,GAAG,MAAM,YAAY,CAClC,KAAK,EACL,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,CAAC,EACxD,IAAI,CACL,CAAC;QACF,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;CAAA;AAED,SAAsB,aAAa,CAAC,IAAY;;QAG9C,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtD,cAAc,CAAC,IAAI,CAAC;YACpB,gBAAgB,CAAC,IAAI,CAAC;YACtB,iBAAiB,CAAC,IAAI,CAAC;SACxB,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE;YACzD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE;YAC1D,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;CAAA;AAtBD,sCAsBC"}
@@ -0,0 +1,60 @@
1
+ import { HashingImpl } from './hashing-impl';
2
+ import { ProjectGraph } from 'nx/src/shared/project-graph';
3
+ import { NxJsonConfiguration } from 'nx/src/shared/nx';
4
+ import { Task } from 'nx/src/shared/tasks';
5
+ /**
6
+ * A data structure returned by the default hasher.
7
+ */
8
+ export interface Hash {
9
+ value: string;
10
+ details: {
11
+ command: string;
12
+ nodes: {
13
+ [name: string]: string;
14
+ };
15
+ implicitDeps: {
16
+ [fileName: string]: string;
17
+ };
18
+ runtime: {
19
+ [input: string]: string;
20
+ };
21
+ };
22
+ }
23
+ interface ImplicitHashResult {
24
+ value: string;
25
+ files: {
26
+ [fileName: string]: string;
27
+ };
28
+ }
29
+ interface RuntimeHashResult {
30
+ value: string;
31
+ runtime: {
32
+ [input: string]: string;
33
+ };
34
+ }
35
+ /**
36
+ * The default hasher used by executors.
37
+ */
38
+ export declare class Hasher {
39
+ private readonly projectGraph;
40
+ private readonly nxJson;
41
+ private readonly options;
42
+ static version: string;
43
+ private implicitDependencies;
44
+ private runtimeInputs;
45
+ private projectHashes;
46
+ private hashing;
47
+ constructor(projectGraph: ProjectGraph, nxJson: NxJsonConfiguration, options: any, hashing?: HashingImpl);
48
+ hashTaskWithDepsAndContext(task: Task, filter?: 'all-files' | 'exclude-tests-of-all' | 'exclude-tests-of-deps'): Promise<Hash>;
49
+ hashCommand(task: Task): string;
50
+ hashContext(): Promise<{
51
+ implicitDeps: ImplicitHashResult;
52
+ runtime: RuntimeHashResult;
53
+ }>;
54
+ hashSource(task: Task): Promise<string>;
55
+ hashArray(values: string[]): string;
56
+ private runtimeInputsHash;
57
+ private implicitDepsHash;
58
+ private hashNxJson;
59
+ }
60
+ export {};