nx 21.5.1 → 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.
- package/package.json +11 -11
- package/src/project-graph/build-project-graph.d.ts.map +1 -1
- package/src/project-graph/build-project-graph.js +10 -2
- package/src/project-graph/nx-deps-cache.d.ts +4 -3
- package/src/project-graph/nx-deps-cache.d.ts.map +1 -1
- package/src/project-graph/nx-deps-cache.js +7 -2
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "nx",
|
3
|
-
"version": "21.
|
3
|
+
"version": "21.6.0-canary.20250908-95e7b49",
|
4
4
|
"private": false,
|
5
5
|
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
|
6
6
|
"repository": {
|
@@ -83,16 +83,16 @@
|
|
83
83
|
}
|
84
84
|
},
|
85
85
|
"optionalDependencies": {
|
86
|
-
"@nx/nx-darwin-arm64": "21.
|
87
|
-
"@nx/nx-darwin-x64": "21.
|
88
|
-
"@nx/nx-freebsd-x64": "21.
|
89
|
-
"@nx/nx-linux-arm-gnueabihf": "21.
|
90
|
-
"@nx/nx-linux-arm64-gnu": "21.
|
91
|
-
"@nx/nx-linux-arm64-musl": "21.
|
92
|
-
"@nx/nx-linux-x64-gnu": "21.
|
93
|
-
"@nx/nx-linux-x64-musl": "21.
|
94
|
-
"@nx/nx-win32-arm64-msvc": "21.
|
95
|
-
"@nx/nx-win32-x64-msvc": "21.
|
86
|
+
"@nx/nx-darwin-arm64": "21.6.0-canary.20250908-95e7b49",
|
87
|
+
"@nx/nx-darwin-x64": "21.6.0-canary.20250908-95e7b49",
|
88
|
+
"@nx/nx-freebsd-x64": "21.6.0-canary.20250908-95e7b49",
|
89
|
+
"@nx/nx-linux-arm-gnueabihf": "21.6.0-canary.20250908-95e7b49",
|
90
|
+
"@nx/nx-linux-arm64-gnu": "21.6.0-canary.20250908-95e7b49",
|
91
|
+
"@nx/nx-linux-arm64-musl": "21.6.0-canary.20250908-95e7b49",
|
92
|
+
"@nx/nx-linux-x64-gnu": "21.6.0-canary.20250908-95e7b49",
|
93
|
+
"@nx/nx-linux-x64-musl": "21.6.0-canary.20250908-95e7b49",
|
94
|
+
"@nx/nx-win32-arm64-msvc": "21.6.0-canary.20250908-95e7b49",
|
95
|
+
"@nx/nx-win32-x64-msvc": "21.6.0-canary.20250908-95e7b49"
|
96
96
|
},
|
97
97
|
"nx-migrations": {
|
98
98
|
"migrations": "./migrations.json",
|
@@ -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;
|
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,
|
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
|
/*
|