nx 21.5.1-beta.5 → 21.6.0-canary.20250908-95e7b49

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.
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"build-project-graph.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/project-graph/build-project-graph.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAIL,YAAY,EAEb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAEL,qBAAqB,EAEtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,OAAO,EACP,YAAY,EACZ,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAI7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAEL,mBAAmB,EAKpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EAExB,MAAM,qCAAqC,CAAC;AAO7C,wBAAgB,UAAU,IAAI;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,QAAQ,EAAE,CAAC;IAC9B,cAAc,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAClD,CAiBA;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,QAAQ,EAAE,EAC7B,cAAc,EAAE,yBAAyB,QAK1C;AAED,wBAAsB,oCAAoC,CACxD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EACpD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,EACvD,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,QAAQ,EAAE,EAC7B,cAAc,EAAE,yBAAyB,EACzC,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,OAAO,EAAE,cAAc,EAAE,EACzB,SAAS,EAAE,uBAAuB,GACjC,OAAO,CAAC;IACT,YAAY,EAAE,YAAY,CAAC;IAC3B,mBAAmB,EAAE,YAAY,CAAC;CACnC,CAAC,CA4FD;AA+OD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,cAAc,EAAE,EACzB,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,uBAAuB,GACjC,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAAC,CAuFlE"}
1
+ {"version":3,"file":"build-project-graph.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/project-graph/build-project-graph.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAIL,YAAY,EAEb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAEL,qBAAqB,EAEtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,OAAO,EACP,YAAY,EACZ,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAI7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAEL,mBAAmB,EAKpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EAExB,MAAM,qCAAqC,CAAC;AAQ7C,wBAAgB,UAAU,IAAI;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,QAAQ,EAAE,CAAC;IAC9B,cAAc,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAClD,CAiBA;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,QAAQ,EAAE,EAC7B,cAAc,EAAE,yBAAyB,QAK1C;AAED,wBAAsB,oCAAoC,CACxD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EACpD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,EACvD,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,QAAQ,EAAE,EAC7B,cAAc,EAAE,yBAAyB,EACzC,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,OAAO,EAAE,cAAc,EAAE,EACzB,SAAS,EAAE,uBAAuB,GACjC,OAAO,CAAC;IACT,YAAY,EAAE,YAAY,CAAC;IAC3B,mBAAmB,EAAE,YAAY,CAAC;CACnC,CAAC,CA+FD;AA+OD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,cAAc,EAAE,EACzB,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,uBAAuB,GACjC,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAA;CAAE,CAAC,CAuFlE"}
@@ -19,6 +19,7 @@ const fs_1 = require("fs");
19
19
  const error_types_1 = require("./error-types");
20
20
  const project_configuration_utils_1 = require("./utils/project-configuration-utils");
21
21
  const delayed_spinner_1 = require("../utils/delayed-spinner");
22
+ const file_hasher_1 = require("../hasher/file-hasher");
22
23
  let storedFileMap = null;
23
24
  let storedAllWorkspaceFiles = null;
24
25
  let storedRustReferences = null;
@@ -68,10 +69,11 @@ async function buildProjectGraphUsingProjectFileMap(projectRootMap, externalNode
68
69
  }
69
70
  const packageJsonDeps = readCombinedDeps();
70
71
  const rootTsConfig = readRootTsConfig();
72
+ const externalNodesHash = hashExternalNodes(externalNodes);
71
73
  let filesToProcess;
72
74
  let cachedFileData;
73
75
  const useCacheData = fileMapCache &&
