nx 22.1.0-canary.20251024-7712d2a → 22.1.0-canary.20251028-221ad58

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 (66) hide show
  1. package/package.json +12 -12
  2. package/src/ai/utils.d.ts.map +1 -1
  3. package/src/ai/utils.js +3 -1
  4. package/src/command-line/init/implementation/react/write-vite-config.js +1 -1
  5. package/src/core/graph/main.js +1 -1
  6. package/src/daemon/client/client.d.ts.map +1 -1
  7. package/src/daemon/client/client.js +25 -19
  8. package/src/daemon/client/daemon-socket-messenger.d.ts +1 -1
  9. package/src/daemon/client/daemon-socket-messenger.d.ts.map +1 -1
  10. package/src/daemon/client/daemon-socket-messenger.js +5 -3
  11. package/src/daemon/is-v8-serializer-enabled.d.ts +6 -0
  12. package/src/daemon/is-v8-serializer-enabled.d.ts.map +1 -0
  13. package/src/daemon/is-v8-serializer-enabled.js +10 -0
  14. package/src/daemon/server/file-watching/file-watcher-sockets.d.ts.map +1 -1
  15. package/src/daemon/server/file-watching/file-watcher-sockets.js +1 -1
  16. package/src/daemon/server/handle-context-file-data.js +1 -1
  17. package/src/daemon/server/handle-flush-sync-generator-changes-to-disk.js +1 -1
  18. package/src/daemon/server/handle-get-files-in-directory.js +1 -1
  19. package/src/daemon/server/handle-get-registered-sync-generators.js +1 -1
  20. package/src/daemon/server/handle-get-sync-generator-changes.js +1 -1
  21. package/src/daemon/server/handle-glob.js +2 -2
  22. package/src/daemon/server/handle-hash-tasks.d.ts +1 -1
  23. package/src/daemon/server/handle-hash-tasks.d.ts.map +1 -1
  24. package/src/daemon/server/handle-hash-tasks.js +1 -1
  25. package/src/daemon/server/handle-nx-workspace-files.js +1 -1
  26. package/src/daemon/server/handle-outputs-tracking.js +1 -1
  27. package/src/daemon/server/handle-task-history.d.ts +2 -2
  28. package/src/daemon/server/handle-task-history.js +2 -2
  29. package/src/daemon/server/handle-tasks-execution-hooks.d.ts +1 -1
  30. package/src/daemon/server/handle-tasks-execution-hooks.js +1 -1
  31. package/src/daemon/server/project-graph-listener-sockets.d.ts.map +1 -1
  32. package/src/daemon/server/project-graph-listener-sockets.js +3 -2
  33. package/src/daemon/server/server.d.ts +2 -2
  34. package/src/daemon/server/server.d.ts.map +1 -1
  35. package/src/daemon/server/server.js +49 -28
  36. package/src/daemon/server/shutdown-utils.d.ts.map +1 -1
  37. package/src/daemon/server/shutdown-utils.js +2 -1
  38. package/src/daemon/socket-utils.d.ts +11 -0
  39. package/src/daemon/socket-utils.d.ts.map +1 -1
  40. package/src/daemon/socket-utils.js +41 -0
  41. package/src/native/nx.wasm32-wasi.wasm +0 -0
  42. package/src/plugins/js/index.d.ts.map +1 -1
  43. package/src/plugins/js/index.js +34 -20
  44. package/src/plugins/js/lock-file/pnpm-parser.d.ts.map +1 -1
  45. package/src/plugins/js/lock-file/pnpm-parser.js +4 -2
  46. package/src/project-graph/plugins/isolation/messaging.d.ts.map +1 -1
  47. package/src/project-graph/plugins/isolation/messaging.js +2 -1
  48. package/src/project-graph/plugins/isolation/plugin-pool.js +19 -5
  49. package/src/project-graph/plugins/loaded-nx-plugin.d.ts.map +1 -1
  50. package/src/project-graph/plugins/loaded-nx-plugin.js +2 -0
  51. package/src/project-graph/plugins/resolve-plugin.d.ts.map +1 -1
  52. package/src/project-graph/plugins/resolve-plugin.js +4 -2
  53. package/src/project-graph/utils/project-configuration-utils.d.ts.map +1 -1
  54. package/src/project-graph/utils/project-configuration-utils.js +3 -0
  55. package/src/tasks-runner/pseudo-ipc.d.ts.map +1 -1
  56. package/src/tasks-runner/pseudo-ipc.js +4 -4
  57. package/src/utils/consume-messages-from-socket.d.ts +2 -0
  58. package/src/utils/consume-messages-from-socket.d.ts.map +1 -1
  59. package/src/utils/consume-messages-from-socket.js +27 -8
  60. package/src/utils/git-utils.js +1 -1
  61. package/src/utils/plugins/atomizer-utils.d.ts +12 -0
  62. package/src/utils/plugins/atomizer-utils.d.ts.map +1 -0
  63. package/src/utils/plugins/atomizer-utils.js +23 -0
  64. package/src/utils/plugins/index.d.ts +1 -0
  65. package/src/utils/plugins/index.d.ts.map +1 -1
  66. package/src/utils/plugins/index.js +3 -1
@@ -16,6 +16,7 @@ const cache_1 = require("../cache");
16
16
  const error_types_1 = require("../../project-graph/error-types");
17
17
  const db_connection_1 = require("../../utils/db-connection");
18
18
  const get_plugins_1 = require("../../project-graph/plugins/get-plugins");
