nx 22.2.0-canary.20251120-aa38b25 → 22.2.0-canary.20251124-70bbbe9
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/bin/init-local.d.ts.map +1 -1
- package/bin/init-local.js +2 -40
- package/package.json +11 -11
- package/src/command-line/daemon/command-object.d.ts +3 -2
- package/src/command-line/daemon/command-object.d.ts.map +1 -1
- package/src/command-line/daemon/command-object.js +11 -4
- package/src/command-line/release/utils/resolve-semver-specifier.d.ts +1 -1
- package/src/command-line/release/utils/resolve-semver-specifier.d.ts.map +1 -1
- package/src/command-line/release/utils/resolve-semver-specifier.js +3 -3
- package/src/command-line/release/utils/shared.d.ts +2 -1
- package/src/command-line/release/utils/shared.d.ts.map +1 -1
- package/src/command-line/release/utils/shared.js +27 -1
- package/src/command-line/release/version/derive-specifier-from-conventional-commits.js +1 -1
- package/src/command-line/yargs-utils/arguments-of.d.ts +12 -0
- package/src/command-line/yargs-utils/arguments-of.d.ts.map +1 -0
- package/src/command-line/yargs-utils/arguments-of.js +9 -0
- package/src/daemon/client/client.d.ts +0 -3
- package/src/daemon/client/client.d.ts.map +1 -1
- package/src/daemon/client/client.js +2 -14
- package/src/daemon/server/server.d.ts.map +1 -1
- package/src/daemon/server/server.js +0 -12
- package/src/daemon/server/shutdown-utils.d.ts.map +1 -1
- package/src/daemon/server/shutdown-utils.js +0 -3
- package/src/devkit-internals.d.ts +1 -1
- package/src/devkit-internals.d.ts.map +1 -1
- package/src/devkit-internals.js +1 -2
- package/src/project-graph/error-types.d.ts +3 -2
- package/src/project-graph/error-types.d.ts.map +1 -1
- package/src/project-graph/error-types.js +9 -2
- package/src/project-graph/plugins/get-plugins.d.ts.map +1 -1
- package/src/project-graph/plugins/get-plugins.js +33 -35
- package/src/project-graph/plugins/in-process-loader.d.ts.map +1 -1
- package/src/project-graph/plugins/in-process-loader.js +2 -2
- package/src/project-graph/plugins/isolation/plugin-pool.js +3 -2
- package/src/project-graph/plugins/isolation/plugin-worker.js +3 -3
- package/src/project-graph/plugins/loaded-nx-plugin.d.ts +5 -0
- package/src/project-graph/plugins/loaded-nx-plugin.d.ts.map +1 -1
- package/src/project-graph/plugins/loaded-nx-plugin.js +5 -0
- package/src/project-graph/project-graph.d.ts +1 -0
- package/src/project-graph/project-graph.d.ts.map +1 -1
- package/src/project-graph/project-graph.js +21 -0
- package/src/project-graph/utils/project-configuration-utils.d.ts +1 -1
- package/src/project-graph/utils/project-configuration-utils.d.ts.map +1 -1
- package/src/project-graph/utils/project-configuration-utils.js +46 -15
- package/src/project-graph/utils/retrieve-workspace-files.d.ts +1 -1
- package/src/project-graph/utils/retrieve-workspace-files.d.ts.map +1 -1
- package/src/tasks-runner/utils.d.ts.map +1 -1
- package/src/tasks-runner/utils.js +3 -2
- package/src/utils/ab-testing.js +1 -1
- package/src/utils/assert-workspace-validity.d.ts.map +1 -1
- package/src/utils/assert-workspace-validity.js +5 -8
- package/src/utils/call-sites.d.ts +15 -0
- package/src/utils/call-sites.d.ts.map +1 -0
- package/src/utils/call-sites.js +28 -0
- package/src/utils/package-json.d.ts +0 -4
- package/src/utils/package-json.d.ts.map +1 -1
- package/src/utils/package-json.js +11 -45
- package/src/daemon/message-types/nx-console.d.ts +0 -18
- package/src/daemon/message-types/nx-console.d.ts.map +0 -1
- package/src/daemon/message-types/nx-console.js +0 -19
- package/src/daemon/server/handle-nx-console.d.ts +0 -4
- package/src/daemon/server/handle-nx-console.d.ts.map +0 -1
- package/src/daemon/server/handle-nx-console.js +0 -54
- package/src/daemon/server/nx-console-operations.d.ts +0 -31
- package/src/daemon/server/nx-console-operations.d.ts.map +0 -1
- package/src/daemon/server/nx-console-operations.js +0 -135
|
@@ -30,20 +30,12 @@ async function getPlugins(root = workspace_root_1.workspaceRoot) {
|
|
|
30
30
|
pluginsConfigurationHash === currentPluginsConfigurationHash) {
|
|
31
31
|
return loadedPlugins;
|
|
32
32
|
}
|
|
33
|
-
// Cleanup current plugins before loading new ones
|
|
34
|
-
cleanupSpecifiedPlugins?.();
|
|
35
|
-
pendingPluginsPromise ??= loadSpecifiedNxPlugins(pluginsConfiguration, root);
|
|
36
33
|
currentPluginsConfigurationHash = pluginsConfigurationHash;
|
|
37
|
-
const [
|
|
38
|
-
pendingPluginsPromise,
|
|
34
|
+
const [defaultPlugins, specifiedPlugins] = await Promise.all([
|
|
39
35
|
getOnlyDefaultPlugins(root),
|
|
36
|
+
(pendingPluginsPromise ??= loadSpecifiedNxPlugins(pluginsConfiguration, root)),
|
|
40
37
|
]);
|
|
41
|
-
|
|
42
|
-
loadedPlugins = undefined;
|
|
43
|
-
pendingPluginsPromise = undefined;
|
|
44
|
-
cleanupFn();
|
|
45
|
-
};
|
|
46
|
-
loadedPlugins = result.concat(defaultPlugins);
|
|
38
|
+
loadedPlugins = specifiedPlugins.concat(defaultPlugins);
|
|
47
39
|
return loadedPlugins;
|
|
48
40
|
}
|
|
49
41
|
/**
|
|
@@ -77,6 +69,8 @@ async function getOnlyDefaultPlugins(root = workspace_root_1.workspaceRoot) {
|
|
|
77
69
|
function cleanupPlugins() {
|
|
78
70
|
cleanupSpecifiedPlugins?.();
|
|
79
71
|
cleanupDefaultPlugins?.();
|
|
72
|
+
pendingPluginsPromise = undefined;
|
|
73
|
+
pendingDefaultPluginPromise = undefined;
|
|
80
74
|
}
|
|
81
75
|
/**
|
|
82
76
|
* Stuff for generic loading
|
|
@@ -108,34 +102,38 @@ async function loadDefaultNxPlugins(root = workspace_root_1.workspaceRoot) {
|
|
|
108
102
|
performance.measure('loadDefaultNxPlugins', 'loadDefaultNxPlugins:start', 'loadDefaultNxPlugins:end');
|
|
109
103
|
return ret;
|
|
110
104
|
}
|
|
111
|
-
async function loadSpecifiedNxPlugins(
|
|
105
|
+
async function loadSpecifiedNxPlugins(pluginsConfigurations, root = workspace_root_1.workspaceRoot) {
|
|
106
|
+
// Returning existing plugins is handled by getPlugins,
|
|
107
|
+
// so, if we are here and there are existing plugins, they are stale
|
|
108
|
+
if (cleanupSpecifiedPlugins) {
|
|
109
|
+
cleanupSpecifiedPlugins();
|
|
110
|
+
}
|
|
112
111
|
performance.mark('loadSpecifiedNxPlugins:start');
|
|
113
|
-
|
|
112
|
+
pluginsConfigurations ??= [];
|
|
114
113
|
const cleanupFunctions = [];
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
})),
|
|
127
|
-
() => {
|
|
128
|
-
for (const fn of cleanupFunctions) {
|
|
129
|
-
fn();
|
|
130
|
-
}
|
|
131
|
-
if ((0, transpiler_1.pluginTranspilerIsRegistered)()) {
|
|
132
|
-
(0, transpiler_1.cleanupPluginTSTranspiler)();
|
|
133
|
-
}
|
|
134
|
-
},
|
|
135
|
-
];
|
|
114
|
+
const plugins = await Promise.all(pluginsConfigurations.map(async (plugin, index) => {
|
|
115
|
+
const pluginPath = typeof plugin === 'string' ? plugin : plugin.plugin;
|
|
116
|
+
performance.mark(`Load Nx Plugin: ${pluginPath} - start`);
|
|
117
|
+
const [loadedPluginPromise, cleanup] = await loadingMethod(plugin, root, index);
|
|
118
|
+
cleanupFunctions.push(cleanup);
|
|
119
|
+
const res = await loadedPluginPromise;
|
|
120
|
+
res.index = index;
|
|
121
|
+
performance.mark(`Load Nx Plugin: ${pluginPath} - end`);
|
|
122
|
+
performance.measure(`Load Nx Plugin: ${pluginPath}`, `Load Nx Plugin: ${pluginPath} - start`, `Load Nx Plugin: ${pluginPath} - end`);
|
|
123
|
+
return res;
|
|
124
|
+
}));
|
|
136
125
|
performance.mark('loadSpecifiedNxPlugins:end');
|
|
137
126
|
performance.measure('loadSpecifiedNxPlugins', 'loadSpecifiedNxPlugins:start', 'loadSpecifiedNxPlugins:end');
|
|
138
|
-
|
|
127
|
+
cleanupSpecifiedPlugins = () => {
|
|
128
|
+
for (const fn of cleanupFunctions) {
|
|
129
|
+
fn();
|
|
130
|
+
}
|
|
131
|
+
if ((0, transpiler_1.pluginTranspilerIsRegistered)()) {
|
|
132
|
+
(0, transpiler_1.cleanupPluginTSTranspiler)();
|
|
133
|
+
}
|
|
134
|
+
pendingPluginsPromise = undefined;
|
|
135
|
+
};
|
|
136
|
+
return plugins;
|
|
139
137
|
}
|
|
140
138
|
function getDefaultPlugins(root) {
|
|
141
139
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-process-loader.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/plugins/in-process-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGhF,OAAO,EACL,WAAW,EAEZ,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"in-process-loader.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/plugins/in-process-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGhF,OAAO,EACL,WAAW,EAEZ,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AASzD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC9C,KAAK,WAAsB,GAC1B;IACD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;CACnB,CA0BA;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,kDAKrE;AAED,wBAAsB,iBAAiB,CACrC,mBAAmB,EAAE,mBAAmB,EACxC,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,CAAC,CAmBzB"}
|
|
@@ -9,7 +9,6 @@ const package_json_1 = require("../../utils/package-json");
|
|
|
9
9
|
const fileutils_1 = require("../../utils/fileutils");
|
|
10
10
|
const error_types_1 = require("../error-types");
|
|
11
11
|
const path = require("node:path/posix");
|
|
12
|
-
const load_resolved_plugin_1 = require("./load-resolved-plugin");
|
|
13
12
|
const resolve_plugin_1 = require("./resolve-plugin");
|
|
14
13
|
const transpiler_1 = require("./transpiler");
|
|
15
14
|
function readPluginPackageJson(pluginName, projects, paths = (0, installation_directory_1.getNxRequirePaths)()) {
|
|
@@ -52,7 +51,8 @@ async function loadNxPluginAsync(pluginConfiguration, paths, root) {
|
|
|
52
51
|
if (shouldRegisterTSTranspiler) {
|
|
53
52
|
(0, transpiler_1.registerPluginTSTranspiler)();
|
|
54
53
|
}
|
|
55
|
-
|
|
54
|
+
const { loadResolvedNxPluginAsync } = await Promise.resolve().then(() => require('./load-resolved-plugin'));
|
|
55
|
+
return loadResolvedNxPluginAsync(pluginConfiguration, pluginPath, name);
|
|
56
56
|
}
|
|
57
57
|
catch (e) {
|
|
58
58
|
throw new error_types_1.LoadPluginError(moduleName, e);
|
|
@@ -32,7 +32,7 @@ async function loadRemoteNxPlugin(plugin, root, index) {
|
|
|
32
32
|
}
|
|
33
33
|
const moduleName = typeof plugin === 'string' ? plugin : plugin.plugin;
|
|
34
34
|
const { name, pluginPath, shouldRegisterTSTranspiler } = await (0, resolve_plugin_1.resolveNxPlugin)(moduleName, root, (0, installation_directory_1.getNxRequirePaths)(root));
|
|
35
|
-
const { worker, socket } = await startPluginWorker();
|
|
35
|
+
const { worker, socket } = await startPluginWorker(name);
|
|
36
36
|
// Register plugin worker as a subprocess of the main CLI
|
|
37
37
|
// This allows metrics collection when the daemon is not used
|
|
38
38
|
if (worker.pid) {
|
|
@@ -276,7 +276,7 @@ function registerPendingPromise(tx, pending, callback, context) {
|
|
|
276
276
|
return promise;
|
|
277
277
|
}
|
|
278
278
|
global.nxPluginWorkerCount ??= 0;
|
|
279
|
-
async function startPluginWorker() {
|
|
279
|
+
async function startPluginWorker(name) {
|
|
280
280
|
// this should only really be true when running unit tests within
|
|
281
281
|
// the Nx repo. We still need to start the worker in this case,
|
|
282
282
|
// but its typescript.
|
|
@@ -296,6 +296,7 @@ async function startPluginWorker() {
|
|
|
296
296
|
...(isWorkerTypescript ? ['--require', 'ts-node/register'] : []),
|
|
297
297
|
workerPath,
|
|
298
298
|
ipcPath,
|
|
299
|
+
name,
|
|
299
300
|
], {
|
|
300
301
|
stdio: 'inherit',
|
|
301
302
|
env,
|
|
@@ -71,7 +71,7 @@ const server = (0, net_1.createServer)((socket) => {
|
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
|
-
createNodes: async ({ configFiles, context, tx })
|
|
74
|
+
createNodes: async function createNodes({ configFiles, context, tx }) {
|
|
75
75
|
try {
|
|
76
76
|
const result = await plugin.createNodes[1](configFiles, context);
|
|
77
77
|
return {
|
|
@@ -90,7 +90,7 @@ const server = (0, net_1.createServer)((socket) => {
|
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
|
-
createDependencies: async ({ context, tx })
|
|
93
|
+
createDependencies: async function createDependencies({ context, tx }) {
|
|
94
94
|
try {
|
|
95
95
|
const result = await plugin.createDependencies(context);
|
|
96
96
|
return {
|
|
@@ -109,7 +109,7 @@ const server = (0, net_1.createServer)((socket) => {
|
|
|
109
109
|
};
|
|
110
110
|
}
|
|
111
111
|
},
|
|
112
|
-
createMetadata: async ({ graph, context, tx })
|
|
112
|
+
createMetadata: async function createMetadata({ graph, context, tx }) {
|
|
113
113
|
try {
|
|
114
114
|
const result = await plugin.createMetadata(graph, context);
|
|
115
115
|
return {
|
|
@@ -2,6 +2,11 @@ import type { ProjectGraph } from '../../config/project-graph';
|
|
|
2
2
|
import { type PluginConfiguration } from '../../config/nx-json';
|
|
3
3
|
import type { RawProjectGraphDependency } from '../project-graph-builder';
|
|
4
4
|
import type { CreateDependenciesContext, CreateMetadataContext, CreateNodesContextV2, CreateNodesResult, NxPluginV2, PostTasksExecutionContext, PreTasksExecutionContext, ProjectsMetadata } from './public-api';
|
|
5
|
+
/**
|
|
6
|
+
* NOTE: Avoid using `import type` with this class. It causes issues with
|
|
7
|
+
* jest's module resolution when running tests in projects that import
|
|
8
|
+
* the devkit-internals
|
|
9
|
+
*/
|
|
5
10
|
export declare class LoadedNxPlugin {
|
|
6
11
|
index?: number;
|
|
7
12
|
readonly name: string;
|
|
@@ -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;CAuFtE"}
|
|
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;;;;GAIG;AACH,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"}
|
|
@@ -4,6 +4,11 @@ exports.LoadedNxPlugin = void 0;
|
|
|
4
4
|
const error_types_1 = require("../error-types");
|
|
5
5
|
const enabled_1 = require("./isolation/enabled");
|
|
6
6
|
const client_1 = require("../../daemon/client/client");
|
|
7
|
+
/**
|
|
8
|
+
* NOTE: Avoid using `import type` with this class. It causes issues with
|
|
9
|
+
* jest's module resolution when running tests in projects that import
|
|
10
|
+
* the devkit-internals
|
|
11
|
+
*/
|
|
7
12
|
class LoadedNxPlugin {
|
|
8
13
|
constructor(plugin, pluginDefinition) {
|
|
9
14
|
this.name = plugin.name;
|
|
@@ -51,4 +51,5 @@ export declare function createProjectGraphAndSourceMapsAsync(opts?: {
|
|
|
51
51
|
projectGraph: ProjectGraph;
|
|
52
52
|
sourceMaps: import("./utils/project-configuration-utils").ConfigurationSourceMaps;
|
|
53
53
|
}>;
|
|
54
|
+
export declare function preventRecursionInGraphConstruction(): void;
|
|
54
55
|
//# sourceMappingURL=project-graph.d.ts.map
|
|
@@ -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;
|
|
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,CAkBvB;AAED,wBAAsB,oCAAoC,CACxD,IAAI,GAAE;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAGxD;;;GAmIF;AAED,wBAAgB,mCAAmC,SA0BlD"}
|
|
@@ -7,6 +7,7 @@ exports.buildProjectGraphAndSourceMapsWithoutDaemon = buildProjectGraphAndSource
|
|
|
7
7
|
exports.handleProjectGraphError = handleProjectGraphError;
|
|
8
8
|
exports.createProjectGraphAsync = createProjectGraphAsync;
|
|
9
9
|
exports.createProjectGraphAndSourceMapsAsync = createProjectGraphAndSourceMapsAsync;
|
|
10
|
+
exports.preventRecursionInGraphConstruction = preventRecursionInGraphConstruction;
|
|
10
11
|
const perf_hooks_1 = require("perf_hooks");
|
|
11
12
|
const nx_json_1 = require("../config/nx-json");
|
|
12
13
|
const client_1 = require("../daemon/client/client");
|
|
@@ -25,6 +26,7 @@ const native_1 = require("../native");
|
|
|
25
26
|
const path_1 = require("path");
|
|
26
27
|
const cache_directory_1 = require("../utils/cache-directory");
|
|
27
28
|
const delayed_spinner_1 = require("../utils/delayed-spinner");
|
|
29
|
+
const call_sites_1 = require("../utils/call-sites");
|
|
28
30
|
/**
|
|
29
31
|
* Synchronously reads the latest cached copy of the workspace's ProjectGraph.
|
|
30
32
|
*
|
|
@@ -77,6 +79,7 @@ function readProjectsConfigurationFromProjectGraph(projectGraph) {
|
|
|
77
79
|
};
|
|
78
80
|
}
|
|
79
81
|
async function buildProjectGraphAndSourceMapsWithoutDaemon() {
|
|
82
|
+
preventRecursionInGraphConstruction();
|
|
80
83
|
global.NX_GRAPH_CREATION = true;
|
|
81
84
|
const nxJson = (0, nx_json_1.readNxJson)();
|
|
82
85
|
perf_hooks_1.performance.mark('retrieve-project-configurations:start');
|
|
@@ -325,3 +328,21 @@ async function createProjectGraphAndSourceMapsAsync(opts = {
|
|
|
325
328
|
}
|
|
326
329
|
}
|
|
327
330
|
}
|
|
331
|
+
function preventRecursionInGraphConstruction() {
|
|
332
|
+
// preventRecursionInGraphConstruction -> callee -> ...
|
|
333
|
+
// slice removes preventRecursionInGraphConstruction and its caller,
|
|
334
|
+
// which is useful when using this function to detect recursion in buildProjectGraphAndSourceMapsWithoutDaemon
|
|
335
|
+
const stackframes = (0, call_sites_1.getCallSites)().slice(2);
|
|
336
|
+
if (stackframes.some((f) => {
|
|
337
|
+
const functionName = f.getFunctionName();
|
|
338
|
+
const fileName = f.getFileName() || '';
|
|
339
|
+
return (functionName === buildProjectGraphAndSourceMapsWithoutDaemon.name ||
|
|
340
|
+
(['createNodes', 'createDependencies', 'createMetadata'].includes(functionName || '') &&
|
|
341
|
+
fileName.endsWith('plugin-worker.js')));
|
|
342
|
+
})) {
|
|
343
|
+
throw new Error(`Project graph construction cannot be performed due to a loop detected in the call stack. This can happen if 'createProjectGraphAsync' is called directly or indirectly during project graph construction.\n` +
|
|
344
|
+
'To avoid this, you can add a check against "global.NX_GRAPH_CREATION" before calling "createProjectGraphAsync".\n' +
|
|
345
|
+
'Call stack:\n' +
|
|
346
|
+
stackframes.join('\n'));
|
|
347
|
+
}
|
|
348
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NxJsonConfiguration, TargetDefaults } from '../../config/nx-json';
|
|
2
2
|
import { ProjectGraphExternalNode } from '../../config/project-graph';
|
|
3
3
|
import { ProjectConfiguration, ProjectMetadata, TargetConfiguration, TargetMetadata } from '../../config/workspace-json-project-json';
|
|
4
|
-
import { LoadedNxPlugin } from '../plugins/loaded-nx-plugin';
|
|
4
|
+
import type { LoadedNxPlugin } from '../plugins/loaded-nx-plugin';
|
|
5
5
|
export type SourceInformation = [file: string | null, plugin: string];
|
|
6
6
|
export type ConfigurationSourceMaps = Record<string, Record<string, SourceInformation>>;
|
|
7
7
|
export declare function mergeProjectConfigurationIntoRootMap(projectRootMap: Record<string, ProjectConfiguration>, project: ProjectConfiguration, configurationSourceMaps?: ConfigurationSourceMaps, sourceInformation?: SourceInformation, skipTargetNormalization?: boolean): void;
|
|
@@ -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":"AAAA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACf,MAAM,0CAA0C,CAAC;AAUlD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
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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"}
|
|
@@ -354,13 +354,18 @@ function mergeCreateNodesResults(results, nxJsonConfiguration, workspaceRoot, er
|
|
|
354
354
|
try {
|
|
355
355
|
validateAndNormalizeProjectRootMap(workspaceRoot, projectRootMap, nxJsonConfiguration, configurationSourceMaps);
|
|
356
356
|
}
|
|
357
|
-
catch (
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
357
|
+
catch (error) {
|
|
358
|
+
const unknownErrors = [];
|
|
359
|
+
let _errors = error instanceof AggregateError ? error.errors : [error];
|
|
360
|
+
for (const e of _errors) {
|
|
361
|
+
if ((0, error_types_1.isProjectsWithNoNameError)(e) ||
|
|
362
|
+
(0, error_types_1.isMultipleProjectsWithSameNameError)(e) ||
|
|
363
|
+
(0, error_types_1.isWorkspaceValidityError)(e)) {
|
|
364
|
+
errors.push(e);
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
throw e;
|
|
368
|
+
}
|
|
364
369
|
}
|
|
365
370
|
}
|
|
366
371
|
const rootMap = createRootMap(projectRootMap);
|
|
@@ -438,6 +443,7 @@ function validateAndNormalizeProjectRootMap(workspaceRoot, projectRootMap, nxJso
|
|
|
438
443
|
// to provide better error messaging.
|
|
439
444
|
const conflicts = new Map();
|
|
440
445
|
const projectRootsWithNoName = [];
|
|
446
|
+
const validityErrors = [];
|
|
441
447
|
for (const root in projectRootMap) {
|
|
442
448
|
const project = projectRootMap[root];
|
|
443
449
|
// We're setting `// targets` as a comment `targets` is empty due to Project Crystal.
|
|
@@ -473,13 +479,30 @@ function validateAndNormalizeProjectRootMap(workspaceRoot, projectRootMap, nxJso
|
|
|
473
479
|
}
|
|
474
480
|
for (const root in projectRootMap) {
|
|
475
481
|
const project = projectRootMap[root];
|
|
476
|
-
|
|
482
|
+
try {
|
|
483
|
+
normalizeTargets(project, sourceMaps, nxJsonConfiguration, workspaceRoot, projects);
|
|
484
|
+
}
|
|
485
|
+
catch (e) {
|
|
486
|
+
if (e instanceof error_types_1.WorkspaceValidityError) {
|
|
487
|
+
validityErrors.push(e);
|
|
488
|
+
}
|
|
489
|
+
else {
|
|
490
|
+
throw e;
|
|
491
|
+
}
|
|
492
|
+
}
|
|
477
493
|
}
|
|
494
|
+
const errors = [];
|
|
478
495
|
if (conflicts.size > 0) {
|
|
479
|
-
|
|
496
|
+
errors.push(new error_types_1.MultipleProjectsWithSameNameError(conflicts, projects));
|
|
480
497
|
}
|
|
481
498
|
if (projectRootsWithNoName.length > 0) {
|
|
482
|
-
|
|
499
|
+
errors.push(new error_types_1.ProjectsWithNoNameError(projectRootsWithNoName, projects));
|
|
500
|
+
}
|
|
501
|
+
if (validityErrors.length > 0) {
|
|
502
|
+
errors.push(...validityErrors);
|
|
503
|
+
}
|
|
504
|
+
if (errors.length > 0) {
|
|
505
|
+
throw new AggregateError(errors);
|
|
483
506
|
}
|
|
484
507
|
return projectRootMap;
|
|
485
508
|
}
|
|
@@ -488,6 +511,7 @@ function normalizeTargets(project, sourceMaps, nxJsonConfiguration, workspaceRoo
|
|
|
488
511
|
* Project configurations keyed by project name
|
|
489
512
|
*/
|
|
490
513
|
projects) {
|
|
514
|
+
const targetErrorMessage = [];
|
|
491
515
|
for (const targetName in project.targets) {
|
|
492
516
|
project.targets[targetName] = normalizeTarget(project.targets[targetName], project, workspaceRoot, projects, [project.root, targetName].join(':'));
|
|
493
517
|
const projectSourceMaps = sourceMaps[project.root];
|
|
@@ -497,14 +521,14 @@ projects) {
|
|
|
497
521
|
if (targetDefaults && isCompatibleTarget(targetConfig, targetDefaults)) {
|
|
498
522
|
project.targets[targetName] = mergeTargetDefaultWithTargetDefinition(targetName, project, normalizeTarget(targetDefaults, project, workspaceRoot, projects, ['nx.json[targetDefaults]', targetName].join(':')), projectSourceMaps);
|
|
499
523
|
}
|
|
524
|
+
const target = project.targets[targetName];
|
|
500
525
|
if (
|
|
501
526
|
// If the target has no executor or command, it doesn't do anything
|
|
502
|
-
!
|
|
503
|
-
!
|
|
527
|
+
!target.executor &&
|
|
528
|
+
!target.command) {
|
|
504
529
|
// But it may have dependencies that do something
|
|
505
|
-
if (
|
|
506
|
-
|
|
507
|
-
project.targets[targetName].executor = 'nx:noop';
|
|
530
|
+
if (target.dependsOn && target.dependsOn.length > 0) {
|
|
531
|
+
target.executor = 'nx:noop';
|
|
508
532
|
}
|
|
509
533
|
else {
|
|
510
534
|
// If it does nothing, and has no depenencies,
|
|
@@ -512,6 +536,13 @@ projects) {
|
|
|
512
536
|
delete project.targets[targetName];
|
|
513
537
|
}
|
|
514
538
|
}
|
|
539
|
+
if (target.cache && target.continuous) {
|
|
540
|
+
targetErrorMessage.push(`- "${targetName}" has both "cache" and "continuous" set to true. Continuous targets cannot be cached. Please remove the "cache" property.`);
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
if (targetErrorMessage.length > 0) {
|
|
544
|
+
targetErrorMessage.unshift(`Errors detected in targets of project "${project.name}":`);
|
|
545
|
+
throw new error_types_1.WorkspaceValidityError(targetErrorMessage.join('\n'));
|
|
515
546
|
}
|
|
516
547
|
}
|
|
517
548
|
function validateProject(project,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProjectConfiguration } from '../../config/workspace-json-project-json';
|
|
2
2
|
import { NxJsonConfiguration } from '../../config/nx-json';
|
|
3
3
|
import { ConfigurationResult } from './project-configuration-utils';
|
|
4
|
-
import { LoadedNxPlugin } from '../plugins/loaded-nx-plugin';
|
|
4
|
+
import type { LoadedNxPlugin } from '../plugins/loaded-nx-plugin';
|
|
5
5
|
/**
|
|
6
6
|
* Walks the workspace directory to create the `projectFileMap`, `ProjectConfigurations` and `allWorkspaceFiles`
|
|
7
7
|
* @throws
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieve-workspace-files.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/utils/retrieve-workspace-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAKhF,OAAO,EAAE,mBAAmB,EAAc,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,mBAAmB,EAEpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"retrieve-workspace-files.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/project-graph/utils/retrieve-workspace-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAKhF,OAAO,EAAE,mBAAmB,EAAc,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,mBAAmB,EAEpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAUlE;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;GA6BvC;AAED;;GAEG;AAEH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,cAAc,EAAE,EACzB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAc9B;AAED,wBAAsB,gDAAgD,CACpE,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAsB9B;AAED,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAOnB;AAQD,wBAAsB,mDAAmD,CACvE,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAsB/C;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,GAC7B,MAAM,EAAE,CAEV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -386,7 +386,7 @@ function shouldStreamOutput(task, initiatingProject) {
|
|
|
386
386
|
return false;
|
|
387
387
|
}
|
|
388
388
|
function isCacheableTask(task, options) {
|
|
389
|
-
if (task.cache !== undefined
|
|
389
|
+
if (task.cache !== undefined) {
|
|
390
390
|
return task.cache;
|
|
391
391
|
}
|
|
392
392
|
const cacheable = options.cacheableOperations || options.cacheableTargets;
|
|
@@ -396,7 +396,8 @@ function isCacheableTask(task, options) {
|
|
|
396
396
|
}
|
|
397
397
|
function longRunningTask(task) {
|
|
398
398
|
const t = task.target.target;
|
|
399
|
-
return (
|
|
399
|
+
return (task.continuous ||
|
|
400
|
+
(!!task.overrides['watch'] && task.overrides['watch'] !== 'false') ||
|
|
400
401
|
t.endsWith(':watch') ||
|
|
401
402
|
t.endsWith('-watch') ||
|
|
402
403
|
t === 'serve' ||
|
package/src/utils/ab-testing.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert-workspace-validity.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/assert-workspace-validity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAMxD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC9C,MAAM,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"assert-workspace-validity.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/assert-workspace-validity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAMxD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC9C,MAAM,EAAE,mBAAmB,QA2F5B"}
|
|
@@ -28,19 +28,16 @@ function assertWorkspaceValidity(projects, nxJson) {
|
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
const projectsWithNonArrayImplicitDependencies = new Map();
|
|
31
|
-
projectNames
|
|
32
|
-
.filter((projectName) => {
|
|
31
|
+
projectNames.reduce((map, projectName) => {
|
|
33
32
|
const project = projects[projectName];
|
|
34
|
-
// Report if for whatever reason, a project is configured to use implicitDependencies but it is not an array
|
|
35
33
|
if (!!project.implicitDependencies &&
|
|
36
34
|
!Array.isArray(project.implicitDependencies)) {
|
|
37
35
|
projectsWithNonArrayImplicitDependencies.set(projectName, project.implicitDependencies);
|
|
36
|
+
return map;
|
|
37
|
+
}
|
|
38
|
+
if (!project.implicitDependencies) {
|
|
39
|
+
return map;
|
|
38
40
|
}
|
|
39
|
-
return (!!project.implicitDependencies &&
|
|
40
|
-
Array.isArray(project.implicitDependencies));
|
|
41
|
-
})
|
|
42
|
-
.reduce((map, projectName) => {
|
|
43
|
-
const project = projects[projectName];
|
|
44
41
|
detectAndSetInvalidProjectGlobValues(map, projectName, project.implicitDependencies, projects, projectGraphNodes);
|
|
45
42
|
return map;
|
|
46
43
|
}, invalidImplicitDependencies);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns an array of CallSite objects representing the current call stack.
|
|
3
|
+
*
|
|
4
|
+
* NOTE: The returned CallSite[] does not include the frame for getCallSites itself,
|
|
5
|
+
* but will include the function that called getCallSites. If you are checking for
|
|
6
|
+
* things like recursion, you need to make sure to account for that.
|
|
7
|
+
*
|
|
8
|
+
* The behavior should match node:util.getCallSites, introduced in Node.js v22.0.0.
|
|
9
|
+
*
|
|
10
|
+
* @todo(@AgentEnder) Move this to node:util when we remove support for Node.js versions < 22, around Nx 24
|
|
11
|
+
*
|
|
12
|
+
* @returns {NodeJS.CallSite[]} An array of CallSite objects.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getCallSites(): NodeJS.CallSite[];
|
|
15
|
+
//# sourceMappingURL=call-sites.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-sites.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/call-sites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,sBAY3B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCallSites = getCallSites;
|
|
4
|
+
/**
|
|
5
|
+
* Returns an array of CallSite objects representing the current call stack.
|
|
6
|
+
*
|
|
7
|
+
* NOTE: The returned CallSite[] does not include the frame for getCallSites itself,
|
|
8
|
+
* but will include the function that called getCallSites. If you are checking for
|
|
9
|
+
* things like recursion, you need to make sure to account for that.
|
|
10
|
+
*
|
|
11
|
+
* The behavior should match node:util.getCallSites, introduced in Node.js v22.0.0.
|
|
12
|
+
*
|
|
13
|
+
* @todo(@AgentEnder) Move this to node:util when we remove support for Node.js versions < 22, around Nx 24
|
|
14
|
+
*
|
|
15
|
+
* @returns {NodeJS.CallSite[]} An array of CallSite objects.
|
|
16
|
+
*/
|
|
17
|
+
function getCallSites() {
|
|
18
|
+
const prepareStackTraceBackup = Error.prepareStackTrace;
|
|
19
|
+
Error.prepareStackTrace = (_, stackTraces) => {
|
|
20
|
+
return stackTraces;
|
|
21
|
+
};
|
|
22
|
+
const errorObject = {};
|
|
23
|
+
Error.captureStackTrace(errorObject);
|
|
24
|
+
const trace = errorObject.stack;
|
|
25
|
+
Error.prepareStackTrace = prepareStackTraceBackup;
|
|
26
|
+
trace.shift(); // remove getCallSites
|
|
27
|
+
return trace; // return stack up to what called getCallSites
|
|
28
|
+
}
|
|
@@ -110,10 +110,6 @@ export declare function installPackageToTmp(pkg: string, requiredVersion: string
|
|
|
110
110
|
tempDir: string;
|
|
111
111
|
cleanup: () => void;
|
|
112
112
|
};
|
|
113
|
-
export declare function installPackageToTmpAsync(pkg: string, requiredVersion: string): Promise<{
|
|
114
|
-
tempDir: string;
|
|
115
|
-
cleanup: () => void;
|
|
116
|
-
}>;
|
|
117
113
|
/**
|
|
118
114
|
* Get the resolved version of a dependency from package.json.
|
|
119
115
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/package-json.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/utils/package-json.ts"],"names":[],"mappings":"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"}
|