74
- !(0, nx_deps_cache_1.shouldRecomputeWholeGraph)(fileMapCache, packageJsonDeps, projects, nxJson, rootTsConfig);
76
+ !(0, nx_deps_cache_1.shouldRecomputeWholeGraph)(fileMapCache, packageJsonDeps, projects, nxJson, rootTsConfig, externalNodesHash);
75
77
  if (useCacheData) {
76
78
  const fromCache = (0, nx_deps_cache_1.extractCachedFileData)(fileMap, fileMapCache);
77
79
  filesToProcess = fromCache.filesToProcess;
@@ -89,7 +91,7 @@ async function buildProjectGraphUsingProjectFileMap(projectRootMap, externalNode
89
91
  try {
90
92
  const context = createContext(projects, nxJson, externalNodes, fileMap, filesToProcess);
91
93
  projectGraph = await buildProjectGraphUsingContext(externalNodes, context, cachedFileData, projectGraphVersion, plugins, sourceMap);
92
- projectFileMapCache = (0, nx_deps_cache_1.createProjectFileMapCache)(nxJson, packageJsonDeps, fileMap, rootTsConfig);
94
+ projectFileMapCache = (0, nx_deps_cache_1.createProjectFileMapCache)(nxJson, packageJsonDeps, fileMap, rootTsConfig, externalNodesHash);
93
95
  }
94
96
  catch (e) {
95
97
  // we need to include the workspace validity errors in the final error
@@ -313,3 +315,9 @@ async function applyProjectMetadata(graph, plugins, context, sourceMap) {
313
315
  perf_hooks_1.performance.measure(`createMetadata`, `createMetadata:start`, `createMetadata:end`);
314
316
  return { errors, graph };
315
317
  }
318
+ function hashExternalNodes(externalNodes) {
319
+ return (0, file_hasher_1.hashObject)(Object.entries(externalNodes).reduce((acc, [name, node]) => {
320
+ acc[name] = node.data.version;
321
+ return acc;
322
+ }, {}));
323
+ }
@@ -1,5 +1,5 @@
1
1
  import { NxJsonConfiguration } from '../config/nx-json';
2
- import { FileData, FileMap, ProjectGraph } from '../config/project-graph';
2
+ import type { FileData, FileMap, ProjectGraph } from '../config/project-graph';
3
3
  import { ProjectConfiguration } from '../config/workspace-json-project-json';
4
4
  import { ConfigurationSourceMaps } from './utils/project-configuration-utils';
5
5
  import { ProjectGraphErrorTypes } from './error-types';
@@ -10,6 +10,7 @@ export interface FileMapCache {
10
10
  nxJsonPlugins: PluginData[];
11
11
  pluginsConfig?: any;
12
12
  fileMap: FileMap;
13
+ externalNodesHash?: string;
13
14
  }
14
15
  export declare const nxProjectGraph: string;
15
16
  export declare const nxFileMap: string;
@@ -24,7 +25,7 @@ export declare function createProjectFileMapCache(nxJson: NxJsonConfiguration<'*
24
25
  [p: string]: any;
25
26
  };
26
27
  };
27
- }): FileMapCache;
28
+ }, externalNodesHash: string): FileMapCache;
28
29
  export declare function writeCache(cache: FileMapCache, projectGraph: ProjectGraph, sourceMaps: ConfigurationSourceMaps, errors: ProjectGraphErrorTypes[]): void;
