@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.
- package/.eslintrc.json +146 -0
- package/LICENSE +1 -1
- package/bin/init-local.js +0 -39
- package/bin/nx.js +28 -15
- package/bin/post-install.js +7 -5
- package/migrations.json +11 -37
- package/ohos-build/build-Cargo.toml.patch +12 -0
- package/ohos-build/build-cargo-config.patch +20 -0
- package/ohos-build/index.js.patch +18 -0
- package/ohos-build/native-bindings.js.patch +25 -0
- package/ohos-build/nix-0.25.1-ohos.patch +539 -0
- package/ohos-build/nix-0.27.1-ohos.patch +436 -0
- package/package.json +25 -62
- package/plugins/package-json.d.ts +5 -1
- package/plugins/package-json.js +27 -2
- package/release/changelog-renderer/index.d.ts +102 -0
- package/release/changelog-renderer/index.js +339 -0
- package/release/index.d.ts +4 -0
- package/release/index.js +13 -0
- package/schemas/nx-schema.json +964 -0
- package/schemas/project-schema.json +331 -0
- package/schemas/workspace-schema.json +185 -0
- package/src/adapter/angular-json.js +2 -8
- package/src/adapter/compat.d.ts +1 -1
- package/src/adapter/compat.js +3 -1
- package/src/adapter/ngcli-adapter.js +7 -7
- package/src/command-line/add/add.js +21 -48
- package/src/command-line/affected/affected.js +3 -3
- package/src/command-line/connect/view-logs.js +1 -1
- package/src/command-line/examples.js +0 -4
- package/src/command-line/exec/exec.js +3 -3
- package/src/command-line/format/command-object.js +9 -0
- package/src/command-line/format/format.js +10 -6
- package/src/command-line/generate/command-object.js +1 -2
- package/src/command-line/generate/generate.d.ts +1 -1
- package/src/command-line/generate/generate.js +3 -1
- package/src/command-line/generate/generator-utils.js +10 -5
- package/src/command-line/graph/graph.js +6 -9
- package/src/command-line/import/import.js +110 -71
- package/src/command-line/init/command-object.js +25 -9
- package/src/command-line/init/configure-plugins.d.ts +34 -0
- package/src/command-line/init/configure-plugins.js +203 -0
- package/src/command-line/init/implementation/add-nx-to-turborepo.d.ts +4 -0
- package/src/command-line/init/implementation/add-nx-to-turborepo.js +49 -0
- package/src/command-line/init/implementation/angular/integrated-workspace.js +1 -1
- package/src/command-line/init/implementation/angular/legacy-angular-versions.js +4 -3
- package/src/command-line/init/implementation/angular/standalone-workspace.js +8 -5
- package/src/command-line/init/implementation/check-compatible-with-plugins.d.ts +15 -0
- package/src/command-line/init/implementation/check-compatible-with-plugins.js +134 -0
- package/src/command-line/init/implementation/deduce-default-base.d.ts +1 -0
- package/src/command-line/init/implementation/deduce-default-base.js +53 -0
- package/src/command-line/init/implementation/dot-nx/add-nx-scripts.js +1 -1
- package/src/command-line/init/implementation/dot-nx/nxw.js +1 -1
- package/src/command-line/init/implementation/react/add-vite-commands-to-package-scripts.js +6 -4
- package/src/command-line/init/implementation/react/check-for-uncommitted-changes.js +1 -1
- package/src/command-line/init/implementation/react/index.d.ts +1 -1
- package/src/command-line/init/implementation/react/index.js +33 -186
- package/src/command-line/init/implementation/react/write-vite-config.js +19 -3
- package/src/command-line/init/implementation/utils.d.ts +6 -2
- package/src/command-line/init/implementation/utils.js +116 -37
- package/src/command-line/init/init-v1.js +2 -2
- package/src/command-line/init/init-v2.d.ts +2 -2
- package/src/command-line/init/init-v2.js +73 -55
- package/src/command-line/login/login.js +3 -0
- package/src/command-line/logout/logout.js +3 -0
- package/src/command-line/migrate/command-object.js +2 -96
- package/src/command-line/migrate/migrate.d.ts +1 -0
- package/src/command-line/migrate/migrate.js +111 -19
- package/src/command-line/nx-commands.js +20 -6
- package/src/command-line/register/command-object.d.ts +6 -0
- package/src/command-line/{activate-powerpack → register}/command-object.js +9 -9
- package/src/command-line/register/register.d.ts +2 -0
- package/src/command-line/register/register.js +9 -0
- package/src/command-line/release/changelog.d.ts +5 -4
- package/src/command-line/release/changelog.js +64 -79
- package/src/command-line/release/command-object.d.ts +7 -4
- package/src/command-line/release/command-object.js +24 -13
- package/src/command-line/release/config/config.d.ts +8 -7
- package/src/command-line/release/config/config.js +173 -43
- package/src/command-line/release/config/conventional-commits.js +7 -0
- package/src/command-line/release/config/filter-release-groups.d.ts +4 -0
- package/src/command-line/release/config/filter-release-groups.js +10 -3
- package/src/command-line/release/config/use-legacy-versioning.d.ts +2 -0
- package/src/command-line/release/config/use-legacy-versioning.js +9 -0
- package/src/command-line/release/config/version-plans.js +1 -1
- package/src/command-line/release/index.d.ts +9 -2
- package/src/command-line/release/index.js +6 -1
- package/src/command-line/release/plan-check.js +6 -3
- package/src/command-line/release/plan.js +8 -4
- package/src/command-line/release/publish.d.ts +6 -1
- package/src/command-line/release/publish.js +50 -27
- package/src/command-line/release/release.js +33 -20
- package/src/command-line/release/utils/batch-projects-by-generator-config.js +6 -3
- package/src/command-line/release/utils/exec-command.js +1 -1
- package/src/command-line/release/utils/git.d.ts +3 -2
- package/src/command-line/release/utils/git.js +104 -19
- package/src/command-line/release/utils/github.d.ts +1 -0
- package/src/command-line/release/utils/github.js +6 -2
- package/src/command-line/release/utils/launch-editor.js +2 -2
- package/src/command-line/release/utils/resolve-changelog-renderer.d.ts +2 -2
- package/src/command-line/release/utils/resolve-changelog-renderer.js +3 -3
- package/src/command-line/release/utils/resolve-semver-specifier.d.ts +2 -1
- package/src/command-line/release/utils/resolve-semver-specifier.js +2 -1
- package/src/command-line/release/utils/semver.d.ts +8 -0
- package/src/command-line/release/utils/semver.js +8 -0
- package/src/command-line/release/utils/shared-legacy.d.ts +25 -0
- package/src/command-line/release/utils/shared-legacy.js +2 -0
- package/src/command-line/release/utils/shared.d.ts +11 -17
- package/src/command-line/release/version/derive-specifier-from-conventional-commits.d.ts +7 -0
- package/src/command-line/release/version/derive-specifier-from-conventional-commits.js +47 -0
- package/src/command-line/release/version/deriver-specifier-from-version-plans.d.ts +8 -0
- package/src/command-line/release/version/deriver-specifier-from-version-plans.js +59 -0
- package/src/command-line/release/version/project-logger.d.ts +8 -0
- package/src/command-line/release/version/project-logger.js +45 -0
- package/src/command-line/release/version/release-group-processor.d.ts +251 -0
- package/src/command-line/release/version/release-group-processor.js +1048 -0
- package/src/command-line/release/version/resolve-current-version.d.ts +32 -0
- package/src/command-line/release/version/resolve-current-version.js +241 -0
- package/src/command-line/release/version/test-utils.d.ts +95 -0
- package/src/command-line/release/version/test-utils.js +416 -0
- package/src/command-line/release/version/topological-sort.d.ts +9 -0
- package/src/command-line/release/version/topological-sort.js +41 -0
- package/src/command-line/release/version/version-actions.d.ts +170 -0
- package/src/command-line/release/version/version-actions.js +183 -0
- package/src/command-line/release/version-legacy.d.ts +46 -0
- package/src/command-line/release/version-legacy.js +453 -0
- package/src/command-line/release/version.d.ts +0 -40
- package/src/command-line/release/version.js +93 -255
- package/src/command-line/report/report.d.ts +7 -3
- package/src/command-line/report/report.js +52 -16
- package/src/command-line/run/executor-utils.js +4 -4
- package/src/command-line/run/run-one.js +37 -15
- package/src/command-line/run/run.js +1 -2
- package/src/command-line/run-many/run-many.js +1 -4
- package/src/command-line/show/project.js +25 -3
- package/src/command-line/show/projects.js +4 -0
- package/src/command-line/sync/sync.js +3 -3
- package/src/command-line/watch/watch.js +1 -1
- package/src/command-line/yargs-utils/shared-options.d.ts +4 -0
- package/src/command-line/yargs-utils/shared-options.js +26 -0
- package/src/config/misc-interfaces.d.ts +3 -15
- package/src/config/nx-json.d.ts +145 -19
- package/src/config/project-graph.d.ts +4 -4
- package/src/config/project-graph.js +8 -0
- package/src/config/schema-utils.d.ts +4 -3
- package/src/config/schema-utils.js +71 -4
- package/src/config/workspace-json-project-json.d.ts +23 -2
- package/src/core/graph/main.js +1 -1
- package/src/core/graph/runtime.js +1 -1
- package/src/core/graph/styles.css +2 -2
- package/src/core/graph/styles.js +1 -1
- package/src/daemon/client/client.d.ts +5 -0
- package/src/daemon/client/client.js +42 -4
- package/src/daemon/client/generate-help-output.js +1 -1
- package/src/daemon/message-types/glob.d.ts +7 -0
- package/src/daemon/message-types/glob.js +9 -1
- package/src/daemon/message-types/hash-glob.d.ts +6 -0
- package/src/daemon/message-types/hash-glob.js +9 -1
- package/src/daemon/message-types/run-tasks-execution-hooks.d.ts +13 -0
- package/src/daemon/message-types/run-tasks-execution-hooks.js +19 -0
- package/src/daemon/server/handle-glob.d.ts +1 -0
- package/src/daemon/server/handle-glob.js +8 -0
- package/src/daemon/server/handle-hash-glob.d.ts +1 -0
- package/src/daemon/server/handle-hash-glob.js +8 -0
- package/src/daemon/server/handle-hash-tasks.js +1 -1
- package/src/daemon/server/handle-tasks-execution-hooks.d.ts +19 -0
- package/src/daemon/server/handle-tasks-execution-hooks.js +35 -0
- package/src/daemon/server/logger.js +2 -1
- package/src/daemon/server/project-graph-incremental-recomputation.js +5 -5
- package/src/daemon/server/server.js +26 -2
- package/src/daemon/server/shutdown-utils.js +4 -2
- package/src/devkit-exports.d.ts +10 -7
- package/src/devkit-exports.js +4 -6
- package/src/devkit-internals.d.ts +4 -2
- package/src/devkit-internals.js +8 -3
- package/src/executors/run-commands/run-commands.impl.d.ts +1 -0
- package/src/executors/run-commands/run-commands.impl.js +11 -4
- package/src/executors/run-commands/schema.json +14 -0
- package/src/executors/run-script/run-script.impl.js +1 -1
- package/src/executors/utils/convert-nx-executor.js +2 -4
- package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js +8 -0
- package/src/generators/testing-utils/create-tree.js +5 -1
- package/src/generators/utils/nx-json.d.ts +1 -1
- package/src/generators/utils/project-configuration.js +15 -4
- package/src/hasher/create-task-hasher.js +1 -1
- package/src/hasher/file-hasher.d.ts +1 -0
- package/src/hasher/file-hasher.js +5 -0
- package/src/hasher/hash-task.js +1 -1
- package/src/hasher/task-hasher.d.ts +2 -6
- package/src/hasher/task-hasher.js +6 -32
- package/src/migrations/update-20-0-0/move-use-daemon-process.d.ts +2 -0
- package/src/migrations/update-20-0-0/move-use-daemon-process.js +25 -0
- package/src/migrations/update-20-0-1/use-legacy-cache.d.ts +2 -0
- package/src/migrations/update-20-0-1/use-legacy-cache.js +20 -0
- package/src/native/index.d.ts +49 -20
- package/src/native/index.js +18 -3
- package/src/native/native-bindings.js +12 -2
- package/src/native/nx.openharmony-arm64.node +0 -0
- package/src/native/nx.wasi-browser.js +11 -8
- package/src/native/nx.wasi.cjs +11 -8
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/native/tests/__fixtures__/file-lock.fixture.js +20 -0
- package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.js +3 -2
- package/src/nx-cloud/update-manager.js +13 -1
- package/src/plugins/js/index.js +2 -2
- package/src/plugins/js/lock-file/lock-file.js +28 -13
- package/src/plugins/js/lock-file/utils/package-json.d.ts +1 -1
- package/src/plugins/js/lock-file/utils/package-json.js +3 -1
- package/src/plugins/js/lock-file/yarn-parser.js +102 -44
- package/src/plugins/js/project-graph/affected/lock-file-changes.js +1 -0
- package/src/plugins/js/project-graph/build-dependencies/explicit-package-json-dependencies.d.ts +2 -2
- package/src/plugins/js/project-graph/build-dependencies/explicit-package-json-dependencies.js +6 -20
- package/src/plugins/js/project-graph/build-dependencies/explicit-project-dependencies.js +1 -1
- package/src/plugins/js/project-graph/build-dependencies/target-project-locator.d.ts +14 -2
- package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +81 -19
- package/src/plugins/js/utils/config.js +2 -9
- package/src/plugins/js/utils/packages.d.ts +8 -0
- package/src/plugins/js/utils/packages.js +91 -0
- package/src/plugins/js/utils/register.d.ts +5 -1
- package/src/plugins/js/utils/register.js +2 -1
- package/src/plugins/js/utils/typescript.d.ts +1 -0
- package/src/plugins/js/utils/typescript.js +4 -3
- package/src/plugins/js/versions.d.ts +1 -1
- package/src/plugins/js/versions.js +1 -1
- package/src/plugins/package-json/create-nodes.d.ts +7 -8
- package/src/plugins/package-json/create-nodes.js +34 -12
- package/src/project-graph/affected/affected-project-graph.js +3 -0
- package/src/project-graph/affected/locators/project-glob-changes.js +16 -4
- package/src/project-graph/build-project-graph.d.ts +2 -1
- package/src/project-graph/build-project-graph.js +66 -43
- package/src/project-graph/error-types.d.ts +15 -12
- package/src/project-graph/error-types.js +109 -23
- package/src/project-graph/file-utils.d.ts +3 -3
- package/src/project-graph/file-utils.js +8 -7
- package/src/project-graph/nx-deps-cache.d.ts +6 -3
- package/src/project-graph/nx-deps-cache.js +66 -11
- package/src/project-graph/plugins/get-plugins.d.ts +4 -0
- package/src/project-graph/plugins/get-plugins.js +144 -0
- package/src/project-graph/plugins/in-process-loader.d.ts +10 -0
- package/src/project-graph/plugins/in-process-loader.js +60 -0
- package/src/project-graph/plugins/index.d.ts +2 -1
- package/src/project-graph/plugins/index.js +5 -3
- package/src/project-graph/plugins/isolation/enabled.d.ts +1 -0
- package/src/project-graph/plugins/isolation/enabled.js +19 -0
- package/src/project-graph/plugins/isolation/index.d.ts +2 -2
- package/src/project-graph/plugins/isolation/index.js +1 -7
- package/src/project-graph/plugins/isolation/messaging.d.ts +39 -21
- package/src/project-graph/plugins/isolation/messaging.js +5 -1
- package/src/project-graph/plugins/isolation/plugin-pool.d.ts +1 -1
- package/src/project-graph/plugins/isolation/plugin-pool.js +58 -49
- package/src/project-graph/plugins/isolation/plugin-worker.js +79 -29
- package/src/project-graph/plugins/load-resolved-plugin.d.ts +3 -0
- package/src/project-graph/plugins/load-resolved-plugin.js +22 -0
- package/src/project-graph/plugins/loaded-nx-plugin.d.ts +20 -0
- package/src/project-graph/plugins/loaded-nx-plugin.js +80 -0
- package/src/project-graph/plugins/public-api.d.ts +32 -13
- package/src/project-graph/plugins/resolve-plugin.d.ts +15 -0
- package/src/project-graph/plugins/resolve-plugin.js +134 -0
- package/src/project-graph/plugins/tasks-execution-hooks.d.ts +3 -0
- package/src/project-graph/plugins/tasks-execution-hooks.js +65 -0
- package/src/project-graph/plugins/transpiler.d.ts +8 -0
- package/src/project-graph/plugins/transpiler.js +47 -0
- package/src/project-graph/plugins/utils.d.ts +2 -8
- package/src/project-graph/plugins/utils.js +2 -39
- package/src/project-graph/project-graph.d.ts +3 -1
- package/src/project-graph/project-graph.js +86 -20
- package/src/project-graph/utils/project-configuration-utils.d.ts +2 -2
- package/src/project-graph/utils/project-configuration-utils.js +55 -25
- package/src/project-graph/utils/retrieve-workspace-files.d.ts +3 -7
- package/src/project-graph/utils/retrieve-workspace-files.js +17 -23
- package/src/tasks-runner/batch/batch-messages.d.ts +2 -0
- package/src/tasks-runner/batch/run-batch.js +2 -4
- package/src/tasks-runner/cache.d.ts +22 -4
- package/src/tasks-runner/cache.js +160 -18
- package/src/tasks-runner/create-task-graph.d.ts +13 -1
- package/src/tasks-runner/create-task-graph.js +50 -22
- package/src/tasks-runner/default-tasks-runner.d.ts +1 -0
- package/src/tasks-runner/default-tasks-runner.js +20 -2
- package/src/tasks-runner/forked-process-task-runner.d.ts +4 -1
- package/src/tasks-runner/forked-process-task-runner.js +62 -40
- package/src/tasks-runner/init-tasks-runner.js +0 -2
- package/src/tasks-runner/life-cycle.d.ts +7 -0
- package/src/tasks-runner/run-command.d.ts +2 -4
- package/src/tasks-runner/run-command.js +51 -18
- package/src/tasks-runner/task-graph-utils.d.ts +11 -0
- package/src/tasks-runner/task-graph-utils.js +23 -0
- package/src/tasks-runner/task-orchestrator.js +14 -4
- package/src/tasks-runner/utils.js +2 -0
- package/src/utils/ab-testing.js +1 -1
- package/src/utils/assert-workspace-validity.js +4 -0
- package/src/utils/child-process.d.ts +4 -0
- package/src/utils/child-process.js +23 -30
- package/src/utils/command-line-utils.d.ts +5 -3
- package/src/utils/command-line-utils.js +37 -57
- package/src/utils/db-connection.d.ts +2 -1
- package/src/utils/db-connection.js +7 -0
- package/src/utils/default-base.js +1 -1
- package/src/utils/delayed-spinner.d.ts +42 -0
- package/src/utils/delayed-spinner.js +80 -0
- package/src/utils/find-matching-projects.js +13 -1
- package/src/utils/git-utils.index-filter.js +2 -2
- package/src/utils/git-utils.js +4 -4
- package/src/utils/git-utils.tree-filter.js +1 -1
- package/src/utils/handle-errors.js +24 -13
- package/src/utils/is-ci.js +4 -1
- package/src/utils/is-using-prettier.d.ts +3 -0
- package/src/utils/is-using-prettier.js +62 -0
- package/src/utils/nx-cloud-utils.js +3 -0
- package/src/utils/nx-key.d.ts +7 -0
- package/src/utils/nx-key.js +52 -0
- package/src/utils/package-json.d.ts +5 -1
- package/src/utils/package-json.js +9 -3
- package/src/utils/package-manager.d.ts +14 -0
- package/src/utils/package-manager.js +89 -3
- package/src/utils/path.js +1 -1
- package/src/utils/plugins/core-plugins.js +4 -0
- package/src/utils/plugins/plugin-capabilities.js +4 -5
- package/src/utils/print-help.js +3 -9
- package/src/utils/require-nx-key.d.ts +1 -0
- package/src/utils/require-nx-key.js +22 -0
- package/src/utils/sync-generators.js +9 -14
- package/src/utils/task-history.d.ts +1 -1
- package/src/utils/task-history.js +2 -2
- package/src/utils/workspace-context.d.ts +2 -0
- package/src/utils/workspace-context.js +16 -0
- package/tasks-runners/default.d.ts +1 -0
- package/tasks-runners/default.js +5 -0
- package/src/command-line/activate-powerpack/activate-powerpack.d.ts +0 -2
- package/src/command-line/activate-powerpack/activate-powerpack.js +0 -34
- package/src/command-line/activate-powerpack/command-object.d.ts +0 -6
- package/src/command-line/import/utils/needs-install.d.ts +0 -3
- package/src/command-line/import/utils/needs-install.js +0 -31
- package/src/command-line/init/implementation/react/write-craco-config.d.ts +0 -1
- package/src/command-line/init/implementation/react/write-craco-config.js +0 -61
- package/src/daemon/server/plugins.d.ts +0 -3
- package/src/daemon/server/plugins.js +0 -32
- package/src/hasher/node-task-hasher-impl.d.ts +0 -48
- package/src/hasher/node-task-hasher-impl.js +0 -449
- package/src/migrations/update-15-0-0/migrate-to-inputs.d.ts +0 -2
- package/src/migrations/update-15-0-0/migrate-to-inputs.js +0 -102
- package/src/migrations/update-15-0-0/prefix-outputs.d.ts +0 -2
- package/src/migrations/update-15-0-0/prefix-outputs.js +0 -49
- package/src/migrations/update-16-0-0/remove-nrwl-cli.d.ts +0 -2
- package/src/migrations/update-16-0-0/remove-nrwl-cli.js +0 -16
- package/src/migrations/update-16-0-0/update-depends-on-to-tokens.d.ts +0 -2
- package/src/migrations/update-16-0-0/update-depends-on-to-tokens.js +0 -97
- package/src/migrations/update-16-0-0/update-nx-cloud-runner.d.ts +0 -2
- package/src/migrations/update-16-0-0/update-nx-cloud-runner.js +0 -29
- package/src/migrations/update-16-2-0/remove-run-commands-output-path.d.ts +0 -2
- package/src/migrations/update-16-2-0/remove-run-commands-output-path.js +0 -45
- package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.d.ts +0 -12
- package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.js +0 -67
- package/src/migrations/update-16-9-0/remove-project-name-and-root-format.d.ts +0 -2
- package/src/migrations/update-16-9-0/remove-project-name-and-root-format.js +0 -21
- package/src/native/nx.ohos-arm64.node +0 -0
- package/src/project-graph/plugins/internal-api.d.ts +0 -29
- package/src/project-graph/plugins/internal-api.js +0 -134
- package/src/project-graph/plugins/loader.d.ts +0 -24
- package/src/project-graph/plugins/loader.js +0 -220
- package/src/utils/app-root.d.ts +0 -8
- package/src/utils/app-root.js +0 -12
- package/src/utils/nx-plugin.deprecated.d.ts +0 -31
- package/src/utils/nx-plugin.deprecated.js +0 -20
- package/src/utils/powerpack.d.ts +0 -5
- package/src/utils/powerpack.js +0 -33
- package/src/utils/workspace-configuration-check.d.ts +0 -1
- 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;
|
package/release/index.js
ADDED
|
@@ -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; } });
|