nx 22.2.0-canary.20251204-0f24bf5 → 22.2.0-canary.20251208-300493e
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/command-line/graph/graph.d.ts.map +1 -1
- package/src/command-line/graph/graph.js +5 -4
- package/src/command-line/release/utils/git.d.ts.map +1 -1
- package/src/command-line/release/utils/git.js +30 -9
- package/src/core/graph/main.js +1 -1
- package/src/native/nx.wasm32-wasi.wasm +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nx",
|
|
3
|
-
"version": "22.2.0-canary.
|
|
3
|
+
"version": "22.2.0-canary.20251208-300493e",
|
|
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": "22.2.0-canary.
|
|
87
|
-
"@nx/nx-darwin-x64": "22.2.0-canary.
|
|
88
|
-
"@nx/nx-freebsd-x64": "22.2.0-canary.
|
|
89
|
-
"@nx/nx-linux-arm-gnueabihf": "22.2.0-canary.
|
|
90
|
-
"@nx/nx-linux-arm64-gnu": "22.2.0-canary.
|
|
91
|
-
"@nx/nx-linux-arm64-musl": "22.2.0-canary.
|
|
92
|
-
"@nx/nx-linux-x64-gnu": "22.2.0-canary.
|
|
93
|
-
"@nx/nx-linux-x64-musl": "22.2.0-canary.
|
|
94
|
-
"@nx/nx-win32-arm64-msvc": "22.2.0-canary.
|
|
95
|
-
"@nx/nx-win32-x64-msvc": "22.2.0-canary.
|
|
86
|
+
"@nx/nx-darwin-arm64": "22.2.0-canary.20251208-300493e",
|
|
87
|
+
"@nx/nx-darwin-x64": "22.2.0-canary.20251208-300493e",
|
|
88
|
+
"@nx/nx-freebsd-x64": "22.2.0-canary.20251208-300493e",
|
|
89
|
+
"@nx/nx-linux-arm-gnueabihf": "22.2.0-canary.20251208-300493e",
|
|
90
|
+
"@nx/nx-linux-arm64-gnu": "22.2.0-canary.20251208-300493e",
|
|
91
|
+
"@nx/nx-linux-arm64-musl": "22.2.0-canary.20251208-300493e",
|
|
92
|
+
"@nx/nx-linux-x64-gnu": "22.2.0-canary.20251208-300493e",
|
|
93
|
+
"@nx/nx-linux-x64-musl": "22.2.0-canary.20251208-300493e",
|
|
94
|
+
"@nx/nx-win32-arm64-msvc": "22.2.0-canary.20251208-300493e",
|
|
95
|
+
"@nx/nx-win32-x64-msvc": "22.2.0-canary.20251208-300493e"
|
|
96
96
|
},
|
|
97
97
|
"nx-migrations": {
|
|
98
98
|
"migrations": "./migrations.json",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/graph/graph.ts"],"names":[],"mappings":"AA0BA,OAAO,EAEL,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAwBpD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC5C;
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/graph/graph.ts"],"names":[],"mappings":"AA0BA,OAAO,EAEL,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAwBpD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC5C;AAkJD,wBAAsB,aAAa,CACjC,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,iBAAiB,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,EACD,gBAAgB,EAAE,MAAM,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CA8Tf;AAuvBD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACrC;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;CACrB"}
|
|
@@ -92,10 +92,10 @@ function projectExists(projects, projectToFind) {
|
|
|
92
92
|
function hasPath(graph, target, node, visited) {
|
|
93
93
|
if (target === node)
|
|
94
94
|
return true;
|
|
95
|
-
for (
|
|
96
|
-
if (visited.
|
|
95
|
+
for (const d of graph.dependencies[node] || []) {
|
|
96
|
+
if (visited.has(d.target))
|
|
97
97
|
continue;
|
|
98
|
-
visited.
|
|
98
|
+
visited.add(d.target);
|
|
99
99
|
if (hasPath(graph, target, d.target, visited))
|
|
100
100
|
return true;
|
|
101
101
|
}
|
|
@@ -107,7 +107,8 @@ function filterGraph(graph, focus, exclude) {
|
|
|
107
107
|
if (focus !== null) {
|
|
108
108
|
filteredProjectNames = new Set();
|
|
109
109
|
projectNames.forEach((p) => {
|
|
110
|
-
const isInPath = hasPath(graph, p, focus,
|
|
110
|
+
const isInPath = hasPath(graph, p, focus, new Set()) ||
|
|
111
|
+
hasPath(graph, focus, p, new Set());
|
|
111
112
|
if (isInPath) {
|
|
112
113
|
filteredProjectNames.add(p);
|
|
113
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/git.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ exports.getFirstGitCommit = getFirstGitCommit;
|
|
|
21
21
|
*/
|
|
22
22
|
const node_path_1 = require("node:path");
|
|
23
23
|
const minimatch_1 = require("minimatch");
|
|
24
|
+
const semver_1 = require("semver");
|
|
24
25
|
const utils_1 = require("../../../tasks-runner/utils");
|
|
25
26
|
const workspace_root_1 = require("../../../utils/workspace-root");
|
|
26
27
|
const exec_command_1 = require("./exec-command");
|
|
@@ -199,8 +200,16 @@ async function getLatestGitTagForPattern(releaseTagPattern, additionalInterpolat
|
|
|
199
200
|
// If not using strict preid, we can just return the first matching tag
|
|
200
201
|
return extractTagAndVersion(matchingTags[0], tagRegexp, options);
|
|
201
202
|
}
|
|
203
|
+
// Find stable release tags
|
|
204
|
+
const stableReleaseTags = matchingTags.filter((tag) => {
|
|
205
|
+
const matches = tag.match(tagRegexp);
|
|
206
|
+
if (!matches)
|
|
207
|
+
return false;
|
|
208
|
+
const [, version] = matches;
|
|
209
|
+
return version && !(0, shared_1.isPrerelease)(version);
|
|
210
|
+
});
|
|
202
211
|
if (preid && preid.length > 0) {
|
|
203
|
-
// When a preid is provided,
|
|
212
|
+
// When a preid is provided, find tags matching that preid
|
|
204
213
|
const preidReleaseTags = matchingTags.filter((tag) => {
|
|
205
214
|
const match = tag.match(tagRegexp);
|
|
206
215
|
if (!match)
|
|
@@ -208,18 +217,30 @@ async function getLatestGitTagForPattern(releaseTagPattern, additionalInterpolat
|
|
|
208
217
|
const version = match.find((part) => part.match(SEMVER_REGEX));
|
|
209
218
|
return version && version.includes(`-${preid}.`);
|
|
210
219
|
});
|
|
220
|
+
// If both preid and stable tags exist, compare them to determine which is truly "latest"
|
|
221
|
+
if (preidReleaseTags.length > 0 && stableReleaseTags.length > 0) {
|
|
222
|
+
const preidResult = extractTagAndVersion(preidReleaseTags[0], tagRegexp, options);
|
|
223
|
+
const stableResult = extractTagAndVersion(stableReleaseTags[0], tagRegexp, options);
|
|
224
|
+
// Get the base version of the preid release (e.g., "1.2.4" from "1.2.4-alpha.1")
|
|
225
|
+
const preidBaseVersion = (0, semver_1.coerce)(preidResult.extractedVersion)?.version;
|
|
226
|
+
const stableVersion = stableResult.extractedVersion;
|
|
227
|
+
// If the stable version is >= the preid's base version, use the stable tag
|
|
228
|
+
// This handles the case where a stable release was made after the prerelease
|
|
229
|
+
// (e.g., 1.1.1 stable was released after 1.1.0-alpha.3)
|
|
230
|
+
if (preidBaseVersion &&
|
|
231
|
+
stableVersion &&
|
|
232
|
+
(0, semver_1.gte)(stableVersion, preidBaseVersion)) {
|
|
233
|
+
return stableResult;
|
|
234
|
+
}
|
|
235
|
+
// Otherwise, use the preid tag (prerelease's base is ahead of stable)
|
|
236
|
+
return preidResult;
|
|
237
|
+
}
|
|
238
|
+
// If only preid tags exist (no stable), use the latest preid tag
|
|
211
239
|
if (preidReleaseTags.length > 0) {
|
|
212
240
|
return extractTagAndVersion(preidReleaseTags[0], tagRegexp, options);
|
|
213
241
|
}
|
|
242
|
+
// If no matching preid tags, fall through to find stable tags below
|
|
214
243
|
}
|
|
215
|
-
// Then try to find the latest stable release tag
|
|
216
|
-
const stableReleaseTags = matchingTags.filter((tag) => {
|
|
217
|
-
const matches = tag.match(tagRegexp);
|
|
218
|
-
if (!matches)
|
|
219
|
-
return false;
|
|
220
|
-
const [, version] = matches;
|
|
221
|
-
return version && !(0, shared_1.isPrerelease)(version);
|
|
222
|
-
});
|
|
223
244
|
// If there are stable release tags, use the latest one
|
|
224
245
|
if (stableReleaseTags.length > 0) {
|
|
225
246
|
return extractTagAndVersion(stableReleaseTags[0], tagRegexp, options);
|