nx 19.6.0-canary.20240723-c4f9d89 → 19.6.0-canary.20240725-3890edc

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. package/bin/nx-cloud.d.ts +2 -1
  2. package/bin/nx-cloud.js +9 -17
  3. package/package.json +12 -12
  4. package/src/command-line/list/list.js +10 -14
  5. package/src/command-line/release/command-object.js +5 -21
  6. package/src/command-line/reset/command-object.d.ts +1 -0
  7. package/src/command-line/reset/command-object.js +4 -0
  8. package/src/command-line/reset/reset.js +13 -0
  9. package/src/command-line/run/run.js +2 -14
  10. package/src/command-line/watch/watch.js +1 -1
  11. package/src/daemon/socket-utils.js +1 -1
  12. package/src/daemon/tmp-dir.d.ts +1 -1
  13. package/src/daemon/tmp-dir.js +3 -2
  14. package/src/migrations/update-16-0-0/update-nx-cloud-runner.js +2 -0
  15. package/src/migrations/update-18-0-0/disable-crystal-for-existing-workspaces.d.ts +1 -1
  16. package/src/migrations/update-18-0-0/disable-crystal-for-existing-workspaces.js +3 -1
  17. package/src/native/nx.wasm32-wasi.wasm +0 -0
  18. package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.js +2 -10
  19. package/src/nx-cloud/utilities/client.d.ts +10 -0
  20. package/src/nx-cloud/utilities/client.js +35 -0
  21. package/src/nx-cloud/utilities/url-shorten.d.ts +2 -2
  22. package/src/nx-cloud/utilities/url-shorten.js +13 -6
  23. package/src/tasks-runner/run-command.d.ts +4 -4
  24. package/src/tasks-runner/run-command.js +22 -17
  25. package/src/tasks-runner/task-graph-utils.d.ts +3 -0
  26. package/src/tasks-runner/task-graph-utils.js +34 -0
  27. package/src/tasks-runner/utils.js +9 -5
  28. package/src/utils/chunkify.d.ts +10 -0
  29. package/src/utils/chunkify.js +19 -12
  30. package/src/utils/command-line-utils.d.ts +3 -0
  31. package/src/utils/command-line-utils.js +11 -7
  32. package/src/utils/git-utils.js +14 -4
  33. package/src/utils/plugins/core-plugins.d.ts +6 -3
  34. package/src/utils/plugins/core-plugins.js +107 -115
  35. package/src/utils/plugins/index.d.ts +4 -4
  36. package/src/utils/plugins/index.js +7 -8
  37. package/src/utils/plugins/installed-plugins.d.ts +2 -3
  38. package/src/utils/plugins/installed-plugins.js +4 -31
  39. package/src/utils/plugins/local-plugins.d.ts +2 -3
  40. package/src/utils/plugins/local-plugins.js +2 -29
  41. package/src/utils/plugins/output.d.ts +5 -0
  42. package/src/utils/plugins/output.js +104 -0
  43. package/src/utils/plugins/plugin-capabilities.d.ts +12 -2
  44. package/src/utils/plugins/plugin-capabilities.js +2 -87
  45. package/src/utils/plugins/community-plugins.d.ts +0 -2
  46. package/src/utils/plugins/community-plugins.js +0 -28
  47. package/src/utils/plugins/models.d.ts +0 -22
  48. package/src/utils/plugins/models.js +0 -2
  49. package/src/utils/plugins/shared.d.ts +0 -1
  50. package/src/utils/plugins/shared.js +0 -7
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.findCycle = findCycle;
4
4
  exports.makeAcyclic = makeAcyclic;
5
+ exports.validateNoAtomizedTasks = validateNoAtomizedTasks;
6
+ const output_1 = require("../utils/output");
5
7
  function _findCycle(graph, id, visited, path) {
6
8
  if (visited[id])
7
9
  return null;
@@ -52,3 +54,35 @@ function makeAcyclic(graph) {
52
54
  }
53
55
  graph.roots = Object.keys(graph.dependencies).filter((t) => graph.dependencies[t].length === 0);
54
56
  }
