@ohos-ports/nx 17.3.2-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (671) hide show
  1. package/.eslintrc.json +106 -0
  2. package/LICENSE +22 -0
  3. package/README.md +66 -0
  4. package/bin/init-local.d.ts +8 -0
  5. package/bin/init-local.js +175 -0
  6. package/bin/nx-cloud.d.ts +2 -0
  7. package/bin/nx-cloud.js +55 -0
  8. package/bin/nx.d.ts +2 -0
  9. package/bin/nx.js +230 -0
  10. package/bin/post-install.d.ts +1 -0
  11. package/bin/post-install.js +55 -0
  12. package/bin/run-executor.d.ts +1 -0
  13. package/bin/run-executor.js +66 -0
  14. package/executors.json +19 -0
  15. package/generators.json +10 -0
  16. package/migrations.json +87 -0
  17. package/package.json +186 -0
  18. package/plugins/package-json.d.ts +1 -0
  19. package/plugins/package-json.js +12 -0
  20. package/presets/core.json +1 -0
  21. package/presets/npm.json +7 -0
  22. package/release/changelog-renderer/index.d.ts +56 -0
  23. package/release/changelog-renderer/index.js +238 -0
  24. package/release/index.d.ts +4 -0
  25. package/release/index.js +11 -0
  26. package/schemas/nx-schema.json +623 -0
  27. package/schemas/project-schema.json +244 -0
  28. package/schemas/workspace-schema.json +185 -0
  29. package/src/adapter/angular-json.d.ts +9 -0
  30. package/src/adapter/angular-json.js +127 -0
  31. package/src/adapter/compat.d.ts +2 -0
  32. package/src/adapter/compat.js +136 -0
  33. package/src/adapter/decorate-cli.d.ts +1 -0
  34. package/src/adapter/decorate-cli.js +25 -0
  35. package/src/adapter/ngcli-adapter.d.ts +90 -0
  36. package/src/adapter/ngcli-adapter.js +848 -0
  37. package/src/adapter/rxjs-for-await.d.ts +109 -0
  38. package/src/adapter/rxjs-for-await.js +362 -0
  39. package/src/command-line/add/add.d.ts +2 -0
  40. package/src/command-line/add/add.js +165 -0
  41. package/src/command-line/add/command-object.d.ts +7 -0
  42. package/src/command-line/add/command-object.js +24 -0
  43. package/src/command-line/affected/affected.d.ts +7 -0
  44. package/src/command-line/affected/affected.js +105 -0
  45. package/src/command-line/affected/command-object.d.ts +16 -0
  46. package/src/command-line/affected/command-object.js +93 -0
  47. package/src/command-line/affected/print-affected.d.ts +11 -0
  48. package/src/command-line/affected/print-affected.js +108 -0
  49. package/src/command-line/connect/command-object.d.ts +3 -0
  50. package/src/command-line/connect/command-object.js +19 -0
  51. package/src/command-line/connect/connect-to-nx-cloud.d.ts +8 -0
  52. package/src/command-line/connect/connect-to-nx-cloud.js +96 -0
  53. package/src/command-line/connect/view-logs.d.ts +1 -0
  54. package/src/command-line/connect/view-logs.js +53 -0
  55. package/src/command-line/daemon/command-object.d.ts +2 -0
  56. package/src/command-line/daemon/command-object.js +21 -0
  57. package/src/command-line/daemon/daemon.d.ts +2 -0
  58. package/src/command-line/daemon/daemon.js +27 -0
  59. package/src/command-line/examples.d.ts +5 -0
  60. package/src/command-line/examples.js +347 -0
  61. package/src/command-line/exec/command-object.d.ts +2 -0
  62. package/src/command-line/exec/command-object.js +19 -0
  63. package/src/command-line/exec/exec.d.ts +1 -0
  64. package/src/command-line/exec/exec.js +141 -0
  65. package/src/command-line/format/command-object.d.ts +3 -0
  66. package/src/command-line/format/command-object.js +46 -0
  67. package/src/command-line/format/format.d.ts +2 -0
  68. package/src/command-line/format/format.js +155 -0
  69. package/src/command-line/generate/command-object.d.ts +2 -0
  70. package/src/command-line/generate/command-object.js +70 -0
  71. package/src/command-line/generate/generate.d.ts +21 -0
  72. package/src/command-line/generate/generate.js +266 -0
  73. package/src/command-line/generate/generator-utils.d.ts +17 -0
  74. package/src/command-line/generate/generator-utils.js +87 -0
  75. package/src/command-line/graph/command-object.d.ts +2 -0
  76. package/src/command-line/graph/command-object.js +21 -0
  77. package/src/command-line/graph/graph.d.ts +39 -0
  78. package/src/command-line/graph/graph.js +661 -0
  79. package/src/command-line/init/command-object.d.ts +2 -0
  80. package/src/command-line/init/command-object.js +81 -0
  81. package/src/command-line/init/implementation/add-nx-to-monorepo.d.ts +4 -0
  82. package/src/command-line/init/implementation/add-nx-to-monorepo.js +133 -0
  83. package/src/command-line/init/implementation/add-nx-to-nest.d.ts +5 -0
  84. package/src/command-line/init/implementation/add-nx-to-nest.js +346 -0
  85. package/src/command-line/init/implementation/add-nx-to-npm-repo.d.ts +4 -0
  86. package/src/command-line/init/implementation/add-nx-to-npm-repo.js +66 -0
  87. package/src/command-line/init/implementation/angular/index.d.ts +2 -0
  88. package/src/command-line/init/implementation/angular/index.js +128 -0
  89. package/src/command-line/init/implementation/angular/integrated-workspace.d.ts +1 -0
  90. package/src/command-line/init/implementation/angular/integrated-workspace.js +10 -0
  91. package/src/command-line/init/implementation/angular/legacy-angular-versions.d.ts +2 -0
  92. package/src/command-line/init/implementation/angular/legacy-angular-versions.js +125 -0
  93. package/src/command-line/init/implementation/angular/standalone-workspace.d.ts +1 -0
  94. package/src/command-line/init/implementation/angular/standalone-workspace.js +178 -0
  95. package/src/command-line/init/implementation/angular/types.d.ts +20 -0
  96. package/src/command-line/init/implementation/angular/types.js +2 -0
  97. package/src/command-line/init/implementation/dot-nx/add-nx-scripts.d.ts +7 -0
  98. package/src/command-line/init/implementation/dot-nx/add-nx-scripts.js +91 -0
  99. package/src/command-line/init/implementation/dot-nx/nxw.d.ts +1 -0
  100. package/src/command-line/init/implementation/dot-nx/nxw.js +116 -0
  101. package/src/command-line/init/implementation/react/add-craco-commands-to-package-scripts.d.ts +1 -0
  102. package/src/command-line/init/implementation/react/add-craco-commands-to-package-scripts.js +22 -0
  103. package/src/command-line/init/implementation/react/add-vite-commands-to-package-scripts.d.ts +1 -0
  104. package/src/command-line/init/implementation/react/add-vite-commands-to-package-scripts.js +19 -0
  105. package/src/command-line/init/implementation/react/check-for-custom-webpack-setup.d.ts +1 -0
  106. package/src/command-line/init/implementation/react/check-for-custom-webpack-setup.js +18 -0
  107. package/src/command-line/init/implementation/react/check-for-uncommitted-changes.d.ts +1 -0
  108. package/src/command-line/init/implementation/react/check-for-uncommitted-changes.js +16 -0
  109. package/src/command-line/init/implementation/react/clean-up-files.d.ts +1 -0
  110. package/src/command-line/init/implementation/react/clean-up-files.js +31 -0
  111. package/src/command-line/init/implementation/react/index.d.ts +4 -0
  112. package/src/command-line/init/implementation/react/index.js +230 -0
  113. package/src/command-line/init/implementation/react/read-name-from-package-json.d.ts +1 -0
  114. package/src/command-line/init/implementation/react/read-name-from-package-json.js +17 -0
  115. package/src/command-line/init/implementation/react/rename-js-to-jsx.d.ts +1 -0
  116. package/src/command-line/init/implementation/react/rename-js-to-jsx.js +23 -0
  117. package/src/command-line/init/implementation/react/tsconfig-setup.d.ts +1 -0
  118. package/src/command-line/init/implementation/react/tsconfig-setup.js +109 -0
  119. package/src/command-line/init/implementation/react/write-craco-config.d.ts +1 -0
  120. package/src/command-line/init/implementation/react/write-craco-config.js +62 -0
  121. package/src/command-line/init/implementation/react/write-vite-config.d.ts +1 -0
  122. package/src/command-line/init/implementation/react/write-vite-config.js +38 -0
  123. package/src/command-line/init/implementation/react/write-vite-index-html.d.ts +1 -0
  124. package/src/command-line/init/implementation/react/write-vite-index-html.js +25 -0
  125. package/src/command-line/init/implementation/utils.d.ts +16 -0
  126. package/src/command-line/init/implementation/utils.js +176 -0
  127. package/src/command-line/init/init-v1.d.ts +11 -0
  128. package/src/command-line/init/init-v1.js +118 -0
  129. package/src/command-line/init/init-v2.d.ts +7 -0
  130. package/src/command-line/init/init-v2.js +165 -0
  131. package/src/command-line/list/command-object.d.ts +2 -0
  132. package/src/command-line/list/command-object.js +15 -0
  133. package/src/command-line/list/list.d.ts +13 -0
  134. package/src/command-line/list/list.js +47 -0
  135. package/src/command-line/migrate/command-object.d.ts +3 -0
  136. package/src/command-line/migrate/command-object.js +150 -0
  137. package/src/command-line/migrate/migrate.d.ts +114 -0
  138. package/src/command-line/migrate/migrate.js +1115 -0
  139. package/src/command-line/new/command-object.d.ts +2 -0
  140. package/src/command-line/new/command-object.js +25 -0
  141. package/src/command-line/new/new.d.ts +3 -0
  142. package/src/command-line/new/new.js +30 -0
  143. package/src/command-line/nx-commands.d.ts +10 -0
  144. package/src/command-line/nx-commands.js +77 -0
  145. package/src/command-line/release/changelog.d.ts +8 -0
  146. package/src/command-line/release/changelog.js +696 -0
  147. package/src/command-line/release/command-object.d.ts +45 -0
  148. package/src/command-line/release/command-object.js +237 -0
  149. package/src/command-line/release/config/config.d.ts +56 -0
  150. package/src/command-line/release/config/config.js +501 -0
  151. package/src/command-line/release/config/filter-release-groups.d.ts +13 -0
  152. package/src/command-line/release/config/filter-release-groups.js +150 -0
  153. package/src/command-line/release/index.d.ts +16 -0
  154. package/src/command-line/release/index.js +23 -0
  155. package/src/command-line/release/publish.d.ts +8 -0
  156. package/src/command-line/release/publish.js +149 -0
  157. package/src/command-line/release/release.d.ts +4 -0
  158. package/src/command-line/release/release.js +124 -0
  159. package/src/command-line/release/utils/batch-projects-by-generator-config.d.ts +7 -0
  160. package/src/command-line/release/utils/batch-projects-by-generator-config.js +37 -0
  161. package/src/command-line/release/utils/exec-command.d.ts +1 -0
  162. package/src/command-line/release/utils/exec-command.js +34 -0
  163. package/src/command-line/release/utils/git.d.ts +55 -0
  164. package/src/command-line/release/utils/git.js +261 -0
  165. package/src/command-line/release/utils/github.d.ts +27 -0
  166. package/src/command-line/release/utils/github.js +229 -0
  167. package/src/command-line/release/utils/launch-editor.d.ts +1 -0
  168. package/src/command-line/release/utils/launch-editor.js +42 -0
  169. package/src/command-line/release/utils/markdown.d.ts +6 -0
  170. package/src/command-line/release/utils/markdown.js +29 -0
  171. package/src/command-line/release/utils/print-changes.d.ts +7 -0
  172. package/src/command-line/release/utils/print-changes.js +60 -0
  173. package/src/command-line/release/utils/resolve-nx-json-error-message.d.ts +1 -0
  174. package/src/command-line/release/utils/resolve-nx-json-error-message.js +52 -0
  175. package/src/command-line/release/utils/resolve-semver-specifier.d.ts +3 -0
  176. package/src/command-line/release/utils/resolve-semver-specifier.js +69 -0
  177. package/src/command-line/release/utils/semver.d.ts +17 -0
  178. package/src/command-line/release/utils/semver.js +56 -0
  179. package/src/command-line/release/utils/shared.d.ts +34 -0
  180. package/src/command-line/release/utils/shared.js +211 -0
  181. package/src/command-line/release/version.d.ts +42 -0
  182. package/src/command-line/release/version.js +347 -0
  183. package/src/command-line/repair/command-object.d.ts +2 -0
  184. package/src/command-line/repair/command-object.js +22 -0
  185. package/src/command-line/repair/repair.d.ts +3 -0
  186. package/src/command-line/repair/repair.js +37 -0
  187. package/src/command-line/repair.d.ts +4 -0
  188. package/src/command-line/repair.js +7 -0
  189. package/src/command-line/report/command-object.d.ts +2 -0
  190. package/src/command-line/report/command-object.js +11 -0
  191. package/src/command-line/report/report.d.ts +48 -0
  192. package/src/command-line/report/report.js +232 -0
  193. package/src/command-line/reset/command-object.d.ts +2 -0
  194. package/src/command-line/reset/command-object.js +9 -0
  195. package/src/command-line/reset/reset.d.ts +1 -0
  196. package/src/command-line/reset/reset.js +23 -0
  197. package/src/command-line/run/command-object.d.ts +6 -0
  198. package/src/command-line/run/command-object.js +25 -0
  199. package/src/command-line/run/executor-utils.d.ts +7 -0
  200. package/src/command-line/run/executor-utils.js +73 -0
  201. package/src/command-line/run/run-one.d.ts +7 -0
  202. package/src/command-line/run/run-one.js +117 -0
  203. package/src/command-line/run/run.d.ts +51 -0
  204. package/src/command-line/run/run.js +172 -0
  205. package/src/command-line/run-many/command-object.d.ts +2 -0
  206. package/src/command-line/run-many/command-object.js +11 -0
  207. package/src/command-line/run-many/run-many.d.ts +10 -0
  208. package/src/command-line/run-many/run-many.js +90 -0
  209. package/src/command-line/run-many.d.ts +4 -0
  210. package/src/command-line/run-many.js +7 -0
  211. package/src/command-line/run-one.d.ts +4 -0
  212. package/src/command-line/run-one.js +7 -0
  213. package/src/command-line/run.d.ts +4 -0
  214. package/src/command-line/run.js +7 -0
  215. package/src/command-line/show/command-object.d.ts +22 -0
  216. package/src/command-line/show/command-object.js +84 -0
  217. package/src/command-line/show/show.d.ts +3 -0
  218. package/src/command-line/show/show.js +126 -0
  219. package/src/command-line/watch/command-object.d.ts +2 -0
  220. package/src/command-line/watch/command-object.js +64 -0
  221. package/src/command-line/watch/watch.d.ts +23 -0
  222. package/src/command-line/watch/watch.js +169 -0
  223. package/src/command-line/watch.d.ts +4 -0
  224. package/src/command-line/watch.js +7 -0
  225. package/src/command-line/yargs-utils/documentation.d.ts +2 -0
  226. package/src/command-line/yargs-utils/documentation.js +12 -0
  227. package/src/command-line/yargs-utils/shared-options.d.ts +89 -0
  228. package/src/command-line/yargs-utils/shared-options.js +284 -0
  229. package/src/commands-runner/command-graph.d.ts +13 -0
  230. package/src/commands-runner/command-graph.js +2 -0
  231. package/src/commands-runner/create-command-graph.d.ts +4 -0
  232. package/src/commands-runner/create-command-graph.js +44 -0
  233. package/src/commands-runner/get-command-projects.d.ts +3 -0
  234. package/src/commands-runner/get-command-projects.js +19 -0
  235. package/src/config/calculate-default-project-name.d.ts +4 -0
  236. package/src/config/calculate-default-project-name.js +42 -0
  237. package/src/config/configuration.d.ts +8 -0
  238. package/src/config/configuration.js +17 -0
  239. package/src/config/misc-interfaces.d.ts +199 -0
  240. package/src/config/misc-interfaces.js +2 -0
  241. package/src/config/nx-json.d.ts +372 -0
  242. package/src/config/nx-json.js +40 -0
  243. package/src/config/project-graph.d.ts +137 -0
  244. package/src/config/project-graph.js +37 -0
  245. package/src/config/schema-utils.d.ts +15 -0
  246. package/src/config/schema-utils.js +59 -0
  247. package/src/config/task-graph.d.ts +100 -0
  248. package/src/config/task-graph.js +2 -0
  249. package/src/config/workspace-json-project-json.d.ts +189 -0
  250. package/src/config/workspace-json-project-json.js +2 -0
  251. package/src/config/workspaces.d.ts +18 -0
  252. package/src/config/workspaces.js +35 -0
  253. package/src/core/graph/3rdpartylicenses.txt +833 -0
  254. package/src/core/graph/environment.js +1 -0
  255. package/src/core/graph/favicon.ico +0 -0
  256. package/src/core/graph/index.html +31 -0
  257. package/src/core/graph/main.js +1 -0
  258. package/src/core/graph/polyfills.js +1 -0
  259. package/src/core/graph/runtime.js +1 -0
  260. package/src/core/graph/styles.css +3 -0
  261. package/src/core/graph/styles.js +1 -0
  262. package/src/daemon/cache.d.ts +9 -0
  263. package/src/daemon/cache.js +52 -0
  264. package/src/daemon/client/client.d.ts +56 -0
  265. package/src/daemon/client/client.js +359 -0
  266. package/src/daemon/client/daemon-socket-messenger.d.ts +13 -0
  267. package/src/daemon/client/daemon-socket-messenger.js +26 -0
  268. package/src/daemon/client/exec-is-server-available.d.ts +1 -0
  269. package/src/daemon/client/exec-is-server-available.js +11 -0
  270. package/src/daemon/client/generate-help-output.d.ts +1 -0
  271. package/src/daemon/client/generate-help-output.js +26 -0
  272. package/src/daemon/server/file-watching/changed-projects.d.ts +10 -0
  273. package/src/daemon/server/file-watching/changed-projects.js +45 -0
  274. package/src/daemon/server/file-watching/file-watcher-sockets.d.ts +13 -0
  275. package/src/daemon/server/file-watching/file-watcher-sockets.js +66 -0
  276. package/src/daemon/server/handle-hash-tasks.d.ts +10 -0
  277. package/src/daemon/server/handle-hash-tasks.js +26 -0
  278. package/src/daemon/server/handle-outputs-tracking.d.ts +15 -0
  279. package/src/daemon/server/handle-outputs-tracking.js +36 -0
  280. package/src/daemon/server/handle-process-in-background.d.ts +6 -0
  281. package/src/daemon/server/handle-process-in-background.js +33 -0
  282. package/src/daemon/server/handle-request-file-data.d.ts +4 -0
  283. package/src/daemon/server/handle-request-file-data.js +13 -0
  284. package/src/daemon/server/handle-request-project-graph.d.ts +2 -0
  285. package/src/daemon/server/handle-request-project-graph.js +37 -0
  286. package/src/daemon/server/handle-request-shutdown.d.ts +6 -0
  287. package/src/daemon/server/handle-request-shutdown.js +26 -0
  288. package/src/daemon/server/logger.d.ts +18 -0
  289. package/src/daemon/server/logger.js +37 -0
  290. package/src/daemon/server/outputs-tracking.d.ts +8 -0
  291. package/src/daemon/server/outputs-tracking.js +94 -0
  292. package/src/daemon/server/project-graph-incremental-recomputation.d.ts +22 -0
  293. package/src/daemon/server/project-graph-incremental-recomputation.js +227 -0
  294. package/src/daemon/server/server.d.ts +9 -0
  295. package/src/daemon/server/server.js +303 -0
  296. package/src/daemon/server/shutdown-utils.d.ts +17 -0
  297. package/src/daemon/server/shutdown-utils.js +77 -0
  298. package/src/daemon/server/start.d.ts +1 -0
  299. package/src/daemon/server/start.js +17 -0
  300. package/src/daemon/server/watcher.d.ts +12 -0
  301. package/src/daemon/server/watcher.js +96 -0
  302. package/src/daemon/socket-utils.d.ts +11 -0
  303. package/src/daemon/socket-utils.js +42 -0
  304. package/src/daemon/tmp-dir.d.ts +8 -0
  305. package/src/daemon/tmp-dir.js +68 -0
  306. package/src/devkit-exports.d.ts +135 -0
  307. package/src/devkit-exports.js +140 -0
  308. package/src/devkit-internals.d.ts +19 -0
  309. package/src/devkit-internals.js +37 -0
  310. package/src/devkit-testing-exports.d.ts +2 -0
  311. package/src/devkit-testing-exports.js +8 -0
  312. package/src/executors/noop/noop.impl.d.ts +3 -0
  313. package/src/executors/noop/noop.impl.js +6 -0
  314. package/src/executors/noop/schema.json +10 -0
  315. package/src/executors/run-commands/run-commands.impl.d.ts +42 -0
  316. package/src/executors/run-commands/run-commands.impl.js +247 -0
  317. package/src/executors/run-commands/schema.json +150 -0
  318. package/src/executors/run-script/run-script.impl.d.ts +8 -0
  319. package/src/executors/run-script/run-script.impl.js +56 -0
  320. package/src/executors/run-script/schema.json +28 -0
  321. package/src/executors/utils/convert-nx-executor.d.ts +10 -0
  322. package/src/executors/utils/convert-nx-executor.js +82 -0
  323. package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.d.ts +8 -0
  324. package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js +49 -0
  325. package/src/generators/testing-utils/create-tree-with-empty-workspace.d.ts +11 -0
  326. package/src/generators/testing-utils/create-tree-with-empty-workspace.js +46 -0
  327. package/src/generators/testing-utils/create-tree.d.ts +5 -0
  328. package/src/generators/testing-utils/create-tree.js +11 -0
  329. package/src/generators/tree.d.ts +128 -0
  330. package/src/generators/tree.js +309 -0
  331. package/src/generators/utils/glob.d.ts +11 -0
  332. package/src/generators/utils/glob.js +35 -0
  333. package/src/generators/utils/json.d.ts +28 -0
  334. package/src/generators/utils/json.js +48 -0
  335. package/src/generators/utils/nx-json.d.ts +11 -0
  336. package/src/generators/utils/nx-json.js +59 -0
  337. package/src/generators/utils/project-configuration.d.ts +42 -0
  338. package/src/generators/utils/project-configuration.js +239 -0
  339. package/src/hasher/create-task-hasher.d.ts +4 -0
  340. package/src/hasher/create-task-hasher.js +16 -0
  341. package/src/hasher/file-hasher.d.ts +2 -0
  342. package/src/hasher/file-hasher.js +19 -0
  343. package/src/hasher/hash-task.d.ts +7 -0
  344. package/src/hasher/hash-task.js +54 -0
  345. package/src/hasher/native-task-hasher-impl.d.ts +19 -0
  346. package/src/hasher/native-task-hasher-impl.js +37 -0
  347. package/src/hasher/node-task-hasher-impl.d.ts +49 -0
  348. package/src/hasher/node-task-hasher-impl.js +431 -0
  349. package/src/hasher/task-hasher.d.ts +129 -0
  350. package/src/hasher/task-hasher.js +266 -0
  351. package/src/index.d.ts +1 -0
  352. package/src/index.js +5 -0
  353. package/src/migrations/update-15-0-0/migrate-to-inputs.d.ts +2 -0
  354. package/src/migrations/update-15-0-0/migrate-to-inputs.js +102 -0
  355. package/src/migrations/update-15-0-0/prefix-outputs.d.ts +2 -0
  356. package/src/migrations/update-15-0-0/prefix-outputs.js +64 -0
  357. package/src/migrations/update-15-1-0/set-project-names.d.ts +2 -0
  358. package/src/migrations/update-15-1-0/set-project-names.js +32 -0
  359. package/src/migrations/update-15-8-2/update-nxw.d.ts +2 -0
  360. package/src/migrations/update-15-8-2/update-nxw.js +7 -0
  361. package/src/migrations/update-16-0-0/remove-nrwl-cli.d.ts +2 -0
  362. package/src/migrations/update-16-0-0/remove-nrwl-cli.js +16 -0
  363. package/src/migrations/update-16-0-0/update-depends-on-to-tokens.d.ts +2 -0
  364. package/src/migrations/update-16-0-0/update-depends-on-to-tokens.js +97 -0
  365. package/src/migrations/update-16-0-0/update-nx-cloud-runner.d.ts +2 -0
  366. package/src/migrations/update-16-0-0/update-nx-cloud-runner.js +27 -0
  367. package/src/migrations/update-16-2-0/remove-run-commands-output-path.d.ts +2 -0
  368. package/src/migrations/update-16-2-0/remove-run-commands-output-path.js +45 -0
  369. package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.d.ts +12 -0
  370. package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.js +60 -0
  371. package/src/migrations/update-16-9-0/remove-project-name-and-root-format.d.ts +2 -0
  372. package/src/migrations/update-16-9-0/remove-project-name-and-root-format.js +21 -0
  373. package/src/migrations/update-17-0-0/move-cache-directory.d.ts +2 -0
  374. package/src/migrations/update-17-0-0/move-cache-directory.js +35 -0
  375. package/src/migrations/update-17-0-0/rm-default-collection-npm-scope.d.ts +2 -0
  376. package/src/migrations/update-17-0-0/rm-default-collection-npm-scope.js +72 -0
  377. package/src/migrations/update-17-0-0/use-minimal-config-for-tasks-runner-options.d.ts +2 -0
  378. package/src/migrations/update-17-0-0/use-minimal-config-for-tasks-runner-options.js +122 -0
  379. package/src/migrations/update-17-3-0/nx-release-path.d.ts +3 -0
  380. package/src/migrations/update-17-3-0/nx-release-path.js +49 -0
  381. package/src/migrations/update-17-3-0/update-nxw.d.ts +2 -0
  382. package/src/migrations/update-17-3-0/update-nxw.js +7 -0
  383. package/src/native/assert-supported-platform.d.ts +1 -0
  384. package/src/native/assert-supported-platform.js +39 -0
  385. package/src/native/index.d.ts +192 -0
  386. package/src/native/index.js +289 -0
  387. package/src/native/transform-objects.d.ts +3 -0
  388. package/src/native/transform-objects.js +50 -0
  389. package/src/nx-cloud/debug-logger.d.ts +1 -0
  390. package/src/nx-cloud/debug-logger.js +9 -0
  391. package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.d.ts +8 -0
  392. package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.js +107 -0
  393. package/src/nx-cloud/generators/connect-to-nx-cloud/schema.json +27 -0
  394. package/src/nx-cloud/nx-cloud-tasks-runner-shell.d.ts +15 -0
  395. package/src/nx-cloud/nx-cloud-tasks-runner-shell.js +41 -0
  396. package/src/nx-cloud/resolution-helpers.d.ts +1 -0
  397. package/src/nx-cloud/resolution-helpers.js +20 -0
  398. package/src/nx-cloud/update-manager.d.ts +17 -0
  399. package/src/nx-cloud/update-manager.js +240 -0
  400. package/src/nx-cloud/utilities/axios.d.ts +2 -0
  401. package/src/nx-cloud/utilities/axios.js +24 -0
  402. package/src/nx-cloud/utilities/environment.d.ts +3 -0
  403. package/src/nx-cloud/utilities/environment.js +47 -0
  404. package/src/nx-cloud/utilities/get-cloud-options.d.ts +2 -0
  405. package/src/nx-cloud/utilities/get-cloud-options.js +11 -0
  406. package/src/plugins/js/hasher/hasher.d.ts +5 -0
  407. package/src/plugins/js/hasher/hasher.js +52 -0
  408. package/src/plugins/js/index.d.ts +4 -0
  409. package/src/plugins/js/index.js +96 -0
  410. package/src/plugins/js/lock-file/lock-file.d.ts +34 -0
  411. package/src/plugins/js/lock-file/lock-file.js +169 -0
  412. package/src/plugins/js/lock-file/npm-parser.d.ts +7 -0
  413. package/src/plugins/js/lock-file/npm-parser.js +463 -0
  414. package/src/plugins/js/lock-file/pnpm-parser.d.ts +7 -0
  415. package/src/plugins/js/lock-file/pnpm-parser.js +294 -0
  416. package/src/plugins/js/lock-file/project-graph-pruning.d.ts +7 -0
  417. package/src/plugins/js/lock-file/project-graph-pruning.js +155 -0
  418. package/src/plugins/js/lock-file/utils/package-json.d.ts +10 -0
  419. package/src/plugins/js/lock-file/utils/package-json.js +34 -0
  420. package/src/plugins/js/lock-file/utils/pnpm-normalizer.d.ts +38 -0
  421. package/src/plugins/js/lock-file/utils/pnpm-normalizer.js +575 -0
  422. package/src/plugins/js/lock-file/yarn-parser.d.ts +7 -0
  423. package/src/plugins/js/lock-file/yarn-parser.js +437 -0
  424. package/src/plugins/js/package-json/create-package-json.d.ts +27 -0
  425. package/src/plugins/js/package-json/create-package-json.js +207 -0
  426. package/src/plugins/js/project-graph/affected/lock-file-changes.d.ts +4 -0
  427. package/src/plugins/js/project-graph/affected/lock-file-changes.js +16 -0
  428. package/src/plugins/js/project-graph/affected/npm-packages.d.ts +4 -0
  429. package/src/plugins/js/project-graph/affected/npm-packages.js +56 -0
  430. package/src/plugins/js/project-graph/affected/touched-projects.d.ts +2 -0
  431. package/src/plugins/js/project-graph/affected/touched-projects.js +18 -0
  432. package/src/plugins/js/project-graph/affected/tsconfig-json-changes.d.ts +4 -0
  433. package/src/plugins/js/project-graph/affected/tsconfig-json-changes.js +63 -0
  434. package/src/plugins/js/project-graph/build-dependencies/build-dependencies.d.ts +6 -0
  435. package/src/plugins/js/project-graph/build-dependencies/build-dependencies.js +33 -0
  436. package/src/plugins/js/project-graph/build-dependencies/explicit-package-json-dependencies.d.ts +3 -0
  437. package/src/plugins/js/project-graph/build-dependencies/explicit-package-json-dependencies.js +82 -0
  438. package/src/plugins/js/project-graph/build-dependencies/explicit-project-dependencies.d.ts +3 -0
  439. package/src/plugins/js/project-graph/build-dependencies/explicit-project-dependencies.js +94 -0
  440. package/src/plugins/js/project-graph/build-dependencies/strip-source-code.d.ts +7 -0
  441. package/src/plugins/js/project-graph/build-dependencies/strip-source-code.js +156 -0
  442. package/src/plugins/js/project-graph/build-dependencies/target-project-locator.d.ts +32 -0
  443. package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +183 -0
  444. package/src/plugins/js/project-graph/build-dependencies/typescript-import-locator.d.ts +16 -0
  445. package/src/plugins/js/project-graph/build-dependencies/typescript-import-locator.js +120 -0
  446. package/src/plugins/js/project-graph/build-nodes/build-npm-package-nodes.d.ts +2 -0
  447. package/src/plugins/js/project-graph/build-nodes/build-npm-package-nodes.js +32 -0
  448. package/src/plugins/js/utils/config.d.ts +2 -0
  449. package/src/plugins/js/utils/config.js +65 -0
  450. package/src/plugins/js/utils/register.d.ts +151 -0
  451. package/src/plugins/js/utils/register.js +215 -0
  452. package/src/plugins/js/utils/typescript.d.ts +14 -0
  453. package/src/plugins/js/utils/typescript.js +98 -0
  454. package/src/plugins/js/versions.d.ts +1 -0
  455. package/src/plugins/js/versions.js +4 -0
  456. package/src/plugins/package-json-workspaces/create-nodes.d.ts +19 -0
  457. package/src/plugins/package-json-workspaces/create-nodes.js +130 -0
  458. package/src/plugins/package-json-workspaces/index.d.ts +1 -0
  459. package/src/plugins/package-json-workspaces/index.js +4 -0
  460. package/src/plugins/project-json/build-nodes/package-json-next-to-project-json.d.ts +2 -0
  461. package/src/plugins/project-json/build-nodes/package-json-next-to-project-json.js +47 -0
  462. package/src/plugins/project-json/build-nodes/project-json.d.ts +4 -0
  463. package/src/plugins/project-json/build-nodes/project-json.js +29 -0
  464. package/src/plugins/target-defaults/target-defaults-plugin.d.ts +8 -0
  465. package/src/plugins/target-defaults/target-defaults-plugin.js +103 -0
  466. package/src/project-graph/affected/affected-project-graph-models.d.ts +11 -0
  467. package/src/project-graph/affected/affected-project-graph-models.js +2 -0
  468. package/src/project-graph/affected/affected-project-graph.d.ts +4 -0
  469. package/src/project-graph/affected/affected-project-graph.js +83 -0
  470. package/src/project-graph/affected/locators/project-glob-changes.d.ts +2 -0
  471. package/src/project-graph/affected/locators/project-glob-changes.js +31 -0
  472. package/src/project-graph/affected/locators/workspace-json-changes.d.ts +4 -0
  473. package/src/project-graph/affected/locators/workspace-json-changes.js +47 -0
  474. package/src/project-graph/affected/locators/workspace-projects.d.ts +5 -0
  475. package/src/project-graph/affected/locators/workspace-projects.js +85 -0
  476. package/src/project-graph/build-project-graph.d.ts +14 -0
  477. package/src/project-graph/build-project-graph.js +219 -0
  478. package/src/project-graph/file-map-utils.d.ts +15 -0
  479. package/src/project-graph/file-map-utils.js +63 -0
  480. package/src/project-graph/file-utils.d.ts +31 -0
  481. package/src/project-graph/file-utils.js +181 -0
  482. package/src/project-graph/nx-deps-cache.d.ts +48 -0
  483. package/src/project-graph/nx-deps-cache.js +228 -0
  484. package/src/project-graph/operators.d.ts +12 -0
  485. package/src/project-graph/operators.js +114 -0
  486. package/src/project-graph/project-graph-builder.d.ts +133 -0
  487. package/src/project-graph/project-graph-builder.js +379 -0
  488. package/src/project-graph/project-graph.d.ts +48 -0
  489. package/src/project-graph/project-graph.js +188 -0
  490. package/src/project-graph/utils/build-all-workspace-files.d.ts +2 -0
  491. package/src/project-graph/utils/build-all-workspace-files.js +15 -0
  492. package/src/project-graph/utils/find-project-for-path.d.ts +20 -0
  493. package/src/project-graph/utils/find-project-for-path.js +57 -0
  494. package/src/project-graph/utils/implicit-project-dependencies.d.ts +3 -0
  495. package/src/project-graph/utils/implicit-project-dependencies.js +19 -0
  496. package/src/project-graph/utils/normalize-project-nodes.d.ts +10 -0
  497. package/src/project-graph/utils/normalize-project-nodes.js +92 -0
  498. package/src/project-graph/utils/project-configuration-utils.d.ts +53 -0
  499. package/src/project-graph/utils/project-configuration-utils.js +456 -0
  500. package/src/project-graph/utils/retrieve-workspace-files.d.ts +37 -0
  501. package/src/project-graph/utils/retrieve-workspace-files.js +109 -0
  502. package/src/tasks-runner/batch/batch-messages.d.ts +33 -0
  503. package/src/tasks-runner/batch/batch-messages.js +9 -0
  504. package/src/tasks-runner/batch/run-batch.d.ts +1 -0
  505. package/src/tasks-runner/batch/run-batch.js +77 -0
  506. package/src/tasks-runner/cache.d.ts +36 -0
  507. package/src/tasks-runner/cache.js +236 -0
  508. package/src/tasks-runner/create-task-graph.d.ts +25 -0
  509. package/src/tasks-runner/create-task-graph.js +225 -0
  510. package/src/tasks-runner/default-tasks-runner.d.ts +20 -0
  511. package/src/tasks-runner/default-tasks-runner.js +29 -0
  512. package/src/tasks-runner/fork.d.ts +1 -0
  513. package/src/tasks-runner/fork.js +23 -0
  514. package/src/tasks-runner/forked-process-task-runner.d.ts +44 -0
  515. package/src/tasks-runner/forked-process-task-runner.js +396 -0
  516. package/src/tasks-runner/init-tasks-runner.d.ts +11 -0
  517. package/src/tasks-runner/init-tasks-runner.js +57 -0
  518. package/src/tasks-runner/life-cycle.d.ts +43 -0
  519. package/src/tasks-runner/life-cycle.js +71 -0
  520. package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.d.ts +25 -0
  521. package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.js +345 -0
  522. package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.d.ts +24 -0
  523. package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.js +224 -0
  524. package/src/tasks-runner/life-cycles/empty-terminal-output-life-cycle.d.ts +5 -0
  525. package/src/tasks-runner/life-cycles/empty-terminal-output-life-cycle.js +16 -0
  526. package/src/tasks-runner/life-cycles/formatting-utils.d.ts +3 -0
  527. package/src/tasks-runner/life-cycles/formatting-utils.js +44 -0
  528. package/src/tasks-runner/life-cycles/invoke-runner-terminal-output-life-cycle.d.ts +17 -0
  529. package/src/tasks-runner/life-cycles/invoke-runner-terminal-output-life-cycle.js +67 -0
  530. package/src/tasks-runner/life-cycles/pretty-time.d.ts +4 -0
  531. package/src/tasks-runner/life-cycles/pretty-time.js +74 -0
  532. package/src/tasks-runner/life-cycles/static-run-many-terminal-output-life-cycle.d.ts +33 -0
  533. package/src/tasks-runner/life-cycles/static-run-many-terminal-output-life-cycle.js +99 -0
  534. package/src/tasks-runner/life-cycles/static-run-one-terminal-output-life-cycle.d.ts +31 -0
  535. package/src/tasks-runner/life-cycles/static-run-one-terminal-output-life-cycle.js +89 -0
  536. package/src/tasks-runner/life-cycles/store-run-information-life-cycle.d.ts +22 -0
  537. package/src/tasks-runner/life-cycles/store-run-information-life-cycle.js +87 -0
  538. package/src/tasks-runner/life-cycles/task-profiling-life-cycle.d.ts +19 -0
  539. package/src/tasks-runner/life-cycles/task-profiling-life-cycle.js +73 -0
  540. package/src/tasks-runner/life-cycles/task-timings-life-cycle.d.ts +13 -0
  541. package/src/tasks-runner/life-cycles/task-timings-life-cycle.js +39 -0
  542. package/src/tasks-runner/life-cycles/view-logs-utils.d.ts +1 -0
  543. package/src/tasks-runner/life-cycles/view-logs-utils.js +16 -0
  544. package/src/tasks-runner/psuedo-ipc.d.ts +49 -0
  545. package/src/tasks-runner/psuedo-ipc.js +140 -0
  546. package/src/tasks-runner/remove-old-cache-records.d.ts +1 -0
  547. package/src/tasks-runner/remove-old-cache-records.js +61 -0
  548. package/src/tasks-runner/run-command.d.ts +28 -0
  549. package/src/tasks-runner/run-command.js +353 -0
  550. package/src/tasks-runner/task-env.d.ts +8 -0
  551. package/src/tasks-runner/task-env.js +144 -0
  552. package/src/tasks-runner/task-graph-utils.d.ts +7 -0
  553. package/src/tasks-runner/task-graph-utils.js +55 -0
  554. package/src/tasks-runner/task-orchestrator.d.ts +50 -0
  555. package/src/tasks-runner/task-orchestrator.js +375 -0
  556. package/src/tasks-runner/tasks-runner.d.ts +23 -0
  557. package/src/tasks-runner/tasks-runner.js +2 -0
  558. package/src/tasks-runner/tasks-schedule.d.ts +36 -0
  559. package/src/tasks-runner/tasks-schedule.js +142 -0
  560. package/src/tasks-runner/utils.d.ts +51 -0
  561. package/src/tasks-runner/utils.js +293 -0
  562. package/src/utils/ab-testing.d.ts +51 -0
  563. package/src/utils/ab-testing.js +91 -0
  564. package/src/utils/all-file-data.d.ts +2 -0
  565. package/src/utils/all-file-data.js +15 -0
  566. package/src/utils/app-root.d.ts +8 -0
  567. package/src/utils/app-root.js +12 -0
  568. package/src/utils/assert-workspace-validity.d.ts +3 -0
  569. package/src/utils/assert-workspace-validity.js +84 -0
  570. package/src/utils/async-iterator.d.ts +2 -0
  571. package/src/utils/async-iterator.js +17 -0
  572. package/src/utils/cache-directory.d.ts +6 -0
  573. package/src/utils/cache-directory.js +60 -0
  574. package/src/utils/child-process.d.ts +19 -0
  575. package/src/utils/child-process.js +117 -0
  576. package/src/utils/chunkify.d.ts +1 -0
  577. package/src/utils/chunkify.js +38 -0
  578. package/src/utils/code-frames.d.ts +14 -0
  579. package/src/utils/code-frames.js +119 -0
  580. package/src/utils/collapse-expanded-outputs.d.ts +1 -0
  581. package/src/utils/collapse-expanded-outputs.js +41 -0
  582. package/src/utils/command-line-utils.d.ts +48 -0
  583. package/src/utils/command-line-utils.js +254 -0
  584. package/src/utils/consume-messages-from-socket.d.ts +1 -0
  585. package/src/utils/consume-messages-from-socket.js +22 -0
  586. package/src/utils/default-base.d.ts +1 -0
  587. package/src/utils/default-base.js +15 -0
  588. package/src/utils/exit-codes.d.ts +6 -0
  589. package/src/utils/exit-codes.js +20 -0
  590. package/src/utils/fileutils.d.ts +69 -0
  591. package/src/utils/fileutils.js +135 -0
  592. package/src/utils/find-matching-projects.d.ts +10 -0
  593. package/src/utils/find-matching-projects.js +198 -0
  594. package/src/utils/find-workspace-root.d.ts +11 -0
  595. package/src/utils/find-workspace-root.js +34 -0
  596. package/src/utils/globs.d.ts +1 -0
  597. package/src/utils/globs.js +8 -0
  598. package/src/utils/ignore.d.ts +8 -0
  599. package/src/utils/ignore.js +68 -0
  600. package/src/utils/installation-directory.d.ts +2 -0
  601. package/src/utils/installation-directory.js +13 -0
  602. package/src/utils/is-ci.d.ts +1 -0
  603. package/src/utils/is-ci.js +20 -0
  604. package/src/utils/json-diff.d.ts +18 -0
  605. package/src/utils/json-diff.js +112 -0
  606. package/src/utils/json.d.ts +44 -0
  607. package/src/utils/json.js +60 -0
  608. package/src/utils/logger.d.ts +11 -0
  609. package/src/utils/logger.js +47 -0
  610. package/src/utils/nx-cloud-utils.d.ts +4 -0
  611. package/src/utils/nx-cloud-utils.js +27 -0
  612. package/src/utils/nx-plugin.d.ts +119 -0
  613. package/src/utils/nx-plugin.deprecated.d.ts +31 -0
  614. package/src/utils/nx-plugin.deprecated.js +25 -0
  615. package/src/utils/nx-plugin.js +293 -0
  616. package/src/utils/object-sort.d.ts +1 -0
  617. package/src/utils/object-sort.js +10 -0
  618. package/src/utils/output.d.ts +72 -0
  619. package/src/utils/output.js +239 -0
  620. package/src/utils/package-json.d.ts +98 -0
  621. package/src/utils/package-json.js +134 -0
  622. package/src/utils/package-manager.d.ts +93 -0
  623. package/src/utils/package-manager.js +300 -0
  624. package/src/utils/params.d.ts +138 -0
  625. package/src/utils/params.js +684 -0
  626. package/src/utils/path.d.ts +19 -0
  627. package/src/utils/path.js +38 -0
  628. package/src/utils/perf-logging.d.ts +1 -0
  629. package/src/utils/perf-logging.js +11 -0
  630. package/src/utils/plugins/community-plugins.d.ts +2 -0
  631. package/src/utils/plugins/community-plugins.js +29 -0
  632. package/src/utils/plugins/core-plugins.d.ts +3 -0
  633. package/src/utils/plugins/core-plugins.js +114 -0
  634. package/src/utils/plugins/index.d.ts +4 -0
  635. package/src/utils/plugins/index.js +14 -0
  636. package/src/utils/plugins/installed-plugins.d.ts +6 -0
  637. package/src/utils/plugins/installed-plugins.js +104 -0
  638. package/src/utils/plugins/local-plugins.d.ts +5 -0
  639. package/src/utils/plugins/local-plugins.js +58 -0
  640. package/src/utils/plugins/models.d.ts +22 -0
  641. package/src/utils/plugins/models.js +2 -0
  642. package/src/utils/plugins/plugin-capabilities.d.ts +4 -0
  643. package/src/utils/plugins/plugin-capabilities.js +124 -0
  644. package/src/utils/plugins/shared.d.ts +1 -0
  645. package/src/utils/plugins/shared.js +8 -0
  646. package/src/utils/print-help.d.ts +11 -0
  647. package/src/utils/print-help.js +265 -0
  648. package/src/utils/project-graph-utils.d.ts +13 -0
  649. package/src/utils/project-graph-utils.js +74 -0
  650. package/src/utils/promised-based-queue.d.ts +6 -0
  651. package/src/utils/promised-based-queue.js +43 -0
  652. package/src/utils/serialize-overrides-into-command-line.d.ts +3 -0
  653. package/src/utils/serialize-overrides-into-command-line.js +43 -0
  654. package/src/utils/split-target.d.ts +3 -0
  655. package/src/utils/split-target.js +49 -0
  656. package/src/utils/strip-indents.d.ts +14 -0
  657. package/src/utils/strip-indents.js +24 -0
  658. package/src/utils/typescript.d.ts +1 -0
  659. package/src/utils/typescript.js +5 -0
  660. package/src/utils/update-nxw.d.ts +2 -0
  661. package/src/utils/update-nxw.js +12 -0
  662. package/src/utils/versions.d.ts +1 -0
  663. package/src/utils/versions.js +4 -0
  664. package/src/utils/workspace-configuration-check.d.ts +1 -0
  665. package/src/utils/workspace-configuration-check.js +37 -0
  666. package/src/utils/workspace-context.d.ts +10 -0
  667. package/src/utils/workspace-context.js +56 -0
  668. package/src/utils/workspace-root.d.ts +6 -0
  669. package/src/utils/workspace-root.js +39 -0
  670. package/tasks-runners/default.d.ts +1 -0
  671. package/tasks-runners/default.js +5 -0