29
30
  export declare function shouldRecomputeWholeGraph(cache: FileMapCache, packageJsonDeps: Record<string, string>, projects: Record<string, ProjectConfiguration>, nxJson: NxJsonConfiguration, tsConfig: {
30
31
  compilerOptions: {
@@ -32,7 +33,7 @@ export declare function shouldRecomputeWholeGraph(cache: FileMapCache, packageJs
32
33
  [k: string]: any;
33
34
  };
34
35
  };
35
- }): boolean;
36
+ }, externalNodesHash: string): boolean;
36
37
  export type CachedFileData = {
37
38
  nonProjectFiles: Record<string, FileData>;
38
39
  projectFileMap: {
@@ -1 +1 @@
1
- {"version":3,"file":"nx-deps-cache.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/project-graph/nx-deps-cache.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EACL,QAAQ,EACR,OAAO,EAEP,YAAY,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAU7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAEL,sBAAsB,EAEvB,MAAM,eAAe,CAAC;AAIvB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,cAAc,QAG1B,CAAC;AACF,eAAO,MAAM,SAAS,QAAgD,CAAC;AAEvE,eAAO,MAAM,YAAY,QAAmD,CAAC;AAE7E,wBAAgB,oBAAoB,IAAI,IAAI,CAoB3C;AAED,wBAAgB,gBAAgB,IAAI,IAAI,GAAG,YAAY,CAmBtD;AAED,wBAAgB,qBAAqB,CACnC,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,GAAG,YAAY,CA8DrB;AAED,wBAAgB,mBAAmB,IAAI,IAAI,GAAG,uBAAuB,CAuBpE;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,mBAAmB,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,EAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE;IAAE,eAAe,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,gBAajE;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,uBAAuB,EACnC,MAAM,EAAE,sBAAsB,EAAE,GAC/B,IAAI,CA+DN;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC9C,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE;IAAE,eAAe,EAAE;QAAE,KAAK,EAAE;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,GAC7D,OAAO,CA+CT;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1C,cAAc,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;KAAE,CAAC;CACjE,CAAC;AAOF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,YAAY,GACd;IACD,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;CAChC,CAkCA;AAqDD,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"nx-deps-cache.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/project-graph/nx-deps-cache.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EACV,QAAQ,EACR,OAAO,EAEP,YAAY,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAS7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAEL,sBAAsB,EAEvB,MAAM,eAAe,CAAC;AAIvB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,cAAc,QAG1B,CAAC;AACF,eAAO,MAAM,SAAS,QAAgD,CAAC;AAEvE,eAAO,MAAM,YAAY,QAAmD,CAAC;AAE7E,wBAAgB,oBAAoB,IAAI,IAAI,CAoB3C;AAED,wBAAgB,gBAAgB,IAAI,IAAI,GAAG,YAAY,CAmBtD;AAED,wBAAgB,qBAAqB,CACnC,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,GAAG,YAAY,CA8DrB;AAED,wBAAgB,mBAAmB,IAAI,IAAI,GAAG,uBAAuB,CAuBpE;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,mBAAmB,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,EAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE;IAAE,eAAe,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,EAChE,iBAAiB,EAAE,MAAM,gBAc1B;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,uBAAuB,EACnC,MAAM,EAAE,sBAAsB,EAAE,GAC/B,IAAI,CA+DN;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC9C,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE;IAAE,eAAe,EAAE;QAAE,KAAK,EAAE;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,EAC9D,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAoDT;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1C,cAAc,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;KAAE,CAAC;CACjE,CAAC;AAOF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,CAAC,EAAE,YAAY,GACd;IACD,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;CAChC,CAkCA;AAqDD,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
@@ -118,7 +118,7 @@ function readSourceMapsCache() {
118
118
  perf_hooks_1.performance.measure('read cache', 'read source-maps:start', 'read source-maps:end');
119
119
  return data ?? null;
120
120
  }
121
- function createProjectFileMapCache(nxJson, packageJsonDeps, fileMap, tsConfig) {
121
+ function createProjectFileMapCache(nxJson, packageJsonDeps, fileMap, tsConfig, externalNodesHash) {
122
122
  const nxJsonPlugins = getNxJsonPluginsData(nxJson, packageJsonDeps);
123
123
  const newValue = {
124
124
  version: '6.0',
@@ -128,6 +128,7 @@ function createProjectFileMapCache(nxJson, packageJsonDeps, fileMap, tsConfig) {
128
128
  nxJsonPlugins,
129
129
  pluginsConfig: nxJson?.pluginsConfig,
130
130
  fileMap,
131
+ externalNodesHash,
131
132
  };
132
133
  return newValue;
133
134
  }
@@ -182,7 +183,7 @@ function writeCache(cache, projectGraph, sourceMaps, errors) {
182
183
  perf_hooks_1.performance.mark('write cache:end');
183
184
  perf_hooks_1.performance.measure('write cache', 'write cache:start', 'write cache:end');
184
185
  }
185
- function shouldRecomputeWholeGraph(cache, packageJsonDeps, projects, nxJson, tsConfig) {
186
+ function shouldRecomputeWholeGraph(cache, packageJsonDeps, projects, nxJson, tsConfig, externalNodesHash) {
186
187
  if (cache.version !== '6.0') {
187
188
  return true;
188
189
  }
@@ -215,6 +216,10 @@ function shouldRecomputeWholeGraph(cache, packageJsonDeps, projects, nxJson, tsC
215
216
  JSON.stringify(cache.pluginsConfig)) {
216
217
  return true;
217
218
  }
219
+ // Check if external nodes have changed
220
+ if (externalNodesHash !== cache.externalNodesHash) {
221
+ return true;
222
+ }
218
223
  return false;
219
224
  }
220
225
  /*