57
+ function validateNoAtomizedTasks(taskGraph, projectGraph) {
58
+ const getNonAtomizedTargetForTask = (task) => projectGraph.nodes[task.target.project]?.data?.targets?.[task.target.target]
59
+ ?.metadata?.nonAtomizedTarget;
60
+ const atomizedRootTasks = Object.values(taskGraph.tasks).filter((task) => getNonAtomizedTargetForTask(task) !== undefined);
61
+ if (atomizedRootTasks.length === 0) {
62
+ return;
63
+ }
64
+ const nonAtomizedTasks = atomizedRootTasks
65
+ .map((t) => `"${getNonAtomizedTargetForTask(t)}"`)
66
+ .filter((item, index, arr) => arr.indexOf(item) === index);
67
+ const moreInfoLines = [
68
+ `Please enable Nx Cloud or use the slower ${nonAtomizedTasks.join(',')} task${nonAtomizedTasks.length > 1 ? 's' : ''}.`,
69
+ 'Learn more at https://nx.dev/ci/features/split-e2e-tasks#use-atomizer-only-with-nx-cloud-distribution',
70
+ ];
71
+ if (atomizedRootTasks.length === 1) {
72
+ output_1.output.error({
73
+ title: `The ${atomizedRootTasks[0].id} task should only be run with Nx Cloud.`,
74
+ bodyLines: [...moreInfoLines],
75
+ });
76
+ }
77
+ else {
78
+ output_1.output.error({
79
+ title: `The following tasks should only be run with Nx Cloud:`,
80
+ bodyLines: [
81
+ ...atomizedRootTasks.map((task) => ` - ${task.id}`),
82
+ '',
83
+ ...moreInfoLines,
84
+ ],
85
+ });
86
+ }
87
+ process.exit(1);
88
+ }
@@ -215,16 +215,20 @@ function getOutputsForTargetAndConfiguration(taskTargetOrTask, overridesOrNode,
215
215
  };
