@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,300 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.packageRegistryPack = exports.packageRegistryView = exports.resolvePackageVersionUsingInstallation = exports.resolvePackageVersionUsingRegistry = exports.createTempNpmDirectory = exports.copyPackageManagerConfigurationFiles = exports.modifyYarnRcToFitNewDirectory = exports.modifyYarnRcYmlToFitNewDirectory = exports.findFileInPackageJsonDirectory = exports.getPackageManagerVersion = exports.getPackageManagerCommand = exports.detectPackageManager = void 0;
4
+ const child_process_1 = require("child_process");
5
+ const fs_1 = require("fs");
6
+ const fs_extra_1 = require("fs-extra");
7
+ const path_1 = require("path");
8
+ const semver_1 = require("semver");
9
+ const tmp_1 = require("tmp");
10
+ const util_1 = require("util");
11
+ const configuration_1 = require("../config/configuration");
12
+ const fileutils_1 = require("./fileutils");
13
+ const package_json_1 = require("./package-json");
14
+ const workspace_root_1 = require("./workspace-root");
15
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
16
+ /**
17
+ * Detects which package manager is used in the workspace based on the lock file.
18
+ */
19
+ function detectPackageManager(dir = '') {
20
+ const nxJson = (0, configuration_1.readNxJson)();
21
+ return (nxJson.cli?.packageManager ??
22
+ ((0, fs_1.existsSync)((0, path_1.join)(dir, 'yarn.lock'))
23
+ ? 'yarn'
24
+ : (0, fs_1.existsSync)((0, path_1.join)(dir, 'pnpm-lock.yaml'))
25
+ ? 'pnpm'
26
+ : 'npm'));
27
+ }
28
+ exports.detectPackageManager = detectPackageManager;
29
+ /**
30
+ * Returns commands for the package manager used in the workspace.
31
+ * By default, the package manager is derived based on the lock file,
32
+ * but it can also be passed in explicitly.
33
+ *
34
+ * Example:
35
+ *
36
+ * ```javascript
37
+ * execSync(`${getPackageManagerCommand().addDev} my-dev-package`);
38
+ * ```
39
+ *
40
+ * @param packageManager The package manager to use. If not provided, it will be detected based on the lock file.
41
+ * @param root The directory the commands will be ran inside of. Defaults to the current workspace's root.
42
+ */
43
+ function getPackageManagerCommand(packageManager = detectPackageManager(), root = workspace_root_1.workspaceRoot) {
44
+ const commands = {
45
+ yarn: () => {
46
+ const yarnVersion = getPackageManagerVersion('yarn', root);
47
+ const useBerry = (0, semver_1.gte)(yarnVersion, '2.0.0');
48
+ return {
49
+ preInstall: `yarn set version ${yarnVersion}`,
50
+ install: 'yarn',
51
+ ciInstall: useBerry
52
+ ? 'yarn install --immutable'
53
+ : 'yarn install --frozen-lockfile',
54
+ updateLockFile: useBerry
55
+ ? 'yarn install --mode update-lockfile'
56
+ : 'yarn install',
57
+ add: useBerry ? 'yarn add' : 'yarn add -W',
58
+ addDev: useBerry ? 'yarn add -D' : 'yarn add -D -W',
59
+ rm: 'yarn remove',
60
+ exec: 'yarn',
61
+ dlx: useBerry ? 'yarn dlx' : 'yarn',
62
+ run: (script, args) => `yarn ${script} ${args}`,
63
+ list: useBerry ? 'yarn info --name-only' : 'yarn list',
64
+ };
65
+ },
66
+ pnpm: () => {
67
+ const pnpmVersion = getPackageManagerVersion('pnpm', root);
68
+ const modernPnpm = (0, semver_1.gte)(pnpmVersion, '6.13.0');
69
+ const includeDoubleDashBeforeArgs = (0, semver_1.lt)(pnpmVersion, '7.0.0');
70
+ const isPnpmWorkspace = (0, fs_1.existsSync)((0, path_1.join)(root, 'pnpm-workspace.yaml'));
71
+ return {
72
+ install: 'pnpm install --no-frozen-lockfile', // explicitly disable in case of CI
73
+ ciInstall: 'pnpm install --frozen-lockfile',
74
+ updateLockFile: 'pnpm install --lockfile-only',
75
+ add: isPnpmWorkspace ? 'pnpm add -w' : 'pnpm add',
76
+ addDev: isPnpmWorkspace ? 'pnpm add -Dw' : 'pnpm add -D',
77
+ rm: 'pnpm rm',
78
+ exec: modernPnpm ? 'pnpm exec' : 'pnpx',
79
+ dlx: modernPnpm ? 'pnpm dlx' : 'pnpx',
80
+ run: (script, args) => includeDoubleDashBeforeArgs
81
+ ? `pnpm run ${script} -- ${args}`
82
+ : `pnpm run ${script} ${args}`,
83
+ list: 'pnpm ls --depth 100',
84
+ };
85
+ },
86
+ npm: () => {
87
+ // TODO: Remove this
88
+ process.env.npm_config_legacy_peer_deps ??= 'true';
89
+ return {
90
+ install: 'npm install',
91
+ ciInstall: 'npm ci',
92
+ updateLockFile: 'npm install --package-lock-only',
93
+ add: 'npm install',
94
+ addDev: 'npm install -D',
95
+ rm: 'npm rm',
96
+ exec: 'npx',
97
+ dlx: 'npx',
98
+ run: (script, args) => `npm run ${script} -- ${args}`,
99
+ list: 'npm ls',
100
+ };
101
+ },
102
+ };
103
+ return commands[packageManager]();
104
+ }
105
+ exports.getPackageManagerCommand = getPackageManagerCommand;
106
+ /**
107
+ * Returns the version of the package manager used in the workspace.
108
+ * By default, the package manager is derived based on the lock file,
109
+ * but it can also be passed in explicitly.
110
+ */
111
+ function getPackageManagerVersion(packageManager = detectPackageManager(), cwd = process.cwd()) {
112
+ return (0, child_process_1.execSync)(`${packageManager} --version`, {
113
+ cwd,
114
+ encoding: 'utf-8',
115
+ }).trim();
116
+ }
117
+ exports.getPackageManagerVersion = getPackageManagerVersion;
118
+ /**
119
+ * Checks for a project level npmrc file by crawling up the file tree until
120
+ * hitting a package.json file, as this is how npm finds them as well.
121
+ */
122
+ function findFileInPackageJsonDirectory(file, directory = process.cwd()) {
123
+ while (!(0, fs_1.existsSync)((0, path_1.join)(directory, 'package.json'))) {
124
+ directory = (0, path_1.dirname)(directory);
125
+ }
126
+ const path = (0, path_1.join)(directory, file);
127
+ return (0, fs_1.existsSync)(path) ? path : null;
128
+ }
129
+ exports.findFileInPackageJsonDirectory = findFileInPackageJsonDirectory;
130
+ /**
131
+ * We copy yarnrc.yml to the temporary directory to ensure things like the specified
132
+ * package registry are still used. However, there are a few relative paths that can
133
+ * cause issues, so we modify them to fit the new directory.
134
+ *
135
+ * Exported for testing - not meant to be used outside of this file.
136
+ *
137
+ * @param contents The string contents of the yarnrc.yml file
138
+ * @returns Updated string contents of the yarnrc.yml file
139
+ */
140
+ function modifyYarnRcYmlToFitNewDirectory(contents) {
141
+ const { parseSyml, stringifySyml } = require('@yarnpkg/parsers');
142
+ const parsed = parseSyml(contents);
143
+ if (parsed.yarnPath) {
144
+ // yarnPath is relative to the workspace root, so we need to make it relative
145
+ // to the new directory s.t. it still points to the same yarn binary.
146
+ delete parsed.yarnPath;
147
+ }
148
+ if (parsed.plugins) {
149
+ // Plugins specified by a string are relative paths from workspace root.
150
+ // ex: https://yarnpkg.com/advanced/plugin-tutorial#writing-our-first-plugin
151
+ delete parsed.plugins;
152
+ }
153
+ return stringifySyml(parsed);
154
+ }
155
+ exports.modifyYarnRcYmlToFitNewDirectory = modifyYarnRcYmlToFitNewDirectory;
156
+ /**
157
+ * We copy .yarnrc to the temporary directory to ensure things like the specified
158
+ * package registry are still used. However, there are a few relative paths that can
159
+ * cause issues, so we modify them to fit the new directory.
160
+ *
161
+ * Exported for testing - not meant to be used outside of this file.
162
+ *
163
+ * @param contents The string contents of the yarnrc.yml file
164
+ * @returns Updated string contents of the yarnrc.yml file
165
+ */
166
+ function modifyYarnRcToFitNewDirectory(contents) {
167
+ const lines = contents.split('\n');
168
+ const yarnPathIndex = lines.findIndex((line) => line.startsWith('yarn-path'));
169
+ if (yarnPathIndex !== -1) {
170
+ lines.splice(yarnPathIndex, 1);
171
+ }
172
+ return lines.join('\n');
173
+ }
174
+ exports.modifyYarnRcToFitNewDirectory = modifyYarnRcToFitNewDirectory;
175
+ function copyPackageManagerConfigurationFiles(root, destination) {
176
+ for (const packageManagerConfigFile of ['.npmrc', '.yarnrc', '.yarnrc.yml']) {
177
+ // f is an absolute path, including the {workspaceRoot}.
178
+ const f = findFileInPackageJsonDirectory(packageManagerConfigFile, root);
179
+ if (f) {
180
+ // Destination should be the same relative path from the {workspaceRoot},
181
+ // but now relative to the destination. `relative` makes `{workspaceRoot}/some/path`
182
+ // look like `./some/path`, and joining that gets us `{destination}/some/path
183
+ const destinationPath = (0, path_1.join)(destination, (0, path_1.relative)(root, f));
184
+ switch (packageManagerConfigFile) {
185
+ case '.npmrc': {
186
+ (0, fs_1.copyFileSync)(f, destinationPath);
187
+ break;
188
+ }
189
+ case '.yarnrc': {
190
+ const updated = modifyYarnRcToFitNewDirectory((0, fileutils_1.readFileIfExisting)(f));
191
+ (0, fs_1.writeFileSync)(destinationPath, updated);
192
+ break;
193
+ }
194
+ case '.yarnrc.yml': {
195
+ const updated = modifyYarnRcYmlToFitNewDirectory((0, fileutils_1.readFileIfExisting)(f));
196
+ (0, fs_1.writeFileSync)(destinationPath, updated);
197
+ break;
198
+ }
199
+ }
200
+ }
201
+ }
202
+ }
203
+ exports.copyPackageManagerConfigurationFiles = copyPackageManagerConfigurationFiles;
204
+ /**
205
+ * Creates a temporary directory where you can run package manager commands safely.
206
+ *
207
+ * For cases where you'd want to install packages that require an `.npmrc` set up,
208
+ * this function looks up for the nearest `.npmrc` (if exists) and copies it over to the
209
+ * temp directory.
210
+ */
211
+ function createTempNpmDirectory() {
212
+ const dir = (0, tmp_1.dirSync)().name;
213
+ // A package.json is needed for pnpm pack and for .npmrc to resolve
214
+ (0, fileutils_1.writeJsonFile)(`${dir}/package.json`, {});
215
+ copyPackageManagerConfigurationFiles(workspace_root_1.workspaceRoot, dir);
216
+ const cleanup = async () => {
217
+ try {
218
+ await (0, fs_extra_1.remove)(dir);
219
+ }
220
+ catch {
221
+ // It's okay if this fails, the OS will clean it up eventually
222
+ }
223
+ };
224
+ return { dir, cleanup };
225
+ }
226
+ exports.createTempNpmDirectory = createTempNpmDirectory;
227
+ /**
228
+ * Returns the resolved version for a given package and version tag using the
229
+ * NPM registry (when using Yarn it will fall back to NPM to fetch the info).
230
+ */
231
+ async function resolvePackageVersionUsingRegistry(packageName, version) {
232
+ try {
233
+ const result = await packageRegistryView(packageName, version, 'version');
234
+ if (!result) {
235
+ throw new Error(`Unable to resolve version ${packageName}@${version}.`);
236
+ }
237
+ // get the last line of the output, strip the package version and quotes
238
+ const resolvedVersion = result
239
+ .split('\n')
240
+ .pop()
241
+ .split(' ')
242
+ .pop()
243
+ .replace(/'/g, '');
244
+ return resolvedVersion;
245
+ }
246
+ catch {
247
+ throw new Error(`Unable to resolve version ${packageName}@${version}.`);
248
+ }
249
+ }
250
+ exports.resolvePackageVersionUsingRegistry = resolvePackageVersionUsingRegistry;
251
+ /**
252
+ * Return the resolved version for a given package and version tag using by
253
+ * installing it in a temporary directory and fetching the version from the
254
+ * package.json.
255
+ */
256
+ async function resolvePackageVersionUsingInstallation(packageName, version) {
257
+ const { dir, cleanup } = createTempNpmDirectory();
258
+ try {
259
+ const pmc = getPackageManagerCommand();
260
+ await execAsync(`${pmc.add} ${packageName}@${version}`, { cwd: dir });
261
+ const { packageJson } = (0, package_json_1.readModulePackageJson)(packageName, [dir]);
262
+ return packageJson.version;
263
+ }
264
+ finally {
265
+ await cleanup();
266
+ }
267
+ }
268
+ exports.resolvePackageVersionUsingInstallation = resolvePackageVersionUsingInstallation;
269
+ async function packageRegistryView(pkg, version, args) {
270
+ let pm = detectPackageManager();
271
+ if (pm === 'yarn') {
272
+ /**
273
+ * yarn has `yarn info` but it behaves differently than (p)npm,
274
+ * which makes it's usage unreliable
275
+ *
276
+ * @see https://github.com/nrwl/nx/pull/9667#discussion_r842553994
277
+ */
278
+ pm = 'npm';
279
+ }
280
+ const { stdout } = await execAsync(`${pm} view ${pkg}@${version} ${args}`);
281
+ return stdout.toString().trim();
282
+ }
283
+ exports.packageRegistryView = packageRegistryView;
284
+ async function packageRegistryPack(cwd, pkg, version) {
285
+ let pm = detectPackageManager();
286
+ if (pm === 'yarn') {
287
+ /**
288
+ * `(p)npm pack` will download a tarball of the specified version,
289
+ * whereas `yarn` pack creates a tarball of the active workspace, so it
290
+ * does not work for getting the content of a library.
291
+ *
292
+ * @see https://github.com/nrwl/nx/pull/9667#discussion_r842553994
293
+ */
294
+ pm = 'npm';
295
+ }
296
+ const { stdout } = await execAsync(`${pm} pack ${pkg}@${version}`, { cwd });
297
+ const tarballPath = stdout.trim();
298
+ return { tarballPath };
299
+ }
300
+ exports.packageRegistryPack = packageRegistryPack;
@@ -0,0 +1,138 @@
1
+ import { NxJsonConfiguration } from '../config/nx-json';
2
+ import { TargetConfiguration, ProjectsConfigurations } from '../config/workspace-json-project-json';
3
+ type PropertyDescription = {
4
+ type?: string | string[];
5
+ required?: string[];
6
+ enum?: string[];
7
+ properties?: Properties;
8
+ oneOf?: PropertyDescription[];
9
+ anyOf?: PropertyDescription[];
10
+ allOf?: PropertyDescription[];
11
+ items?: any;
12
+ alias?: string;
13
+ aliases?: string[];
14
+ description?: string;
15
+ format?: string;
16
+ visible?: boolean;
17
+ hidden?: boolean;
18
+ default?: string | number | boolean | string[] | {
19
+ [key: string]: string | number | boolean | string[];
20
+ };
21
+ $ref?: string;
22
+ $default?: {
23
+ $source: 'argv';
24
+ index: number;
25
+ } | {
26
+ $source: 'projectName';
27
+ } | {
28
+ $source: 'unparsed';
29
+ } | {
30
+ $source: 'workingDirectory';
31
+ };
32
+ additionalProperties?: boolean;
33
+ const?: any;
34
+ 'x-prompt'?: string | {
35
+ message: string;
36
+ type: string;
37
+ items?: any[];
38
+ multiselect?: boolean;
39
+ };
40
+ 'x-deprecated'?: boolean | string;
41
+ 'x-dropdown'?: 'projects';
42
+ 'x-priority'?: 'important' | 'internal';
43
+ multipleOf?: number;
44
+ minimum?: number;
45
+ exclusiveMinimum?: number;
46
+ maximum?: number;
47
+ exclusiveMaximum?: number;
48
+ pattern?: string;
49
+ minLength?: number;
50
+ maxLength?: number;
51
+ patternProperties?: {
52
+ [pattern: string]: PropertyDescription;
53
+ };
54
+ };
55
+ type Properties = {
56
+ [p: string]: PropertyDescription;
57
+ };
58
+ export type Schema = {
59
+ properties: Properties;
60
+ required?: string[];
61
+ anyOf?: Partial<Schema>[];
62
+ oneOf?: Partial<Schema>[];
63
+ description?: string;
64
+ definitions?: Properties;
65
+ additionalProperties?: boolean;
66
+ examples?: {
67
+ command: string;
68
+ description?: string;
69
+ }[];
70
+ patternProperties?: {
71
+ [pattern: string]: PropertyDescription;
72
+ };
73
+ };
74
+ export type Unmatched = {
75
+ name: string;
76
+ possible: string[];
77
+ };
78
+ export type Options = {
79
+ '--'?: Unmatched[];
80
+ [k: string]: string | number | boolean | string[] | Unmatched[] | undefined;
81
+ };
82
+ export declare function handleErrors(isVerbose: boolean, fn: Function): Promise<any>;
83
+ export declare function convertToCamelCase(parsed: {
84
+ [k: string]: any;
85
+ }, schema: Schema): Options;
86
+ /**
87
+ * Coerces (and replaces) options identified as 'boolean' or 'number' in the Schema
88
+ *
89
+ * @param opts The options to check
90
+ * @param schema The schema definition with types to check against
91
+ *
92
+ */
93
+ export declare function coerceTypesInOptions(opts: Options, schema: Schema): Options;
94
+ /**
95
+ * Converts any options passed in with short aliases to their full names if found
96
+ * Unmatched options are added to opts['--']
97
+ *
98
+ * @param opts The options passed in by the user
99
+ * @param schema The schema definition to check against
100
+ */
101
+ export declare function convertAliases(opts: Options, schema: Schema, excludeUnmatched: boolean): Options;
102
+ export declare class SchemaError {
103
+ readonly message: string;
104
+ constructor(message: string);
105
+ }
106
+ export declare function validateOptsAgainstSchema(opts: {
107
+ [k: string]: any;
108
+ }, schema: Schema): void;
109
+ export declare function validateObject(opts: {
110
+ [p: string]: any;
111
+ }, schema: Schema | PropertyDescription, definitions: Properties): void;
112
+ export declare function setDefaults(opts: {
113
+ [k: string]: any;
114
+ }, schema: Schema): {
115
+ [k: string]: any;
116
+ };
117
+ export declare function applyVerbosity(options: Record<string, unknown>, schema: Schema, isVerbose: boolean): void;
118
+ export declare function combineOptionsForExecutor(commandLineOpts: Options, config: string, target: TargetConfiguration, schema: Schema, defaultProjectName: string | null, relativeCwd: string | null, isVerbose?: boolean): any;
119
+ export declare function combineOptionsForGenerator(commandLineOpts: Options, collectionName: string, generatorName: string, projectsConfigurations: ProjectsConfigurations, nxJsonConfiguration: NxJsonConfiguration, schema: Schema, isInteractive: boolean, defaultProjectName: string | null, relativeCwd: string | null, isVerbose?: boolean): Promise<Options>;
120
+ export declare function warnDeprecations(opts: {
121
+ [k: string]: any;
122
+ }, schema: Schema): void;
123
+ export declare function convertSmartDefaultsIntoNamedParams(opts: {
124
+ [k: string]: any;
125
+ }, schema: Schema, defaultProjectName: string | null, relativeCwd: string | null): void;
126
+ type Prompt = ConstructorParameters<typeof import('enquirer').Prompt>[0] & {
127
+ name: string;
128
+ type: 'input' | 'autocomplete' | 'multiselect' | 'confirm' | 'numeral';
129
+ message: string;
130
+ initial?: any;
131
+ limit?: number;
132
+ choices?: (string | {
133
+ name: string;
134
+ message: string;
135
+ })[];
136
+ };
137
+ export declare function getPromptsForSchema(opts: Options, schema: Schema, projectsConfigurations: ProjectsConfigurations): Prompt[];
138
+ export {};