nx 23.1.0 → 23.1.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.
Files changed (223) hide show
  1. package/dist/bin/nx.js +2 -1
  2. package/dist/release/changelog-renderer/index.js +4 -5
  3. package/dist/release/index.d.ts +1 -1
  4. package/dist/src/ai/configure-ai-agents-disclaimer.d.ts +5 -0
  5. package/dist/src/ai/configure-ai-agents-disclaimer.js +31 -0
  6. package/dist/src/analytics/analytics.d.ts +6 -0
  7. package/dist/src/analytics/analytics.js +16 -8
  8. package/dist/src/analytics/index.d.ts +1 -1
  9. package/dist/src/analytics/index.js +2 -1
  10. package/dist/src/command-line/add/add.js +13 -1
  11. package/dist/src/command-line/affected/affected.js +1 -0
  12. package/dist/src/command-line/configure-ai-agents/configure-ai-agents.js +2 -2
  13. package/dist/src/command-line/graph/graph.d.ts +1 -0
  14. package/dist/src/command-line/graph/graph.js +15 -6
  15. package/dist/src/command-line/import/import.js +2 -3
  16. package/dist/src/command-line/init/ai-agent-prompts.d.ts +1 -1
  17. package/dist/src/command-line/init/ai-agent-prompts.js +7 -6
  18. package/dist/src/command-line/init/command-object.js +10 -2
  19. package/dist/src/command-line/init/configure-plugins.js +3 -2
  20. package/dist/src/command-line/init/implementation/add-nx-to-monorepo.js +4 -2
  21. package/dist/src/command-line/init/implementation/add-nx-to-nest.js +4 -3
  22. package/dist/src/command-line/init/implementation/add-nx-to-npm-repo.js +4 -3
  23. package/dist/src/command-line/init/implementation/add-nx-to-turborepo.js +4 -3
  24. package/dist/src/command-line/init/implementation/angular/index.js +4 -2
  25. package/dist/src/command-line/init/implementation/angular/integrated-workspace.js +2 -5
  26. package/dist/src/command-line/init/implementation/angular/legacy-angular-versions.js +3 -0
  27. package/dist/src/command-line/init/implementation/dot-nx/add-nx-scripts.js +4 -1
  28. package/dist/src/command-line/init/implementation/utils.d.ts +3 -3
  29. package/dist/src/command-line/init/implementation/utils.js +22 -3
  30. package/dist/src/command-line/init/init-v2.js +4 -5
  31. package/dist/src/command-line/migrate/execute-migration.d.ts +72 -0
  32. package/dist/src/command-line/migrate/execute-migration.js +389 -0
  33. package/dist/src/command-line/migrate/migrate-ui-api.js +17 -12
  34. package/dist/src/command-line/migrate/migrate.d.ts +5 -45
  35. package/dist/src/command-line/migrate/migrate.js +122 -402
  36. package/dist/src/command-line/nx-cloud/connect/connect-to-nx-cloud.js +1 -1
  37. package/dist/src/command-line/nx-cloud/connect/view-logs.js +2 -0
  38. package/dist/src/command-line/release/changelog.js +5 -0
  39. package/dist/src/command-line/release/index.d.ts +1 -1
  40. package/dist/src/command-line/release/utils/git.js +7 -3
  41. package/dist/src/command-line/release/utils/release-graph.d.ts +19 -2
  42. package/dist/src/command-line/release/utils/release-graph.js +71 -19
  43. package/dist/src/command-line/release/utils/remote-release-clients/github.js +7 -1
  44. package/dist/src/command-line/release/utils/remote-release-clients/gitlab.js +1 -1
  45. package/dist/src/command-line/release/utils/shared.d.ts +2 -2
  46. package/dist/src/command-line/release/version/release-group-processor.d.ts +24 -0
  47. package/dist/src/command-line/release/version/release-group-processor.js +80 -6
  48. package/dist/src/command-line/release/version/version-actions.d.ts +27 -2
  49. package/dist/src/command-line/release/version/version-actions.js +9 -1
  50. package/dist/src/command-line/release/version.js +9 -5
  51. package/dist/src/command-line/reset/reset.js +6 -1
  52. package/dist/src/command-line/run/run-one.js +1 -0
  53. package/dist/src/command-line/run-many/run-many.js +1 -0
  54. package/dist/src/command-line/show/show-target/info.js +11 -2
  55. package/dist/src/command-line/show/show-target/inputs.js +50 -153
  56. package/dist/src/command-line/show/show-target/outputs.js +48 -173
  57. package/dist/src/command-line/show/show-target/utils.d.ts +28 -0
  58. package/dist/src/command-line/show/show-target/utils.js +83 -3
  59. package/dist/src/command-line/watch/watch.js +13 -0
  60. package/dist/src/command-line/yargs-utils/shared-options.d.ts +1 -1
  61. package/dist/src/commands-runner/create-command-graph.js +5 -0
  62. package/dist/src/config/nx-json.d.ts +5 -3
  63. package/dist/src/core/graph/main.js +1 -1
  64. package/dist/src/core/graph/styles.js +1 -1
  65. package/dist/src/daemon/client/client.d.ts +52 -3
  66. package/dist/src/daemon/client/client.js +177 -55
  67. package/dist/src/daemon/client/daemon-environment.d.ts +17 -0
  68. package/dist/src/daemon/client/daemon-environment.js +110 -2
  69. package/dist/src/daemon/client/daemon-socket-messenger.js +4 -0
  70. package/dist/src/daemon/message-types/daemon-message.d.ts +32 -0
  71. package/dist/src/daemon/message-types/daemon-message.js +25 -0
  72. package/dist/src/daemon/server/file-watching/file-watcher-sockets.d.ts +5 -0
  73. package/dist/src/daemon/server/file-watching/file-watcher-sockets.js +16 -0
  74. package/dist/src/daemon/server/handle-tasks-execution-hooks.d.ts +1 -1
  75. package/dist/src/daemon/server/latest-nx.js +5 -2
  76. package/dist/src/daemon/server/server.js +31 -4
  77. package/dist/src/daemon/server/shutdown-utils.d.ts +5 -0
  78. package/dist/src/daemon/server/shutdown-utils.js +11 -4
  79. package/dist/src/daemon/socket-utils.d.ts +1 -0
  80. package/dist/src/daemon/socket-utils.js +24 -3
  81. package/dist/src/daemon/tmp-dir.d.ts +43 -3
  82. package/dist/src/daemon/tmp-dir.js +437 -15
  83. package/dist/src/devkit-internals.d.ts +96 -3
  84. package/dist/src/devkit-internals.js +200 -4
  85. package/dist/src/generators/internal-utils/format-changed-files-with-prettier-if-available.d.ts +5 -0
  86. package/dist/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js +9 -2
  87. package/dist/src/generators/tree.d.ts +4 -2
  88. package/dist/src/generators/utils/nx-json.js +13 -3
  89. package/dist/src/hasher/check-task-files.d.ts +86 -0
  90. package/dist/src/hasher/check-task-files.js +378 -0
  91. package/dist/src/migrations/update-23-2-0/set-cache-on-executor-target-defaults.d.ts +12 -0
  92. package/dist/src/migrations/update-23-2-0/set-cache-on-executor-target-defaults.js +250 -0
  93. package/dist/src/migrations/update-23-2-0/set-cache-on-executor-target-defaults.md +50 -0
  94. package/dist/src/native/index.d.ts +31 -2
  95. package/dist/src/native/index.js +71 -28
  96. package/dist/src/native/native-bindings.js +3 -0
  97. package/dist/src/native/native-file-cache-location.d.ts +17 -1
  98. package/dist/src/native/native-file-cache-location.js +86 -12
  99. package/dist/src/native/nx.wasm32-wasi.debug.wasm +0 -0
  100. package/dist/src/native/nx.wasm32-wasi.wasm +0 -0
  101. package/dist/src/nx-cloud/utilities/get-cloud-options.js +5 -2
  102. package/dist/src/nx-cloud/utilities/onboarding.js +5 -2
  103. package/dist/src/plugins/js/lock-file/bun-parser.js +43 -10
  104. package/dist/src/plugins/js/lock-file/npm-parser.js +71 -27
  105. package/dist/src/plugins/js/lock-file/pnpm-parser.js +110 -17
  106. package/dist/src/plugins/js/lock-file/project-graph-pruning.js +15 -9
  107. package/dist/src/plugins/js/lock-file/utils/pnpm-normalizer.js +3 -0
  108. package/dist/src/plugins/js/lock-file/yarn-parser.js +32 -5
  109. package/dist/src/plugins/js/project-graph/affected/npm-packages.js +51 -20
  110. package/dist/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +14 -4
  111. package/dist/src/plugins/js/utils/register.d.ts +18 -0
  112. package/dist/src/plugins/js/utils/register.js +81 -0
  113. package/dist/src/plugins/js/utils/typescript.d.ts +9 -0
  114. package/dist/src/plugins/js/utils/typescript.js +15 -0
  115. package/dist/src/project-graph/affected/affected-project-graph-models.d.ts +1 -1
  116. package/dist/src/project-graph/affected/affected-project-graph.d.ts +1 -1
  117. package/dist/src/project-graph/affected/affected-project-graph.js +2 -2
  118. package/dist/src/project-graph/affected/locators/project-glob-changes.js +5 -2
  119. package/dist/src/project-graph/build-project-graph.js +7 -1
  120. package/dist/src/project-graph/error-types.d.ts +12 -1
  121. package/dist/src/project-graph/error-types.js +68 -3
  122. package/dist/src/project-graph/file-utils.js +6 -1
  123. package/dist/src/project-graph/plugins/isolation/isolated-plugin.d.ts +1 -0
  124. package/dist/src/project-graph/plugins/isolation/isolated-plugin.js +22 -1
  125. package/dist/src/project-graph/plugins/isolation/messaging.d.ts +16 -3
  126. package/dist/src/project-graph/plugins/isolation/messaging.js +3 -0
  127. package/dist/src/project-graph/plugins/isolation/plugin-worker.js +58 -8
  128. package/dist/src/project-graph/plugins/loaded-nx-plugin.js +1 -0
  129. package/dist/src/project-graph/plugins/transpiler.js +4 -0
  130. package/dist/src/project-graph/project-graph.js +23 -0
  131. package/dist/src/project-graph/utils/project-configuration/name-substitution-manager.d.ts +10 -12
  132. package/dist/src/project-graph/utils/project-configuration/name-substitution-manager.js +93 -63
  133. package/dist/src/project-graph/utils/project-configuration/project-nodes-manager.d.ts +5 -8
  134. package/dist/src/project-graph/utils/project-configuration/project-nodes-manager.js +16 -15
  135. package/dist/src/project-graph/utils/project-configuration/source-maps.d.ts +12 -5
  136. package/dist/src/project-graph/utils/project-configuration/source-maps.js +21 -7
  137. package/dist/src/project-graph/utils/project-configuration/target-defaults.d.ts +1 -1
  138. package/dist/src/project-graph/utils/project-configuration/target-defaults.js +26 -27
  139. package/dist/src/project-graph/utils/project-configuration/target-merging.js +50 -8
  140. package/dist/src/project-graph/utils/project-configuration/target-normalization.js +149 -6
  141. package/dist/src/project-graph/utils/project-configuration/utils.d.ts +15 -0
  142. package/dist/src/project-graph/utils/project-configuration/utils.js +42 -6
  143. package/dist/src/project-graph/utils/project-configuration-utils.d.ts +15 -12
  144. package/dist/src/project-graph/utils/project-configuration-utils.js +79 -101
  145. package/dist/src/tasks-runner/life-cycles/performance-analysis.d.ts +11 -4
  146. package/dist/src/tasks-runner/life-cycles/performance-analysis.js +15 -6
  147. package/dist/src/tasks-runner/life-cycles/performance-life-cycle.js +5 -4
  148. package/dist/src/tasks-runner/life-cycles/performance-report.d.ts +18 -8
  149. package/dist/src/tasks-runner/life-cycles/performance-report.js +66 -29
  150. package/dist/src/tasks-runner/run-command.js +4 -2
  151. package/dist/src/tasks-runner/task-env.d.ts +9 -0
  152. package/dist/src/tasks-runner/task-env.js +31 -4
  153. package/dist/src/tasks-runner/task-orchestrator.d.ts +4 -1
  154. package/dist/src/tasks-runner/task-orchestrator.js +23 -10
  155. package/dist/src/tasks-runner/utils.js +2 -6
  156. package/dist/src/utils/acknowledge-build-scripts.d.ts +13 -0
  157. package/dist/src/utils/acknowledge-build-scripts.js +102 -0
  158. package/dist/src/utils/analytics-prompt.d.ts +0 -6
  159. package/dist/src/utils/analytics-prompt.js +0 -51
  160. package/dist/src/utils/assert-workspace-validity.js +7 -2
  161. package/dist/src/utils/catalog/manager-utils.d.ts +1 -2
  162. package/dist/src/utils/catalog/manager-utils.js +22 -5
  163. package/dist/src/utils/catalog/pnpm-manager.d.ts +1 -0
  164. package/dist/src/utils/catalog/pnpm-manager.js +3 -15
  165. package/dist/src/utils/catalog/yarn-manager.d.ts +1 -0
  166. package/dist/src/utils/catalog/yarn-manager.js +3 -15
  167. package/dist/src/utils/command-line-utils.js +30 -20
  168. package/dist/src/utils/fileutils.d.ts +5 -0
  169. package/dist/src/utils/fileutils.js +7 -2
  170. package/dist/src/utils/git-revision.d.ts +12 -0
  171. package/dist/src/utils/git-revision.js +25 -0
  172. package/dist/src/utils/git-utils.d.ts +16 -3
  173. package/dist/src/utils/git-utils.js +146 -52
  174. package/dist/src/utils/git-worktrees.d.ts +30 -0
  175. package/dist/src/utils/git-worktrees.js +212 -0
  176. package/dist/src/utils/ignore.d.ts +128 -1
  177. package/dist/src/utils/ignore.js +182 -12
  178. package/dist/src/utils/long-running-target.d.ts +10 -0
  179. package/dist/src/utils/long-running-target.js +19 -0
  180. package/dist/src/utils/min-release-age/behavior/bun.js +7 -11
  181. package/dist/src/utils/min-release-age/behavior/npm.js +5 -2
  182. package/dist/src/utils/min-release-age/behavior/pnpm.js +9 -7
  183. package/dist/src/utils/min-release-age/packument.js +1 -1
  184. package/dist/src/utils/nx-tmp-dir.d.ts +18 -0
  185. package/dist/src/utils/nx-tmp-dir.js +40 -0
  186. package/dist/src/utils/owned-private-dir.d.ts +132 -0
  187. package/dist/src/utils/owned-private-dir.js +323 -0
  188. package/dist/src/utils/package-json.js +11 -7
  189. package/dist/src/utils/package-manager-config/bunfig.d.ts +14 -0
  190. package/dist/src/utils/package-manager-config/bunfig.js +49 -0
  191. package/dist/src/utils/package-manager-config/npmrc.d.ts +23 -0
  192. package/dist/src/utils/package-manager-config/npmrc.js +124 -0
  193. package/dist/src/utils/package-manager-config/pnpm-config.d.ts +17 -0
  194. package/dist/src/utils/package-manager-config/pnpm-config.js +60 -0
  195. package/dist/src/utils/package-manager.d.ts +23 -2
  196. package/dist/src/utils/package-manager.js +264 -43
  197. package/dist/src/utils/provenance.js +18 -16
  198. package/dist/src/utils/registry-config/bun.d.ts +2 -0
  199. package/dist/src/utils/registry-config/bun.js +257 -0
  200. package/dist/src/utils/registry-config/index.d.ts +13 -0
  201. package/dist/src/utils/registry-config/index.js +102 -0
  202. package/dist/src/utils/registry-config/pnpm.d.ts +2 -0
  203. package/dist/src/utils/registry-config/pnpm.js +1551 -0
  204. package/dist/src/utils/registry-config/utils.d.ts +195 -0
  205. package/dist/src/utils/registry-config/utils.js +496 -0
  206. package/dist/src/utils/registry-config/yarn-berry.d.ts +2 -0
  207. package/dist/src/utils/registry-config/yarn-berry.js +612 -0
  208. package/dist/src/utils/registry-config/yarn-classic.d.ts +2 -0
  209. package/dist/src/utils/registry-config/yarn-classic.js +1001 -0
  210. package/dist/src/utils/safe-spawn.d.ts +24 -0
  211. package/dist/src/utils/safe-spawn.js +104 -0
  212. package/dist/src/utils/shell-quoting.d.ts +15 -0
  213. package/dist/src/utils/shell-quoting.js +35 -0
  214. package/dist/src/utils/wait-for-socket-connection.d.ts +11 -0
  215. package/dist/src/utils/wait-for-socket-connection.js +14 -8
  216. package/dist/src/utils/workspace-id.d.ts +20 -0
  217. package/dist/src/utils/workspace-id.js +54 -0
  218. package/migrations.json +13 -1
  219. package/package.json +22 -17
  220. package/dist/src/migrations/update-17-3-0/nx-release-path.d.ts +0 -3
  221. package/dist/src/migrations/update-17-3-0/nx-release-path.js +0 -47
  222. package/dist/src/utils/min-release-age/npmrc.d.ts +0 -15
  223. package/dist/src/utils/min-release-age/npmrc.js +0 -45
