nx 22.4.0-beta.0 → 22.4.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/package.json +11 -11
  2. package/plugins/package-json.d.ts.map +1 -1
  3. package/plugins/package-json.js +2 -1
  4. package/schemas/nx-schema.json +14 -0
  5. package/src/command-line/release/config/config.d.ts.map +1 -1
  6. package/src/command-line/release/config/config.js +2 -0
  7. package/src/command-line/release/config/conventional-commits.d.ts.map +1 -1
  8. package/src/command-line/release/config/conventional-commits.js +1 -0
  9. package/src/command-line/release/utils/release-graph.d.ts +1 -0
  10. package/src/command-line/release/utils/release-graph.d.ts.map +1 -1
  11. package/src/command-line/release/utils/release-graph.js +10 -0
  12. package/src/command-line/release/utils/semver.d.ts +3 -1
  13. package/src/command-line/release/utils/semver.d.ts.map +1 -1
  14. package/src/command-line/release/utils/semver.js +39 -4
  15. package/src/command-line/release/utils/test/test-utils.d.ts +1 -0
  16. package/src/command-line/release/utils/test/test-utils.d.ts.map +1 -1
  17. package/src/command-line/release/utils/test/test-utils.js +1 -0
  18. package/src/command-line/release/version/version-actions.d.ts.map +1 -1
  19. package/src/command-line/release/version/version-actions.js +3 -1
  20. package/src/config/nx-json.d.ts +23 -0
  21. package/src/config/nx-json.d.ts.map +1 -1
  22. package/src/config/workspace-json-project-json.d.ts +2 -0
  23. package/src/config/workspace-json-project-json.d.ts.map +1 -1
  24. package/src/core/graph/main.js +1 -1
  25. package/src/core/graph/styles.js +1 -1
  26. package/src/daemon/client/client.d.ts +1 -1
  27. package/src/daemon/client/client.d.ts.map +1 -1
  28. package/src/daemon/client/client.js +6 -3
  29. package/src/daemon/server/handle-hash-tasks.d.ts +1 -0
  30. package/src/daemon/server/handle-hash-tasks.d.ts.map +1 -1
  31. package/src/daemon/server/handle-hash-tasks.js +1 -1
  32. package/src/hasher/native-task-hasher-impl.d.ts +2 -2
  33. package/src/hasher/native-task-hasher-impl.d.ts.map +1 -1
  34. package/src/hasher/native-task-hasher-impl.js +4 -4
  35. package/src/hasher/task-hasher.d.ts +6 -6
  36. package/src/hasher/task-hasher.d.ts.map +1 -1
  37. package/src/hasher/task-hasher.js +8 -7
  38. package/src/native/index.d.ts +5 -1
  39. package/src/native/nx.wasi.cjs +13 -12
  40. package/src/native/nx.wasm32-wasi.wasm +0 -0
  41. package/src/plugins/js/project-graph/build-dependencies/target-project-locator.d.ts.map +1 -1
  42. package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +5 -0
  43. package/src/plugins/package-json/create-nodes.d.ts +9 -1
  44. package/src/plugins/package-json/create-nodes.d.ts.map +1 -1
  45. package/src/plugins/package-json/create-nodes.js +38 -10
  46. package/src/project-graph/plugins/isolation/plugin-pool.d.ts.map +1 -1
  47. package/src/project-graph/plugins/isolation/plugin-pool.js +95 -18
  48. package/src/tasks-runner/init-tasks-runner.js +1 -1
  49. package/src/tasks-runner/task-orchestrator.d.ts.map +1 -1
  50. package/src/tasks-runner/task-orchestrator.js +13 -25
  51. package/src/utils/package-json.js +1 -1
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_nx_graph_client=self.webpackChunk_nx_graph_client||[]).push([[869],{7337:()=>{}},e=>{var n;n=7337,e(e.s=n)}]);
1
+ "use strict";(self.webpackChunk_nx_graph_client=self.webpackChunk_nx_graph_client||[]).push([[869],{5376:()=>{}},e=>{var n;n=5376,e(e.s=n)}]);
@@ -43,7 +43,7 @@ export declare class DaemonClient {
43
43
  sourceMaps: ConfigurationSourceMaps;
44
44
  }>;
45
45
  getAllFileData(): Promise<FileData[]>;