216
216
  if (targetConfiguration?.outputs) {
217
217
  validateOutputs(targetConfiguration.outputs);
218
- return targetConfiguration.outputs
219
- .map((output) => {
220
- return interpolate(output, {
218
+ const result = new Set();
219
+ for (const output of targetConfiguration.outputs) {
220
+ const interpolatedOutput = interpolate(output, {
221
221
  projectRoot: node.data.root,
222
222
  projectName: node.name,
223
223
  project: { ...node.data, name: node.name }, // this is legacy
224
224
  options,
225
225
  });
226
- })
227
- .filter((output) => !!output && !output.match(/{(projectRoot|workspaceRoot|(options.*))}/));
226
+ if (!!interpolatedOutput &&
227
+ !interpolatedOutput.match(/{(projectRoot|workspaceRoot|(options.*))}/)) {
228
+ result.add(interpolatedOutput);
229
+ }
230
+ }
231
+ return Array.from(result);
228
232
  }
229
233
  // Keep backwards compatibility in case `outputs` doesn't exist
230
234
  if (options.outputPath) {
@@ -1 +1,11 @@
1
1
  export declare function chunkify(target: string[], maxChunkLength?: number): string[][];
2
+ /**
3
+ * Get the maximum length of a command-line argument string based on current platform
4
+ *
5
+ * https://serverfault.com/questions/69430/what-is-the-maximum-length-of-a-command-line-in-mac-os-x
6
+ * https://support.microsoft.com/en-us/help/830473/command-prompt-cmd-exe-command-line-string-limitation
7
+ * https://unix.stackexchange.com/a/120652
8
+ *
9
+ * Taken from: https://github.com/lint-staged/lint-staged/blob/adf50b00669f6aac2eeca25dd28ff86a9a3c2a48/lib/index.js#L21-L37
10
+ */
11
+ export declare function getMaxArgLength(): 262144 | 8191 | 131072;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.chunkify = chunkify;
4
- const child_process_1 = require("child_process");
5
- const TERMINAL_SIZE = process.platform === 'win32' ? 8192 : getUnixTerminalSize();
4
+ exports.getMaxArgLength = getMaxArgLength;
5
+ const TERMINAL_SIZE = getMaxArgLength();
6
6
  function chunkify(target, maxChunkLength = TERMINAL_SIZE - 500) {
7
7
  const chunks = [];
8
8
  let currentChunk = [];
@@ -23,15 +23,22 @@ function chunkify(target, maxChunkLength = TERMINAL_SIZE - 500) {
23
23
  chunks.push(currentChunk);
24
24
  return chunks;
25
25
  }
26
- function getUnixTerminalSize() {
27
- try {
28
- const argMax = (0, child_process_1.execSync)('getconf ARG_MAX').toString().trim();
29
- return Number.parseInt(argMax);
30
- }
31
- catch {
32
- // This number varies by system, but 100k seems like a safe
33
- // number from some research...
34
- // https://stackoverflow.com/questions/19354870/bash-command-line-and-input-limit
35
- return 100000;
26
+ /**
27
+ * Get the maximum length of a command-line argument string based on current platform
28
+ *
29
+ * https://serverfault.com/questions/69430/what-is-the-maximum-length-of-a-command-line-in-mac-os-x
30
+ * https://support.microsoft.com/en-us/help/830473/command-prompt-cmd-exe-command-line-string-limitation
31
+ * https://unix.stackexchange.com/a/120652
32
+ *
33
+ * Taken from: https://github.com/lint-staged/lint-staged/blob/adf50b00669f6aac2eeca25dd28ff86a9a3c2a48/lib/index.js#L21-L37
34
+ */
35
+ function getMaxArgLength() {
36
+ switch (process.platform) {
37
+ case 'darwin':
38
+ return 262144;
39
+ case 'win32':
40
+ return 8191;
41
+ default:
42
+ return 131072;
36
43
  }
37
44
  }
@@ -41,6 +41,9 @@ export declare function splitArgsIntoNxArgsAndOverrides(args: {
41
41
  __overrides_unparsed__: string[];
42
42
  };
43
43
  };
44
+ export declare function readParallelFromArgsAndEnv(args: {
45
+ [k: string]: any;
46
+ }): number;
44
47
  export declare function parseFiles(options: NxArgs): {
45
48
  files: string[];
46
49
  };
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createOverrides = createOverrides;
4
4
  exports.splitArgsIntoNxArgsAndOverrides = splitArgsIntoNxArgsAndOverrides;
5
+ exports.readParallelFromArgsAndEnv = readParallelFromArgsAndEnv;
5
6
  exports.parseFiles = parseFiles;
6
7
  exports.getProjectRoots = getProjectRoots;
7
8
  exports.readGraphFileFromGraphArg = readGraphFileFromGraphArg;
@@ -112,23 +113,26 @@ function splitArgsIntoNxArgsAndOverrides(args, mode, options = { printWarnings:
112
113
  nxArgs.skipNxCache = process.env.NX_SKIP_NX_CACHE === 'true';
113
114
  }
114
115
  normalizeNxArgsRunner(nxArgs, nxJson, options);
116
+ nxArgs['parallel'] = readParallelFromArgsAndEnv(args);
117
+ return { nxArgs, overrides };
118
+ }
119
+ function readParallelFromArgsAndEnv(args) {
115
120
  if (args['parallel'] === 'false' || args['parallel'] === false) {
116
- nxArgs['parallel'] = 1;
121
+ return 1;
117
122
  }
118
123
  else if (args['parallel'] === 'true' ||
119
124
  args['parallel'] === true ||
120
125
  args['parallel'] === '' ||
121
- process.env.NX_PARALLEL // dont require passing --parallel if NX_PARALLEL is set
122
- ) {
123
- nxArgs['parallel'] = Number(nxArgs['maxParallel'] ||
124
- nxArgs['max-parallel'] ||
126
+ // dont require passing --parallel if NX_PARALLEL is set, but allow overriding it
127
+ (process.env.NX_PARALLEL && args['parallel'] === undefined)) {
128
+ return Number(args['maxParallel'] ||
129
+ args['max-parallel'] ||
125
130
  process.env.NX_PARALLEL ||
126
131
  3);
127
132
  }
128
133
  else if (args['parallel'] !== undefined) {
129
- nxArgs['parallel'] = Number(args['parallel']);
134
+ return Number(args['parallel']);
130
135
  }
131
- return { nxArgs, overrides };
132
136
  }
133
137
  function normalizeNxArgsRunner(nxArgs, nxJson, options) {
134
138
  if (!nxArgs.runner) {
@@ -9,26 +9,36 @@ const devkit_exports_1 = require("../devkit-exports");
9
9
  function getGithubSlugOrNull() {
10
10
  try {
11
11
  const gitRemote = (0, child_process_1.execSync)('git remote -v').toString();
12
+ // If there are no remotes, we default to github
13
+ if (!gitRemote || gitRemote.length === 0) {
14
+ return 'github';
15
+ }
12
16
  return extractUserAndRepoFromGitHubUrl(gitRemote);
13
17
  }
14
18
  catch (e) {
15
- return null;
19
+ // Probably git is not set up, so we default to github
20
+ return 'github';
16
21
  }
17
22
  }
18
23
  function extractUserAndRepoFromGitHubUrl(gitRemotes) {
19
24
  const regex = /^\s*(\w+)\s+(git@github\.com:|https:\/\/github\.com\/)([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)\.git/gm;
25
+ const remotesPriority = ['origin', 'upstream', 'base'];
26
+ const foundRemotes = {};
20
27
  let firstGitHubUrl = null;
21
28
  let match;
22
29
  while ((match = regex.exec(gitRemotes)) !== null) {
23
30
  const remoteName = match[1];
24
31
  const url = match[2] + match[3] + '/' + match[4] + '.git';
25
- if (remoteName === 'origin') {
26
- return parseGitHubUrl(url);
27
- }
32
+ foundRemotes[remoteName] = url;
28
33
  if (!firstGitHubUrl) {
29
34
  firstGitHubUrl = url;
30
35
  }
31
36
  }
37
+ for (const remote of remotesPriority) {
38
+ if (foundRemotes[remote]) {
39
+ return parseGitHubUrl(foundRemotes[remote]);
40
+ }
41
+ }
32
42
  return firstGitHubUrl ? parseGitHubUrl(firstGitHubUrl) : null;
33
43
  }
34
44
  function parseGitHubUrl(url) {
@@ -1,3 +1,6 @@
1
- import type { CorePlugin, PluginCapabilities } from './models';
2
- export declare function fetchCorePlugins(): CorePlugin[];
3
- export declare function listCorePlugins(installedPlugins: Map<string, PluginCapabilities>, corePlugins: CorePlugin[]): void;
1
+ export interface CorePlugin {
2
+ name: string;
3
+ capabilities: 'executors' | 'generators' | 'executors,generators' | 'graph';
4
+ link?: string;
5
+ }
6
+ export declare const CORE_PLUGINS: CorePlugin[];
@@ -1,117 +1,109 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchCorePlugins = fetchCorePlugins;
4
- exports.listCorePlugins = listCorePlugins;
5
- const chalk = require("chalk");
6
- const output_1 = require("../output");
7
- function fetchCorePlugins() {
8
- return [
9
- {
10
- name: '@nx/angular',
11
- capabilities: 'executors,generators',
12
- },
13
- {
14
- name: '@nx/cypress',
15
- capabilities: 'executors,generators',
16
- },
17
- {
18
- name: '@nx/detox',
19
- capabilities: 'executors,generators',
20
- },
21
- {
22
- name: '@nx/esbuild',
23
- capabilities: 'executors,generators',
24
- },
25
- {
26
- name: '@nx/expo',
27
- capabilities: 'executors,generators',
28
- },
29
- {
30
- name: '@nx/express',
31
- capabilities: 'generators',
32
- },
33
- {
34
- name: '@nx/jest',
35
- capabilities: 'executors,generators',
36
- },
37
- {
38
- name: '@nx/js',
39
- capabilities: 'executors,generators',
40
- },
41
- {
42
- name: '@nx/eslint',
43
- capabilities: 'executors,generators',
44
- },
45
- {
46
- name: '@nx/nest',
47
- capabilities: 'generators',
48
- },
49
- {
50
- name: '@nx/next',
51
- capabilities: 'executors,generators',
52
- },
53
- {
54
- name: '@nx/node',
55
- capabilities: 'executors,generators',
56
- },
57
- {
58
- name: '@nx/nuxt',
59
- capabilities: 'generators',
60
- },
61
- {
62
- name: 'nx',
63
- capabilities: 'executors',
64
- },
65
- {
66
- name: '@nx/plugin',
67
- capabilities: 'executors,generators',
68
- },
69
- {
70
- name: '@nx/react',
71
- capabilities: 'executors,generators',
72
- },
73
- {
74
- name: '@nx/react-native',
75
- capabilities: 'executors,generators',
76
- },
77
- {
78
- name: '@nx/remix',
79
- capabilities: 'executors,generators',
80
- },
81
- {
82
- name: '@nx/rollup',
83
- capabilities: 'executors,generators',
84
- },
85
- {
86
- name: '@nx/storybook',
87
- capabilities: 'executors,generators',
88
- },
89
- {
90
- name: '@nx/vite',
91
- capabilities: 'executors,generators',
92
- },
93
- {
94
- name: '@nx/web',
95
- capabilities: 'executors,generators',
96
- },
97
- {
98
- name: '@nx/webpack',
99
- capabilities: 'executors,generators',
100
- },
101
- {
102
- name: '@nx/workspace',
103
- capabilities: 'executors,generators',
104
- },
105
- ];
106
- }
107
- function listCorePlugins(installedPlugins, corePlugins) {
108
- const alsoAvailable = corePlugins.filter((p) => !installedPlugins.has(p.name));
109
- if (alsoAvailable.length) {
110
- output_1.output.log({
111
- title: `Also available:`,
112
- bodyLines: alsoAvailable.map((p) => {
113
- return `${chalk.bold(p.name)} (${p.capabilities})`;
114
- }),
115
- });
116
- }
117
- }
3
+ exports.CORE_PLUGINS = void 0;
4
+ exports.CORE_PLUGINS = [
5
+ {
6
+ name: '@nx/angular',
7
+ capabilities: 'executors,generators',
8
+ },
9
+ {
10
+ name: '@nx/cypress',
11
+ capabilities: 'executors,generators',
12
+ },
13
+ {
14
+ name: '@nx/detox',
15
+ capabilities: 'executors,generators',
16
+ },
17
+ {
18
+ name: '@nx/esbuild',
19
+ capabilities: 'executors,generators',
20
+ },
21
+ {
22
+ name: '@nx/expo',
23
+ capabilities: 'executors,generators',
24
+ },
25
+ {
26
+ name: '@nx/express',
27
+ capabilities: 'generators',
28
+ },
29
+ {
30
+ name: '@nx/gradle',
31
+ capabilities: 'graph',
32
+ },
33
+ {
34
+ name: '@nx/jest',
35
+ capabilities: 'executors,generators',
36
+ },
37
+ {
38
+ name: '@nx/js',
39
+ capabilities: 'executors,generators',
40
+ },
41
+ {
42
+ name: '@nx/eslint',
43
+ capabilities: 'executors,generators',
44
+ },
45
+ {
46
+ name: '@nx/nest',
47
+ capabilities: 'generators',
48
+ },
49
+ {
50
+ name: '@nx/next',
51
+ capabilities: 'executors,generators',
52
+ },
53
+ {
54
+ name: '@nx/node',
55
+ capabilities: 'executors,generators',
56
+ },
57
+ {
58
+ name: '@nx/nuxt',
59
+ capabilities: 'generators',
60
+ },
61
+ {
62
+ name: 'nx',
63
+ capabilities: 'executors',
64
+ },
65
+ {
66
+ name: '@nx/plugin',
67
+ capabilities: 'executors,generators',
68
+ },
69
+ {
70
+ name: '@nx/react',
71
+ capabilities: 'executors,generators',
72
+ },
73
+ {
74
+ name: '@nx/react-native',
75
+ capabilities: 'executors,generators',
76
+ },
77
+ {
78
+ name: '@nx/remix',
79
+ capabilities: 'executors,generators',
80
+ },
81
+ {
82
+ name: '@nx/rollup',
83
+ capabilities: 'executors,generators',
84
+ },
85
+ {
86
+ name: '@nx/storybook',
87
+ capabilities: 'executors,generators',
88
+ },
89
+ {
90
+ name: '@nx/vite',
91
+ capabilities: 'executors,generators',
92
+ },
93
+ {
94
+ name: '@nx/vue',
95
+ capabilities: 'generators',
96
+ },
97
+ {
98
+ name: '@nx/web',
99
+ capabilities: 'executors,generators',
100
+ },
101
+ {
102
+ name: '@nx/webpack',
103
+ capabilities: 'executors,generators',
104
+ },
105
+ {
106
+ name: '@nx/workspace',
107
+ capabilities: 'executors,generators',
108
+ },
109
+ ];
@@ -1,4 +1,4 @@
1
- export { fetchCommunityPlugins } from './community-plugins';
2
- export { fetchCorePlugins, listCorePlugins } from './core-plugins';
3
- export { getInstalledPluginsAndCapabilities, listInstalledPlugins, } from './installed-plugins';
4
- export { getPluginCapabilities, listPluginCapabilities, } from './plugin-capabilities';
1
+ export { getInstalledPluginsAndCapabilities } from './installed-plugins';
2
+ export { getLocalWorkspacePlugins } from './local-plugins';
3
+ export { listPlugins, listAlsoAvailableCorePlugins, listPluginCapabilities, } from './output';
4
+ export { getPluginCapabilities } from './plugin-capabilities';
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.listPluginCapabilities = exports.getPluginCapabilities = exports.listInstalledPlugins = exports.getInstalledPluginsAndCapabilities = exports.listCorePlugins = exports.fetchCorePlugins = exports.fetchCommunityPlugins = void 0;
4
- var community_plugins_1 = require("./community-plugins");
5
- Object.defineProperty(exports, "fetchCommunityPlugins", { enumerable: true, get: function () { return community_plugins_1.fetchCommunityPlugins; } });
6
- var core_plugins_1 = require("./core-plugins");
7
- Object.defineProperty(exports, "fetchCorePlugins", { enumerable: true, get: function () { return core_plugins_1.fetchCorePlugins; } });
8
- Object.defineProperty(exports, "listCorePlugins", { enumerable: true, get: function () { return core_plugins_1.listCorePlugins; } });
3
+ exports.getPluginCapabilities = exports.listPluginCapabilities = exports.listAlsoAvailableCorePlugins = exports.listPlugins = exports.getLocalWorkspacePlugins = exports.getInstalledPluginsAndCapabilities = void 0;
9
4
  var installed_plugins_1 = require("./installed-plugins");
10
5
  Object.defineProperty(exports, "getInstalledPluginsAndCapabilities", { enumerable: true, get: function () { return installed_plugins_1.getInstalledPluginsAndCapabilities; } });
11
- Object.defineProperty(exports, "listInstalledPlugins", { enumerable: true, get: function () { return installed_plugins_1.listInstalledPlugins; } });
6
+ var local_plugins_1 = require("./local-plugins");
7
+ Object.defineProperty(exports, "getLocalWorkspacePlugins", { enumerable: true, get: function () { return local_plugins_1.getLocalWorkspacePlugins; } });
8
+ var output_1 = require("./output");
9
+ Object.defineProperty(exports, "listPlugins", { enumerable: true, get: function () { return output_1.listPlugins; } });
10
+ Object.defineProperty(exports, "listAlsoAvailableCorePlugins", { enumerable: true, get: function () { return output_1.listAlsoAvailableCorePlugins; } });
11
+ Object.defineProperty(exports, "listPluginCapabilities", { enumerable: true, get: function () { return output_1.listPluginCapabilities; } });
12
12
  var plugin_capabilities_1 = require("./plugin-capabilities");
13
13
  Object.defineProperty(exports, "getPluginCapabilities", { enumerable: true, get: function () { return plugin_capabilities_1.getPluginCapabilities; } });
14
- Object.defineProperty(exports, "listPluginCapabilities", { enumerable: true, get: function () { return plugin_capabilities_1.listPluginCapabilities; } });
@@ -1,6 +1,5 @@
1
- import type { PluginCapabilities } from './models';
2
- import { PackageJson } from '../package-json';
3
1
  import { ProjectConfiguration } from '../../config/workspace-json-project-json';
2
+ import { PackageJson } from '../package-json';
3
+ import { PluginCapabilities } from './plugin-capabilities';
4
4
  export declare function findInstalledPlugins(): PackageJson[];
5
5
  export declare function getInstalledPluginsAndCapabilities(workspaceRoot: string, projects: Record<string, ProjectConfiguration>): Promise<Map<string, PluginCapabilities>>;
6
- export declare function listInstalledPlugins(installedPlugins: Map<string, PluginCapabilities>): void;
@@ -2,17 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.findInstalledPlugins = findInstalledPlugins;
4
4
  exports.getInstalledPluginsAndCapabilities = getInstalledPluginsAndCapabilities;
5
- exports.listInstalledPlugins = listInstalledPlugins;
6
- const chalk = require("chalk");
7
- const output_1 = require("../output");
8
- const plugin_capabilities_1 = require("./plugin-capabilities");
9
- const shared_1 = require("./shared");
10
- const fileutils_1 = require("../fileutils");
11
- const package_json_1 = require("../package-json");
12
- const workspace_root_1 = require("../workspace-root");
13
5
  const path_1 = require("path");
14
6
  const nx_json_1 = require("../../config/nx-json");
7
+ const fileutils_1 = require("../fileutils");
15
8
  const installation_directory_1 = require("../installation-directory");
9
+ const package_json_1 = require("../package-json");
10
+ const workspace_root_1 = require("../workspace-root");
11
+ const plugin_capabilities_1 = require("./plugin-capabilities");
16
12
  function findInstalledPlugins() {
17
13
  const packageJsonDeps = getDependenciesFromPackageJson();
18
14
  const nxJsonDeps = getDependenciesFromNxJson();
@@ -78,26 +74,3 @@ async function getInstalledPluginsAndCapabilities(workspaceRoot, projects) {
78
74
  }
79
75
  return result;
80
76
  }
81
- function listInstalledPlugins(installedPlugins) {
82
- const bodyLines = [];
83
- for (const [, p] of installedPlugins) {
84
- const capabilities = [];
85
- if ((0, shared_1.hasElements)(p.executors)) {
86
- capabilities.push('executors');
87
- }
88
- if ((0, shared_1.hasElements)(p.generators)) {
89
- capabilities.push('generators');
90
- }
91
- if (p.projectGraphExtension) {
92
- capabilities.push('graph-extensions');
93
- }
94
- if (p.projectInference) {
95
- capabilities.push('project-inference');
96
- }
97
- bodyLines.push(`${chalk.bold(p.name)} (${capabilities.join()})`);
98
- }
99
- output_1.output.log({
100
- title: `Installed plugins:`,
101
- bodyLines: bodyLines,
102
- });
103
- }
@@ -1,5 +1,4 @@
1
- import type { PluginCapabilities } from './models';
2
- import { ProjectsConfigurations } from '../../config/workspace-json-project-json';
3
1
  import { NxJsonConfiguration } from '../../config/nx-json';
2
+ import { ProjectsConfigurations } from '../../config/workspace-json-project-json';
3
+ import { PluginCapabilities } from './plugin-capabilities';
4
4
  export declare function getLocalWorkspacePlugins(projectsConfiguration: ProjectsConfigurations, nxJson: NxJsonConfiguration): Promise<Map<string, PluginCapabilities>>;
5
- export declare function listLocalWorkspacePlugins(installedPlugins: Map<string, PluginCapabilities>): void;
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getLocalWorkspacePlugins = getLocalWorkspacePlugins;
4
- exports.listLocalWorkspacePlugins = listLocalWorkspacePlugins;
5
- const chalk = require("chalk");
6
- const output_1 = require("../output");
7
- const shared_1 = require("./shared");
8
- const fileutils_1 = require("../fileutils");
4
+ const fs_1 = require("fs");
9
5
  const path_1 = require("path");
6
+ const fileutils_1 = require("../fileutils");
10
7
  const workspace_root_1 = require("../workspace-root");
11
- const fs_1 = require("fs");
12
8
  const plugin_capabilities_1 = require("./plugin-capabilities");
13
9
  async function getLocalWorkspacePlugins(projectsConfiguration, nxJson) {
14
10
  const plugins = new Map();
@@ -32,26 +28,3 @@ async function getLocalWorkspacePlugins(projectsConfiguration, nxJson) {
32
28
  }
33
29
  return plugins;
34
30
  }
35
- function listLocalWorkspacePlugins(installedPlugins) {
36
- const bodyLines = [];
37
- for (const [, p] of installedPlugins) {
38
- const capabilities = [];
39
- if ((0, shared_1.hasElements)(p.executors)) {
40
- capabilities.push('executors');
41
- }
42
- if ((0, shared_1.hasElements)(p.generators)) {
43
- capabilities.push('generators');
44
- }
45
- if (p.projectGraphExtension) {
46
- capabilities.push('graph-extension');
47
- }
48
- if (p.projectInference) {
49
- capabilities.push('project-inference');
50
- }
51
- bodyLines.push(`${chalk.bold(p.name)} (${capabilities.join()})`);
52
- }
53
- output_1.output.log({
54
- title: `Local workspace plugins:`,
55
- bodyLines: bodyLines,
56
- });
57
- }
@@ -0,0 +1,5 @@
1
+ import { ProjectConfiguration } from '../../config/workspace-json-project-json';
2
+ import { PluginCapabilities } from './plugin-capabilities';
3
+ export declare function listPlugins(plugins: Map<string, PluginCapabilities>, title: string): void;
4
+ export declare function listAlsoAvailableCorePlugins(installedPlugins: Map<string, PluginCapabilities>): void;
5
+ export declare function listPluginCapabilities(pluginName: string, projects: Record<string, ProjectConfiguration>): Promise<void>;