@@ -1,11 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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.getIgnoreObjectForTree = exports.readTargetDefaultsForTarget = exports.findMatchingProjects = exports.findMatchingConfigFiles = exports.readProjectConfigurationsFromRootMap = exports.mergeTargetConfigurations = exports.retrieveProjectConfigurationsWithAngularProjects = exports.calculateDefaultProjectName = exports.readNxJsonFromDisk = exports.parseExecutor = exports.getExecutorInformation = exports.createTempNpmDirectory = 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.safeSpawn = exports.safeExecFileSync = exports.workspaceRootInner = exports.setWorkspaceRoot = exports.setupWorkspaceContext = exports.resetWorkspaceContext = exports.globWithWorkspaceContext = exports.getFilesInDirectoryUsingContext = exports.nxVersion = exports.SyncError = exports.getSourceDirOfDependentProjects = exports.findAllProjectNodeDependencies = exports.findInstalledPlugins = void 0;
4
7
  const tslib_1 = require("tslib");
5
8
  /**
6
- * Note to developers: STOP! These exports are available via requireNx in @nx/devkit.
9
+ * Note to developers: STOP! These are nx internals, not part of the public
10
+ * @nx/devkit API.
7
11
  *
8
- * These may not be available in certain version of Nx, so be sure to check them first.
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.
9
26
  */