@@ -0,0 +1,15 @@
1
+ import { DefaultTasksRunnerOptions } from '../tasks-runner/default-tasks-runner';
2
+ import { TasksRunner } from '../tasks-runner/tasks-runner';
3
+ export interface CloudTaskRunnerOptions extends DefaultTasksRunnerOptions {
4
+ accessToken?: string;
5
+ canTrackAnalytics?: boolean;
6
+ encryptionKey?: string;
7
+ maskedProperties?: string[];
8
+ showUsageWarnings?: boolean;
9
+ customProxyConfigPath?: string;
10
+ useLatestApi?: boolean;
11
+ url?: string;
12
+ useLightClient?: boolean;
13
+ clientVersion?: string;
14
+ }
15
+ export declare const nxCloudTasksRunnerShell: TasksRunner<CloudTaskRunnerOptions>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nxCloudTasksRunnerShell = void 0;
4
+ const resolution_helpers_1 = require("./resolution-helpers");
5
+ const update_manager_1 = require("./update-manager");
6
+ const default_tasks_runner_1 = require("../tasks-runner/default-tasks-runner");
7
+ const output_1 = require("../utils/output");
8
+ const nxCloudTasksRunnerShell = async (tasks, options, context) => {
9
+ try {
10
+ const { nxCloudClient, version } = await (0, update_manager_1.verifyOrUpdateNxCloudClient)(options);
11
+ options.clientVersion = version;
12
+ const paths = (0, resolution_helpers_1.findAncestorNodeModules)(__dirname, []);
13
+ nxCloudClient.configureLightClientRequire()(paths);
14
+ return nxCloudClient.nxCloudTasksRunner(tasks, options, context);
15
+ }
16
+ catch (e) {
17
+ const body = e instanceof update_manager_1.NxCloudEnterpriseOutdatedError
18
+ ? [
19
+ 'If you are an Nx Enterprise customer, please reach out to your assigned Developer Productivity Engineer.',
20
+ 'If you are NOT an Nx Enterprise customer but are seeing this message, please reach out to cloud-support@nrwl.io.',
21
+ ]
22
+ : e instanceof update_manager_1.NxCloudClientUnavailableError
23
+ ? [
24
+ 'You might be offline. Nx Cloud will be re-enabled when you are back online.',
25
+ ]
26
+ : [];
27
+ if (e instanceof update_manager_1.NxCloudEnterpriseOutdatedError) {
28
+ output_1.output.warn({
29
+ title: e.message,
30
+ bodyLines: ['Nx Cloud will not used for this command.', ...body],
31
+ });
32
+ }
33
+ const results = await (0, default_tasks_runner_1.defaultTasksRunner)(tasks, options, context);
34
+ output_1.output.warn({
35
+ title: e.message,
36
+ bodyLines: ['Nx Cloud was not used for this command.', ...body],
37
+ });
38
+ return results;
39
+ }
40
+ };
41
+ exports.nxCloudTasksRunnerShell = nxCloudTasksRunnerShell;
@@ -0,0 +1 @@
1
+ export declare function findAncestorNodeModules(startPath: any, collector: any): any;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findAncestorNodeModules = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ function findAncestorNodeModules(startPath, collector) {
7
+ let currentPath = (0, path_1.isAbsolute)(startPath) ? startPath : (0, path_1.resolve)(startPath);
8
+ while (currentPath !== (0, path_1.dirname)(currentPath)) {
9
+ const potentialNodeModules = (0, path_1.join)(currentPath, 'node_modules');
10
+ if ((0, fs_1.existsSync)(potentialNodeModules)) {
11
+ collector.push(potentialNodeModules);
12
+ }
13
+ if ((0, fs_1.existsSync)((0, path_1.join)(currentPath, 'nx.json'))) {
14
+ break;
15
+ }
16
+ currentPath = (0, path_1.dirname)(currentPath);
17
+ }
18
+ return collector;
19
+ }
20
+ exports.findAncestorNodeModules = findAncestorNodeModules;
@@ -0,0 +1,17 @@
1
+ import type { CloudTaskRunnerOptions } from './nx-cloud-tasks-runner-shell';
2
+ import { TasksRunner } from '../tasks-runner/tasks-runner';
3
+ export declare class NxCloudEnterpriseOutdatedError extends Error {
4
+ constructor(url: string);
5
+ }
6
+ export declare class NxCloudClientUnavailableError extends Error {
7
+ constructor();
8
+ }
9
+ export interface NxCloudClient {
10
+ configureLightClientRequire: () => (paths: string[]) => void;
11
+ commands: Record<string, () => Promise<void>>;
12
+ nxCloudTasksRunner: TasksRunner<CloudTaskRunnerOptions>;
13
+ }
14
+ export declare function verifyOrUpdateNxCloudClient(options: CloudTaskRunnerOptions): Promise<{
15
+ nxCloudClient: NxCloudClient;
16
+ version: string;
17
+ } | null>;
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyOrUpdateNxCloudClient = exports.NxCloudClientUnavailableError = exports.NxCloudEnterpriseOutdatedError = void 0;
4
+ const fs_1 = require("fs");
5
+ const zlib_1 = require("zlib");
6
+ const path_1 = require("path");
7
+ const axios_1 = require("./utilities/axios");
8
+ const debug_logger_1 = require("./debug-logger");
9
+ const tar = require("tar-stream");
10
+ const cache_directory_1 = require("../utils/cache-directory");
11
+ const crypto_1 = require("crypto");
12
+ class NxCloudEnterpriseOutdatedError extends Error {
13
+ constructor(url) {
14
+ super(`Nx Cloud instance hosted at ${url} is outdated`);
15
+ }
16
+ }
17
+ exports.NxCloudEnterpriseOutdatedError = NxCloudEnterpriseOutdatedError;
18
+ class NxCloudClientUnavailableError extends Error {
19
+ constructor() {
20
+ super('No existing Nx Cloud client and failed to download new version');
21
+ }
22
+ }
23
+ exports.NxCloudClientUnavailableError = NxCloudClientUnavailableError;
24
+ async function verifyOrUpdateNxCloudClient(options) {
25
+ (0, debug_logger_1.debugLog)('Verifying current cloud bundle');
26
+ const currentBundle = getLatestInstalledRunnerBundle();
27
+ if (shouldVerifyInstalledRunnerBundle(currentBundle)) {
28
+ const axios = (0, axios_1.createApiAxiosInstance)(options);
29
+ let verifyBundleResponse;
30
+ try {
31
+ verifyBundleResponse = await verifyCurrentBundle(axios, currentBundle);
32
+ }
33
+ catch (e) {
34
+ // Enterprise image compatibility, to be removed
35
+ if (e.message === 'Request failed with status code 404' && options.url) {
36
+ throw new NxCloudEnterpriseOutdatedError(options.url);
37
+ }
38
+ (0, debug_logger_1.debugLog)('Could not verify bundle. Resetting validation timer and using previously installed or default runner. Error: ', e);
39
+ writeBundleVerificationLock();
40
+ if (currentBundle === null) {
41
+ throw new NxCloudClientUnavailableError();
42
+ }
43
+ if (currentBundle.version === 'NX_ENTERPRISE_OUTDATED_IMAGE') {
44
+ throw new NxCloudEnterpriseOutdatedError(options.url);
45
+ }
46
+ const nxCloudClient = require(currentBundle.fullPath);
47
+ if (nxCloudClient.commands === undefined) {
48
+ throw new NxCloudEnterpriseOutdatedError(options.url);
49
+ }
50
+ return {
51
+ version: currentBundle.version,
52
+ nxCloudClient,
53
+ };
54
+ }
55
+ if (verifyBundleResponse.data.valid) {
56
+ (0, debug_logger_1.debugLog)('Currently installed bundle is valid');
57
+ writeBundleVerificationLock();
58
+ return {
59
+ version: currentBundle.version,
60
+ nxCloudClient: require(currentBundle.fullPath),
61
+ };
62
+ }
63
+ const { version, url } = verifyBundleResponse.data;
64
+ (0, debug_logger_1.debugLog)('Currently installed bundle is invalid, downloading version', version, ' from ', url);
65
+ if (version === 'NX_ENTERPRISE_OUTDATED_IMAGE') {
66
+ throw new NxCloudEnterpriseOutdatedError(options.url);
67
+ }
68
+ const fullPath = await downloadAndExtractClientBundle(axios, runnerBundleInstallDirectory, version, url);
69
+ (0, debug_logger_1.debugLog)('Done: ', fullPath);
70
+ const nxCloudClient = require(fullPath);
71
+ if (nxCloudClient.commands === undefined) {
72
+ throw new NxCloudEnterpriseOutdatedError(options.url);
73
+ }
74
+ return { version, nxCloudClient };
75
+ }
76
+ if (currentBundle === null) {
77
+ throw new NxCloudClientUnavailableError();
78
+ }
79
+ (0, debug_logger_1.debugLog)('Done: ', currentBundle.fullPath);
80
+ return {
81
+ version: currentBundle.version,
82
+ nxCloudClient: require(currentBundle.fullPath),
83
+ };
84
+ }
85
+ exports.verifyOrUpdateNxCloudClient = verifyOrUpdateNxCloudClient;
86
+ const runnerBundleInstallDirectory = (0, path_1.join)(cache_directory_1.cacheDir, 'cloud');
87
+ function getLatestInstalledRunnerBundle() {
88
+ if (!(0, fs_1.existsSync)(runnerBundleInstallDirectory)) {
89
+ (0, fs_1.mkdirSync)(runnerBundleInstallDirectory, { recursive: true });
90
+ }
91
+ try {
92
+ const installedBundles = (0, fs_1.readdirSync)(runnerBundleInstallDirectory)
93
+ .filter((potentialDirectory) => {
94
+ return (0, fs_1.statSync)((0, path_1.join)(runnerBundleInstallDirectory, potentialDirectory)).isDirectory();
95
+ })
96
+ .map((fileOrDirectory) => ({
97
+ version: fileOrDirectory,
98
+ fullPath: (0, path_1.join)(runnerBundleInstallDirectory, fileOrDirectory),
99
+ }));
100
+ if (installedBundles.length === 0) {
101
+ // No installed bundles
102
+ return null;
103
+ }
104
+ return installedBundles[0];
105
+ }
106
+ catch (e) {
107
+ console.log('Could not read runner bundle path:', e.message);
108
+ return null;
109
+ }
110
+ }
111
+ function shouldVerifyInstalledRunnerBundle(currentBundle) {
112
+ if (process.env.NX_CLOUD_FORCE_REVALIDATE === 'true') {
113
+ return true;
114
+ }
115
+ // No bundle, need to download anyway
116
+ if (currentBundle != null) {
117
+ (0, debug_logger_1.debugLog)('A local bundle currently exists: ', currentBundle);
118
+ const lastVerification = getLatestBundleVerificationTimestamp();
119
+ // Never been verified, need to verify
120
+ if (lastVerification != null) {
121
+ // If last verification was less than 30 minutes ago, return the current installed bundle
122
+ const THIRTY_MINUTES = 30 * 60 * 1000;
123
+ if (Date.now() - lastVerification < THIRTY_MINUTES) {
124
+ (0, debug_logger_1.debugLog)('Last verification was within the past 30 minutes, will not verify this time');
125
+ return false;
126
+ }
127
+ (0, debug_logger_1.debugLog)('Last verification was more than 30 minutes ago, verifying bundle is still valid');
128
+ }
129
+ }
130
+ return true;
131
+ }
132
+ async function verifyCurrentBundle(axios, currentBundle) {
133
+ return axios.get('/nx-cloud/client/verify', {
134
+ params: currentBundle
135
+ ? {
136
+ version: currentBundle.version,
137
+ contentHash: getBundleContentHash(currentBundle),
138
+ }
139
+ : {},
140
+ });
141
+ }
142
+ function getLatestBundleVerificationTimestamp() {
143
+ const lockfilePath = (0, path_1.join)(runnerBundleInstallDirectory, 'verify.lock');
144
+ if ((0, fs_1.existsSync)(lockfilePath)) {
145
+ const timestampAsString = (0, fs_1.readFileSync)(lockfilePath, 'utf-8');
146
+ let timestampAsNumber;
147
+ try {
148
+ timestampAsNumber = Number(timestampAsString);
149
+ return timestampAsNumber;
150
+ }
151
+ catch (e) {
152
+ return null;
153
+ }
154
+ }
155
+ return null;
156
+ }
157
+ function writeBundleVerificationLock() {
158
+ const lockfilePath = (0, path_1.join)(runnerBundleInstallDirectory, 'verify.lock');
159
+ (0, fs_1.writeFileSync)(lockfilePath, new Date().getTime().toString(), 'utf-8');
160
+ }
161
+ function getBundleContentHash(bundle) {
162
+ if (bundle == null) {
163
+ return null;
164
+ }
165
+ return hashDirectory(bundle.fullPath);
166
+ }
167
+ function hashDirectory(dir) {
168
+ const files = (0, fs_1.readdirSync)(dir).sort();
169
+ const hashes = files.map((file) => {
170
+ const filePath = (0, path_1.join)(dir, file);
171
+ const stat = (0, fs_1.statSync)(filePath);
172
+ // If the current path is a directory, recursively hash the contents
173
+ if (stat.isDirectory()) {
174
+ return hashDirectory(filePath);
175
+ }
176
+ // If it's a file, hash the file contents
177
+ const content = (0, fs_1.readFileSync)(filePath);
178
+ return (0, crypto_1.createHash)('sha256').update(content).digest('hex');
179
+ });
180
+ // Hash the combined hashes of the directory's contents
181
+ const combinedHashes = hashes.sort().join('');
182
+ return (0, crypto_1.createHash)('sha256').update(combinedHashes).digest('hex');
183
+ }
184
+ async function downloadAndExtractClientBundle(axios, runnerBundleInstallDirectory, version, url) {
185
+ let resp;
186
+ try {
187
+ resp = await axios.get(url, {
188
+ responseType: 'stream',
189
+ });
190
+ }
191
+ catch (e) {
192
+ console.error('Error while updating Nx Cloud client bundle');
193
+ throw e;
194
+ }
195
+ const bundleExtractLocation = (0, path_1.join)(runnerBundleInstallDirectory, version);
196
+ if (!(0, fs_1.existsSync)(bundleExtractLocation)) {
197
+ (0, fs_1.mkdirSync)(bundleExtractLocation);
198
+ }
199
+ return new Promise((res, rej) => {
200
+ const extract = tar.extract();
201
+ extract.on('entry', function (headers, stream, next) {
202
+ if (headers.type === 'directory') {
203
+ const directoryPath = (0, path_1.join)(bundleExtractLocation, headers.name);
204
+ if (!(0, fs_1.existsSync)(directoryPath)) {
205
+ (0, fs_1.mkdirSync)(directoryPath, { recursive: true });
206
+ }
207
+ next();
208
+ stream.resume();
209
+ }
210
+ else if (headers.type === 'file') {
211
+ const outputFilePath = (0, path_1.join)(bundleExtractLocation, headers.name);
212
+ const writeStream = (0, fs_1.createWriteStream)(outputFilePath);
213
+ stream.pipe(writeStream);
214
+ // Continue the tar stream after the write stream closes
215
+ writeStream.on('close', () => {
216
+ next();
217
+ });
218
+ stream.resume();
219
+ }
220
+ });
221
+ extract.on('error', (e) => {
222
+ rej(e);
223
+ });
224
+ extract.on('finish', function () {
225
+ removeOldClientBundles(version);
226
+ writeBundleVerificationLock();
227
+ res(bundleExtractLocation);
228
+ });
229
+ resp.data.pipe((0, zlib_1.createGunzip)()).pipe(extract);
230
+ });
231
+ }
232
+ function removeOldClientBundles(currentInstallVersion) {
233
+ const filesAndFolders = (0, fs_1.readdirSync)(runnerBundleInstallDirectory);
234
+ for (let fileOrFolder of filesAndFolders) {
235
+ const fileOrFolderPath = (0, path_1.join)(runnerBundleInstallDirectory, fileOrFolder);
236
+ if (fileOrFolder !== currentInstallVersion) {
237
+ (0, fs_1.rmSync)(fileOrFolderPath, { recursive: true });
238
+ }
239
+ }
240
+ }
@@ -0,0 +1,2 @@
1
+ import { CloudTaskRunnerOptions } from '../nx-cloud-tasks-runner-shell';
2
+ export declare function createApiAxiosInstance(options: CloudTaskRunnerOptions): any;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createApiAxiosInstance = void 0;
4
+ const path_1 = require("path");
5
+ const environment_1 = require("./environment");
6
+ const axios = require('axios');
7
+ function createApiAxiosInstance(options) {
8
+ let axiosConfigBuilder = (axiosConfig) => axiosConfig;
9
+ const baseUrl = process.env.NX_CLOUD_API || options.url || 'https://cloud.nx.app';
10
+ const accessToken = environment_1.ACCESS_TOKEN ? environment_1.ACCESS_TOKEN : options.accessToken;
11
+ if (!accessToken) {
12
+ throw new Error(`Unable to authenticate. Either define accessToken in nx.json or set the NX_CLOUD_ACCESS_TOKEN env variable.`);
13
+ }
14
+ if (options.customProxyConfigPath) {
15
+ const { nxCloudProxyConfig } = require((0, path_1.join)(process.cwd(), options.customProxyConfigPath));
16
+ axiosConfigBuilder = nxCloudProxyConfig ?? axiosConfigBuilder;
17
+ }
18
+ return axios.create(axiosConfigBuilder({
19
+ baseURL: baseUrl,
20
+ timeout: environment_1.NX_CLOUD_NO_TIMEOUTS ? environment_1.UNLIMITED_TIMEOUT : 10000,
21
+ headers: { authorization: accessToken },
22
+ }));
23
+ }
24
+ exports.createApiAxiosInstance = createApiAxiosInstance;
@@ -0,0 +1,3 @@
1
+ export declare const UNLIMITED_TIMEOUT = 9999999;
2
+ export declare let ACCESS_TOKEN: any;
3
+ export declare let NX_CLOUD_NO_TIMEOUTS: any;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NX_CLOUD_NO_TIMEOUTS = exports.ACCESS_TOKEN = exports.UNLIMITED_TIMEOUT = void 0;
4
+ const dotenv = require("dotenv");
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ const is_ci_1 = require("../../utils/is-ci");
8
+ const workspace_root_1 = require("../../utils/workspace-root");
9
+ // Set once
10
+ exports.UNLIMITED_TIMEOUT = 9999999;
11
+ process.env.NX_CLOUD_AGENT_TIMEOUT_MS
12
+ ? Number(process.env.NX_CLOUD_AGENT_TIMEOUT_MS)
13
+ : 3600000;
14
+ // 60 minutes
15
+ process.env.NX_CLOUD_ORCHESTRATOR_TIMEOUT_MS
16
+ ? Number(process.env.NX_CLOUD_ORCHESTRATOR_TIMEOUT_MS)
17
+ : 3600000;
18
+ // 60 minutes
19
+ process.env.NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT
20
+ ? Number(process.env.NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT)
21
+ : null;
22
+ process.env.NX_CLOUD_NUMBER_OF_RETRIES
23
+ ? Number(process.env.NX_CLOUD_NUMBER_OF_RETRIES)
24
+ : (0, is_ci_1.isCI)()
25
+ ? 10
26
+ : 1;
27
+ loadEnvVars();
28
+ function parseEnv() {
29
+ try {
30
+ const envContents = (0, fs_1.readFileSync)((0, path_1.join)(workspace_root_1.workspaceRoot, 'nx-cloud.env'));
31
+ return dotenv.parse(envContents);
32
+ }
33
+ catch (e) {
34
+ return {};
35
+ }
36
+ }
37
+ function loadEnvVars() {
38
+ const parsed = parseEnv();
39
+ exports.ACCESS_TOKEN =
40
+ process.env.NX_CLOUD_AUTH_TOKEN ||
41
+ process.env.NX_CLOUD_ACCESS_TOKEN ||
42
+ parsed.NX_CLOUD_AUTH_TOKEN ||
43
+ parsed.NX_CLOUD_ACCESS_TOKEN;
44
+ exports.NX_CLOUD_NO_TIMEOUTS =
45
+ process.env.NX_CLOUD_NO_TIMEOUTS === 'true' ||
46
+ parsed.NX_CLOUD_NO_TIMEOUTS === 'true';
47
+ }
@@ -0,0 +1,2 @@
1
+ import { CloudTaskRunnerOptions } from '../nx-cloud-tasks-runner-shell';
2
+ export declare function getCloudOptions(): CloudTaskRunnerOptions;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCloudOptions = void 0;
4
+ const nx_json_1 = require("../../config/nx-json");
5
+ const run_command_1 = require("../../tasks-runner/run-command");
6
+ function getCloudOptions() {
7
+ const nxJson = (0, nx_json_1.readNxJson)();
8
+ // TODO: The default is not always cloud? But it's not handled at the moment
9
+ return (0, run_command_1.getRunnerOptions)('default', nxJson, {}, true);
10
+ }
11
+ exports.getCloudOptions = getCloudOptions;
@@ -0,0 +1,5 @@
1
+ import { ProjectGraphProjectNode } from '../../../config/project-graph';
2
+ import { ProjectRootMappings } from '../../../project-graph/utils/find-project-for-path';
3
+ export declare function hashTsConfig(p: ProjectGraphProjectNode, projectRootMappings: ProjectRootMappings, { selectivelyHashTsConfig }: {
4
+ selectivelyHashTsConfig: boolean;
5
+ }): string;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hashTsConfig = void 0;
4
+ const fileutils_1 = require("../../../utils/fileutils");
5
+ const typescript_1 = require("../utils/typescript");
6
+ const find_project_for_path_1 = require("../../../project-graph/utils/find-project-for-path");
7
+ function readTsConfigJson() {
8
+ try {
9
+ const res = (0, fileutils_1.readJsonFile)((0, typescript_1.getRootTsConfigPath)());
10
+ res.compilerOptions.paths ??= {};
11
+ return res;
12
+ }
13
+ catch {
14
+ return {
15
+ compilerOptions: { paths: {} },
16
+ };
17
+ }
18
+ }
19
+ let tsConfigJson;
20
+ function hashTsConfig(p, projectRootMappings, { selectivelyHashTsConfig }) {
21
+ if (!tsConfigJson) {
22
+ tsConfigJson = readTsConfigJson();
23
+ }
24
+ if (selectivelyHashTsConfig) {
25
+ return removeOtherProjectsPathRecords(p, tsConfigJson, projectRootMappings);
26
+ }
27
+ else {
28
+ return JSON.stringify(tsConfigJson);
29
+ }
30
+ }
31
+ exports.hashTsConfig = hashTsConfig;
32
+ function removeOtherProjectsPathRecords(p, tsConfigJson, projectRootMapping) {
33
+ const { paths, ...compilerOptions } = tsConfigJson.compilerOptions;
34
+ const filteredPaths = {};
35
+ if (!paths) {
36
+ return '';
37
+ }
38
+ for (const [key, files] of Object.entries(paths)) {
39
+ for (const filePath of files) {
40
+ if (p.name === (0, find_project_for_path_1.findProjectForPath)(filePath, projectRootMapping)) {
41
+ filteredPaths[key] = files;
42
+ break;
43
+ }
44
+ }
45
+ }
46
+ return JSON.stringify({
47
+ compilerOptions: {
48
+ ...compilerOptions,
49
+ paths: filteredPaths,
50
+ },
51
+ });
52
+ }
@@ -0,0 +1,4 @@
1
+ import { CreateDependencies, CreateNodes } from '../../utils/nx-plugin';
2
+ export declare const name = "nx/js/dependencies-and-lockfile";
3
+ export declare const createNodes: CreateNodes;
4
+ export declare const createDependencies: CreateDependencies;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDependencies = exports.createNodes = exports.name = void 0;
4
+ const fs_1 = require("fs");
5
+ const fs_extra_1 = require("fs-extra");
6
+ const path_1 = require("path");
7
+ const perf_hooks_1 = require("perf_hooks");
8
+ const cache_directory_1 = require("../../utils/cache-directory");
9
+ const globs_1 = require("../../utils/globs");
10
+ const lock_file_1 = require("./lock-file/lock-file");
11
+ const build_dependencies_1 = require("./project-graph/build-dependencies/build-dependencies");
12
+ const config_1 = require("./utils/config");
13
+ const file_hasher_1 = require("../../hasher/file-hasher");
14
+ const package_manager_1 = require("../../utils/package-manager");
15
+ const workspace_root_1 = require("../../utils/workspace-root");
16
+ const versions_1 = require("../../utils/versions");
17
+ exports.name = 'nx/js/dependencies-and-lockfile';
18
+ let parsedLockFile = {};
19
+ exports.createNodes = [
20
+ // Look for all lockfiles
21
+ (0, globs_1.combineGlobPatterns)(lock_file_1.LOCKFILES),
22
+ (lockFile, _, context) => {
23
+ const pluginConfig = (0, config_1.jsPluginConfig)(context.nxJsonConfiguration);
24
+ if (!pluginConfig.analyzeLockfile) {
25
+ return {};
26
+ }
27
+ const packageManager = (0, package_manager_1.detectPackageManager)(workspace_root_1.workspaceRoot);
28
+ // Only process the correct lockfile
29
+ if (lockFile !== (0, lock_file_1.getLockFileName)(packageManager)) {
30
+ return {};
31
+ }
32
+ const lockFilePath = (0, path_1.join)(workspace_root_1.workspaceRoot, lockFile);
33
+ const lockFileContents = (0, fs_1.readFileSync)(lockFilePath).toString();
34
+ const lockFileHash = getLockFileHash(lockFileContents);
35
+ if (!lockFileNeedsReprocessing(lockFileHash)) {
36
+ const nodes = readCachedParsedLockFile().externalNodes;
37
+ parsedLockFile.externalNodes = nodes;
38
+ return {
39
+ externalNodes: nodes,
40
+ };
41
+ }
42
+ const externalNodes = (0, lock_file_1.getLockFileNodes)(packageManager, lockFileContents, lockFileHash);
43
+ parsedLockFile.externalNodes = externalNodes;
44
+ return {
45
+ externalNodes,
46
+ };
47
+ },
48
+ ];
49
+ const createDependencies = (_, ctx) => {
50
+ const pluginConfig = (0, config_1.jsPluginConfig)(ctx.nxJsonConfiguration);
51
+ const packageManager = (0, package_manager_1.detectPackageManager)(workspace_root_1.workspaceRoot);
52
+ let lockfileDependencies = [];
53
+ // lockfile may not exist yet
54
+ if (pluginConfig.analyzeLockfile &&
55
+ (0, lock_file_1.lockFileExists)(packageManager) &&
56
+ parsedLockFile) {
57
+ const lockFilePath = (0, path_1.join)(workspace_root_1.workspaceRoot, (0, lock_file_1.getLockFileName)(packageManager));
58
+ const lockFileContents = (0, fs_1.readFileSync)(lockFilePath).toString();
59
+ const lockFileHash = getLockFileHash(lockFileContents);
60
+ if (!lockFileNeedsReprocessing(lockFileHash)) {
61
+ lockfileDependencies = readCachedParsedLockFile().dependencies ?? [];
62
+ }
63
+ else {
64
+ lockfileDependencies = (0, lock_file_1.getLockFileDependencies)(packageManager, lockFileContents, lockFileHash, ctx);
65
+ parsedLockFile.dependencies = lockfileDependencies;
66
+ writeLastProcessedLockfileHash(lockFileHash, parsedLockFile);
67
+ }
68
+ }
69
+ perf_hooks_1.performance.mark('build typescript dependencies - start');
70
+ const explicitProjectDependencies = (0, build_dependencies_1.buildExplicitDependencies)(pluginConfig, ctx);
71
+ perf_hooks_1.performance.mark('build typescript dependencies - end');
72
+ perf_hooks_1.performance.measure('build typescript dependencies', 'build typescript dependencies - start', 'build typescript dependencies - end');
73
+ return lockfileDependencies.concat(explicitProjectDependencies);
74
+ };
75
+ exports.createDependencies = createDependencies;
76
+ function getLockFileHash(lockFileContents) {
77
+ return (0, file_hasher_1.hashArray)([versions_1.nxVersion, lockFileContents]);
78
+ }
79
+ function lockFileNeedsReprocessing(lockHash) {
80
+ try {
81
+ return (0, fs_1.readFileSync)(lockFileHashFile).toString() !== lockHash;
82
+ }
83
+ catch {
84
+ return true;
85
+ }
86
+ }
87
+ function writeLastProcessedLockfileHash(hash, lockFile) {
88
+ (0, fs_extra_1.ensureDirSync)((0, path_1.dirname)(lockFileHashFile));
89
+ (0, fs_1.writeFileSync)(cachedParsedLockFile, JSON.stringify(lockFile, null, 2));
90
+ (0, fs_1.writeFileSync)(lockFileHashFile, hash);
91
+ }
92
+ function readCachedParsedLockFile() {
93
+ return JSON.parse((0, fs_1.readFileSync)(cachedParsedLockFile).toString());
94
+ }
95
+ const lockFileHashFile = (0, path_1.join)(cache_directory_1.projectGraphCacheDirectory, 'lockfile.hash');
96
+ const cachedParsedLockFile = (0, path_1.join)(cache_directory_1.projectGraphCacheDirectory, 'parsed-lock-file.json');
@@ -0,0 +1,34 @@
1
+ /**
2
+ * This is the main API for accessing the lock file functionality.
3
+ * It encapsulates the package manager specific logic and implementation details.
4
+ */
5
+ import { PackageManager } from '../../../utils/package-manager';
6
+ import { ProjectGraph, ProjectGraphExternalNode } from '../../../config/project-graph';
7
+ import { RawProjectGraphDependency } from '../../../project-graph/project-graph-builder';
8
+ import { PackageJson } from '../../../utils/package-json';
9
+ import { CreateDependenciesContext } from '../../../utils/nx-plugin';
10
+ export declare const LOCKFILES: string[];
11
+ /**
12
+ * Parses lock file and maps dependencies and metadata to {@link LockFileGraph}
13
+ */
14
+ export declare function getLockFileNodes(packageManager: PackageManager, contents: string, lockFileHash: string): Record<string, ProjectGraphExternalNode>;
15
+ /**
16
+ * Parses lock file and maps dependencies and metadata to {@link LockFileGraph}
17
+ */
18
+ export declare function getLockFileDependencies(packageManager: PackageManager, contents: string, lockFileHash: string, context: CreateDependenciesContext): RawProjectGraphDependency[];
19
+ export declare function lockFileExists(packageManager: PackageManager): boolean;
20
+ /**
21
+ * Returns lock file name based on the detected package manager in the root
22
+ * @param packageManager
23
+ * @returns
24
+ */
25
+ export declare function getLockFileName(packageManager: PackageManager): string;
26
+ /**
27
+ * Create lock file based on the root level lock file and (pruned) package.json
28
+ *
29
+ * @param packageJson
30
+ * @param isProduction
31
+ * @param packageManager
32
+ * @returns
33
+ */
34
+ export declare function createLockFile(packageJson: PackageJson, graph: ProjectGraph, packageManager?: PackageManager): string;