@ohos-ports/nx 17.3.2-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +106 -0
- package/LICENSE +22 -0
- package/README.md +66 -0
- package/bin/init-local.d.ts +8 -0
- package/bin/init-local.js +175 -0
- package/bin/nx-cloud.d.ts +2 -0
- package/bin/nx-cloud.js +55 -0
- package/bin/nx.d.ts +2 -0
- package/bin/nx.js +230 -0
- package/bin/post-install.d.ts +1 -0
- package/bin/post-install.js +55 -0
- package/bin/run-executor.d.ts +1 -0
- package/bin/run-executor.js +66 -0
- package/executors.json +19 -0
- package/generators.json +10 -0
- package/migrations.json +87 -0
- package/package.json +186 -0
- package/plugins/package-json.d.ts +1 -0
- package/plugins/package-json.js +12 -0
- package/presets/core.json +1 -0
- package/presets/npm.json +7 -0
- package/release/changelog-renderer/index.d.ts +56 -0
- package/release/changelog-renderer/index.js +238 -0
- package/release/index.d.ts +4 -0
- package/release/index.js +11 -0
- package/schemas/nx-schema.json +623 -0
- package/schemas/project-schema.json +244 -0
- package/schemas/workspace-schema.json +185 -0
- package/src/adapter/angular-json.d.ts +9 -0
- package/src/adapter/angular-json.js +127 -0
- package/src/adapter/compat.d.ts +2 -0
- package/src/adapter/compat.js +136 -0
- package/src/adapter/decorate-cli.d.ts +1 -0
- package/src/adapter/decorate-cli.js +25 -0
- package/src/adapter/ngcli-adapter.d.ts +90 -0
- package/src/adapter/ngcli-adapter.js +848 -0
- package/src/adapter/rxjs-for-await.d.ts +109 -0
- package/src/adapter/rxjs-for-await.js +362 -0
- package/src/command-line/add/add.d.ts +2 -0
- package/src/command-line/add/add.js +165 -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.d.ts +7 -0
- package/src/command-line/affected/affected.js +105 -0
- package/src/command-line/affected/command-object.d.ts +16 -0
- package/src/command-line/affected/command-object.js +93 -0
- package/src/command-line/affected/print-affected.d.ts +11 -0
- package/src/command-line/affected/print-affected.js +108 -0
- package/src/command-line/connect/command-object.d.ts +3 -0
- package/src/command-line/connect/command-object.js +19 -0
- package/src/command-line/connect/connect-to-nx-cloud.d.ts +8 -0
- package/src/command-line/connect/connect-to-nx-cloud.js +96 -0
- package/src/command-line/connect/view-logs.d.ts +1 -0
- package/src/command-line/connect/view-logs.js +53 -0
- package/src/command-line/daemon/command-object.d.ts +2 -0
- package/src/command-line/daemon/command-object.js +21 -0
- package/src/command-line/daemon/daemon.d.ts +2 -0
- package/src/command-line/daemon/daemon.js +27 -0
- package/src/command-line/examples.d.ts +5 -0
- package/src/command-line/examples.js +347 -0
- package/src/command-line/exec/command-object.d.ts +2 -0
- package/src/command-line/exec/command-object.js +19 -0
- package/src/command-line/exec/exec.d.ts +1 -0
- package/src/command-line/exec/exec.js +141 -0
- package/src/command-line/format/command-object.d.ts +3 -0
- package/src/command-line/format/command-object.js +46 -0
- package/src/command-line/format/format.d.ts +2 -0
- package/src/command-line/format/format.js +155 -0
- package/src/command-line/generate/command-object.d.ts +2 -0
- package/src/command-line/generate/command-object.js +70 -0
- package/src/command-line/generate/generate.d.ts +21 -0
- package/src/command-line/generate/generate.js +266 -0
- package/src/command-line/generate/generator-utils.d.ts +17 -0
- package/src/command-line/generate/generator-utils.js +87 -0
- package/src/command-line/graph/command-object.d.ts +2 -0
- package/src/command-line/graph/command-object.js +21 -0
- package/src/command-line/graph/graph.d.ts +39 -0
- package/src/command-line/graph/graph.js +661 -0
- package/src/command-line/init/command-object.d.ts +2 -0
- package/src/command-line/init/command-object.js +81 -0
- package/src/command-line/init/implementation/add-nx-to-monorepo.d.ts +4 -0
- package/src/command-line/init/implementation/add-nx-to-monorepo.js +133 -0
- package/src/command-line/init/implementation/add-nx-to-nest.d.ts +5 -0
- package/src/command-line/init/implementation/add-nx-to-nest.js +346 -0
- package/src/command-line/init/implementation/add-nx-to-npm-repo.d.ts +4 -0
- package/src/command-line/init/implementation/add-nx-to-npm-repo.js +66 -0
- package/src/command-line/init/implementation/angular/index.d.ts +2 -0
- package/src/command-line/init/implementation/angular/index.js +128 -0
- package/src/command-line/init/implementation/angular/integrated-workspace.d.ts +1 -0
- package/src/command-line/init/implementation/angular/integrated-workspace.js +10 -0
- package/src/command-line/init/implementation/angular/legacy-angular-versions.d.ts +2 -0
- package/src/command-line/init/implementation/angular/legacy-angular-versions.js +125 -0
- package/src/command-line/init/implementation/angular/standalone-workspace.d.ts +1 -0
- package/src/command-line/init/implementation/angular/standalone-workspace.js +178 -0
- package/src/command-line/init/implementation/angular/types.d.ts +20 -0
- package/src/command-line/init/implementation/angular/types.js +2 -0
- package/src/command-line/init/implementation/dot-nx/add-nx-scripts.d.ts +7 -0
- package/src/command-line/init/implementation/dot-nx/add-nx-scripts.js +91 -0
- package/src/command-line/init/implementation/dot-nx/nxw.d.ts +1 -0
- package/src/command-line/init/implementation/dot-nx/nxw.js +116 -0
- package/src/command-line/init/implementation/react/add-craco-commands-to-package-scripts.d.ts +1 -0
- package/src/command-line/init/implementation/react/add-craco-commands-to-package-scripts.js +22 -0
- package/src/command-line/init/implementation/react/add-vite-commands-to-package-scripts.d.ts +1 -0
- package/src/command-line/init/implementation/react/add-vite-commands-to-package-scripts.js +19 -0
- package/src/command-line/init/implementation/react/check-for-custom-webpack-setup.d.ts +1 -0
- package/src/command-line/init/implementation/react/check-for-custom-webpack-setup.js +18 -0
- package/src/command-line/init/implementation/react/check-for-uncommitted-changes.d.ts +1 -0
- package/src/command-line/init/implementation/react/check-for-uncommitted-changes.js +16 -0
- package/src/command-line/init/implementation/react/clean-up-files.d.ts +1 -0
- package/src/command-line/init/implementation/react/clean-up-files.js +31 -0
- package/src/command-line/init/implementation/react/index.d.ts +4 -0
- package/src/command-line/init/implementation/react/index.js +230 -0
- package/src/command-line/init/implementation/react/read-name-from-package-json.d.ts +1 -0
- package/src/command-line/init/implementation/react/read-name-from-package-json.js +17 -0
- package/src/command-line/init/implementation/react/rename-js-to-jsx.d.ts +1 -0
- package/src/command-line/init/implementation/react/rename-js-to-jsx.js +23 -0
- package/src/command-line/init/implementation/react/tsconfig-setup.d.ts +1 -0
- package/src/command-line/init/implementation/react/tsconfig-setup.js +109 -0
- package/src/command-line/init/implementation/react/write-craco-config.d.ts +1 -0
- package/src/command-line/init/implementation/react/write-craco-config.js +62 -0
- package/src/command-line/init/implementation/react/write-vite-config.d.ts +1 -0
- package/src/command-line/init/implementation/react/write-vite-config.js +38 -0
- package/src/command-line/init/implementation/react/write-vite-index-html.d.ts +1 -0
- package/src/command-line/init/implementation/react/write-vite-index-html.js +25 -0
- package/src/command-line/init/implementation/utils.d.ts +16 -0
- package/src/command-line/init/implementation/utils.js +176 -0
- package/src/command-line/init/init-v1.d.ts +11 -0
- package/src/command-line/init/init-v1.js +118 -0
- package/src/command-line/init/init-v2.d.ts +7 -0
- package/src/command-line/init/init-v2.js +165 -0
- package/src/command-line/list/command-object.d.ts +2 -0
- package/src/command-line/list/command-object.js +15 -0
- package/src/command-line/list/list.d.ts +13 -0
- package/src/command-line/list/list.js +47 -0
- package/src/command-line/migrate/command-object.d.ts +3 -0
- package/src/command-line/migrate/command-object.js +150 -0
- package/src/command-line/migrate/migrate.d.ts +114 -0
- package/src/command-line/migrate/migrate.js +1115 -0
- package/src/command-line/new/command-object.d.ts +2 -0
- package/src/command-line/new/command-object.js +25 -0
- package/src/command-line/new/new.d.ts +3 -0
- package/src/command-line/new/new.js +30 -0
- package/src/command-line/nx-commands.d.ts +10 -0
- package/src/command-line/nx-commands.js +77 -0
- package/src/command-line/release/changelog.d.ts +8 -0
- package/src/command-line/release/changelog.js +696 -0
- package/src/command-line/release/command-object.d.ts +45 -0
- package/src/command-line/release/command-object.js +237 -0
- package/src/command-line/release/config/config.d.ts +56 -0
- package/src/command-line/release/config/config.js +501 -0
- package/src/command-line/release/config/filter-release-groups.d.ts +13 -0
- package/src/command-line/release/config/filter-release-groups.js +150 -0
- 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 +8 -0
- package/src/command-line/release/publish.js +149 -0
- package/src/command-line/release/release.d.ts +4 -0
- package/src/command-line/release/release.js +124 -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 +55 -0
- package/src/command-line/release/utils/git.js +261 -0
- package/src/command-line/release/utils/github.d.ts +27 -0
- package/src/command-line/release/utils/github.js +229 -0
- package/src/command-line/release/utils/launch-editor.d.ts +1 -0
- package/src/command-line/release/utils/launch-editor.js +42 -0
- package/src/command-line/release/utils/markdown.d.ts +6 -0
- package/src/command-line/release/utils/markdown.js +29 -0
- package/src/command-line/release/utils/print-changes.d.ts +7 -0
- package/src/command-line/release/utils/print-changes.js +60 -0
- package/src/command-line/release/utils/resolve-nx-json-error-message.d.ts +1 -0
- package/src/command-line/release/utils/resolve-nx-json-error-message.js +52 -0
- package/src/command-line/release/utils/resolve-semver-specifier.d.ts +3 -0
- package/src/command-line/release/utils/resolve-semver-specifier.js +69 -0
- package/src/command-line/release/utils/semver.d.ts +17 -0
- package/src/command-line/release/utils/semver.js +56 -0
- package/src/command-line/release/utils/shared.d.ts +34 -0
- package/src/command-line/release/utils/shared.js +211 -0
- package/src/command-line/release/version.d.ts +42 -0
- package/src/command-line/release/version.js +347 -0
- package/src/command-line/repair/command-object.d.ts +2 -0
- package/src/command-line/repair/command-object.js +22 -0
- package/src/command-line/repair/repair.d.ts +3 -0
- package/src/command-line/repair/repair.js +37 -0
- package/src/command-line/repair.d.ts +4 -0
- package/src/command-line/repair.js +7 -0
- package/src/command-line/report/command-object.d.ts +2 -0
- package/src/command-line/report/command-object.js +11 -0
- package/src/command-line/report/report.d.ts +48 -0
- package/src/command-line/report/report.js +232 -0
- package/src/command-line/reset/command-object.d.ts +2 -0
- package/src/command-line/reset/command-object.js +9 -0
- package/src/command-line/reset/reset.d.ts +1 -0
- package/src/command-line/reset/reset.js +23 -0
- package/src/command-line/run/command-object.d.ts +6 -0
- package/src/command-line/run/command-object.js +25 -0
- package/src/command-line/run/executor-utils.d.ts +7 -0
- package/src/command-line/run/executor-utils.js +73 -0
- package/src/command-line/run/run-one.d.ts +7 -0
- package/src/command-line/run/run-one.js +117 -0
- package/src/command-line/run/run.d.ts +51 -0
- package/src/command-line/run/run.js +172 -0
- package/src/command-line/run-many/command-object.d.ts +2 -0
- package/src/command-line/run-many/command-object.js +11 -0
- package/src/command-line/run-many/run-many.d.ts +10 -0
- package/src/command-line/run-many/run-many.js +90 -0
- package/src/command-line/run-many.d.ts +4 -0
- package/src/command-line/run-many.js +7 -0
- package/src/command-line/run-one.d.ts +4 -0
- package/src/command-line/run-one.js +7 -0
- package/src/command-line/run.d.ts +4 -0
- package/src/command-line/run.js +7 -0
- package/src/command-line/show/command-object.d.ts +22 -0
- package/src/command-line/show/command-object.js +84 -0
- package/src/command-line/show/show.d.ts +3 -0
- package/src/command-line/show/show.js +126 -0
- package/src/command-line/watch/command-object.d.ts +2 -0
- package/src/command-line/watch/command-object.js +64 -0
- package/src/command-line/watch/watch.d.ts +23 -0
- package/src/command-line/watch/watch.js +169 -0
- package/src/command-line/watch.d.ts +4 -0
- package/src/command-line/watch.js +7 -0
- package/src/command-line/yargs-utils/documentation.d.ts +2 -0
- package/src/command-line/yargs-utils/documentation.js +12 -0
- package/src/command-line/yargs-utils/shared-options.d.ts +89 -0
- package/src/command-line/yargs-utils/shared-options.js +284 -0
- 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/calculate-default-project-name.d.ts +4 -0
- package/src/config/calculate-default-project-name.js +42 -0
- package/src/config/configuration.d.ts +8 -0
- package/src/config/configuration.js +17 -0
- package/src/config/misc-interfaces.d.ts +199 -0
- package/src/config/misc-interfaces.js +2 -0
- package/src/config/nx-json.d.ts +372 -0
- package/src/config/nx-json.js +40 -0
- package/src/config/project-graph.d.ts +137 -0
- package/src/config/project-graph.js +37 -0
- package/src/config/schema-utils.d.ts +15 -0
- package/src/config/schema-utils.js +59 -0
- package/src/config/task-graph.d.ts +100 -0
- package/src/config/task-graph.js +2 -0
- package/src/config/workspace-json-project-json.d.ts +189 -0
- package/src/config/workspace-json-project-json.js +2 -0
- package/src/config/workspaces.d.ts +18 -0
- package/src/config/workspaces.js +35 -0
- package/src/core/graph/3rdpartylicenses.txt +833 -0
- package/src/core/graph/environment.js +1 -0
- package/src/core/graph/favicon.ico +0 -0
- package/src/core/graph/index.html +31 -0
- package/src/core/graph/main.js +1 -0
- package/src/core/graph/polyfills.js +1 -0
- package/src/core/graph/runtime.js +1 -0
- package/src/core/graph/styles.css +3 -0
- package/src/core/graph/styles.js +1 -0
- package/src/daemon/cache.d.ts +9 -0
- package/src/daemon/cache.js +52 -0
- package/src/daemon/client/client.d.ts +56 -0
- package/src/daemon/client/client.js +359 -0
- package/src/daemon/client/daemon-socket-messenger.d.ts +13 -0
- package/src/daemon/client/daemon-socket-messenger.js +26 -0
- package/src/daemon/client/exec-is-server-available.d.ts +1 -0
- package/src/daemon/client/exec-is-server-available.js +11 -0
- package/src/daemon/client/generate-help-output.d.ts +1 -0
- package/src/daemon/client/generate-help-output.js +26 -0
- package/src/daemon/server/file-watching/changed-projects.d.ts +10 -0
- package/src/daemon/server/file-watching/changed-projects.js +45 -0
- package/src/daemon/server/file-watching/file-watcher-sockets.d.ts +13 -0
- package/src/daemon/server/file-watching/file-watcher-sockets.js +66 -0
- package/src/daemon/server/handle-hash-tasks.d.ts +10 -0
- package/src/daemon/server/handle-hash-tasks.js +26 -0
- package/src/daemon/server/handle-outputs-tracking.d.ts +15 -0
- package/src/daemon/server/handle-outputs-tracking.js +36 -0
- package/src/daemon/server/handle-process-in-background.d.ts +6 -0
- package/src/daemon/server/handle-process-in-background.js +33 -0
- package/src/daemon/server/handle-request-file-data.d.ts +4 -0
- package/src/daemon/server/handle-request-file-data.js +13 -0
- package/src/daemon/server/handle-request-project-graph.d.ts +2 -0
- package/src/daemon/server/handle-request-project-graph.js +37 -0
- package/src/daemon/server/handle-request-shutdown.d.ts +6 -0
- package/src/daemon/server/handle-request-shutdown.js +26 -0
- package/src/daemon/server/logger.d.ts +18 -0
- package/src/daemon/server/logger.js +37 -0
- package/src/daemon/server/outputs-tracking.d.ts +8 -0
- package/src/daemon/server/outputs-tracking.js +94 -0
- package/src/daemon/server/project-graph-incremental-recomputation.d.ts +22 -0
- package/src/daemon/server/project-graph-incremental-recomputation.js +227 -0
- package/src/daemon/server/server.d.ts +9 -0
- package/src/daemon/server/server.js +303 -0
- package/src/daemon/server/shutdown-utils.d.ts +17 -0
- package/src/daemon/server/shutdown-utils.js +77 -0
- package/src/daemon/server/start.d.ts +1 -0
- package/src/daemon/server/start.js +17 -0
- package/src/daemon/server/watcher.d.ts +12 -0
- package/src/daemon/server/watcher.js +96 -0
- package/src/daemon/socket-utils.d.ts +11 -0
- package/src/daemon/socket-utils.js +42 -0
- package/src/daemon/tmp-dir.d.ts +8 -0
- package/src/daemon/tmp-dir.js +68 -0
- package/src/devkit-exports.d.ts +135 -0
- package/src/devkit-exports.js +140 -0
- package/src/devkit-internals.d.ts +19 -0
- package/src/devkit-internals.js +37 -0
- package/src/devkit-testing-exports.d.ts +2 -0
- package/src/devkit-testing-exports.js +8 -0
- package/src/executors/noop/noop.impl.d.ts +3 -0
- package/src/executors/noop/noop.impl.js +6 -0
- package/src/executors/noop/schema.json +10 -0
- package/src/executors/run-commands/run-commands.impl.d.ts +42 -0
- package/src/executors/run-commands/run-commands.impl.js +247 -0
- package/src/executors/run-commands/schema.json +150 -0
- package/src/executors/run-script/run-script.impl.d.ts +8 -0
- package/src/executors/run-script/run-script.impl.js +56 -0
- package/src/executors/run-script/schema.json +28 -0
- package/src/executors/utils/convert-nx-executor.d.ts +10 -0
- package/src/executors/utils/convert-nx-executor.js +82 -0
- package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.d.ts +8 -0
- package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js +49 -0
- package/src/generators/testing-utils/create-tree-with-empty-workspace.d.ts +11 -0
- package/src/generators/testing-utils/create-tree-with-empty-workspace.js +46 -0
- package/src/generators/testing-utils/create-tree.d.ts +5 -0
- package/src/generators/testing-utils/create-tree.js +11 -0
- package/src/generators/tree.d.ts +128 -0
- package/src/generators/tree.js +309 -0
- package/src/generators/utils/glob.d.ts +11 -0
- package/src/generators/utils/glob.js +35 -0
- package/src/generators/utils/json.d.ts +28 -0
- package/src/generators/utils/json.js +48 -0
- package/src/generators/utils/nx-json.d.ts +11 -0
- package/src/generators/utils/nx-json.js +59 -0
- package/src/generators/utils/project-configuration.d.ts +42 -0
- package/src/generators/utils/project-configuration.js +239 -0
- package/src/hasher/create-task-hasher.d.ts +4 -0
- package/src/hasher/create-task-hasher.js +16 -0
- package/src/hasher/file-hasher.d.ts +2 -0
- package/src/hasher/file-hasher.js +19 -0
- package/src/hasher/hash-task.d.ts +7 -0
- package/src/hasher/hash-task.js +54 -0
- 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 +129 -0
- package/src/hasher/task-hasher.js +266 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +5 -0
- package/src/migrations/update-15-0-0/migrate-to-inputs.d.ts +2 -0
- package/src/migrations/update-15-0-0/migrate-to-inputs.js +102 -0
- package/src/migrations/update-15-0-0/prefix-outputs.d.ts +2 -0
- package/src/migrations/update-15-0-0/prefix-outputs.js +64 -0
- package/src/migrations/update-15-1-0/set-project-names.d.ts +2 -0
- package/src/migrations/update-15-1-0/set-project-names.js +32 -0
- package/src/migrations/update-15-8-2/update-nxw.d.ts +2 -0
- package/src/migrations/update-15-8-2/update-nxw.js +7 -0
- package/src/migrations/update-16-0-0/remove-nrwl-cli.d.ts +2 -0
- package/src/migrations/update-16-0-0/remove-nrwl-cli.js +16 -0
- package/src/migrations/update-16-0-0/update-depends-on-to-tokens.d.ts +2 -0
- package/src/migrations/update-16-0-0/update-depends-on-to-tokens.js +97 -0
- package/src/migrations/update-16-0-0/update-nx-cloud-runner.d.ts +2 -0
- package/src/migrations/update-16-0-0/update-nx-cloud-runner.js +27 -0
- package/src/migrations/update-16-2-0/remove-run-commands-output-path.d.ts +2 -0
- package/src/migrations/update-16-2-0/remove-run-commands-output-path.js +45 -0
- package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.d.ts +12 -0
- package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.js +60 -0
- package/src/migrations/update-16-9-0/remove-project-name-and-root-format.d.ts +2 -0
- package/src/migrations/update-16-9-0/remove-project-name-and-root-format.js +21 -0
- package/src/migrations/update-17-0-0/move-cache-directory.d.ts +2 -0
- package/src/migrations/update-17-0-0/move-cache-directory.js +35 -0
- package/src/migrations/update-17-0-0/rm-default-collection-npm-scope.d.ts +2 -0
- package/src/migrations/update-17-0-0/rm-default-collection-npm-scope.js +72 -0
- package/src/migrations/update-17-0-0/use-minimal-config-for-tasks-runner-options.d.ts +2 -0
- package/src/migrations/update-17-0-0/use-minimal-config-for-tasks-runner-options.js +122 -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 +49 -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/native/assert-supported-platform.d.ts +1 -0
- package/src/native/assert-supported-platform.js +39 -0
- package/src/native/index.d.ts +192 -0
- package/src/native/index.js +289 -0
- package/src/native/transform-objects.d.ts +3 -0
- package/src/native/transform-objects.js +50 -0
- package/src/nx-cloud/debug-logger.d.ts +1 -0
- package/src/nx-cloud/debug-logger.js +9 -0
- package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.d.ts +8 -0
- package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.js +107 -0
- package/src/nx-cloud/generators/connect-to-nx-cloud/schema.json +27 -0
- package/src/nx-cloud/nx-cloud-tasks-runner-shell.d.ts +15 -0
- package/src/nx-cloud/nx-cloud-tasks-runner-shell.js +41 -0
- package/src/nx-cloud/resolution-helpers.d.ts +1 -0
- package/src/nx-cloud/resolution-helpers.js +20 -0
- package/src/nx-cloud/update-manager.d.ts +17 -0
- package/src/nx-cloud/update-manager.js +240 -0
- package/src/nx-cloud/utilities/axios.d.ts +2 -0
- package/src/nx-cloud/utilities/axios.js +24 -0
- package/src/nx-cloud/utilities/environment.d.ts +3 -0
- package/src/nx-cloud/utilities/environment.js +47 -0
- package/src/nx-cloud/utilities/get-cloud-options.d.ts +2 -0
- package/src/nx-cloud/utilities/get-cloud-options.js +11 -0
- package/src/plugins/js/hasher/hasher.d.ts +5 -0
- package/src/plugins/js/hasher/hasher.js +52 -0
- package/src/plugins/js/index.d.ts +4 -0
- package/src/plugins/js/index.js +96 -0
- package/src/plugins/js/lock-file/lock-file.d.ts +34 -0
- package/src/plugins/js/lock-file/lock-file.js +169 -0
- package/src/plugins/js/lock-file/npm-parser.d.ts +7 -0
- package/src/plugins/js/lock-file/npm-parser.js +463 -0
- package/src/plugins/js/lock-file/pnpm-parser.d.ts +7 -0
- package/src/plugins/js/lock-file/pnpm-parser.js +294 -0
- package/src/plugins/js/lock-file/project-graph-pruning.d.ts +7 -0
- package/src/plugins/js/lock-file/project-graph-pruning.js +155 -0
- package/src/plugins/js/lock-file/utils/package-json.d.ts +10 -0
- package/src/plugins/js/lock-file/utils/package-json.js +34 -0
- package/src/plugins/js/lock-file/utils/pnpm-normalizer.d.ts +38 -0
- package/src/plugins/js/lock-file/utils/pnpm-normalizer.js +575 -0
- package/src/plugins/js/lock-file/yarn-parser.d.ts +7 -0
- package/src/plugins/js/lock-file/yarn-parser.js +437 -0
- package/src/plugins/js/package-json/create-package-json.d.ts +27 -0
- package/src/plugins/js/package-json/create-package-json.js +207 -0
- package/src/plugins/js/project-graph/affected/lock-file-changes.d.ts +4 -0
- package/src/plugins/js/project-graph/affected/lock-file-changes.js +16 -0
- package/src/plugins/js/project-graph/affected/npm-packages.d.ts +4 -0
- package/src/plugins/js/project-graph/affected/npm-packages.js +56 -0
- package/src/plugins/js/project-graph/affected/touched-projects.d.ts +2 -0
- package/src/plugins/js/project-graph/affected/touched-projects.js +18 -0
- package/src/plugins/js/project-graph/affected/tsconfig-json-changes.d.ts +4 -0
- package/src/plugins/js/project-graph/affected/tsconfig-json-changes.js +63 -0
- package/src/plugins/js/project-graph/build-dependencies/build-dependencies.d.ts +6 -0
- package/src/plugins/js/project-graph/build-dependencies/build-dependencies.js +33 -0
- package/src/plugins/js/project-graph/build-dependencies/explicit-package-json-dependencies.d.ts +3 -0
- package/src/plugins/js/project-graph/build-dependencies/explicit-package-json-dependencies.js +82 -0
- package/src/plugins/js/project-graph/build-dependencies/explicit-project-dependencies.d.ts +3 -0
- package/src/plugins/js/project-graph/build-dependencies/explicit-project-dependencies.js +94 -0
- package/src/plugins/js/project-graph/build-dependencies/strip-source-code.d.ts +7 -0
- package/src/plugins/js/project-graph/build-dependencies/strip-source-code.js +156 -0
- package/src/plugins/js/project-graph/build-dependencies/target-project-locator.d.ts +32 -0
- package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +183 -0
- package/src/plugins/js/project-graph/build-dependencies/typescript-import-locator.d.ts +16 -0
- package/src/plugins/js/project-graph/build-dependencies/typescript-import-locator.js +120 -0
- package/src/plugins/js/project-graph/build-nodes/build-npm-package-nodes.d.ts +2 -0
- package/src/plugins/js/project-graph/build-nodes/build-npm-package-nodes.js +32 -0
- package/src/plugins/js/utils/config.d.ts +2 -0
- package/src/plugins/js/utils/config.js +65 -0
- package/src/plugins/js/utils/register.d.ts +151 -0
- package/src/plugins/js/utils/register.js +215 -0
- package/src/plugins/js/utils/typescript.d.ts +14 -0
- package/src/plugins/js/utils/typescript.js +98 -0
- package/src/plugins/js/versions.d.ts +1 -0
- package/src/plugins/js/versions.js +4 -0
- package/src/plugins/package-json-workspaces/create-nodes.d.ts +19 -0
- package/src/plugins/package-json-workspaces/create-nodes.js +130 -0
- 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 +4 -0
- package/src/plugins/project-json/build-nodes/project-json.js +29 -0
- package/src/plugins/target-defaults/target-defaults-plugin.d.ts +8 -0
- package/src/plugins/target-defaults/target-defaults-plugin.js +103 -0
- package/src/project-graph/affected/affected-project-graph-models.d.ts +11 -0
- package/src/project-graph/affected/affected-project-graph-models.js +2 -0
- package/src/project-graph/affected/affected-project-graph.d.ts +4 -0
- package/src/project-graph/affected/affected-project-graph.js +83 -0
- package/src/project-graph/affected/locators/project-glob-changes.d.ts +2 -0
- package/src/project-graph/affected/locators/project-glob-changes.js +31 -0
- package/src/project-graph/affected/locators/workspace-json-changes.d.ts +4 -0
- package/src/project-graph/affected/locators/workspace-json-changes.js +47 -0
- package/src/project-graph/affected/locators/workspace-projects.d.ts +5 -0
- package/src/project-graph/affected/locators/workspace-projects.js +85 -0
- package/src/project-graph/build-project-graph.d.ts +14 -0
- package/src/project-graph/build-project-graph.js +219 -0
- package/src/project-graph/file-map-utils.d.ts +15 -0
- package/src/project-graph/file-map-utils.js +63 -0
- package/src/project-graph/file-utils.d.ts +31 -0
- package/src/project-graph/file-utils.js +181 -0
- package/src/project-graph/nx-deps-cache.d.ts +48 -0
- package/src/project-graph/nx-deps-cache.js +228 -0
- package/src/project-graph/operators.d.ts +12 -0
- package/src/project-graph/operators.js +114 -0
- package/src/project-graph/project-graph-builder.d.ts +133 -0
- package/src/project-graph/project-graph-builder.js +379 -0
- package/src/project-graph/project-graph.d.ts +48 -0
- package/src/project-graph/project-graph.js +188 -0
- 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/find-project-for-path.d.ts +20 -0
- package/src/project-graph/utils/find-project-for-path.js +57 -0
- package/src/project-graph/utils/implicit-project-dependencies.d.ts +3 -0
- package/src/project-graph/utils/implicit-project-dependencies.js +19 -0
- package/src/project-graph/utils/normalize-project-nodes.d.ts +10 -0
- package/src/project-graph/utils/normalize-project-nodes.js +92 -0
- package/src/project-graph/utils/project-configuration-utils.d.ts +53 -0
- package/src/project-graph/utils/project-configuration-utils.js +456 -0
- package/src/project-graph/utils/retrieve-workspace-files.d.ts +37 -0
- package/src/project-graph/utils/retrieve-workspace-files.js +109 -0
- package/src/tasks-runner/batch/batch-messages.d.ts +33 -0
- package/src/tasks-runner/batch/batch-messages.js +9 -0
- package/src/tasks-runner/batch/run-batch.d.ts +1 -0
- package/src/tasks-runner/batch/run-batch.js +77 -0
- package/src/tasks-runner/cache.d.ts +36 -0
- package/src/tasks-runner/cache.js +236 -0
- package/src/tasks-runner/create-task-graph.d.ts +25 -0
- package/src/tasks-runner/create-task-graph.js +225 -0
- package/src/tasks-runner/default-tasks-runner.d.ts +20 -0
- package/src/tasks-runner/default-tasks-runner.js +29 -0
- 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 +44 -0
- package/src/tasks-runner/forked-process-task-runner.js +396 -0
- package/src/tasks-runner/init-tasks-runner.d.ts +11 -0
- package/src/tasks-runner/init-tasks-runner.js +57 -0
- package/src/tasks-runner/life-cycle.d.ts +43 -0
- package/src/tasks-runner/life-cycle.js +71 -0
- package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.d.ts +25 -0
- package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.js +345 -0
- package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.d.ts +24 -0
- package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.js +224 -0
- package/src/tasks-runner/life-cycles/empty-terminal-output-life-cycle.d.ts +5 -0
- package/src/tasks-runner/life-cycles/empty-terminal-output-life-cycle.js +16 -0
- package/src/tasks-runner/life-cycles/formatting-utils.d.ts +3 -0
- package/src/tasks-runner/life-cycles/formatting-utils.js +44 -0
- package/src/tasks-runner/life-cycles/invoke-runner-terminal-output-life-cycle.d.ts +17 -0
- package/src/tasks-runner/life-cycles/invoke-runner-terminal-output-life-cycle.js +67 -0
- package/src/tasks-runner/life-cycles/pretty-time.d.ts +4 -0
- package/src/tasks-runner/life-cycles/pretty-time.js +74 -0
- package/src/tasks-runner/life-cycles/static-run-many-terminal-output-life-cycle.d.ts +33 -0
- package/src/tasks-runner/life-cycles/static-run-many-terminal-output-life-cycle.js +99 -0
- package/src/tasks-runner/life-cycles/static-run-one-terminal-output-life-cycle.d.ts +31 -0
- package/src/tasks-runner/life-cycles/static-run-one-terminal-output-life-cycle.js +89 -0
- package/src/tasks-runner/life-cycles/store-run-information-life-cycle.d.ts +22 -0
- package/src/tasks-runner/life-cycles/store-run-information-life-cycle.js +87 -0
- package/src/tasks-runner/life-cycles/task-profiling-life-cycle.d.ts +19 -0
- package/src/tasks-runner/life-cycles/task-profiling-life-cycle.js +73 -0
- package/src/tasks-runner/life-cycles/task-timings-life-cycle.d.ts +13 -0
- package/src/tasks-runner/life-cycles/task-timings-life-cycle.js +39 -0
- package/src/tasks-runner/life-cycles/view-logs-utils.d.ts +1 -0
- package/src/tasks-runner/life-cycles/view-logs-utils.js +16 -0
- package/src/tasks-runner/psuedo-ipc.d.ts +49 -0
- package/src/tasks-runner/psuedo-ipc.js +140 -0
- package/src/tasks-runner/remove-old-cache-records.d.ts +1 -0
- package/src/tasks-runner/remove-old-cache-records.js +61 -0
- package/src/tasks-runner/run-command.d.ts +28 -0
- package/src/tasks-runner/run-command.js +353 -0
- package/src/tasks-runner/task-env.d.ts +8 -0
- package/src/tasks-runner/task-env.js +144 -0
- package/src/tasks-runner/task-graph-utils.d.ts +7 -0
- package/src/tasks-runner/task-graph-utils.js +55 -0
- package/src/tasks-runner/task-orchestrator.d.ts +50 -0
- package/src/tasks-runner/task-orchestrator.js +375 -0
- package/src/tasks-runner/tasks-runner.d.ts +23 -0
- package/src/tasks-runner/tasks-runner.js +2 -0
- package/src/tasks-runner/tasks-schedule.d.ts +36 -0
- package/src/tasks-runner/tasks-schedule.js +142 -0
- package/src/tasks-runner/utils.d.ts +51 -0
- package/src/tasks-runner/utils.js +293 -0
- package/src/utils/ab-testing.d.ts +51 -0
- package/src/utils/ab-testing.js +91 -0
- package/src/utils/all-file-data.d.ts +2 -0
- package/src/utils/all-file-data.js +15 -0
- package/src/utils/app-root.d.ts +8 -0
- package/src/utils/app-root.js +12 -0
- package/src/utils/assert-workspace-validity.d.ts +3 -0
- package/src/utils/assert-workspace-validity.js +84 -0
- package/src/utils/async-iterator.d.ts +2 -0
- package/src/utils/async-iterator.js +17 -0
- package/src/utils/cache-directory.d.ts +6 -0
- package/src/utils/cache-directory.js +60 -0
- package/src/utils/child-process.d.ts +19 -0
- package/src/utils/child-process.js +117 -0
- package/src/utils/chunkify.d.ts +1 -0
- package/src/utils/chunkify.js +38 -0
- package/src/utils/code-frames.d.ts +14 -0
- package/src/utils/code-frames.js +119 -0
- package/src/utils/collapse-expanded-outputs.d.ts +1 -0
- package/src/utils/collapse-expanded-outputs.js +41 -0
- package/src/utils/command-line-utils.d.ts +48 -0
- package/src/utils/command-line-utils.js +254 -0
- package/src/utils/consume-messages-from-socket.d.ts +1 -0
- package/src/utils/consume-messages-from-socket.js +22 -0
- package/src/utils/default-base.d.ts +1 -0
- package/src/utils/default-base.js +15 -0
- package/src/utils/exit-codes.d.ts +6 -0
- package/src/utils/exit-codes.js +20 -0
- package/src/utils/fileutils.d.ts +69 -0
- package/src/utils/fileutils.js +135 -0
- package/src/utils/find-matching-projects.d.ts +10 -0
- package/src/utils/find-matching-projects.js +198 -0
- package/src/utils/find-workspace-root.d.ts +11 -0
- package/src/utils/find-workspace-root.js +34 -0
- package/src/utils/globs.d.ts +1 -0
- package/src/utils/globs.js +8 -0
- package/src/utils/ignore.d.ts +8 -0
- package/src/utils/ignore.js +68 -0
- package/src/utils/installation-directory.d.ts +2 -0
- package/src/utils/installation-directory.js +13 -0
- package/src/utils/is-ci.d.ts +1 -0
- package/src/utils/is-ci.js +20 -0
- package/src/utils/json-diff.d.ts +18 -0
- package/src/utils/json-diff.js +112 -0
- package/src/utils/json.d.ts +44 -0
- package/src/utils/json.js +60 -0
- package/src/utils/logger.d.ts +11 -0
- package/src/utils/logger.js +47 -0
- package/src/utils/nx-cloud-utils.d.ts +4 -0
- package/src/utils/nx-cloud-utils.js +27 -0
- package/src/utils/nx-plugin.d.ts +119 -0
- package/src/utils/nx-plugin.deprecated.d.ts +31 -0
- package/src/utils/nx-plugin.deprecated.js +25 -0
- package/src/utils/nx-plugin.js +293 -0
- package/src/utils/object-sort.d.ts +1 -0
- package/src/utils/object-sort.js +10 -0
- package/src/utils/output.d.ts +72 -0
- package/src/utils/output.js +239 -0
- package/src/utils/package-json.d.ts +98 -0
- package/src/utils/package-json.js +134 -0
- package/src/utils/package-manager.d.ts +93 -0
- package/src/utils/package-manager.js +300 -0
- package/src/utils/params.d.ts +138 -0
- package/src/utils/params.js +684 -0
- package/src/utils/path.d.ts +19 -0
- package/src/utils/path.js +38 -0
- package/src/utils/perf-logging.d.ts +1 -0
- package/src/utils/perf-logging.js +11 -0
- package/src/utils/plugins/community-plugins.d.ts +2 -0
- package/src/utils/plugins/community-plugins.js +29 -0
- package/src/utils/plugins/core-plugins.d.ts +3 -0
- package/src/utils/plugins/core-plugins.js +114 -0
- package/src/utils/plugins/index.d.ts +4 -0
- package/src/utils/plugins/index.js +14 -0
- package/src/utils/plugins/installed-plugins.d.ts +6 -0
- package/src/utils/plugins/installed-plugins.js +104 -0
- package/src/utils/plugins/local-plugins.d.ts +5 -0
- package/src/utils/plugins/local-plugins.js +58 -0
- package/src/utils/plugins/models.d.ts +22 -0
- package/src/utils/plugins/models.js +2 -0
- package/src/utils/plugins/plugin-capabilities.d.ts +4 -0
- package/src/utils/plugins/plugin-capabilities.js +124 -0
- package/src/utils/plugins/shared.d.ts +1 -0
- package/src/utils/plugins/shared.js +8 -0
- package/src/utils/print-help.d.ts +11 -0
- package/src/utils/print-help.js +265 -0
- package/src/utils/project-graph-utils.d.ts +13 -0
- package/src/utils/project-graph-utils.js +74 -0
- package/src/utils/promised-based-queue.d.ts +6 -0
- package/src/utils/promised-based-queue.js +43 -0
- package/src/utils/serialize-overrides-into-command-line.d.ts +3 -0
- package/src/utils/serialize-overrides-into-command-line.js +43 -0
- package/src/utils/split-target.d.ts +3 -0
- package/src/utils/split-target.js +49 -0
- package/src/utils/strip-indents.d.ts +14 -0
- package/src/utils/strip-indents.js +24 -0
- package/src/utils/typescript.d.ts +1 -0
- package/src/utils/typescript.js +5 -0
- package/src/utils/update-nxw.d.ts +2 -0
- package/src/utils/update-nxw.js +12 -0
- package/src/utils/versions.d.ts +1 -0
- package/src/utils/versions.js +4 -0
- package/src/utils/workspace-configuration-check.d.ts +1 -0
- package/src/utils/workspace-configuration-check.js +37 -0
- package/src/utils/workspace-context.d.ts +10 -0
- package/src/utils/workspace-context.js +56 -0
- package/src/utils/workspace-root.d.ts +6 -0
- package/src/utils/workspace-root.js +39 -0
- package/tasks-runners/default.d.ts +1 -0
- package/tasks-runners/default.js +5 -0
|
@@ -0,0 +1,456 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readTargetDefaultsForTarget = exports.resolveNxTokensInOptions = exports.isCompatibleTarget = exports.mergeTargetConfigurations = exports.readProjectConfigurationsFromRootMap = exports.buildProjectsConfigurationsFromProjectPathsAndPlugins = exports.mergeProjectConfigurationIntoRootMap = void 0;
|
|
4
|
+
const logger_1 = require("../../utils/logger");
|
|
5
|
+
const fileutils_1 = require("../../utils/fileutils");
|
|
6
|
+
const workspace_root_1 = require("../../utils/workspace-root");
|
|
7
|
+
const target_defaults_plugin_1 = require("../../plugins/target-defaults/target-defaults-plugin");
|
|
8
|
+
const minimatch_1 = require("minimatch");
|
|
9
|
+
const path_1 = require("path");
|
|
10
|
+
function mergeProjectConfigurationIntoRootMap(projectRootMap, project, configurationSourceMaps, sourceInformation,
|
|
11
|
+
// This function is used when reading project configuration
|
|
12
|
+
// in generators, where we don't want to do this.
|
|
13
|
+
skipCommandNormalization) {
|
|
14
|
+
if (configurationSourceMaps && !configurationSourceMaps[project.root]) {
|
|
15
|
+
configurationSourceMaps[project.root] = {};
|
|
16
|
+
}
|
|
17
|
+
const sourceMap = configurationSourceMaps?.[project.root];
|
|
18
|
+
let matchingProject = projectRootMap.get(project.root);
|
|
19
|
+
if (!matchingProject) {
|
|
20
|
+
projectRootMap.set(project.root, {
|
|
21
|
+
root: project.root,
|
|
22
|
+
});
|
|
23
|
+
matchingProject = projectRootMap.get(project.root);
|
|
24
|
+
if (sourceMap) {
|
|
25
|
+
sourceMap[`root`] = sourceInformation;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// This handles top level properties that are overwritten.
|
|
29
|
+
// e.g. `srcRoot`, `projectType`, or other fields that shouldn't be extended
|
|
30
|
+
// Note: `name` is set specifically here to keep it from changing. The name is
|
|
31
|
+
// always determined by the first inference plugin to ID a project, unless it has
|
|
32
|
+
// a project.json in which case it was already updated above.
|
|
33
|
+
const updatedProjectConfiguration = {
|
|
34
|
+
...matchingProject,
|
|
35
|
+
...project,
|
|
36
|
+
};
|
|
37
|
+
if (sourceMap) {
|
|
38
|
+
for (const property in project) {
|
|
39
|
+
sourceMap[`${property}`] = sourceInformation;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// The next blocks handle properties that should be themselves merged (e.g. targets, tags, and implicit dependencies)
|
|
43
|
+
if (project.tags) {
|
|
44
|
+
updatedProjectConfiguration.tags = Array.from(new Set((matchingProject.tags ?? []).concat(project.tags)));
|
|
45
|
+
if (sourceMap) {
|
|
46
|
+
project.tags.forEach((tag) => {
|
|
47
|
+
sourceMap[`tags.${tag}`] = sourceInformation;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (project.implicitDependencies) {
|
|
52
|
+
updatedProjectConfiguration.implicitDependencies = (matchingProject.implicitDependencies ?? []).concat(project.implicitDependencies);
|
|
53
|
+
if (sourceMap) {
|
|
54
|
+
project.implicitDependencies.forEach((implicitDependency) => {
|
|
55
|
+
sourceMap[`implicitDependencies.${implicitDependency}`] =
|
|
56
|
+
sourceInformation;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (project.generators) {
|
|
61
|
+
// Start with generators config in new project.
|
|
62
|
+
updatedProjectConfiguration.generators = { ...project.generators };
|
|
63
|
+
if (sourceMap) {
|
|
64
|
+
for (const generator in project.generators) {
|
|
65
|
+
sourceMap[`generators.${generator}`] = sourceInformation;
|
|
66
|
+
for (const property in project.generators[generator]) {
|
|
67
|
+
sourceMap[`generators.${generator}.${property}`] = sourceInformation;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (matchingProject.generators) {
|
|
72
|
+
// For each generator that was already defined, shallow merge the options.
|
|
73
|
+
// Project contains the new info, so it has higher priority.
|
|
74
|
+
for (const generator in matchingProject.generators) {
|
|
75
|
+
updatedProjectConfiguration.generators[generator] = {
|
|
76
|
+
...matchingProject.generators[generator],
|
|
77
|
+
...project.generators[generator],
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (project.namedInputs) {
|
|
83
|
+
updatedProjectConfiguration.namedInputs = {
|
|
84
|
+
...matchingProject.namedInputs,
|
|
85
|
+
...project.namedInputs,
|
|
86
|
+
};
|
|
87
|
+
if (sourceMap) {
|
|
88
|
+
for (const namedInput in project.namedInputs) {
|
|
89
|
+
sourceMap[`namedInputs.${namedInput}`] = sourceInformation;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (project.targets) {
|
|
94
|
+
// We merge the targets with special handling, so clear this back to the
|
|
95
|
+
// targets as defined originally before merging.
|
|
96
|
+
updatedProjectConfiguration.targets = matchingProject?.targets ?? {};
|
|
97
|
+
// For each target defined in the new config
|
|
98
|
+
for (const targetName in project.targets) {
|
|
99
|
+
// Always set source map info for the target, but don't overwrite info already there
|
|
100
|
+
// if augmenting an existing target.
|
|
101
|
+
const target = project.targets?.[targetName];
|
|
102
|
+
if (sourceMap && !target?.[target_defaults_plugin_1.ONLY_MODIFIES_EXISTING_TARGET]) {
|
|
103
|
+
sourceMap[`targets.${targetName}`] = sourceInformation;
|
|
104
|
+
}
|
|
105
|
+
// If ONLY_MODIFIES_EXISTING_TARGET is true, and its not on the matching project
|
|
106
|
+
// we shouldn't merge its info into the graph
|
|
107
|
+
if (target?.[target_defaults_plugin_1.ONLY_MODIFIES_EXISTING_TARGET] &&
|
|
108
|
+
!matchingProject.targets?.[targetName]) {
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
// We don't want the symbol to live on past the merge process
|
|
112
|
+
if (target?.[target_defaults_plugin_1.ONLY_MODIFIES_EXISTING_TARGET])
|
|
113
|
+
delete target?.[target_defaults_plugin_1.ONLY_MODIFIES_EXISTING_TARGET];
|
|
114
|
+
updatedProjectConfiguration.targets[targetName] =
|
|
115
|
+
mergeTargetConfigurations(skipCommandNormalization
|
|
116
|
+
? target
|
|
117
|
+
: resolveCommandSyntacticSugar(target, project.root), matchingProject.targets?.[targetName], sourceMap, sourceInformation, `targets.${targetName}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
projectRootMap.set(updatedProjectConfiguration.root, updatedProjectConfiguration);
|
|
121
|
+
}
|
|
122
|
+
exports.mergeProjectConfigurationIntoRootMap = mergeProjectConfigurationIntoRootMap;
|
|
123
|
+
/**
|
|
124
|
+
* Transforms a list of project paths into a map of project configurations.
|
|
125
|
+
*
|
|
126
|
+
* @param nxJson The NxJson configuration
|
|
127
|
+
* @param projectFiles A list of files identified as projects
|
|
128
|
+
* @param plugins The plugins that should be used to infer project configuration
|
|
129
|
+
* @param root The workspace root
|
|
130
|
+
*/
|
|
131
|
+
function buildProjectsConfigurationsFromProjectPathsAndPlugins(nxJson, projectFiles, // making this parameter allows devkit to pick up newly created projects
|
|
132
|
+
plugins, root = workspace_root_1.workspaceRoot) {
|
|
133
|
+
const results = [];
|
|
134
|
+
// We iterate over plugins first - this ensures that plugins specified first take precedence.
|
|
135
|
+
for (const { plugin, options } of plugins) {
|
|
136
|
+
const [pattern, createNodes] = plugin.createNodes ?? [];
|
|
137
|
+
const pluginResults = [];
|
|
138
|
+
performance.mark(`${plugin.name}:createNodes - start`);
|
|
139
|
+
if (!pattern) {
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
for (const file of projectFiles) {
|
|
143
|
+
performance.mark(`${plugin.name}:createNodes:${file} - start`);
|
|
144
|
+
if ((0, minimatch_1.minimatch)(file, pattern, { dot: true })) {
|
|
145
|
+
try {
|
|
146
|
+
let r = createNodes(file, options, {
|
|
147
|
+
nxJsonConfiguration: nxJson,
|
|
148
|
+
workspaceRoot: root,
|
|
149
|
+
});
|
|
150
|
+
if (r instanceof Promise) {
|
|
151
|
+
pluginResults.push(r
|
|
152
|
+
.catch((e) => {
|
|
153
|
+
performance.mark(`${plugin.name}:createNodes:${file} - end`);
|
|
154
|
+
throw new CreateNodesError(`Unable to create nodes for ${file} using plugin ${plugin.name}.`, e);
|
|
155
|
+
})
|
|
156
|
+
.then((r) => {
|
|
157
|
+
performance.mark(`${plugin.name}:createNodes:${file} - end`);
|
|
158
|
+
performance.measure(`${plugin.name}:createNodes:${file}`, `${plugin.name}:createNodes:${file} - start`, `${plugin.name}:createNodes:${file} - end`);
|
|
159
|
+
return { ...r, file, pluginName: plugin.name };
|
|
160
|
+
}));
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
performance.mark(`${plugin.name}:createNodes:${file} - end`);
|
|
164
|
+
performance.measure(`${plugin.name}:createNodes:${file}`, `${plugin.name}:createNodes:${file} - start`, `${plugin.name}:createNodes:${file} - end`);
|
|
165
|
+
pluginResults.push({
|
|
166
|
+
...r,
|
|
167
|
+
file,
|
|
168
|
+
pluginName: plugin.name,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch (e) {
|
|
173
|
+
throw new CreateNodesError(`Unable to create nodes for ${file} using plugin ${plugin.name}.`, e);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// If there are no promises (counter undefined) or all promises have resolved (counter === 0)
|
|
178
|
+
results.push(Promise.all(pluginResults).then((results) => {
|
|
179
|
+
performance.mark(`${plugin.name}:createNodes - end`);
|
|
180
|
+
performance.measure(`${plugin.name}:createNodes`, `${plugin.name}:createNodes - start`, `${plugin.name}:createNodes - end`);
|
|
181
|
+
return results;
|
|
182
|
+
}));
|
|
183
|
+
}
|
|
184
|
+
return Promise.all(results).then((results) => {
|
|
185
|
+
performance.mark('createNodes:merge - start');
|
|
186
|
+
const projectRootMap = new Map();
|
|
187
|
+
const externalNodes = {};
|
|
188
|
+
const configurationSourceMaps = {};
|
|
189
|
+
for (const result of results.flat()) {
|
|
190
|
+
const { projects: projectNodes, externalNodes: pluginExternalNodes, file, pluginName, } = result;
|
|
191
|
+
for (const node in projectNodes) {
|
|
192
|
+
const project = {
|
|
193
|
+
root: node,
|
|
194
|
+
...projectNodes[node],
|
|
195
|
+
};
|
|
196
|
+
try {
|
|
197
|
+
mergeProjectConfigurationIntoRootMap(projectRootMap, project, configurationSourceMaps, [file, pluginName]);
|
|
198
|
+
}
|
|
199
|
+
catch (e) {
|
|
200
|
+
throw new CreateNodesError(`Unable to merge project information for "${project.root}" from ${result.file} using plugin ${result.pluginName}.`, e);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
Object.assign(externalNodes, pluginExternalNodes);
|
|
204
|
+
}
|
|
205
|
+
const projects = readProjectConfigurationsFromRootMap(projectRootMap);
|
|
206
|
+
const rootMap = createRootMap(projectRootMap);
|
|
207
|
+
performance.mark('createNodes:merge - end');
|
|
208
|
+
performance.measure('createNodes:merge', 'createNodes:merge - start', 'createNodes:merge - end');
|
|
209
|
+
return {
|
|
210
|
+
projects,
|
|
211
|
+
externalNodes,
|
|
212
|
+
rootMap,
|
|
213
|
+
sourceMaps: configurationSourceMaps,
|
|
214
|
+
};
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
exports.buildProjectsConfigurationsFromProjectPathsAndPlugins = buildProjectsConfigurationsFromProjectPathsAndPlugins;
|
|
218
|
+
function readProjectConfigurationsFromRootMap(projectRootMap) {
|
|
219
|
+
const projects = {};
|
|
220
|
+
// If there are projects that have the same name, that is an error.
|
|
221
|
+
// This object tracks name -> (all roots of projects with that name)
|
|
222
|
+
// to provide better error messaging.
|
|
223
|
+
const errors = new Map();
|
|
224
|
+
for (const [root, configuration] of projectRootMap.entries()) {
|
|
225
|
+
if (!configuration.name) {
|
|
226
|
+
try {
|
|
227
|
+
const { name } = (0, fileutils_1.readJsonFile)((0, path_1.join)(root, 'package.json'));
|
|
228
|
+
configuration.name = name;
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
throw new Error(`Project at ${root} has no name provided.`);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
if (configuration.name in projects) {
|
|
235
|
+
let rootErrors = errors.get(configuration.name) ?? [
|
|
236
|
+
projects[configuration.name].root,
|
|
237
|
+
];
|
|
238
|
+
rootErrors.push(root);
|
|
239
|
+
errors.set(configuration.name, rootErrors);
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
projects[configuration.name] = configuration;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (errors.size > 0) {
|
|
246
|
+
throw new Error([
|
|
247
|
+
`The following projects are defined in multiple locations:`,
|
|
248
|
+
...Array.from(errors.entries()).map(([project, roots]) => [`- ${project}: `, ...roots.map((r) => ` - ${r}`)].join('\n')),
|
|
249
|
+
'',
|
|
250
|
+
"To fix this, set a unique name for each project in a project.json inside the project's root. If the project does not currently have a project.json, you can create one that contains only a name.",
|
|
251
|
+
].join('\n'));
|
|
252
|
+
}
|
|
253
|
+
return projects;
|
|
254
|
+
}
|
|
255
|
+
exports.readProjectConfigurationsFromRootMap = readProjectConfigurationsFromRootMap;
|
|
256
|
+
class CreateNodesError extends Error {
|
|
257
|
+
constructor(msg, cause) {
|
|
258
|
+
const message = `${msg} ${!cause
|
|
259
|
+
? ''
|
|
260
|
+
: cause instanceof Error
|
|
261
|
+
? `\n\n\t Inner Error: ${cause.stack}`
|
|
262
|
+
: cause}`;
|
|
263
|
+
// These errors are thrown during a JS callback which is invoked via rust.
|
|
264
|
+
// The errors messaging gets lost in the rust -> js -> rust transition, but
|
|
265
|
+
// logging the error here will ensure that it is visible in the console.
|
|
266
|
+
console.error(message);
|
|
267
|
+
super(message, { cause });
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Merges two targets.
|
|
272
|
+
*
|
|
273
|
+
* Most properties from `target` will overwrite any properties from `baseTarget`.
|
|
274
|
+
* Options and configurations are treated differently - they are merged together if the executor definition is compatible.
|
|
275
|
+
*
|
|
276
|
+
* @param target The target definition with higher priority
|
|
277
|
+
* @param baseTarget The target definition that should be overwritten. Can be undefined, in which case the target is returned as-is.
|
|
278
|
+
* @param projectConfigSourceMap The source map to be filled with metadata about where each property came from
|
|
279
|
+
* @param sourceInformation The metadata about where the new target was defined
|
|
280
|
+
* @param targetIdentifier The identifier for the target to merge, used for source map
|
|
281
|
+
* @returns A merged target configuration
|
|
282
|
+
*/
|
|
283
|
+
function mergeTargetConfigurations(target, baseTarget, projectConfigSourceMap, sourceInformation, targetIdentifier) {
|
|
284
|
+
const { configurations: defaultConfigurations, options: defaultOptions, ...baseTargetProperties } = baseTarget ?? {};
|
|
285
|
+
// Target is "compatible", e.g. executor is defined only once or is the same
|
|
286
|
+
// in both places. This means that it is likely safe to merge
|
|
287
|
+
const isCompatible = isCompatibleTarget(baseTargetProperties, target);
|
|
288
|
+
if (!isCompatible && projectConfigSourceMap) {
|
|
289
|
+
// if the target is not compatible, we will simply override the options
|
|
290
|
+
// we have to delete old entries from the source map
|
|
291
|
+
for (const key in projectConfigSourceMap) {
|
|
292
|
+
if (key.startsWith(`${targetIdentifier}`)) {
|
|
293
|
+
delete projectConfigSourceMap[key];
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
// merge top level properties if they're compatible
|
|
298
|
+
const result = {
|
|
299
|
+
...(isCompatible ? baseTargetProperties : {}),
|
|
300
|
+
...target,
|
|
301
|
+
};
|
|
302
|
+
// record top level properties in source map
|
|
303
|
+
if (projectConfigSourceMap) {
|
|
304
|
+
projectConfigSourceMap[targetIdentifier] = sourceInformation;
|
|
305
|
+
// record root level target properties to source map
|
|
306
|
+
for (const targetProperty in target) {
|
|
307
|
+
const targetPropertyId = `${targetIdentifier}.${targetProperty}`;
|
|
308
|
+
projectConfigSourceMap[targetPropertyId] = sourceInformation;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
// merge options if there are any
|
|
312
|
+
// if the targets aren't compatible, we simply discard the old options during the merge
|
|
313
|
+
if (target.options || defaultOptions) {
|
|
314
|
+
result.options = mergeOptions(target.options, isCompatible ? defaultOptions : undefined, projectConfigSourceMap, sourceInformation, targetIdentifier);
|
|
315
|
+
}
|
|
316
|
+
// merge configurations if there are any
|
|
317
|
+
// if the targets aren't compatible, we simply discard the old configurations during the merge
|
|
318
|
+
if (target.configurations || defaultConfigurations) {
|
|
319
|
+
result.configurations = mergeConfigurations(target.configurations, isCompatible ? defaultConfigurations : undefined, projectConfigSourceMap, sourceInformation, targetIdentifier);
|
|
320
|
+
}
|
|
321
|
+
return result;
|
|
322
|
+
}
|
|
323
|
+
exports.mergeTargetConfigurations = mergeTargetConfigurations;
|
|
324
|
+
/**
|
|
325
|
+
* Checks if targets options are compatible - used when merging configurations
|
|
326
|
+
* to avoid merging options for @nx/js:tsc into something like @nx/webpack:webpack.
|
|
327
|
+
*
|
|
328
|
+
* If the executors are both specified and don't match, the options aren't considered
|
|
329
|
+
* "compatible" and shouldn't be merged.
|
|
330
|
+
*/
|
|
331
|
+
function isCompatibleTarget(a, b) {
|
|
332
|
+
const oneHasNoExecutor = !a.executor || !b.executor;
|
|
333
|
+
const bothHaveSameExecutor = a.executor === b.executor;
|
|
334
|
+
if (oneHasNoExecutor)
|
|
335
|
+
return true;
|
|
336
|
+
if (!bothHaveSameExecutor)
|
|
337
|
+
return false;
|
|
338
|
+
const isRunCommands = a.executor === 'nx:run-commands';
|
|
339
|
+
if (isRunCommands) {
|
|
340
|
+
const aCommand = a.options?.command ?? a.options?.commands.join(' && ');
|
|
341
|
+
const bCommand = b.options?.command ?? b.options?.commands.join(' && ');
|
|
342
|
+
const oneHasNoCommand = !aCommand || !bCommand;
|
|
343
|
+
const hasSameCommand = aCommand === bCommand;
|
|
344
|
+
return oneHasNoCommand || hasSameCommand;
|
|
345
|
+
}
|
|
346
|
+
const isRunScript = a.executor === 'nx:run-script';
|
|
347
|
+
if (isRunScript) {
|
|
348
|
+
const aScript = a.options?.script;
|
|
349
|
+
const bScript = b.options?.script;
|
|
350
|
+
const oneHasNoScript = !aScript || !bScript;
|
|
351
|
+
const hasSameScript = aScript === bScript;
|
|
352
|
+
return oneHasNoScript || hasSameScript;
|
|
353
|
+
}
|
|
354
|
+
return true;
|
|
355
|
+
}
|
|
356
|
+
exports.isCompatibleTarget = isCompatibleTarget;
|
|
357
|
+
function mergeConfigurations(newConfigurations, baseConfigurations, projectConfigSourceMap, sourceInformation, targetIdentifier) {
|
|
358
|
+
const mergedConfigurations = {};
|
|
359
|
+
const configurations = new Set([
|
|
360
|
+
...Object.keys(baseConfigurations ?? {}),
|
|
361
|
+
...Object.keys(newConfigurations ?? {}),
|
|
362
|
+
]);
|
|
363
|
+
for (const configuration of configurations) {
|
|
364
|
+
mergedConfigurations[configuration] = {
|
|
365
|
+
...(baseConfigurations?.[configuration] ?? {}),
|
|
366
|
+
...(newConfigurations?.[configuration] ?? {}),
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
// record new configurations & configuration properties in source map
|
|
370
|
+
if (projectConfigSourceMap) {
|
|
371
|
+
for (const newConfiguration in newConfigurations) {
|
|
372
|
+
projectConfigSourceMap[`${targetIdentifier}.configurations.${newConfiguration}`] = sourceInformation;
|
|
373
|
+
for (const configurationProperty in newConfigurations[newConfiguration]) {
|
|
374
|
+
projectConfigSourceMap[`${targetIdentifier}.configurations.${newConfiguration}.${configurationProperty}`] = sourceInformation;
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
return mergedConfigurations;
|
|
379
|
+
}
|
|
380
|
+
function mergeOptions(newOptions, baseOptions, projectConfigSourceMap, sourceInformation, targetIdentifier) {
|
|
381
|
+
const mergedOptions = {
|
|
382
|
+
...(baseOptions ?? {}),
|
|
383
|
+
...(newOptions ?? {}),
|
|
384
|
+
};
|
|
385
|
+
// record new options & option properties in source map
|
|
386
|
+
if (projectConfigSourceMap) {
|
|
387
|
+
for (const newOption in newOptions) {
|
|
388
|
+
projectConfigSourceMap[`${targetIdentifier}.options.${newOption}`] =
|
|
389
|
+
sourceInformation;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
return mergedOptions;
|
|
393
|
+
}
|
|
394
|
+
function resolveNxTokensInOptions(object, project, key) {
|
|
395
|
+
const result = Array.isArray(object) ? [...object] : { ...object };
|
|
396
|
+
for (let [opt, value] of Object.entries(object ?? {})) {
|
|
397
|
+
if (typeof value === 'string') {
|
|
398
|
+
const workspaceRootMatch = /^(\{workspaceRoot\}\/?)/.exec(value);
|
|
399
|
+
if (workspaceRootMatch?.length) {
|
|
400
|
+
value = value.replace(workspaceRootMatch[0], '');
|
|
401
|
+
}
|
|
402
|
+
if (value.includes('{workspaceRoot}')) {
|
|
403
|
+
throw new Error(`${logger_1.NX_PREFIX} The {workspaceRoot} token is only valid at the beginning of an option. (${key})`);
|
|
404
|
+
}
|
|
405
|
+
value = value.replace(/\{projectRoot\}/g, project.root);
|
|
406
|
+
result[opt] = value.replace(/\{projectName\}/g, project.name);
|
|
407
|
+
}
|
|
408
|
+
else if (typeof value === 'object' && value) {
|
|
409
|
+
result[opt] = resolveNxTokensInOptions(value, project, [key, opt].join('.'));
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
return result;
|
|
413
|
+
}
|
|
414
|
+
exports.resolveNxTokensInOptions = resolveNxTokensInOptions;
|
|
415
|
+
function readTargetDefaultsForTarget(targetName, targetDefaults, executor) {
|
|
416
|
+
if (executor) {
|
|
417
|
+
// If an executor is defined in project.json, defaults should be read
|
|
418
|
+
// from the most specific key that matches that executor.
|
|
419
|
+
// e.g. If executor === run-commands, and the target is named build:
|
|
420
|
+
// Use, use nx:run-commands if it is present
|
|
421
|
+
// If not, use build if it is present.
|
|
422
|
+
const key = [executor, targetName].find((x) => targetDefaults?.[x]);
|
|
423
|
+
return key ? targetDefaults?.[key] : null;
|
|
424
|
+
}
|
|
425
|
+
else {
|
|
426
|
+
// If the executor is not defined, the only key we have is the target name.
|
|
427
|
+
return targetDefaults?.[targetName];
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
exports.readTargetDefaultsForTarget = readTargetDefaultsForTarget;
|
|
431
|
+
function createRootMap(projectRootMap) {
|
|
432
|
+
const map = {};
|
|
433
|
+
for (const [projectRoot, { name: projectName }] of projectRootMap) {
|
|
434
|
+
map[projectRoot] = projectName;
|
|
435
|
+
}
|
|
436
|
+
return map;
|
|
437
|
+
}
|
|
438
|
+
function resolveCommandSyntacticSugar(target, key) {
|
|
439
|
+
const { command, ...config } = target ?? {};
|
|
440
|
+
if (!command) {
|
|
441
|
+
return target;
|
|
442
|
+
}
|
|
443
|
+
if (config.executor) {
|
|
444
|
+
throw new Error(`${logger_1.NX_PREFIX} Project at ${key} should not have executor and command both configured.`);
|
|
445
|
+
}
|
|
446
|
+
else {
|
|
447
|
+
return {
|
|
448
|
+
...config,
|
|
449
|
+
executor: 'nx:run-commands',
|
|
450
|
+
options: {
|
|
451
|
+
...config.options,
|
|
452
|
+
command: command,
|
|
453
|
+
},
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ProjectConfiguration } from '../../config/workspace-json-project-json';
|
|
2
|
+
import { NxJsonConfiguration } from '../../config/nx-json';
|
|
3
|
+
import { ProjectGraphExternalNode } from '../../config/project-graph';
|
|
4
|
+
import { ConfigurationSourceMaps } from './project-configuration-utils';
|
|
5
|
+
import { LoadedNxPlugin } from '../../utils/nx-plugin';
|
|
6
|
+
/**
|
|
7
|
+
* Walks the workspace directory to create the `projectFileMap`, `ProjectConfigurations` and `allWorkspaceFiles`
|
|
8
|
+
* @throws
|
|
9
|
+
* @param workspaceRoot
|
|
10
|
+
* @param nxJson
|
|
11
|
+
*/
|
|
12
|
+
export declare function retrieveWorkspaceFiles(workspaceRoot: string, projectRootMap: Record<string, string>): Promise<{
|
|
13
|
+
allWorkspaceFiles: import("../../config/project-graph").FileData[];
|
|
14
|
+
fileMap: {
|
|
15
|
+
projectFileMap: ProjectFiles;
|
|
16
|
+
nonProjectFiles: import("../../native").FileData[];
|
|
17
|
+
};
|
|
18
|
+
rustReferences: import("../../native").NxWorkspaceFilesExternals;
|
|
19
|
+
}>;
|
|
20
|
+
/**
|
|
21
|
+
* Walk through the workspace and return `ProjectConfigurations`. Only use this if the projectFileMap is not needed.
|
|
22
|
+
*
|
|
23
|
+
* @param workspaceRoot
|
|
24
|
+
* @param nxJson
|
|
25
|
+
*/
|
|
26
|
+
export declare function retrieveProjectConfigurations(workspaceRoot: string, nxJson: NxJsonConfiguration): Promise<RetrievedGraphNodes>;
|
|
27
|
+
export declare function retrieveProjectConfigurationsWithAngularProjects(workspaceRoot: string, nxJson: NxJsonConfiguration): Promise<RetrievedGraphNodes>;
|
|
28
|
+
export type RetrievedGraphNodes = {
|
|
29
|
+
externalNodes: Record<string, ProjectGraphExternalNode>;
|
|
30
|
+
projects: Record<string, ProjectConfiguration>;
|
|
31
|
+
sourceMaps: ConfigurationSourceMaps;
|
|
32
|
+
projectRootMap: Record<string, string>;
|
|
33
|
+
};
|
|
34
|
+
export declare function retrieveProjectConfigurationPaths(root: string, plugins: LoadedNxPlugin[]): string[];
|
|
35
|
+
export declare function retrieveProjectConfigurationsWithoutPluginInference(root: string): Promise<Record<string, ProjectConfiguration>>;
|
|
36
|
+
export declare function createProjectConfigurations(workspaceRoot: string, nxJson: NxJsonConfiguration, configFiles: string[], plugins: LoadedNxPlugin[]): Promise<RetrievedGraphNodes>;
|
|
37
|
+
export declare function configurationGlobs(plugins: LoadedNxPlugin[]): string[];
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.configurationGlobs = exports.createProjectConfigurations = exports.retrieveProjectConfigurationsWithoutPluginInference = exports.retrieveProjectConfigurationPaths = exports.retrieveProjectConfigurationsWithAngularProjects = exports.retrieveProjectConfigurations = exports.retrieveWorkspaceFiles = void 0;
|
|
4
|
+
const perf_hooks_1 = require("perf_hooks");
|
|
5
|
+
const installation_directory_1 = require("../../utils/installation-directory");
|
|
6
|
+
const angular_json_1 = require("../../adapter/angular-json");
|
|
7
|
+
const nx_json_1 = require("../../config/nx-json");
|
|
8
|
+
const package_json_workspaces_1 = require("../../plugins/package-json-workspaces");
|
|
9
|
+
const project_configuration_utils_1 = require("./project-configuration-utils");
|
|
10
|
+
const nx_plugin_1 = require("../../utils/nx-plugin");
|
|
11
|
+
const project_json_1 = require("../../plugins/project-json/build-nodes/project-json");
|
|
12
|
+
const workspace_context_1 = require("../../utils/workspace-context");
|
|
13
|
+
const build_all_workspace_files_1 = require("./build-all-workspace-files");
|
|
14
|
+
/**
|
|
15
|
+
* Walks the workspace directory to create the `projectFileMap`, `ProjectConfigurations` and `allWorkspaceFiles`
|
|
16
|
+
* @throws
|
|
17
|
+
* @param workspaceRoot
|
|
18
|
+
* @param nxJson
|
|
19
|
+
*/
|
|
20
|
+
async function retrieveWorkspaceFiles(workspaceRoot, projectRootMap) {
|
|
21
|
+
perf_hooks_1.performance.mark('native-file-deps:start');
|
|
22
|
+
perf_hooks_1.performance.mark('native-file-deps:end');
|
|
23
|
+
perf_hooks_1.performance.measure('native-file-deps', 'native-file-deps:start', 'native-file-deps:end');
|
|
24
|
+
perf_hooks_1.performance.mark('get-workspace-files:start');
|
|
25
|
+
const { projectFileMap, globalFiles, externalReferences } = (0, workspace_context_1.getNxWorkspaceFilesFromContext)(workspaceRoot, projectRootMap);
|
|
26
|
+
perf_hooks_1.performance.mark('get-workspace-files:end');
|
|
27
|
+
perf_hooks_1.performance.measure('get-workspace-files', 'get-workspace-files:start', 'get-workspace-files:end');
|
|
28
|
+
return {
|
|
29
|
+
allWorkspaceFiles: (0, build_all_workspace_files_1.buildAllWorkspaceFiles)(projectFileMap, globalFiles),
|
|
30
|
+
fileMap: {
|
|
31
|
+
projectFileMap,
|
|
32
|
+
nonProjectFiles: globalFiles,
|
|
33
|
+
},
|
|
34
|
+
rustReferences: externalReferences,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
exports.retrieveWorkspaceFiles = retrieveWorkspaceFiles;
|
|
38
|
+
/**
|
|
39
|
+
* Walk through the workspace and return `ProjectConfigurations`. Only use this if the projectFileMap is not needed.
|
|
40
|
+
*
|
|
41
|
+
* @param workspaceRoot
|
|
42
|
+
* @param nxJson
|
|
43
|
+
*/
|
|
44
|
+
async function retrieveProjectConfigurations(workspaceRoot, nxJson) {
|
|
45
|
+
const plugins = await (0, nx_plugin_1.loadNxPlugins)(nxJson?.plugins ?? [], (0, installation_directory_1.getNxRequirePaths)(workspaceRoot), workspaceRoot);
|
|
46
|
+
return _retrieveProjectConfigurations(workspaceRoot, nxJson, plugins);
|
|
47
|
+
}
|
|
48
|
+
exports.retrieveProjectConfigurations = retrieveProjectConfigurations;
|
|
49
|
+
async function retrieveProjectConfigurationsWithAngularProjects(workspaceRoot, nxJson) {
|
|
50
|
+
const plugins = await (0, nx_plugin_1.loadNxPlugins)(nxJson?.plugins ?? [], (0, installation_directory_1.getNxRequirePaths)(workspaceRoot), workspaceRoot);
|
|
51
|
+
if ((0, angular_json_1.shouldMergeAngularProjects)(workspaceRoot, true) &&
|
|
52
|
+
!plugins.some((p) => p.plugin.name === angular_json_1.NX_ANGULAR_JSON_PLUGIN_NAME)) {
|
|
53
|
+
plugins.push({ plugin: angular_json_1.NxAngularJsonPlugin });
|
|
54
|
+
}
|
|
55
|
+
return _retrieveProjectConfigurations(workspaceRoot, nxJson, plugins);
|
|
56
|
+
}
|
|
57
|
+
exports.retrieveProjectConfigurationsWithAngularProjects = retrieveProjectConfigurationsWithAngularProjects;
|
|
58
|
+
function _retrieveProjectConfigurations(workspaceRoot, nxJson, plugins) {
|
|
59
|
+
const globPatterns = configurationGlobs(plugins);
|
|
60
|
+
const projectFiles = (0, workspace_context_1.globWithWorkspaceContext)(workspaceRoot, globPatterns);
|
|
61
|
+
return createProjectConfigurations(workspaceRoot, nxJson, projectFiles, plugins);
|
|
62
|
+
}
|
|
63
|
+
function retrieveProjectConfigurationPaths(root, plugins) {
|
|
64
|
+
const projectGlobPatterns = configurationGlobs(plugins);
|
|
65
|
+
return (0, workspace_context_1.globWithWorkspaceContext)(root, projectGlobPatterns);
|
|
66
|
+
}
|
|
67
|
+
exports.retrieveProjectConfigurationPaths = retrieveProjectConfigurationPaths;
|
|
68
|
+
const projectsWithoutPluginCache = new Map();
|
|
69
|
+
// TODO: This function is called way too often, it should be optimized without this cache
|
|
70
|
+
async function retrieveProjectConfigurationsWithoutPluginInference(root) {
|
|
71
|
+
const nxJson = (0, nx_json_1.readNxJson)(root);
|
|
72
|
+
const plugins = await (0, nx_plugin_1.getDefaultPlugins)(root);
|
|
73
|
+
const projectGlobPatterns = retrieveProjectConfigurationPaths(root, plugins);
|
|
74
|
+
const cacheKey = root + ',' + projectGlobPatterns.join(',');
|
|
75
|
+
if (projectsWithoutPluginCache.has(cacheKey)) {
|
|
76
|
+
return projectsWithoutPluginCache.get(cacheKey);
|
|
77
|
+
}
|
|
78
|
+
const projectFiles = (0, workspace_context_1.globWithWorkspaceContext)(root, projectGlobPatterns);
|
|
79
|
+
const { projects } = await createProjectConfigurations(root, nxJson, projectFiles, [
|
|
80
|
+
{ plugin: (0, package_json_workspaces_1.getNxPackageJsonWorkspacesPlugin)(root) },
|
|
81
|
+
{ plugin: project_json_1.ProjectJsonProjectsPlugin },
|
|
82
|
+
]);
|
|
83
|
+
projectsWithoutPluginCache.set(cacheKey, projects);
|
|
84
|
+
return projects;
|
|
85
|
+
}
|
|
86
|
+
exports.retrieveProjectConfigurationsWithoutPluginInference = retrieveProjectConfigurationsWithoutPluginInference;
|
|
87
|
+
async function createProjectConfigurations(workspaceRoot, nxJson, configFiles, plugins) {
|
|
88
|
+
perf_hooks_1.performance.mark('build-project-configs:start');
|
|
89
|
+
const { projects, externalNodes, rootMap, sourceMaps } = await (0, project_configuration_utils_1.buildProjectsConfigurationsFromProjectPathsAndPlugins)(nxJson, configFiles, plugins, workspaceRoot);
|
|
90
|
+
perf_hooks_1.performance.mark('build-project-configs:end');
|
|
91
|
+
perf_hooks_1.performance.measure('build-project-configs', 'build-project-configs:start', 'build-project-configs:end');
|
|
92
|
+
return {
|
|
93
|
+
projects,
|
|
94
|
+
externalNodes,
|
|
95
|
+
projectRootMap: rootMap,
|
|
96
|
+
sourceMaps,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
exports.createProjectConfigurations = createProjectConfigurations;
|
|
100
|
+
function configurationGlobs(plugins) {
|
|
101
|
+
const globPatterns = [];
|
|
102
|
+
for (const { plugin } of plugins) {
|
|
103
|
+
if (plugin.createNodes) {
|
|
104
|
+
globPatterns.push(plugin.createNodes[0]);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return globPatterns;
|
|
108
|
+
}
|
|
109
|
+
exports.configurationGlobs = configurationGlobs;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { TaskResult } from '../../config/misc-interfaces';
|
|
2
|
+
import type { TaskGraph } from '../../config/task-graph';
|
|
3
|
+
export declare enum BatchMessageType {
|
|
4
|
+
RunTasks = 0,
|
|
5
|
+
CompleteTask = 1,
|
|
6
|
+
CompleteBatchExecution = 2
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Results of running the batch. Mapped from task id to results
|
|
10
|
+
*/
|
|
11
|
+
export interface BatchResults {
|
|
12
|
+
[taskId: string]: TaskResult;
|
|
13
|
+
}
|
|
14
|
+
export interface BatchTaskResult {
|
|
15
|
+
task: string;
|
|
16
|
+
result: TaskResult;
|
|
17
|
+
}
|
|
18
|
+
export interface RunTasksMessage {
|
|
19
|
+
type: BatchMessageType.RunTasks;
|
|
20
|
+
executorName: string;
|
|
21
|
+
batchTaskGraph: TaskGraph;
|
|
22
|
+
fullTaskGraph: TaskGraph;
|
|
23
|
+
}
|
|
24
|
+
export interface CompleteTaskMessage {
|
|
25
|
+
type: BatchMessageType.CompleteTask;
|
|
26
|
+
task: string;
|
|
27
|
+
result: TaskResult;
|
|
28
|
+
}
|
|
29
|
+
export interface CompleteBatchExecutionMessage {
|
|
30
|
+
type: BatchMessageType.CompleteBatchExecution;
|
|
31
|
+
results: BatchResults;
|
|
32
|
+
}
|
|
33
|
+
export type BatchMessage = RunTasksMessage | CompleteTaskMessage | CompleteBatchExecutionMessage;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BatchMessageType = void 0;
|
|
4
|
+
var BatchMessageType;
|
|
5
|
+
(function (BatchMessageType) {
|
|
6
|
+
BatchMessageType[BatchMessageType["RunTasks"] = 0] = "RunTasks";
|
|
7
|
+
BatchMessageType[BatchMessageType["CompleteTask"] = 1] = "CompleteTask";
|
|
8
|
+
BatchMessageType[BatchMessageType["CompleteBatchExecution"] = 2] = "CompleteBatchExecution";
|
|
9
|
+
})(BatchMessageType || (exports.BatchMessageType = BatchMessageType = {}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|