@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,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTreeWithEmptyV1Workspace = exports.createTreeWithEmptyWorkspace = void 0;
|
|
4
|
+
const tree_1 = require("../tree");
|
|
5
|
+
/**
|
|
6
|
+
* Creates a host for testing.
|
|
7
|
+
*/
|
|
8
|
+
function createTreeWithEmptyWorkspace(opts = {}) {
|
|
9
|
+
const tree = new tree_1.FsTree('/virtual', false);
|
|
10
|
+
return addCommonFiles(tree, opts.layout === 'apps-libs');
|
|
11
|
+
}
|
|
12
|
+
exports.createTreeWithEmptyWorkspace = createTreeWithEmptyWorkspace;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated use createTreeWithEmptyWorkspace instead
|
|
15
|
+
*/
|
|
16
|
+
function createTreeWithEmptyV1Workspace() {
|
|
17
|
+
throw new Error('Use createTreeWithEmptyWorkspace instead of createTreeWithEmptyV1Workspace');
|
|
18
|
+
}
|
|
19
|
+
exports.createTreeWithEmptyV1Workspace = createTreeWithEmptyV1Workspace;
|
|
20
|
+
function addCommonFiles(tree, addAppsAndLibsFolders) {
|
|
21
|
+
tree.write('./.prettierrc', JSON.stringify({ singleQuote: true }));
|
|
22
|
+
tree.write('/package.json', JSON.stringify({
|
|
23
|
+
name: '@proj/source',
|
|
24
|
+
dependencies: {},
|
|
25
|
+
devDependencies: {},
|
|
26
|
+
}));
|
|
27
|
+
tree.write('/nx.json', JSON.stringify({
|
|
28
|
+
affected: {
|
|
29
|
+
defaultBase: 'main',
|
|
30
|
+
},
|
|
31
|
+
targetDefaults: {
|
|
32
|
+
build: {
|
|
33
|
+
cache: true,
|
|
34
|
+
},
|
|
35
|
+
lint: {
|
|
36
|
+
cache: true,
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
}));
|
|
40
|
+
tree.write('/tsconfig.base.json', JSON.stringify({ compilerOptions: { paths: {} } }));
|
|
41
|
+
if (addAppsAndLibsFolders) {
|
|
42
|
+
tree.write('/apps/.gitignore', '');
|
|
43
|
+
tree.write('/libs/.gitignore', '');
|
|
44
|
+
}
|
|
45
|
+
return tree;
|
|
46
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTree = void 0;
|
|
4
|
+
const tree_1 = require("../tree");
|
|
5
|
+
/**
|
|
6
|
+
* Creates a host for testing.
|
|
7
|
+
*/
|
|
8
|
+
function createTree() {
|
|
9
|
+
return new tree_1.FsTree('/virtual', false);
|
|
10
|
+
}
|
|
11
|
+
exports.createTree = createTree;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="@types/node/ts4.8/fs" />
|
|
3
|
+
/// <reference types="node" />
|
|
4
|
+
import type { Mode } from 'fs';
|
|
5
|
+
/**
|
|
6
|
+
* Options to set when writing a file in the Virtual file system tree.
|
|
7
|
+
*/
|
|
8
|
+
export interface TreeWriteOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Permission to be granted on the file, given as a string (e.g `755`) or octal integer (e.g `0o755`).
|
|
11
|
+
* The logical OR operator can be used to separate multiple permissions.
|
|
12
|
+
* See https://nodejs.org/api/fs.html#fs_file_modes
|
|
13
|
+
*/
|
|
14
|
+
mode?: Mode;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Virtual file system tree.
|
|
18
|
+
*/
|
|
19
|
+
export interface Tree {
|
|
20
|
+
/**
|
|
21
|
+
* Root of the workspace. All paths are relative to this.
|
|
22
|
+
*/
|
|
23
|
+
root: string;
|
|
24
|
+
/**
|
|
25
|
+
* Read the contents of a file.
|
|
26
|
+
* @param filePath A path to a file.
|
|
27
|
+
*/
|
|
28
|
+
read(filePath: string): Buffer | null;
|
|
29
|
+
/**
|
|
30
|
+
* Read the contents of a file as string.
|
|
31
|
+
* @param filePath A path to a file.
|
|
32
|
+
* @param encoding the encoding for the result
|
|
33
|
+
*/
|
|
34
|
+
read(filePath: string, encoding: BufferEncoding): string | null;
|
|
35
|
+
/**
|
|
36
|
+
* Update the contents of a file or create a new file.
|
|
37
|
+
*/
|
|
38
|
+
write(filePath: string, content: Buffer | string, options?: TreeWriteOptions): void;
|
|
39
|
+
/**
|
|
40
|
+
* Check if a file exists.
|
|
41
|
+
*/
|
|
42
|
+
exists(filePath: string): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Delete the file.
|
|
45
|
+
*/
|
|
46
|
+
delete(filePath: string): void;
|
|
47
|
+
/**
|
|
48
|
+
* Rename the file or the folder.
|
|
49
|
+
*/
|
|
50
|
+
rename(from: string, to: string): void;
|
|
51
|
+
/**
|
|
52
|
+
* Check if this is a file or not.
|
|
53
|
+
*/
|
|
54
|
+
isFile(filePath: string): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Returns the list of children of a folder.
|
|
57
|
+
*/
|
|
58
|
+
children(dirPath: string): string[];
|
|
59
|
+
/**
|
|
60
|
+
* Returns the list of currently recorded changes.
|
|
61
|
+
*/
|
|
62
|
+
listChanges(): FileChange[];
|
|
63
|
+
/**
|
|
64
|
+
* Changes permissions of a file.
|
|
65
|
+
* @param filePath A path to a file.
|
|
66
|
+
* @param mode The permission to be granted on the file, given as a string (e.g `755`) or octal integer (e.g `0o755`).
|
|
67
|
+
* See https://nodejs.org/api/fs.html#fs_file_modes.
|
|
68
|
+
*/
|
|
69
|
+
changePermissions(filePath: string, mode: Mode): void;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Description of a file change in the Nx virtual file system/
|
|
73
|
+
*/
|
|
74
|
+
export interface FileChange {
|
|
75
|
+
/**
|
|
76
|
+
* Path relative to the workspace root
|
|
77
|
+
*/
|
|
78
|
+
path: string;
|
|
79
|
+
/**
|
|
80
|
+
* Type of change: 'CREATE' | 'DELETE' | 'UPDATE'
|
|
81
|
+
*/
|
|
82
|
+
type: 'CREATE' | 'DELETE' | 'UPDATE';
|
|
83
|
+
/**
|
|
84
|
+
* The content of the file or null in case of delete.
|
|
85
|
+
*/
|
|
86
|
+
content: Buffer | null;
|
|
87
|
+
/**
|
|
88
|
+
* Options to set on the file being created or updated.
|
|
89
|
+
*/
|
|
90
|
+
options?: TreeWriteOptions;
|
|
91
|
+
}
|
|
92
|
+
export declare class FsTree implements Tree {
|
|
93
|
+
readonly root: string;
|
|
94
|
+
private readonly isVerbose;
|
|
95
|
+
private readonly logOperationId?;
|
|
96
|
+
private recordedChanges;
|
|
97
|
+
/**
|
|
98
|
+
* Signifies if operations on the tree instance
|
|
99
|
+
* are allowed. Set to false after changes are written
|
|
100
|
+
* to disk, to prevent someone trying to use the tree to update
|
|
101
|
+
* files when the tree is no longer effective.
|
|
102
|
+
*/
|
|
103
|
+
private locked;
|
|
104
|
+
constructor(root: string, isVerbose: boolean, logOperationId?: string);
|
|
105
|
+
read(filePath: string): Buffer | null;
|
|
106
|
+
read(filePath: string, encoding: BufferEncoding): string | null;
|
|
107
|
+
write(filePath: string, content: Buffer | string, options?: TreeWriteOptions): void;
|
|
108
|
+
overwrite(filePath: string, content: Buffer | string, options?: TreeWriteOptions): void;
|
|
109
|
+
delete(filePath: string): void;
|
|
110
|
+
exists(filePath: string): boolean;
|
|
111
|
+
rename(from: string, to: string): void;
|
|
112
|
+
isFile(filePath: string): boolean;
|
|
113
|
+
children(dirPath: string): string[];
|
|
114
|
+
listChanges(): FileChange[];
|
|
115
|
+
changePermissions(filePath: string, mode: Mode): void;
|
|
116
|
+
lock(): void;
|
|
117
|
+
private assertUnlocked;
|
|
118
|
+
private normalize;
|
|
119
|
+
private fsReadDir;
|
|
120
|
+
private fsIsFile;
|
|
121
|
+
private fsReadFile;
|
|
122
|
+
private fsExists;
|
|
123
|
+
private filesForDir;
|
|
124
|
+
private directChildrenOfDir;
|
|
125
|
+
private rp;
|
|
126
|
+
}
|
|
127
|
+
export declare function flushChanges(root: string, fileChanges: FileChange[]): void;
|
|
128
|
+
export declare function printChanges(fileChanges: FileChange[], indent?: string): void;
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.printChanges = exports.flushChanges = exports.FsTree = void 0;
|
|
4
|
+
const fs_extra_1 = require("fs-extra");
|
|
5
|
+
const logger_1 = require("../utils/logger");
|
|
6
|
+
const output_1 = require("../utils/output");
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
const chalk = require("chalk");
|
|
9
|
+
class FsTree {
|
|
10
|
+
constructor(root, isVerbose, logOperationId) {
|
|
11
|
+
this.root = root;
|
|
12
|
+
this.isVerbose = isVerbose;
|
|
13
|
+
this.logOperationId = logOperationId;
|
|
14
|
+
this.recordedChanges = {};
|
|
15
|
+
/**
|
|
16
|
+
* Signifies if operations on the tree instance
|
|
17
|
+
* are allowed. Set to false after changes are written
|
|
18
|
+
* to disk, to prevent someone trying to use the tree to update
|
|
19
|
+
* files when the tree is no longer effective.
|
|
20
|
+
*/
|
|
21
|
+
this.locked = false;
|
|
22
|
+
}
|
|
23
|
+
read(filePath, encoding) {
|
|
24
|
+
filePath = this.normalize(filePath);
|
|
25
|
+
try {
|
|
26
|
+
let content;
|
|
27
|
+
if (this.recordedChanges[this.rp(filePath)]) {
|
|
28
|
+
content = this.recordedChanges[this.rp(filePath)].content;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
content = this.fsReadFile(filePath);
|
|
32
|
+
}
|
|
33
|
+
return encoding ? content.toString(encoding) : content;
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
if (this.isVerbose) {
|
|
37
|
+
logger_1.logger.error(e);
|
|
38
|
+
}
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
write(filePath, content, options) {
|
|
43
|
+
this.assertUnlocked();
|
|
44
|
+
filePath = this.normalize(filePath);
|
|
45
|
+
// Remove any recorded changes where a parent directory has been
|
|
46
|
+
// deleted when writing a new file within the directory.
|
|
47
|
+
let parent = (0, path_1.dirname)(this.rp(filePath));
|
|
48
|
+
while (parent !== '.') {
|
|
49
|
+
if (this.recordedChanges[parent]?.isDeleted) {
|
|
50
|
+
delete this.recordedChanges[parent];
|
|
51
|
+
}
|
|
52
|
+
parent = (0, path_1.dirname)(parent);
|
|
53
|
+
}
|
|
54
|
+
if (this.fsExists(this.rp(filePath)) &&
|
|
55
|
+
Buffer.from(content).equals(this.fsReadFile(filePath))) {
|
|
56
|
+
// Remove recorded change because the file has been restored to it's original contents
|
|
57
|
+
delete this.recordedChanges[this.rp(filePath)];
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
this.recordedChanges[this.rp(filePath)] = {
|
|
62
|
+
content: Buffer.from(content),
|
|
63
|
+
isDeleted: false,
|
|
64
|
+
options,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
if (this.isVerbose) {
|
|
69
|
+
logger_1.logger.error(e);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
overwrite(filePath, content, options) {
|
|
74
|
+
filePath = this.normalize(filePath);
|
|
75
|
+
this.write(filePath, content, options);
|
|
76
|
+
}
|
|
77
|
+
delete(filePath) {
|
|
78
|
+
this.assertUnlocked();
|
|
79
|
+
filePath = this.normalize(filePath);
|
|
80
|
+
if (this.filesForDir(this.rp(filePath)).length > 0) {
|
|
81
|
+
this.filesForDir(this.rp(filePath)).forEach((f) => (this.recordedChanges[f] = { content: null, isDeleted: true }));
|
|
82
|
+
}
|
|
83
|
+
this.recordedChanges[this.rp(filePath)] = {
|
|
84
|
+
content: null,
|
|
85
|
+
isDeleted: true,
|
|
86
|
+
};
|
|
87
|
+
// Delete directory when is not root and there are no children
|
|
88
|
+
if (filePath !== '' &&
|
|
89
|
+
this.children((0, path_1.dirname)(this.rp(filePath))).length < 1) {
|
|
90
|
+
this.delete((0, path_1.dirname)(this.rp(filePath)));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exists(filePath) {
|
|
94
|
+
filePath = this.normalize(filePath);
|
|
95
|
+
try {
|
|
96
|
+
if (this.recordedChanges[this.rp(filePath)]) {
|
|
97
|
+
return !this.recordedChanges[this.rp(filePath)].isDeleted;
|
|
98
|
+
}
|
|
99
|
+
else if (this.filesForDir(this.rp(filePath)).length > 0) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
return this.fsExists(filePath);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
rename(from, to) {
|
|
111
|
+
this.assertUnlocked();
|
|
112
|
+
from = this.normalize(from);
|
|
113
|
+
to = this.normalize(to);
|
|
114
|
+
if (from === to) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
if (this.isFile(from)) {
|
|
118
|
+
const content = this.read(this.rp(from));
|
|
119
|
+
this.write(this.rp(to), content);
|
|
120
|
+
this.delete(this.rp(from));
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
for (const child of this.children(from)) {
|
|
124
|
+
this.rename((0, path_1.join)(from, child), (0, path_1.join)(to, child));
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
isFile(filePath) {
|
|
129
|
+
filePath = this.normalize(filePath);
|
|
130
|
+
try {
|
|
131
|
+
if (this.recordedChanges[this.rp(filePath)]) {
|
|
132
|
+
return !this.recordedChanges[this.rp(filePath)].isDeleted;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
return this.fsIsFile(filePath);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
children(dirPath) {
|
|
143
|
+
dirPath = this.normalize(dirPath);
|
|
144
|
+
let res = this.fsReadDir(dirPath);
|
|
145
|
+
res = [...res, ...this.directChildrenOfDir(this.rp(dirPath))];
|
|
146
|
+
res = res.filter((q) => {
|
|
147
|
+
const r = this.recordedChanges[this.normalize((0, path_1.join)(this.rp(dirPath), q))];
|
|
148
|
+
return !r?.isDeleted;
|
|
149
|
+
});
|
|
150
|
+
// Dedupe
|
|
151
|
+
return Array.from(new Set(res));
|
|
152
|
+
}
|
|
153
|
+
listChanges() {
|
|
154
|
+
const res = [];
|
|
155
|
+
Object.keys(this.recordedChanges).forEach((f) => {
|
|
156
|
+
if (this.recordedChanges[f].isDeleted) {
|
|
157
|
+
if (this.fsExists(f)) {
|
|
158
|
+
res.push({ path: f, type: 'DELETE', content: null });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
if (this.fsExists(f)) {
|
|
163
|
+
res.push({
|
|
164
|
+
path: f,
|
|
165
|
+
type: 'UPDATE',
|
|
166
|
+
content: this.recordedChanges[f].content,
|
|
167
|
+
options: this.recordedChanges[f].options,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
res.push({
|
|
172
|
+
path: f,
|
|
173
|
+
type: 'CREATE',
|
|
174
|
+
content: this.recordedChanges[f].content,
|
|
175
|
+
options: this.recordedChanges[f].options,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
return res;
|
|
181
|
+
}
|
|
182
|
+
changePermissions(filePath, mode) {
|
|
183
|
+
this.assertUnlocked();
|
|
184
|
+
filePath = this.normalize(filePath);
|
|
185
|
+
const filePathChangeKey = this.rp(filePath);
|
|
186
|
+
if (this.recordedChanges[filePathChangeKey]) {
|
|
187
|
+
if (this.recordedChanges[filePathChangeKey].isDeleted) {
|
|
188
|
+
throw new Error(`Cannot change permissions of deleted file ${filePath}.`);
|
|
189
|
+
}
|
|
190
|
+
this.recordedChanges[filePathChangeKey].options = { mode };
|
|
191
|
+
}
|
|
192
|
+
else if (!this.fsExists(filePath)) {
|
|
193
|
+
throw new Error(`Cannot change permissions of non-existing file ${filePath}.`);
|
|
194
|
+
}
|
|
195
|
+
else if (!this.fsIsFile(filePath)) {
|
|
196
|
+
// To fully support directories we'd need to change how we store
|
|
197
|
+
// changes to keep a record of directories so we can associate
|
|
198
|
+
// permissions to them.
|
|
199
|
+
throw new Error(`Cannot change permissions of non-file ${filePath}.`);
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
this.recordedChanges[filePathChangeKey] = {
|
|
203
|
+
content: this.fsReadFile(filePath),
|
|
204
|
+
isDeleted: false,
|
|
205
|
+
options: { mode },
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// Marks FsTree as final.
|
|
210
|
+
lock() {
|
|
211
|
+
this.locked = true;
|
|
212
|
+
}
|
|
213
|
+
assertUnlocked() {
|
|
214
|
+
if (this.locked) {
|
|
215
|
+
output_1.output.error({
|
|
216
|
+
title: `File changes have already been written to disk. Further changes were attempted ${this.logOperationId ? ` while running ${this.logOperationId}.` : '.'}`,
|
|
217
|
+
bodyLines: [
|
|
218
|
+
'The file system can no longer be modified. This commonly happens when a generator attempts to make further changes in its callback, or an asynchronous operation is still running after the generator completes.',
|
|
219
|
+
],
|
|
220
|
+
});
|
|
221
|
+
throw new Error('Tree changed after commit to disk.');
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
normalize(path) {
|
|
225
|
+
return (0, path_1.relative)(this.root, (0, path_1.join)(this.root, path)).split(path_1.sep).join('/');
|
|
226
|
+
}
|
|
227
|
+
fsReadDir(dirPath) {
|
|
228
|
+
try {
|
|
229
|
+
return (0, fs_extra_1.readdirSync)((0, path_1.join)(this.root, dirPath));
|
|
230
|
+
}
|
|
231
|
+
catch {
|
|
232
|
+
return [];
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
fsIsFile(filePath) {
|
|
236
|
+
const stat = (0, fs_extra_1.statSync)((0, path_1.join)(this.root, filePath));
|
|
237
|
+
return stat.isFile();
|
|
238
|
+
}
|
|
239
|
+
fsReadFile(filePath) {
|
|
240
|
+
return (0, fs_extra_1.readFileSync)((0, path_1.join)(this.root, filePath));
|
|
241
|
+
}
|
|
242
|
+
fsExists(filePath) {
|
|
243
|
+
try {
|
|
244
|
+
const stat = (0, fs_extra_1.statSync)((0, path_1.join)(this.root, filePath));
|
|
245
|
+
return stat.isFile() || stat.isDirectory();
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
filesForDir(path) {
|
|
252
|
+
return Object.keys(this.recordedChanges).filter((f) => f.startsWith(`${path}/`) && !this.recordedChanges[f].isDeleted);
|
|
253
|
+
}
|
|
254
|
+
directChildrenOfDir(path) {
|
|
255
|
+
const res = {};
|
|
256
|
+
if (path === '') {
|
|
257
|
+
return Object.keys(this.recordedChanges).map((file) => file.split('/')[0]);
|
|
258
|
+
}
|
|
259
|
+
Object.keys(this.recordedChanges).forEach((f) => {
|
|
260
|
+
if (f.startsWith(`${path}/`)) {
|
|
261
|
+
// Remove the current folder's path from the directory
|
|
262
|
+
const file = f.substring(path.length + 1);
|
|
263
|
+
// Split the path on segments, and take the first one
|
|
264
|
+
const basePath = file.split('/')[0];
|
|
265
|
+
// Mark it as a child of the current directory
|
|
266
|
+
res[basePath] = true;
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
return Object.keys(res);
|
|
270
|
+
}
|
|
271
|
+
rp(pp) {
|
|
272
|
+
return pp.startsWith('/') ? pp.substring(1) : pp;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
exports.FsTree = FsTree;
|
|
276
|
+
function flushChanges(root, fileChanges) {
|
|
277
|
+
fileChanges.forEach((f) => {
|
|
278
|
+
const fpath = (0, path_1.join)(root, f.path);
|
|
279
|
+
if (f.type === 'CREATE') {
|
|
280
|
+
(0, fs_extra_1.ensureDirSync)((0, path_1.dirname)(fpath));
|
|
281
|
+
(0, fs_extra_1.writeFileSync)(fpath, f.content);
|
|
282
|
+
if (f.options?.mode)
|
|
283
|
+
(0, fs_extra_1.chmodSync)(fpath, f.options.mode);
|
|
284
|
+
}
|
|
285
|
+
else if (f.type === 'UPDATE') {
|
|
286
|
+
(0, fs_extra_1.writeFileSync)(fpath, f.content);
|
|
287
|
+
if (f.options?.mode)
|
|
288
|
+
(0, fs_extra_1.chmodSync)(fpath, f.options.mode);
|
|
289
|
+
}
|
|
290
|
+
else if (f.type === 'DELETE') {
|
|
291
|
+
(0, fs_extra_1.removeSync)(fpath);
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
exports.flushChanges = flushChanges;
|
|
296
|
+
function printChanges(fileChanges, indent = '') {
|
|
297
|
+
fileChanges.forEach((f) => {
|
|
298
|
+
if (f.type === 'CREATE') {
|
|
299
|
+
console.log(`${indent}${chalk.green('CREATE')} ${f.path}`);
|
|
300
|
+
}
|
|
301
|
+
else if (f.type === 'UPDATE') {
|
|
302
|
+
console.log(`${indent}${chalk.white('UPDATE')} ${f.path}`);
|
|
303
|
+
}
|
|
304
|
+
else if (f.type === 'DELETE') {
|
|
305
|
+
console.log(`${indent}${chalk.yellow('DELETE')} ${f.path}`);
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
exports.printChanges = printChanges;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Tree } from '../tree';
|
|
2
|
+
/**
|
|
3
|
+
* Performs a tree-aware glob search on the files in a workspace. Able to find newly
|
|
4
|
+
* created files and hides deleted files before the updates are committed to disk.
|
|
5
|
+
* Paths should be unix-style with forward slashes.
|
|
6
|
+
*
|
|
7
|
+
* @param tree The file system tree
|
|
8
|
+
* @param patterns A list of glob patterns
|
|
9
|
+
* @returns Normalized paths in the workspace that match the provided glob patterns.
|
|
10
|
+
*/
|
|
11
|
+
export declare function glob(tree: Tree, patterns: string[]): string[];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.glob = void 0;
|
|
4
|
+
const minimatch_1 = require("minimatch");
|
|
5
|
+
const globs_1 = require("../../utils/globs");
|
|
6
|
+
const workspace_context_1 = require("../../utils/workspace-context");
|
|
7
|
+
/**
|
|
8
|
+
* Performs a tree-aware glob search on the files in a workspace. Able to find newly
|
|
9
|
+
* created files and hides deleted files before the updates are committed to disk.
|
|
10
|
+
* Paths should be unix-style with forward slashes.
|
|
11
|
+
*
|
|
12
|
+
* @param tree The file system tree
|
|
13
|
+
* @param patterns A list of glob patterns
|
|
14
|
+
* @returns Normalized paths in the workspace that match the provided glob patterns.
|
|
15
|
+
*/
|
|
16
|
+
function glob(tree, patterns) {
|
|
17
|
+
const matches = new Set((0, workspace_context_1.globWithWorkspaceContext)(tree.root, patterns));
|
|
18
|
+
const combinedGlob = (0, globs_1.combineGlobPatterns)(patterns);
|
|
19
|
+
const matcher = minimatch_1.minimatch.makeRe(combinedGlob);
|
|
20
|
+
if (!matcher) {
|
|
21
|
+
throw new Error('Invalid glob pattern: ' + combinedGlob);
|
|
22
|
+
}
|
|
23
|
+
for (const change of tree.listChanges()) {
|
|
24
|
+
if (change.type !== 'UPDATE' && matcher.test(change.path)) {
|
|
25
|
+
if (change.type === 'CREATE') {
|
|
26
|
+
matches.add(change.path);
|
|
27
|
+
}
|
|
28
|
+
else if (change.type === 'DELETE') {
|
|
29
|
+
matches.delete(change.path);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return Array.from(matches);
|
|
34
|
+
}
|
|
35
|
+
exports.glob = glob;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Tree } from '../tree';
|
|
2
|
+
import type { JsonParseOptions, JsonSerializeOptions } from '../../utils/json';
|
|
3
|
+
/**
|
|
4
|
+
* Reads a json file, removes all comments and parses JSON.
|
|
5
|
+
*
|
|
6
|
+
* @param tree - file system tree
|
|
7
|
+
* @param path - file path
|
|
8
|
+
* @param options - Optional JSON Parse Options
|
|
9
|
+
*/
|
|
10
|
+
export declare function readJson<T extends object = any>(tree: Tree, path: string, options?: JsonParseOptions): T;
|
|
11
|
+
/**
|
|
12
|
+
* Writes a JSON value to the file system tree
|
|
13
|
+
|
|
14
|
+
* @param tree File system tree
|
|
15
|
+
* @param path Path of JSON file in the Tree
|
|
16
|
+
* @param value Serializable value to write
|
|
17
|
+
* @param options Optional JSON Serialize Options
|
|
18
|
+
*/
|
|
19
|
+
export declare function writeJson<T extends object = object>(tree: Tree, path: string, value: T, options?: JsonSerializeOptions): void;
|
|
20
|
+
/**
|
|
21
|
+
* Updates a JSON value to the file system tree
|
|
22
|
+
*
|
|
23
|
+
* @param tree File system tree
|
|
24
|
+
* @param path Path of JSON file in the Tree
|
|
25
|
+
* @param updater Function that maps the current value of a JSON document to a new value to be written to the document
|
|
26
|
+
* @param options Optional JSON Parse and Serialize Options
|
|
27
|
+
*/
|
|
28
|
+
export declare function updateJson<T extends object = any, U extends object = T>(tree: Tree, path: string, updater: (value: T) => U, options?: JsonParseOptions & JsonSerializeOptions): void;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateJson = exports.writeJson = exports.readJson = void 0;
|
|
4
|
+
const json_1 = require("../../utils/json");
|
|
5
|
+
/**
|
|
6
|
+
* Reads a json file, removes all comments and parses JSON.
|
|
7
|
+
*
|
|
8
|
+
* @param tree - file system tree
|
|
9
|
+
* @param path - file path
|
|
10
|
+
* @param options - Optional JSON Parse Options
|
|
11
|
+
*/
|
|
12
|
+
function readJson(tree, path, options) {
|
|
13
|
+
if (!tree.exists(path)) {
|
|
14
|
+
throw new Error(`Cannot find ${path}`);
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
return (0, json_1.parseJson)(tree.read(path, 'utf-8'), options);
|
|
18
|
+
}
|
|
19
|
+
catch (e) {
|
|
20
|
+
throw new Error(`Cannot parse ${path}: ${e.message}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.readJson = readJson;
|
|
24
|
+
/**
|
|
25
|
+
* Writes a JSON value to the file system tree
|
|
26
|
+
|
|
27
|
+
* @param tree File system tree
|
|
28
|
+
* @param path Path of JSON file in the Tree
|
|
29
|
+
* @param value Serializable value to write
|
|
30
|
+
* @param options Optional JSON Serialize Options
|
|
31
|
+
*/
|
|
32
|
+
function writeJson(tree, path, value, options) {
|
|
33
|
+
tree.write(path, (0, json_1.serializeJson)(value, options));
|
|
34
|
+
}
|
|
35
|
+
exports.writeJson = writeJson;
|
|
36
|
+
/**
|
|
37
|
+
* Updates a JSON value to the file system tree
|
|
38
|
+
*
|
|
39
|
+
* @param tree File system tree
|
|
40
|
+
* @param path Path of JSON file in the Tree
|
|
41
|
+
* @param updater Function that maps the current value of a JSON document to a new value to be written to the document
|
|
42
|
+
* @param options Optional JSON Parse and Serialize Options
|
|
43
|
+
*/
|
|
44
|
+
function updateJson(tree, path, updater, options) {
|
|
45
|
+
const updatedValue = updater(readJson(tree, path, options));
|
|
46
|
+
writeJson(tree, path, updatedValue, options);
|
|
47
|
+
}
|
|
48
|
+
exports.updateJson = updateJson;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { NxJsonConfiguration } from '../../config/nx-json';
|
|
2
|
+
import type { Tree } from '../tree';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated You must pass a {@link Tree}
|
|
5
|
+
*/
|
|
6
|
+
export declare function readNxJson(): NxJsonConfiguration | null;
|
|
7
|
+
export declare function readNxJson(tree: Tree): NxJsonConfiguration | null;
|
|
8
|
+
/**
|
|
9
|
+
* Update nx.json
|
|
10
|
+
*/
|
|
11
|
+
export declare function updateNxJson(tree: Tree, nxJson: NxJsonConfiguration): void;
|