@ohos-ports/nx 19.8.4-beta.2 → 20.8.4-beta.1

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 (367) hide show
  1. package/.eslintrc.json +146 -0
  2. package/LICENSE +1 -1
  3. package/bin/init-local.js +0 -39
  4. package/bin/nx.js +28 -15
  5. package/bin/post-install.js +7 -5
  6. package/migrations.json +11 -37
  7. package/ohos-build/build-Cargo.toml.patch +12 -0
  8. package/ohos-build/build-cargo-config.patch +20 -0
  9. package/ohos-build/index.js.patch +18 -0
  10. package/ohos-build/native-bindings.js.patch +25 -0
  11. package/ohos-build/nix-0.25.1-ohos.patch +539 -0
  12. package/ohos-build/nix-0.27.1-ohos.patch +436 -0
  13. package/package.json +25 -62
  14. package/plugins/package-json.d.ts +5 -1
  15. package/plugins/package-json.js +27 -2
  16. package/release/changelog-renderer/index.d.ts +102 -0
  17. package/release/changelog-renderer/index.js +339 -0
  18. package/release/index.d.ts +4 -0
  19. package/release/index.js +13 -0
  20. package/schemas/nx-schema.json +964 -0
  21. package/schemas/project-schema.json +331 -0
  22. package/schemas/workspace-schema.json +185 -0
  23. package/src/adapter/angular-json.js +2 -8
  24. package/src/adapter/compat.d.ts +1 -1
  25. package/src/adapter/compat.js +3 -1
  26. package/src/adapter/ngcli-adapter.js +7 -7
  27. package/src/command-line/add/add.js +21 -48
  28. package/src/command-line/affected/affected.js +3 -3
  29. package/src/command-line/connect/view-logs.js +1 -1
  30. package/src/command-line/examples.js +0 -4
  31. package/src/command-line/exec/exec.js +3 -3
  32. package/src/command-line/format/command-object.js +9 -0
  33. package/src/command-line/format/format.js +10 -6
  34. package/src/command-line/generate/command-object.js +1 -2
  35. package/src/command-line/generate/generate.d.ts +1 -1
  36. package/src/command-line/generate/generate.js +3 -1
  37. package/src/command-line/generate/generator-utils.js +10 -5
  38. package/src/command-line/graph/graph.js +6 -9
  39. package/src/command-line/import/import.js +110 -71
  40. package/src/command-line/init/command-object.js +25 -9
  41. package/src/command-line/init/configure-plugins.d.ts +34 -0
  42. package/src/command-line/init/configure-plugins.js +203 -0
  43. package/src/command-line/init/implementation/add-nx-to-turborepo.d.ts +4 -0
  44. package/src/command-line/init/implementation/add-nx-to-turborepo.js +49 -0
  45. package/src/command-line/init/implementation/angular/integrated-workspace.js +1 -1
  46. package/src/command-line/init/implementation/angular/legacy-angular-versions.js +4 -3
  47. package/src/command-line/init/implementation/angular/standalone-workspace.js +8 -5
  48. package/src/command-line/init/implementation/check-compatible-with-plugins.d.ts +15 -0
  49. package/src/command-line/init/implementation/check-compatible-with-plugins.js +134 -0
  50. package/src/command-line/init/implementation/deduce-default-base.d.ts +1 -0
  51. package/src/command-line/init/implementation/deduce-default-base.js +53 -0
  52. package/src/command-line/init/implementation/dot-nx/add-nx-scripts.js +1 -1
  53. package/src/command-line/init/implementation/dot-nx/nxw.js +1 -1
  54. package/src/command-line/init/implementation/react/add-vite-commands-to-package-scripts.js +6 -4
  55. package/src/command-line/init/implementation/react/check-for-uncommitted-changes.js +1 -1
  56. package/src/command-line/init/implementation/react/index.d.ts +1 -1
  57. package/src/command-line/init/implementation/react/index.js +33 -186
  58. package/src/command-line/init/implementation/react/write-vite-config.js +19 -3
  59. package/src/command-line/init/implementation/utils.d.ts +6 -2
  60. package/src/command-line/init/implementation/utils.js +116 -37
  61. package/src/command-line/init/init-v1.js +2 -2
  62. package/src/command-line/init/init-v2.d.ts +2 -2
  63. package/src/command-line/init/init-v2.js +73 -55
  64. package/src/command-line/login/login.js +3 -0
  65. package/src/command-line/logout/logout.js +3 -0
  66. package/src/command-line/migrate/command-object.js +2 -96
  67. package/src/command-line/migrate/migrate.d.ts +1 -0
  68. package/src/command-line/migrate/migrate.js +111 -19
  69. package/src/command-line/nx-commands.js +20 -6
  70. package/src/command-line/register/command-object.d.ts +6 -0
  71. package/src/command-line/{activate-powerpack → register}/command-object.js +9 -9
  72. package/src/command-line/register/register.d.ts +2 -0
  73. package/src/command-line/register/register.js +9 -0
  74. package/src/command-line/release/changelog.d.ts +5 -4
  75. package/src/command-line/release/changelog.js +64 -79
  76. package/src/command-line/release/command-object.d.ts +7 -4
  77. package/src/command-line/release/command-object.js +24 -13
  78. package/src/command-line/release/config/config.d.ts +8 -7
  79. package/src/command-line/release/config/config.js +173 -43
  80. package/src/command-line/release/config/conventional-commits.js +7 -0
  81. package/src/command-line/release/config/filter-release-groups.d.ts +4 -0
  82. package/src/command-line/release/config/filter-release-groups.js +10 -3
  83. package/src/command-line/release/config/use-legacy-versioning.d.ts +2 -0
  84. package/src/command-line/release/config/use-legacy-versioning.js +9 -0
  85. package/src/command-line/release/config/version-plans.js +1 -1
  86. package/src/command-line/release/index.d.ts +9 -2
  87. package/src/command-line/release/index.js +6 -1
  88. package/src/command-line/release/plan-check.js +6 -3
  89. package/src/command-line/release/plan.js +8 -4
  90. package/src/command-line/release/publish.d.ts +6 -1
  91. package/src/command-line/release/publish.js +50 -27
  92. package/src/command-line/release/release.js +33 -20
  93. package/src/command-line/release/utils/batch-projects-by-generator-config.js +6 -3
  94. package/src/command-line/release/utils/exec-command.js +1 -1
  95. package/src/command-line/release/utils/git.d.ts +3 -2
  96. package/src/command-line/release/utils/git.js +104 -19
  97. package/src/command-line/release/utils/github.d.ts +1 -0
  98. package/src/command-line/release/utils/github.js +6 -2
  99. package/src/command-line/release/utils/launch-editor.js +2 -2
  100. package/src/command-line/release/utils/resolve-changelog-renderer.d.ts +2 -2
  101. package/src/command-line/release/utils/resolve-changelog-renderer.js +3 -3
  102. package/src/command-line/release/utils/resolve-semver-specifier.d.ts +2 -1
  103. package/src/command-line/release/utils/resolve-semver-specifier.js +2 -1
  104. package/src/command-line/release/utils/semver.d.ts +8 -0
  105. package/src/command-line/release/utils/semver.js +8 -0
  106. package/src/command-line/release/utils/shared-legacy.d.ts +25 -0
  107. package/src/command-line/release/utils/shared-legacy.js +2 -0
  108. package/src/command-line/release/utils/shared.d.ts +11 -17
  109. package/src/command-line/release/version/derive-specifier-from-conventional-commits.d.ts +7 -0
  110. package/src/command-line/release/version/derive-specifier-from-conventional-commits.js +47 -0
  111. package/src/command-line/release/version/deriver-specifier-from-version-plans.d.ts +8 -0
  112. package/src/command-line/release/version/deriver-specifier-from-version-plans.js +59 -0
  113. package/src/command-line/release/version/project-logger.d.ts +8 -0
  114. package/src/command-line/release/version/project-logger.js +45 -0
  115. package/src/command-line/release/version/release-group-processor.d.ts +251 -0
  116. package/src/command-line/release/version/release-group-processor.js +1048 -0
  117. package/src/command-line/release/version/resolve-current-version.d.ts +32 -0
  118. package/src/command-line/release/version/resolve-current-version.js +241 -0
  119. package/src/command-line/release/version/test-utils.d.ts +95 -0
  120. package/src/command-line/release/version/test-utils.js +416 -0
  121. package/src/command-line/release/version/topological-sort.d.ts +9 -0
  122. package/src/command-line/release/version/topological-sort.js +41 -0
  123. package/src/command-line/release/version/version-actions.d.ts +170 -0
  124. package/src/command-line/release/version/version-actions.js +183 -0
  125. package/src/command-line/release/version-legacy.d.ts +46 -0
  126. package/src/command-line/release/version-legacy.js +453 -0
  127. package/src/command-line/release/version.d.ts +0 -40
  128. package/src/command-line/release/version.js +93 -255
  129. package/src/command-line/report/report.d.ts +7 -3
  130. package/src/command-line/report/report.js +52 -16
  131. package/src/command-line/run/executor-utils.js +4 -4
  132. package/src/command-line/run/run-one.js +37 -15
  133. package/src/command-line/run/run.js +1 -2
  134. package/src/command-line/run-many/run-many.js +1 -4
  135. package/src/command-line/show/project.js +25 -3
  136. package/src/command-line/show/projects.js +4 -0
  137. package/src/command-line/sync/sync.js +3 -3
  138. package/src/command-line/watch/watch.js +1 -1
  139. package/src/command-line/yargs-utils/shared-options.d.ts +4 -0
  140. package/src/command-line/yargs-utils/shared-options.js +26 -0
  141. package/src/config/misc-interfaces.d.ts +3 -15
  142. package/src/config/nx-json.d.ts +145 -19
  143. package/src/config/project-graph.d.ts +4 -4
  144. package/src/config/project-graph.js +8 -0
  145. package/src/config/schema-utils.d.ts +4 -3
  146. package/src/config/schema-utils.js +71 -4
  147. package/src/config/workspace-json-project-json.d.ts +23 -2
  148. package/src/core/graph/main.js +1 -1
  149. package/src/core/graph/runtime.js +1 -1
  150. package/src/core/graph/styles.css +2 -2
  151. package/src/core/graph/styles.js +1 -1
  152. package/src/daemon/client/client.d.ts +5 -0
  153. package/src/daemon/client/client.js +42 -4
  154. package/src/daemon/client/generate-help-output.js +1 -1
  155. package/src/daemon/message-types/glob.d.ts +7 -0
  156. package/src/daemon/message-types/glob.js +9 -1
  157. package/src/daemon/message-types/hash-glob.d.ts +6 -0
  158. package/src/daemon/message-types/hash-glob.js +9 -1
  159. package/src/daemon/message-types/run-tasks-execution-hooks.d.ts +13 -0
  160. package/src/daemon/message-types/run-tasks-execution-hooks.js +19 -0
  161. package/src/daemon/server/handle-glob.d.ts +1 -0
  162. package/src/daemon/server/handle-glob.js +8 -0
  163. package/src/daemon/server/handle-hash-glob.d.ts +1 -0
  164. package/src/daemon/server/handle-hash-glob.js +8 -0
  165. package/src/daemon/server/handle-hash-tasks.js +1 -1
  166. package/src/daemon/server/handle-tasks-execution-hooks.d.ts +19 -0
  167. package/src/daemon/server/handle-tasks-execution-hooks.js +35 -0
  168. package/src/daemon/server/logger.js +2 -1
  169. package/src/daemon/server/project-graph-incremental-recomputation.js +5 -5
  170. package/src/daemon/server/server.js +26 -2
  171. package/src/daemon/server/shutdown-utils.js +4 -2
  172. package/src/devkit-exports.d.ts +10 -7
  173. package/src/devkit-exports.js +4 -6
  174. package/src/devkit-internals.d.ts +4 -2
  175. package/src/devkit-internals.js +8 -3
  176. package/src/executors/run-commands/run-commands.impl.d.ts +1 -0
  177. package/src/executors/run-commands/run-commands.impl.js +11 -4
  178. package/src/executors/run-commands/schema.json +14 -0
  179. package/src/executors/run-script/run-script.impl.js +1 -1
  180. package/src/executors/utils/convert-nx-executor.js +2 -4
  181. package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js +8 -0
  182. package/src/generators/testing-utils/create-tree.js +5 -1
  183. package/src/generators/utils/nx-json.d.ts +1 -1
  184. package/src/generators/utils/project-configuration.js +15 -4
  185. package/src/hasher/create-task-hasher.js +1 -1
  186. package/src/hasher/file-hasher.d.ts +1 -0
  187. package/src/hasher/file-hasher.js +5 -0
  188. package/src/hasher/hash-task.js +1 -1
  189. package/src/hasher/task-hasher.d.ts +2 -6
  190. package/src/hasher/task-hasher.js +6 -32
  191. package/src/migrations/update-20-0-0/move-use-daemon-process.d.ts +2 -0
  192. package/src/migrations/update-20-0-0/move-use-daemon-process.js +25 -0
  193. package/src/migrations/update-20-0-1/use-legacy-cache.d.ts +2 -0
  194. package/src/migrations/update-20-0-1/use-legacy-cache.js +20 -0
  195. package/src/native/index.d.ts +49 -20
  196. package/src/native/index.js +18 -3
  197. package/src/native/native-bindings.js +12 -2
  198. package/src/native/nx.openharmony-arm64.node +0 -0
  199. package/src/native/nx.wasi-browser.js +11 -8
  200. package/src/native/nx.wasi.cjs +11 -8
  201. package/src/native/nx.wasm32-wasi.wasm +0 -0
  202. package/src/native/tests/__fixtures__/file-lock.fixture.js +20 -0
  203. package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.js +3 -2
  204. package/src/nx-cloud/update-manager.js +13 -1
  205. package/src/plugins/js/index.js +2 -2
  206. package/src/plugins/js/lock-file/lock-file.js +28 -13
  207. package/src/plugins/js/lock-file/utils/package-json.d.ts +1 -1
  208. package/src/plugins/js/lock-file/utils/package-json.js +3 -1
  209. package/src/plugins/js/lock-file/yarn-parser.js +102 -44
  210. package/src/plugins/js/project-graph/affected/lock-file-changes.js +1 -0
  211. package/src/plugins/js/project-graph/build-dependencies/explicit-package-json-dependencies.d.ts +2 -2
  212. package/src/plugins/js/project-graph/build-dependencies/explicit-package-json-dependencies.js +6 -20
  213. package/src/plugins/js/project-graph/build-dependencies/explicit-project-dependencies.js +1 -1
  214. package/src/plugins/js/project-graph/build-dependencies/target-project-locator.d.ts +14 -2
  215. package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +81 -19
  216. package/src/plugins/js/utils/config.js +2 -9
  217. package/src/plugins/js/utils/packages.d.ts +8 -0
  218. package/src/plugins/js/utils/packages.js +91 -0
  219. package/src/plugins/js/utils/register.d.ts +5 -1
  220. package/src/plugins/js/utils/register.js +2 -1
  221. package/src/plugins/js/utils/typescript.d.ts +1 -0
  222. package/src/plugins/js/utils/typescript.js +4 -3
  223. package/src/plugins/js/versions.d.ts +1 -1
  224. package/src/plugins/js/versions.js +1 -1
  225. package/src/plugins/package-json/create-nodes.d.ts +7 -8
  226. package/src/plugins/package-json/create-nodes.js +34 -12
  227. package/src/project-graph/affected/affected-project-graph.js +3 -0
  228. package/src/project-graph/affected/locators/project-glob-changes.js +16 -4
  229. package/src/project-graph/build-project-graph.d.ts +2 -1
  230. package/src/project-graph/build-project-graph.js +66 -43
  231. package/src/project-graph/error-types.d.ts +15 -12
  232. package/src/project-graph/error-types.js +109 -23
  233. package/src/project-graph/file-utils.d.ts +3 -3
  234. package/src/project-graph/file-utils.js +8 -7
  235. package/src/project-graph/nx-deps-cache.d.ts +6 -3
  236. package/src/project-graph/nx-deps-cache.js +66 -11
  237. package/src/project-graph/plugins/get-plugins.d.ts +4 -0
  238. package/src/project-graph/plugins/get-plugins.js +144 -0
  239. package/src/project-graph/plugins/in-process-loader.d.ts +10 -0
  240. package/src/project-graph/plugins/in-process-loader.js +60 -0
  241. package/src/project-graph/plugins/index.d.ts +2 -1
  242. package/src/project-graph/plugins/index.js +5 -3
  243. package/src/project-graph/plugins/isolation/enabled.d.ts +1 -0
  244. package/src/project-graph/plugins/isolation/enabled.js +19 -0
  245. package/src/project-graph/plugins/isolation/index.d.ts +2 -2
  246. package/src/project-graph/plugins/isolation/index.js +1 -7
  247. package/src/project-graph/plugins/isolation/messaging.d.ts +39 -21
  248. package/src/project-graph/plugins/isolation/messaging.js +5 -1
  249. package/src/project-graph/plugins/isolation/plugin-pool.d.ts +1 -1
  250. package/src/project-graph/plugins/isolation/plugin-pool.js +58 -49
  251. package/src/project-graph/plugins/isolation/plugin-worker.js +79 -29
  252. package/src/project-graph/plugins/load-resolved-plugin.d.ts +3 -0
  253. package/src/project-graph/plugins/load-resolved-plugin.js +22 -0
  254. package/src/project-graph/plugins/loaded-nx-plugin.d.ts +20 -0
  255. package/src/project-graph/plugins/loaded-nx-plugin.js +80 -0
  256. package/src/project-graph/plugins/public-api.d.ts +32 -13
  257. package/src/project-graph/plugins/resolve-plugin.d.ts +15 -0
  258. package/src/project-graph/plugins/resolve-plugin.js +134 -0
  259. package/src/project-graph/plugins/tasks-execution-hooks.d.ts +3 -0
  260. package/src/project-graph/plugins/tasks-execution-hooks.js +65 -0
  261. package/src/project-graph/plugins/transpiler.d.ts +8 -0
  262. package/src/project-graph/plugins/transpiler.js +47 -0
  263. package/src/project-graph/plugins/utils.d.ts +2 -8
  264. package/src/project-graph/plugins/utils.js +2 -39
  265. package/src/project-graph/project-graph.d.ts +3 -1
  266. package/src/project-graph/project-graph.js +86 -20
  267. package/src/project-graph/utils/project-configuration-utils.d.ts +2 -2
  268. package/src/project-graph/utils/project-configuration-utils.js +55 -25
  269. package/src/project-graph/utils/retrieve-workspace-files.d.ts +3 -7
  270. package/src/project-graph/utils/retrieve-workspace-files.js +17 -23
  271. package/src/tasks-runner/batch/batch-messages.d.ts +2 -0
  272. package/src/tasks-runner/batch/run-batch.js +2 -4
  273. package/src/tasks-runner/cache.d.ts +22 -4
  274. package/src/tasks-runner/cache.js +160 -18
  275. package/src/tasks-runner/create-task-graph.d.ts +13 -1
  276. package/src/tasks-runner/create-task-graph.js +50 -22
  277. package/src/tasks-runner/default-tasks-runner.d.ts +1 -0
  278. package/src/tasks-runner/default-tasks-runner.js +20 -2
  279. package/src/tasks-runner/forked-process-task-runner.d.ts +4 -1
  280. package/src/tasks-runner/forked-process-task-runner.js +62 -40
  281. package/src/tasks-runner/init-tasks-runner.js +0 -2
  282. package/src/tasks-runner/life-cycle.d.ts +7 -0
  283. package/src/tasks-runner/run-command.d.ts +2 -4
  284. package/src/tasks-runner/run-command.js +51 -18
  285. package/src/tasks-runner/task-graph-utils.d.ts +11 -0
  286. package/src/tasks-runner/task-graph-utils.js +23 -0
  287. package/src/tasks-runner/task-orchestrator.js +14 -4
  288. package/src/tasks-runner/utils.js +2 -0
  289. package/src/utils/ab-testing.js +1 -1
  290. package/src/utils/assert-workspace-validity.js +4 -0
  291. package/src/utils/child-process.d.ts +4 -0
  292. package/src/utils/child-process.js +23 -30
  293. package/src/utils/command-line-utils.d.ts +5 -3
  294. package/src/utils/command-line-utils.js +37 -57
  295. package/src/utils/db-connection.d.ts +2 -1
  296. package/src/utils/db-connection.js +7 -0
  297. package/src/utils/default-base.js +1 -1
  298. package/src/utils/delayed-spinner.d.ts +42 -0
  299. package/src/utils/delayed-spinner.js +80 -0
  300. package/src/utils/find-matching-projects.js +13 -1
  301. package/src/utils/git-utils.index-filter.js +2 -2
  302. package/src/utils/git-utils.js +4 -4
  303. package/src/utils/git-utils.tree-filter.js +1 -1
  304. package/src/utils/handle-errors.js +24 -13
  305. package/src/utils/is-ci.js +4 -1
  306. package/src/utils/is-using-prettier.d.ts +3 -0
  307. package/src/utils/is-using-prettier.js +62 -0
  308. package/src/utils/nx-cloud-utils.js +3 -0
  309. package/src/utils/nx-key.d.ts +7 -0
  310. package/src/utils/nx-key.js +52 -0
  311. package/src/utils/package-json.d.ts +5 -1
  312. package/src/utils/package-json.js +9 -3
  313. package/src/utils/package-manager.d.ts +14 -0
  314. package/src/utils/package-manager.js +89 -3
  315. package/src/utils/path.js +1 -1
  316. package/src/utils/plugins/core-plugins.js +4 -0
  317. package/src/utils/plugins/plugin-capabilities.js +4 -5
  318. package/src/utils/print-help.js +3 -9
  319. package/src/utils/require-nx-key.d.ts +1 -0
  320. package/src/utils/require-nx-key.js +22 -0
  321. package/src/utils/sync-generators.js +9 -14
  322. package/src/utils/task-history.d.ts +1 -1
  323. package/src/utils/task-history.js +2 -2
  324. package/src/utils/workspace-context.d.ts +2 -0
  325. package/src/utils/workspace-context.js +16 -0
  326. package/tasks-runners/default.d.ts +1 -0
  327. package/tasks-runners/default.js +5 -0
  328. package/src/command-line/activate-powerpack/activate-powerpack.d.ts +0 -2
  329. package/src/command-line/activate-powerpack/activate-powerpack.js +0 -34
  330. package/src/command-line/activate-powerpack/command-object.d.ts +0 -6
  331. package/src/command-line/import/utils/needs-install.d.ts +0 -3
  332. package/src/command-line/import/utils/needs-install.js +0 -31
  333. package/src/command-line/init/implementation/react/write-craco-config.d.ts +0 -1
  334. package/src/command-line/init/implementation/react/write-craco-config.js +0 -61
  335. package/src/daemon/server/plugins.d.ts +0 -3
  336. package/src/daemon/server/plugins.js +0 -32
  337. package/src/hasher/node-task-hasher-impl.d.ts +0 -48
  338. package/src/hasher/node-task-hasher-impl.js +0 -449
  339. package/src/migrations/update-15-0-0/migrate-to-inputs.d.ts +0 -2
  340. package/src/migrations/update-15-0-0/migrate-to-inputs.js +0 -102
  341. package/src/migrations/update-15-0-0/prefix-outputs.d.ts +0 -2
  342. package/src/migrations/update-15-0-0/prefix-outputs.js +0 -49
  343. package/src/migrations/update-16-0-0/remove-nrwl-cli.d.ts +0 -2
  344. package/src/migrations/update-16-0-0/remove-nrwl-cli.js +0 -16
  345. package/src/migrations/update-16-0-0/update-depends-on-to-tokens.d.ts +0 -2
  346. package/src/migrations/update-16-0-0/update-depends-on-to-tokens.js +0 -97
  347. package/src/migrations/update-16-0-0/update-nx-cloud-runner.d.ts +0 -2
  348. package/src/migrations/update-16-0-0/update-nx-cloud-runner.js +0 -29
  349. package/src/migrations/update-16-2-0/remove-run-commands-output-path.d.ts +0 -2
  350. package/src/migrations/update-16-2-0/remove-run-commands-output-path.js +0 -45
  351. package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.d.ts +0 -12
  352. package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.js +0 -67
  353. package/src/migrations/update-16-9-0/remove-project-name-and-root-format.d.ts +0 -2
  354. package/src/migrations/update-16-9-0/remove-project-name-and-root-format.js +0 -21
  355. package/src/native/nx.ohos-arm64.node +0 -0
  356. package/src/project-graph/plugins/internal-api.d.ts +0 -29
  357. package/src/project-graph/plugins/internal-api.js +0 -134
  358. package/src/project-graph/plugins/loader.d.ts +0 -24
  359. package/src/project-graph/plugins/loader.js +0 -220
  360. package/src/utils/app-root.d.ts +0 -8
  361. package/src/utils/app-root.js +0 -12
  362. package/src/utils/nx-plugin.deprecated.d.ts +0 -31
  363. package/src/utils/nx-plugin.deprecated.js +0 -20
  364. package/src/utils/powerpack.d.ts +0 -5
  365. package/src/utils/powerpack.js +0 -33
  366. package/src/utils/workspace-configuration-check.d.ts +0 -1
  367. package/src/utils/workspace-configuration-check.js +0 -36
