nx 23.2.0-beta.4 → 23.2.0-beta.6
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/dist/bin/nx.js +1 -0
- package/dist/src/command-line/affected/affected.js +1 -0
- package/dist/src/command-line/configure-ai-agents/configure-ai-agents.js +2 -2
- package/dist/src/command-line/init/init-v2.js +2 -2
- package/dist/src/command-line/migrate/agentic/definitions.js +2 -2
- package/dist/src/command-line/migrate/agentic/handoff-gitignore.d.ts +15 -19
- package/dist/src/command-line/migrate/agentic/handoff-gitignore.js +19 -31
- package/dist/src/command-line/migrate/agentic/handoff.d.ts +4 -6
- package/dist/src/command-line/migrate/agentic/handoff.js +9 -8
- package/dist/src/command-line/migrate/agentic/print-dropped-agent-context.d.ts +7 -12
- package/dist/src/command-line/migrate/agentic/print-dropped-agent-context.js +7 -0
- package/dist/src/command-line/migrate/agentic/run-step.d.ts +10 -0
- package/dist/src/command-line/migrate/agentic/select.d.ts +10 -2
- package/dist/src/command-line/migrate/agentic/select.js +10 -2
- package/dist/src/command-line/migrate/agentic/types.d.ts +17 -3
- package/dist/src/command-line/migrate/agentic/types.js +26 -0
- package/dist/src/command-line/migrate/command-object.d.ts +3 -0
- package/dist/src/command-line/migrate/command-object.js +6 -1
- package/dist/src/command-line/migrate/execute-migration.d.ts +14 -9
- package/dist/src/command-line/migrate/execute-migration.js +82 -18
- package/dist/src/command-line/migrate/migrate-analytics.d.ts +7 -0
- package/dist/src/command-line/migrate/migrate-analytics.js +14 -0
- package/dist/src/command-line/migrate/migrate-commits.d.ts +32 -8
- package/dist/src/command-line/migrate/migrate-commits.js +77 -9
- package/dist/src/command-line/migrate/migrate-config.d.ts +11 -12
- package/dist/src/command-line/migrate/migrate-config.js +14 -14
- package/dist/src/command-line/migrate/migrate-output.d.ts +45 -7
- package/dist/src/command-line/migrate/migrate-output.js +52 -8
- package/dist/src/command-line/migrate/migrate-ui-api.d.ts +2 -1
- package/dist/src/command-line/migrate/migrate-ui-api.js +16 -7
- package/dist/src/command-line/migrate/migrate.d.ts +17 -68
- package/dist/src/command-line/migrate/migrate.js +411 -229
- package/dist/src/command-line/migrate/migration-shape.d.ts +8 -0
- package/dist/src/command-line/migrate/run/index.d.ts +2 -0
- package/dist/src/command-line/migrate/run/index.js +5 -0
- package/dist/src/command-line/migrate/run/util.d.ts +1 -0
- package/dist/src/command-line/migrate/run/util.js +16 -0
- package/dist/src/command-line/migrate/run/worker.d.ts +15 -0
- package/dist/src/command-line/migrate/run/worker.js +419 -0
- package/dist/src/command-line/migrate/run-migration-process.js +6 -5
- package/dist/src/command-line/migrate/sort-migrations.d.ts +16 -0
- package/dist/src/command-line/migrate/sort-migrations.js +32 -0
- package/dist/src/command-line/migrate/version-skew-guard.d.ts +58 -0
- package/dist/src/command-line/migrate/version-skew-guard.js +155 -0
- package/dist/src/command-line/nx-cloud/start-nx-agents/command-object.d.ts +2 -0
- package/dist/src/command-line/nx-cloud/start-nx-agents/command-object.js +16 -0
- package/dist/src/command-line/nx-cloud/start-nx-agents/start-nx-agents.d.ts +4 -0
- package/dist/src/command-line/nx-cloud/start-nx-agents/start-nx-agents.js +13 -0
- package/dist/src/command-line/nx-commands.js +26 -24
- package/dist/src/command-line/release/changelog.js +5 -0
- package/dist/src/command-line/release/utils/git.js +1 -1
- package/dist/src/command-line/release/utils/release-graph.d.ts +1 -0
- package/dist/src/command-line/release/utils/release-graph.js +15 -3
- package/dist/src/command-line/release/version/version-actions.d.ts +8 -0
- package/dist/src/command-line/release/version/version-actions.js +8 -0
- package/dist/src/command-line/release/version.js +9 -5
- package/dist/src/command-line/reset/reset.js +6 -1
- package/dist/src/command-line/run/run-one.js +1 -0
- package/dist/src/command-line/run-many/run-many.js +1 -0
- package/dist/src/config/misc-interfaces.d.ts +19 -7
- package/dist/src/core/graph/main.js +1 -1
- package/dist/src/core/graph/styles.js +1 -1
- package/dist/src/daemon/client/client.d.ts +45 -1
- package/dist/src/daemon/client/client.js +128 -32
- package/dist/src/daemon/client/daemon-socket-messenger.js +4 -0
- package/dist/src/daemon/message-types/daemon-message.d.ts +32 -0
- package/dist/src/daemon/message-types/daemon-message.js +25 -0
- package/dist/src/daemon/server/latest-nx.js +5 -2
- package/dist/src/daemon/server/server.js +22 -0
- package/dist/src/daemon/server/shutdown-utils.d.ts +5 -0
- package/dist/src/daemon/server/shutdown-utils.js +11 -4
- package/dist/src/daemon/socket-utils.d.ts +1 -0
- package/dist/src/daemon/socket-utils.js +24 -3
- package/dist/src/daemon/tmp-dir.d.ts +43 -3
- package/dist/src/daemon/tmp-dir.js +437 -15
- package/dist/src/devkit-internals.d.ts +92 -3
- package/dist/src/devkit-internals.js +189 -5
- package/dist/src/generators/internal-utils/format-changed-files-with-prettier-if-available.d.ts +5 -0
- package/dist/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js +9 -2
- package/dist/src/generators/tree.d.ts +4 -2
- package/dist/src/native/index.d.ts +10 -0
- package/dist/src/native/index.js +71 -28
- package/dist/src/native/native-bindings.js +1 -0
- package/dist/src/native/native-file-cache-location.d.ts +17 -1
- package/dist/src/native/native-file-cache-location.js +86 -12
- package/dist/src/native/nx.wasm32-wasi.debug.wasm +0 -0
- package/dist/src/native/nx.wasm32-wasi.wasm +0 -0
- package/dist/src/nx-cloud/utilities/get-cloud-options.js +5 -2
- package/dist/src/nx-cloud/utilities/onboarding.js +5 -2
- package/dist/src/nx-cloud/utilities/url-shorten.d.ts +1 -4
- package/dist/src/nx-cloud/utilities/url-shorten.js +9 -8
- package/dist/src/plugins/js/lock-file/project-graph-pruning.js +14 -8
- package/dist/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +2 -0
- package/dist/src/project-graph/affected/affected-project-graph-models.d.ts +1 -1
- package/dist/src/project-graph/affected/affected-project-graph.d.ts +1 -1
- package/dist/src/project-graph/affected/affected-project-graph.js +2 -2
- package/dist/src/project-graph/affected/locators/project-glob-changes.js +5 -2
- package/dist/src/project-graph/plugins/isolation/isolated-plugin.d.ts +1 -0
- package/dist/src/project-graph/plugins/isolation/isolated-plugin.js +18 -1
- package/dist/src/project-graph/plugins/isolation/messaging.d.ts +16 -3
- package/dist/src/project-graph/plugins/isolation/messaging.js +3 -0
- package/dist/src/project-graph/plugins/isolation/plugin-worker.js +58 -8
- package/dist/src/project-graph/project-graph.js +20 -0
- package/dist/src/tasks-runner/life-cycles/performance-report.d.ts +12 -0
- package/dist/src/tasks-runner/life-cycles/performance-report.js +62 -3
- package/dist/src/tasks-runner/run-command.js +4 -0
- package/dist/src/utils/assert-workspace-validity.js +7 -2
- package/dist/src/utils/child-process.d.ts +31 -1
- package/dist/src/utils/child-process.js +103 -0
- package/dist/src/utils/ignore.d.ts +128 -1
- package/dist/src/utils/ignore.js +182 -12
- package/dist/src/utils/nx-tmp-dir.d.ts +18 -0
- package/dist/src/utils/nx-tmp-dir.js +40 -0
- package/dist/src/utils/owned-private-dir.d.ts +132 -0
- package/dist/src/utils/owned-private-dir.js +323 -0
- package/dist/src/utils/shell-quoting.d.ts +15 -0
- package/dist/src/utils/shell-quoting.js +35 -0
- package/dist/src/utils/wait-for-socket-connection.d.ts +11 -0
- package/dist/src/utils/wait-for-socket-connection.js +14 -8
- package/package.json +12 -12
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Note to developers: STOP! These
|
|
2
|
+
* Note to developers: STOP! These are nx internals, not part of the public
|
|
3
|
+
* @nx/devkit API.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
+
* This barrel is NOT under @nx/devkit's version-tolerance contract. That contract
|
|
6
|
+
* (nx at the current major +/- 1, per devkit's peerDependencies) covers the public
|
|
7
|
+
* @nx/devkit API only. Two classes of consumer read this file, and the rules
|
|
8
|
+
* differ:
|
|
9
|
+
*
|
|
10
|
+
* 1. packages/devkit/src/ — devkit's own implementation. It ships to external
|
|
11
|
+
* plugins, so it *does* run under the +/- 1 tolerance (@nx/devkit@23 may be
|
|
12
|
+
* installed against nx@22) and must still guard: check at runtime, or only
|
|
13
|
+
* use symbols that have existed since the oldest supported nx major.
|
|
14
|
+
* 2. First-party plugins in this repo, via @nx/devkit/internal. They release in
|
|
15
|
+
* lockstep with nx, so they require an exactly matching nx version and need
|
|
16
|
+
* no guarding.
|
|
17
|
+
*
|
|
18
|
+
* See packages/devkit/CLAUDE.md.
|
|
5
19
|
*/
|
|
6
20
|
export { createTempNpmDirectory } from './utils/package-manager';
|
|
7
21
|
export { getExecutorInformation, parseExecutor, } from './command-line/run/executor-utils';
|
|
@@ -13,7 +27,7 @@ export { readProjectConfigurationsFromRootMap } from './project-graph/utils/proj
|
|
|
13
27
|
export { findMatchingConfigFiles } from './project-graph/utils/project-configuration-utils';
|
|
14
28
|
export { findMatchingProjects } from './utils/find-matching-projects';
|
|
15
29
|
export { readTargetDefaultsForTarget } from './project-graph/utils/project-configuration/target-defaults';
|
|
16
|
-
export {
|
|
30
|
+
export { createGitIgnoreChecker, createPrettierIgnoreChecker, type TreeIgnoreChecker, } from './utils/ignore';
|
|
17
31
|
export { splitTarget } from './utils/split-target';
|
|
18
32
|
export { combineOptionsForExecutor } from './utils/params';
|
|
19
33
|
export { sortObjectByKeys } from './utils/object-sort';
|
|
@@ -41,3 +55,78 @@ export { resolvePrompt, PromptResolutionError, } from './command-line/migrate/pr
|
|
|
41
55
|
export { checkFilesAreInputs, checkFilesAreOutputs, } from './hasher/check-task-files';
|
|
42
56
|
export { getCatalogManager, getCatalogDependenciesFromPackageJson, } from './utils/catalog';
|
|
43
57
|
export { acknowledgeBuildScripts } from './utils/acknowledge-build-scripts';
|
|
58
|
+
export { default as runCommandsExecutor } from './executors/run-commands/run-commands.impl';
|
|
59
|
+
export type { TaskResult } from './config/misc-interfaces';
|
|
60
|
+
export { toNewFormat, toOldFormat } from './adapter/angular-json';
|
|
61
|
+
export { setupAiAgentsGenerator } from './ai/set-up-ai-agents/set-up-ai-agents';
|
|
62
|
+
export type { Agent } from './ai/utils';
|
|
63
|
+
export type { GeneratorInformation } from './command-line/generate/generator-utils';
|
|
64
|
+
export { getGeneratorInformation } from './command-line/generate/generator-utils';
|
|
65
|
+
export type { FinalConfigForProject } from './command-line/release/utils/release-graph';
|
|
66
|
+
export { BatchFunctionRunner } from './command-line/watch/watch';
|
|
67
|
+
export type { BatchExecutorTaskResult } from './config/misc-interfaces';
|
|
68
|
+
export type { NxReleaseVersionConfiguration } from './config/nx-json';
|
|
69
|
+
export type { FileDataDependency } from './config/project-graph';
|
|
70
|
+
export { fileDataDepTarget, fileDataDepType, isProjectGraphExternalNode, isProjectGraphProjectNode, } from './config/project-graph';
|
|
71
|
+
export type { InputDefinition } from './config/workspace-json-project-json';
|
|
72
|
+
export type { ChangedFile, UnregisterCallback } from './daemon/client/client';
|
|
73
|
+
export { daemonClient } from './daemon/client/client';
|
|
74
|
+
export type { RunCommandsOptions } from './executors/run-commands/run-commands.impl';
|
|
75
|
+
export { LARGE_BUFFER } from './executors/run-commands/run-commands.impl';
|
|
76
|
+
export { FsTree } from './generators/tree';
|
|
77
|
+
export { getRelativeProjectJsonSchemaPath } from './generators/utils/project-configuration';
|
|
78
|
+
export { hashFile } from './hasher/file-hasher';
|
|
79
|
+
export { filterUsingGlobPatterns, getTargetInputs } from './hasher/task-hasher';
|
|
80
|
+
export type { JsonInput } from './native';
|
|
81
|
+
export { killProcessTreeGraceful } from './native';
|
|
82
|
+
export { connectToNxCloud } from './nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud';
|
|
83
|
+
export type { NxCloudOnBoardingStatus } from './nx-cloud/models/onboarding-status';
|
|
84
|
+
export { createNxCloudOnboardingURLForWelcomeApp, getNxCloudAppOnBoardingUrl, } from './nx-cloud/utilities/onboarding';
|
|
85
|
+
export { createNxCloudOnboardingURL } from './nx-cloud/utilities/url-shorten';
|
|
86
|
+
export { createLockFile, getLockFileName, } from './plugins/js/lock-file/lock-file';
|
|
87
|
+
export { createPackageJson, findProjectsNpmDependencies, } from './plugins/js/package-json/create-package-json';
|
|
88
|
+
export { TargetProjectLocator, isBuiltinModuleImport, } from './plugins/js/project-graph/build-dependencies/target-project-locator';
|
|
89
|
+
export { getWorkspacePackagesFromGraph } from './plugins/js/utils/get-workspace-packages-from-graph';
|
|
90
|
+
export { registerTsConfigPaths } from './plugins/js/utils/register';
|
|
91
|
+
export { getGlobPatternsFromPackageManagerWorkspaces } from './plugins/package-json';
|
|
92
|
+
export type { Change, FileChange } from './project-graph/file-utils';
|
|
93
|
+
export { DeletedFileChange, LockFileChange, TEN_MEGABYTES, WholeFileChange, calculateFileChanges, defaultFileRead, isDeletedFileChange, isLockFileChange, isWholeFileChange, readPackageJson, } from './project-graph/file-utils';
|
|
94
|
+
export type { FileMapCache } from './project-graph/nx-deps-cache';
|
|
95
|
+
export { readFileMapCache } from './project-graph/nx-deps-cache';
|
|
96
|
+
export { isNpmProject } from './project-graph/operators';
|
|
97
|
+
export { buildProjectGraphAndSourceMapsWithoutDaemon, createProjectGraphAndSourceMapsAsync, handleProjectGraphError, preventRecursionInGraphConstruction, readCachedProjectConfiguration, } from './project-graph/project-graph';
|
|
98
|
+
export type { ProjectRootMappings } from './project-graph/utils/find-project-for-path';
|
|
99
|
+
export type { BatchResults } from './tasks-runner/batch/batch-messages';
|
|
100
|
+
export type { CachedResult, TaskWithCachedResult } from './tasks-runner/cache';
|
|
101
|
+
export { Cache } from './tasks-runner/cache';
|
|
102
|
+
export { RemoteCacheV2 } from './tasks-runner/default-tasks-runner';
|
|
103
|
+
export type { LifeCycle, TaskMetadata } from './tasks-runner/life-cycle';
|
|
104
|
+
export { CompositeLifeCycle } from './tasks-runner/life-cycle';
|
|
105
|
+
export { createRunManyDynamicOutputRenderer } from './tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle';
|
|
106
|
+
export type { TaskStatus, TasksRunner } from './tasks-runner/tasks-runner';
|
|
107
|
+
export type { DependsOnEntryLocation, NormalizedTargetDependencyConfig, } from './tasks-runner/utils';
|
|
108
|
+
export { calculateReverseDeps, createTaskId, expandDependencyConfigSyntaxSugar, expandInitiatingTasksThroughNoop, expandWildcardTargetConfiguration, getCliPath, getCustomHasher, getDependencyConfigs, getExecutorForTask, getExecutorNameForTask, getOutputs, getPrintableCommandArgsForTask, getSerializedArgsForTask, getTargetConfigurationForTask, getUnparsedOverrideArgs, isCacheableTask, normalizeDependencyConfigDefinition, normalizeDependencyConfigProjects, normalizeTargetDependencyWithStringProjects, readProjectAndTargetFromTargetString, removeTasksFromTaskGraph, shouldStreamOutput, transformLegacyOutputs, unparse, validateOutputs, } from './tasks-runner/utils';
|
|
109
|
+
export { getLastValueFromAsyncIterableIterator } from './utils/async-iterator';
|
|
110
|
+
export { workspaceDataDirectory } from './utils/cache-directory';
|
|
111
|
+
export { runNxSync } from './utils/child-process';
|
|
112
|
+
export { codeFrameColumns } from './utils/code-frames';
|
|
113
|
+
export { deduceDefaultBase } from './utils/default-base';
|
|
114
|
+
export { createDirectory, directoryExists, fileExists, isRelativePath, readFileIfExisting, } from './utils/fileutils';
|
|
115
|
+
export { getLatestCommitSha } from './utils/git-utils';
|
|
116
|
+
export { combineGlobPatterns } from './utils/globs';
|
|
117
|
+
export { getNxRequirePaths } from './utils/installation-directory';
|
|
118
|
+
export { NX_PREFIX } from './utils/logger';
|
|
119
|
+
export type { CLIErrorMessageConfig, CLINoteMessageConfig, CLISuccessMessageConfig, CLIWarnMessageConfig, } from './utils/output';
|
|
120
|
+
export { orange } from './utils/output';
|
|
121
|
+
export { getNxCloudUrl, isNxCloudUsed } from './utils/nx-cloud-utils';
|
|
122
|
+
export type { PackageJson, PackageJsonDependencySection, } from './utils/package-json';
|
|
123
|
+
export { readNxMigrateConfig } from './utils/package-json';
|
|
124
|
+
export type { PackageManagerCommands } from './utils/package-manager';
|
|
125
|
+
export { deriveGroupNameFromTarget } from './utils/plugins/atomizer-utils';
|
|
126
|
+
export { findInstalledPlugins } from './utils/plugins/installed-plugins';
|
|
127
|
+
export { findAllProjectNodeDependencies, getSourceDirOfDependentProjects, } from './utils/project-graph-utils';
|
|
128
|
+
export type { SyncGeneratorResult } from './utils/sync-generators';
|
|
129
|
+
export { SyncError } from './utils/sync-generators';
|
|
130
|
+
export { nxVersion } from './utils/versions';
|
|
131
|
+
export { getFilesInDirectoryUsingContext, globWithWorkspaceContext, resetWorkspaceContext, setupWorkspaceContext, } from './utils/workspace-context';
|
|
132
|
+
export { setWorkspaceRoot, workspaceRootInner } from './utils/workspace-root';
|
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.acknowledgeBuildScripts = exports.getCatalogDependenciesFromPackageJson = exports.getCatalogManager = void 0;
|
|
3
|
+
exports.checkFilesAreInputs = exports.PromptResolutionError = exports.resolvePrompt = exports.SchemaResolutionError = exports.ImplementationResolutionError = exports.resolveSchema = exports.resolveImplementation = exports.emitPluginWorkerLog = exports.safeWriteFileCache = exports.PluginCache = exports.handleImport = exports.signalToCode = exports.globalSpinner = exports.readYamlFile = exports.isUsingPrettierInTree = exports.isCI = exports.interpolate = exports.requireWithTsconfigFallback = exports.forceRegisterEsmLoader = exports.loadTsFile = exports.registerTsProject = exports.LoadedNxPlugin = exports.retrieveProjectConfigurations = exports.findProjectForPath = exports.createProjectRootMappings = exports.createProjectRootMappingsFromProjectConfigurations = exports.hashMultiGlobWithWorkspaceContext = exports.hashWithWorkspaceContext = exports.hashObject = exports.splitByColons = exports.installPackageToTmpAsync = exports.installPackageToTmp = exports.readModulePackageJson = exports.stripIndent = exports.sortObjectByKeys = exports.combineOptionsForExecutor = exports.splitTarget = exports.createPrettierIgnoreChecker = exports.createGitIgnoreChecker = exports.readTargetDefaultsForTarget = exports.findMatchingProjects = exports.findMatchingConfigFiles = exports.readProjectConfigurationsFromRootMap = exports.mergeTargetConfigurations = exports.retrieveProjectConfigurationsWithAngularProjects = exports.calculateDefaultProjectName = exports.readNxJsonFromDisk = exports.parseExecutor = exports.getExecutorInformation = exports.createTempNpmDirectory = void 0;
|
|
4
|
+
exports.handleProjectGraphError = exports.createProjectGraphAndSourceMapsAsync = exports.buildProjectGraphAndSourceMapsWithoutDaemon = exports.isNpmProject = exports.readFileMapCache = exports.readPackageJson = exports.isWholeFileChange = exports.isLockFileChange = exports.isDeletedFileChange = exports.defaultFileRead = exports.calculateFileChanges = exports.WholeFileChange = exports.TEN_MEGABYTES = exports.LockFileChange = exports.DeletedFileChange = exports.getGlobPatternsFromPackageManagerWorkspaces = exports.registerTsConfigPaths = exports.getWorkspacePackagesFromGraph = exports.isBuiltinModuleImport = exports.TargetProjectLocator = exports.findProjectsNpmDependencies = exports.createPackageJson = exports.getLockFileName = exports.createLockFile = exports.createNxCloudOnboardingURL = exports.getNxCloudAppOnBoardingUrl = exports.createNxCloudOnboardingURLForWelcomeApp = exports.connectToNxCloud = exports.killProcessTreeGraceful = exports.getTargetInputs = exports.filterUsingGlobPatterns = exports.hashFile = exports.getRelativeProjectJsonSchemaPath = exports.FsTree = exports.LARGE_BUFFER = exports.daemonClient = exports.isProjectGraphProjectNode = exports.isProjectGraphExternalNode = exports.fileDataDepType = exports.fileDataDepTarget = exports.BatchFunctionRunner = exports.getGeneratorInformation = exports.setupAiAgentsGenerator = exports.toOldFormat = exports.toNewFormat = exports.runCommandsExecutor = exports.acknowledgeBuildScripts = exports.getCatalogDependenciesFromPackageJson = exports.getCatalogManager = exports.checkFilesAreOutputs = void 0;
|
|
5
|
+
exports.deriveGroupNameFromTarget = exports.readNxMigrateConfig = exports.isNxCloudUsed = exports.getNxCloudUrl = exports.orange = exports.NX_PREFIX = exports.getNxRequirePaths = exports.combineGlobPatterns = exports.getLatestCommitSha = exports.readFileIfExisting = exports.isRelativePath = exports.fileExists = exports.directoryExists = exports.createDirectory = exports.deduceDefaultBase = exports.codeFrameColumns = exports.runNxSync = exports.workspaceDataDirectory = exports.getLastValueFromAsyncIterableIterator = exports.validateOutputs = exports.unparse = exports.transformLegacyOutputs = exports.shouldStreamOutput = exports.removeTasksFromTaskGraph = exports.readProjectAndTargetFromTargetString = exports.normalizeTargetDependencyWithStringProjects = exports.normalizeDependencyConfigProjects = exports.normalizeDependencyConfigDefinition = exports.isCacheableTask = exports.getUnparsedOverrideArgs = exports.getTargetConfigurationForTask = exports.getSerializedArgsForTask = exports.getPrintableCommandArgsForTask = exports.getOutputs = exports.getExecutorNameForTask = exports.getExecutorForTask = exports.getDependencyConfigs = exports.getCustomHasher = exports.getCliPath = exports.expandWildcardTargetConfiguration = exports.expandInitiatingTasksThroughNoop = exports.expandDependencyConfigSyntaxSugar = exports.createTaskId = exports.calculateReverseDeps = exports.createRunManyDynamicOutputRenderer = exports.CompositeLifeCycle = exports.RemoteCacheV2 = exports.Cache = exports.readCachedProjectConfiguration = exports.preventRecursionInGraphConstruction = void 0;
|
|
6
|
+
exports.workspaceRootInner = exports.setWorkspaceRoot = exports.setupWorkspaceContext = exports.resetWorkspaceContext = exports.globWithWorkspaceContext = exports.getFilesInDirectoryUsingContext = exports.nxVersion = exports.SyncError = exports.getSourceDirOfDependentProjects = exports.findAllProjectNodeDependencies = exports.findInstalledPlugins = void 0;
|
|
5
7
|
const tslib_1 = require("tslib");
|
|
6
8
|
/**
|
|
7
|
-
* Note to developers: STOP! These
|
|
9
|
+
* Note to developers: STOP! These are nx internals, not part of the public
|
|
10
|
+
* @nx/devkit API.
|
|
8
11
|
*
|
|
9
|
-
*
|
|
12
|
+
* This barrel is NOT under @nx/devkit's version-tolerance contract. That contract
|
|
13
|
+
* (nx at the current major +/- 1, per devkit's peerDependencies) covers the public
|
|
14
|
+
* @nx/devkit API only. Two classes of consumer read this file, and the rules
|
|
15
|
+
* differ:
|
|
16
|
+
*
|
|
17
|
+
* 1. packages/devkit/src/ — devkit's own implementation. It ships to external
|
|
18
|
+
* plugins, so it *does* run under the +/- 1 tolerance (@nx/devkit@23 may be
|
|
19
|
+
* installed against nx@22) and must still guard: check at runtime, or only
|
|
20
|
+
* use symbols that have existed since the oldest supported nx major.
|
|
21
|
+
* 2. First-party plugins in this repo, via @nx/devkit/internal. They release in
|
|
22
|
+
* lockstep with nx, so they require an exactly matching nx version and need
|
|
23
|
+
* no guarding.
|
|
24
|
+
*
|
|
25
|
+
* See packages/devkit/CLAUDE.md.
|
|
10
26
|
*/
|
|
11
27
|
var package_manager_1 = require("./utils/package-manager");
|
|
12
28
|
Object.defineProperty(exports, "createTempNpmDirectory", { enumerable: true, get: function () { return package_manager_1.createTempNpmDirectory; } });
|
|
@@ -29,8 +45,14 @@ var find_matching_projects_1 = require("./utils/find-matching-projects");
|
|
|
29
45
|
Object.defineProperty(exports, "findMatchingProjects", { enumerable: true, get: function () { return find_matching_projects_1.findMatchingProjects; } });
|
|
30
46
|
var target_defaults_1 = require("./project-graph/utils/project-configuration/target-defaults");
|
|
31
47
|
Object.defineProperty(exports, "readTargetDefaultsForTarget", { enumerable: true, get: function () { return target_defaults_1.readTargetDefaultsForTarget; } });
|
|
48
|
+
// Only the tree-bound checkers and their type cross the boundary. The
|
|
49
|
+
// primitives they are built from carry preconditions a caller can violate - a
|
|
50
|
+
// chain must be resolved from the file's own directory, and the array it
|
|
51
|
+
// returns is the memo cache itself - and nothing outside this package needs
|
|
52
|
+
// them.
|
|
32
53
|
var ignore_1 = require("./utils/ignore");
|
|
33
|
-
Object.defineProperty(exports, "
|
|
54
|
+
Object.defineProperty(exports, "createGitIgnoreChecker", { enumerable: true, get: function () { return ignore_1.createGitIgnoreChecker; } });
|
|
55
|
+
Object.defineProperty(exports, "createPrettierIgnoreChecker", { enumerable: true, get: function () { return ignore_1.createPrettierIgnoreChecker; } });
|
|
34
56
|
var split_target_1 = require("./utils/split-target");
|
|
35
57
|
Object.defineProperty(exports, "splitTarget", { enumerable: true, get: function () { return split_target_1.splitTarget; } });
|
|
36
58
|
var params_1 = require("./utils/params");
|
|
@@ -99,3 +121,165 @@ Object.defineProperty(exports, "getCatalogManager", { enumerable: true, get: fun
|
|
|
99
121
|
Object.defineProperty(exports, "getCatalogDependenciesFromPackageJson", { enumerable: true, get: function () { return catalog_1.getCatalogDependenciesFromPackageJson; } });
|
|
100
122
|
var acknowledge_build_scripts_1 = require("./utils/acknowledge-build-scripts");
|
|
101
123
|
Object.defineProperty(exports, "acknowledgeBuildScripts", { enumerable: true, get: function () { return acknowledge_build_scripts_1.acknowledgeBuildScripts; } });
|
|
124
|
+
// Exposed for first-party plugins in this repo (imported via @nx/devkit/internal).
|
|
125
|
+
var run_commands_impl_1 = require("./executors/run-commands/run-commands.impl");
|
|
126
|
+
Object.defineProperty(exports, "runCommandsExecutor", { enumerable: true, get: function () { return tslib_1.__importDefault(run_commands_impl_1).default; } });
|
|
127
|
+
var angular_json_1 = require("./adapter/angular-json");
|
|
128
|
+
Object.defineProperty(exports, "toNewFormat", { enumerable: true, get: function () { return angular_json_1.toNewFormat; } });
|
|
129
|
+
Object.defineProperty(exports, "toOldFormat", { enumerable: true, get: function () { return angular_json_1.toOldFormat; } });
|
|
130
|
+
var set_up_ai_agents_1 = require("./ai/set-up-ai-agents/set-up-ai-agents");
|
|
131
|
+
Object.defineProperty(exports, "setupAiAgentsGenerator", { enumerable: true, get: function () { return set_up_ai_agents_1.setupAiAgentsGenerator; } });
|
|
132
|
+
var generator_utils_1 = require("./command-line/generate/generator-utils");
|
|
133
|
+
Object.defineProperty(exports, "getGeneratorInformation", { enumerable: true, get: function () { return generator_utils_1.getGeneratorInformation; } });
|
|
134
|
+
var watch_1 = require("./command-line/watch/watch");
|
|
135
|
+
Object.defineProperty(exports, "BatchFunctionRunner", { enumerable: true, get: function () { return watch_1.BatchFunctionRunner; } });
|
|
136
|
+
var project_graph_1 = require("./config/project-graph");
|
|
137
|
+
Object.defineProperty(exports, "fileDataDepTarget", { enumerable: true, get: function () { return project_graph_1.fileDataDepTarget; } });
|
|
138
|
+
Object.defineProperty(exports, "fileDataDepType", { enumerable: true, get: function () { return project_graph_1.fileDataDepType; } });
|
|
139
|
+
Object.defineProperty(exports, "isProjectGraphExternalNode", { enumerable: true, get: function () { return project_graph_1.isProjectGraphExternalNode; } });
|
|
140
|
+
Object.defineProperty(exports, "isProjectGraphProjectNode", { enumerable: true, get: function () { return project_graph_1.isProjectGraphProjectNode; } });
|
|
141
|
+
var client_1 = require("./daemon/client/client");
|
|
142
|
+
Object.defineProperty(exports, "daemonClient", { enumerable: true, get: function () { return client_1.daemonClient; } });
|
|
143
|
+
var run_commands_impl_2 = require("./executors/run-commands/run-commands.impl");
|
|
144
|
+
Object.defineProperty(exports, "LARGE_BUFFER", { enumerable: true, get: function () { return run_commands_impl_2.LARGE_BUFFER; } });
|
|
145
|
+
var tree_1 = require("./generators/tree");
|
|
146
|
+
Object.defineProperty(exports, "FsTree", { enumerable: true, get: function () { return tree_1.FsTree; } });
|
|
147
|
+
var project_configuration_1 = require("./generators/utils/project-configuration");
|
|
148
|
+
Object.defineProperty(exports, "getRelativeProjectJsonSchemaPath", { enumerable: true, get: function () { return project_configuration_1.getRelativeProjectJsonSchemaPath; } });
|
|
149
|
+
var file_hasher_2 = require("./hasher/file-hasher");
|
|
150
|
+
Object.defineProperty(exports, "hashFile", { enumerable: true, get: function () { return file_hasher_2.hashFile; } });
|
|
151
|
+
var task_hasher_1 = require("./hasher/task-hasher");
|
|
152
|
+
Object.defineProperty(exports, "filterUsingGlobPatterns", { enumerable: true, get: function () { return task_hasher_1.filterUsingGlobPatterns; } });
|
|
153
|
+
Object.defineProperty(exports, "getTargetInputs", { enumerable: true, get: function () { return task_hasher_1.getTargetInputs; } });
|
|
154
|
+
var native_1 = require("./native");
|
|
155
|
+
Object.defineProperty(exports, "killProcessTreeGraceful", { enumerable: true, get: function () { return native_1.killProcessTreeGraceful; } });
|
|
156
|
+
var connect_to_nx_cloud_1 = require("./nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud");
|
|
157
|
+
Object.defineProperty(exports, "connectToNxCloud", { enumerable: true, get: function () { return connect_to_nx_cloud_1.connectToNxCloud; } });
|
|
158
|
+
var onboarding_1 = require("./nx-cloud/utilities/onboarding");
|
|
159
|
+
Object.defineProperty(exports, "createNxCloudOnboardingURLForWelcomeApp", { enumerable: true, get: function () { return onboarding_1.createNxCloudOnboardingURLForWelcomeApp; } });
|
|
160
|
+
Object.defineProperty(exports, "getNxCloudAppOnBoardingUrl", { enumerable: true, get: function () { return onboarding_1.getNxCloudAppOnBoardingUrl; } });
|
|
161
|
+
var url_shorten_1 = require("./nx-cloud/utilities/url-shorten");
|
|
162
|
+
Object.defineProperty(exports, "createNxCloudOnboardingURL", { enumerable: true, get: function () { return url_shorten_1.createNxCloudOnboardingURL; } });
|
|
163
|
+
var lock_file_1 = require("./plugins/js/lock-file/lock-file");
|
|
164
|
+
Object.defineProperty(exports, "createLockFile", { enumerable: true, get: function () { return lock_file_1.createLockFile; } });
|
|
165
|
+
Object.defineProperty(exports, "getLockFileName", { enumerable: true, get: function () { return lock_file_1.getLockFileName; } });
|
|
166
|
+
var create_package_json_1 = require("./plugins/js/package-json/create-package-json");
|
|
167
|
+
Object.defineProperty(exports, "createPackageJson", { enumerable: true, get: function () { return create_package_json_1.createPackageJson; } });
|
|
168
|
+
Object.defineProperty(exports, "findProjectsNpmDependencies", { enumerable: true, get: function () { return create_package_json_1.findProjectsNpmDependencies; } });
|
|
169
|
+
var target_project_locator_1 = require("./plugins/js/project-graph/build-dependencies/target-project-locator");
|
|
170
|
+
Object.defineProperty(exports, "TargetProjectLocator", { enumerable: true, get: function () { return target_project_locator_1.TargetProjectLocator; } });
|
|
171
|
+
Object.defineProperty(exports, "isBuiltinModuleImport", { enumerable: true, get: function () { return target_project_locator_1.isBuiltinModuleImport; } });
|
|
172
|
+
var get_workspace_packages_from_graph_1 = require("./plugins/js/utils/get-workspace-packages-from-graph");
|
|
173
|
+
Object.defineProperty(exports, "getWorkspacePackagesFromGraph", { enumerable: true, get: function () { return get_workspace_packages_from_graph_1.getWorkspacePackagesFromGraph; } });
|
|
174
|
+
var register_2 = require("./plugins/js/utils/register");
|
|
175
|
+
Object.defineProperty(exports, "registerTsConfigPaths", { enumerable: true, get: function () { return register_2.registerTsConfigPaths; } });
|
|
176
|
+
var package_json_2 = require("./plugins/package-json");
|
|
177
|
+
Object.defineProperty(exports, "getGlobPatternsFromPackageManagerWorkspaces", { enumerable: true, get: function () { return package_json_2.getGlobPatternsFromPackageManagerWorkspaces; } });
|
|
178
|
+
var file_utils_1 = require("./project-graph/file-utils");
|
|
179
|
+
Object.defineProperty(exports, "DeletedFileChange", { enumerable: true, get: function () { return file_utils_1.DeletedFileChange; } });
|
|
180
|
+
Object.defineProperty(exports, "LockFileChange", { enumerable: true, get: function () { return file_utils_1.LockFileChange; } });
|
|
181
|
+
Object.defineProperty(exports, "TEN_MEGABYTES", { enumerable: true, get: function () { return file_utils_1.TEN_MEGABYTES; } });
|
|
182
|
+
Object.defineProperty(exports, "WholeFileChange", { enumerable: true, get: function () { return file_utils_1.WholeFileChange; } });
|
|
183
|
+
Object.defineProperty(exports, "calculateFileChanges", { enumerable: true, get: function () { return file_utils_1.calculateFileChanges; } });
|
|
184
|
+
Object.defineProperty(exports, "defaultFileRead", { enumerable: true, get: function () { return file_utils_1.defaultFileRead; } });
|
|
185
|
+
Object.defineProperty(exports, "isDeletedFileChange", { enumerable: true, get: function () { return file_utils_1.isDeletedFileChange; } });
|
|
186
|
+
Object.defineProperty(exports, "isLockFileChange", { enumerable: true, get: function () { return file_utils_1.isLockFileChange; } });
|
|
187
|
+
Object.defineProperty(exports, "isWholeFileChange", { enumerable: true, get: function () { return file_utils_1.isWholeFileChange; } });
|
|
188
|
+
Object.defineProperty(exports, "readPackageJson", { enumerable: true, get: function () { return file_utils_1.readPackageJson; } });
|
|
189
|
+
var nx_deps_cache_1 = require("./project-graph/nx-deps-cache");
|
|
190
|
+
Object.defineProperty(exports, "readFileMapCache", { enumerable: true, get: function () { return nx_deps_cache_1.readFileMapCache; } });
|
|
191
|
+
var operators_1 = require("./project-graph/operators");
|
|
192
|
+
Object.defineProperty(exports, "isNpmProject", { enumerable: true, get: function () { return operators_1.isNpmProject; } });
|
|
193
|
+
var project_graph_2 = require("./project-graph/project-graph");
|
|
194
|
+
Object.defineProperty(exports, "buildProjectGraphAndSourceMapsWithoutDaemon", { enumerable: true, get: function () { return project_graph_2.buildProjectGraphAndSourceMapsWithoutDaemon; } });
|
|
195
|
+
Object.defineProperty(exports, "createProjectGraphAndSourceMapsAsync", { enumerable: true, get: function () { return project_graph_2.createProjectGraphAndSourceMapsAsync; } });
|
|
196
|
+
Object.defineProperty(exports, "handleProjectGraphError", { enumerable: true, get: function () { return project_graph_2.handleProjectGraphError; } });
|
|
197
|
+
Object.defineProperty(exports, "preventRecursionInGraphConstruction", { enumerable: true, get: function () { return project_graph_2.preventRecursionInGraphConstruction; } });
|
|
198
|
+
Object.defineProperty(exports, "readCachedProjectConfiguration", { enumerable: true, get: function () { return project_graph_2.readCachedProjectConfiguration; } });
|
|
199
|
+
var cache_1 = require("./tasks-runner/cache");
|
|
200
|
+
Object.defineProperty(exports, "Cache", { enumerable: true, get: function () { return cache_1.Cache; } });
|
|
201
|
+
var default_tasks_runner_1 = require("./tasks-runner/default-tasks-runner");
|
|
202
|
+
Object.defineProperty(exports, "RemoteCacheV2", { enumerable: true, get: function () { return default_tasks_runner_1.RemoteCacheV2; } });
|
|
203
|
+
var life_cycle_1 = require("./tasks-runner/life-cycle");
|
|
204
|
+
Object.defineProperty(exports, "CompositeLifeCycle", { enumerable: true, get: function () { return life_cycle_1.CompositeLifeCycle; } });
|
|
205
|
+
var dynamic_run_many_terminal_output_life_cycle_1 = require("./tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle");
|
|
206
|
+
Object.defineProperty(exports, "createRunManyDynamicOutputRenderer", { enumerable: true, get: function () { return dynamic_run_many_terminal_output_life_cycle_1.createRunManyDynamicOutputRenderer; } });
|
|
207
|
+
var utils_2 = require("./tasks-runner/utils");
|
|
208
|
+
Object.defineProperty(exports, "calculateReverseDeps", { enumerable: true, get: function () { return utils_2.calculateReverseDeps; } });
|
|
209
|
+
Object.defineProperty(exports, "createTaskId", { enumerable: true, get: function () { return utils_2.createTaskId; } });
|
|
210
|
+
Object.defineProperty(exports, "expandDependencyConfigSyntaxSugar", { enumerable: true, get: function () { return utils_2.expandDependencyConfigSyntaxSugar; } });
|
|
211
|
+
Object.defineProperty(exports, "expandInitiatingTasksThroughNoop", { enumerable: true, get: function () { return utils_2.expandInitiatingTasksThroughNoop; } });
|
|
212
|
+
Object.defineProperty(exports, "expandWildcardTargetConfiguration", { enumerable: true, get: function () { return utils_2.expandWildcardTargetConfiguration; } });
|
|
213
|
+
Object.defineProperty(exports, "getCliPath", { enumerable: true, get: function () { return utils_2.getCliPath; } });
|
|
214
|
+
Object.defineProperty(exports, "getCustomHasher", { enumerable: true, get: function () { return utils_2.getCustomHasher; } });
|
|
215
|
+
Object.defineProperty(exports, "getDependencyConfigs", { enumerable: true, get: function () { return utils_2.getDependencyConfigs; } });
|
|
216
|
+
Object.defineProperty(exports, "getExecutorForTask", { enumerable: true, get: function () { return utils_2.getExecutorForTask; } });
|
|
217
|
+
Object.defineProperty(exports, "getExecutorNameForTask", { enumerable: true, get: function () { return utils_2.getExecutorNameForTask; } });
|
|
218
|
+
Object.defineProperty(exports, "getOutputs", { enumerable: true, get: function () { return utils_2.getOutputs; } });
|
|
219
|
+
Object.defineProperty(exports, "getPrintableCommandArgsForTask", { enumerable: true, get: function () { return utils_2.getPrintableCommandArgsForTask; } });
|
|
220
|
+
Object.defineProperty(exports, "getSerializedArgsForTask", { enumerable: true, get: function () { return utils_2.getSerializedArgsForTask; } });
|
|
221
|
+
Object.defineProperty(exports, "getTargetConfigurationForTask", { enumerable: true, get: function () { return utils_2.getTargetConfigurationForTask; } });
|
|
222
|
+
Object.defineProperty(exports, "getUnparsedOverrideArgs", { enumerable: true, get: function () { return utils_2.getUnparsedOverrideArgs; } });
|
|
223
|
+
Object.defineProperty(exports, "isCacheableTask", { enumerable: true, get: function () { return utils_2.isCacheableTask; } });
|
|
224
|
+
Object.defineProperty(exports, "normalizeDependencyConfigDefinition", { enumerable: true, get: function () { return utils_2.normalizeDependencyConfigDefinition; } });
|
|
225
|
+
Object.defineProperty(exports, "normalizeDependencyConfigProjects", { enumerable: true, get: function () { return utils_2.normalizeDependencyConfigProjects; } });
|
|
226
|
+
Object.defineProperty(exports, "normalizeTargetDependencyWithStringProjects", { enumerable: true, get: function () { return utils_2.normalizeTargetDependencyWithStringProjects; } });
|
|
227
|
+
Object.defineProperty(exports, "readProjectAndTargetFromTargetString", { enumerable: true, get: function () { return utils_2.readProjectAndTargetFromTargetString; } });
|
|
228
|
+
Object.defineProperty(exports, "removeTasksFromTaskGraph", { enumerable: true, get: function () { return utils_2.removeTasksFromTaskGraph; } });
|
|
229
|
+
Object.defineProperty(exports, "shouldStreamOutput", { enumerable: true, get: function () { return utils_2.shouldStreamOutput; } });
|
|
230
|
+
Object.defineProperty(exports, "transformLegacyOutputs", { enumerable: true, get: function () { return utils_2.transformLegacyOutputs; } });
|
|
231
|
+
Object.defineProperty(exports, "unparse", { enumerable: true, get: function () { return utils_2.unparse; } });
|
|
232
|
+
Object.defineProperty(exports, "validateOutputs", { enumerable: true, get: function () { return utils_2.validateOutputs; } });
|
|
233
|
+
var async_iterator_1 = require("./utils/async-iterator");
|
|
234
|
+
Object.defineProperty(exports, "getLastValueFromAsyncIterableIterator", { enumerable: true, get: function () { return async_iterator_1.getLastValueFromAsyncIterableIterator; } });
|
|
235
|
+
var cache_directory_1 = require("./utils/cache-directory");
|
|
236
|
+
Object.defineProperty(exports, "workspaceDataDirectory", { enumerable: true, get: function () { return cache_directory_1.workspaceDataDirectory; } });
|
|
237
|
+
var child_process_1 = require("./utils/child-process");
|
|
238
|
+
Object.defineProperty(exports, "runNxSync", { enumerable: true, get: function () { return child_process_1.runNxSync; } });
|
|
239
|
+
var code_frames_1 = require("./utils/code-frames");
|
|
240
|
+
Object.defineProperty(exports, "codeFrameColumns", { enumerable: true, get: function () { return code_frames_1.codeFrameColumns; } });
|
|
241
|
+
var default_base_1 = require("./utils/default-base");
|
|
242
|
+
Object.defineProperty(exports, "deduceDefaultBase", { enumerable: true, get: function () { return default_base_1.deduceDefaultBase; } });
|
|
243
|
+
var fileutils_2 = require("./utils/fileutils");
|
|
244
|
+
Object.defineProperty(exports, "createDirectory", { enumerable: true, get: function () { return fileutils_2.createDirectory; } });
|
|
245
|
+
Object.defineProperty(exports, "directoryExists", { enumerable: true, get: function () { return fileutils_2.directoryExists; } });
|
|
246
|
+
Object.defineProperty(exports, "fileExists", { enumerable: true, get: function () { return fileutils_2.fileExists; } });
|
|
247
|
+
Object.defineProperty(exports, "isRelativePath", { enumerable: true, get: function () { return fileutils_2.isRelativePath; } });
|
|
248
|
+
Object.defineProperty(exports, "readFileIfExisting", { enumerable: true, get: function () { return fileutils_2.readFileIfExisting; } });
|
|
249
|
+
var git_utils_1 = require("./utils/git-utils");
|
|
250
|
+
Object.defineProperty(exports, "getLatestCommitSha", { enumerable: true, get: function () { return git_utils_1.getLatestCommitSha; } });
|
|
251
|
+
var globs_1 = require("./utils/globs");
|
|
252
|
+
Object.defineProperty(exports, "combineGlobPatterns", { enumerable: true, get: function () { return globs_1.combineGlobPatterns; } });
|
|
253
|
+
var installation_directory_1 = require("./utils/installation-directory");
|
|
254
|
+
Object.defineProperty(exports, "getNxRequirePaths", { enumerable: true, get: function () { return installation_directory_1.getNxRequirePaths; } });
|
|
255
|
+
var logger_2 = require("./utils/logger");
|
|
256
|
+
Object.defineProperty(exports, "NX_PREFIX", { enumerable: true, get: function () { return logger_2.NX_PREFIX; } });
|
|
257
|
+
var output_1 = require("./utils/output");
|
|
258
|
+
Object.defineProperty(exports, "orange", { enumerable: true, get: function () { return output_1.orange; } });
|
|
259
|
+
var nx_cloud_utils_1 = require("./utils/nx-cloud-utils");
|
|
260
|
+
Object.defineProperty(exports, "getNxCloudUrl", { enumerable: true, get: function () { return nx_cloud_utils_1.getNxCloudUrl; } });
|
|
261
|
+
Object.defineProperty(exports, "isNxCloudUsed", { enumerable: true, get: function () { return nx_cloud_utils_1.isNxCloudUsed; } });
|
|
262
|
+
var package_json_3 = require("./utils/package-json");
|
|
263
|
+
Object.defineProperty(exports, "readNxMigrateConfig", { enumerable: true, get: function () { return package_json_3.readNxMigrateConfig; } });
|
|
264
|
+
// Sourced from the leaf module rather than ./utils/plugins: the barrel index
|
|
265
|
+
// pulls output.ts and core-plugins.ts into the eager closure for a function that
|
|
266
|
+
// depends on neither.
|
|
267
|
+
var atomizer_utils_1 = require("./utils/plugins/atomizer-utils");
|
|
268
|
+
Object.defineProperty(exports, "deriveGroupNameFromTarget", { enumerable: true, get: function () { return atomizer_utils_1.deriveGroupNameFromTarget; } });
|
|
269
|
+
var installed_plugins_1 = require("./utils/plugins/installed-plugins");
|
|
270
|
+
Object.defineProperty(exports, "findInstalledPlugins", { enumerable: true, get: function () { return installed_plugins_1.findInstalledPlugins; } });
|
|
271
|
+
var project_graph_utils_1 = require("./utils/project-graph-utils");
|
|
272
|
+
Object.defineProperty(exports, "findAllProjectNodeDependencies", { enumerable: true, get: function () { return project_graph_utils_1.findAllProjectNodeDependencies; } });
|
|
273
|
+
Object.defineProperty(exports, "getSourceDirOfDependentProjects", { enumerable: true, get: function () { return project_graph_utils_1.getSourceDirOfDependentProjects; } });
|
|
274
|
+
var sync_generators_1 = require("./utils/sync-generators");
|
|
275
|
+
Object.defineProperty(exports, "SyncError", { enumerable: true, get: function () { return sync_generators_1.SyncError; } });
|
|
276
|
+
var versions_1 = require("./utils/versions");
|
|
277
|
+
Object.defineProperty(exports, "nxVersion", { enumerable: true, get: function () { return versions_1.nxVersion; } });
|
|
278
|
+
var workspace_context_2 = require("./utils/workspace-context");
|
|
279
|
+
Object.defineProperty(exports, "getFilesInDirectoryUsingContext", { enumerable: true, get: function () { return workspace_context_2.getFilesInDirectoryUsingContext; } });
|
|
280
|
+
Object.defineProperty(exports, "globWithWorkspaceContext", { enumerable: true, get: function () { return workspace_context_2.globWithWorkspaceContext; } });
|
|
281
|
+
Object.defineProperty(exports, "resetWorkspaceContext", { enumerable: true, get: function () { return workspace_context_2.resetWorkspaceContext; } });
|
|
282
|
+
Object.defineProperty(exports, "setupWorkspaceContext", { enumerable: true, get: function () { return workspace_context_2.setupWorkspaceContext; } });
|
|
283
|
+
var workspace_root_1 = require("./utils/workspace-root");
|
|
284
|
+
Object.defineProperty(exports, "setWorkspaceRoot", { enumerable: true, get: function () { return workspace_root_1.setWorkspaceRoot; } });
|
|
285
|
+
Object.defineProperty(exports, "workspaceRootInner", { enumerable: true, get: function () { return workspace_root_1.workspaceRootInner; } });
|
package/dist/src/generators/internal-utils/format-changed-files-with-prettier-if-available.d.ts
CHANGED
|
@@ -10,6 +10,11 @@ import type { Tree } from '../tree';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare function formatChangedFilesWithPrettierIfAvailable(tree: Tree, options?: {
|
|
12
12
|
silent?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Tree-relative paths to leave untouched. Both platform-native and
|
|
15
|
+
* forward-slash separators are accepted.
|
|
16
|
+
*/
|
|
17
|
+
excludePaths?: Set<string>;
|
|
13
18
|
}): Promise<void>;
|
|
14
19
|
export declare function formatFilesWithPrettierIfAvailable(files: {
|
|
15
20
|
path: string;
|
package/dist/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js
CHANGED
|
@@ -5,6 +5,7 @@ exports.formatFilesWithPrettierIfAvailable = formatFilesWithPrettierIfAvailable;
|
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const path = tslib_1.__importStar(require("path"));
|
|
7
7
|
const is_using_prettier_1 = require("../../utils/is-using-prettier");
|
|
8
|
+
const path_1 = require("../../utils/path");
|
|
8
9
|
const installation_directory_1 = require("../../utils/installation-directory");
|
|
9
10
|
/**
|
|
10
11
|
* Formats all the created or updated files using Prettier
|
|
@@ -19,7 +20,13 @@ async function formatChangedFilesWithPrettierIfAvailable(tree, options) {
|
|
|
19
20
|
if (process.env.NX_SKIP_FORMAT === 'true') {
|
|
20
21
|
return;
|
|
21
22
|
}
|
|
22
|
-
const
|
|
23
|
+
const excludedPaths = options?.excludePaths
|
|
24
|
+
? new Set(Array.from(options.excludePaths, path_1.normalizePath))
|
|
25
|
+
: undefined;
|
|
26
|
+
const files = new Set(tree
|
|
27
|
+
.listChanges()
|
|
28
|
+
.filter((file) => file.type !== 'DELETE' &&
|
|
29
|
+
!excludedPaths?.has((0, path_1.normalizePath)(file.path))));
|
|
23
30
|
const results = await formatFilesWithPrettierIfAvailable(Array.from(files), tree.root, options);
|
|
24
31
|
for (const [path, content] of results) {
|
|
25
32
|
tree.write(path, content);
|
|
@@ -28,7 +35,7 @@ async function formatChangedFilesWithPrettierIfAvailable(tree, options) {
|
|
|
28
35
|
async function formatFilesWithPrettierIfAvailable(files, root, options) {
|
|
29
36
|
const results = new Map();
|
|
30
37
|
// Check here as well for direct callers of this function
|
|
31
|
-
if (process.env.NX_SKIP_FORMAT === 'true') {
|
|
38
|
+
if (process.env.NX_SKIP_FORMAT === 'true' || files.length === 0) {
|
|
32
39
|
return results;
|
|
33
40
|
}
|
|
34
41
|
let prettier;
|
|
@@ -19,12 +19,14 @@ export interface Tree {
|
|
|
19
19
|
*/
|
|
20
20
|
root: string;
|
|
21
21
|
/**
|
|
22
|
-
* Read the contents of a file.
|
|
22
|
+
* Read the contents of a file. `null` when the file does not exist - an
|
|
23
|
+
* empty file reads as empty, not as missing.
|
|
23
24
|
* @param filePath A path to a file.
|
|
24
25
|
*/
|
|
25
26
|
read(filePath: string): Buffer | null;
|
|
26
27
|
/**
|
|
27
|
-
* Read the contents of a file as string.
|
|
28
|
+
* Read the contents of a file as string. `null` when the file does not
|
|
29
|
+
* exist - an empty file reads as `''`, not as missing.
|
|
28
30
|
* @param filePath A path to a file.
|
|
29
31
|
* @param encoding the encoding for the result
|
|
30
32
|
*/
|
|
@@ -416,6 +416,16 @@ export declare function getEventDimensions(): EventDimensions
|
|
|
416
416
|
*/
|
|
417
417
|
export declare function getFilesForOutputsBatch(directory: string, entriesBatch: Array<Array<string>>): Array<Array<string>>
|
|
418
418
|
|
|
419
|
+
/**
|
|
420
|
+
* The same list, for JavaScript callers that walk a tree rather than the
|
|
421
|
+
* filesystem - `visitNotIgnoredFiles` - so both sides apply one baseline
|
|
422
|
+
* instead of maintaining a second copy that drifts.
|
|
423
|
+
*
|
|
424
|
+
* The patterns are gitignore-shaped, so they read the same to the `ignore`
|
|
425
|
+
* crate here and the `ignore` npm package there.
|
|
426
|
+
*/
|
|
427
|
+
export declare function getHardcodedIgnorePatterns(): Array<string>
|
|
428
|
+
|
|
419
429
|
/**
|
|
420
430
|
* If `workspace_root` is inside a git worktree, returns the main repo root.
|
|
421
431
|
* Returns `None` when already in the main repo (or not in a git repo at all).
|
package/dist/src/native/index.js
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
const { join, basename } = require('path');
|
|
2
|
-
const {
|
|
3
|
-
|
|
4
|
-
existsSync,
|
|
5
|
-
mkdirSync,
|
|
6
|
-
renameSync,
|
|
7
|
-
statSync,
|
|
8
|
-
unlinkSync,
|
|
9
|
-
} = require('fs');
|
|
2
|
+
const { copyFileSync, renameSync, statSync, unlinkSync } = require('fs');
|
|
3
|
+
const { createHash } = require('crypto');
|
|
10
4
|
const Module = require('module');
|
|
11
5
|
const { nxVersion } = require('../utils/versions');
|
|
12
|
-
const {
|
|
6
|
+
const {
|
|
7
|
+
ensureSecureNativeFileCacheLocation,
|
|
8
|
+
} = require('./native-file-cache-location');
|
|
13
9
|
|
|
14
10
|
const MAX_COPY_RETRIES = 3;
|
|
15
11
|
|
|
@@ -73,6 +69,14 @@ function statsOrNull(path) {
|
|
|
73
69
|
}
|
|
74
70
|
}
|
|
75
71
|
|
|
72
|
+
function removeIfPresent(path) {
|
|
73
|
+
try {
|
|
74
|
+
unlinkSync(path);
|
|
75
|
+
} catch {
|
|
76
|
+
// Ignore cleanup errors
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
76
80
|
function isNoExecError(e) {
|
|
77
81
|
return e.code === 'EACCES' || e.code === 'EPERM';
|
|
78
82
|
}
|
|
@@ -95,20 +99,44 @@ Module._load = function (request, parent, isMain) {
|
|
|
95
99
|
const nativeLocation = require.resolve(modulePath);
|
|
96
100
|
const fileName = basename(nativeLocation);
|
|
97
101
|
|
|
98
|
-
//
|
|
99
|
-
|
|
102
|
+
// null when the cache dir cannot be created *and trusted*; loading in place
|
|
103
|
+
// from node_modules is safer than loading out of a directory we don't own.
|
|
104
|
+
const nativeFileCacheLocation = ensureSecureNativeFileCacheLocation();
|
|
105
|
+
if (!nativeFileCacheLocation) {
|
|
106
|
+
return originalLoad.apply(this, [nativeLocation, parent, isMain]);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// nxVersion alone is not enough: in a source checkout it is the placeholder
|
|
110
|
+
// 0.0.1 for every worktree, so hashing the resolved binding path keeps each
|
|
111
|
+
// checkout in its own entry.
|
|
112
|
+
const cacheKey =
|
|
113
|
+
nxVersion +
|
|
114
|
+
'-' +
|
|
115
|
+
createHash('sha256')
|
|
116
|
+
.update(nativeLocation)
|
|
117
|
+
.digest('hex')
|
|
118
|
+
.substring(0, 12);
|
|
119
|
+
|
|
100
120
|
// This is a path to copy to, not the one that gets loaded
|
|
101
121
|
const tmpTmpFile = join(
|
|
102
122
|
nativeFileCacheLocation,
|
|
103
|
-
|
|
123
|
+
cacheKey + '-' + Math.random() + fileName
|
|
104
124
|
);
|
|
105
125
|
// This is the path that will get loaded
|
|
106
|
-
const tmpFile = join(nativeFileCacheLocation,
|
|
107
|
-
const
|
|
126
|
+
const tmpFile = join(nativeFileCacheLocation, cacheKey + '-' + fileName);
|
|
127
|
+
const sourceStats = statSync(nativeLocation);
|
|
128
|
+
const expectedFileSize = sourceStats.size;
|
|
108
129
|
const existingFileStats = statsOrNull(tmpFile);
|
|
109
130
|
|
|
110
|
-
//
|
|
111
|
-
|
|
131
|
+
// Size alone does not detect a rebuilt binding: a small Rust edit routinely
|
|
132
|
+
// produces a byte-identical size. The copy is taken after the build, so a
|
|
133
|
+
// cache entry older than the source means the source was rebuilt since.
|
|
134
|
+
const isFresh =
|
|
135
|
+
existingFileStats?.size === expectedFileSize &&
|
|
136
|
+
existingFileStats.mtimeMs >= sourceStats.mtimeMs;
|
|
137
|
+
|
|
138
|
+
// If the file to be loaded already exists and is current, just load it
|
|
139
|
+
if (isFresh) {
|
|
112
140
|
try {
|
|
113
141
|
return originalLoad.apply(this, [tmpFile, parent, isMain]);
|
|
114
142
|
} catch (e) {
|
|
@@ -119,20 +147,36 @@ Module._load = function (request, parent, isMain) {
|
|
|
119
147
|
throw e;
|
|
120
148
|
}
|
|
121
149
|
}
|
|
122
|
-
if (!existsSync(nativeFileCacheLocation)) {
|
|
123
|
-
mkdirSync(nativeFileCacheLocation, { recursive: true });
|
|
124
|
-
}
|
|
125
150
|
|
|
126
151
|
// Retry copying up to 3 times, validating after each copy
|
|
152
|
+
let attemptsMade = 0;
|
|
153
|
+
let cacheError = null;
|
|
127
154
|
for (let attempt = 1; attempt <= MAX_COPY_RETRIES; attempt++) {
|
|
155
|
+
attemptsMade = attempt;
|
|
128
156
|
// First copy to a unique location for each process
|
|
129
|
-
|
|
157
|
+
try {
|
|
158
|
+
copyFileSync(nativeLocation, tmpTmpFile);
|
|
159
|
+
} catch (e) {
|
|
160
|
+
// Permission errors won't heal on retry, and a throwing copy can still
|
|
161
|
+
// have left a partial file behind.
|
|
162
|
+
cacheError = e;
|
|
163
|
+
removeIfPresent(tmpTmpFile);
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
130
166
|
|
|
131
167
|
// Validate the copy - check file size matches expected
|
|
132
168
|
const copiedFileStats = statsOrNull(tmpTmpFile);
|
|
133
169
|
if (copiedFileStats?.size === expectedFileSize) {
|
|
134
170
|
// Copy succeeded, rename to final location and load
|
|
135
|
-
|
|
171
|
+
try {
|
|
172
|
+
renameSync(tmpTmpFile, tmpFile);
|
|
173
|
+
} catch (e) {
|
|
174
|
+
// Unguarded, this throws out of `require` and native-bindings.js
|
|
175
|
+
// reports it as a missing optional dependency, which it is not.
|
|
176
|
+
cacheError = e;
|
|
177
|
+
removeIfPresent(tmpTmpFile);
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
136
180
|
try {
|
|
137
181
|
return originalLoad.apply(this, [tmpFile, parent, isMain]);
|
|
138
182
|
} catch (e) {
|
|
@@ -145,16 +189,15 @@ Module._load = function (request, parent, isMain) {
|
|
|
145
189
|
}
|
|
146
190
|
|
|
147
191
|
// Copy failed validation, clean up the malformed file
|
|
148
|
-
|
|
149
|
-
unlinkSync(tmpTmpFile);
|
|
150
|
-
} catch {
|
|
151
|
-
// Ignore cleanup errors
|
|
152
|
-
}
|
|
192
|
+
removeIfPresent(tmpTmpFile);
|
|
153
193
|
}
|
|
154
194
|
|
|
155
|
-
//
|
|
195
|
+
// Name the errno: ENOSPC, EROFS, EACCES and EDQUOT are all actionable and
|
|
196
|
+
// otherwise indistinguishable.
|
|
156
197
|
console.warn(
|
|
157
|
-
`Warning: Failed to copy native module to cache after ${
|
|
198
|
+
`Warning: Failed to copy native module to cache after ${attemptsMade} attempt${
|
|
199
|
+
attemptsMade === 1 ? '' : 's'
|
|
200
|
+
}${cacheError ? ` (${cacheError.code ?? cacheError.message})` : ''}. ` +
|
|
158
201
|
`Loading from original location instead. ` +
|
|
159
202
|
`This may cause file locking issues on Windows.`
|
|
160
203
|
);
|
|
@@ -610,6 +610,7 @@ module.exports.getBinaryTarget = nativeBinding.getBinaryTarget
|
|
|
610
610
|
module.exports.getDefaultMaxCacheSize = nativeBinding.getDefaultMaxCacheSize
|
|
611
611
|
module.exports.getEventDimensions = nativeBinding.getEventDimensions
|
|
612
612
|
module.exports.getFilesForOutputsBatch = nativeBinding.getFilesForOutputsBatch
|
|
613
|
+
module.exports.getHardcodedIgnorePatterns = nativeBinding.getHardcodedIgnorePatterns
|
|
613
614
|
module.exports.getMainWorktreeRoot = nativeBinding.getMainWorktreeRoot
|
|
614
615
|
module.exports.getTransformableOutputs = nativeBinding.getTransformableOutputs
|
|
615
616
|
module.exports.GroupType = nativeBinding.GroupType
|
|
@@ -1 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Path of the current user's native binary cache. Nothing about the constant is
|
|
3
|
+
* owner-only — `ensureSecureNativeFileCacheLocation` is what establishes that,
|
|
4
|
+
* and on Windows nothing does, since the OS temp dir is already per-account.
|
|
5
|
+
*/
|
|
6
|
+
export declare const NATIVE_CACHE_ROOT: string;
|
|
7
|
+
export declare function getNativeFileCacheLocationToDelete(): string | null;
|
|
8
|
+
/**
|
|
9
|
+
* Create the native file cache dir, or return `null` if it cannot be created
|
|
10
|
+
* *securely* — in which case the caller loads the binding in place.
|
|
11
|
+
*
|
|
12
|
+
* The stable top-level container is verified as safe for private children. The
|
|
13
|
+
* uid directory and every directory loaded through are owner-only.
|
|
14
|
+
* `ensureOwnedPrivateDir` refuses a directory or symlink another local user
|
|
15
|
+
* planted before us.
|
|
16
|
+
*/
|
|
17
|
+
export declare function ensureSecureNativeFileCacheLocation(cacheRoot?: string): string | null;
|