10
27
  var package_manager_1 = require("./utils/package-manager");
11
28
  Object.defineProperty(exports, "createTempNpmDirectory", { enumerable: true, get: function () { return package_manager_1.createTempNpmDirectory; } });
@@ -28,8 +45,14 @@ var find_matching_projects_1 = require("./utils/find-matching-projects");
28
45
  Object.defineProperty(exports, "findMatchingProjects", { enumerable: true, get: function () { return find_matching_projects_1.findMatchingProjects; } });
29
46
  var target_defaults_1 = require("./project-graph/utils/project-configuration/target-defaults");
30
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.
31
53
  var ignore_1 = require("./utils/ignore");
32
- Object.defineProperty(exports, "getIgnoreObjectForTree", { enumerable: true, get: function () { return ignore_1.getIgnoreObjectForTree; } });
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; } });
33
56
  var split_target_1 = require("./utils/split-target");
34
57
  Object.defineProperty(exports, "splitTarget", { enumerable: true, get: function () { return split_target_1.splitTarget; } });
35
58
  var params_1 = require("./utils/params");
@@ -90,3 +113,176 @@ Object.defineProperty(exports, "SchemaResolutionError", { enumerable: true, get:
90
113
  var prompt_files_1 = require("./command-line/migrate/prompt-files");
91
114
  Object.defineProperty(exports, "resolvePrompt", { enumerable: true, get: function () { return prompt_files_1.resolvePrompt; } });
92
115
  Object.defineProperty(exports, "PromptResolutionError", { enumerable: true, get: function () { return prompt_files_1.PromptResolutionError; } });
116
+ var check_task_files_1 = require("./hasher/check-task-files");
117
+ Object.defineProperty(exports, "checkFilesAreInputs", { enumerable: true, get: function () { return check_task_files_1.checkFilesAreInputs; } });
118
+ Object.defineProperty(exports, "checkFilesAreOutputs", { enumerable: true, get: function () { return check_task_files_1.checkFilesAreOutputs; } });
119
+ var catalog_1 = require("./utils/catalog");
120
+ Object.defineProperty(exports, "getCatalogManager", { enumerable: true, get: function () { return catalog_1.getCatalogManager; } });
121
+ Object.defineProperty(exports, "getCatalogDependenciesFromPackageJson", { enumerable: true, get: function () { return catalog_1.getCatalogDependenciesFromPackageJson; } });
122
+ var acknowledge_build_scripts_1 = require("./utils/acknowledge-build-scripts");
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; } });
286
+ var safe_spawn_1 = require("./utils/safe-spawn");
287
+ Object.defineProperty(exports, "safeExecFileSync", { enumerable: true, get: function () { return safe_spawn_1.safeExecFileSync; } });
288
+ Object.defineProperty(exports, "safeSpawn", { enumerable: true, get: function () { return safe_spawn_1.safeSpawn; } });
@@ -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;
@@ -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 files = new Set(tree.listChanges().filter((file) => file.type !== 'DELETE'));
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
  */
