nx 13.9.3 → 13.10.0-beta.2
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/bin/init-local.d.ts +2 -0
- package/bin/init-local.js +123 -0
- package/bin/init-local.js.map +1 -0
- package/{src/cli/run-cli.d.ts → bin/init.d.ts} +0 -0
- package/bin/init.js +13 -0
- package/bin/init.js.map +1 -0
- package/bin/nx.js +8 -8
- package/bin/nx.js.map +1 -1
- package/{src/compat/compat.d.ts → bin/run-executor.d.ts} +0 -0
- package/{src/cli/run-cli.js → bin/run-executor.js} +11 -3
- package/bin/run-executor.js.map +1 -0
- package/package.json +26 -11
- package/src/adapter/compat.d.ts +1 -0
- package/src/{compat → adapter}/compat.js +1 -1
- package/src/adapter/compat.js.map +1 -0
- package/src/{cli → adapter}/decorate-cli.d.ts +0 -0
- package/src/{cli → adapter}/decorate-cli.js +0 -0
- package/src/adapter/decorate-cli.js.map +1 -0
- package/src/{commands → adapter}/ngcli-adapter.d.ts +4 -11
- package/src/{commands → adapter}/ngcli-adapter.js +13 -37
- package/src/adapter/ngcli-adapter.js.map +1 -0
- package/src/cli/index.d.ts +0 -3
- package/src/cli/index.js +0 -74
- package/src/cli/index.js.map +1 -1
- package/src/command-line/affected.d.ts +3 -0
- package/src/command-line/affected.js +117 -0
- package/src/command-line/affected.js.map +1 -0
- package/src/command-line/connect-to-nx-cloud.d.ts +2 -0
- package/src/command-line/connect-to-nx-cloud.js +79 -0
- package/src/command-line/connect-to-nx-cloud.js.map +1 -0
- package/src/command-line/daemon.d.ts +2 -0
- package/src/command-line/daemon.js +23 -0
- package/src/command-line/daemon.js.map +1 -0
- package/src/command-line/dep-graph.d.ts +24 -0
- package/src/command-line/dep-graph.js +371 -0
- package/src/command-line/dep-graph.js.map +1 -0
- package/src/command-line/examples.d.ts +5 -0
- package/src/command-line/examples.js +283 -0
- package/src/command-line/examples.js.map +1 -0
- package/src/command-line/format.d.ts +7 -0
- package/src/command-line/format.js +205 -0
- package/src/command-line/format.js.map +1 -0
- package/src/command-line/generate.d.ts +17 -0
- package/src/{commands → command-line}/generate.js +42 -63
- package/src/command-line/generate.js.map +1 -0
- package/src/command-line/lint.d.ts +1 -0
- package/src/command-line/lint.js +33 -0
- package/src/command-line/lint.js.map +1 -0
- package/src/command-line/list.d.ts +13 -0
- package/src/command-line/list.js +41 -0
- package/src/command-line/list.js.map +1 -0
- package/src/{commands → command-line}/migrate.d.ts +6 -2
- package/src/{commands → command-line}/migrate.js +21 -58
- package/src/command-line/migrate.js.map +1 -0
- package/src/command-line/nx-commands.d.ts +9 -0
- package/src/command-line/nx-commands.js +607 -0
- package/src/command-line/nx-commands.js.map +1 -0
- package/src/command-line/print-affected.d.ts +6 -0
- package/src/command-line/print-affected.js +82 -0
- package/src/command-line/print-affected.js.map +1 -0
- package/src/command-line/report.d.ts +17 -0
- package/src/command-line/report.js +125 -0
- package/src/command-line/report.js.map +1 -0
- package/src/command-line/reset.d.ts +1 -0
- package/src/command-line/reset.js +20 -0
- package/src/command-line/reset.js.map +1 -0
- package/src/command-line/run-many.d.ts +3 -0
- package/src/command-line/run-many.js +61 -0
- package/src/command-line/run-many.js.map +1 -0
- package/src/command-line/run-one.d.ts +3 -0
- package/src/command-line/run-one.js +111 -0
- package/src/command-line/run-one.js.map +1 -0
- package/src/{commands → command-line}/run.d.ts +12 -7
- package/src/{commands → command-line}/run.js +15 -63
- package/src/command-line/run.js.map +1 -0
- package/src/command-line/utils.d.ts +51 -0
- package/src/command-line/utils.js +272 -0
- package/src/command-line/utils.js.map +1 -0
- package/src/command-line/workspace-generators.d.ts +1 -0
- package/src/command-line/workspace-generators.js +151 -0
- package/src/command-line/workspace-generators.js.map +1 -0
- package/src/command-line/workspace-integrity-checks.d.ts +11 -0
- package/src/command-line/workspace-integrity-checks.js +60 -0
- package/src/command-line/workspace-integrity-checks.js.map +1 -0
- package/src/core/affected-project-graph/affected-project-graph-models.d.ts +11 -0
- package/src/core/affected-project-graph/affected-project-graph-models.js +3 -0
- package/src/core/affected-project-graph/affected-project-graph-models.js.map +1 -0
- package/src/core/affected-project-graph/affected-project-graph.d.ts +5 -0
- package/src/core/affected-project-graph/affected-project-graph.js +88 -0
- package/src/core/affected-project-graph/affected-project-graph.js.map +1 -0
- package/src/core/affected-project-graph/index.d.ts +2 -0
- package/src/core/affected-project-graph/index.js +6 -0
- package/src/core/affected-project-graph/index.js.map +1 -0
- package/src/core/affected-project-graph/locators/implicit-json-changes.d.ts +4 -0
- package/src/core/affected-project-graph/locators/implicit-json-changes.js +54 -0
- package/src/core/affected-project-graph/locators/implicit-json-changes.js.map +1 -0
- package/src/core/affected-project-graph/locators/npm-packages.d.ts +4 -0
- package/src/core/affected-project-graph/locators/npm-packages.js +35 -0
- package/src/core/affected-project-graph/locators/npm-packages.js.map +1 -0
- package/src/core/affected-project-graph/locators/tsconfig-json-changes.d.ts +4 -0
- package/src/core/affected-project-graph/locators/tsconfig-json-changes.js +64 -0
- package/src/core/affected-project-graph/locators/tsconfig-json-changes.js.map +1 -0
- package/src/core/affected-project-graph/locators/workspace-json-changes.d.ts +4 -0
- package/src/core/affected-project-graph/locators/workspace-json-changes.js +48 -0
- package/src/core/affected-project-graph/locators/workspace-json-changes.js.map +1 -0
- package/src/core/affected-project-graph/locators/workspace-projects.d.ts +3 -0
- package/src/core/affected-project-graph/locators/workspace-projects.js +40 -0
- package/src/core/affected-project-graph/locators/workspace-projects.js.map +1 -0
- package/src/core/assert-workspace-validity.d.ts +2 -0
- package/src/core/assert-workspace-validity.js +72 -0
- package/src/core/assert-workspace-validity.js.map +1 -0
- package/src/core/dep-graph/3rdpartylicenses.txt +732 -0
- package/src/core/dep-graph/index.html +16 -0
- package/src/core/dep-graph/main.esm.js +2 -0
- package/src/core/dep-graph/main.esm.js.LICENSE.txt +39 -0
- package/src/core/dep-graph/polyfills.esm.js +1 -0
- package/src/core/dep-graph/runtime.esm.js +1 -0
- package/src/core/dep-graph/styles.css +3 -0
- package/src/core/file-map-utils.d.ts +9 -0
- package/src/core/file-map-utils.js +80 -0
- package/src/core/file-map-utils.js.map +1 -0
- package/src/core/file-utils.d.ts +41 -0
- package/src/core/file-utils.js +168 -0
- package/src/core/file-utils.js.map +1 -0
- package/src/core/hasher/file-hasher-base.d.ts +12 -0
- package/src/core/hasher/file-hasher-base.js +68 -0
- package/src/core/hasher/file-hasher-base.js.map +1 -0
- package/src/core/hasher/file-hasher.d.ts +2 -0
- package/src/core/hasher/file-hasher.js +22 -0
- package/src/core/hasher/file-hasher.js.map +1 -0
- package/src/core/hasher/git-based-file-hasher.d.ts +10 -0
- package/src/core/hasher/git-based-file-hasher.js +50 -0
- package/src/core/hasher/git-based-file-hasher.js.map +1 -0
- package/src/core/hasher/git-hasher.d.ts +7 -0
- package/src/core/hasher/git-hasher.js +134 -0
- package/src/core/hasher/git-hasher.js.map +1 -0
- package/src/core/hasher/hasher.d.ts +60 -0
- package/src/core/hasher/hasher.js +362 -0
- package/src/core/hasher/hasher.js.map +1 -0
- package/src/core/hasher/hashing-impl.d.ts +5 -0
- package/src/core/hasher/hashing-impl.js +23 -0
- package/src/core/hasher/hashing-impl.js.map +1 -0
- package/src/core/hasher/node-based-file-hasher.d.ts +7 -0
- package/src/core/hasher/node-based-file-hasher.js +78 -0
- package/src/core/hasher/node-based-file-hasher.js.map +1 -0
- package/src/core/normalize-nx-json.d.ts +8 -0
- package/src/core/normalize-nx-json.js +32 -0
- package/src/core/normalize-nx-json.js.map +1 -0
- package/src/core/nx-deps/nx-deps-cache.d.ts +41 -0
- package/src/core/nx-deps/nx-deps-cache.js +164 -0
- package/src/core/nx-deps/nx-deps-cache.js.map +1 -0
- package/src/core/project-graph/build-dependencies/build-explicit-typescript-and-package-json-dependencies.d.ts +6 -0
- package/src/core/project-graph/build-dependencies/build-explicit-typescript-and-package-json-dependencies.js +19 -0
- package/src/core/project-graph/build-dependencies/build-explicit-typescript-and-package-json-dependencies.js.map +1 -0
- package/src/core/project-graph/build-dependencies/explicit-package-json-dependencies.d.ts +3 -0
- package/src/core/project-graph/build-dependencies/explicit-package-json-dependencies.js +76 -0
- package/src/core/project-graph/build-dependencies/explicit-package-json-dependencies.js.map +1 -0
- package/src/core/project-graph/build-dependencies/explicit-project-dependencies.d.ts +3 -0
- package/src/core/project-graph/build-dependencies/explicit-project-dependencies.js +27 -0
- package/src/core/project-graph/build-dependencies/explicit-project-dependencies.js.map +1 -0
- package/src/core/project-graph/build-dependencies/implicit-project-dependencies.d.ts +3 -0
- package/src/core/project-graph/build-dependencies/implicit-project-dependencies.js +20 -0
- package/src/core/project-graph/build-dependencies/implicit-project-dependencies.js.map +1 -0
- package/src/core/project-graph/build-dependencies/index.d.ts +3 -0
- package/src/core/project-graph/build-dependencies/index.js +7 -0
- package/src/core/project-graph/build-dependencies/index.js.map +1 -0
- package/src/core/project-graph/build-dependencies/typescript-import-locator.d.ts +11 -0
- package/src/core/project-graph/build-dependencies/typescript-import-locator.js +114 -0
- package/src/core/project-graph/build-dependencies/typescript-import-locator.js.map +1 -0
- package/src/core/project-graph/build-nodes/index.d.ts +2 -0
- package/src/core/project-graph/build-nodes/index.js +6 -0
- package/src/core/project-graph/build-nodes/index.js.map +1 -0
- package/src/core/project-graph/build-nodes/npm-packages.d.ts +2 -0
- package/src/core/project-graph/build-nodes/npm-packages.js +22 -0
- package/src/core/project-graph/build-nodes/npm-packages.js.map +1 -0
- package/src/core/project-graph/build-nodes/workspace-projects.d.ts +3 -0
- package/src/core/project-graph/build-nodes/workspace-projects.js +49 -0
- package/src/core/project-graph/build-nodes/workspace-projects.js.map +1 -0
- package/src/core/project-graph/build-project-graph.d.ts +9 -0
- package/src/core/project-graph/build-project-graph.js +233 -0
- package/src/core/project-graph/build-project-graph.js.map +1 -0
- package/src/core/project-graph/daemon/cache.d.ts +6 -0
- package/src/core/project-graph/daemon/cache.js +56 -0
- package/src/core/project-graph/daemon/cache.js.map +1 -0
- package/src/core/project-graph/daemon/client/client.d.ts +26 -0
- package/src/core/project-graph/daemon/client/client.js +200 -0
- package/src/core/project-graph/daemon/client/client.js.map +1 -0
- package/src/core/project-graph/daemon/client/exec-is-server-available.d.ts +1 -0
- package/src/core/project-graph/daemon/client/exec-is-server-available.js +13 -0
- package/src/core/project-graph/daemon/client/exec-is-server-available.js.map +1 -0
- package/src/core/project-graph/daemon/client/generate-help-output.d.ts +1 -0
- package/src/core/project-graph/daemon/client/generate-help-output.js +31 -0
- package/src/core/project-graph/daemon/client/generate-help-output.js.map +1 -0
- package/src/core/project-graph/daemon/server/logger.d.ts +18 -0
- package/src/core/project-graph/daemon/server/logger.js +38 -0
- package/src/core/project-graph/daemon/server/logger.js.map +1 -0
- package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.d.ts +8 -0
- package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.js +191 -0
- package/src/core/project-graph/daemon/server/project-graph-incremental-recomputation.js.map +1 -0
- package/src/core/project-graph/daemon/server/server.d.ts +4 -0
- package/src/core/project-graph/daemon/server/server.js +236 -0
- package/src/core/project-graph/daemon/server/server.js.map +1 -0
- package/src/core/project-graph/daemon/server/shutdown-utils.d.ts +12 -0
- package/src/core/project-graph/daemon/server/shutdown-utils.js +32 -0
- package/src/core/project-graph/daemon/server/shutdown-utils.js.map +1 -0
- package/src/core/project-graph/daemon/server/start.d.ts +1 -0
- package/src/core/project-graph/daemon/server/start.js +19 -0
- package/src/core/project-graph/daemon/server/start.js.map +1 -0
- package/src/core/project-graph/daemon/server/stop.d.ts +1 -0
- package/src/core/project-graph/daemon/server/stop.js +19 -0
- package/src/core/project-graph/daemon/server/stop.js.map +1 -0
- package/src/core/project-graph/daemon/server/watcher.d.ts +12 -0
- package/src/core/project-graph/daemon/server/watcher.js +158 -0
- package/src/core/project-graph/daemon/server/watcher.js.map +1 -0
- package/src/core/project-graph/daemon/socket-utils.d.ts +15 -0
- package/src/core/project-graph/daemon/socket-utils.js +38 -0
- package/src/core/project-graph/daemon/socket-utils.js.map +1 -0
- package/src/core/project-graph/daemon/tmp-dir.d.ts +6 -0
- package/src/core/project-graph/daemon/tmp-dir.js +37 -0
- package/src/core/project-graph/daemon/tmp-dir.js.map +1 -0
- package/src/core/project-graph/operators.d.ts +20 -0
- package/src/core/project-graph/operators.js +125 -0
- package/src/core/project-graph/operators.js.map +1 -0
- package/src/core/project-graph/project-graph-builder.d.ts +38 -0
- package/src/core/project-graph/project-graph-builder.js +164 -0
- package/src/core/project-graph/project-graph-builder.js.map +1 -0
- package/src/core/project-graph/project-graph-worker.d.ts +1 -0
- package/src/core/project-graph/project-graph-worker.js +19 -0
- package/src/core/project-graph/project-graph-worker.js.map +1 -0
- package/src/core/project-graph/project-graph.d.ts +37 -0
- package/src/core/project-graph/project-graph.js +188 -0
- package/src/core/project-graph/project-graph.js.map +1 -0
- package/src/core/shared-interfaces.d.ts +11 -0
- package/src/core/shared-interfaces.js +3 -0
- package/src/core/shared-interfaces.js.map +1 -0
- package/src/core/target-project-locator.d.ts +36 -0
- package/src/core/target-project-locator.js +164 -0
- package/src/core/target-project-locator.js.map +1 -0
- package/src/shared/nx.d.ts +2 -1
- package/src/shared/tree.js +1 -1
- package/src/shared/tree.js.map +1 -1
- package/src/shared/workspace.d.ts +8 -6
- package/src/shared/workspace.js +21 -20
- package/src/shared/workspace.js.map +1 -1
- package/src/tasks-runner/batch/batch-messages.d.ts +24 -0
- package/src/tasks-runner/batch/batch-messages.js +9 -0
- package/src/tasks-runner/batch/batch-messages.js.map +1 -0
- package/src/tasks-runner/batch/run-batch.d.ts +1 -0
- package/src/tasks-runner/batch/run-batch.js +57 -0
- package/src/tasks-runner/batch/run-batch.js.map +1 -0
- package/src/tasks-runner/cache.d.ts +40 -0
- package/src/tasks-runner/cache.js +284 -0
- package/src/tasks-runner/cache.js.map +1 -0
- package/src/tasks-runner/default-tasks-runner.d.ts +19 -0
- package/src/tasks-runner/default-tasks-runner.js +48 -0
- package/src/tasks-runner/default-tasks-runner.js.map +1 -0
- package/src/tasks-runner/forked-process-task-runner.d.ts +36 -0
- package/src/tasks-runner/forked-process-task-runner.js +259 -0
- package/src/tasks-runner/forked-process-task-runner.js.map +1 -0
- package/src/tasks-runner/life-cycle.d.ts +43 -0
- package/src/tasks-runner/life-cycle.js +72 -0
- package/src/tasks-runner/life-cycle.js.map +1 -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 +349 -0
- package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.js.map +1 -0
- package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.d.ts +25 -0
- package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.js +231 -0
- package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.js.map +1 -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 +19 -0
- package/src/tasks-runner/life-cycles/empty-terminal-output-life-cycle.js.map +1 -0
- package/src/tasks-runner/life-cycles/pretty-time.d.ts +4 -0
- package/src/tasks-runner/life-cycles/pretty-time.js +75 -0
- package/src/tasks-runner/life-cycles/pretty-time.js.map +1 -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 +110 -0
- package/src/tasks-runner/life-cycles/static-run-many-terminal-output-life-cycle.js.map +1 -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 +97 -0
- package/src/tasks-runner/life-cycles/static-run-one-terminal-output-life-cycle.js.map +1 -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 +67 -0
- package/src/tasks-runner/life-cycles/task-profiling-life-cycle.js.map +1 -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 +33 -0
- package/src/tasks-runner/life-cycles/task-timings-life-cycle.js.map +1 -0
- package/src/tasks-runner/remove-old-cache-records.d.ts +1 -0
- package/src/tasks-runner/remove-old-cache-records.js +62 -0
- package/src/tasks-runner/remove-old-cache-records.js.map +1 -0
- package/src/tasks-runner/reporter.d.ts +14 -0
- package/src/tasks-runner/reporter.js +11 -0
- package/src/tasks-runner/reporter.js.map +1 -0
- package/src/tasks-runner/run-command.d.ts +22 -0
- package/src/tasks-runner/run-command.js +352 -0
- package/src/tasks-runner/run-command.js.map +1 -0
- package/src/tasks-runner/task-graph-creator.d.ts +13 -0
- package/src/tasks-runner/task-graph-creator.js +71 -0
- package/src/tasks-runner/task-graph-creator.js.map +1 -0
- package/src/tasks-runner/task-orchestrator.d.ts +38 -0
- package/src/tasks-runner/task-orchestrator.js +299 -0
- package/src/tasks-runner/task-orchestrator.js.map +1 -0
- package/src/tasks-runner/tasks-runner-v2.d.ts +19 -0
- package/src/tasks-runner/tasks-runner-v2.js +42 -0
- package/src/tasks-runner/tasks-runner-v2.js.map +1 -0
- package/src/tasks-runner/tasks-runner.d.ts +45 -0
- package/src/tasks-runner/tasks-runner.js +15 -0
- package/src/tasks-runner/tasks-runner.js.map +1 -0
- package/src/tasks-runner/tasks-schedule.d.ts +33 -0
- package/src/tasks-runner/tasks-schedule.js +130 -0
- package/src/tasks-runner/tasks-schedule.js.map +1 -0
- package/src/tasks-runner/utils.d.ts +32 -0
- package/src/tasks-runner/utils.js +234 -0
- package/src/tasks-runner/utils.js.map +1 -0
- package/src/utils/app-root.d.ts +9 -0
- package/src/utils/app-root.js +10 -1
- package/src/utils/app-root.js.map +1 -1
- package/src/utils/cache-directory.d.ts +4 -0
- package/src/utils/cache-directory.js +37 -0
- package/src/utils/cache-directory.js.map +1 -0
- package/src/utils/default-base.d.ts +1 -0
- package/src/utils/default-base.js +16 -0
- package/src/utils/default-base.js.map +1 -0
- package/src/utils/fileutils.d.ts +4 -0
- package/src/utils/fileutils.js +38 -1
- package/src/utils/fileutils.js.map +1 -1
- package/src/{cli → utils}/find-workspace-root.d.ts +5 -2
- package/src/{cli → utils}/find-workspace-root.js +0 -0
- package/src/utils/find-workspace-root.js.map +1 -0
- package/src/{cli/is_ci.d.ts → utils/is-ci.d.ts} +0 -0
- package/src/{cli/is_ci.js → utils/is-ci.js} +2 -1
- package/src/utils/is-ci.js.map +1 -0
- package/src/utils/json-diff.d.ts +17 -0
- package/src/utils/json-diff.js +112 -0
- package/src/utils/json-diff.js.map +1 -0
- package/src/{shared → utils}/logger.d.ts +0 -0
- package/src/{shared → utils}/logger.js +0 -0
- package/src/utils/logger.js.map +1 -0
- package/src/{shared → utils}/nx-plugin.d.ts +12 -3
- package/src/utils/nx-plugin.js +162 -0
- package/src/utils/nx-plugin.js.map +1 -0
- package/src/{cli → utils}/output.d.ts +17 -14
- package/src/utils/output.js +170 -0
- package/src/utils/output.js.map +1 -0
- package/src/{shared → utils}/package-json.d.ts +2 -2
- package/src/{shared → utils}/package-json.js +0 -0
- package/src/utils/package-json.js.map +1 -0
- package/src/{shared → utils}/package-manager.d.ts +0 -0
- package/src/{shared → utils}/package-manager.js +0 -0
- package/src/utils/package-manager.js.map +1 -0
- package/src/{shared → utils}/params.d.ts +5 -4
- package/src/{shared → utils}/params.js +0 -0
- package/src/utils/params.js.map +1 -0
- package/src/utils/path.d.ts +8 -0
- package/src/utils/path.js +22 -0
- package/src/utils/path.js.map +1 -0
- package/src/utils/perf-logging.d.ts +1 -0
- package/src/utils/perf-logging.js +12 -0
- package/src/utils/perf-logging.js.map +1 -0
- package/src/utils/plugins/community-plugins.d.ts +3 -0
- package/src/utils/plugins/community-plugins.js +47 -0
- package/src/utils/plugins/community-plugins.js.map +1 -0
- package/src/utils/plugins/core-plugins.d.ts +3 -0
- package/src/utils/plugins/core-plugins.js +80 -0
- package/src/utils/plugins/core-plugins.js.map +1 -0
- package/src/utils/plugins/index.d.ts +4 -0
- package/src/utils/plugins/index.js +16 -0
- package/src/utils/plugins/index.js.map +1 -0
- package/src/utils/plugins/installed-plugins.d.ts +3 -0
- package/src/utils/plugins/installed-plugins.js +55 -0
- package/src/utils/plugins/installed-plugins.js.map +1 -0
- package/src/utils/plugins/models.d.ts +31 -0
- package/src/{cli/workspace.js → utils/plugins/models.js} +1 -1
- package/src/utils/plugins/models.js.map +1 -0
- package/src/utils/plugins/plugin-capabilities.d.ts +3 -0
- package/src/utils/plugins/plugin-capabilities.js +81 -0
- package/src/utils/plugins/plugin-capabilities.js.map +1 -0
- package/src/utils/plugins/shared.d.ts +1 -0
- package/src/utils/plugins/shared.js +9 -0
- package/src/utils/plugins/shared.js.map +1 -0
- package/src/utils/print-help.d.ts +10 -0
- package/src/utils/print-help.js +46 -0
- package/src/utils/print-help.js.map +1 -0
- package/src/utils/project-graph-utils.d.ts +12 -0
- package/src/utils/project-graph-utils.js +96 -0
- package/src/utils/project-graph-utils.js.map +1 -0
- package/src/utils/register.d.ts +1 -1
- package/src/utils/register.js +14 -9
- package/src/utils/register.js.map +1 -1
- package/src/utils/strip-indents.d.ts +14 -0
- package/src/utils/strip-indents.js +25 -0
- package/src/utils/strip-indents.js.map +1 -0
- package/src/utils/strip-source-code.d.ts +2 -0
- package/src/utils/strip-source-code.js +85 -0
- package/src/utils/strip-source-code.js.map +1 -0
- package/src/utils/typescript.d.ts +11 -0
- package/src/utils/typescript.js +70 -0
- package/src/utils/typescript.js.map +1 -0
- package/src/utils/version-utils.d.ts +1 -0
- package/src/utils/version-utils.js +19 -0
- package/src/utils/version-utils.js.map +1 -0
- package/src/utils/versions.d.ts +8 -0
- package/src/utils/versions.js +12 -0
- package/src/utils/versions.js.map +1 -0
- package/tasks-runners/default.d.ts +1 -0
- package/tasks-runners/default.js +6 -0
- package/tasks-runners/default.js.map +1 -0
- package/src/cli/decorate-cli.js.map +0 -1
- package/src/cli/find-workspace-root.js.map +0 -1
- package/src/cli/init-local.d.ts +0 -2
- package/src/cli/init-local.js +0 -109
- package/src/cli/init-local.js.map +0 -1
- package/src/cli/is_ci.js.map +0 -1
- package/src/cli/output.js +0 -129
- package/src/cli/output.js.map +0 -1
- package/src/cli/parse-run-one-options.d.ts +0 -6
- package/src/cli/parse-run-one-options.js +0 -139
- package/src/cli/parse-run-one-options.js.map +0 -1
- package/src/cli/run-cli.js.map +0 -1
- package/src/cli/workspace.d.ts +0 -4
- package/src/cli/workspace.js.map +0 -1
- package/src/commands/generate.d.ts +0 -15
- package/src/commands/generate.js.map +0 -1
- package/src/commands/help.d.ts +0 -1
- package/src/commands/help.js +0 -34
- package/src/commands/help.js.map +0 -1
- package/src/commands/migrate.js.map +0 -1
- package/src/commands/ngcli-adapter.js.map +0 -1
- package/src/commands/run.js.map +0 -1
- package/src/compat/compat.js.map +0 -1
- package/src/shared/logger.js.map +0 -1
- package/src/shared/nx-plugin.js +0 -53
- package/src/shared/nx-plugin.js.map +0 -1
- package/src/shared/package-json.js.map +0 -1
- package/src/shared/package-manager.js.map +0 -1
- package/src/shared/params.js.map +0 -1
- package/src/shared/print-help.d.ts +0 -2
- package/src/shared/print-help.js +0 -32
- package/src/shared/print-help.js.map +0 -1
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readEnvironment = exports.workspaceLayout = exports.readNxJson = exports.readPackageJson = exports.defaultFileRead = exports.workspaceFileName = exports.readWorkspaceConfig = exports.readWorkspaceJson = exports.TEN_MEGABYTES = exports.calculateFileChanges = exports.readFileIfExisting = exports.isWholeFileChange = exports.WholeFileChange = void 0;
|
|
4
|
+
const workspace_1 = require("nx/src/shared/workspace");
|
|
5
|
+
const child_process_1 = require("child_process");
|
|
6
|
+
const fs_1 = require("fs");
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
const app_root_1 = require("nx/src/utils/app-root");
|
|
9
|
+
const fileutils_1 = require("../utils/fileutils");
|
|
10
|
+
const json_diff_1 = require("../utils/json-diff");
|
|
11
|
+
const ignore_1 = require("ignore");
|
|
12
|
+
const fileutils_2 = require("nx/src/utils/fileutils");
|
|
13
|
+
class WholeFileChange {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.type = 'WholeFileChange';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.WholeFileChange = WholeFileChange;
|
|
19
|
+
function isWholeFileChange(change) {
|
|
20
|
+
return change.type === 'WholeFileChange';
|
|
21
|
+
}
|
|
22
|
+
exports.isWholeFileChange = isWholeFileChange;
|
|
23
|
+
function readFileIfExisting(path) {
|
|
24
|
+
return (0, fs_1.existsSync)(path) ? (0, fs_1.readFileSync)(path, 'utf-8') : '';
|
|
25
|
+
}
|
|
26
|
+
exports.readFileIfExisting = readFileIfExisting;
|
|
27
|
+
function getIgnoredGlobs() {
|
|
28
|
+
const ig = (0, ignore_1.default)();
|
|
29
|
+
ig.add(readFileIfExisting(`${app_root_1.appRootPath}/.gitignore`));
|
|
30
|
+
ig.add(readFileIfExisting(`${app_root_1.appRootPath}/.nxignore`));
|
|
31
|
+
return ig;
|
|
32
|
+
}
|
|
33
|
+
function calculateFileChanges(files, allWorkspaceFiles, nxArgs, readFileAtRevision = defaultReadFileAtRevision, ignore = getIgnoredGlobs()) {
|
|
34
|
+
files = files.filter((f) => !ignore.ignores(f));
|
|
35
|
+
return files.map((f) => {
|
|
36
|
+
const ext = (0, path_1.extname)(f);
|
|
37
|
+
const file = allWorkspaceFiles.find((fileData) => fileData.file == f);
|
|
38
|
+
const hash = file === null || file === void 0 ? void 0 : file.hash;
|
|
39
|
+
return {
|
|
40
|
+
file: f,
|
|
41
|
+
ext,
|
|
42
|
+
hash,
|
|
43
|
+
getChanges: () => {
|
|
44
|
+
if (!nxArgs) {
|
|
45
|
+
return [new WholeFileChange()];
|
|
46
|
+
}
|
|
47
|
+
if (nxArgs.files && nxArgs.files.includes(f)) {
|
|
48
|
+
return [new WholeFileChange()];
|
|
49
|
+
}
|
|
50
|
+
switch (ext) {
|
|
51
|
+
case '.json':
|
|
52
|
+
const atBase = readFileAtRevision(f, nxArgs.base);
|
|
53
|
+
const atHead = readFileAtRevision(f, nxArgs.head);
|
|
54
|
+
try {
|
|
55
|
+
return (0, json_diff_1.jsonDiff)(JSON.parse(atBase), JSON.parse(atHead));
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
return [new WholeFileChange()];
|
|
59
|
+
}
|
|
60
|
+
default:
|
|
61
|
+
return [new WholeFileChange()];
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
exports.calculateFileChanges = calculateFileChanges;
|
|
68
|
+
exports.TEN_MEGABYTES = 1024 * 10000;
|
|
69
|
+
function defaultReadFileAtRevision(file, revision) {
|
|
70
|
+
try {
|
|
71
|
+
const fileFullPath = `${app_root_1.appRootPath}${path_1.sep}${file}`;
|
|
72
|
+
const gitRepositoryPath = (0, child_process_1.execSync)('git rev-parse --show-toplevel')
|
|
73
|
+
.toString()
|
|
74
|
+
.trim();
|
|
75
|
+
const filePathInGitRepository = (0, path_1.relative)(gitRepositoryPath, fileFullPath)
|
|
76
|
+
.split(path_1.sep)
|
|
77
|
+
.join('/');
|
|
78
|
+
return !revision
|
|
79
|
+
? (0, fs_1.readFileSync)(file, 'utf-8')
|
|
80
|
+
: (0, child_process_1.execSync)(`git show ${revision}:${filePathInGitRepository}`, {
|
|
81
|
+
maxBuffer: exports.TEN_MEGABYTES,
|
|
82
|
+
})
|
|
83
|
+
.toString()
|
|
84
|
+
.trim();
|
|
85
|
+
}
|
|
86
|
+
catch (_a) {
|
|
87
|
+
return '';
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function readWorkspaceJson() {
|
|
91
|
+
return readWorkspaceConfig({
|
|
92
|
+
format: 'nx',
|
|
93
|
+
path: app_root_1.appRootPath,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
exports.readWorkspaceJson = readWorkspaceJson;
|
|
97
|
+
function readWorkspaceConfig(opts) {
|
|
98
|
+
const ws = new workspace_1.Workspaces(opts.path || process.cwd());
|
|
99
|
+
const json = ws.readWorkspaceConfiguration();
|
|
100
|
+
if (opts.format === 'angularCli') {
|
|
101
|
+
const formatted = (0, workspace_1.toOldFormatOrNull)(json);
|
|
102
|
+
return formatted !== null && formatted !== void 0 ? formatted : json;
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
return json;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.readWorkspaceConfig = readWorkspaceConfig;
|
|
109
|
+
function workspaceFileName() {
|
|
110
|
+
if ((0, fileutils_1.fileExists)(`${app_root_1.appRootPath}/angular.json`)) {
|
|
111
|
+
return 'angular.json';
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
return 'workspace.json';
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.workspaceFileName = workspaceFileName;
|
|
118
|
+
function defaultFileRead(filePath) {
|
|
119
|
+
return (0, fs_1.readFileSync)((0, path_1.join)(app_root_1.appRootPath, filePath), 'utf-8');
|
|
120
|
+
}
|
|
121
|
+
exports.defaultFileRead = defaultFileRead;
|
|
122
|
+
function readPackageJson() {
|
|
123
|
+
return (0, fileutils_2.readJsonFile)(`${app_root_1.appRootPath}/package.json`);
|
|
124
|
+
}
|
|
125
|
+
exports.readPackageJson = readPackageJson;
|
|
126
|
+
/**
|
|
127
|
+
* Returns the contents of nx.json.
|
|
128
|
+
*
|
|
129
|
+
* If nx.json extends another config file, it will be inlined here.
|
|
130
|
+
*/
|
|
131
|
+
function readNxJson(path = `${app_root_1.appRootPath}/nx.json`) {
|
|
132
|
+
let config = (0, fileutils_2.readJsonFile)(path);
|
|
133
|
+
if (!config.npmScope) {
|
|
134
|
+
throw new Error(`nx.json must define the npmScope property.`);
|
|
135
|
+
}
|
|
136
|
+
if (config.extends) {
|
|
137
|
+
config = Object.assign(Object.assign({}, resolveNxJsonExtends(config.extends)), config);
|
|
138
|
+
}
|
|
139
|
+
return config;
|
|
140
|
+
}
|
|
141
|
+
exports.readNxJson = readNxJson;
|
|
142
|
+
function resolveNxJsonExtends(extendedNxJsonPath) {
|
|
143
|
+
try {
|
|
144
|
+
return (0, fileutils_2.readJsonFile)(require.resolve(extendedNxJsonPath));
|
|
145
|
+
}
|
|
146
|
+
catch (e) {
|
|
147
|
+
throw new Error(`Unable to resolve nx.json extends. Error: ${e.message}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Returns information about where apps and libs will be created.
|
|
152
|
+
*/
|
|
153
|
+
function workspaceLayout() {
|
|
154
|
+
var _a, _b, _c, _d;
|
|
155
|
+
const nxJson = readNxJson();
|
|
156
|
+
return {
|
|
157
|
+
appsDir: (_b = (_a = nxJson.workspaceLayout) === null || _a === void 0 ? void 0 : _a.appsDir) !== null && _b !== void 0 ? _b : 'apps',
|
|
158
|
+
libsDir: (_d = (_c = nxJson.workspaceLayout) === null || _c === void 0 ? void 0 : _c.libsDir) !== null && _d !== void 0 ? _d : 'libs',
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
exports.workspaceLayout = workspaceLayout;
|
|
162
|
+
function readEnvironment() {
|
|
163
|
+
const nxJson = readNxJson();
|
|
164
|
+
const workspaceJson = readWorkspaceJson();
|
|
165
|
+
return { nxJson, workspaceJson, workspaceResults: null };
|
|
166
|
+
}
|
|
167
|
+
exports.readEnvironment = readEnvironment;
|
|
168
|
+
//# sourceMappingURL=file-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../../../../packages/nx/src/core/file-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FileData } from 'nx/src/shared/project-graph';
|
|
2
|
+
export declare abstract class FileHasherBase {
|
|
3
|
+
protected fileHashes: Map<string, string>;
|
|
4
|
+
protected isInitialized: boolean;
|
|
5
|
+
clear(): void;
|
|
6
|
+
abstract init(): Promise<void>;
|
|
7
|
+
abstract hashFiles(files: string[]): Promise<Map<string, string>>;
|
|
8
|
+
ensureInitialized(): Promise<void>;
|
|
9
|
+
allFileData(): FileData[];
|
|
10
|
+
incrementalUpdate(updatedFiles: Map<string, string>, deletedFiles?: string[]): void;
|
|
11
|
+
hashFile(path: string): string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FileHasherBase = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const app_root_1 = require("nx/src/utils/app-root");
|
|
6
|
+
const perf_hooks_1 = require("perf_hooks");
|
|
7
|
+
const hashing_impl_1 = require("./hashing-impl");
|
|
8
|
+
const path_1 = require("nx/src/utils/path");
|
|
9
|
+
class FileHasherBase {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.isInitialized = false;
|
|
12
|
+
}
|
|
13
|
+
clear() {
|
|
14
|
+
this.fileHashes = new Map();
|
|
15
|
+
this.isInitialized = false;
|
|
16
|
+
}
|
|
17
|
+
ensureInitialized() {
|
|
18
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
19
|
+
if (!this.isInitialized) {
|
|
20
|
+
yield this.init();
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
allFileData() {
|
|
25
|
+
const res = [];
|
|
26
|
+
this.fileHashes.forEach((hash, file) => {
|
|
27
|
+
res.push({
|
|
28
|
+
file,
|
|
29
|
+
hash,
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
res.sort((x, y) => x.file.localeCompare(y.file));
|
|
33
|
+
return res;
|
|
34
|
+
}
|
|
35
|
+
incrementalUpdate(updatedFiles, deletedFiles = []) {
|
|
36
|
+
perf_hooks_1.performance.mark('incremental hashing:start');
|
|
37
|
+
updatedFiles.forEach((hash, filename) => {
|
|
38
|
+
this.fileHashes.set(filename, hash);
|
|
39
|
+
});
|
|
40
|
+
for (const deletedFile of deletedFiles) {
|
|
41
|
+
this.fileHashes.delete(deletedFile);
|
|
42
|
+
}
|
|
43
|
+
perf_hooks_1.performance.mark('incremental hashing:end');
|
|
44
|
+
perf_hooks_1.performance.measure('incremental hashing', 'incremental hashing:start', 'incremental hashing:end');
|
|
45
|
+
}
|
|
46
|
+
hashFile(path) {
|
|
47
|
+
if (!this.fileHashes) {
|
|
48
|
+
throw new Error('FileHasher is invoked before being initialized');
|
|
49
|
+
}
|
|
50
|
+
const relativePath = path.startsWith(app_root_1.appRootPath)
|
|
51
|
+
? path.substr(app_root_1.appRootPath.length + 1)
|
|
52
|
+
: path;
|
|
53
|
+
if (this.fileHashes.has(relativePath)) {
|
|
54
|
+
return this.fileHashes.get(relativePath);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
try {
|
|
58
|
+
// this has to be absolute to avoid issues with cwd
|
|
59
|
+
return hashing_impl_1.defaultHashing.hashFile((0, path_1.joinPathFragments)(app_root_1.appRootPath, relativePath));
|
|
60
|
+
}
|
|
61
|
+
catch (_a) {
|
|
62
|
+
return '';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.FileHasherBase = FileHasherBase;
|
|
68
|
+
//# sourceMappingURL=file-hasher-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-hasher-base.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/core/hasher/file-hasher-base.ts"],"names":[],"mappings":";;;;AAAA,oDAAoD;AACpD,2CAAyC;AACzC,iDAAgD;AAEhD,4CAAsD;AAEtD,MAAsB,cAAc;IAApC;QAEY,kBAAa,GAAG,KAAK,CAAC;IAuElC,CAAC;IArEC,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAMK,iBAAiB;;YACrB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;aACnB;QACH,CAAC;KAAA;IAED,WAAW;QACT,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACrC,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI;gBACJ,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iBAAiB,CACf,YAAiC,EACjC,eAAyB,EAAE;QAE3B,wBAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAE9C,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SACrC;QAED,wBAAW,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC5C,wBAAW,CAAC,OAAO,CACjB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAW,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAC1C;aAAM;YACL,IAAI;gBACF,mDAAmD;gBACnD,OAAO,6BAAc,CAAC,QAAQ,CAC5B,IAAA,wBAAiB,EAAC,sBAAW,EAAE,YAAY,CAAC,CAC7C,CAAC;aACH;YAAC,WAAM;gBACN,OAAO,EAAE,CAAC;aACX;SACF;IACH,CAAC;CACF;AAzED,wCAyEC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultFileHasher = void 0;
|
|
4
|
+
const git_based_file_hasher_1 = require("./git-based-file-hasher");
|
|
5
|
+
const app_root_1 = require("nx/src/utils/app-root");
|
|
6
|
+
const node_based_file_hasher_1 = require("./node-based-file-hasher");
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
function createFileHasher() {
|
|
9
|
+
// special case for unit tests
|
|
10
|
+
if (app_root_1.appRootPath === '/root') {
|
|
11
|
+
return new node_based_file_hasher_1.NodeBasedFileHasher();
|
|
12
|
+
}
|
|
13
|
+
try {
|
|
14
|
+
(0, child_process_1.execSync)('git rev-parse --is-inside-work-tree', { stdio: 'ignore' });
|
|
15
|
+
return new git_based_file_hasher_1.GitBasedFileHasher();
|
|
16
|
+
}
|
|
17
|
+
catch (_a) {
|
|
18
|
+
return new node_based_file_hasher_1.NodeBasedFileHasher();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.defaultFileHasher = createFileHasher();
|
|
22
|
+
//# sourceMappingURL=file-hasher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-hasher.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/core/hasher/file-hasher.ts"],"names":[],"mappings":";;;AAAA,mEAA6D;AAC7D,oDAAoD;AACpD,qEAA+D;AAE/D,iDAAyC;AAEzC,SAAS,gBAAgB;IACvB,8BAA8B;IAC9B,IAAI,sBAAW,KAAK,OAAO,EAAE;QAC3B,OAAO,IAAI,4CAAmB,EAAE,CAAC;KAClC;IACD,IAAI;QACF,IAAA,wBAAQ,EAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,0CAAkB,EAAE,CAAC;KACjC;IAAC,WAAM;QACN,OAAO,IAAI,4CAAmB,EAAE,CAAC;KAClC;AACH,CAAC;AAEY,QAAA,iBAAiB,GAAG,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FileHasherBase } from './file-hasher-base';
|
|
2
|
+
export declare class GitBasedFileHasher extends FileHasherBase {
|
|
3
|
+
/**
|
|
4
|
+
* For the project graph daemon server use-case we can potentially skip expensive work
|
|
5
|
+
* by leveraging knowledge of the uncommitted and untracked files, so the init() method
|
|
6
|
+
* returns a Map containing this data.
|
|
7
|
+
*/
|
|
8
|
+
init(): Promise<void>;
|
|
9
|
+
hashFiles(files: string[]): Promise<Map<string, string>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GitBasedFileHasher = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const app_root_1 = require("nx/src/utils/app-root");
|
|
6
|
+
const perf_hooks_1 = require("perf_hooks");
|
|
7
|
+
const git_hasher_1 = require("./git-hasher");
|
|
8
|
+
const fs_1 = require("fs");
|
|
9
|
+
const file_hasher_base_1 = require("./file-hasher-base");
|
|
10
|
+
const ignore_1 = require("ignore");
|
|
11
|
+
class GitBasedFileHasher extends file_hasher_base_1.FileHasherBase {
|
|
12
|
+
/**
|
|
13
|
+
* For the project graph daemon server use-case we can potentially skip expensive work
|
|
14
|
+
* by leveraging knowledge of the uncommitted and untracked files, so the init() method
|
|
15
|
+
* returns a Map containing this data.
|
|
16
|
+
*/
|
|
17
|
+
init() {
|
|
18
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
19
|
+
perf_hooks_1.performance.mark('init hashing:start');
|
|
20
|
+
this.clear();
|
|
21
|
+
const gitResult = yield (0, git_hasher_1.getFileHashes)(app_root_1.appRootPath);
|
|
22
|
+
const ignore = getIgnoredGlobs();
|
|
23
|
+
gitResult.allFiles.forEach((hash, filename) => {
|
|
24
|
+
if (!ignore.ignores(filename)) {
|
|
25
|
+
this.fileHashes.set(filename, hash);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
this.isInitialized = true;
|
|
29
|
+
perf_hooks_1.performance.mark('init hashing:end');
|
|
30
|
+
perf_hooks_1.performance.measure('init hashing', 'init hashing:start', 'init hashing:end');
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
hashFiles(files) {
|
|
34
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
35
|
+
return (yield (0, git_hasher_1.getGitHashForFiles)(files, app_root_1.appRootPath)).hashes;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.GitBasedFileHasher = GitBasedFileHasher;
|
|
40
|
+
function getIgnoredGlobs() {
|
|
41
|
+
if ((0, fs_1.existsSync)(`${app_root_1.appRootPath}/.nxignore`)) {
|
|
42
|
+
const ig = (0, ignore_1.default)();
|
|
43
|
+
ig.add((0, fs_1.readFileSync)(`${app_root_1.appRootPath}/.nxignore`, 'utf-8'));
|
|
44
|
+
return ig;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
return { ignores: (file) => false };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=git-based-file-hasher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-based-file-hasher.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/core/hasher/git-based-file-hasher.ts"],"names":[],"mappings":";;;;AAAA,oDAAoD;AACpD,2CAAyC;AACzC,6CAAiE;AACjE,2BAA8C;AAC9C,yDAAoD;AACpD,mCAA4B;AAE5B,MAAa,kBAAmB,SAAQ,iCAAc;IACpD;;;;OAIG;IACG,IAAI;;YACR,wBAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,MAAM,SAAS,GAAG,MAAM,IAAA,0BAAa,EAAC,sBAAW,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;YACjC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC5C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;iBACrC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,wBAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrC,wBAAW,CAAC,OAAO,CACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,CACnB,CAAC;QACJ,CAAC;KAAA;IAEK,SAAS,CAAC,KAAe;;YAC7B,OAAO,CAAC,MAAM,IAAA,+BAAkB,EAAC,KAAK,EAAE,sBAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/D,CAAC;KAAA;CACF;AA7BD,gDA6BC;AAED,SAAS,eAAe;IACtB,IAAI,IAAA,eAAU,EAAC,GAAG,sBAAW,YAAY,CAAC,EAAE;QAC1C,MAAM,EAAE,GAAG,IAAA,gBAAM,GAAE,CAAC;QACpB,EAAE,CAAC,GAAG,CAAC,IAAA,iBAAY,EAAC,GAAG,sBAAW,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,CAAC;KACX;SAAM;QACL,OAAO,EAAE,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;KAC7C;AACH,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFileHashes = exports.getGitHashForFiles = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const child_process_1 = require("child_process");
|
|
6
|
+
const fileutils_1 = require("../../utils/fileutils");
|
|
7
|
+
const path_1 = require("../../utils/path");
|
|
8
|
+
function getGitHashForFiles(potentialFilesToHash, path) {
|
|
9
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
10
|
+
const { filesToHash, deleted } = getActualFilesToHash(potentialFilesToHash, path);
|
|
11
|
+
const res = new Map();
|
|
12
|
+
const promises = [];
|
|
13
|
+
if (filesToHash.length) {
|
|
14
|
+
// On windows the max length is limited by the length of
|
|
15
|
+
// the overall comand, rather than the number of individual
|
|
16
|
+
// arguments. Since file paths are large and rather variable,
|
|
17
|
+
// we use a smaller batchSize.
|
|
18
|
+
const batchSize = process.platform === 'win32' ? 500 : 4000;
|
|
19
|
+
for (let startIndex = 0; startIndex < filesToHash.length; startIndex += batchSize) {
|
|
20
|
+
promises.push(getGitHashForBatch(filesToHash.slice(startIndex, startIndex + batchSize), path));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
// Merge batch results into final result set
|
|
24
|
+
const batchResults = yield Promise.all(promises);
|
|
25
|
+
for (const batch of batchResults) {
|
|
26
|
+
batch.forEach((v, k) => res.set(k, v));
|
|
27
|
+
}
|
|
28
|
+
return { hashes: res, deleted };
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
exports.getGitHashForFiles = getGitHashForFiles;
|
|
32
|
+
function getGitHashForBatch(filesToHash, path) {
|
|
33
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
34
|
+
const res = new Map();
|
|
35
|
+
const hashStdout = yield spawnProcess('git', ['hash-object', ...filesToHash], path);
|
|
36
|
+
const hashes = hashStdout.split('\n').filter((s) => !!s);
|
|
37
|
+
if (hashes.length !== filesToHash.length) {
|
|
38
|
+
throw new Error(`Passed ${filesToHash.length} file paths to Git to hash, but received ${hashes.length} hashes.`);
|
|
39
|
+
}
|
|
40
|
+
for (let i = 0; i < hashes.length; i++) {
|
|
41
|
+
const hash = hashes[i];
|
|
42
|
+
const filePath = filesToHash[i];
|
|
43
|
+
res.set(filePath, hash);
|
|
44
|
+
}
|
|
45
|
+
return res;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function getActualFilesToHash(potentialFilesToHash, path) {
|
|
49
|
+
const filesToHash = [];
|
|
50
|
+
const deleted = [];
|
|
51
|
+
for (let file of potentialFilesToHash) {
|
|
52
|
+
if ((0, fileutils_1.fileExists)((0, path_1.joinPathFragments)(path, file))) {
|
|
53
|
+
filesToHash.push(file);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
deleted.push(file);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return { filesToHash, deleted };
|
|
60
|
+
}
|
|
61
|
+
function spawnProcess(command, args, cwd) {
|
|
62
|
+
var e_1, _a;
|
|
63
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
64
|
+
const cp = (0, child_process_1.spawn)(command, args, {
|
|
65
|
+
windowsHide: true,
|
|
66
|
+
shell: false,
|
|
67
|
+
cwd,
|
|
68
|
+
});
|
|
69
|
+
let stdout = '';
|
|
70
|
+
try {
|
|
71
|
+
for (var _b = (0, tslib_1.__asyncValues)(cp.stdout), _c; _c = yield _b.next(), !_c.done;) {
|
|
72
|
+
const data = _c.value;
|
|
73
|
+
stdout += data;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
77
|
+
finally {
|
|
78
|
+
try {
|
|
79
|
+
if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b);
|
|
80
|
+
}
|
|
81
|
+
finally { if (e_1) throw e_1.error; }
|
|
82
|
+
}
|
|
83
|
+
return stdout;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
function getStagedFiles(path) {
|
|
87
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
88
|
+
const staged = yield spawnProcess('git', ['ls-files', '-s', '-z', '--exclude-standard', '.'], path);
|
|
89
|
+
const res = new Map();
|
|
90
|
+
for (let line of staged.split('\0')) {
|
|
91
|
+
if (!line)
|
|
92
|
+
continue;
|
|
93
|
+
const [_, hash, __, ...fileParts] = line.split(/\s/);
|
|
94
|
+
const fileName = fileParts.join(' ');
|
|
95
|
+
res.set(fileName, hash);
|
|
96
|
+
}
|
|
97
|
+
return res;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
function getUnstagedFiles(path) {
|
|
101
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
102
|
+
const unstaged = yield spawnProcess('git', ['ls-files', '-m', '-z', '--exclude-standard', '.'], path);
|
|
103
|
+
const lines = unstaged.split('\0').filter((f) => !!f);
|
|
104
|
+
return getGitHashForFiles(lines, path);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
function getUntrackedFiles(path) {
|
|
108
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
109
|
+
const untracked = yield spawnProcess('git', ['ls-files', '--other', '-z', '--exclude-standard', '.'], path);
|
|
110
|
+
const lines = untracked.split('\0').filter((f) => !!f);
|
|
111
|
+
return getGitHashForFiles(lines, path);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
function getFileHashes(path) {
|
|
115
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
116
|
+
const [staged, unstaged, untracked] = yield Promise.all([
|
|
117
|
+
getStagedFiles(path),
|
|
118
|
+
getUnstagedFiles(path),
|
|
119
|
+
getUntrackedFiles(path),
|
|
120
|
+
]);
|
|
121
|
+
unstaged.hashes.forEach((hash, filename) => {
|
|
122
|
+
staged.set(filename, hash);
|
|
123
|
+
});
|
|
124
|
+
unstaged.deleted.forEach((filename) => {
|
|
125
|
+
staged.delete(filename);
|
|
126
|
+
});
|
|
127
|
+
untracked.hashes.forEach((hash, filename) => {
|
|
128
|
+
staged.set(filename, hash);
|
|
129
|
+
});
|
|
130
|
+
return { allFiles: staged };
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
exports.getFileHashes = getFileHashes;
|
|
134
|
+
//# sourceMappingURL=git-hasher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-hasher.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/core/hasher/git-hasher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { HashingImpl } from './hashing-impl';
|
|
2
|
+
import { ProjectGraph } from 'nx/src/shared/project-graph';
|
|
3
|
+
import { NxJsonConfiguration } from 'nx/src/shared/nx';
|
|
4
|
+
import { Task } from 'nx/src/shared/tasks';
|
|
5
|
+
/**
|
|
6
|
+
* A data structure returned by the default hasher.
|
|
7
|
+
*/
|
|
8
|
+
export interface Hash {
|
|
9
|
+
value: string;
|
|
10
|
+
details: {
|
|
11
|
+
command: string;
|
|
12
|
+
nodes: {
|
|
13
|
+
[name: string]: string;
|
|
14
|
+
};
|
|
15
|
+
implicitDeps: {
|
|
16
|
+
[fileName: string]: string;
|
|
17
|
+
};
|
|
18
|
+
runtime: {
|
|
19
|
+
[input: string]: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
interface ImplicitHashResult {
|
|
24
|
+
value: string;
|
|
25
|
+
files: {
|
|
26
|
+
[fileName: string]: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
interface RuntimeHashResult {
|
|
30
|
+
value: string;
|
|
31
|
+
runtime: {
|
|
32
|
+
[input: string]: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The default hasher used by executors.
|
|
37
|
+
*/
|
|
38
|
+
export declare class Hasher {
|
|
39
|
+
private readonly projectGraph;
|
|
40
|
+
private readonly nxJson;
|
|
41
|
+
private readonly options;
|
|
42
|
+
static version: string;
|
|
43
|
+
private implicitDependencies;
|
|
44
|
+
private runtimeInputs;
|
|
45
|
+
private projectHashes;
|
|
46
|
+
private hashing;
|
|
47
|
+
constructor(projectGraph: ProjectGraph, nxJson: NxJsonConfiguration, options: any, hashing?: HashingImpl);
|
|
48
|
+
hashTaskWithDepsAndContext(task: Task, filter?: 'all-files' | 'exclude-tests-of-all' | 'exclude-tests-of-deps'): Promise<Hash>;
|
|
49
|
+
hashCommand(task: Task): string;
|
|
50
|
+
hashContext(): Promise<{
|
|
51
|
+
implicitDeps: ImplicitHashResult;
|
|
52
|
+
runtime: RuntimeHashResult;
|
|
53
|
+
}>;
|
|
54
|
+
hashSource(task: Task): Promise<string>;
|
|
55
|
+
hashArray(values: string[]): string;
|
|
56
|
+
private runtimeInputsHash;
|
|
57
|
+
private implicitDepsHash;
|
|
58
|
+
private hashNxJson;
|
|
59
|
+
}
|
|
60
|
+
export {};
|