nx 21.4.0-beta.0 → 21.4.0-beta.1

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 (48) hide show
  1. package/package.json +11 -11
  2. package/src/command-line/index.d.ts +23 -0
  3. package/src/command-line/index.d.ts.map +1 -0
  4. package/src/command-line/index.js +26 -0
  5. package/src/command-line/init/implementation/add-nx-to-monorepo.d.ts +1 -1
  6. package/src/command-line/init/implementation/add-nx-to-monorepo.d.ts.map +1 -1
  7. package/src/command-line/init/implementation/add-nx-to-monorepo.js +2 -2
  8. package/src/command-line/init/implementation/add-nx-to-npm-repo.d.ts +1 -1
  9. package/src/command-line/init/implementation/add-nx-to-npm-repo.d.ts.map +1 -1
  10. package/src/command-line/init/implementation/add-nx-to-npm-repo.js +2 -2
  11. package/src/command-line/init/implementation/utils.d.ts.map +1 -1
  12. package/src/command-line/init/implementation/utils.js +1 -5
  13. package/src/command-line/init/init-v2.d.ts.map +1 -1
  14. package/src/command-line/init/init-v2.js +41 -23
  15. package/src/command-line/sync/sync.d.ts.map +1 -1
  16. package/src/command-line/sync/sync.js +8 -2
  17. package/src/core/graph/main.js +1 -1
  18. package/src/daemon/server/handle-get-sync-generator-changes.d.ts.map +1 -1
  19. package/src/daemon/server/handle-get-sync-generator-changes.js +1 -0
  20. package/src/native/index.d.ts +4 -0
  21. package/src/native/native-bindings.js +1 -0
  22. package/src/native/nx.wasi.cjs +12 -10
  23. package/src/native/nx.wasm32-wasi.wasm +0 -0
  24. package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.d.ts.map +1 -1
  25. package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.js +3 -7
  26. package/src/plugins/js/lock-file/npm-parser.js +2 -2
  27. package/src/plugins/js/lock-file/pnpm-parser.js +2 -1
  28. package/src/plugins/js/project-graph/build-dependencies/target-project-locator.d.ts.map +1 -1
  29. package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +5 -1
  30. package/src/project-graph/utils/normalize-project-nodes.d.ts +5 -5
  31. package/src/project-graph/utils/normalize-project-nodes.d.ts.map +1 -1
  32. package/src/project-graph/utils/normalize-project-nodes.js +35 -6
  33. package/src/tasks-runner/is-tui-enabled.d.ts.map +1 -1
  34. package/src/tasks-runner/is-tui-enabled.js +2 -0
  35. package/src/tasks-runner/life-cycle.d.ts +2 -0
  36. package/src/tasks-runner/life-cycle.d.ts.map +1 -1
  37. package/src/tasks-runner/life-cycle.js +7 -0
  38. package/src/tasks-runner/task-orchestrator.d.ts.map +1 -1
  39. package/src/tasks-runner/task-orchestrator.js +5 -0
  40. package/src/tasks-runner/tasks-schedule.d.ts +1 -0
  41. package/src/tasks-runner/tasks-schedule.d.ts.map +1 -1
  42. package/src/tasks-runner/tasks-schedule.js +3 -0
  43. package/src/utils/ab-testing.d.ts +3 -3
  44. package/src/utils/ab-testing.d.ts.map +1 -1
  45. package/src/utils/ab-testing.js +3 -3
  46. package/src/utils/sync-generators.d.ts +3 -1
  47. package/src/utils/sync-generators.d.ts.map +1 -1
  48. package/src/utils/sync-generators.js +7 -1
@@ -1 +1 @@
1
- {"version":3,"file":"handle-get-sync-generator-changes.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/server/handle-get-sync-generator-changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,aAAa,CAAC,CAkBxB"}
1
+ {"version":3,"file":"handle-get-sync-generator-changes.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/server/handle-get-sync-generator-changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,aAAa,CAAC,CAmBxB"}
@@ -11,6 +11,7 @@ async function handleGetSyncGeneratorChanges(generators) {
11
11
  generatorName: change.generatorName,
12
12
  changes: change.changes.map((c) => ({ ...c, content: null })),
13
13
  outOfSyncMessage: change.outOfSyncMessage,
14
+ outOfSyncDetails: change.outOfSyncDetails,
14
15
  });