@@ -42,9 +42,19 @@ function updateNxJson(tree, nxJson) {
42
42
  }
43
43
  function readNxJsonExtends(tree, extendsPath) {
44
44
  try {
45
- return (0, json_1.readJson)(tree, (0, path_1.relative)(tree.root, require.resolve(extendsPath, {
46
- paths: [tree.root],
47
- })));
45
+ let resolvedExtendsPath;
46
+ try {
47
+ resolvedExtendsPath = require.resolve(extendsPath, {
48
+ paths: [tree.root],
49
+ });
50
+ }
51
+ catch {
52
+ // Tree roots without a node_modules folder (e.g. the in-memory trees
53
+ // used in tests) can't anchor module resolution; fall back to
54
+ // resolving from the running nx package.
55
+ resolvedExtendsPath = require.resolve(extendsPath);
56
+ }
57
+ return (0, json_1.readJson)(tree, (0, path_1.relative)(tree.root, resolvedExtendsPath));
48
58
  }
49
59
  catch (e) {
50
60
  throw new Error(`Unable to resolve nx.json extends. Error: ${e.message}`);
@@ -0,0 +1,86 @@
1
+ import { type NxJsonConfiguration } from '../config/nx-json';
2
+ import type { ProjectGraph } from '../config/project-graph';
3
+ import type { HashInputs } from '../native';
4
+ /**
5
+ * A project graph the caller has already built. `nx show target` resolves one to
6
+ * find the target in the first place, and `createProjectGraphAsync` is not
7
+ * memoized, so without this the CLI would build the graph a second time.
8
+ */
9
+ export interface TaskFileCheckSeed {
10
+ projectGraph: ProjectGraph;
11
+ nxJson: NxJsonConfiguration;
12
+ }
13
+ /** The rule that made a value an input for a task. */
14
+ export type InputCategory = 'files' | 'depOutputs' | 'dependentTasksOutputFiles' | 'runtime' | 'environment' | 'external';
15
+ export interface InputCandidate {
16
+ /** The value as supplied — matched verbatim against environment/runtime/external. */
17
+ value: string;
18
+ /** Workspace-relative path form of `value` — matched against the path categories. */
19
+ path: string;
20
+ }
21
+ /**
22
+ * Check which values are legitimate inputs for the given task. A value matches
23
+ * when it is:
24
+ * - a declared environment variable, runtime input, or external dependency;
25
+ * - a file in the task's declared input file list;
26
+ * - a file in the task's materialized `depOutputs` (upstream has run);
27
+ * - a file matching a `dependentTasksOutputFiles` glob declared on the task
28
+ * that lies inside the declared outputs of an upstream task in the task
29
+ * graph (static — works even when upstream tasks have not yet run).
30
+ *
31
+ * `categories` records the rule each matched value satisfied. Paths may be
32
+ * workspace-relative or absolute; absolute ones are relativized against the
33
+ * workspace root, and a path outside the workspace simply matches nothing. A
34
+ * caller resolving paths against a cwd passes an {@link InputCandidate} so that
35
+ * names are still matched verbatim.
36
+ */
37
+ export declare function checkFilesAreInputs(taskId: string, files: Array<string | InputCandidate>): Promise<{
38
+ matched: string[];
39
+ unmatched: string[];
40
+ categories: Map<string, InputCategory>;
41
+ }>;
42
+ /**
43
+ * Check which files match the output globs declared for the given task.
44
+ * Uses the same path-matching logic as the task runner (directory containment
45
+ * + glob matching through the native `globset` engine), including negated
46
+ * (`!`-prefixed) patterns acting as exclusions over the whole pattern set.
47
+ *
48
+ * Paths may be workspace-relative or absolute; absolute ones are relativized
49
+ * against the workspace root. An output pattern whose `{options.*}` token has no
50
+ * value resolves to nothing — exactly as the task runner drops it — so a file it
51
+ * would have covered is reported `unmatched`, like any other non-output.
52
+ *
53
+ * That last case makes `unmatched` two answers in one: "not an output" and
54
+ * "the outputs could not be determined". A consumer judging sandbox violations
55
+ * cannot tell them apart, and would call the second one illegal. `getTaskOutputs`
56
+ * already computes the `unresolved` list this would need; surfacing it here is
57
+ * deliberately deferred until a consumer's contract asks for the distinction.
58
+ */
59
+ export declare function checkFilesAreOutputs(taskId: string, files: string[]): Promise<{
60
+ matched: string[];
61
+ unmatched: string[];
62
+ }>;
63
+ /**
64
+ * Returns the full hash inputs for a task (files + runtime + env + depOutputs
65
+ * + external). Used internally by the `nx show target --inputs` renderer.
66
+ */
67
+ export declare function getTaskRawInputs(taskId: string, seed?: TaskFileCheckSeed): Promise<HashInputs | null>;
68
+ export interface TaskOutputs {
69
+ /** Output patterns after token substitution — what the task runner will cache. */
70
+ resolved: string[];
71
+ /** `resolved`, expanded against the files currently on disk. */
72
+ expanded: string[];
73
+ /** Configured outputs left out of `resolved` because an option had no value. */
74
+ unresolved: string[];
75
+ }
76
+ /**
77
+ * Returns the outputs declared for a task, resolved against its effective
78
+ * configuration. Used internally by the `nx show target --outputs` renderer.
79
+ */
80
+ export declare function getTaskOutputs(taskId: string, seed?: TaskFileCheckSeed): Promise<TaskOutputs>;
81
+ /**
82
+ * Resets all module-level caches. Call this in `beforeEach` when testing so
83
+ * each test gets a fresh context load. Not part of the public API.
84
+ * @internal
85
+ */
86
+ export declare function _resetContextForTesting(): void;