19
+ const consume_messages_from_socket_1 = require("../../utils/consume-messages-from-socket");
19
20
  exports.SERVER_INACTIVITY_TIMEOUT_MS = 10800000; // 10800000 ms = 3 hours
20
21
  let watcherInstance;
21
22
  function storeWatcherInstance(instance) {
@@ -70,7 +71,7 @@ function respondToClient(socket, response, description) {
70
71
  if (description) {
71
72
  logger_1.serverLogger.requestLog(`Responding to the client.`, description);
72
73
  }
73
- socket.write(`${response}${String.fromCodePoint(4)}`, (err) => {
74
+ socket.write(response + consume_messages_from_socket_1.MESSAGE_END_SEQ, (err) => {
74
75
  if (err) {
75
76
  console.error(err);
76
77
  }
@@ -10,4 +10,15 @@ export declare const getForkedProcessOsSocketPath: (id: string) => string;
10
10
  export declare const getPluginOsSocketPath: (id: string) => string;
11
11
  export declare function killSocketOrPath(): void;
12
12
  export declare function serializeResult(error: Error | null, serializedProjectGraph: string | null, serializedSourceMaps: string | null): string | null;
13
+ /**
14
+ * Helper to serialize data either using v8 serialization or JSON serialization, based on
15
+ * the user's preference and the success of each method. Should only be used by "client" side
16
+ * connections, daemon or other servers should respond based on the type of serialization used
17
+ * by the client it is communicating with.
18
+ *
19
+ * @param data Data to serialize
20
+ * @param force Forces one serialization method over the other
21
+ * @returns Serialized data as a string
22
+ */
23
+ export declare function serialize(data: any, force?: 'v8' | 'json'): string;
13
24
  //# sourceMappingURL=socket-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/daemon/socket-utils.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS,SAAyB,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,cAM/B,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,IAAI,MAAM,WAMtD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,IAAI,MAAM,WAM/C,CAAC;AAgBF,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAGD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,sBAAsB,EAAE,MAAM,GAAG,IAAI,EACrC,oBAAoB,EAAE,MAAM,GAAG,IAAI,GAClC,MAAM,GAAG,IAAI,CAKf"}
1
+ {"version":3,"file":"socket-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/daemon/socket-utils.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,SAAS,SAAyB,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,cAM/B,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,IAAI,MAAM,WAMtD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,IAAI,MAAM,WAM/C,CAAC;AAgBF,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAGD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,sBAAsB,EAAE,MAAM,GAAG,IAAI,EACrC,oBAAoB,EAAE,MAAM,GAAG,IAAI,GAClC,MAAM,GAAG,IAAI,CAKf;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CA4BlE"}
@@ -3,11 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPluginOsSocketPath = exports.getForkedProcessOsSocketPath = exports.getFullOsSocketPath = exports.isWindows = void 0;
4
4
  exports.killSocketOrPath = killSocketOrPath;
5
5
  exports.serializeResult = serializeResult;
6
+ exports.serialize = serialize;
6
7
  const fs_1 = require("fs");
7
8
  const os_1 = require("os");
8
9
  const path_1 = require("path");
9
10
  const tmp_dir_1 = require("./tmp-dir");
10
11
  const serializable_error_1 = require("../utils/serializable-error");
12
+ const is_v8_serializer_enabled_1 = require("./is-v8-serializer-enabled");
13
+ const v8_1 = require("v8");
11
14
  exports.isWindows = (0, os_1.platform)() === 'win32';
12
15
  /**
13
16
  * For IPC with the daemon server we use unix sockets or windows named pipes, depending on the user's operating system.
@@ -53,3 +56,41 @@ function serializeResult(error, serializedProjectGraph, serializedSourceMaps) {
53
56
  // We do not want to repeat work `JSON.stringify`ing an object containing the potentially large project graph so merge as strings
54
57
  return `{ "error": ${JSON.stringify(error ? (0, serializable_error_1.createSerializableError)(error) : error)}, "projectGraph": ${serializedProjectGraph}, "sourceMaps": ${serializedSourceMaps} }`;
55
58
  }
59
+ /**
60
+ * Helper to serialize data either using v8 serialization or JSON serialization, based on
61
+ * the user's preference and the success of each method. Should only be used by "client" side
62
+ * connections, daemon or other servers should respond based on the type of serialization used
63
+ * by the client it is communicating with.
64
+ *
65
+ * @param data Data to serialize
66
+ * @param force Forces one serialization method over the other
67
+ * @returns Serialized data as a string
68
+ */
69
+ function serialize(data, force) {
70
+ if (force === 'v8' || (0, is_v8_serializer_enabled_1.isV8SerializerEnabled)()) {
71
+ try {
72
+ return (0, v8_1.serialize)(data).toString('binary');
73
+ }
74
+ catch (e) {
75
+ if (force !== 'v8') {
76
+ console.warn(`Data could not be serialized using v8 serialization: ${e}. Falling back to JSON serialization.`);
77
+ // Fall back to JSON serialization
78
+ return JSON.stringify(data);
79
+ }
80
+ throw e;
81
+ }
82
+ }
83
+ else {
84
+ try {
85
+ return JSON.stringify(data);
86
+ }
87
+ catch (e) {
88
+ if (force !== 'json') {
89
+ // Fall back to v8 serialization
90
+ console.warn(`Data could not be serialized using JSON.stringify: ${e}. Falling back to v8 serialization.`);
91
+ return (0, v8_1.serialize)(data).toString('binary');
92
+ }
93
+ throw e;
94
+ }
95
+ }
96
+ }
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/plugins/js/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,kBAAkB,EAIlB,aAAa,EACd,MAAM,6BAA6B,CAAC;AAkBrC,eAAO,MAAM,IAAI,oCAAoC,CAAC;AAStD,eAAO,MAAM,aAAa,EAAE,aAK3B,CAAC;AA8CF,eAAO,MAAM,kBAAkB,EAAE,kBAkDhC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/plugins/js/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,kBAAkB,EAIlB,aAAa,EACd,MAAM,6BAA6B,CAAC;AAkBrC,eAAO,MAAM,IAAI,oCAAoC,CAAC;AAKtD,eAAO,MAAM,aAAa,EAAE,aAK3B,CAAC;AAkDF,eAAO,MAAM,kBAAkB,EAAE,kBAgDhC,CAAC"}
@@ -16,7 +16,8 @@ const lock_file_1 = require("./lock-file/lock-file");
16
16
  const build_dependencies_1 = require("./project-graph/build-dependencies/build-dependencies");
17
17
  const config_1 = require("./utils/config");
18
18
  exports.name = 'nx/js/dependencies-and-lockfile';
19
- let parsedLockFile = {};
19
+ // Separate in-memory caches
20
+ let cachedExternalNodes;
20
21
  exports.createNodesV2 = [
21
22
  (0, globs_1.combineGlobPatterns)(lock_file_1.LOCKFILES),
22
23
  (files, _, context) => {
@@ -38,15 +39,16 @@ function internalCreateNodes(lockFile, _, context) {
38
39
  ? (0, fs_1.readFileSync)(lockFilePath, 'utf-8')
39
40
  : (0, bun_parser_1.readBunLockFile)(lockFilePath);
40
41
  const lockFileHash = getLockFileHash(lockFileContents);
41
- if (!lockFileNeedsReprocessing(lockFileHash)) {
42
- const nodes = readCachedParsedLockFile().externalNodes;
43
- parsedLockFile.externalNodes = nodes;
42
+ if (!lockFileNeedsReprocessing(lockFileHash, externalNodesHashFile)) {
43
+ const nodes = readCachedExternalNodes();
44
+ cachedExternalNodes = nodes;
44
45
  return {
45
46
  externalNodes: nodes,
46
47
  };
47
48
  }
48
49
  const externalNodes = (0, lock_file_1.getLockFileNodes)(packageManager, lockFileContents, lockFileHash, context);
49
- parsedLockFile.externalNodes = externalNodes;
50
+ cachedExternalNodes = externalNodes;
51
+ writeExternalNodesCache(lockFileHash, externalNodes);
50
52
  return {
51
53
  externalNodes,
52
54
  };
@@ -58,19 +60,18 @@ const createDependencies = (_, ctx) => {
58
60
  // lockfile may not exist yet
59
61
  if (pluginConfig.analyzeLockfile &&
60
62
  (0, lock_file_1.lockFileExists)(packageManager) &&
61
- parsedLockFile.externalNodes) {
63
+ cachedExternalNodes) {
62
64
  const lockFilePath = (0, path_1.join)(workspace_root_1.workspaceRoot, (0, lock_file_1.getLockFileName)(packageManager));
63
65
  const lockFileContents = packageManager !== 'bun'
64
66
  ? (0, fs_1.readFileSync)(lockFilePath, 'utf-8')
65
67
  : (0, bun_parser_1.readBunLockFile)(lockFilePath);
66
68
  const lockFileHash = getLockFileHash(lockFileContents);
67
- if (!lockFileNeedsReprocessing(lockFileHash)) {
68
- lockfileDependencies = readCachedParsedLockFile().dependencies ?? [];
69
+ if (!lockFileNeedsReprocessing(lockFileHash, dependenciesHashFile)) {
70
+ lockfileDependencies = readCachedDependencies();
69
71
  }
70
72
  else {
71
73
  lockfileDependencies = (0, lock_file_1.getLockFileDependencies)(packageManager, lockFileContents, lockFileHash, ctx);
72
- parsedLockFile.dependencies = lockfileDependencies;
73
- writeLastProcessedLockfileHash(lockFileHash, parsedLockFile);
74
+ writeDependenciesCache(lockFileHash, lockfileDependencies);
74
75
  }
75
76
  }
76
77
  perf_hooks_1.performance.mark('build typescript dependencies - start');
@@ -83,21 +84,34 @@ exports.createDependencies = createDependencies;
83
84
  function getLockFileHash(lockFileContents) {
84
85
  return (0, file_hasher_1.hashArray)([versions_1.nxVersion, lockFileContents]);
85
86
  }
86
- function lockFileNeedsReprocessing(lockHash) {
87
+ function lockFileNeedsReprocessing(lockHash, hashFilePath) {
87
88
  try {
88
- return (0, fs_1.readFileSync)(lockFileHashFile).toString() !== lockHash;
89
+ return (0, fs_1.readFileSync)(hashFilePath).toString() !== lockHash;
89
90
  }
90
91
  catch {
91
92
  return true;
92
93
  }
93
94
  }
94
- function writeLastProcessedLockfileHash(hash, lockFile) {
95
- (0, fs_1.mkdirSync)((0, path_1.dirname)(lockFileHashFile), { recursive: true });
96
- (0, fs_1.writeFileSync)(cachedParsedLockFile, JSON.stringify(lockFile, null, 2));
97
- (0, fs_1.writeFileSync)(lockFileHashFile, hash);
95
+ // External nodes cache functions
96
+ function writeExternalNodesCache(hash, nodes) {
97
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(externalNodesHashFile), { recursive: true });
98
+ (0, fs_1.writeFileSync)(externalNodesCache, JSON.stringify(nodes, null, 2));
99
+ (0, fs_1.writeFileSync)(externalNodesHashFile, hash);
98
100
  }
99
- function readCachedParsedLockFile() {
100
- return JSON.parse((0, fs_1.readFileSync)(cachedParsedLockFile).toString());
101
+ function readCachedExternalNodes() {
102
+ return JSON.parse((0, fs_1.readFileSync)(externalNodesCache).toString());
101
103
  }
102
- const lockFileHashFile = (0, path_1.join)(cache_directory_1.workspaceDataDirectory, 'lockfile.hash');
103
- const cachedParsedLockFile = (0, path_1.join)(cache_directory_1.workspaceDataDirectory, 'parsed-lock-file.json');
104
+ // Dependencies cache functions
105
+ function writeDependenciesCache(hash, dependencies) {
106
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(dependenciesHashFile), { recursive: true });
107
+ (0, fs_1.writeFileSync)(dependenciesCache, JSON.stringify(dependencies, null, 2));
108
+ (0, fs_1.writeFileSync)(dependenciesHashFile, hash);
109
+ }
110
+ function readCachedDependencies() {
111
+ return JSON.parse((0, fs_1.readFileSync)(dependenciesCache).toString());
112
+ }
113
+ // Cache file paths
114
+ const externalNodesHashFile = (0, path_1.join)(cache_directory_1.workspaceDataDirectory, 'lockfile-nodes.hash');
115
+ const dependenciesHashFile = (0, path_1.join)(cache_directory_1.workspaceDataDirectory, 'lockfile-dependencies.hash');
116
+ const externalNodesCache = (0, path_1.join)(cache_directory_1.workspaceDataDirectory, 'parsed-lock-file.nodes.json');
117
+ const dependenciesCache = (0, path_1.join)(cache_directory_1.workspaceDataDirectory, 'parsed-lock-file.dependencies.json');
@@ -1 +1 @@
1
- {"version":3,"file":"pnpm-parser.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/plugins/js/lock-file/pnpm-parser.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,yBAAyB,EAE1B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAEL,YAAY,EACZ,wBAAwB,EACzB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AA2B3E,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAS1C;AAED,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,yBAAyB,+BAU/B;AAkUD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EACnB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,qBAAqB,EAClC,aAAa,EAAE,MAAM,GACpB,MAAM,CAqCR"}
1
+ {"version":3,"file":"pnpm-parser.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/plugins/js/lock-file/pnpm-parser.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,yBAAyB,EAE1B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAEL,YAAY,EACZ,wBAAwB,EACzB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AA2B3E,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAS1C;AAED,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,yBAAyB,+BAU/B;AAkUD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EACnB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,qBAAqB,EAClC,aAAa,EAAE,MAAM,GACpB,MAAM,CAuCR"}
@@ -287,8 +287,10 @@ function stringifyPnpmLockfile(graph, rootLockFileContent, packageJson, workspac
287
287
  const workspaceDependencyImporters = {};
288
288
  for (const [packageName, importerPath] of Object.entries(requiredImporters)) {
289
289
  const baseImporter = importers[importerPath];
290
- workspaceDependencyImporters[`workspace_modules/${packageName}`] =
291
- baseImporter;
290
+ if (baseImporter) {
291
+ workspaceDependencyImporters[`workspace_modules/${packageName}`] =
292
+ baseImporter;
293
+ }
292
294
  }
293
295
  const output = {
294
296
  ...data,
@@ -1 +1 @@
1
- {"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/project-graph/plugins/isolation/messaging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAElC,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,MAAM,EAAE,mBAAmB,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,0BAA0B,EAAE,OAAO,CAAC;KACrC,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EACH;QACE,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,qBAAqB,EAAE,OAAO,CAAC;QAC/B,sBAAsB,EAAE,OAAO,CAAC;QAChC,iBAAiB,EAAE,OAAO,CAAC;QAC3B,oBAAoB,EAAE,OAAO,CAAC;QAC9B,qBAAqB,EAAE,OAAO,CAAC;QAC/B,OAAO,EAAE,IAAI,CAAC;KACf,GACD;QACE,OAAO,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,KAAK,CAAC;KACd,CAAC;CACP;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,EAAE,oBAAoB,CAAC;QAC9B,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACH;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EACH;QACE,OAAO,EAAE,IAAI,CAAC;QACd,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,EAAE,EAAE,MAAM,CAAC;KACZ,GACD;QACE,OAAO,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACP;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE;QACP,OAAO,EAAE,yBAAyB,CAAC;QACnC,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACH;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE;QACP,KAAK,EAAE,YAAY,CAAC;QACpB,OAAO,EAAE,qBAAqB,CAAC;QAC/B,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACH;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EACH;QACE,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACxE,OAAO,EAAE,IAAI,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;KACZ,GACD;QACE,OAAO,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACP;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EACH;QACE,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,EAAE,IAAI,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;KACZ,GACD;QACE,OAAO,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACP;AAED,MAAM,WAAW,oCAAoC;IACnD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,wBAAwB,CAAC;KACnC,CAAC;CACH;AAED,MAAM,WAAW,0CAA0C;IACzD,IAAI,EAAE,yBAAyB,CAAC;IAChC,OAAO,EACH;QACE,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,IAAI,CAAC;QACd,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC;KAC9B,GACD;QACE,OAAO,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACP;AAED,MAAM,WAAW,qCAAqC;IACpD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,yBAAyB,CAAC;KACpC,CAAC;CACH;AAED,MAAM,WAAW,2CAA2C;IAC1D,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EACH;QACE,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,IAAI,CAAC;KACf,GACD;QACE,OAAO,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACP;AAED,MAAM,MAAM,mBAAmB,GAC3B,uBAAuB,GACvB,8BAA8B,GAC9B,+BAA+B,GAC/B,2BAA2B,GAC3B,oCAAoC,GACpC,qCAAqC,CAAC;AAE1C,MAAM,MAAM,kBAAkB,GAC1B,sBAAsB,GACtB,6BAA6B,GAC7B,8BAA8B,GAC9B,0BAA0B,GAC1B,0CAA0C,GAC1C,2CAA2C,CAAC;AAEhD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,GACpB,OAAO,IAAI,mBAAmB,CAgBhC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,GACpB,OAAO,IAAI,kBAAkB,CAe/B;AAED,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAGtC,KAAK,oBAAoB,CAAC,CAAC,SAAS,mBAAmB,GAAG,kBAAkB,IAC1E,CAAC,SAAS,kBAAkB,GACxB,YAAY,CAAC,mBAAmB,GAAG,IAAI,CAAC,GACxC,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;AAI9C,wBAAsB,cAAc,CAClC,CAAC,SAAS,mBAAmB,GAAG,kBAAkB,EAElD,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE;KACP,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAEhB,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC,SAAS,CAAC,KACxC,oBAAoB,CAAC,CAAC,CAAC;CAC7B,iBAUF;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,QAGlD"}
1
+ {"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/project-graph/plugins/isolation/messaging.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ exports.isPluginWorkerMessage = isPluginWorkerMessage;
4
4
  exports.isPluginWorkerResult = isPluginWorkerResult;
5
5
  exports.consumeMessage = consumeMessage;
6
6
  exports.sendMessageOverSocket = sendMessageOverSocket;
7
+ const consume_messages_from_socket_1 = require("../../../utils/consume-messages-from-socket");
7
8
  function isPluginWorkerMessage(message) {
8
9
  return (typeof message === 'object' &&
9
10
  'type' in message &&
@@ -46,5 +47,5 @@ async function consumeMessage(socket, raw, handlers) {
46
47
  }
47
48
  }
48
49
  function sendMessageOverSocket(socket, message) {
49
- socket.write(JSON.stringify(message) + String.fromCodePoint(4));
50
+ socket.write(JSON.stringify(message) + consume_messages_from_socket_1.MESSAGE_END_SEQ);
50
51
  }
@@ -166,7 +166,7 @@ function createWorkerHandler(worker, pending, onload, onloadError, socket) {
166
166
  }
167
167
  },
168
168
  createDependenciesResult: ({ tx, ...result }) => {
169
- const { resolver, rejector } = pending.get(tx);
169
+ const { resolver, rejector } = getPendingPromise(tx, pending);
170
170
  if (result.success) {
171
171
  resolver(result.dependencies);
172
172
  }
@@ -175,7 +175,7 @@ function createWorkerHandler(worker, pending, onload, onloadError, socket) {
175
175
  }
176
176
  },
177
177
  createNodesResult: ({ tx, ...result }) => {
178
- const { resolver, rejector } = pending.get(tx);
178
+ const { resolver, rejector } = getPendingPromise(tx, pending);
179
179
  if (result.success) {
180
180
  resolver(result.result);
181
181
  }
@@ -184,7 +184,7 @@ function createWorkerHandler(worker, pending, onload, onloadError, socket) {
184
184
  }
185
185
  },
186
186
  createMetadataResult: ({ tx, ...result }) => {
187
- const { resolver, rejector } = pending.get(tx);
187
+ const { resolver, rejector } = getPendingPromise(tx, pending);
188
188
  if (result.success) {
189
189
  resolver(result.metadata);
190
190
  }
@@ -193,7 +193,7 @@ function createWorkerHandler(worker, pending, onload, onloadError, socket) {
193
193
  }
194
194
  },
195
195
  preTasksExecutionResult: ({ tx, ...result }) => {
196
- const { resolver, rejector } = pending.get(tx);
196
+ const { resolver, rejector } = getPendingPromise(tx, pending);
197
197
  if (result.success) {
198
198
  resolver(result.mutations);
199
199
  }
@@ -202,7 +202,7 @@ function createWorkerHandler(worker, pending, onload, onloadError, socket) {
202
202
  }
203
203
  },
204
204
  postTasksExecutionResult: ({ tx, ...result }) => {
205
- const { resolver, rejector } = pending.get(tx);
205
+ const { resolver, rejector } = getPendingPromise(tx, pending);
206
206
  if (result.success) {
207
207
  resolver();
208
208
  }
@@ -220,6 +220,20 @@ function createWorkerExitHandler(worker, pendingPromises) {
220
220
  }
221
221
  };
222
222
  }
223
+ function getPendingPromise(tx, pending) {
224
+ const pendingPromise = pending.get(tx);
225
+ if (!pendingPromise) {
226
+ throw new Error(`No pending promise found for transaction "${tx}". This may indicate a bug in the plugin pool. Currently pending promises:\n` +
227
+ Array.from(pending.keys())
228
+ .map((t) => ` - ${t}`)
229
+ .join('\n'));
230
+ }
231
+ const { rejector, resolver } = pendingPromise;
232
+ return {
233
+ rejector,
234
+ resolver,
235
+ };
236
+ }
223
237
  function registerPendingPromise(tx, pending, callback, context) {
224
238
  let resolver, rejector, timeout;
225
239
  const promise = new Promise((res, rej) => {
@@ -1 +1 @@
1
- {"version":3,"file":"loaded-nx-plugin.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/plugins/loaded-nx-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAKhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAItB,qBAAa,cAAc;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,WAAW,EAAE,MAAM;QAGnB,EAAE,EAAE,CACF,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,oBAAoB,KAC1B,OAAO,CACV,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAC1E;KACF,CAAC;IACF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,CACxB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAC3B,OAAO,EAAE,wBAAwB,KAC9B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEhB,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB;CAqFtE"}
1
+ {"version":3,"file":"loaded-nx-plugin.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/plugins/loaded-nx-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAKhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAItB,qBAAa,cAAc;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,WAAW,EAAE,MAAM;QAGnB,EAAE,EAAE,CACF,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,oBAAoB,KAC1B,OAAO,CACV,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAC1E;KACF,CAAC;IACF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,CACxB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAC3B,OAAO,EAAE,wBAAwB,KAC9B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;gBAEhB,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB;CAuFtE"}
@@ -66,6 +66,8 @@ class LoadedNxPlugin {
66
66
  });
67
67
  }
68
68
  await plugin.preTasksExecution(this.options, context);
69
+ // This doesn't revert env changes, as the proxy still updates
70
+ // originalEnv, rather it removes the proxy.
69
71
  process.env = originalEnv;
70
72
  return updates;
71
73
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-plugin.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/plugins/resolve-plugin.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAIrF,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE;;;;GAgBhB;AAqBD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC9C,IAAI,SAAgB,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,oBAAoB,CAAA;CAAE,GAAG,IAAI,CAE9D;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC9C,IAAI,EAAE,MAAM;;;;EAmCb"}
1
+ {"version":3,"file":"resolve-plugin.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/plugins/resolve-plugin.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAOrF,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE;;;;GAiBhB;AAqBD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC9C,IAAI,SAAgB,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,oBAAoB,CAAA;CAAE,GAAG,IAAI,CAE9D;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC9C,IAAI,EAAE,MAAM;;;;EAmCb"}
@@ -13,14 +13,16 @@ const workspace_root_1 = require("../../utils/workspace-root");
13
13
  const find_project_for_path_1 = require("../utils/find-project-for-path");
14
14
  const retrieve_workspace_files_1 = require("../utils/retrieve-workspace-files");
15
15
  let projectsWithoutInference;
16
+ let projectsWithoutInferencePromise = null;
16
17
  async function resolveNxPlugin(moduleName, root, paths) {
17
18
  try {
18
19
  require.resolve(moduleName);
19
20
  }
20
21
  catch {
21
22
  // If a plugin cannot be resolved, we will need projects to resolve it
22
- projectsWithoutInference ??=
23
- await (0, retrieve_workspace_files_1.retrieveProjectConfigurationsWithoutPluginInference)(root);
23
+ projectsWithoutInferencePromise ??=
24
+ (0, retrieve_workspace_files_1.retrieveProjectConfigurationsWithoutPluginInference)(root);
25
+ projectsWithoutInference ??= await projectsWithoutInferencePromise;
24
26
  }
25
27
  const { pluginPath, name, shouldRegisterTSTranspiler } = getPluginPathAndName(moduleName, paths, projectsWithoutInference, root);
26
28
  return { pluginPath, name, shouldRegisterTSTranspiler };
@@ -1 +1 @@
1
- {"version":3,"file":"project-configuration-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/utils/project-configuration-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-configuration-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/utils/project-configuration-utils.ts"],"names":[],"mappings":"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"}
@@ -470,6 +470,9 @@ function validateAndNormalizeProjectRootMap(workspaceRoot, projectRootMap, nxJso
470
470
  throw e;
471
471
  }
472
472
  }
473
+ }
474
+ for (const root in projectRootMap) {
475
+ const project = projectRootMap[root];
473
476
  normalizeTargets(project, sourceMaps, nxJsonConfiguration, workspaceRoot, projects);
474
477
  }
475
478
  if (conflicts.size > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"pseudo-ipc.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/pseudo-ipc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,yBAAyB,GAAG,yBAAyB,GAAG,aAAa,CAAC;IAC5E,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,qBAAa,eAAe;IAUd,OAAO,CAAC,IAAI;IATxB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,CAAC,aAAa,CAIZ;gBAEW,IAAI,EAAE,MAAM;IAEhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAerB,OAAO,CAAC,aAAa,CAAiC;IAEhD,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAMvC,OAAO,CAAC,qBAAqB;IA8B7B,qBAAqB,CAAC,OAAO,EAAE,YAAY;IAU3C,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IASpD,qBAAqB,CACnB,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,EAC1C,OAAO,GAAE,MAAM,IAAe,EAC9B,OAAO,GAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAkB;IAS7C,KAAK;CAIN;AAED,qBAAa,eAAe;IAGd,OAAO,CAAC,IAAI;IAFxB,OAAO,CAAC,MAAM,CAA0C;gBAEpC,IAAI,EAAE,MAAM;IAEhC,mBAAmB,CAAC,OAAO,EAAE,YAAY;IAQzC,kBAAkB,CAAC,EAAE,EAAE,MAAM;IAW7B,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,EAC1C,OAAO,GAAE,MAAM,IAAe,EAC9B,OAAO,GAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAkB;IAsB7C,KAAK;CAGN"}
1
+ {"version":3,"file":"pseudo-ipc.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/pseudo-ipc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,yBAAyB,GAAG,yBAAyB,GAAG,aAAa,CAAC;IAC5E,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,qBAAa,eAAe;IAUd,OAAO,CAAC,IAAI;IATxB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,CAAC,aAAa,CAIZ;gBAEW,IAAI,EAAE,MAAM;IAEhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAerB,OAAO,CAAC,aAAa,CAAiC;IAEhD,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAMvC,OAAO,CAAC,qBAAqB;IA8B7B,qBAAqB,CAAC,OAAO,EAAE,YAAY;IAU3C,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IASpD,qBAAqB,CACnB,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,EAC1C,OAAO,GAAE,MAAM,IAAe,EAC9B,OAAO,GAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAkB;IAS7C,KAAK;CAIN;AAED,qBAAa,eAAe;IAGd,OAAO,CAAC,IAAI;IAFxB,OAAO,CAAC,MAAM,CAA0C;gBAEpC,IAAI,EAAE,MAAM;IAEhC,mBAAmB,CAAC,OAAO,EAAE,YAAY;IAQzC,kBAAkB,CAAC,EAAE,EAAE,MAAM;IAW7B,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,EAC1C,OAAO,GAAE,MAAM,IAAe,EAC9B,OAAO,GAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAkB;IAsB7C,KAAK;CAGN"}
@@ -77,13 +77,13 @@ class PseudoIPCServer {
77
77
  this.sockets.forEach((socket) => {
78
78
  socket.write(JSON.stringify({ type: 'TO_CHILDREN_FROM_PARENT', message }));
79
79
  // send EOT to indicate that the message has been fully written
80
- socket.write(String.fromCodePoint(4));
80
+ socket.write(consume_messages_from_socket_1.MESSAGE_END_SEQ);
81
81
  });
82
82
  }
83
83
  sendMessageToChild(id, message) {
84
84
  this.sockets.forEach((socket) => {
85
85
  socket.write(JSON.stringify({ type: 'TO_CHILDREN_FROM_PARENT', id, message }));
86
- socket.write(String.fromCodePoint(4));
86
+ socket.write(consume_messages_from_socket_1.MESSAGE_END_SEQ);
87
87
  });
88
88
  }
89
89
  onMessageFromChildren(onMessage, onClose = () => { }, onError = (err) => { }) {
@@ -107,7 +107,7 @@ class PseudoIPCClient {
107
107
  sendMessageToParent(message) {
108
108
  this.socket.write(JSON.stringify({ type: 'TO_PARENT_FROM_CHILDREN', message }));
109
109
  // send EOT to indicate that the message has been fully written
110
- this.socket.write(String.fromCodePoint(4));
110
+ this.socket.write(consume_messages_from_socket_1.MESSAGE_END_SEQ);
111
111
  }
112
112
  notifyChildIsReady(id) {
113
113
  this.socket.write(JSON.stringify({
@@ -115,7 +115,7 @@ class PseudoIPCClient {
115
115
  message: id,
116
116
  }));
117
117
  // send EOT to indicate that the message has been fully written
118
- this.socket.write(String.fromCodePoint(4));
118
+ this.socket.write(consume_messages_from_socket_1.MESSAGE_END_SEQ);
119
119
  }
120
120
  onMessageFromParent(forkId, onMessage, onClose = () => { }, onError = (err) => { }) {
121
121
  this.socket.on('data', (0, consume_messages_from_socket_1.consumeMessagesFromSocket)(async (rawMessage) => {
@@ -1,2 +1,4 @@
1
+ export declare const MESSAGE_END_SEQ: string;
1
2
  export declare function consumeMessagesFromSocket(callback: (message: string) => void): (data: any) => void;
3
+ export declare function isJsonMessage(message: string): boolean;
2
4
  //# sourceMappingURL=consume-messages-from-socket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consume-messages-from-socket.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/consume-messages-from-socket.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,IAEnE,SAAI,UAgBb"}
1
+ {"version":3,"file":"consume-messages-from-socket.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/consume-messages-from-socket.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,QAAwC,CAAC;AAErE,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,IAEnE,SAAI,UAyBb;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAYtD"}
@@ -1,21 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MESSAGE_END_SEQ = void 0;
3
4
  exports.consumeMessagesFromSocket = consumeMessagesFromSocket;
5
+ exports.isJsonMessage = isJsonMessage;
6
+ exports.MESSAGE_END_SEQ = 'NX_MSG_END' + String.fromCharCode(4);
4
7
  function consumeMessagesFromSocket(callback) {
5
8
  let message = '';
6
9
  return (data) => {
7
10
  const chunk = data.toString();
8
- if (chunk.codePointAt(chunk.length - 1) === 4) {
9
- message += chunk.substring(0, chunk.length - 1);
10
- // Server may send multiple messages in one chunk, so splitting by 0x4
11
- const messages = message.split('');
11
+ message += chunk;
12
+ // Check if accumulated message ends with MESSAGE_END_SEQ (not just the chunk)
13
+ // This handles TCP packet fragmentation where MESSAGE_END_SEQ may be split across packets
14
+ if (message.endsWith(exports.MESSAGE_END_SEQ)) {
15
+ // Remove the trailing MESSAGE_END_SEQ
16
+ const fullMessage = message.substring(0, message.length - exports.MESSAGE_END_SEQ.length);
17
+ // Server may send multiple messages in one chunk, so splitting by MESSAGE_END_SEQ
18
+ const messages = fullMessage.split(exports.MESSAGE_END_SEQ);
12
19
  for (const splitMessage of messages) {
13
- callback(splitMessage);
20
+ if (splitMessage) {
21
+ callback(splitMessage);
22
+ }
14
23
  }
15
24
  message = '';
16
25
  }
17
- else {
18
- message += chunk;
19
- }
26
+ // If message doesn't end with MESSAGE_END_SEQ, keep accumulating chunks
20
27
  };
21
28
  }
29
+ function isJsonMessage(message) {
30
+ return (
31
+ // json objects
32
+ ['[', '{'].some((prefix) => message.startsWith(prefix)) ||
33
+ // booleans
34
+ message === 'true' ||
35
+ message === 'false' ||
36
+ // strings
37
+ (message.startsWith('"') && message.endsWith('"')) ||
38
+ // numbers
39
+ /^[0-9]+(\.?[0-9]+)?$/.test(message));
40
+ }
@@ -15,7 +15,7 @@ function execAsync(command, execOptions) {
15
15
  if (err) {
16
16
  return rej(err);
17
17
  }
18
- res(stdout);
18
+ res(stdout.toString());
19
19
  });
20
20
  });
21
21
  }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Helper that tries to derive the name of the CI group, based on the related target name.
3
+ *
4
+ * This will work well when the CI target name follows the documented naming convention or similar (for e.g `test-ci`, `e2e-ci`, `ny-e2e-ci`, etc).
5
+ *
6
+ * For example, `test-ci` => `TEST (CI)`, `e2e-ci` => `E2E (CI)`, `my-e2e-ci` => `MY E2E (CI)`
7
+ *
8
+ * @param ciTargetName name of the CI target
9
+ * @returns the derived group name or `${ciTargetName.toUpperCase()} (CI)` if cannot be derived automatically
10
+ */
11
+ export declare function deriveGroupNameFromTarget(ciTargetName: string | undefined): string;
12
+ //# sourceMappingURL=atomizer-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomizer-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/utils/plugins/atomizer-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,UAYzE"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deriveGroupNameFromTarget = deriveGroupNameFromTarget;
4
+ /**
5
+ * Helper that tries to derive the name of the CI group, based on the related target name.
6
+ *
7
+ * This will work well when the CI target name follows the documented naming convention or similar (for e.g `test-ci`, `e2e-ci`, `ny-e2e-ci`, etc).
8
+ *
9
+ * For example, `test-ci` => `TEST (CI)`, `e2e-ci` => `E2E (CI)`, `my-e2e-ci` => `MY E2E (CI)`
10
+ *
11
+ * @param ciTargetName name of the CI target
12
+ * @returns the derived group name or `${ciTargetName.toUpperCase()} (CI)` if cannot be derived automatically
13
+ */
14
+ function deriveGroupNameFromTarget(ciTargetName) {
15
+ if (!ciTargetName) {
16
+ return null;
17
+ }
18
+ const parts = ciTargetName.split('-').map((v) => v.toUpperCase());
19
+ if (parts.length > 1) {
20
+ return `${parts.slice(0, -1).join(' ')} (${parts[parts.length - 1]})`;
21
+ }
22
+ return `${parts[0]} (CI)`; // default group name when there is a single segment
23
+ }
@@ -2,4 +2,5 @@ export { getInstalledPluginsAndCapabilities } from './installed-plugins';
2
2
  export { getLocalWorkspacePlugins } from './local-plugins';
3
3
  export { listPlugins, listAlsoAvailableCorePlugins, listPluginCapabilities, } from './output';
4
4
  export { getPluginCapabilities } from './plugin-capabilities';
5
+ export { deriveGroupNameFromTarget } from './atomizer-utils';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/utils/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,WAAW,EACX,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/utils/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,WAAW,EACX,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPluginCapabilities = exports.listPluginCapabilities = exports.listAlsoAvailableCorePlugins = exports.listPlugins = exports.getLocalWorkspacePlugins = exports.getInstalledPluginsAndCapabilities = void 0;
3
+ exports.deriveGroupNameFromTarget = exports.getPluginCapabilities = exports.listPluginCapabilities = exports.listAlsoAvailableCorePlugins = exports.listPlugins = exports.getLocalWorkspacePlugins = exports.getInstalledPluginsAndCapabilities = void 0;
4
4
  var installed_plugins_1 = require("./installed-plugins");
5
5
  Object.defineProperty(exports, "getInstalledPluginsAndCapabilities", { enumerable: true, get: function () { return installed_plugins_1.getInstalledPluginsAndCapabilities; } });
6
6
  var local_plugins_1 = require("./local-plugins");
@@ -11,3 +11,5 @@ Object.defineProperty(exports, "listAlsoAvailableCorePlugins", { enumerable: tru
11
11
  Object.defineProperty(exports, "listPluginCapabilities", { enumerable: true, get: function () { return output_1.listPluginCapabilities; } });
12
12
  var plugin_capabilities_1 = require("./plugin-capabilities");
13
13
  Object.defineProperty(exports, "getPluginCapabilities", { enumerable: true, get: function () { return plugin_capabilities_1.getPluginCapabilities; } });
14
+ var atomizer_utils_1 = require("./atomizer-utils");
15
+ Object.defineProperty(exports, "deriveGroupNameFromTarget", { enumerable: true, get: function () { return atomizer_utils_1.deriveGroupNameFromTarget; } });