15
16
  return {
16
17
  response: JSON.stringify(result),
@@ -22,6 +22,7 @@ export declare class AppLifeCycle {
22
22
  setTaskStatus(taskId: string, status: TaskStatus): void
23
23
  registerForcedShutdownCallback(forcedShutdownCallback: () => any): void
24
24
  __setCloudMessage(message: string): Promise<void>
25
+ setEstimatedTaskTimings(timings: Record<string, number>): void
25
26
  }
26
27
 
27
28
  export declare class ChildProcess {
@@ -252,6 +253,9 @@ export declare export declare function installNxConsole(): void
252
253
 
253
254
  export const IS_WASM: boolean
254
255
 
256
+ /** Detects if the current process is being run by an AI agent */
257
+ export declare export declare function isAiAgent(): boolean
258
+
255
259
  export declare export declare function logDebug(message: string): void
256
260
 
257
261
  /** Stripped version of the NxJson interface for use in rust */
@@ -392,6 +392,7 @@ module.exports.hashArray = nativeBinding.hashArray
392
392
  module.exports.hashFile = nativeBinding.hashFile
393
393
  module.exports.installNxConsole = nativeBinding.installNxConsole
394
394
  module.exports.IS_WASM = nativeBinding.IS_WASM
395
+ module.exports.isAiAgent = nativeBinding.isAiAgent
395
396
  module.exports.logDebug = nativeBinding.logDebug
396
397
  module.exports.parseTaskStatus = nativeBinding.parseTaskStatus
397
398
  module.exports.remove = nativeBinding.remove
@@ -124,16 +124,17 @@ function __napi_rs_initialize_modules(__napiInstance) {
124
124
  __napiInstance.exports['__napi_register__ExternalDependenciesInput_struct_49']?.()
125
125
  __napiInstance.exports['__napi_register__DepsOutputsInput_struct_50']?.()
126
126
  __napiInstance.exports['__napi_register__NxJson_struct_51']?.()
127
- __napiInstance.exports['__napi_register__FileLock_struct_52']?.()
128
- __napiInstance.exports['__napi_register__FileLock_impl_54']?.()
129
- __napiInstance.exports['__napi_register__WorkspaceContext_struct_55']?.()
130
- __napiInstance.exports['__napi_register__WorkspaceContext_impl_66']?.()
131
- __napiInstance.exports['__napi_register__WorkspaceErrors_67']?.()
132
- __napiInstance.exports['__napi_register__NxWorkspaceFiles_struct_68']?.()
133
- __napiInstance.exports['__napi_register__NxWorkspaceFilesExternals_struct_69']?.()
134
- __napiInstance.exports['__napi_register__UpdatedWorkspaceFiles_struct_70']?.()
135
- __napiInstance.exports['__napi_register__FileMap_struct_71']?.()
136
- __napiInstance.exports['__napi_register____test_only_transfer_file_map_72']?.()
127
+ __napiInstance.exports['__napi_register__is_ai_agent_52']?.()
128
+ __napiInstance.exports['__napi_register__FileLock_struct_53']?.()
129
+ __napiInstance.exports['__napi_register__FileLock_impl_55']?.()
130
+ __napiInstance.exports['__napi_register__WorkspaceContext_struct_56']?.()
131
+ __napiInstance.exports['__napi_register__WorkspaceContext_impl_67']?.()
132
+ __napiInstance.exports['__napi_register__WorkspaceErrors_68']?.()
133
+ __napiInstance.exports['__napi_register__NxWorkspaceFiles_struct_69']?.()
134
+ __napiInstance.exports['__napi_register__NxWorkspaceFilesExternals_struct_70']?.()
135
+ __napiInstance.exports['__napi_register__UpdatedWorkspaceFiles_struct_71']?.()
136
+ __napiInstance.exports['__napi_register__FileMap_struct_72']?.()
137
+ __napiInstance.exports['__napi_register____test_only_transfer_file_map_73']?.()
137
138
  }
138
139
  module.exports.FileLock = __napiModule.exports.FileLock
139
140
  module.exports.HashPlanInspector = __napiModule.exports.HashPlanInspector
@@ -153,6 +154,7 @@ module.exports.hashArray = __napiModule.exports.hashArray
153
154
  module.exports.hashFile = __napiModule.exports.hashFile
154
155
  module.exports.installNxConsole = __napiModule.exports.installNxConsole
155
156
  module.exports.IS_WASM = __napiModule.exports.IS_WASM
157
+ module.exports.isAiAgent = __napiModule.exports.isAiAgent
156
158
  module.exports.logDebug = __napiModule.exports.logDebug
157
159
  module.exports.remove = __napiModule.exports.remove
158
160
  module.exports.testOnlyTransferFileMap = __napiModule.exports.testOnlyTransferFileMap
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"connect-to-nx-cloud.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AA0F9D,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,kBAAkB,EAAE,MAAM,EAC1B,UAAU,EAAE,OAAO,mBAmBpB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAgDD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,uBAAuB,EAC/B,MAAM,sCAAmB,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6ExB;AAED,iBAAe,yBAAyB,CACtC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,uBAAuB,iBAGjC;AAED,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"connect-to-nx-cloud.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AA0F9D,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,kBAAkB,EAAE,MAAM,EAC1B,UAAU,EAAE,OAAO,mBAepB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAgDD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,uBAAuB,EAC/B,MAAM,sCAAmB,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6ExB;AAED,iBAAe,yBAAyB,CACtC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,uBAAuB,iBAGjC;AAED,eAAe,yBAAyB,CAAC"}
@@ -69,14 +69,10 @@ async function createNxCloudWorkspaceV2(workspaceName, installationSource, nxIni
69
69
  async function printSuccessMessage(token, installationSource, usesGithub) {
70
70
  const connectCloudUrl = await (0, url_shorten_1.createNxCloudOnboardingURL)(installationSource, token, usesGithub);
71
71
  output_1.output.note({
72
- title: `Your Nx Cloud workspace is ready.`,
72
+ title: `Your Self-Healing CI and Remote Caching setup is almost complete`,
73
73
  bodyLines: [
74
- `To claim it, connect it to your Nx Cloud account:`,
75
- `- Commit and push your changes.`,
76
- `- Create a pull request for the changes.`,
77
- `- Go to the following URL to connect your workspace to Nx Cloud:`,
78
- '',
79
- `${connectCloudUrl}`,
74
+ `1. Commit your changes and push a pull request to your repository.`,
75
+ `2. Go to Nx Cloud and finish the setup: ${connectCloudUrl}`,
80
76
  ],
81
77
  });
82
78
  return connectCloudUrl;
@@ -260,7 +260,7 @@ function stringifyNpmLockfile(graph, rootLockFileContent, packageJson) {
260
260
  }
261
261
  function mapWorkspaceModules(packageJson, rootLockFile, workspaceModules) {
262
262
  const output = {};
263
- for (const [pkgName, pkgVersion] of Object.entries(packageJson.dependencies)) {
263
+ for (const [pkgName, pkgVersion] of Object.entries(packageJson.dependencies ?? {})) {
264
264
  if (workspaceModules.has(pkgName)) {
265
265
  let workspaceModuleDefinition;
266
266
  for (const [depName, depSnapshot] of Object.entries(rootLockFile.packages || rootLockFile.dependencies)) {
@@ -293,7 +293,7 @@ function mapV3Snapshots(mappedPackages, packageJson) {
293
293
  return output;
294
294
  }
295
295
  function mapPackageJsonWithWorkspaceModules(packageJson) {
296
- for (const [pkgName, pkgVersion] of Object.entries(packageJson.dependencies)) {
296
+ for (const [pkgName, pkgVersion] of Object.entries(packageJson.dependencies ?? {})) {
297
297
  if (pkgVersion.startsWith('workspace:') || pkgVersion.startsWith('file:')) {
298
298
  packageJson.dependencies[pkgName] = `workspace_modules/${pkgName}`;
299
299
  }
@@ -422,7 +422,8 @@ function mapRootSnapshot(packageJson, rootImporters, packages, graph, lockfileVe
422
422
  const version = packageJson[depType][packageName];
423
423
  if (workspaceModules.has(packageName)) {
424
424
  for (const [importerPath, importerSnapshot] of Object.entries(rootImporters)) {
425
- const workspaceDep = importerSnapshot.dependencies[packageName];
425
+ const workspaceDep = importerSnapshot.dependencies &&
426
+ importerSnapshot.dependencies[packageName];
426
427
  if (workspaceDep) {
427
428
  const workspaceDepImporterPath = workspaceDep.replace('link:', '');
428
429
  const importerKeyForPackage = (0, path_1.join)(importerPath, workspaceDepImporterPath);
@@ -1 +1 @@
1
- {"version":3,"file":"target-project-locator.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/nx/src/plugins/js/project-graph/build-dependencies/target-project-locator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAmB1C;;;;GAIG;AACH,KAAK,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAErD,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAaF,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED,qBAAa,oBAAoB;IAc7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAI9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAlBrC,OAAO,CAAC,mBAAmB,CAAyC;IACpE,OAAO,CAAC,WAAW,CAAkD;IACrE,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,KAAK,CAAgD;IAC7D,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,yBAAyB,CAAoC;IACrE,OAAO,CAAC,gBAAgB,CAItB;gBAGiB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EAC9C,aAAa,GAAE,MAAM,CACpC,MAAM,EACN,wBAAwB,CACpB,EACW,kBAAkB,GAAE,kBAA8C;IA2BrF;;;;;;OAMG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAsEnE;;;;;;OAMG;IACH,wBAAwB,CACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI;IAoEhB;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAmB7D,iBAAiB,CACf,UAAU,EAAE,MAAM,GACjB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS;IA6B/D,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAehE,iCAAiC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAM7D,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,2BAA2B;IAgDnC,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,2BAA2B;IAkBnC,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,wBAAwB;IAKhC;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;CAyCxB"}
1
+ {"version":3,"file":"target-project-locator.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/nx/src/plugins/js/project-graph/build-dependencies/target-project-locator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAmB1C;;;;GAIG;AACH,KAAK,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AAErD,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAaF,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED,qBAAa,oBAAoB;IAc7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAI9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAlBrC,OAAO,CAAC,mBAAmB,CAAyC;IACpE,OAAO,CAAC,WAAW,CAAkD;IACrE,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,KAAK,CAAgD;IAC7D,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,yBAAyB,CAAoC;IACrE,OAAO,CAAC,gBAAgB,CAItB;gBAGiB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EAC9C,aAAa,GAAE,MAAM,CACpC,MAAM,EACN,wBAAwB,CACpB,EACW,kBAAkB,GAAE,kBAA8C;IA2BrF;;;;;;OAMG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAsEnE;;;;;;OAMG;IACH,wBAAwB,CACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI;IAoEhB;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAmB7D,iBAAiB,CACf,UAAU,EAAE,MAAM,GACjB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS;IA6B/D,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAehE,iCAAiC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAM7D,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,2BAA2B;IAgDnC,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,2BAA2B;IAsBnC,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,wBAAwB;IAKhC;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;CAyCxB"}
@@ -292,9 +292,13 @@ class TargetProjectLocator {
292
292
  resolvedModule.includes('/node_modules/')) {
293
293
  return undefined;
294
294
  }
295
- const normalizedResolvedModule = resolvedModule.startsWith('./')
295
+ let normalizedResolvedModule = resolvedModule.startsWith('./')
296
296
  ? resolvedModule.substring(2)
297
297
  : resolvedModule;
298
+ // Remove trailing slash to ensure proper project matching
299
+ if (normalizedResolvedModule.endsWith('/')) {
300
+ normalizedResolvedModule = normalizedResolvedModule.slice(0, -1);
301
+ }
298
302
  const importedProject = this.findMatchingProjectFiles(normalizedResolvedModule);
299
303
  return importedProject ? importedProject.name : void 0;
300
304
  }
@@ -1,7 +1,7 @@
1
- import { ProjectGraphProjectNode } from '../../config/project-graph';
2
- import { ProjectGraphBuilder } from '../project-graph-builder';
3
- import { ProjectConfiguration } from '../../config/workspace-json-project-json';
4
- import { CreateDependenciesContext } from '../plugins';
5
- export declare function normalizeProjectNodes({ projects }: CreateDependenciesContext, builder: ProjectGraphBuilder): Promise<void>;
1
+ import type { ProjectGraphProjectNode } from '../../config/project-graph';
2
+ import type { ProjectConfiguration } from '../../config/workspace-json-project-json';
3
+ import type { CreateDependenciesContext } from '../plugins';
4
+ import type { ProjectGraphBuilder } from '../project-graph-builder';
5
+ export declare function normalizeProjectNodes({ projects, workspaceRoot }: CreateDependenciesContext, builder: ProjectGraphBuilder): Promise<void>;
6
6
  export declare function normalizeImplicitDependencies(source: string, implicitDependencies: ProjectConfiguration['implicitDependencies'], projects: Record<string, ProjectGraphProjectNode>): string[];
7
7
  //# sourceMappingURL=normalize-project-nodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-project-nodes.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/utils/normalize-project-nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAEhF,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,wBAAsB,qBAAqB,CACzC,EAAE,QAAQ,EAAE,EAAE,yBAAyB,EACvC,OAAO,EAAE,mBAAmB,iBAqE7B;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,EAClE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,YAuClD"}
1
+ {"version":3,"file":"normalize-project-nodes.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/utils/normalize-project-nodes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAIrF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,wBAAsB,qBAAqB,CACzC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,yBAAyB,EACtD,OAAO,EAAE,mBAAmB,iBAqE7B;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,EAClE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,YAuClD"}
@@ -2,8 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.normalizeProjectNodes = normalizeProjectNodes;
4
4
  exports.normalizeImplicitDependencies = normalizeImplicitDependencies;
5
+ const node_fs_1 = require("node:fs");
6
+ const node_path_1 = require("node:path");
7
+ const fileutils_1 = require("../../utils/fileutils");
5
8
  const find_matching_projects_1 = require("../../utils/find-matching-projects");
6
- async function normalizeProjectNodes({ projects }, builder) {
9
+ async function normalizeProjectNodes({ projects, workspaceRoot }, builder) {
7
10
  // Sorting projects by name to make sure that the order of projects in the graph is deterministic.
8
11
  // This is important to ensure that expanded properties referencing projects (e.g. implicit dependencies)
9
12
  // are also deterministic, and thus don't cause the calculated project configuration hash to shift.
@@ -26,11 +29,7 @@ async function normalizeProjectNodes({ projects }, builder) {
26
29
  p.implicitDependencies = normalizeImplicitDependencies(key, p.implicitDependencies, partialProjectGraphNodes);
27
30
  p.targets ??= {};
28
31
  // TODO: remove in v16
29
- const projectType = p.projectType === 'application'
30
- ? key.endsWith('-e2e') || key === 'e2e'
31
- ? 'e2e'
32
- : 'app'
33
- : 'lib';
32
+ const projectType = getProjectType(key, p.projectType, workspaceRoot, p.root);
34
33
  const tags = p.tags || [];
35
34
  toAdd.push({
36
35
  name: key,
@@ -86,3 +85,33 @@ function normalizeImplicitDependencies(source, implicitDependencies, projects) {
86
85
  // detected by createDependencies.
87
86
  return deps.concat(alwaysIgnoredDeps.map((x) => '!' + x));
88
87
  }
88
+ function getProjectType(projectName, projectType, workspaceRoot, projectRoot) {
89
+ if (projectType) {
90
+ if (projectType === 'library') {
91
+ return 'lib';
92
+ }
93
+ if (projectName.endsWith('-e2e') || projectName === 'e2e') {
94
+ return 'e2e';
95
+ }
96
+ return 'app';
97
+ }
98
+ if ((0, node_fs_1.existsSync)((0, node_path_1.join)(workspaceRoot, projectRoot, 'tsconfig.lib.json'))) {
99
+ return 'lib';
100
+ }
101
+ if ((0, node_fs_1.existsSync)((0, node_path_1.join)(workspaceRoot, projectRoot, 'tsconfig.app.json'))) {
102
+ return 'app';
103
+ }
104
+ // If it doesn't have any common library entry points, assume it is an application
105
+ const packageJsonPath = (0, node_path_1.join)(workspaceRoot, projectRoot, 'package.json');
106
+ try {
107
+ const packageJson = (0, fileutils_1.readJsonFile)(packageJsonPath);
108
+ if (!packageJson.exports &&
109
+ !packageJson.main &&
110
+ !packageJson.module &&
111
+ !packageJson.bin) {
112
+ return 'app';
113
+ }
114
+ }
115
+ catch { }
116
+ return 'lib';
117
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"is-tui-enabled.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/is-tui-enabled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAMrD;;GAEG;AACH,wBAAgB,YAAY,YAE3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,EACd,mBAAmB,UAAsD,WA4D1E"}
1
+ {"version":3,"file":"is-tui-enabled.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/is-tui-enabled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAMrD;;GAEG;AACH,wBAAgB,YAAY,YAE3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,MAAM,EACd,mBAAmB,UAAsD,WA8D1E"}
@@ -56,6 +56,8 @@ function shouldUseTui(nxJson, nxArgs, skipCapabilityCheck = process.env.NX_TUI_S
56
56
  if (
57
57
  // Interactive TUI doesn't make sense on CI
58
58
  (0, is_ci_1.isCI)() ||
59
+ // Interactive TUI doesn't make sense in an AI agent context
60
+ (0, native_1.isAiAgent)() ||
59
61
  // TODO(@JamesHenry): Remove this check once Windows issues are fixed.
60
62
  // Windows is not working well right now, temporarily disable it on Windows even if it has been specified as enabled
61
63
  isWindows ||
@@ -41,6 +41,7 @@ export interface LifeCycle {
41
41
  appendTaskOutput?(taskId: string, output: string, isPtyTask: boolean): void;
42
42
  setTaskStatus?(taskId: string, status: NativeTaskStatus): void;
43
43
  registerForcedShutdownCallback?(callback: () => void): void;
44
+ setEstimatedTaskTimings?(timings: Record<string, number>): void;
44
45
  }
45
46
  export declare class CompositeLifeCycle implements LifeCycle {
46
47
  private readonly lifeCycles;
@@ -58,5 +59,6 @@ export declare class CompositeLifeCycle implements LifeCycle {
58
59
  appendTaskOutput(taskId: string, output: string, isPtyTask: boolean): void;
59
60
  setTaskStatus(taskId: string, status: NativeTaskStatus): void;
60
61
  registerForcedShutdownCallback(callback: () => void): void;
62
+ setEstimatedTaskTimings(timings: Record<string, number>): void;
61
63
  }
62
64
  //# sourceMappingURL=life-cycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"life-cycle.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/life-cycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"life-cycle.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/life-cycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAUD,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD,UAAU,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,YAAY,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;OAIG;IACH,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAE7B;;;;OAIG;IACH,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE,QAAQ,CAAC,CACP,WAAW,EAAE,UAAU,EAAE,EACzB,QAAQ,EAAE,YAAY,GACrB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB,uBAAuB,CAAC,CACtB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,IAAI,CAAC;IAER,mBAAmB,CAAC,CAClB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,cAAc,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAC1C,IAAI,CAAC;IAER,kCAAkC,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1D,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAE5E,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAE/D,8BAA8B,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAE5D,uBAAuB,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACjE;AAED,qBAAa,kBAAmB,YAAW,SAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,SAAS,EAAE;IAE9C,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAQ3B,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAQjC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhE,QAAQ,CACZ,WAAW,EAAE,UAAU,EAAE,EACzB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,IAAI,CAAC;IAUhB,uBAAuB,CACrB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,IAAI;IAQP,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,cAAc,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAC1C,IAAI;IAQP,kCAAkC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQxD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAQ1E,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAQ7D,8BAA8B,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAQ1D,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;CAO/D"}
@@ -102,5 +102,12 @@ class CompositeLifeCycle {
102
102
  }
103
103
  }
104
104
  }
105
+ setEstimatedTaskTimings(timings) {
106
+ for (let l of this.lifeCycles) {
107
+ if (l.setEstimatedTaskTimings) {
108
+ l.setEstimatedTaskTimings(timings);
109
+ }
110
+ }
111
+ }
105
112
  }
106
113
  exports.CompositeLifeCycle = CompositeLifeCycle;
@@ -1 +1 @@
1
- {"version":3,"file":"task-orchestrator.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/task-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-orchestrator.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/task-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,11 @@ class TaskOrchestrator {
66
66
  }),
67
67
  'init' in this.cache ? this.cache.init() : null,
68
68
  ]);
69
+ // Pass estimated timings to TUI after TasksSchedule is initialized
70
+ if (this.tuiEnabled) {
71
+ const estimatedTimings = this.tasksSchedule.getEstimatedTaskTimings();
72
+ this.options.lifeCycle.setEstimatedTaskTimings(estimatedTimings);
73
+ }
69
74
  }
70
75
  async run() {
71
76
  await this.init();
@@ -39,5 +39,6 @@ export declare class TasksSchedule {
39
39
  private processTaskForBatches;
40
40
  private canBatchTaskBeScheduled;
41
41
  private canBeScheduled;
42
+ getEstimatedTaskTimings(): Record<string, number>;
42
43
  }
43
44
  //# sourceMappingURL=tasks-schedule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks-schedule.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/tasks-schedule.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKvD,MAAM,WAAW,KAAK;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,qBAAa,aAAa;IAetB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhB1B,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,WAAW,CAAwC;IAE3D,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,8BAA8B,CAAqB;IAC3D,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,mBAAmB,CAA8B;gBAGtC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,yBAAyB;IAGxC,IAAI;IAkBJ,iBAAiB;IAMvB,QAAQ;IASR,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;IAW1B,oBAAoB;;;;IAOpB,QAAQ;IAQR,SAAS,IAAI,KAAK;IAMlB,kBAAkB,IAAI,IAAI,EAAE;YAUrB,aAAa;YAWb,YAAY;YAkDZ,eAAe;IAY7B,OAAO,CAAC,aAAa;YAUP,qBAAqB;IAoDnC,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,cAAc;CAgCvB"}
1
+ {"version":3,"file":"tasks-schedule.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/tasks-schedule.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKvD,MAAM,WAAW,KAAK;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,qBAAa,aAAa;IAetB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhB1B,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,WAAW,CAAwC;IAE3D,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,8BAA8B,CAAqB;IAC3D,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,mBAAmB,CAA8B;gBAGtC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,yBAAyB;IAGxC,IAAI;IAkBJ,iBAAiB;IAMvB,QAAQ;IASR,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;IAW1B,oBAAoB;;;;IAOpB,QAAQ;IAQR,SAAS,IAAI,KAAK;IAMlB,kBAAkB,IAAI,IAAI,EAAE;YAUrB,aAAa;YAWb,YAAY;YAkDZ,eAAe;IAY7B,OAAO,CAAC,aAAa;YAUP,qBAAqB;IAoDnC,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,cAAc;IAiCf,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAGzD"}
@@ -201,5 +201,8 @@ class TasksSchedule {
201
201
  return this.taskGraph.tasks[taskId].parallelism === true;
202
202
  }
203
203
  }
204
+ getEstimatedTaskTimings() {
205
+ return this.estimatedTaskTimings;
206
+ }
204
207
  }
205
208
  exports.TasksSchedule = TasksSchedule;
@@ -1,8 +1,8 @@
1
1
  export type MessageOptionKey = 'yes' | 'skip';
2
2
  declare const messageOptions: {
3
3
  readonly setupNxCloud: readonly [{
4
- readonly code: "enable-caching";
5
- readonly message: "Would you like remote caching to make your build faster?";
4
+ readonly code: "enable-ci";
5
+ readonly message: "Would you like to enable AI-powered Self-Healing CI and Remote Caching?";
6
6
  readonly initial: 0;
7
7
  readonly choices: readonly [{
8
8
  readonly value: "yes";
@@ -11,7 +11,7 @@ declare const messageOptions: {
11
11
  readonly value: "skip";
12
12
  readonly name: "Skip for now";
13
13
  }];
14
- readonly footer: "\nWatch a short video on Nx Cloud at https://nx.dev/ci/intro/why-nx-cloud";
14
+ readonly footer: "\nLearn about it at https://nx.dev/nx-cloud";
15
15
  readonly hint: "\n(it's free and can be disabled any time)";
16
16
  }];
17
17
  readonly setupViewLogs: readonly [{
@@ -1 +1 @@
1
- {"version":3,"file":"ab-testing.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/ab-testing.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,CAAC;AAE9C,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCV,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,cAAc,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,qBAAa,cAAc;IACzB,OAAO,CAAC,gBAAgB,CAAM;IAE9B,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW;IAavC,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAIjD;AAED,eAAO,MAAM,QAAQ,gBAAuB,CAAC;AAE7C;;;GAGG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,iBAsBA"}
1
+ {"version":3,"file":"ab-testing.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/ab-testing.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,CAAC;AAE9C,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCV,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,cAAc,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,qBAAa,cAAc;IACzB,OAAO,CAAC,gBAAgB,CAAM;IAE9B,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW;IAavC,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAIjD;AAED,eAAO,MAAM,QAAQ,gBAAuB,CAAC;AAE7C;;;GAGG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,iBAsBA"}
@@ -9,14 +9,14 @@ const get_cloud_options_1 = require("../nx-cloud/utilities/get-cloud-options");
9
9
  const messageOptions = {
10
10
  setupNxCloud: [
11
11
  {
12
- code: 'enable-caching',
13
- message: `Would you like remote caching to make your build faster?`,
12
+ code: 'enable-ci',
13
+ message: `Would you like to enable AI-powered Self-Healing CI and Remote Caching?`,
14
14
  initial: 0,
15
15
  choices: [
16
16
  { value: 'yes', name: 'Yes' },
17
17
  { value: 'skip', name: 'Skip for now' },
18
18
  ],
19
- footer: '\nWatch a short video on Nx Cloud at https://nx.dev/ci/intro/why-nx-cloud',
19
+ footer: '\nLearn about it at https://nx.dev/nx-cloud',
20
20
  hint: `\n(it's free and can be disabled any time)`,
21
21
  },
22
22
  ],
@@ -7,6 +7,7 @@ import { type FileChange, type Tree } from '../generators/tree';
7
7
  export type SyncGeneratorResult = void | {
8
8
  callback?: GeneratorCallback;
9
9
  outOfSyncMessage?: string;
10
+ outOfSyncDetails?: string[];
10
11
  };
11
12
  export type SyncGenerator = (tree: Tree) => SyncGeneratorResult | Promise<SyncGeneratorResult>;
12
13
  export type SyncGeneratorRunSuccessResult = {
@@ -14,6 +15,7 @@ export type SyncGeneratorRunSuccessResult = {
14
15
  changes: FileChange[];
15
16
  callback?: GeneratorCallback;
16
17
  outOfSyncMessage?: string;
18
+ outOfSyncDetails?: string[];
17
19
  };
18
20
  type SerializableSimpleError = {
19
21
  message: string;
@@ -53,7 +55,7 @@ export declare function runSyncGenerator(tree: Tree, generatorSpecifier: string,
53
55
  export declare function collectEnabledTaskSyncGeneratorsFromProjectGraph(projectGraph: ProjectGraph, nxJson: NxJsonConfiguration): Set<string>;
54
56
  export declare function collectEnabledTaskSyncGeneratorsFromTaskGraph(taskGraph: TaskGraph, projectGraph: ProjectGraph, nxJson: NxJsonConfiguration): Set<string>;
55
57
  export declare function collectRegisteredGlobalSyncGenerators(nxJson?: NxJsonConfiguration<string[] | "*">): Set<string>;
56
- export declare function getSyncGeneratorSuccessResultsMessageLines(results: SyncGeneratorRunResult[]): string[];
58
+ export declare function getSyncGeneratorSuccessResultsMessageLines(results: SyncGeneratorRunResult[], logOutOfSyncDetails?: boolean): string[];
57
59
  export declare function getFailedSyncGeneratorsFixMessageLines(results: SyncGeneratorRunResult[], verbose: boolean, globalGeneratorSet?: Set<string>): string[];
58
60
  export declare function getFlushFailureMessageLines(result: FlushSyncGeneratorChangesFailure, verbose: boolean, globalGeneratorSet?: Set<string>): string[];
59
61
  export declare function processSyncGeneratorResultErrors(results: SyncGeneratorRunResult[]): {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-generators.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/sync-generators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-generators.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/sync-generators.ts"],"names":[],"mappings":"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"}
@@ -71,9 +71,11 @@ async function runSyncGenerator(tree, generatorSpecifier, projects) {
71
71
  const result = await implementation(tree);
72
72
  let callback;
73
73
  let outOfSyncMessage;
74
+ let outOfSyncDetails;
74
75
  if (result && typeof result === 'object') {
75
76
  callback = result.callback;
76
77
  outOfSyncMessage = result.outOfSyncMessage;
78
+ outOfSyncDetails = result.outOfSyncDetails;
77
79
  }
78
80
  perf_hooks_1.performance.mark(`run-sync-generator:${generatorSpecifier}:end`);
79
81
  perf_hooks_1.performance.measure(`run-sync-generator:${generatorSpecifier}`, `run-sync-generator:${generatorSpecifier}:start`, `run-sync-generator:${generatorSpecifier}:end`);
@@ -82,6 +84,7 @@ async function runSyncGenerator(tree, generatorSpecifier, projects) {
82
84
  generatorName: generatorSpecifier,
83
85
  callback,
84
86
  outOfSyncMessage,
87
+ outOfSyncDetails,
85
88
  };
86
89
  }
87
90
  catch (e) {
@@ -139,13 +142,16 @@ function collectRegisteredGlobalSyncGenerators(nxJson = (0, nx_json_1.readNxJson
139
142
  }
140
143
  return globalSyncGenerators;
141
144
  }
142
- function getSyncGeneratorSuccessResultsMessageLines(results) {
145
+ function getSyncGeneratorSuccessResultsMessageLines(results, logOutOfSyncDetails = false) {
143
146
  const messageLines = [];
144
147
  for (const result of results) {
145
148
  if ('error' in result) {
146
149
  continue;
147
150
  }
148
151
  messageLines.push(`[${chalk.bold(result.generatorName)}]: ${result.outOfSyncMessage ?? `Some files are out of sync.`}`);
152
+ if (logOutOfSyncDetails && result.outOfSyncDetails?.length) {
153
+ messageLines.push(...result.outOfSyncDetails);
154
+ }
149
155
  }
150
156
  return messageLines;
151
157
  }