46
- hashTasks(runnerOptions: any, tasks: Task[], taskGraph: TaskGraph, env: NodeJS.ProcessEnv): Promise<Hash[]>;
46
+ hashTasks(runnerOptions: any, tasks: Task[], taskGraph: TaskGraph, env: NodeJS.ProcessEnv, cwd: string): Promise<Hash[]>;
47
47
  registerFileWatcher(config: {
48
48
  watchProjects: string[] | 'all';
49
49
  includeGlobalWorkspaceFiles?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/client/client.ts"],"names":[],"mappings":"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"}
@@ -181,7 +181,7 @@ class DaemonClient {
181
181
  async getAllFileData() {
182
182
  return await this.sendToDaemonViaQueue({ type: 'REQUEST_FILE_DATA' });
183
183
  }
184
- hashTasks(runnerOptions, tasks, taskGraph, env) {
184
+ hashTasks(runnerOptions, tasks, taskGraph, env, cwd) {
185
185
  return this.sendToDaemonViaQueue({
186
186
  type: 'HASH_TASKS',
187
187
  runnerOptions,
@@ -190,6 +190,7 @@ class DaemonClient {
190
190
  : env,
191
191
  tasks,
192
192
  taskGraph,
193
+ cwd,
193
194
  });
194
195
  }
195
196
  async registerFileWatcher(config, callback) {
@@ -715,12 +716,14 @@ class DaemonClient {
715
716
  this._daemonStatus = DaemonStatus.CONNECTED;
716
717
  this._daemonReady();
717
718
  daemonPid ??= (0, cache_1.getDaemonProcessIdSync)();
718
- await this.registerDaemonProcessWithMetricsService(daemonPid);
719
+ // Fire-and-forget - don't block daemon connection by waiting for metrics registration
720
+ this.registerDaemonProcessWithMetricsService(daemonPid);
719
721
  }
720
722
  else if (this._daemonStatus == DaemonStatus.CONNECTING) {
721
723
  await this._waitForDaemonReady;
722
724
  const daemonPid = (0, cache_1.getDaemonProcessIdSync)();
723
- await this.registerDaemonProcessWithMetricsService(daemonPid);
725
+ // Fire-and-forget - don't block daemon connection by waiting for metrics registration
726
+ this.registerDaemonProcessWithMetricsService(daemonPid);
724
727
  }
725
728
  }
726
729
  async sendToDaemonViaQueue(messageToDaemon, force) {
@@ -4,6 +4,7 @@ export declare function handleHashTasks(payload: {
4
4
  env: any;
5
5
  tasks: Task[];
6
6
  taskGraph: TaskGraph;
7
+ cwd: string;
7
8
  }): Promise<{
8
9
  response: import("../../hasher/task-hasher").Hash[];
9
10
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"handle-hash-tasks.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/server/handle-hash-tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAa1D,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,aAAa,EAAE,GAAG,CAAC;IACnB,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;CACtB;;;GAsCA"}
1
+ {"version":3,"file":"handle-hash-tasks.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/server/handle-hash-tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAa1D,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,aAAa,EAAE,GAAG,CAAC;IACnB,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;;;GAuCA"}
@@ -27,7 +27,7 @@ async function handleHashTasks(payload) {
27
27
  storedProjectGraph = projectGraph;
28
28
  storedHasher = new task_hasher_1.InProcessTaskHasher(projectGraph, nxJson, rustReferences, payload.runnerOptions);
29
29
  }
30
- const response = await storedHasher.hashTasks(payload.tasks, payload.taskGraph, payload.env);
30
+ const response = await storedHasher.hashTasks(payload.tasks, payload.taskGraph, payload.env, payload.cwd);
31
31
  return {
32
32
  response,
33
33
  description: 'handleHashTasks',
@@ -13,7 +13,7 @@ export declare class NativeTaskHasherImpl implements TaskHasherImpl {
13
13
  constructor(workspaceRoot: string, nxJson: NxJsonConfiguration, projectGraph: ProjectGraph, externals: NxWorkspaceFilesExternals, options: {
14
14
  selectivelyHashTsConfig: boolean;
15
15
  });
16
- hashTask(task: Task, taskGraph: TaskGraph, env: NodeJS.ProcessEnv): Promise<PartialHash>;
17
- hashTasks(tasks: Task[], taskGraph: TaskGraph, env: NodeJS.ProcessEnv): Promise<PartialHash[]>;
16
+ hashTask(task: Task, taskGraph: TaskGraph, env: NodeJS.ProcessEnv, cwd?: string): Promise<PartialHash>;
17
+ hashTasks(tasks: Task[], taskGraph: TaskGraph, env: NodeJS.ProcessEnv, cwd?: string): Promise<PartialHash[]>;
18
18
  }
19
19
  //# sourceMappingURL=native-task-hasher-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native-task-hasher-impl.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/native-task-hasher-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,QAAQ,EACR,aAAa,EACb,WAAW,EACX,yBAAyB,EACzB,YAAY,IAAI,kBAAkB,EAClC,UAAU,EAEX,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI5D,qBAAa,oBAAqB,YAAW,cAAc;IACzD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACpD,oBAAoB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,iBAAiB,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;gBAGjC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,yBAAyB,EACpC,OAAO,EAAE;QAAE,uBAAuB,EAAE,OAAO,CAAA;KAAE;IAiCzC,QAAQ,CACZ,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,WAAW,CAAC;IAOjB,SAAS,CACb,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,WAAW,EAAE,CAAC;CAQ1B"}
1
+ {"version":3,"file":"native-task-hasher-impl.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/native-task-hasher-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,QAAQ,EACR,aAAa,EACb,WAAW,EACX,yBAAyB,EACzB,YAAY,IAAI,kBAAkB,EAClC,UAAU,EAEX,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI5D,qBAAa,oBAAqB,YAAW,cAAc;IACzD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACpD,oBAAoB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,iBAAiB,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;gBAGjC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,yBAAyB,EACpC,OAAO,EAAE;QAAE,uBAAuB,EAAE,OAAO,CAAA;KAAE;IAiCzC,QAAQ,CACZ,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC;IAOjB,SAAS,CACb,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,EAAE,CAAC;CAQ1B"}
@@ -23,14 +23,14 @@ class NativeTaskHasherImpl {
23
23
  this.planner = new native_1.HashPlanner(nxJson, this.projectGraphRef);
24
24
  this.hasher = new native_1.TaskHasher(workspaceRoot, this.projectGraphRef, this.projectFileMapRef, this.allWorkspaceFilesRef, Buffer.from(JSON.stringify(tsconfig)), paths, options);
25
25
  }
26
- async hashTask(task, taskGraph, env) {
26
+ async hashTask(task, taskGraph, env, cwd) {
27
27
  const plans = this.planner.getPlansReference([task.id], taskGraph);
28
- const hashes = this.hasher.hashPlans(plans, env);
28
+ const hashes = this.hasher.hashPlans(plans, env, cwd ?? process.cwd());
29
29
  return hashes[task.id];
30
30
  }
31
- async hashTasks(tasks, taskGraph, env) {
31
+ async hashTasks(tasks, taskGraph, env, cwd) {
32
32
  const plans = this.planner.getPlansReference(tasks.map((t) => t.id), taskGraph);
33
- const hashes = this.hasher.hashPlans(plans, env);
33
+ const hashes = this.hasher.hashPlans(plans, env, cwd ?? process.cwd());
34
34
  return tasks.map((t) => hashes[t.id]);
35
35
  }
36
36
  }
@@ -41,7 +41,7 @@ export interface TaskHasher {
41
41
  * @deprecated use hashTask(task:Task, taskGraph: TaskGraph, env: NodeJS.ProcessEnv) instead. This will be removed in v20
42
42
  */
43
43
  hashTask(task: Task, taskGraph: TaskGraph): Promise<Hash>;
44
- hashTask(task: Task, taskGraph: TaskGraph, env: NodeJS.ProcessEnv): Promise<Hash>;
44
+ hashTask(task: Task, taskGraph: TaskGraph, env: NodeJS.ProcessEnv, cwd?: string): Promise<Hash>;
45
45
  /**
46
46
  * @deprecated use hashTasks(tasks:Task[], taskGraph: TaskGraph, env: NodeJS.ProcessEnv) instead. This will be removed in v20
47
47
  * @param tasks
@@ -51,11 +51,11 @@ export interface TaskHasher {
51
51
  * @deprecated use hashTasks(tasks:Task[], taskGraph: TaskGraph, env: NodeJS.ProcessEnv) instead. This will be removed in v20
52
52
  */
53
53
  hashTasks(tasks: Task[], taskGraph: TaskGraph): Promise<Hash[]>;
54
- hashTasks(tasks: Task[], taskGraph: TaskGraph, env: NodeJS.ProcessEnv): Promise<Hash[]>;
54
+ hashTasks(tasks: Task[], taskGraph: TaskGraph, env: NodeJS.ProcessEnv, cwd?: string): Promise<Hash[]>;
55
55
  }
56
56
  export interface TaskHasherImpl {
57
- hashTasks(tasks: Task[], taskGraph: TaskGraph, env: NodeJS.ProcessEnv): Promise<PartialHash[]>;
58
- hashTask(task: Task, taskGraph: TaskGraph, env: NodeJS.ProcessEnv, visited?: string[]): Promise<PartialHash>;
57
+ hashTasks(tasks: Task[], taskGraph: TaskGraph, env: NodeJS.ProcessEnv, cwd?: string): Promise<PartialHash[]>;
58
+ hashTask(task: Task, taskGraph: TaskGraph, env: NodeJS.ProcessEnv, cwd?: string): Promise<PartialHash>;
59
59
  }
60
60
  export type Hasher = TaskHasher;
61
61
  export declare class DaemonBasedTaskHasher implements TaskHasher {
@@ -72,8 +72,8 @@ export declare class InProcessTaskHasher implements TaskHasher {
72
72
  private readonly options;
73
73
  private taskHasher;
74
74
  constructor(projectGraph: ProjectGraph, nxJson: NxJsonConfiguration, externalRustReferences: NxWorkspaceFilesExternals | null, options: any);
75
- hashTasks(tasks: Task[], taskGraph?: TaskGraph, env?: NodeJS.ProcessEnv): Promise<Hash[]>;
76
- hashTask(task: Task, taskGraph?: TaskGraph, env?: NodeJS.ProcessEnv): Promise<Hash>;
75
+ hashTasks(tasks: Task[], taskGraph?: TaskGraph, env?: NodeJS.ProcessEnv, cwd?: string): Promise<Hash[]>;
76
+ hashTask(task: Task, taskGraph?: TaskGraph, env?: NodeJS.ProcessEnv, cwd?: string): Promise<Hash>;
77
77
  private createHashDetails;
78
78
  private hashCommand;
79
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task-hasher.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/task-hasher.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAIxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QAClC,YAAY,CAAC,EAAE;YAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QAC9C,OAAO,CAAC,EAAE;YAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;KACvC,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,QAAQ,CACN,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1C;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhE,SAAS,CACP,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CACP,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAE1B,QAAQ,CACN,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC;AAEhC,qBAAa,qBAAsB,YAAW,UAAU;IAEpD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,GAAG;IAG/B,SAAS,CACb,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,CAAC,EAAE,SAAS,EACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,OAAO,CAAC,IAAI,EAAE,CAAC;IASZ,QAAQ,CACZ,IAAI,EAAE,IAAI,EACV,SAAS,CAAC,EAAE,SAAS,EACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC;CAUjB;AAED,qBAAa,mBAAoB,YAAW,UAAU;IAIlD,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,UAAU,CAAiB;gBAGhB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,mBAAmB,EAC3B,sBAAsB,EAAE,yBAAyB,GAAG,IAAI,EACxD,OAAO,EAAE,GAAG;IAazB,SAAS,CACb,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,CAAC,EAAE,SAAS,EACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,OAAO,CAAC,IAAI,EAAE,CAAC;IAWZ,QAAQ,CACZ,IAAI,EAAE,IAAI,EACV,SAAS,CAAC,EAAE,SAAS,EACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC;IAShB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,WAAW;CAepB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GACnB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GACnB;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GACf;IAAE,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AACvC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAWnE,wBAAgB,cAAc,CAC5B,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,uBAAuB;;;;EAOjC;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,uBAAuB,EACpC,MAAM,EAAE,MAAM;;;EAmBf;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,aAAa,EAAE,GAC/B,MAAM,EAAE,CAIV;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,mBAAmB;;;eAkBN,MAAM;sBAAgB,IAAI;;;;eACvB,MAAM;kBAAY,MAAM,EAAE;;EAPnD;AAyDD,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,IAAI,iBAAiB,CAE5E;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,GACnB,KAAK,IAAI,kBAAkB,CAE7B;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,CAAC,eAAe,GAAG,MAAM,CAAC,EAC/C,WAAW,EAAE;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,eAAe,GAAG,MAAM,CAAC,CAAA;CAAE,GAC5E,aAAa,EAAE,CAgCjB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,eAAe,GAAG,MAAM,CAAC,CAAA;CAAE,GAC5E,aAAa,EAAE,CAIjB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,QAAQ,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,QAAQ,EAAE,CAuCZ"}
1
+ {"version":3,"file":"task-hasher.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/task-hasher.ts"],"names":[],"mappings":"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"}
@@ -20,10 +20,10 @@ class DaemonBasedTaskHasher {
20
20
  this.runnerOptions = runnerOptions;
21
21
  }
22
22
  async hashTasks(tasks, taskGraph, env) {
23
- return this.daemonClient.hashTasks(this.runnerOptions, tasks, taskGraph, env ?? process.env);
23
+ return this.daemonClient.hashTasks(this.runnerOptions, tasks, taskGraph, env ?? process.env, process.cwd());
24
24
  }
25
25
  async hashTask(task, taskGraph, env) {
26
- return (await this.daemonClient.hashTasks(this.runnerOptions, [task], taskGraph, env ?? process.env))[0];
26
+ return (await this.daemonClient.hashTasks(this.runnerOptions, [task], taskGraph, env ?? process.env, process.cwd()))[0];
27
27
  }
28
28
  }
29
29
  exports.DaemonBasedTaskHasher = DaemonBasedTaskHasher;
@@ -37,12 +37,12 @@ class InProcessTaskHasher {
37
37
  selectivelyHashTsConfig: this.options?.selectivelyHashTsConfig ?? false,
38
38
  });
39
39
  }
40
- async hashTasks(tasks, taskGraph, env) {
41
- const hashes = await this.taskHasher.hashTasks(tasks, taskGraph, env ?? process.env);
40
+ async hashTasks(tasks, taskGraph, env, cwd) {
41
+ const hashes = await this.taskHasher.hashTasks(tasks, taskGraph, env ?? process.env, cwd ?? process.cwd());
42
42
  return tasks.map((task, index) => this.createHashDetails(task, hashes[index]));
43
43
  }
44
- async hashTask(task, taskGraph, env) {
45
- const res = await this.taskHasher.hashTask(task, taskGraph, env ?? process.env);
44
+ async hashTask(task, taskGraph, env, cwd) {
45
+ const res = await this.taskHasher.hashTask(task, taskGraph, env ?? process.env, cwd ?? process.cwd());
46
46
  return this.createHashDetails(task, res);
47
47
  }
48
48
  createHashDetails(task, res) {
@@ -184,7 +184,8 @@ function expandSingleProjectInputs(inputs, namedInputs) {
184
184
  d.env ||
185
185
  d.runtime ||
186
186
  d.externalDependencies ||
187
- d.dependentTasksOutputFiles) {
187
+ d.dependentTasksOutputFiles ||
188
+ d.workingDirectory) {
188
189
  expanded.push(d);
189
190
  }
190
191
  else {
@@ -156,7 +156,7 @@ export declare class TaskDetails {
156
156
 
157
157
  export declare class TaskHasher {
158
158
  constructor(workspaceRoot: string, projectGraph: ExternalObject<ProjectGraph>, projectFileMap: ExternalObject<ProjectFiles>, allWorkspaceFiles: ExternalObject<Array<FileData>>, tsConfig: Buffer, tsConfigPaths: Record<string, Array<string>>, options?: HasherOptions | undefined | null)
159
- hashPlans(hashPlans: ExternalObject<Record<string, Array<HashInstruction>>>, jsEnv: Record<string, string>): NapiDashMap
159
+ hashPlans(hashPlans: ExternalObject<Record<string, Array<HashInstruction>>>, jsEnv: Record<string, string>, cwd: string): NapiDashMap
160
160
  }
161
161
 
162
162
  export declare class Watcher {
@@ -513,6 +513,10 @@ export interface WatchEvent {
513
513
  type: EventType
514
514
  }
515
515
 
516
+ export interface WorkingDirectoryInput {
517
+ workingDirectory: string
518
+ }
519
+
516
520
  /** Public NAPI error codes that are for Node */
517
521
  export declare const enum WorkspaceErrors {
518
522
  ParseError = 'ParseError',
@@ -127,18 +127,19 @@ function __napi_rs_initialize_modules(__napiInstance) {
127
127
  __napiInstance.exports['__napi_register__EnvironmentInput_struct_52']?.()
128
128
  __napiInstance.exports['__napi_register__ExternalDependenciesInput_struct_53']?.()
129
129
  __napiInstance.exports['__napi_register__DepsOutputsInput_struct_54']?.()
130
- __napiInstance.exports['__napi_register__NxJson_struct_55']?.()
131
- __napiInstance.exports['__napi_register__is_ai_agent_56']?.()
132
- __napiInstance.exports['__napi_register__FileLock_struct_57']?.()
133
- __napiInstance.exports['__napi_register__FileLock_impl_59']?.()
134
- __napiInstance.exports['__napi_register__WorkspaceContext_struct_60']?.()
135
- __napiInstance.exports['__napi_register__WorkspaceContext_impl_71']?.()
136
- __napiInstance.exports['__napi_register__WorkspaceErrors_72']?.()
137
- __napiInstance.exports['__napi_register__NxWorkspaceFiles_struct_73']?.()
138
- __napiInstance.exports['__napi_register__NxWorkspaceFilesExternals_struct_74']?.()
139
- __napiInstance.exports['__napi_register__UpdatedWorkspaceFiles_struct_75']?.()
140
- __napiInstance.exports['__napi_register__FileMap_struct_76']?.()
141
- __napiInstance.exports['__napi_register____test_only_transfer_file_map_77']?.()
130
+ __napiInstance.exports['__napi_register__WorkingDirectoryInput_struct_55']?.()
131
+ __napiInstance.exports['__napi_register__NxJson_struct_56']?.()
132
+ __napiInstance.exports['__napi_register__is_ai_agent_57']?.()
133
+ __napiInstance.exports['__napi_register__FileLock_struct_58']?.()
134
+ __napiInstance.exports['__napi_register__FileLock_impl_60']?.()
135
+ __napiInstance.exports['__napi_register__WorkspaceContext_struct_61']?.()
136
+ __napiInstance.exports['__napi_register__WorkspaceContext_impl_72']?.()
137
+ __napiInstance.exports['__napi_register__WorkspaceErrors_73']?.()
138
+ __napiInstance.exports['__napi_register__NxWorkspaceFiles_struct_74']?.()
139
+ __napiInstance.exports['__napi_register__NxWorkspaceFilesExternals_struct_75']?.()
140
+ __napiInstance.exports['__napi_register__UpdatedWorkspaceFiles_struct_76']?.()
141
+ __napiInstance.exports['__napi_register__FileMap_struct_77']?.()
142
+ __napiInstance.exports['__napi_register____test_only_transfer_file_map_78']?.()
142
143
  }
143
144
  module.exports.FileLock = __napiModule.exports.FileLock
144
145
  module.exports.HashPlanInspector = __napiModule.exports.HashPlanInspector
Binary file
@@ -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;IA8BrF;;;;;;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,CAC/B,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI;IAgDhB,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"}
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;IA8BrF;;;;;;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,CAC/B,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI;IAgDhB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,2BAA2B;IAqDnC,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"}
@@ -286,6 +286,11 @@ class TargetProjectLocator {
286
286
  }
287
287
  resolveImportWithTypescript(normalizedImportExpr, filePath) {
288
288
  let resolvedModule;
289
+ if (!(0, node_path_1.isAbsolute)(filePath)) {
290
+ // Convert to an absolute file path because TypeScript's module resolution won't
291
+ // properly walk up the directory tree (toward the workspace root) when given a relative path.
292
+ filePath = this.getAbsolutePath(filePath);
293
+ }
289
294
  const projectName = (0, find_project_for_path_1.findProjectForPath)(filePath, this.projectRootMappings);
290
295
  const cacheScope = projectName
291
296
  ? // fall back to the project name if the project root can't be determined
@@ -4,7 +4,14 @@ import { PackageJson } from '../../utils/package-json';
4
4
  import { CreateNodesV2 } from '../../project-graph/plugins';
5
5
  import { PackageJsonConfigurationCache } from '../../../plugins/package-json';
6
6
  export declare const createNodesV2: CreateNodesV2;
7
- export declare function buildPackageJsonWorkspacesMatcher(workspaceRoot: string, readJson: (path: string) => any): (p: string) => boolean;
7
+ export declare function buildPackageJsonPatterns(workspaceRoot: string, readJson: (path: string) => any): PackageJsonPatterns;
8
+ type PackageJsonPatterns = {
9
+ positive: string[];
10
+ positiveLookup: Record<string, boolean>;
11
+ negative: string[];
12
+ negativeLookup: Record<string, boolean>;
13
+ };
14
+ export declare function buildPackageJsonWorkspacesMatcher(patterns: PackageJsonPatterns): (p: any) => boolean;
8
15
  export declare function createNodeFromPackageJson(pkgJsonPath: string, workspaceRoot: string, cache: PackageJsonConfigurationCache, isInPackageManagerWorkspaces: boolean): {
9
16
  projects: {
10
17
  [x: string]: ProjectConfiguration;
@@ -17,4 +24,5 @@ export declare function buildProjectConfigurationFromPackageJson(packageJson: Pa
17
24
  * Get the package.json globs from package manager workspaces
18
25
  */
19
26
  export declare function getGlobPatternsFromPackageManagerWorkspaces(root: string, readJson?: <T extends Object>(path: string) => T, readYaml?: <T extends Object>(path: string) => T, exists?: (path: string) => boolean): string[];
27
+ export {};
20
28
  //# sourceMappingURL=create-nodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-nodes.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/plugins/package-json/create-nodes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAc,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAMrF,OAAO,EAEL,WAAW,EAGZ,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAEL,aAAa,EACd,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,6BAA6B,EAE9B,MAAM,+BAA+B,CAAC;AAEvC,eAAO,MAAM,aAAa,EAAE,aA8C3B,CAAC;AAoBF,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,IAqBvB,GAAG,MAAM,aAYlB;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,6BAA6B,EACpC,4BAA4B,EAAE,OAAO;;;;EAoCtC;AAED,wBAAgB,wCAAwC,CACtD,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,mBAAmB,EAC3B,4BAA4B,EAAE,OAAO,GACpC,oBAAoB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CA8DzC;AAED;;GAEG;AACH,wBAAgB,2CAA2C,CACzD,IAAI,EAAE,MAAM,EAEZ,QAAQ,GAAE,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,CAER,EACtC,QAAQ,GAAE,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,CAER,EACtC,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAA0C,GACnE,MAAM,EAAE,CA+CV"}
1
+ {"version":3,"file":"create-nodes.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/plugins/package-json/create-nodes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAc,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAMrF,OAAO,EAEL,WAAW,EAGZ,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAEL,aAAa,EACd,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,6BAA6B,EAE9B,MAAM,+BAA+B,CAAC;AASvC,eAAO,MAAM,aAAa,EAAE,aAgD3B,CAAC;AAmBF,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,GAC9B,mBAAmB,CAqCrB;AACD,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC,CAAC;AACF,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,mBAAmB,IAErB,MAAC,aAeV;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,6BAA6B,EACpC,4BAA4B,EAAE,OAAO;;;;EAoCtC;AAED,wBAAgB,wCAAwC,CACtD,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,mBAAmB,EAC3B,4BAA4B,EAAE,OAAO,GACpC,oBAAoB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CA8DzC;AAED;;GAEG;AACH,wBAAgB,2CAA2C,CACzD,IAAI,EAAE,MAAM,EAEZ,QAAQ,GAAE,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,CAER,EACtC,QAAQ,GAAE,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,CAER,EACtC,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAA0C,GACnE,MAAM,EAAE,CA+CV"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createNodesV2 = void 0;
4
+ exports.buildPackageJsonPatterns = buildPackageJsonPatterns;
4
5
  exports.buildPackageJsonWorkspacesMatcher = buildPackageJsonWorkspacesMatcher;
5
6
  exports.createNodeFromPackageJson = createNodeFromPackageJson;
6
7
  exports.buildProjectConfigurationFromPackageJson = buildProjectConfigurationFromPackageJson;
@@ -21,15 +22,18 @@ const plugins_1 = require("../../project-graph/plugins");
21
22
  const path_2 = require("path");
22
23
  const file_hasher_1 = require("../../hasher/file-hasher");
23
24
  const package_json_2 = require("../../../plugins/package-json");
25
+ const globPatterns = (0, globs_1.combineGlobPatterns)('package.json', '**/package.json', 'project.json', '**/project.json');
24
26
  exports.createNodesV2 = [
25
- (0, globs_1.combineGlobPatterns)('package.json', '**/package.json', 'project.json', '**/project.json'),
27
+ globPatterns,
26
28
  (configFiles, _, context) => {
27
29
  const { packageJsons, projectJsonRoots } = splitConfigFiles(configFiles);
28
30
  const readJson = (f) => (0, fileutils_1.readJsonFile)((0, node_path_1.join)(context.workspaceRoot, f));
29
- const isInPackageJsonWorkspaces = process.env.NX_INFER_ALL_PACKAGE_JSONS === 'true' &&
30
- !configFiles.includes('package.json')
31
- ? () => true
32
- : buildPackageJsonWorkspacesMatcher(context.workspaceRoot, readJson);
31
+ let isInPackageJsonWorkspaces = (p) => true;
32
+ if (process.env.NX_INFER_ALL_PACKAGE_JSONS !== 'true' ||
33
+ configFiles.includes('package.json')) {
34
+ const patterns = buildPackageJsonPatterns(context.workspaceRoot, readJson);
35
+ isInPackageJsonWorkspaces = buildPackageJsonWorkspacesMatcher(patterns);
36
+ }
33
37
  const isNextToProjectJson = (packageJsonPath) => {
34
38
  return projectJsonRoots.has((0, node_path_1.dirname)(packageJsonPath));
35
39
  };
@@ -58,10 +62,22 @@ function splitConfigFiles(configFiles) {
58
62
  }
59
63
  return { packageJsons, projectJsonRoots };
60
64
  }
61
- function buildPackageJsonWorkspacesMatcher(workspaceRoot, readJson) {
65
+ function buildPackageJsonPatterns(workspaceRoot, readJson) {
62
66
  const patterns = getGlobPatternsFromPackageManagerWorkspaces(workspaceRoot, readJson);
63
- const negativePatterns = patterns.filter((p) => p.startsWith('!'));
64
- const positivePatterns = patterns.filter((p) => !p.startsWith('!'));
67
+ const negativePatterns = [];
68
+ const positivePatterns = [];
69
+ const positivePatternLookup = {};
70
+ const negativePatternLookup = {};
71
+ for (const pattern of patterns) {
72
+ if (pattern.startsWith('!')) {
73
+ negativePatterns.push(pattern);
74
+ negativePatternLookup[pattern.slice(1)] = true;
75
+ }
76
+ else {
77
+ positivePatterns.push(pattern);
78
+ positivePatternLookup[pattern] = true;
79
+ }
80
+ }
65
81
  if (
66
82
  // There are some negative patterns
67
83
  negativePatterns.length > 0 &&
@@ -71,7 +87,18 @@ function buildPackageJsonWorkspacesMatcher(workspaceRoot, readJson) {
71
87
  (positivePatterns.length === 1 && positivePatterns[0] === 'package.json'))) {
72
88
  positivePatterns.push('**/package.json');
73
89
  }
74
- return (p) => positivePatterns.some((positive) => (0, minimatch_1.minimatch)(p, positive)) &&
90
+ return {
91
+ positive: positivePatterns,
92
+ positiveLookup: positivePatternLookup,
93
+ negative: negativePatterns,
94
+ negativeLookup: negativePatternLookup,
95
+ };
96
+ }
97
+ function buildPackageJsonWorkspacesMatcher(patterns) {
98
+ return (p) =>
99
+ // use lookup to avoid unnecessary minimatch calls
100
+ (patterns.positiveLookup[p] ||
101
+ patterns.positive.some((positive) => (0, minimatch_1.minimatch)(p, positive))) &&
75
102
  /**
76
103
  * minimatch will return true if the given p is NOT excluded by the negative pattern.
77
104
  *
@@ -81,7 +108,8 @@ function buildPackageJsonWorkspacesMatcher(workspaceRoot, readJson) {
81
108
  * Therefore, we need to ensure that every negative pattern returns true to validate that the given p is not
82
109
  * excluded by any of the negative patterns.
83
110
  */
84
- negativePatterns.every((negative) => (0, minimatch_1.minimatch)(p, negative));
111
+ !patterns.negativeLookup[p] &&
112
+ patterns.negative.every((negative) => (0, minimatch_1.minimatch)(p, negative));
85
113
  }
86
114
  function createNodeFromPackageJson(pkgJsonPath, workspaceRoot, cache, isInPackageManagerWorkspaces) {
87
115
  const json = (0, fileutils_1.readJsonFile)((0, node_path_1.join)(workspaceRoot, pkgJsonPath));
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-pool.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/project-graph/plugins/isolation/plugin-pool.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAK9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA8C1D,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAuFhD"}
1
+ {"version":3,"file":"plugin-pool.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/project-graph/plugins/isolation/plugin-pool.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAO9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA4C1D,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAmGhD"}
@@ -2,13 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadRemoteNxPlugin = loadRemoteNxPlugin;
4
4
  const child_process_1 = require("child_process");
5
- const path = require("path");
6
5
  const net_1 = require("net");
6
+ const path = require("path");
7
+ // TODO (@AgentEnder): After scoped verbose logging is implemented, re-add verbose logs here.
8
+ // import { logger } from '../../utils/logger';
7
9
  const socket_utils_1 = require("../../../daemon/socket-utils");
8
10
  const consume_messages_from_socket_1 = require("../../../utils/consume-messages-from-socket");
9
- const messaging_1 = require("./messaging");
10
11
  const installation_directory_1 = require("../../../utils/installation-directory");
11
12
  const resolve_plugin_1 = require("../resolve-plugin");
13
+ const messaging_1 = require("./messaging");
12
14
  const cleanupFunctions = new Set();
13
15
  const pluginNames = new Map();
14
16
  const PLUGIN_TIMEOUT_HINT_TEXT = 'As a last resort, you can set NX_PLUGIN_NO_TIMEOUTS=true to bypass this timeout.';
@@ -35,28 +37,40 @@ async function loadRemoteNxPlugin(plugin, root, index) {
35
37
  const { worker, socket } = await startPluginWorker(name);
36
38
  // Register plugin worker as a subprocess of the main CLI
37
39
  // This allows metrics collection when the daemon is not used
40
+ // Fire-and-forget to avoid blocking the loading of the plugin
38
41
  if (worker.pid) {
39
- try {
40
- const { isOnDaemon } = await Promise.resolve().then(() => require('../../../daemon/is-on-daemon'));
41
- /**
42
- * We can only register the plugin worker as a subprocess of the main CLI
43
- * when the daemon is not used. Additionally, we can't explcitly register
44
- * the plugin worker as a subprocess of the daemon, because when on the
45
- * daemon, we'd get a different instance of the process metrics service.
46
- */
47
- if (!isOnDaemon()) {
48
- const { getProcessMetricsService } = await Promise.resolve().then(() => require('../../../tasks-runner/process-metrics-service'));
49
- getProcessMetricsService().registerMainCliSubprocess(worker.pid, `${name}${index !== undefined ? ` (${index})` : ''}`);
42
+ (async () => {
43
+ try {
44
+ const { isOnDaemon } = await Promise.resolve().then(() => require('../../../daemon/is-on-daemon'));
45
+ /**
46
+ * We can only register the plugin worker as a subprocess of the main CLI
47
+ * when the daemon is not used. Additionally, we can't explcitly register
48
+ * the plugin worker as a subprocess of the daemon, because when on the
49
+ * daemon, we'd get a different instance of the process metrics service.
50
+ */
51
+ if (!isOnDaemon()) {
52
+ const { getProcessMetricsService } = await Promise.resolve().then(() => require('../../../tasks-runner/process-metrics-service'));
53
+ getProcessMetricsService().registerMainCliSubprocess(worker.pid, `${name}${index !== undefined ? ` (${index})` : ''}`);
54
+ }
50
55
  }
51
- }
52
- catch {
53
- // Silently ignore - metrics collection is optional
54
- }
56
+ catch {
57
+ // Silently ignore - metrics collection is optional
58
+ }
59
+ })();
55
60
  }
56
61
  const pendingPromises = new Map();
57
62
  const exitHandler = createWorkerExitHandler(worker, pendingPromises);
58
63
  const cleanupFunction = () => {
59
64
  worker.off('exit', exitHandler);
65
+ // Unpipe streams to prevent hanging processes and release references
66
+ if (worker.stdout) {
67
+ worker.stdout.unpipe(process.stdout);
68
+ worker.stdout.destroy();
69
+ }
70
+ if (worker.stderr) {
71
+ worker.stderr.unpipe(process.stderr);
72
+ worker.stderr.destroy();
73
+ }
60
74
  socket.destroy();
61
75
  nxPluginWorkerCache.delete(cacheKey);
62
76
  };
@@ -235,6 +249,13 @@ function createWorkerHandler(worker, pending, onload, onloadError, socket) {
235
249
  }
236
250
  function createWorkerExitHandler(worker, pendingPromises) {
237
251
  return () => {
252
+ // Clean up piped streams when worker exits to prevent hanging
253
+ if (worker.stdout) {
254
+ worker.stdout.unpipe(process.stdout);
255
+ }
256
+ if (worker.stderr) {
257
+ worker.stderr.unpipe(process.stderr);
258
+ }
238
259
  for (const [_, pendingPromise] of pendingPromises) {
239
260
  pendingPromise.rejector(new Error(`Plugin worker ${pluginNames.get(worker) ?? worker.pid} exited unexpectedly with code ${worker.exitCode}`));
240
261
  }
@@ -298,13 +319,56 @@ async function startPluginWorker(name) {
298
319
  ipcPath,
299
320
  name,
300
321
  ], {
301
- stdio: 'inherit',
322
+ stdio: ['ignore', 'pipe', 'pipe'],
302
323
  env,
303
324
  detached: true,
304
325
  shell: false,
305
326
  windowsHide: true,
306
327
  });
328
+ // To make debugging easier and allow plugins to communicate things
329
+ // like performance metrics, we pipe the stdout/stderr of the worker
330
+ // to the main process.
331
+ // This adds one listener per plugin to a few events on process.stdout/stderr,
332
+ // so we need to increase the max listener count to avoid warnings.
333
+ //
334
+ // We originally used `inherit` for stdio, but that caused issues with
335
+ // some environments where the terminal was left in an inconsistent state
336
+ // that prevented `↑`/`↓` arrow keys from working correctly after Nx finished execution.
337
+ // Instead, they would print things like `^[[A`/`^[[B` to the terminal.
338
+ const stdoutMaxListeners = process.stdout.getMaxListeners();
339
+ const stderrMaxListeners = process.stderr.getMaxListeners();
340
+ if (stdoutMaxListeners !== 0) {
341
+ process.stdout.setMaxListeners(stdoutMaxListeners + 1);
342
+ }
343
+ if (stderrMaxListeners !== 0) {
344
+ process.stderr.setMaxListeners(stderrMaxListeners + 1);
345
+ }
346
+ worker.stdout.pipe(process.stdout);
347
+ worker.stderr.pipe(process.stderr);
348
+ // Unref the worker process so it doesn't prevent the parent from exiting.
349
+ // IMPORTANT: We must also unref the stdout/stderr streams. When streams are
350
+ // piped, they maintain internal references in Node's event loop. Without
351
+ // unreferencing them, the parent process will wait for the worker to exit
352
+ // even after worker.unref() is called. This causes e2e tests to hang on CI
353
+ // where test frameworks wait for all handles to be released.
354
+ //
355
+ // Although TypeScript types these as Readable/Writable, they are actually
356
+ // net.Socket instances at runtime. Node.js internally creates sockets for
357
+ // stdio pipes (see lib/internal/child_process.js createSocket function).
358
+ // Socket.unref() allows the event loop to exit if these are the only handles.
307
359
  worker.unref();
360
+ if (worker.stdout instanceof net_1.Socket) {
361
+ worker.stdout.unref();
362
+ }
363
+ else {
364
+ throw new Error(`Expected worker.stdout to be an instance of Socket, but got ${getTypeName(worker.stdout)}`);
365
+ }
366
+ if (worker.stderr instanceof net_1.Socket) {
367
+ worker.stderr.unref();
368
+ }
369
+ else {
370
+ throw new Error(`Expected worker.stderr to be an instance of Socket, but got ${getTypeName(worker.stderr)}`);
371
+ }
308
372
  let attempts = 0;
309
373
  return new Promise((resolve, reject) => {
310
374
  const id = setInterval(async () => {
@@ -343,3 +407,16 @@ function isServerAvailable(ipcPath) {
343
407
  }
344
408
  });
345
409
  }
410
+ function getTypeName(u) {
411
+ if (u === null)
412
+ return 'null';
413
+ if (u === undefined)
414
+ return 'undefined';
415
+ if (typeof u !== 'object')
416
+ return typeof u;
417
+ if (Array.isArray(u)) {
418
+ const innerTypes = u.map((el) => getTypeName(el));
419
+ return `Array<${Array.from(new Set(innerTypes)).join('|')}>`;
420
+ }
421
+ return u.constructor?.name ?? 'unknown object';
422
+ }
@@ -105,7 +105,7 @@ async function createOrchestrator(tasks, projectGraph, taskGraphForHashing, nxJs
105
105
  lifeCycle: compositedLifeCycle,
106
106
  };
107
107
  (0, run_command_1.setEnvVarsBasedOnArgs)(nxArgs, true);
108
- const orchestrator = new task_orchestrator_1.TaskOrchestrator(hasher, null, [], projectGraph, taskGraph, nxJson, nxArgs, false, client_1.daemonClient, undefined, taskGraphForHashing);
108
+ const orchestrator = new task_orchestrator_1.TaskOrchestrator(hasher, null, tasks, projectGraph, taskGraph, nxJson, nxArgs, false, client_1.daemonClient, undefined, taskGraphForHashing);
109
109
  await orchestrator.init();
110
110
  orchestrator.processAllScheduledTasks();
111
111
  return orchestrator;