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
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var _ProjectGraphError_errors, _ProjectGraphError_partialProjectGraph, _ProjectGraphError_partialSourceMaps;
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createProjectGraphAsync = exports.
|
|
4
|
+
exports.createProjectGraphAndSourceMapsAsync = exports.createProjectGraphAsync = exports.ProjectGraphError = exports.buildProjectGraphAndSourceMapsWithoutDaemon = exports.readProjectsConfigurationFromProjectGraph = exports.readCachedProjectConfiguration = exports.readCachedProjectGraph = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
4
6
|
const nx_deps_cache_1 = require("./nx-deps-cache");
|
|
5
7
|
const build_project_graph_1 = require("./build-project-graph");
|
|
6
8
|
const output_1 = require("../utils/output");
|
|
@@ -13,6 +15,7 @@ const perf_hooks_1 = require("perf_hooks");
|
|
|
13
15
|
const retrieve_workspace_files_1 = require("./utils/retrieve-workspace-files");
|
|
14
16
|
const nx_json_1 = require("../config/nx-json");
|
|
15
17
|
const nx_plugin_1 = require("../utils/nx-plugin");
|
|
18
|
+
const project_configuration_utils_1 = require("./utils/project-configuration-utils");
|
|
16
19
|
/**
|
|
17
20
|
* Synchronously reads the latest cached copy of the workspace's ProjectGraph.
|
|
18
21
|
* @throws {Error} if there is no cached ProjectGraph to read from
|
|
@@ -24,7 +27,7 @@ function readCachedProjectGraph() {
|
|
|
24
27
|
? (0, strip_indents_1.stripIndents) `
|
|
25
28
|
Make sure invoke 'node ./decorate-angular-cli.js' in your postinstall script.
|
|
26
29
|
The decorated CLI will compute the project graph.
|
|
27
|
-
'ng --help' should say 'Smart
|
|
30
|
+
'ng --help' should say 'Smart Monorepos · Fast CI'.
|
|
28
31
|
`
|
|
29
32
|
: '';
|
|
30
33
|
throw new Error((0, strip_indents_1.stripIndents) `
|
|
@@ -65,24 +68,132 @@ function readProjectsConfigurationFromProjectGraph(projectGraph) {
|
|
|
65
68
|
};
|
|
66
69
|
}
|
|
67
70
|
exports.readProjectsConfigurationFromProjectGraph = readProjectsConfigurationFromProjectGraph;
|
|
68
|
-
async function
|
|
71
|
+
async function buildProjectGraphAndSourceMapsWithoutDaemon() {
|
|
72
|
+
// Set this globally to allow plugins to know if they are being called from the project graph creation
|
|
73
|
+
global.NX_GRAPH_CREATION = true;
|
|
69
74
|
const nxJson = (0, nx_json_1.readNxJson)();
|
|
70
|
-
|
|
75
|
+
perf_hooks_1.performance.mark('retrieve-project-configurations:start');
|
|
76
|
+
let configurationResult;
|
|
77
|
+
let projectConfigurationsError;
|
|
78
|
+
try {
|
|
79
|
+
configurationResult = await (0, retrieve_workspace_files_1.retrieveProjectConfigurations)(workspace_root_1.workspaceRoot, nxJson);
|
|
80
|
+
}
|
|
81
|
+
catch (e) {
|
|
82
|
+
if (e instanceof project_configuration_utils_1.ProjectConfigurationsError) {
|
|
83
|
+
projectConfigurationsError = e;
|
|
84
|
+
configurationResult = e.partialProjectConfigurationsResult;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
throw e;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const { projects, externalNodes, sourceMaps, projectRootMap } = configurationResult;
|
|
91
|
+
perf_hooks_1.performance.mark('retrieve-project-configurations:end');
|
|
92
|
+
perf_hooks_1.performance.mark('retrieve-workspace-files:start');
|
|
93
|
+
const { allWorkspaceFiles, fileMap, rustReferences } = await (0, retrieve_workspace_files_1.retrieveWorkspaceFiles)(workspace_root_1.workspaceRoot, projectRootMap);
|
|
94
|
+
perf_hooks_1.performance.mark('retrieve-workspace-files:end');
|
|
71
95
|
const cacheEnabled = process.env.NX_CACHE_PROJECT_GRAPH !== 'false';
|
|
72
|
-
|
|
96
|
+
perf_hooks_1.performance.mark('build-project-graph-using-project-file-map:start');
|
|
97
|
+
let createDependenciesError;
|
|
98
|
+
let projectGraphResult;
|
|
99
|
+
try {
|
|
100
|
+
projectGraphResult = await (0, build_project_graph_1.buildProjectGraphUsingProjectFileMap)(projects, externalNodes, fileMap, allWorkspaceFiles, rustReferences, cacheEnabled ? (0, nx_deps_cache_1.readFileMapCache)() : null);
|
|
101
|
+
}
|
|
102
|
+
catch (e) {
|
|
103
|
+
if (e instanceof build_project_graph_1.CreateDependenciesError) {
|
|
104
|
+
projectGraphResult = {
|
|
105
|
+
projectGraph: e.partialProjectGraph,
|
|
106
|
+
projectFileMapCache: null,
|
|
107
|
+
};
|
|
108
|
+
createDependenciesError = e;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
throw e;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const { projectGraph, projectFileMapCache } = projectGraphResult;
|
|
115
|
+
perf_hooks_1.performance.mark('build-project-graph-using-project-file-map:end');
|
|
73
116
|
(0, nx_plugin_1.unregisterPluginTSTranspiler)();
|
|
74
|
-
|
|
117
|
+
delete global.NX_GRAPH_CREATION;
|
|
118
|
+
const errors = [
|
|
119
|
+
...(projectConfigurationsError?.errors ?? []),
|
|
120
|
+
...(createDependenciesError?.errors ?? []),
|
|
121
|
+
];
|
|
122
|
+
if (errors.length > 0) {
|
|
123
|
+
throw new ProjectGraphError(errors, projectGraph, sourceMaps);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
if (cacheEnabled) {
|
|
127
|
+
(0, nx_deps_cache_1.writeCache)(projectFileMapCache, projectGraph);
|
|
128
|
+
}
|
|
129
|
+
return { projectGraph, sourceMaps };
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
exports.buildProjectGraphAndSourceMapsWithoutDaemon = buildProjectGraphAndSourceMapsWithoutDaemon;
|
|
133
|
+
class ProjectGraphError extends Error {
|
|
134
|
+
constructor(errors, partialProjectGraph, partialSourceMaps) {
|
|
135
|
+
super(`Failed to process project graph.`);
|
|
136
|
+
_ProjectGraphError_errors.set(this, void 0);
|
|
137
|
+
_ProjectGraphError_partialProjectGraph.set(this, void 0);
|
|
138
|
+
_ProjectGraphError_partialSourceMaps.set(this, void 0);
|
|
139
|
+
this.name = this.constructor.name;
|
|
140
|
+
tslib_1.__classPrivateFieldSet(this, _ProjectGraphError_errors, errors, "f");
|
|
141
|
+
tslib_1.__classPrivateFieldSet(this, _ProjectGraphError_partialProjectGraph, partialProjectGraph, "f");
|
|
142
|
+
tslib_1.__classPrivateFieldSet(this, _ProjectGraphError_partialSourceMaps, partialSourceMaps, "f");
|
|
143
|
+
this.stack = `${this.message}\n ${errors
|
|
144
|
+
.map((error) => error.stack.split('\n').join('\n '))
|
|
145
|
+
.join('\n')}`;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* The daemon cannot throw errors which contain methods as they are not serializable.
|
|
149
|
+
*
|
|
150
|
+
* This method creates a new {@link ProjectGraphError} from a {@link DaemonProjectGraphError} with the methods based on the same serialized data.
|
|
151
|
+
*/
|
|
152
|
+
static fromDaemonProjectGraphError(e) {
|
|
153
|
+
return new ProjectGraphError(e.errors, e.projectGraph, e.sourceMaps);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* This gets the partial project graph despite the errors which occured.
|
|
157
|
+
* This partial project graph may be missing nodes, properties of nodes, or dependencies.
|
|
158
|
+
* This is useful mostly for visualization/debugging. It should not be used for running tasks.
|
|
159
|
+
*/
|
|
160
|
+
getPartialProjectGraph() {
|
|
161
|
+
return tslib_1.__classPrivateFieldGet(this, _ProjectGraphError_partialProjectGraph, "f");
|
|
162
|
+
}
|
|
163
|
+
getPartialSourcemaps() {
|
|
164
|
+
return tslib_1.__classPrivateFieldGet(this, _ProjectGraphError_partialSourceMaps, "f");
|
|
165
|
+
}
|
|
166
|
+
getErrors() {
|
|
167
|
+
return tslib_1.__classPrivateFieldGet(this, _ProjectGraphError_errors, "f");
|
|
168
|
+
}
|
|
75
169
|
}
|
|
76
|
-
exports.
|
|
170
|
+
exports.ProjectGraphError = ProjectGraphError;
|
|
171
|
+
_ProjectGraphError_errors = new WeakMap(), _ProjectGraphError_partialProjectGraph = new WeakMap(), _ProjectGraphError_partialSourceMaps = new WeakMap();
|
|
77
172
|
function handleProjectGraphError(opts, e) {
|
|
78
173
|
if (opts.exitOnError) {
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
title
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
174
|
+
const isVerbose = process.env.NX_VERBOSE_LOGGING === 'true';
|
|
175
|
+
if (e instanceof ProjectGraphError) {
|
|
176
|
+
let title = e.message;
|
|
177
|
+
if (isVerbose) {
|
|
178
|
+
title += ' See errors below.';
|
|
179
|
+
}
|
|
180
|
+
const bodyLines = isVerbose
|
|
181
|
+
? [e.stack]
|
|
182
|
+
: ['Pass --verbose to see the stacktraces.'];
|
|
183
|
+
output_1.output.error({
|
|
184
|
+
title,
|
|
185
|
+
bodyLines: bodyLines,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
const lines = e.message.split('\n');
|
|
190
|
+
output_1.output.error({
|
|
191
|
+
title: lines[0],
|
|
192
|
+
bodyLines: lines.slice(1),
|
|
193
|
+
});
|
|
194
|
+
if (isVerbose) {
|
|
195
|
+
console.error(e);
|
|
196
|
+
}
|
|
86
197
|
}
|
|
87
198
|
process.exit(1);
|
|
88
199
|
}
|
|
@@ -114,11 +225,22 @@ function handleProjectGraphError(opts, e) {
|
|
|
114
225
|
async function createProjectGraphAsync(opts = {
|
|
115
226
|
exitOnError: false,
|
|
116
227
|
resetDaemonClient: false,
|
|
228
|
+
}) {
|
|
229
|
+
const projectGraphAndSourceMaps = await createProjectGraphAndSourceMapsAsync(opts);
|
|
230
|
+
return projectGraphAndSourceMaps.projectGraph;
|
|
231
|
+
}
|
|
232
|
+
exports.createProjectGraphAsync = createProjectGraphAsync;
|
|
233
|
+
async function createProjectGraphAndSourceMapsAsync(opts = {
|
|
234
|
+
exitOnError: false,
|
|
235
|
+
resetDaemonClient: false,
|
|
117
236
|
}) {
|
|
118
237
|
perf_hooks_1.performance.mark('create-project-graph-async:start');
|
|
119
238
|
if (!client_1.daemonClient.enabled()) {
|
|
120
239
|
try {
|
|
121
|
-
const res = await
|
|
240
|
+
const res = await buildProjectGraphAndSourceMapsWithoutDaemon();
|
|
241
|
+
perf_hooks_1.performance.measure('create-project-graph-async >> retrieve-project-configurations', 'retrieve-project-configurations:start', 'retrieve-project-configurations:end');
|
|
242
|
+
perf_hooks_1.performance.measure('create-project-graph-async >> retrieve-workspace-files', 'retrieve-workspace-files:start', 'retrieve-workspace-files:end');
|
|
243
|
+
perf_hooks_1.performance.measure('create-project-graph-async >> build-project-graph-using-project-file-map', 'build-project-graph-using-project-file-map:start', 'build-project-graph-using-project-file-map:end');
|
|
122
244
|
perf_hooks_1.performance.mark('create-project-graph-async:end');
|
|
123
245
|
perf_hooks_1.performance.measure('create-project-graph-async', 'create-project-graph-async:start', 'create-project-graph-async:end');
|
|
124
246
|
return res;
|
|
@@ -129,13 +251,10 @@ async function createProjectGraphAsync(opts = {
|
|
|
129
251
|
}
|
|
130
252
|
else {
|
|
131
253
|
try {
|
|
132
|
-
const
|
|
133
|
-
if (opts.resetDaemonClient) {
|
|
134
|
-
client_1.daemonClient.reset();
|
|
135
|
-
}
|
|
254
|
+
const projectGraphAndSourceMaps = await client_1.daemonClient.getProjectGraphAndSourceMaps();
|
|
136
255
|
perf_hooks_1.performance.mark('create-project-graph-async:end');
|
|
137
256
|
perf_hooks_1.performance.measure('create-project-graph-async', 'create-project-graph-async:start', 'create-project-graph-async:end');
|
|
138
|
-
return
|
|
257
|
+
return projectGraphAndSourceMaps;
|
|
139
258
|
}
|
|
140
259
|
catch (e) {
|
|
141
260
|
if (e.message.indexOf('inotify_add_watch') > -1) {
|
|
@@ -148,7 +267,7 @@ async function createProjectGraphAsync(opts = {
|
|
|
148
267
|
],
|
|
149
268
|
});
|
|
150
269
|
(0, tmp_dir_1.markDaemonAsDisabled)();
|
|
151
|
-
return
|
|
270
|
+
return buildProjectGraphAndSourceMapsWithoutDaemon();
|
|
152
271
|
}
|
|
153
272
|
if (e.internalDaemonError) {
|
|
154
273
|
const errorLogFile = (0, tmp_dir_1.writeDaemonLogs)(e.message);
|
|
@@ -161,10 +280,15 @@ async function createProjectGraphAsync(opts = {
|
|
|
161
280
|
],
|
|
162
281
|
});
|
|
163
282
|
(0, tmp_dir_1.markDaemonAsDisabled)();
|
|
164
|
-
return
|
|
283
|
+
return buildProjectGraphAndSourceMapsWithoutDaemon();
|
|
165
284
|
}
|
|
166
285
|
handleProjectGraphError(opts, e);
|
|
167
286
|
}
|
|
287
|
+
finally {
|
|
288
|
+
if (opts.resetDaemonClient) {
|
|
289
|
+
client_1.daemonClient.reset();
|
|
290
|
+
}
|
|
291
|
+
}
|
|
168
292
|
}
|
|
169
293
|
}
|
|
170
|
-
exports.
|
|
294
|
+
exports.createProjectGraphAndSourceMapsAsync = createProjectGraphAndSourceMapsAsync;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildAllWorkspaceFiles = void 0;
|
|
4
|
+
const perf_hooks_1 = require("perf_hooks");
|
|
5
|
+
function buildAllWorkspaceFiles(projectFileMap, globalFiles) {
|
|
6
|
+
perf_hooks_1.performance.mark('get-all-workspace-files:start');
|
|
7
|
+
let fileData = Object.values(projectFileMap).flat();
|
|
8
|
+
fileData = fileData
|
|
9
|
+
.concat(globalFiles)
|
|
10
|
+
.sort((a, b) => a.file.localeCompare(b.file));
|
|
11
|
+
perf_hooks_1.performance.mark('get-all-workspace-files:end');
|
|
12
|
+
perf_hooks_1.performance.measure('get-all-workspace-files', 'get-all-workspace-files:start', 'get-all-workspace-files:end');
|
|
13
|
+
return fileData;
|
|
14
|
+
}
|
|
15
|
+
exports.buildAllWorkspaceFiles = buildAllWorkspaceFiles;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { ProjectGraphProjectNode } from '../../config/project-graph';
|
|
2
2
|
import { ProjectGraphBuilder } from '../project-graph-builder';
|
|
3
|
-
import { NxJsonConfiguration } from '../../config/nx-json';
|
|
4
3
|
import { ProjectConfiguration, TargetConfiguration } from '../../config/workspace-json-project-json';
|
|
5
4
|
import { CreateDependenciesContext } from '../../utils/nx-plugin';
|
|
6
|
-
export declare function normalizeProjectNodes(ctx: CreateDependenciesContext, builder: ProjectGraphBuilder
|
|
5
|
+
export declare function normalizeProjectNodes(ctx: CreateDependenciesContext, builder: ProjectGraphBuilder): Promise<void>;
|
|
7
6
|
/**
|
|
8
7
|
* Apply target defaults and normalization
|
|
9
8
|
*/
|
|
10
|
-
export declare function normalizeProjectTargets(project: ProjectConfiguration,
|
|
9
|
+
export declare function normalizeProjectTargets(project: ProjectConfiguration, projectName: string): Record<string, TargetConfiguration>;
|
|
11
10
|
export declare function normalizeImplicitDependencies(source: string, implicitDependencies: ProjectConfiguration['implicitDependencies'], projects: Record<string, ProjectGraphProjectNode>): string[];
|
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.normalizeImplicitDependencies = exports.normalizeProjectTargets = exports.normalizeProjectNodes = void 0;
|
|
4
4
|
const find_matching_projects_1 = require("../../utils/find-matching-projects");
|
|
5
|
-
const logger_1 = require("../../utils/logger");
|
|
6
5
|
const project_configuration_utils_1 = require("../utils/project-configuration-utils");
|
|
7
|
-
async function normalizeProjectNodes(ctx, builder
|
|
6
|
+
async function normalizeProjectNodes(ctx, builder) {
|
|
8
7
|
const toAdd = [];
|
|
9
8
|
// Sorting projects by name to make sure that the order of projects in the graph is deterministic.
|
|
10
9
|
// This is important to ensure that expanded properties referencing projects (e.g. implicit dependencies)
|
|
@@ -15,7 +14,7 @@ async function normalizeProjectNodes(ctx, builder, nxJson) {
|
|
|
15
14
|
const projectConfiguration = ctx.projects[project];
|
|
16
15
|
graph[project] = {
|
|
17
16
|
name: project,
|
|
18
|
-
type: projectConfiguration.projectType === 'library' ? 'lib' : 'app',
|
|
17
|
+
type: projectConfiguration.projectType === 'library' ? 'lib' : 'app', // missing fallback to `e2e`
|
|
19
18
|
data: {
|
|
20
19
|
...projectConfiguration,
|
|
21
20
|
},
|
|
@@ -25,7 +24,7 @@ async function normalizeProjectNodes(ctx, builder, nxJson) {
|
|
|
25
24
|
for (const key of projects) {
|
|
26
25
|
const p = ctx.projects[key];
|
|
27
26
|
p.implicitDependencies = normalizeImplicitDependencies(key, p.implicitDependencies, partialProjectGraphNodes);
|
|
28
|
-
p.targets = normalizeProjectTargets(p,
|
|
27
|
+
p.targets = normalizeProjectTargets(p, key);
|
|
29
28
|
// TODO: remove in v16
|
|
30
29
|
const projectType = p.projectType === 'application'
|
|
31
30
|
? key.endsWith('-e2e') || key === 'e2e'
|
|
@@ -62,19 +61,13 @@ exports.normalizeProjectNodes = normalizeProjectNodes;
|
|
|
62
61
|
/**
|
|
63
62
|
* Apply target defaults and normalization
|
|
64
63
|
*/
|
|
65
|
-
function normalizeProjectTargets(project,
|
|
64
|
+
function normalizeProjectTargets(project, projectName) {
|
|
66
65
|
// Any node on the graph will have a targets object, it just may be empty
|
|
67
66
|
const targets = project.targets ?? {};
|
|
68
67
|
for (const target in targets) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
(targets[target].command ? 'nx:run-commands' : null);
|
|
73
|
-
// Allows things like { targetDefaults: { build: { command: tsc } } }
|
|
74
|
-
const defaults = resolveCommandSyntacticSugar((0, project_configuration_utils_1.readTargetDefaultsForTarget)(target, targetDefaults, executor), `targetDefaults:${target}`);
|
|
75
|
-
targets[target] = resolveCommandSyntacticSugar(targets[target], `${projectName}:${target}`);
|
|
76
|
-
if (defaults) {
|
|
77
|
-
targets[target] = (0, project_configuration_utils_1.mergeTargetConfigurations)(project, target, defaults);
|
|
68
|
+
if (!targets[target].command && !targets[target].executor) {
|
|
69
|
+
delete targets[target];
|
|
70
|
+
continue;
|
|
78
71
|
}
|
|
79
72
|
targets[target].options = (0, project_configuration_utils_1.resolveNxTokensInOptions)(targets[target].options, project, `${projectName}:${target}`);
|
|
80
73
|
targets[target].configurations ??= {};
|
|
@@ -97,22 +90,3 @@ function normalizeImplicitDependencies(source, implicitDependencies, projects) {
|
|
|
97
90
|
.concat(implicitDependencies.filter((x) => x.startsWith('!'))));
|
|
98
91
|
}
|
|
99
92
|
exports.normalizeImplicitDependencies = normalizeImplicitDependencies;
|
|
100
|
-
function resolveCommandSyntacticSugar(target, key) {
|
|
101
|
-
const { command, ...config } = target ?? {};
|
|
102
|
-
if (!command) {
|
|
103
|
-
return target;
|
|
104
|
-
}
|
|
105
|
-
if (config.executor) {
|
|
106
|
-
throw new Error(`${logger_1.NX_PREFIX} ${key} should not have executor and command both configured.`);
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
return {
|
|
110
|
-
...config,
|
|
111
|
-
executor: 'nx:run-commands',
|
|
112
|
-
options: {
|
|
113
|
-
...config.options,
|
|
114
|
-
command: command,
|
|
115
|
-
},
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
}
|
|
@@ -2,13 +2,75 @@ import { NxJsonConfiguration, TargetDefaults } from '../../config/nx-json';
|
|
|
2
2
|
import { ProjectGraphExternalNode } from '../../config/project-graph';
|
|
3
3
|
import { ProjectConfiguration, TargetConfiguration } from '../../config/workspace-json-project-json';
|
|
4
4
|
import { LoadedNxPlugin } from '../../utils/nx-plugin';
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
|
|
5
|
+
import { ONLY_MODIFIES_EXISTING_TARGET } from '../../plugins/target-defaults/target-defaults-plugin';
|
|
6
|
+
export type SourceInformation = [file: string, plugin: string];
|
|
7
|
+
export type ConfigurationSourceMaps = Record<string, Record<string, SourceInformation>>;
|
|
8
|
+
export declare function mergeProjectConfigurationIntoRootMap(projectRootMap: Map<string, ProjectConfiguration>, project: ProjectConfiguration & {
|
|
9
|
+
targets?: Record<string, TargetConfiguration & {
|
|
10
|
+
[ONLY_MODIFIES_EXISTING_TARGET]?: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
}, configurationSourceMaps?: ConfigurationSourceMaps, sourceInformation?: SourceInformation, skipCommandNormalization?: boolean): void;
|
|
13
|
+
export type ConfigurationResult = {
|
|
8
14
|
projects: Record<string, ProjectConfiguration>;
|
|
9
15
|
externalNodes: Record<string, ProjectGraphExternalNode>;
|
|
16
|
+
projectRootMap: Record<string, string>;
|
|
17
|
+
sourceMaps: ConfigurationSourceMaps;
|
|
10
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* Transforms a list of project paths into a map of project configurations.
|
|
21
|
+
*
|
|
22
|
+
* @param root The workspace root
|
|
23
|
+
* @param nxJson The NxJson configuration
|
|
24
|
+
* @param workspaceFiles A list of non-ignored workspace files
|
|
25
|
+
* @param plugins The plugins that should be used to infer project configuration
|
|
26
|
+
*/
|
|
27
|
+
export declare function createProjectConfigurations(root: string, nxJson: NxJsonConfiguration, workspaceFiles: string[], // making this parameter allows devkit to pick up newly created projects
|
|
28
|
+
plugins: LoadedNxPlugin[]): Promise<ConfigurationResult>;
|
|
11
29
|
export declare function readProjectConfigurationsFromRootMap(projectRootMap: Map<string, ProjectConfiguration>): Record<string, ProjectConfiguration>;
|
|
12
|
-
export declare
|
|
30
|
+
export declare class ProjectConfigurationsError extends Error {
|
|
31
|
+
readonly errors: Array<MergeNodesError | CreateNodesError>;
|
|
32
|
+
readonly partialProjectConfigurationsResult: ConfigurationResult;
|
|
33
|
+
constructor(errors: Array<MergeNodesError | CreateNodesError>, partialProjectConfigurationsResult: ConfigurationResult);
|
|
34
|
+
}
|
|
35
|
+
export declare class CreateNodesError extends Error {
|
|
36
|
+
file: string;
|
|
37
|
+
pluginName: string;
|
|
38
|
+
constructor({ file, pluginName, error, }: {
|
|
39
|
+
file: string;
|
|
40
|
+
pluginName: string;
|
|
41
|
+
error: Error;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
export declare class MergeNodesError extends Error {
|
|
45
|
+
file: string;
|
|
46
|
+
pluginName: string;
|
|
47
|
+
constructor({ file, pluginName, error, }: {
|
|
48
|
+
file: string;
|
|
49
|
+
pluginName: string;
|
|
50
|
+
error: Error;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Merges two targets.
|
|
55
|
+
*
|
|
56
|
+
* Most properties from `target` will overwrite any properties from `baseTarget`.
|
|
57
|
+
* Options and configurations are treated differently - they are merged together if the executor definition is compatible.
|
|
58
|
+
*
|
|
59
|
+
* @param target The target definition with higher priority
|
|
60
|
+
* @param baseTarget The target definition that should be overwritten. Can be undefined, in which case the target is returned as-is.
|
|
61
|
+
* @param projectConfigSourceMap The source map to be filled with metadata about where each property came from
|
|
62
|
+
* @param sourceInformation The metadata about where the new target was defined
|
|
63
|
+
* @param targetIdentifier The identifier for the target to merge, used for source map
|
|
64
|
+
* @returns A merged target configuration
|
|
65
|
+
*/
|
|
66
|
+
export declare function mergeTargetConfigurations(target: TargetConfiguration, baseTarget?: TargetConfiguration, projectConfigSourceMap?: Record<string, SourceInformation>, sourceInformation?: SourceInformation, targetIdentifier?: string): TargetConfiguration;
|
|
67
|
+
/**
|
|
68
|
+
* Checks if targets options are compatible - used when merging configurations
|
|
69
|
+
* to avoid merging options for @nx/js:tsc into something like @nx/webpack:webpack.
|
|
70
|
+
*
|
|
71
|
+
* If the executors are both specified and don't match, the options aren't considered
|
|
72
|
+
* "compatible" and shouldn't be merged.
|
|
73
|
+
*/
|
|
74
|
+
export declare function isCompatibleTarget(a: TargetConfiguration, b: TargetConfiguration): boolean;
|
|
13
75
|
export declare function resolveNxTokensInOptions<T extends Object | Array<unknown>>(object: T, project: ProjectConfiguration, key: string): T;
|
|
14
76
|
export declare function readTargetDefaultsForTarget(targetName: string, targetDefaults: TargetDefaults, executor?: string): TargetDefaults[string];
|