@@ -0,0 +1,102 @@
1
+ import { ChangelogChange } from '../../src/command-line/release/changelog';
2
+ import { NxReleaseConfig } from '../../src/command-line/release/config/config';
3
+ import { GithubRepoData } from '../../src/command-line/release/utils/github';
4
+ /**
5
+ * The ChangelogRenderOptions are specific to each ChangelogRenderer implementation, and are taken
6
+ * from the user's nx.json configuration and passed as is into the ChangelogRenderer function.
7
+ */
8
+ export type ChangelogRenderOptions = Record<string, unknown>;
9
+ /**
10
+ * When versioning projects independently and enabling `"updateDependents": "auto"`, there could
11
+ * be additional dependency bump information that is not captured in the commit data, but that nevertheless
12
+ * should be included in the rendered changelog.
13
+ */
14
+ export type DependencyBump = {
15
+ dependencyName: string;
16
+ newVersion: string;
17
+ };
18
+ /**
19
+ * The specific options available to the default implementation of the ChangelogRenderer that nx exports
20
+ * for the common case.
21
+ */
22
+ export interface DefaultChangelogRenderOptions extends ChangelogRenderOptions {
23
+ /**
24
+ * Whether or not the commit authors should be added to the bottom of the changelog in a "Thank You"
25
+ * section. Defaults to true.
26
+ */
27
+ authors?: boolean;
28
+ /**
29
+ * If authors is enabled, controls whether or not to try to map the authors to their GitHub usernames
30
+ * using https://ungh.cc (from https://github.com/unjs/ungh) and the email addresses found in the commits.
31
+ * Defaults to true.
32
+ */
33
+ mapAuthorsToGitHubUsernames?: boolean;
34
+ /**
35
+ * Whether or not the commit references (such as commit and/or PR links) should be included in the changelog.
36
+ * Defaults to true.
37
+ */
38
+ commitReferences?: boolean;
39
+ /**
40
+ * Whether or not to include the date in the version title. It can be set to false to disable it, or true to enable
41
+ * with the default of (YYYY-MM-DD). Defaults to true.
42
+ */
43
+ versionTitleDate?: boolean;
44
+ }
45
+ export default class DefaultChangelogRenderer {
46
+ protected changes: ChangelogChange[];
47
+ protected changelogEntryVersion: string;
48
+ protected project: string | null;
49
+ protected entryWhenNoChanges: string | false;
50
+ protected changelogRenderOptions: DefaultChangelogRenderOptions;
51
+ protected isVersionPlans: boolean;
52
+ protected dependencyBumps?: DependencyBump[];
53
+ protected repoData?: GithubRepoData;
54
+ protected conventionalCommitsConfig: NxReleaseConfig['conventionalCommits'] | null;
55
+ protected relevantChanges: ChangelogChange[];
56
+ protected breakingChanges: string[];
57
+ protected additionalChangesForAuthorsSection: ChangelogChange[];
58
+ /**
59
+ * A ChangelogRenderer class takes in the determined changes and other relevant metadata
60
+ * and returns a string, or a Promise of a string of changelog contents (usually markdown).
61
+ *
62
+ * @param {Object} config The configuration object for the ChangelogRenderer
63
+ * @param {ChangelogChange[]} config.changes The collection of changes to show in the changelog
64
+ * @param {string} config.changelogEntryVersion The version for which we are rendering the current changelog entry
65
+ * @param {string | null} config.project The name of specific project to generate a changelog entry for, or `null` if the overall workspace changelog
66
+ * @param {string | false} config.entryWhenNoChanges The (already interpolated) string to use as the changelog entry when there are no changes, or `false` if no entry should be generated
67
+ * @param {boolean} config.isVersionPlans Whether or not Nx release version plans are the source of truth for the changelog entry
68
+ * @param {ChangelogRenderOptions} config.changelogRenderOptions The options specific to the ChangelogRenderer implementation
69
+ * @param {DependencyBump[]} config.dependencyBumps Optional list of additional dependency bumps that occurred as part of the release, outside of the change data
70
+ * @param {GithubRepoData} config.repoData Resolved data for the current GitHub repository
71
+ * @param {NxReleaseConfig['conventionalCommits'] | null} config.conventionalCommitsConfig The configuration for conventional commits, or null if version plans are being used
72
+ */
73
+ constructor(config: {
74
+ changes: ChangelogChange[];
75
+ changelogEntryVersion: string;
76
+ project: string | null;
77
+ entryWhenNoChanges: string | false;
78
+ isVersionPlans: boolean;
79
+ changelogRenderOptions: DefaultChangelogRenderOptions;
80
+ dependencyBumps?: DependencyBump[];
81
+ repoData?: GithubRepoData;
82
+ conventionalCommitsConfig: NxReleaseConfig['conventionalCommits'] | null;
83
+ });
84
+ protected filterChanges(changes: ChangelogChange[], project: string | null): ChangelogChange[];
85
+ render(): Promise<string>;
86
+ protected preprocessChanges(): void;
87
+ protected shouldRenderEmptyEntry(): boolean;
88
+ protected renderEmptyEntry(): string;
89
+ protected renderVersionTitle(): string;
90
+ protected renderChangesByType(): string[];
91
+ protected hasBreakingChanges(): boolean;
92
+ protected renderBreakingChanges(): string[];
93
+ protected hasDependencyBumps(): boolean;
94
+ protected renderDependencyBumps(): string[];
95
+ protected shouldRenderAuthors(): boolean;
96
+ protected renderAuthors(): Promise<string[]>;
97
+ protected formatChange(change: ChangelogChange): string;
98
+ protected groupChangesByType(): Record<string, ChangelogChange[]>;
99
+ protected groupChangesByScope(changes: ChangelogChange[]): Record<string, ChangelogChange[]>;
100
+ protected extractBreakingChangeExplanation(message: string): string | null;
101
+ protected formatName(name?: string): string;
102
+ }
@@ -0,0 +1,339 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const semver_1 = require("semver");
4
+ const conventional_commits_1 = require("../../src/command-line/release/config/conventional-commits");
5
+ const github_1 = require("../../src/command-line/release/utils/github");
6
+ // axios types and values don't seem to match
7
+ const _axios = require("axios");
8
+ const axios = _axios;
9
+ class DefaultChangelogRenderer {
10
+ /**
11
+ * A ChangelogRenderer class takes in the determined changes and other relevant metadata
12
+ * and returns a string, or a Promise of a string of changelog contents (usually markdown).
13
+ *
14
+ * @param {Object} config The configuration object for the ChangelogRenderer
15
+ * @param {ChangelogChange[]} config.changes The collection of changes to show in the changelog
16
+ * @param {string} config.changelogEntryVersion The version for which we are rendering the current changelog entry
17
+ * @param {string | null} config.project The name of specific project to generate a changelog entry for, or `null` if the overall workspace changelog
18
+ * @param {string | false} config.entryWhenNoChanges The (already interpolated) string to use as the changelog entry when there are no changes, or `false` if no entry should be generated
19
+ * @param {boolean} config.isVersionPlans Whether or not Nx release version plans are the source of truth for the changelog entry
20
+ * @param {ChangelogRenderOptions} config.changelogRenderOptions The options specific to the ChangelogRenderer implementation
21
+ * @param {DependencyBump[]} config.dependencyBumps Optional list of additional dependency bumps that occurred as part of the release, outside of the change data
22
+ * @param {GithubRepoData} config.repoData Resolved data for the current GitHub repository
23
+ * @param {NxReleaseConfig['conventionalCommits'] | null} config.conventionalCommitsConfig The configuration for conventional commits, or null if version plans are being used
24
+ */
25
+ constructor(config) {
26
+ this.changes = this.filterChanges(config.changes, config.project);
27
+ this.changelogEntryVersion = config.changelogEntryVersion;
28
+ this.project = config.project;
29
+ this.entryWhenNoChanges = config.entryWhenNoChanges;
30
+ this.isVersionPlans = config.isVersionPlans;
31
+ this.changelogRenderOptions = config.changelogRenderOptions;
32
+ this.dependencyBumps = config.dependencyBumps;
33
+ this.repoData = config.repoData;
34
+ this.conventionalCommitsConfig = config.conventionalCommitsConfig;
35
+ this.relevantChanges = [];
36
+ this.breakingChanges = [];
37
+ this.additionalChangesForAuthorsSection = [];
38
+ }
39
+ filterChanges(changes, project) {
40
+ if (project === null) {
41
+ return changes;
42
+ }
43
+ return changes.filter((c) => c.affectedProjects &&
44
+ (c.affectedProjects === '*' || c.affectedProjects.includes(project)));
45
+ }
46
+ async render() {
47
+ const sections = [];
48
+ this.preprocessChanges();
49
+ if (this.shouldRenderEmptyEntry()) {
50
+ return this.renderEmptyEntry();
51
+ }
52
+ sections.push([this.renderVersionTitle()]);
53
+ const changesByType = this.renderChangesByType();
54
+ if (changesByType.length > 0) {
55
+ sections.push(changesByType);
56
+ }
57
+ if (this.hasBreakingChanges()) {
58
+ sections.push(this.renderBreakingChanges());
59
+ }
60
+ if (this.hasDependencyBumps()) {
61
+ sections.push(this.renderDependencyBumps());
62
+ }
63
+ if (this.shouldRenderAuthors()) {
64
+ sections.push(await this.renderAuthors());
65
+ }
66
+ // Join sections with double newlines, and trim any extra whitespace
67
+ return sections
68
+ .filter((section) => section.length > 0)
69
+ .map((section) => section.join('\n').trim())
70
+ .join('\n\n')
71
+ .trim();
72
+ }
73
+ preprocessChanges() {
74
+ this.relevantChanges = [...this.changes];
75
+ this.breakingChanges = [];
76
+ this.additionalChangesForAuthorsSection = [];
77
+ // Filter out reverted changes
78
+ for (let i = this.relevantChanges.length - 1; i >= 0; i--) {
79
+ const change = this.relevantChanges[i];
80
+ if (change.type === 'revert' && change.revertedHashes) {
81
+ for (const revertedHash of change.revertedHashes) {
82
+ const revertedCommitIndex = this.relevantChanges.findIndex((c) => c.shortHash && revertedHash.startsWith(c.shortHash));
83
+ if (revertedCommitIndex !== -1) {
84
+ this.relevantChanges.splice(revertedCommitIndex, 1);
85
+ this.relevantChanges.splice(i, 1);
86
+ i--;
87
+ break;
88
+ }
89
+ }
90
+ }
91
+ }
92
+ if (this.isVersionPlans) {
93
+ this.conventionalCommitsConfig = {
94
+ types: {
95
+ feat: conventional_commits_1.DEFAULT_CONVENTIONAL_COMMITS_CONFIG.types.feat,
96
+ fix: conventional_commits_1.DEFAULT_CONVENTIONAL_COMMITS_CONFIG.types.fix,
97
+ },
98
+ };
99
+ for (let i = this.relevantChanges.length - 1; i >= 0; i--) {
100
+ if (this.relevantChanges[i].isBreaking) {
101
+ const change = this.relevantChanges[i];
102
+ this.additionalChangesForAuthorsSection.push(change);
103
+ const line = this.formatChange(change);
104
+ this.breakingChanges.push(line);
105
+ this.relevantChanges.splice(i, 1);
106
+ }
107
+ }
108
+ }
109
+ else {
110
+ for (const change of this.relevantChanges) {
111
+ if (change.isBreaking) {
112
+ const breakingChangeExplanation = this.extractBreakingChangeExplanation(change.body);
113
+ this.breakingChanges.push(breakingChangeExplanation
114
+ ? `- ${change.scope ? `**${change.scope.trim()}:** ` : ''}${breakingChangeExplanation}`
115
+ : this.formatChange(change));
116
+ }
117
+ }
118
+ }
119
+ }
120
+ shouldRenderEmptyEntry() {
121
+ return (this.relevantChanges.length === 0 &&
122
+ this.breakingChanges.length === 0 &&
123
+ !this.hasDependencyBumps());
124
+ }
125
+ renderEmptyEntry() {
126
+ if (this.hasDependencyBumps()) {
127
+ return [
128
+ this.renderVersionTitle(),
129
+ '',
130
+ ...this.renderDependencyBumps(),
131
+ ].join('\n');
132
+ }
133
+ else if (this.entryWhenNoChanges) {
134
+ return `${this.renderVersionTitle()}\n\n${this.entryWhenNoChanges}`;
135
+ }
136
+ return '';
137
+ }
138
+ renderVersionTitle() {
139
+ const isMajorVersion = `${(0, semver_1.major)(this.changelogEntryVersion)}.0.0` ===
140
+ this.changelogEntryVersion.replace(/^v/, '');
141
+ let maybeDateStr = '';
142
+ if (this.changelogRenderOptions.versionTitleDate) {
143
+ const dateStr = new Date().toISOString().slice(0, 10);
144
+ maybeDateStr = ` (${dateStr})`;
145
+ }
146
+ return isMajorVersion
147
+ ? `# ${this.changelogEntryVersion}${maybeDateStr}`
148
+ : `## ${this.changelogEntryVersion}${maybeDateStr}`;
149
+ }
150
+ renderChangesByType() {
151
+ const markdownLines = [];
152
+ const typeGroups = this.groupChangesByType();
153
+ const changeTypes = this.conventionalCommitsConfig.types;
154
+ for (const type of Object.keys(changeTypes)) {
155
+ const group = typeGroups[type];
156
+ if (!group || group.length === 0) {
157
+ continue;
158
+ }
159
+ markdownLines.push('', `### ${changeTypes[type].changelog.title}`, '');
160
+ if (this.project === null) {
161
+ const changesGroupedByScope = this.groupChangesByScope(group);
162
+ const scopesSortedAlphabetically = Object.keys(changesGroupedByScope).sort();
163
+ for (const scope of scopesSortedAlphabetically) {
164
+ const changes = changesGroupedByScope[scope];
165
+ for (const change of changes.reverse()) {
166
+ const line = this.formatChange(change);
167
+ markdownLines.push(line);
168
+ if (change.isBreaking && !this.isVersionPlans) {
169
+ const breakingChangeExplanation = this.extractBreakingChangeExplanation(change.body);
170
+ this.breakingChanges.push(breakingChangeExplanation
171
+ ? `- ${change.scope ? `**${change.scope.trim()}:** ` : ''}${breakingChangeExplanation}`
172
+ : line);
173
+ }
174
+ }
175
+ }
176
+ }
177
+ else {
178
+ // For project-specific changelogs, maintain the original order
179
+ for (const change of group) {
180
+ const line = this.formatChange(change);
181
+ markdownLines.push(line);
182
+ if (change.isBreaking && !this.isVersionPlans) {
183
+ const breakingChangeExplanation = this.extractBreakingChangeExplanation(change.body);
184
+ this.breakingChanges.push(breakingChangeExplanation
185
+ ? `- ${change.scope ? `**${change.scope.trim()}:** ` : ''}${breakingChangeExplanation}`
186
+ : line);
187
+ }
188
+ }
189
+ }
190
+ }
191
+ return markdownLines;
192
+ }
193
+ hasBreakingChanges() {
194
+ return this.breakingChanges.length > 0;
195
+ }
196
+ renderBreakingChanges() {
197
+ const uniqueBreakingChanges = Array.from(new Set(this.breakingChanges));
198
+ return ['### ⚠️ Breaking Changes', '', ...uniqueBreakingChanges];
199
+ }
200
+ hasDependencyBumps() {
201
+ return this.dependencyBumps && this.dependencyBumps.length > 0;
202
+ }
203
+ renderDependencyBumps() {
204
+ const markdownLines = ['', '### 🧱 Updated Dependencies', ''];
205
+ this.dependencyBumps.forEach(({ dependencyName, newVersion }) => {
206
+ markdownLines.push(`- Updated ${dependencyName} to ${newVersion}`);
207
+ });
208
+ return markdownLines;
209
+ }
210
+ shouldRenderAuthors() {
211
+ return this.changelogRenderOptions.authors;
212
+ }
213
+ async renderAuthors() {
214
+ const markdownLines = [];
215
+ const _authors = new Map();
216
+ for (const change of [
217
+ ...this.relevantChanges,
218
+ ...this.additionalChangesForAuthorsSection,
219
+ ]) {
220
+ if (!change.authors) {
221
+ continue;
222
+ }
223
+ for (const author of change.authors) {
224
+ const name = this.formatName(author.name);
225
+ if (!name || name.includes('[bot]')) {
226
+ continue;
227
+ }
228
+ if (_authors.has(name)) {
229
+ const entry = _authors.get(name);
230
+ entry.email.add(author.email);
231
+ }
232
+ else {
233
+ _authors.set(name, { email: new Set([author.email]) });
234
+ }
235
+ }
236
+ }
237
+ if (this.repoData &&
238
+ this.changelogRenderOptions.mapAuthorsToGitHubUsernames) {
239
+ await Promise.all([..._authors.keys()].map(async (authorName) => {
240
+ const meta = _authors.get(authorName);
241
+ for (const email of meta.email) {
242
+ if (email.endsWith('@users.noreply.github.com')) {
243
+ const match = email.match(/^(\d+\+)?([^@]+)@users\.noreply\.github\.com$/);
244
+ if (match && match[2]) {
245
+ meta.github = match[2];
246
+ break;
247
+ }
248
+ }
249
+ const { data } = await axios
250
+ .get(`https://ungh.cc/users/find/${email}`)
251
+ .catch(() => ({ data: { user: null } }));
252
+ if (data?.user) {
253
+ meta.github = data.user.username;
254
+ break;
255
+ }
256
+ }
257
+ }));
258
+ }
259
+ const authors = [..._authors.entries()].map((e) => ({
260
+ name: e[0],
261
+ ...e[1],
262
+ }));
263
+ if (authors.length > 0) {
264
+ markdownLines.push('', '### ' + '❤️ Thank You', '', ...authors
265
+ .sort((a, b) => a.name.localeCompare(b.name))
266
+ .map((i) => {
267
+ const github = i.github ? ` @${i.github}` : '';
268
+ return `- ${i.name}${github}`;
269
+ }));
270
+ }
271
+ return markdownLines;
272
+ }
273
+ formatChange(change) {
274
+ let description = change.description;
275
+ let extraLines = [];
276
+ let extraLinesStr = '';
277
+ if (description.includes('\n')) {
278
+ [description, ...extraLines] = description.split('\n');
279
+ const indentation = ' ';
280
+ extraLinesStr = extraLines
281
+ .filter((l) => l.trim().length > 0)
282
+ .map((l) => `${indentation}${l}`)
283
+ .join('\n');
284
+ }
285
+ let changeLine = '- ' +
286
+ (!this.isVersionPlans && change.isBreaking ? '⚠️ ' : '') +
287
+ (!this.isVersionPlans && change.scope
288
+ ? `**${change.scope.trim()}:** `
289
+ : '') +
290
+ description;
291
+ if (this.repoData && this.changelogRenderOptions.commitReferences) {
292
+ changeLine += (0, github_1.formatReferences)(change.githubReferences, this.repoData);
293
+ }
294
+ if (extraLinesStr) {
295
+ changeLine += '\n\n' + extraLinesStr;
296
+ }
297
+ return changeLine;
298
+ }
299
+ groupChangesByType() {
300
+ const typeGroups = {};
301
+ for (const change of this.relevantChanges) {
302
+ typeGroups[change.type] = typeGroups[change.type] || [];
303
+ typeGroups[change.type].push(change);
304
+ }
305
+ return typeGroups;
306
+ }
307
+ groupChangesByScope(changes) {
308
+ const scopeGroups = {};
309
+ for (const change of changes) {
310
+ const scope = change.scope || '';
311
+ scopeGroups[scope] = scopeGroups[scope] || [];
312
+ scopeGroups[scope].push(change);
313
+ }
314
+ return scopeGroups;
315
+ }
316
+ extractBreakingChangeExplanation(message) {
317
+ if (!message) {
318
+ return null;
319
+ }
320
+ const breakingChangeIdentifier = 'BREAKING CHANGE:';
321
+ const startIndex = message.indexOf(breakingChangeIdentifier);
322
+ if (startIndex === -1) {
323
+ return null;
324
+ }
325
+ const startOfBreakingChange = startIndex + breakingChangeIdentifier.length;
326
+ const endOfBreakingChange = message.indexOf('\n', startOfBreakingChange);
327
+ if (endOfBreakingChange === -1) {
328
+ return message.substring(startOfBreakingChange).trim();
329
+ }
330
+ return message.substring(startOfBreakingChange, endOfBreakingChange).trim();
331
+ }
332
+ formatName(name = '') {
333
+ return name
334
+ .split(' ')
335
+ .map((p) => p.trim())
336
+ .join(' ');
337
+ }
338
+ }
339
+ exports.default = DefaultChangelogRenderer;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @public Programmatic API for nx release
3
+ */
4
+ export { ReleaseClient, release, releaseChangelog, releasePublish, releaseVersion, VersionActions, AfterAllProjectsVersioned, } from '../src/command-line/release';
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VersionActions = exports.releaseVersion = exports.releasePublish = exports.releaseChangelog = exports.release = exports.ReleaseClient = void 0;
4
+ /**
5
+ * @public Programmatic API for nx release
6
+ */
7
+ var release_1 = require("../src/command-line/release");
8
+ Object.defineProperty(exports, "ReleaseClient", { enumerable: true, get: function () { return release_1.ReleaseClient; } });
9
+ Object.defineProperty(exports, "release", { enumerable: true, get: function () { return release_1.release; } });
10
+ Object.defineProperty(exports, "releaseChangelog", { enumerable: true, get: function () { return release_1.releaseChangelog; } });
11
+ Object.defineProperty(exports, "releasePublish", { enumerable: true, get: function () { return release_1.releasePublish; } });
12
+ Object.defineProperty(exports, "releaseVersion", { enumerable: true, get: function () { return release_1.releaseVersion; } });
13
+ Object.defineProperty(exports, "VersionActions", { enumerable: true, get: function () { return release_1.VersionActions; } });