nx 22.5.2 → 22.5.4
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/.eslintrc.json +3 -1
- package/bin/nx.js +6 -0
- package/migrations.json +6 -0
- package/package.json +12 -12
- package/src/ai/set-up-ai-agents/set-up-ai-agents.d.ts.map +1 -1
- package/src/ai/set-up-ai-agents/set-up-ai-agents.js +3 -0
- package/src/command-line/import/command-object.d.ts.map +1 -1
- package/src/command-line/import/command-object.js +1 -1
- package/src/command-line/list/command-object.d.ts.map +1 -1
- package/src/command-line/list/command-object.js +6 -1
- package/src/command-line/list/list.d.ts +2 -0
- package/src/command-line/list/list.d.ts.map +1 -1
- package/src/command-line/list/list.js +5 -1
- package/src/command-line/nx-cloud/apply-locally/apply-locally.d.ts +5 -0
- package/src/command-line/nx-cloud/apply-locally/apply-locally.d.ts.map +1 -0
- package/src/command-line/nx-cloud/apply-locally/apply-locally.js +13 -0
- package/src/command-line/nx-cloud/apply-locally/command-object.d.ts +3 -0
- package/src/command-line/nx-cloud/apply-locally/command-object.d.ts.map +1 -0
- package/src/command-line/nx-cloud/apply-locally/command-object.js +15 -0
- package/src/command-line/nx-commands.d.ts.map +1 -1
- package/src/command-line/nx-commands.js +9 -7
- package/src/command-line/release/config/config.d.ts.map +1 -1
- package/src/command-line/release/config/config.js +11 -2
- package/src/command-line/release/utils/remote-release-clients/extract-repo-slug.d.ts +10 -0
- package/src/command-line/release/utils/remote-release-clients/extract-repo-slug.d.ts.map +1 -0
- package/src/command-line/release/utils/remote-release-clients/extract-repo-slug.js +61 -0
- package/src/command-line/release/utils/remote-release-clients/github.d.ts.map +1 -1
- package/src/command-line/release/utils/remote-release-clients/github.js +8 -13
- package/src/command-line/release/utils/remote-release-clients/gitlab.d.ts.map +1 -1
- package/src/command-line/release/utils/remote-release-clients/gitlab.js +4 -9
- package/src/command-line/release/utils/shared.d.ts +1 -1
- package/src/command-line/release/utils/shared.d.ts.map +1 -1
- package/src/command-line/release/utils/shared.js +23 -15
- package/src/command-line/watch/watch.js +4 -4
- package/src/core/graph/main.js +1 -1
- package/src/daemon/server/project-graph-incremental-recomputation.d.ts.map +1 -1
- package/src/daemon/server/project-graph-incremental-recomputation.js +13 -5
- package/src/migrations/update-22-7-0/add-polygraph-to-git-ignore.d.ts +3 -0
- package/src/migrations/update-22-7-0/add-polygraph-to-git-ignore.d.ts.map +1 -0
- package/src/migrations/update-22-7-0/add-polygraph-to-git-ignore.js +14 -0
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/plugins/js/lock-file/project-graph-pruning.d.ts.map +1 -1
- package/src/plugins/js/lock-file/project-graph-pruning.js +3 -1
- package/src/plugins/js/project-graph/build-dependencies/target-project-locator.d.ts.map +1 -1
- package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +6 -3
- package/src/project-graph/nx-deps-cache.d.ts +10 -0
- package/src/project-graph/nx-deps-cache.d.ts.map +1 -1
- package/src/project-graph/nx-deps-cache.js +36 -0
- package/src/project-graph/plugins/isolation/isolated-plugin.d.ts.map +1 -1
- package/src/project-graph/plugins/isolation/isolated-plugin.js +42 -35
- package/src/project-graph/project-graph.d.ts.map +1 -1
- package/src/project-graph/project-graph.js +23 -4
- package/src/project-graph/utils/project-configuration-utils.js +1 -1
- package/src/tasks-runner/running-tasks/batch-process.d.ts +0 -3
- package/src/tasks-runner/running-tasks/batch-process.d.ts.map +1 -1
- package/src/tasks-runner/running-tasks/batch-process.js +0 -7
- package/src/utils/ignore.d.ts +5 -0
- package/src/utils/ignore.d.ts.map +1 -1
- package/src/utils/ignore.js +16 -0
- package/src/utils/package-manager.d.ts.map +1 -1
- package/src/utils/package-manager.js +22 -1
- package/src/utils/plugins/output.d.ts +29 -1
- package/src/utils/plugins/output.d.ts.map +1 -1
- package/src/utils/plugins/output.js +90 -1
- package/src/utils/plugins/plugin-capabilities.d.ts +1 -0
- package/src/utils/plugins/plugin-capabilities.d.ts.map +1 -1
- package/src/utils/plugins/plugin-capabilities.js +2 -0
- package/src/native/index.d.ts +0 -553
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-graph-incremental-recomputation.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/server/project-graph-incremental-recomputation.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,OAAO,EACP,YAAY,EAEb,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EACL,YAAY,
|
|
1
|
+
{"version":3,"file":"project-graph-incremental-recomputation.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/daemon/server/project-graph-incremental-recomputation.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,OAAO,EACP,YAAY,EAEb,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EACL,YAAY,EAKb,MAAM,mCAAmC,CAAC;AAe3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAEL,uBAAuB,EACxB,MAAM,uDAAuD,CAAC;AAS/D,UAAU,sBAAsB;IAC9B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,mBAAmB,EAAE,YAAY,GAAG,IAAI,CAAC;IACzC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,iBAAiB,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACrC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC3C,cAAc,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAClD;AAGD,eAAO,IAAI,gBAAgB,EACvB;IACE,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,QAAQ,EAAE,CAAC;IAC9B,cAAc,EAAE,yBAAyB,CAAC;CAC3C,GACD,SAAS,CAAC;AACd,eAAO,IAAI,0BAA0B,EAAE,YAAY,GAAG,SAAS,CAAC;AAChE,eAAO,IAAI,mBAAmB,EAAE,YAAY,GAAG,SAAS,CAAC;AAoBzD,wBAAsB,sCAAsC,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAyF9F;AAED,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,MAAM,EAAE,QAiDvB;AAED,wBAAgB,yCAAyC,CACvD,QAAQ,EAAE,CACR,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,uBAAuB,EACnC,KAAK,EAAE,KAAK,GAAG,IAAI,KAChB,IAAI,QAGV"}
|
|
@@ -45,6 +45,7 @@ async function getCachedSerializedProjectGraphPromise() {
|
|
|
45
45
|
waitPeriod = 100;
|
|
46
46
|
await resetInternalStateIfNxDepsMissing();
|
|
47
47
|
const plugins = await (0, get_plugins_1.getPlugins)();
|
|
48
|
+
const previousPromise = cachedSerializedProjectGraphPromise;
|
|
48
49
|
if (collectedUpdatedFiles.size == 0 && collectedDeletedFiles.size == 0) {
|
|
49
50
|
if (!cachedSerializedProjectGraphPromise) {
|
|
50
51
|
cachedSerializedProjectGraphPromise =
|
|
@@ -60,6 +61,7 @@ async function getCachedSerializedProjectGraphPromise() {
|
|
|
60
61
|
cachedSerializedProjectGraphPromise =
|
|
61
62
|
processFilesAndCreateAndSerializeProjectGraph(plugins);
|
|
62
63
|
}
|
|
64
|
+
const graphWasRecomputed = cachedSerializedProjectGraphPromise !== previousPromise;
|
|
63
65
|
const result = await cachedSerializedProjectGraphPromise;
|
|
64
66
|
if (wasScheduled) {
|
|
65
67
|
notifyProjectGraphRecomputationListeners(result.projectGraph, result.sourceMaps, result.error);
|
|
@@ -69,14 +71,20 @@ async function getCachedSerializedProjectGraphPromise() {
|
|
|
69
71
|
? result.error.errors
|
|
70
72
|
: [result.error]
|
|
71
73
|
: [];
|
|
72
|
-
//
|
|
73
|
-
//
|
|
74
|
-
//
|
|
75
|
-
//
|
|
74
|
+
// Write the daemon's current graph to disk to ensure disk cache stays
|
|
75
|
+
// in sync with the daemon's in-memory cache. This prevents issues where
|
|
76
|
+
// a non-daemon process writes a stale/errored cache that never gets
|
|
77
|
+
// overwritten by the daemon's valid graph.
|
|
78
|
+
//
|
|
79
|
+
// When the graph was just recomputed, always write so the new graph is
|
|
80
|
+
// persisted. When serving the same graph from memory, use
|
|
81
|
+
// writeCacheIfStale to skip the write unless an external process has
|
|
82
|
+
// modified the file since this process last wrote it.
|
|
76
83
|
if (result.projectGraph &&
|
|
77
84
|
result.projectFileMapCache &&
|
|
78
85
|
result.sourceMaps) {
|
|
79
|
-
|
|
86
|
+
const writeFn = graphWasRecomputed ? nx_deps_cache_1.writeCache : nx_deps_cache_1.writeCacheIfStale;
|
|
87
|
+
writeFn(result.projectFileMapCache, result.projectGraph, result.sourceMaps, errors);
|
|
80
88
|
}
|
|
81
89
|
return result;
|
|
82
90
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-polygraph-to-git-ignore.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/migrations/update-22-7-0/add-polygraph-to-git-ignore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,IAAI,EAAE,IAAI,QASzD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = addPolygraphToGitIgnore;
|
|
4
|
+
const ignore_1 = require("../../utils/ignore");
|
|
5
|
+
function addPolygraphToGitIgnore(tree) {
|
|
6
|
+
if (!tree.exists('.gitignore')) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
// Lerna users that don't use nx.json may not expect .nx directory changes
|
|
10
|
+
if (tree.exists('lerna.json') && !tree.exists('nx.json')) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
(0, ignore_1.addEntryToGitIgnore)(tree, '.gitignore', '.nx/polygraph');
|
|
14
|
+
}
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-graph-pruning.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/plugins/js/lock-file/project-graph-pruning.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,iBAAiB,EAAE,WAAW,EAC9B,iBAAiB,GAAE,MAAsB,GACxC,YAAY,CA2Bd;AA0ED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,4BAsBpB;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,EACvD,OAAO,EAAE,mBAAmB,QAgB7B;AA+BD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"project-graph-pruning.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/plugins/js/lock-file/project-graph-pruning.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,iBAAiB,EAAE,WAAW,EAC9B,iBAAiB,GAAE,MAAsB,GACxC,YAAY,CA2Bd;AA0ED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,4BAsBpB;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,EACvD,OAAO,EAAE,mBAAmB,QAgB7B;AA+BD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,OAAO,EAAE,mBAAmB,QAmD7B"}
|
|
@@ -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;AAO1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAYlE;;;;GAIG;AACH,KAAK,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AACrD,KAAK,0BAA0B,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC;AAElE,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAcF,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;IACnC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAnB7C,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,EAClE,0BAA0B,GAAE,0BAA8D;IA8B7G;;;;;;OAMG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;
|
|
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;AAO1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAYlE;;;;GAIG;AACH,KAAK,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;AACrD,KAAK,0BAA0B,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC;AAElE,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAcF,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;IACnC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAnB7C,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,EAClE,0BAA0B,GAAE,0BAA8D;IA8B7G;;;;;;OAMG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IA2EnE;;;;;;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;CA0DxB"}
|
|
@@ -83,7 +83,6 @@ class TargetProjectLocator {
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
if (isBuiltinModuleImport(importExpr)) {
|
|
86
|
-
this.npmResolutionCache.set(importExpr, null);
|
|
87
86
|
return null;
|
|
88
87
|
}
|
|
89
88
|
// try to find npm package before using expensive typescript resolution
|
|
@@ -110,8 +109,12 @@ class TargetProjectLocator {
|
|
|
110
109
|
if (localProject) {
|
|
111
110
|
return localProject;
|
|
112
111
|
}
|
|
113
|
-
// nothing found, cache
|
|
114
|
-
|
|
112
|
+
// nothing found, cache the negative result with the scoped key
|
|
113
|
+
const packageName = (0, get_package_name_from_import_path_1.getPackageNameFromImportPath)(importExpr);
|
|
114
|
+
const dirPath = (0, node_path_1.dirname)(filePath.startsWith(workspace_root_1.workspaceRoot)
|
|
115
|
+
? filePath.replace(workspace_root_1.workspaceRoot, '')
|
|
116
|
+
: filePath);
|
|
117
|
+
this.npmResolutionCache.set(`${packageName}__${dirPath}`, null);
|
|
115
118
|
return null;
|
|
116
119
|
}
|
|
117
120
|
/**
|
|
@@ -27,6 +27,16 @@ export declare function createProjectFileMapCache(nxJson: NxJsonConfiguration<'*
|
|
|
27
27
|
};
|
|
28
28
|
}, externalNodesHash: string): FileMapCache;
|
|
29
29
|
export declare function writeCache(cache: FileMapCache, projectGraph: ProjectGraph, sourceMaps: ConfigurationSourceMaps, errors: ProjectGraphErrorTypes[]): void;
|
|
30
|
+
/**
|
|
31
|
+
* Writes the cache only if the on-disk cache file has been modified since
|
|
32
|
+
* this process last wrote it (i.e. an external process overwrote it), or
|
|
33
|
+
* if this process has never written the cache.
|
|
34
|
+
*
|
|
35
|
+
* Use this instead of writeCache() on hot paths where the same graph may
|
|
36
|
+
* be served multiple times without changing (e.g. the daemon responding
|
|
37
|
+
* to repeated client requests).
|
|
38
|
+
*/
|
|
39
|
+
export declare function writeCacheIfStale(cache: FileMapCache, projectGraph: ProjectGraph, sourceMaps: ConfigurationSourceMaps, errors: ProjectGraphErrorTypes[]): void;
|
|
30
40
|
export declare function shouldRecomputeWholeGraph(cache: FileMapCache, packageJsonDeps: Record<string, string>, projects: Record<string, ProjectConfiguration>, nxJson: NxJsonConfiguration, tsConfig: {
|
|
31
41
|
compilerOptions: {
|
|
32
42
|
paths: {
|
|
@@ -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,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;
|
|
1
|
+
{"version":3,"file":"nx-deps-cache.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/project-graph/nx-deps-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ exports.readProjectGraphCache = readProjectGraphCache;
|
|
|
7
7
|
exports.readSourceMapsCache = readSourceMapsCache;
|
|
8
8
|
exports.createProjectFileMapCache = createProjectFileMapCache;
|
|
9
9
|
exports.writeCache = writeCache;
|
|
10
|
+
exports.writeCacheIfStale = writeCacheIfStale;
|
|
10
11
|
exports.shouldRecomputeWholeGraph = shouldRecomputeWholeGraph;
|
|
11
12
|
exports.extractCachedFileData = extractCachedFileData;
|
|
12
13
|
const node_fs_1 = require("node:fs");
|
|
@@ -132,6 +133,12 @@ function createProjectFileMapCache(nxJson, packageJsonDeps, fileMap, tsConfig, e
|
|
|
132
133
|
};
|
|
133
134
|
return newValue;
|
|
134
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Tracks the mtime of the project graph cache file after the last successful
|
|
138
|
+
* writeCache() call. Used by writeCacheIfStale() to skip redundant writes
|
|
139
|
+
* when no external process has modified the cache file since the last write.
|
|
140
|
+
*/
|
|
141
|
+
let lastWrittenCacheMtimeMs;
|
|
135
142
|
function writeCache(cache, projectGraph, sourceMaps, errors) {
|
|
136
143
|
perf_hooks_1.performance.mark('write cache:start');
|
|
137
144
|
let retry = 1;
|
|
@@ -165,6 +172,12 @@ function writeCache(cache, projectGraph, sourceMaps, errors) {
|
|
|
165
172
|
if ((0, is_on_daemon_1.isOnDaemon)()) {
|
|
166
173
|
logger_1.serverLogger.log(`Wrote project graph cache to ${exports.nxProjectGraph}${errors.length > 0 ? ' with errors' : ''}`);
|
|
167
174
|
}
|
|
175
|
+
try {
|
|
176
|
+
lastWrittenCacheMtimeMs = (0, node_fs_1.statSync)(exports.nxProjectGraph).mtimeMs;
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
lastWrittenCacheMtimeMs = undefined;
|
|
180
|
+
}
|
|
168
181
|
done = true;
|
|
169
182
|
}
|
|
170
183
|
catch (err) {
|
|
@@ -183,6 +196,29 @@ function writeCache(cache, projectGraph, sourceMaps, errors) {
|
|
|
183
196
|
perf_hooks_1.performance.mark('write cache:end');
|
|
184
197
|
perf_hooks_1.performance.measure('write cache', 'write cache:start', 'write cache:end');
|
|
185
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* Writes the cache only if the on-disk cache file has been modified since
|
|
201
|
+
* this process last wrote it (i.e. an external process overwrote it), or
|
|
202
|
+
* if this process has never written the cache.
|
|
203
|
+
*
|
|
204
|
+
* Use this instead of writeCache() on hot paths where the same graph may
|
|
205
|
+
* be served multiple times without changing (e.g. the daemon responding
|
|
206
|
+
* to repeated client requests).
|
|
207
|
+
*/
|
|
208
|
+
function writeCacheIfStale(cache, projectGraph, sourceMaps, errors) {
|
|
209
|
+
if (lastWrittenCacheMtimeMs !== undefined) {
|
|
210
|
+
try {
|
|
211
|
+
const currentMtimeMs = (0, node_fs_1.statSync)(exports.nxProjectGraph).mtimeMs;
|
|
212
|
+
if (currentMtimeMs === lastWrittenCacheMtimeMs) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
// File doesn't exist or can't be stat'd — proceed with write
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
writeCache(cache, projectGraph, sourceMaps, errors);
|
|
221
|
+
}
|
|
186
222
|
function shouldRecomputeWholeGraph(cache, packageJsonDeps, projects, nxJson, tsConfig, externalNodesHash) {
|
|
187
223
|
if (cache.version !== '6.0') {
|
|
188
224
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolated-plugin.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/project-graph/plugins/isolation/isolated-plugin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAKlE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAEV,sBAAsB,EAGvB,MAAM,aAAa,CAAC;AAmBrB,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC,sBAAsB,CAAC,SAAS,CAAC,EACjC;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,CAClB,CAAC;AAEF,qBAAa,cAAe,YAAW,cAAc;
|
|
1
|
+
{"version":3,"file":"isolated-plugin.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/project-graph/plugins/isolation/isolated-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,10 +50,10 @@ class IsolatedPlugin {
|
|
|
50
50
|
if (!(0, messaging_1.isPluginWorkerResult)(message)) {
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
|
-
const
|
|
54
|
-
if (
|
|
53
|
+
const pending = this.responseHandlers.get(message.tx);
|
|
54
|
+
if (pending) {
|
|
55
55
|
this.responseHandlers.delete(message.tx);
|
|
56
|
-
|
|
56
|
+
pending.onMessage(message);
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
59
|
this.plugin = plugin;
|
|
@@ -77,15 +77,9 @@ class IsolatedPlugin {
|
|
|
77
77
|
this.worker.stderr.unpipe(process.stderr);
|
|
78
78
|
}
|
|
79
79
|
// Reject all pending requests
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
tx: '',
|
|
84
|
-
payload: {
|
|
85
|
-
success: false,
|
|
86
|
-
error: new Error(`Plugin worker ${this.name} exited unexpectedly.`),
|
|
87
|
-
},
|
|
88
|
-
});
|
|
80
|
+
const error = new Error(`Plugin worker "${this.name}" exited unexpectedly.`);
|
|
81
|
+
for (const { onError } of this.responseHandlers.values()) {
|
|
82
|
+
onError(error);
|
|
89
83
|
}
|
|
90
84
|
this.responseHandlers.clear();
|
|
91
85
|
};
|
|
@@ -113,25 +107,31 @@ class IsolatedPlugin {
|
|
|
113
107
|
}
|
|
114
108
|
sendLoadMessage() {
|
|
115
109
|
return new Promise((resolve, reject) => {
|
|
116
|
-
const tx = 'load';
|
|
110
|
+
const tx = this.generateTxId('load');
|
|
117
111
|
const timeout = setTimeout(() => {
|
|
118
112
|
this.responseHandlers.delete(tx);
|
|
119
113
|
reject(new Error(`Loading "${typeof this.plugin === 'string' ? this.plugin : this.plugin.plugin}" timed out after ${MINUTES} minutes. ${PLUGIN_TIMEOUT_HINT_TEXT}`));
|
|
120
114
|
}, MAX_MESSAGE_WAIT);
|
|
121
|
-
this.responseHandlers.set(tx,
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
115
|
+
this.responseHandlers.set(tx, {
|
|
116
|
+
onMessage: (msg) => {
|
|
117
|
+
clearTimeout(timeout);
|
|
118
|
+
if (msg.type !== 'loadResult') {
|
|
119
|
+
reject(new Error(`Expected loadResult, got ${msg.type}`));
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const payload = msg.payload;
|
|
123
|
+
if (payload.success === false) {
|
|
124
|
+
reject(payload.error);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
this._alive = true;
|
|
128
|
+
resolve(payload);
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
onError: (error) => {
|
|
132
|
+
clearTimeout(timeout);
|
|
133
|
+
reject(error);
|
|
134
|
+
},
|
|
135
135
|
});
|
|
136
136
|
(0, messaging_1.sendMessageOverSocket)(this.socket, {
|
|
137
137
|
type: 'load',
|
|
@@ -235,14 +235,21 @@ class IsolatedPlugin {
|
|
|
235
235
|
this.pendingCount--;
|
|
236
236
|
reject(new Error(`${this.name} timed out after ${MINUTES} minutes during ${type}. ${PLUGIN_TIMEOUT_HINT_TEXT}`));
|
|
237
237
|
}, MAX_MESSAGE_WAIT);
|
|
238
|
-
this.responseHandlers.set(tx,
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
238
|
+
this.responseHandlers.set(tx, {
|
|
239
|
+
onMessage: (msg) => {
|
|
240
|
+
clearTimeout(timeout);
|
|
241
|
+
this.pendingCount--;
|
|
242
|
+
if (msg.type !== expectedResultType) {
|
|
243
|
+
reject(new Error(`Expected ${expectedResultType}, got ${msg.type}`));
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
resolve(msg.payload);
|
|
247
|
+
},
|
|
248
|
+
onError: (error) => {
|
|
249
|
+
clearTimeout(timeout);
|
|
250
|
+
this.pendingCount--;
|
|
251
|
+
reject(error);
|
|
252
|
+
},
|
|
246
253
|
});
|
|
247
254
|
(0, messaging_1.sendMessageOverSocket)(this.socket, {
|
|
248
255
|
type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-graph.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/project-graph/project-graph.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,uCAAuC,CAAC;AAqC/C;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,CAAC,EAAE,MAAM,GACzB,YAAY,CAuBd;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,MAAM,GAClB,oBAAoB,CAQtB;AAED;;GAEG;AACH,wBAAgB,yCAAyC,CACvD,YAAY,EAAE,YAAY,GACzB,sBAAsB,CAUxB;AAED,wBAAsB,2CAA2C;;;GAiFhE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,EAAE,CAAC,KAAA,QA8BxE;AAgBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,GAAE;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAGxD,GACA,OAAO,CAAC,YAAY,CAAC,CAiBvB;AAED,wBAAsB,oCAAoC,CACxD,IAAI,GAAE;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAGxD;;;GAmIF;AAED,wBAAgB,mCAAmC,
|
|
1
|
+
{"version":3,"file":"project-graph.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/project-graph/project-graph.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,uCAAuC,CAAC;AAqC/C;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,CAAC,EAAE,MAAM,GACzB,YAAY,CAuBd;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,MAAM,GAClB,oBAAoB,CAQtB;AAED;;GAEG;AACH,wBAAgB,yCAAyC,CACvD,YAAY,EAAE,YAAY,GACzB,sBAAsB,CAUxB;AAED,wBAAsB,2CAA2C;;;GAiFhE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,EAAE,CAAC,KAAA,QA8BxE;AAgBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,GAAE;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAGxD,GACA,OAAO,CAAC,YAAY,CAAC,CAiBvB;AAED,wBAAsB,oCAAoC,CACxD,IAAI,GAAE;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAGxD;;;GAmIF;AAED,wBAAgB,mCAAmC,SAoDlD"}
|
|
@@ -329,10 +329,29 @@ async function createProjectGraphAndSourceMapsAsync(opts = {
|
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
331
|
function preventRecursionInGraphConstruction() {
|
|
332
|
-
|
|
333
|
-
//
|
|
334
|
-
//
|
|
335
|
-
const
|
|
332
|
+
const allFrames = (0, call_sites_1.getCallSites)();
|
|
333
|
+
// Find the first occurrence of buildProjectGraphAndSourceMapsWithoutDaemon in the call stack.
|
|
334
|
+
// This represents the current invocation and should be skipped for the recursion check.
|
|
335
|
+
const firstOccurrenceIndex = allFrames.findIndex((f) => f.getFunctionName() === buildProjectGraphAndSourceMapsWithoutDaemon.name);
|
|
336
|
+
let stackframes;
|
|
337
|
+
if (firstOccurrenceIndex !== -1) {
|
|
338
|
+
// Skip the current invocation frame and any consecutive frames with the same function name.
|
|
339
|
+
// Some runtimes (e.g. Bun) include extra async frames for the same call, which would
|
|
340
|
+
// otherwise cause a false positive loop detection.
|
|
341
|
+
let startIndex = firstOccurrenceIndex + 1;
|
|
342
|
+
while (startIndex < allFrames.length &&
|
|
343
|
+
allFrames[startIndex].getFunctionName() ===
|
|
344
|
+
buildProjectGraphAndSourceMapsWithoutDaemon.name) {
|
|
345
|
+
startIndex++;
|
|
346
|
+
}
|
|
347
|
+
stackframes = allFrames.slice(startIndex);
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
// If buildProjectGraphAndSourceMapsWithoutDaemon is not in the stack (e.g., when called
|
|
351
|
+
// from daemon client), fall back to the original slice(2) behavior.
|
|
352
|
+
// preventRecursionInGraphConstruction -> callee -> ...
|
|
353
|
+
stackframes = allFrames.slice(2);
|
|
354
|
+
}
|
|
336
355
|
if (stackframes.some((f) => {
|
|
337
356
|
const functionName = f.getFunctionName();
|
|
338
357
|
const fileName = f.getFileName() || '';
|
|
@@ -614,7 +614,7 @@ function targetDefaultShouldBeApplied(key, sourceMap) {
|
|
|
614
614
|
return !plugin?.startsWith('nx/');
|
|
615
615
|
}
|
|
616
616
|
function deepClone(obj) {
|
|
617
|
-
return
|
|
617
|
+
return structuredClone(obj);
|
|
618
618
|
}
|
|
619
619
|
function mergeTargetDefaultWithTargetDefinition(targetName, project, targetDefault, sourceMap) {
|
|
620
620
|
const targetDefinition = project.targets[targetName] ?? {};
|
|
@@ -8,8 +8,6 @@ export declare class BatchProcess {
|
|
|
8
8
|
private batchResultsCallbacks;
|
|
9
9
|
private taskResultsCallbacks;
|
|
10
10
|
private outputCallbacks;
|
|
11
|
-
private terminalOutputChunks;
|
|
12
|
-
private joinedTerminalOutput;
|
|
13
11
|
constructor(childProcess: ChildProcess, executorName: string);
|
|
14
12
|
onExit(cb: (code: number) => void): void;
|
|
15
13
|
onBatchResults(cb: (results: BatchResults) => void): void;
|
|
@@ -18,6 +16,5 @@ export declare class BatchProcess {
|
|
|
18
16
|
getResults(): Promise<BatchResults>;
|
|
19
17
|
send(message: Serializable): void;
|
|
20
18
|
kill(signal?: NodeJS.Signals): void;
|
|
21
|
-
getTerminalOutput(): string;
|
|
22
19
|
}
|
|
23
20
|
//# sourceMappingURL=batch-process.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-process.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/tasks-runner/running-tasks/batch-process.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAGL,YAAY,EACb,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"batch-process.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/tasks-runner/running-tasks/batch-process.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAGL,YAAY,EACb,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,YAAY;IASrB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IATtB,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,qBAAqB,CAA8C;IAC3E,OAAO,CAAC,oBAAoB,CAErB;IACP,OAAO,CAAC,eAAe,CAAuC;gBAGpD,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM;IAmE9B,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;IAIjC,cAAc,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI;IAIlD,aAAa,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI;IAI5D,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;IAI/B,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC;IAmBzC,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAMjC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI;CAKpC"}
|
|
@@ -11,7 +11,6 @@ class BatchProcess {
|
|
|
11
11
|
this.batchResultsCallbacks = [];
|
|
12
12
|
this.taskResultsCallbacks = [];
|
|
13
13
|
this.outputCallbacks = [];
|
|
14
|
-
this.terminalOutputChunks = [];
|
|
15
14
|
this.childProcess.on('message', (message) => {
|
|
16
15
|
switch (message.type) {
|
|
17
16
|
case batch_messages_1.BatchMessageType.CompleteTask: {
|
|
@@ -48,7 +47,6 @@ class BatchProcess {
|
|
|
48
47
|
if (this.childProcess.stdout) {
|
|
49
48
|
this.childProcess.stdout.on('data', (chunk) => {
|
|
50
49
|
const output = chunk.toString();
|
|
51
|
-
this.terminalOutputChunks.push(output);
|
|
52
50
|
// Maintain current terminal output behavior
|
|
53
51
|
process.stdout.write(chunk);
|
|
54
52
|
// Notify callbacks for TUI
|
|
@@ -61,7 +59,6 @@ class BatchProcess {
|
|
|
61
59
|
if (this.childProcess.stderr) {
|
|
62
60
|
this.childProcess.stderr.on('data', (chunk) => {
|
|
63
61
|
const output = chunk.toString();
|
|
64
|
-
this.terminalOutputChunks.push(output);
|
|
65
62
|
// Maintain current terminal output behavior
|
|
66
63
|
process.stderr.write(chunk);
|
|
67
64
|
// Notify callbacks for TUI
|
|
@@ -107,9 +104,5 @@ class BatchProcess {
|
|
|
107
104
|
this.childProcess.kill(signal);
|
|
108
105
|
}
|
|
109
106
|
}
|
|
110
|
-
getTerminalOutput() {
|
|
111
|
-
this.joinedTerminalOutput ??= this.terminalOutputChunks.join('');
|
|
112
|
-
return this.joinedTerminalOutput;
|
|
113
|
-
}
|
|
114
107
|
}
|
|
115
108
|
exports.BatchProcess = BatchProcess;
|
package/src/utils/ignore.d.ts
CHANGED
|
@@ -2,4 +2,9 @@ import ignore = require('ignore');
|
|
|
2
2
|
import { Tree } from '../generators/tree';
|
|
3
3
|
export declare function getIgnoreObject(root?: string): ReturnType<typeof ignore>;
|
|
4
4
|
export declare function getIgnoreObjectForTree(tree: Tree): ignore.Ignore;
|
|
5
|
+
/**
|
|
6
|
+
* Adds an entry to a .gitignore file if it's not already covered by existing patterns.
|
|
7
|
+
* Creates the file if it doesn't exist.
|
|
8
|
+
*/
|
|
9
|
+
export declare function addEntryToGitIgnore(tree: Tree, gitignorePath: string, entry: string): void;
|
|
5
10
|
//# sourceMappingURL=ignore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ignore.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/ignore.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,GAAG,QAAQ,QAAQ,CAAC,CAAC;AAGlC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,wBAAgB,eAAe,CAC7B,IAAI,GAAE,MAAsB,GAC3B,UAAU,CAAC,OAAO,MAAM,CAAC,CAK3B;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,iBAahD"}
|
|
1
|
+
{"version":3,"file":"ignore.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/ignore.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,GAAG,QAAQ,QAAQ,CAAC,CAAC;AAGlC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,wBAAgB,eAAe,CAC7B,IAAI,GAAE,MAAsB,GAC3B,UAAU,CAAC,OAAO,MAAM,CAAC,CAK3B;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,iBAahD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,QAWd"}
|
package/src/utils/ignore.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getIgnoreObject = getIgnoreObject;
|
|
4
4
|
exports.getIgnoreObjectForTree = getIgnoreObjectForTree;
|
|
5
|
+
exports.addEntryToGitIgnore = addEntryToGitIgnore;
|
|
5
6
|
const ignore = require("ignore");
|
|
6
7
|
const fileutils_1 = require("./fileutils");
|
|
7
8
|
const workspace_root_1 = require("./workspace-root");
|
|
@@ -24,3 +25,18 @@ function getIgnoreObjectForTree(tree) {
|
|
|
24
25
|
}
|
|
25
26
|
return ig;
|
|
26
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Adds an entry to a .gitignore file if it's not already covered by existing patterns.
|
|
30
|
+
* Creates the file if it doesn't exist.
|
|
31
|
+
*/
|
|
32
|
+
function addEntryToGitIgnore(tree, gitignorePath, entry) {
|
|
33
|
+
const gitignore = tree.exists(gitignorePath)
|
|
34
|
+
? tree.read(gitignorePath, 'utf-8')
|
|
35
|
+
: '';
|
|
36
|
+
const ig = ignore();
|
|
37
|
+
ig.add(gitignore);
|
|
38
|
+
if (!ig.ignores(entry)) {
|
|
39
|
+
const updatedLines = gitignore.length ? [gitignore, entry] : [entry];
|
|
40
|
+
tree.write(gitignorePath, updatedLines.join('\n'));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/package-manager.ts"],"names":[],"mappings":"AA+BA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAE/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,CACP,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EACzB,GAAG,EAAE,MAAM,KACR,MAAM,CAAC;IAEZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAW,GAAG,cAAc,CAYrE;
|
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/package-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,7 +44,28 @@ function detectPackageManager(dir = '') {
|
|
|
44
44
|
? 'yarn'
|
|
45
45
|
: (0, fs_1.existsSync)((0, path_1.join)(dir, 'pnpm-lock.yaml'))
|
|
46
46
|
? 'pnpm'
|
|
47
|
-
:
|
|
47
|
+
: detectInvokedPackageManager()));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Detects which package manager was used to invoke the current command
|
|
51
|
+
* based on the npm_config_user_agent environment variable.
|
|
52
|
+
*
|
|
53
|
+
* Falls back to 'npm' if detection fails.
|
|
54
|
+
*/
|
|
55
|
+
function detectInvokedPackageManager() {
|
|
56
|
+
const userAgent = process.env.npm_config_user_agent;
|
|
57
|
+
if (userAgent) {
|
|
58
|
+
if (userAgent.startsWith('pnpm/')) {
|
|
59
|
+
return 'pnpm';
|
|
60
|
+
}
|
|
61
|
+
if (userAgent.startsWith('yarn/')) {
|
|
62
|
+
return 'yarn';
|
|
63
|
+
}
|
|
64
|
+
if (userAgent.startsWith('bun/')) {
|
|
65
|
+
return 'bun';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return 'npm';
|
|
48
69
|
}
|
|
49
70
|
/**
|
|
50
71
|
* Returns true if the workspace is using npm workspaces, yarn workspaces, or pnpm workspaces.
|
|
@@ -3,5 +3,33 @@ import { PluginCapabilities } from './plugin-capabilities';
|
|
|
3
3
|
export declare function listPlugins(plugins: Map<string, PluginCapabilities>, title: string): void;
|
|
4
4
|
export declare function listAlsoAvailableCorePlugins(installedPlugins: Map<string, PluginCapabilities>): void;
|
|
5
5
|
export declare function listPowerpackPlugins(): void;
|
|
6
|
-
export declare function listPluginCapabilities(pluginName: string, projects: Record<string, ProjectConfiguration
|
|
6
|
+
export declare function listPluginCapabilities(pluginName: string, projects: Record<string, ProjectConfiguration>, json?: boolean): Promise<void>;
|
|
7
|
+
export declare function formatPluginCapabilitiesAsJson(plugin: PluginCapabilities): {
|
|
8
|
+
name: string;
|
|
9
|
+
path: string;
|
|
10
|
+
generators: Record<string, {
|
|
11
|
+
description: string;
|
|
12
|
+
path: string | null;
|
|
13
|
+
schema: string | null;
|
|
14
|
+
}>;
|
|
15
|
+
executors: Record<string, {
|
|
16
|
+
description: string;
|
|
17
|
+
path: string | null;
|
|
18
|
+
schema: string | null;
|
|
19
|
+
}>;
|
|
20
|
+
projectGraphExtension: boolean;
|
|
21
|
+
projectInference: boolean;
|
|
22
|
+
};
|
|
23
|
+
export declare function formatPluginsAsJson(localPlugins: Map<string, PluginCapabilities>, installedPlugins: Map<string, PluginCapabilities>): {
|
|
24
|
+
localWorkspacePlugins: {
|
|
25
|
+
name: string;
|
|
26
|
+
path: string;
|
|
27
|
+
capabilities: string[];
|
|
28
|
+
}[];
|
|
29
|
+
installedPlugins: {
|
|
30
|
+
name: string;
|
|
31
|
+
path: string;
|
|
32
|
+
capabilities: string[];
|
|
33
|
+
}[];
|
|
34
|
+
};
|
|
7
35
|
//# sourceMappingURL=output.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/utils/plugins/output.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/utils/plugins/output.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAKhF,OAAO,EACL,kBAAkB,EAEnB,MAAM,uBAAuB,CAAC;AAG/B,wBAAgB,WAAW,CACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EACxC,KAAK,EAAE,MAAM,QA8Bd;AAED,wBAAgB,4BAA4B,CAC1C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAChD,IAAI,CAaN;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAK3C;AAED,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC9C,IAAI,UAAQ,iBAyGb;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,kBAAkB;;;;qBAGtD,MAAM;cAAQ,MAAM,GAAG,IAAI;gBAAU,MAAM,GAAG,IAAI;;;qBAelD,MAAM;cAAQ,MAAM,GAAG,IAAI;gBAAU,MAAM,GAAG,IAAI;;;;EAsBpE;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC7C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC;;;;;;;;;;;EA+BlD"}
|