nx 17.0.3 → 17.0.5
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/LICENSE +1 -1
- package/README.md +9 -4
- package/bin/init-local.js +10 -60
- package/bin/nx-cloud.js +6 -0
- package/bin/nx.js +1 -9
- package/bin/post-install.js +5 -1
- package/bin/run-executor.js +1 -1
- package/migrations.json +18 -0
- package/package.json +21 -18
- package/plugins/package-json.js +1 -1
- package/{changelog-renderer → release/changelog-renderer}/index.d.ts +18 -3
- package/{changelog-renderer → release/changelog-renderer}/index.js +78 -34
- package/release/index.d.ts +4 -0
- package/release/index.js +11 -0
- package/schemas/nx-schema.json +203 -19
- package/schemas/project-schema.json +20 -0
- package/src/adapter/angular-json.js +28 -18
- package/src/adapter/compat.d.ts +2 -2
- package/src/adapter/compat.js +6 -1
- package/src/adapter/ngcli-adapter.d.ts +16 -4
- package/src/adapter/ngcli-adapter.js +85 -28
- package/src/command-line/add/add.d.ts +2 -0
- package/src/command-line/add/add.js +169 -0
- package/src/command-line/add/command-object.d.ts +7 -0
- package/src/command-line/add/command-object.js +24 -0
- package/src/command-line/affected/affected.js +0 -3
- package/src/command-line/affected/command-object.d.ts +4 -4
- package/src/command-line/affected/command-object.js +53 -26
- package/src/command-line/affected/print-affected.js +10 -1
- package/src/command-line/connect/command-object.d.ts +1 -2
- package/src/command-line/connect/command-object.js +3 -7
- package/src/command-line/connect/connect-to-nx-cloud.d.ts +4 -5
- package/src/command-line/connect/connect-to-nx-cloud.js +43 -31
- package/src/command-line/connect/view-logs.js +5 -21
- package/src/command-line/examples.js +18 -0
- package/src/command-line/exec/command-object.js +2 -1
- package/src/command-line/exec/exec.d.ts +1 -1
- package/src/command-line/exec/exec.js +78 -35
- package/src/command-line/format/format.js +13 -4
- package/src/command-line/generate/generate.js +9 -9
- package/src/command-line/generate/generator-utils.d.ts +3 -2
- package/src/command-line/generate/generator-utils.js +5 -5
- package/src/command-line/graph/graph.d.ts +1 -1
- package/src/command-line/graph/graph.js +82 -37
- package/src/command-line/init/command-object.js +70 -43
- package/src/command-line/init/implementation/add-nx-to-monorepo.d.ts +4 -2
- package/src/command-line/init/implementation/add-nx-to-monorepo.js +11 -2
- package/src/command-line/init/implementation/add-nx-to-nest.d.ts +1 -1
- package/src/command-line/init/implementation/add-nx-to-nest.js +9 -6
- package/src/command-line/init/implementation/add-nx-to-npm-repo.d.ts +4 -2
- package/src/command-line/init/implementation/add-nx-to-npm-repo.js +14 -4
- package/src/command-line/init/implementation/angular/index.js +4 -1
- package/src/command-line/init/implementation/angular/legacy-angular-versions.js +10 -5
- package/src/command-line/init/implementation/angular/standalone-workspace.js +1 -1
- package/src/command-line/init/implementation/angular/types.d.ts +1 -1
- package/src/command-line/init/implementation/dot-nx/nxw.js +47 -16
- package/src/command-line/init/implementation/react/index.d.ts +1 -1
- package/src/command-line/init/implementation/react/index.js +4 -2
- package/src/command-line/init/implementation/react/rename-js-to-jsx.js +4 -2
- package/src/command-line/init/implementation/utils.d.ts +5 -5
- package/src/command-line/init/implementation/utils.js +46 -44
- package/src/command-line/init/{init.js → init-v1.js} +5 -13
- package/src/command-line/init/init-v2.d.ts +7 -0
- package/src/command-line/init/init-v2.js +201 -0
- package/src/command-line/list/list.js +6 -5
- package/src/command-line/migrate/command-object.js +19 -4
- package/src/command-line/migrate/migrate.js +21 -17
- package/src/command-line/new/new.js +1 -1
- package/src/command-line/nx-commands.js +4 -1
- package/src/command-line/release/changelog.d.ts +22 -1
- package/src/command-line/release/changelog.js +459 -257
- package/src/command-line/release/command-object.d.ts +29 -7
- package/src/command-line/release/command-object.js +120 -20
- package/src/command-line/release/config/config.d.ts +26 -21
- package/src/command-line/release/config/config.js +416 -59
- package/src/command-line/release/config/conventional-commits.d.ts +2 -0
- package/src/command-line/release/config/conventional-commits.js +98 -0
- package/src/command-line/release/config/filter-release-groups.d.ts +1 -2
- package/src/command-line/release/config/filter-release-groups.js +38 -1
- package/src/command-line/release/index.d.ts +16 -0
- package/src/command-line/release/index.js +23 -0
- package/src/command-line/release/publish.d.ts +7 -3
- package/src/command-line/release/publish.js +89 -37
- package/src/command-line/release/release.d.ts +4 -0
- package/src/command-line/release/release.js +176 -0
- package/src/command-line/release/utils/batch-projects-by-generator-config.d.ts +7 -0
- package/src/command-line/release/utils/batch-projects-by-generator-config.js +37 -0
- package/src/command-line/release/utils/exec-command.d.ts +1 -0
- package/src/command-line/release/utils/exec-command.js +34 -0
- package/src/command-line/release/utils/git.d.ts +34 -1
- package/src/command-line/release/utils/git.js +238 -34
- package/src/command-line/release/utils/github.d.ts +5 -5
- package/src/command-line/release/utils/github.js +155 -8
- package/src/command-line/release/utils/markdown.js +6 -1
- package/src/command-line/release/utils/print-changes.d.ts +1 -1
- package/src/command-line/release/utils/print-changes.js +3 -3
- package/src/command-line/release/utils/resolve-nx-json-error-message.js +4 -1
- package/src/command-line/release/utils/resolve-semver-specifier.d.ts +4 -0
- package/src/command-line/release/utils/resolve-semver-specifier.js +58 -0
- package/src/command-line/release/utils/semver.d.ts +8 -0
- package/src/command-line/release/utils/semver.js +30 -1
- package/src/command-line/release/utils/shared.d.ts +39 -0
- package/src/command-line/release/utils/shared.js +213 -0
- package/src/command-line/release/version.d.ts +37 -3
- package/src/command-line/release/version.js +312 -117
- package/src/command-line/repair/repair.js +13 -9
- package/src/command-line/report/report.d.ts +3 -0
- package/src/command-line/report/report.js +22 -5
- package/src/command-line/run/command-object.d.ts +4 -0
- package/src/command-line/run/command-object.js +18 -2
- package/src/command-line/run/executor-utils.d.ts +2 -1
- package/src/command-line/run/executor-utils.js +4 -4
- package/src/command-line/run/run-one.js +3 -6
- package/src/command-line/run/run.js +34 -9
- package/src/command-line/run-many/command-object.js +4 -1
- package/src/command-line/run-many/run-many.js +0 -3
- package/src/command-line/show/command-object.d.ts +3 -0
- package/src/command-line/show/command-object.js +29 -2
- package/src/command-line/show/show.js +9 -0
- package/src/command-line/yargs-utils/shared-options.d.ts +4 -1
- package/src/command-line/yargs-utils/shared-options.js +23 -9
- package/src/commands-runner/command-graph.d.ts +13 -0
- package/src/commands-runner/command-graph.js +2 -0
- package/src/commands-runner/create-command-graph.d.ts +4 -0
- package/src/commands-runner/create-command-graph.js +44 -0
- package/src/commands-runner/get-command-projects.d.ts +3 -0
- package/src/commands-runner/get-command-projects.js +19 -0
- package/src/config/nx-json.d.ts +160 -25
- package/src/config/project-graph.d.ts +3 -3
- package/src/config/workspace-json-project-json.d.ts +23 -1
- package/src/config/workspaces.d.ts +1 -1
- package/src/config/workspaces.js +4 -6
- package/src/core/graph/3rdpartylicenses.txt +144 -74
- package/src/core/graph/environment.js +1 -1
- package/src/core/graph/index.html +4 -6
- package/src/core/graph/main.js +1 -1
- package/src/core/graph/runtime.js +1 -1
- package/src/core/graph/styles.css +3 -3
- package/src/core/graph/styles.js +1 -1
- package/src/daemon/client/client.d.ts +5 -1
- package/src/daemon/client/client.js +27 -8
- package/src/daemon/client/{socket-messenger.d.ts → daemon-socket-messenger.d.ts} +1 -1
- package/src/daemon/client/{socket-messenger.js → daemon-socket-messenger.js} +3 -3
- package/src/daemon/daemon-project-graph-error.d.ts +8 -0
- package/src/daemon/daemon-project-graph-error.js +13 -0
- package/src/daemon/server/handle-hash-tasks.js +12 -2
- package/src/daemon/server/handle-request-project-graph.js +1 -1
- package/src/daemon/server/project-graph-incremental-recomputation.d.ts +14 -13
- package/src/daemon/server/project-graph-incremental-recomputation.js +98 -33
- package/src/daemon/server/shutdown-utils.js +2 -4
- package/src/daemon/server/watcher.js +0 -3
- package/src/daemon/socket-utils.d.ts +2 -1
- package/src/daemon/socket-utils.js +15 -4
- package/src/daemon/tmp-dir.d.ts +1 -0
- package/src/daemon/tmp-dir.js +4 -4
- package/src/devkit-exports.d.ts +2 -2
- package/src/devkit-exports.js +3 -2
- package/src/devkit-internals.d.ts +3 -0
- package/src/devkit-internals.js +7 -1
- package/src/executors/noop/schema.json +1 -1
- package/src/executors/run-commands/run-commands.impl.d.ts +10 -2
- package/src/executors/run-commands/run-commands.impl.js +152 -48
- package/src/executors/run-commands/schema.json +11 -1
- package/src/executors/run-script/run-script.impl.js +43 -11
- package/src/executors/utils/convert-nx-executor.js +1 -1
- package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.d.ts +3 -1
- package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js +4 -2
- package/src/generators/testing-utils/create-tree-with-empty-workspace.js +0 -6
- package/src/generators/tree.d.ts +1 -0
- package/src/generators/utils/glob.js +2 -2
- package/src/generators/utils/project-configuration.js +28 -9
- package/src/hasher/create-task-hasher.d.ts +4 -0
- package/src/hasher/create-task-hasher.js +16 -0
- package/src/hasher/hash-task.js +9 -3
- package/src/hasher/native-task-hasher-impl.d.ts +19 -0
- package/src/hasher/native-task-hasher-impl.js +37 -0
- package/src/hasher/node-task-hasher-impl.d.ts +49 -0
- package/src/hasher/node-task-hasher-impl.js +431 -0
- package/src/hasher/task-hasher.d.ts +33 -21
- package/src/hasher/task-hasher.js +30 -428
- package/src/migrations/update-15-0-0/migrate-to-inputs.js +5 -5
- package/src/migrations/update-15-1-0/set-project-names.js +2 -1
- package/src/migrations/update-15-8-2/update-nxw.js +2 -6
- package/src/migrations/update-17-0-0/rm-default-collection-npm-scope.js +3 -3
- package/src/migrations/update-17-0-0/use-minimal-config-for-tasks-runner-options.js +49 -13
- package/src/migrations/update-17-2-0/move-default-base.d.ts +5 -0
- package/src/migrations/update-17-2-0/move-default-base.js +21 -0
- package/src/migrations/update-17-3-0/nx-release-path.d.ts +3 -0
- package/src/migrations/update-17-3-0/nx-release-path.js +48 -0
- package/src/migrations/update-17-3-0/update-nxw.d.ts +2 -0
- package/src/migrations/update-17-3-0/update-nxw.js +7 -0
- package/src/migrations/update-18-0-0/disable-crystal-for-existing-workspaces.d.ts +2 -0
- package/src/migrations/update-18-0-0/disable-crystal-for-existing-workspaces.js +9 -0
- package/src/native/index.d.ts +65 -15
- package/src/native/index.js +6 -2
- package/src/native/transform-objects.js +2 -0
- package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.d.ts +1 -0
- package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.js +13 -12
- package/src/nx-cloud/generators/connect-to-nx-cloud/schema.json +6 -1
- package/src/nx-cloud/update-manager.js +2 -1
- package/src/plugins/js/index.d.ts +1 -1
- package/src/plugins/js/index.js +3 -3
- package/src/plugins/js/lock-file/lock-file.d.ts +2 -2
- package/src/plugins/js/lock-file/lock-file.js +15 -3
- package/src/plugins/js/package-json/create-package-json.js +1 -1
- package/src/plugins/js/project-graph/build-dependencies/strip-source-code.d.ts +1 -1
- package/src/plugins/js/project-graph/build-dependencies/strip-source-code.js +1 -1
- package/src/plugins/js/project-graph/build-dependencies/typescript-import-locator.d.ts +1 -1
- package/src/plugins/js/project-graph/build-dependencies/typescript-import-locator.js +1 -1
- package/src/plugins/js/utils/register.d.ts +1 -1
- package/src/plugins/js/utils/register.js +28 -8
- package/src/plugins/js/versions.d.ts +1 -1
- package/src/plugins/js/versions.js +1 -1
- package/{plugins/package-json-workspaces.d.ts → src/plugins/package-json-workspaces/create-nodes.d.ts} +4 -4
- package/{plugins/package-json-workspaces.js → src/plugins/package-json-workspaces/create-nodes.js} +34 -12
- package/src/plugins/package-json-workspaces/index.d.ts +1 -0
- package/src/plugins/package-json-workspaces/index.js +4 -0
- package/src/plugins/project-json/build-nodes/package-json-next-to-project-json.d.ts +2 -0
- package/src/plugins/project-json/build-nodes/package-json-next-to-project-json.js +47 -0
- package/src/plugins/project-json/build-nodes/project-json.d.ts +2 -5
- package/src/plugins/project-json/build-nodes/project-json.js +6 -44
- package/src/plugins/target-defaults/target-defaults-plugin.d.ts +66 -0
- package/src/plugins/target-defaults/target-defaults-plugin.js +182 -0
- package/src/project-graph/affected/locators/project-glob-changes.js +3 -3
- package/src/project-graph/affected/locators/workspace-projects.d.ts +0 -2
- package/src/project-graph/affected/locators/workspace-projects.js +16 -29
- package/src/project-graph/build-project-graph.d.ts +20 -1
- package/src/project-graph/build-project-graph.js +91 -33
- package/src/project-graph/file-map-utils.d.ts +9 -5
- package/src/project-graph/file-map-utils.js +16 -63
- package/src/project-graph/file-utils.d.ts +1 -1
- package/src/project-graph/file-utils.js +44 -2
- package/src/project-graph/nx-deps-cache.js +1 -1
- package/src/project-graph/project-graph-builder.d.ts +1 -1
- package/src/project-graph/project-graph-builder.js +1 -1
- package/src/project-graph/project-graph.d.ts +32 -1
- package/src/project-graph/project-graph.js +147 -23
- package/src/project-graph/utils/build-all-workspace-files.d.ts +2 -0
- package/src/project-graph/utils/build-all-workspace-files.js +15 -0
- package/src/project-graph/utils/normalize-project-nodes.d.ts +2 -3
- package/src/project-graph/utils/normalize-project-nodes.js +7 -33
- package/src/project-graph/utils/project-configuration-utils.d.ts +66 -4
- package/src/project-graph/utils/project-configuration-utils.js +509 -62
- package/src/project-graph/utils/retrieve-workspace-files.d.ts +12 -31
- package/src/project-graph/utils/retrieve-workspace-files.js +27 -90
- package/src/tasks-runner/batch/run-batch.js +3 -3
- package/src/tasks-runner/cache.js +6 -3
- package/src/tasks-runner/create-task-graph.js +1 -1
- package/src/tasks-runner/fork.d.ts +1 -0
- package/src/tasks-runner/fork.js +23 -0
- package/src/tasks-runner/forked-process-task-runner.d.ts +13 -5
- package/src/tasks-runner/forked-process-task-runner.js +112 -21
- package/src/tasks-runner/init-tasks-runner.js +1 -1
- package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.js +28 -28
- package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.js +19 -22
- package/src/tasks-runner/life-cycles/empty-terminal-output-life-cycle.js +1 -3
- package/src/tasks-runner/life-cycles/invoke-runner-terminal-output-life-cycle.js +1 -3
- package/src/tasks-runner/life-cycles/static-run-many-terminal-output-life-cycle.js +2 -4
- package/src/tasks-runner/life-cycles/static-run-one-terminal-output-life-cycle.d.ts +1 -0
- package/src/tasks-runner/life-cycles/static-run-one-terminal-output-life-cycle.js +11 -5
- package/src/tasks-runner/life-cycles/view-logs-utils.js +1 -1
- package/src/tasks-runner/pseudo-ipc.d.ts +49 -0
- package/src/tasks-runner/pseudo-ipc.js +140 -0
- package/src/tasks-runner/pseudo-terminal.d.ts +43 -0
- package/src/tasks-runner/pseudo-terminal.js +159 -0
- package/src/tasks-runner/run-command.d.ts +1 -1
- package/src/tasks-runner/run-command.js +13 -19
- package/src/tasks-runner/task-env.js +1 -2
- package/src/tasks-runner/task-graph-utils.d.ts +7 -3
- package/src/tasks-runner/task-graph-utils.js +15 -15
- package/src/tasks-runner/task-orchestrator.js +68 -12
- package/src/tasks-runner/tasks-schedule.js +3 -3
- package/src/tasks-runner/utils.d.ts +16 -7
- package/src/tasks-runner/utils.js +30 -16
- package/src/utils/ab-testing.d.ts +36 -2
- package/src/utils/ab-testing.js +34 -16
- package/src/utils/assert-workspace-validity.js +1 -1
- package/src/utils/cache-directory.d.ts +1 -0
- package/src/utils/cache-directory.js +5 -1
- package/src/utils/child-process.d.ts +15 -1
- package/src/utils/child-process.js +91 -1
- package/src/utils/command-line-utils.js +2 -1
- package/src/utils/exit-codes.d.ts +6 -0
- package/src/utils/exit-codes.js +20 -0
- package/src/utils/fileutils.d.ts +1 -0
- package/src/utils/find-matching-projects.js +5 -5
- package/src/utils/find-workspace-root.js +1 -0
- package/src/utils/ignore.js +8 -1
- package/src/utils/json-diff.d.ts +1 -0
- package/src/utils/json-diff.js +2 -1
- package/src/utils/json.js +3 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/nx-cloud-utils.d.ts +1 -1
- package/src/utils/nx-cloud-utils.js +9 -4
- package/src/utils/nx-plugin.d.ts +32 -15
- package/src/utils/nx-plugin.deprecated.d.ts +10 -5
- package/src/utils/nx-plugin.deprecated.js +23 -0
- package/src/utils/nx-plugin.js +71 -80
- package/src/utils/output.d.ts +4 -2
- package/src/utils/output.js +44 -9
- package/src/utils/package-json.d.ts +4 -4
- package/src/utils/package-json.js +18 -12
- package/src/utils/package-manager.d.ts +7 -0
- package/src/utils/package-manager.js +24 -4
- package/src/utils/params.d.ts +12 -4
- package/src/utils/params.js +37 -4
- package/src/utils/plugins/core-plugins.js +8 -0
- package/src/utils/plugins/installed-plugins.d.ts +2 -1
- package/src/utils/plugins/installed-plugins.js +2 -2
- package/src/utils/plugins/local-plugins.js +1 -1
- package/src/utils/plugins/plugin-capabilities.d.ts +3 -2
- package/src/utils/plugins/plugin-capabilities.js +7 -7
- package/src/utils/typescript.js +1 -1
- package/src/utils/update-nxw.d.ts +2 -0
- package/src/utils/update-nxw.js +12 -0
- package/src/utils/workspace-configuration-check.js +1 -1
- package/src/utils/workspace-context.d.ts +6 -4
- package/src/utils/workspace-context.js +19 -9
- package/src/core/graph/polyfills.js +0 -1
- /package/src/command-line/init/{init.d.ts → init-v1.d.ts} +0 -0
|
@@ -16,15 +16,16 @@ const nx_json_1 = require("../../config/nx-json");
|
|
|
16
16
|
*
|
|
17
17
|
*/
|
|
18
18
|
async function listHandler(args) {
|
|
19
|
+
const nxJson = (0, nx_json_1.readNxJson)();
|
|
20
|
+
const projectGraph = await (0, project_graph_1.createProjectGraphAsync)({ exitOnError: true });
|
|
21
|
+
const projects = (0, project_graph_1.readProjectsConfigurationFromProjectGraph)(projectGraph);
|
|
19
22
|
if (args.plugin) {
|
|
20
|
-
await (0, plugins_1.listPluginCapabilities)(args.plugin);
|
|
23
|
+
await (0, plugins_1.listPluginCapabilities)(args.plugin, projects.projects);
|
|
21
24
|
}
|
|
22
25
|
else {
|
|
23
|
-
const nxJson = (0, nx_json_1.readNxJson)();
|
|
24
26
|
const corePlugins = (0, plugins_1.fetchCorePlugins)();
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const installedPlugins = await (0, plugins_1.getInstalledPluginsAndCapabilities)(workspace_root_1.workspaceRoot);
|
|
27
|
+
const localPlugins = await (0, local_plugins_1.getLocalWorkspacePlugins)(projects, nxJson);
|
|
28
|
+
const installedPlugins = await (0, plugins_1.getInstalledPluginsAndCapabilities)(workspace_root_1.workspaceRoot, projects.projects);
|
|
28
29
|
if (localPlugins.size) {
|
|
29
30
|
(0, local_plugins_1.listLocalWorkspacePlugins)(localPlugins);
|
|
30
31
|
}
|
|
@@ -108,18 +108,33 @@ function runMigration() {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
function nxCliPath() {
|
|
111
|
+
const version = process.env.NX_MIGRATE_CLI_VERSION || 'latest';
|
|
111
112
|
try {
|
|
112
|
-
const packageManager = (0, package_manager_1.
|
|
113
|
+
const packageManager = (0, package_manager_1.detectPackageManager)();
|
|
114
|
+
const pmc = (0, package_manager_1.getPackageManagerCommand)(packageManager);
|
|
113
115
|
const { dirSync } = require('tmp');
|
|
114
116
|
const tmpDir = dirSync().name;
|
|
115
|
-
const version = process.env.NX_MIGRATE_USE_NEXT === 'true' ? 'next' : 'latest';
|
|
116
117
|
(0, fileutils_1.writeJsonFile)(path.join(tmpDir, 'package.json'), {
|
|
117
118
|
dependencies: {
|
|
118
119
|
nx: version,
|
|
119
120
|
},
|
|
120
121
|
license: 'MIT',
|
|
121
122
|
});
|
|
122
|
-
(
|
|
123
|
+
if (pmc.preInstall) {
|
|
124
|
+
// ensure package.json and repo in tmp folder is set to a proper package manager state
|
|
125
|
+
(0, child_process_2.execSync)(pmc.preInstall, {
|
|
126
|
+
cwd: tmpDir,
|
|
127
|
+
stdio: ['ignore', 'ignore', 'ignore'],
|
|
128
|
+
});
|
|
129
|
+
// if it's berry ensure we set the node_linker to node-modules
|
|
130
|
+
if (packageManager === 'yarn' && pmc.ciInstall.includes('immutable')) {
|
|
131
|
+
(0, child_process_2.execSync)(pmc.preInstall, {
|
|
132
|
+
cwd: 'yarn config set nodeLinker node-modules',
|
|
133
|
+
stdio: ['ignore', 'ignore', 'ignore'],
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
(0, child_process_2.execSync)(pmc.install, {
|
|
123
138
|
cwd: tmpDir,
|
|
124
139
|
stdio: ['ignore', 'ignore', 'ignore'],
|
|
125
140
|
});
|
|
@@ -129,7 +144,7 @@ function nxCliPath() {
|
|
|
129
144
|
return path.join(tmpDir, `node_modules`, '.bin', 'nx');
|
|
130
145
|
}
|
|
131
146
|
catch (e) {
|
|
132
|
-
console.error(
|
|
147
|
+
console.error(`Failed to install the ${version} version of the migration script. Using the current version.`);
|
|
133
148
|
if (process.env.NX_VERBOSE_LOGGING) {
|
|
134
149
|
console.error(e);
|
|
135
150
|
}
|
|
@@ -16,8 +16,6 @@ const package_manager_1 = require("../../utils/package-manager");
|
|
|
16
16
|
const params_1 = require("../../utils/params");
|
|
17
17
|
const connect_to_nx_cloud_1 = require("../connect/connect-to-nx-cloud");
|
|
18
18
|
const output_1 = require("../../utils/output");
|
|
19
|
-
const ab_testing_1 = require("../../utils/ab-testing");
|
|
20
|
-
const versions_1 = require("../../utils/versions");
|
|
21
19
|
const fs_1 = require("fs");
|
|
22
20
|
const workspace_root_1 = require("../../utils/workspace-root");
|
|
23
21
|
const is_ci_1 = require("../../utils/is-ci");
|
|
@@ -26,6 +24,7 @@ const configuration_1 = require("../../config/configuration");
|
|
|
26
24
|
const child_process_2 = require("../../utils/child-process");
|
|
27
25
|
const client_1 = require("../../daemon/client/client");
|
|
28
26
|
const nx_cloud_utils_1 = require("../../utils/nx-cloud-utils");
|
|
27
|
+
const project_graph_1 = require("../../project-graph/project-graph");
|
|
29
28
|
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
30
29
|
function normalizeVersion(version) {
|
|
31
30
|
const [semver, ...prereleaseTagParts] = version.split('-');
|
|
@@ -431,13 +430,15 @@ async function parseTargetPackageAndVersion(args) {
|
|
|
431
430
|
else {
|
|
432
431
|
if (args === 'latest' ||
|
|
433
432
|
args === 'next' ||
|
|
433
|
+
args === 'canary' ||
|
|
434
434
|
(0, semver_1.valid)(args) ||
|
|
435
435
|
args.match(/^\d+(?:\.\d+)?(?:\.\d+)?$/)) {
|
|
436
436
|
// Passing `nx` here may seem wrong, but nx and @nrwl/workspace are synced in version.
|
|
437
437
|
// We could duplicate the ternary below, but its not necessary since they are equivalent
|
|
438
438
|
// on the registry
|
|
439
439
|
const targetVersion = await normalizeVersionWithTagCheck('nx', args);
|
|
440
|
-
const targetPackage = !['latest', 'next'].includes(args) &&
|
|
440
|
+
const targetPackage = !['latest', 'next', 'canary'].includes(args) &&
|
|
441
|
+
(0, semver_1.lt)(targetVersion, '14.0.0-beta.0')
|
|
441
442
|
? '@nrwl/workspace'
|
|
442
443
|
: 'nx';
|
|
443
444
|
return {
|
|
@@ -718,7 +719,7 @@ async function updateInstallationDetails(root, updatedPackages) {
|
|
|
718
719
|
}
|
|
719
720
|
async function isMigratingToNewMajor(from, to) {
|
|
720
721
|
from = normalizeVersion(from);
|
|
721
|
-
to = ['latest', 'next'].includes(to) ? to : normalizeVersion(to);
|
|
722
|
+
to = ['latest', 'next', 'canary'].includes(to) ? to : normalizeVersion(to);
|
|
722
723
|
if (!(0, semver_1.valid)(from)) {
|
|
723
724
|
from = await (0, package_manager_1.resolvePackageVersionUsingRegistry)('nx', from);
|
|
724
725
|
}
|
|
@@ -750,16 +751,7 @@ async function generateMigrationsJsonAndUpdatePackageJson(root, opts) {
|
|
|
750
751
|
(await isMigratingToNewMajor(from, opts.targetVersion)) &&
|
|
751
752
|
!(0, is_ci_1.isCI)() &&
|
|
752
753
|
!(0, nx_cloud_utils_1.isNxCloudUsed)(originalNxJson)) {
|
|
753
|
-
|
|
754
|
-
promptOverride: ab_testing_1.messages.getPromptMessage('nxCloudMigration'),
|
|
755
|
-
interactive: true,
|
|
756
|
-
});
|
|
757
|
-
await (0, ab_testing_1.recordStat)({
|
|
758
|
-
command: 'migrate',
|
|
759
|
-
nxVersion: versions_1.nxVersion,
|
|
760
|
-
useCloud,
|
|
761
|
-
meta: ab_testing_1.messages.codeOfSelectedPromptMessage('nxCloudMigration'),
|
|
762
|
-
});
|
|
754
|
+
await (0, connect_to_nx_cloud_1.connectToNxCloudWithPrompt)('migrate');
|
|
763
755
|
originalPackageJson = (0, fileutils_1.readJsonFile)((0, path_1.join)(root, 'package.json'));
|
|
764
756
|
}
|
|
765
757
|
}
|
|
@@ -811,7 +803,7 @@ async function generateMigrationsJsonAndUpdatePackageJson(root, opts) {
|
|
|
811
803
|
`- To learn more go to https://nx.dev/recipes/tips-n-tricks/advanced-update`,
|
|
812
804
|
]
|
|
813
805
|
: [
|
|
814
|
-
`- To learn more go to https://nx.dev/
|
|
806
|
+
`- To learn more go to https://nx.dev/features/automate-updating-dependencies`,
|
|
815
807
|
]),
|
|
816
808
|
...(showConnectToCloudMessage()
|
|
817
809
|
? [
|
|
@@ -872,7 +864,19 @@ function runInstall() {
|
|
|
872
864
|
async function executeMigrations(root, migrations, isVerbose, shouldCreateCommits, commitPrefix) {
|
|
873
865
|
const depsBeforeMigrations = getStringifiedPackageJsonDeps(root);
|
|
874
866
|
const migrationsWithNoChanges = [];
|
|
875
|
-
|
|
867
|
+
const sortedMigrations = migrations.sort((a, b) => {
|
|
868
|
+
// special case for the split configuration migration to run first
|
|
869
|
+
if (a.name === '15-7-0-split-configuration-into-project-json-files') {
|
|
870
|
+
return -1;
|
|
871
|
+
}
|
|
872
|
+
if (b.name === '15-7-0-split-configuration-into-project-json-files') {
|
|
873
|
+
return 1;
|
|
874
|
+
}
|
|
875
|
+
return (0, semver_1.lt)(normalizeVersion(a.version), normalizeVersion(b.version))
|
|
876
|
+
? -1
|
|
877
|
+
: 1;
|
|
878
|
+
});
|
|
879
|
+
for (const m of sortedMigrations) {
|
|
876
880
|
try {
|
|
877
881
|
const { collection, collectionPath } = readMigrationCollection(m.package, root);
|
|
878
882
|
if (!isAngularMigration(collection, collectionPath, m.name)) {
|
|
@@ -888,7 +892,7 @@ async function executeMigrations(root, migrations, isVerbose, shouldCreateCommit
|
|
|
888
892
|
}
|
|
889
893
|
else {
|
|
890
894
|
const ngCliAdapter = await getNgCompatLayer();
|
|
891
|
-
const { madeChanges, loggingQueue } = await ngCliAdapter.runMigration(root, m.package, m.name, isVerbose);
|
|
895
|
+
const { madeChanges, loggingQueue } = await ngCliAdapter.runMigration(root, m.package, m.name, (0, project_graph_1.readProjectsConfigurationFromProjectGraph)(await (0, project_graph_1.createProjectGraphAsync)()).projects, isVerbose);
|
|
892
896
|
if (!madeChanges) {
|
|
893
897
|
migrationsWithNoChanges.push(m);
|
|
894
898
|
// If no changes are made, continue on without printing anything
|
|
@@ -14,7 +14,7 @@ function removeSpecialFlags(generatorOptions) {
|
|
|
14
14
|
async function newWorkspace(cwd, args) {
|
|
15
15
|
return (0, params_1.handleErrors)(process.env.NX_VERBOSE_LOGGING === 'true' || args.verbose, async () => {
|
|
16
16
|
const isInteractive = args.interactive;
|
|
17
|
-
const { normalizedGeneratorName, schema, implementationFactory } = (0, generator_utils_1.getGeneratorInformation)('@nx/workspace/generators.json', 'new', null);
|
|
17
|
+
const { normalizedGeneratorName, schema, implementationFactory } = (0, generator_utils_1.getGeneratorInformation)('@nx/workspace/generators.json', 'new', null, {});
|
|
18
18
|
removeSpecialFlags(args);
|
|
19
19
|
const combinedOpts = await (0, params_1.combineOptionsForGenerator)(args, '@nx/workspace/generators.json', normalizedGeneratorName, null, null, schema, isInteractive, null, null, false);
|
|
20
20
|
const host = new tree_1.FsTree(cwd, false, 'nx new');
|
|
@@ -22,6 +22,7 @@ const command_object_16 = require("./show/command-object");
|
|
|
22
22
|
const command_object_17 = require("./watch/command-object");
|
|
23
23
|
const command_object_18 = require("./reset/command-object");
|
|
24
24
|
const command_object_19 = require("./release/command-object");
|
|
25
|
+
const command_object_20 = require("./add/command-object");
|
|
25
26
|
// Ensure that the output takes up the available width of the terminal.
|
|
26
27
|
yargs.wrap(yargs.terminalWidth());
|
|
27
28
|
exports.parserConfiguration = {
|
|
@@ -36,8 +37,9 @@ exports.parserConfiguration = {
|
|
|
36
37
|
*/
|
|
37
38
|
exports.commandsObject = yargs
|
|
38
39
|
.parserConfiguration(exports.parserConfiguration)
|
|
39
|
-
.usage(chalk.bold('Smart
|
|
40
|
+
.usage(chalk.bold('Smart Monorepos · Fast CI'))
|
|
40
41
|
.demandCommand(1, '')
|
|
42
|
+
.command(command_object_20.yargsAddCommand)
|
|
41
43
|
.command(command_object_1.yargsAffectedBuildCommand)
|
|
42
44
|
.command(command_object_1.yargsAffectedCommand)
|
|
43
45
|
.command(command_object_1.yargsAffectedE2ECommand)
|
|
@@ -66,6 +68,7 @@ exports.commandsObject = yargs
|
|
|
66
68
|
.command(command_object_16.yargsShowCommand)
|
|
67
69
|
.command(command_object_2.yargsViewLogsCommand)
|
|
68
70
|
.command(command_object_17.yargsWatchCommand)
|
|
71
|
+
.command(command_object_14.yargsNxInfixCommand)
|
|
69
72
|
.scriptName('nx')
|
|
70
73
|
.help()
|
|
71
74
|
// NOTE: we handle --version in nx.ts, this just tells yargs that the option exists
|
|
@@ -1,2 +1,23 @@
|
|
|
1
|
+
import { NxReleaseChangelogConfiguration } from '../../config/nx-json';
|
|
1
2
|
import { ChangelogOptions } from './command-object';
|
|
2
|
-
|
|
3
|
+
import { ReleaseVersion } from './utils/shared';
|
|
4
|
+
export interface NxReleaseChangelogResult {
|
|
5
|
+
workspaceChangelog?: {
|
|
6
|
+
releaseVersion: ReleaseVersion;
|
|
7
|
+
contents: string;
|
|
8
|
+
};
|
|
9
|
+
projectChangelogs?: {
|
|
10
|
+
[projectName: string]: {
|
|
11
|
+
releaseVersion: ReleaseVersion;
|
|
12
|
+
contents: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare const releaseChangelogCLIHandler: (args: ChangelogOptions) => Promise<any>;
|
|
17
|
+
/**
|
|
18
|
+
* NOTE: This function is also exported for programmatic usage and forms part of the public API
|
|
19
|
+
* of Nx. We intentionally do not wrap the implementation with handleErrors because users need
|
|
20
|
+
* to have control over their own error handling when using the API.
|
|
21
|
+
*/
|
|
22
|
+
export declare function releaseChangelog(args: ChangelogOptions): Promise<NxReleaseChangelogResult>;
|
|
23
|
+
export declare function shouldCreateGitHubRelease(changelogConfig: NxReleaseChangelogConfiguration | false | undefined, createReleaseArg?: ChangelogOptions['createRelease'] | undefined): boolean;
|