nx 20.0.0-beta.6 → 20.0.0-beta.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. package/bin/init-local.js +0 -39
  2. package/bin/nx.js +3 -13
  3. package/migrations.json +5 -0
  4. package/package.json +11 -11
  5. package/release/changelog-renderer/index.d.ts +60 -38
  6. package/release/changelog-renderer/index.js +260 -236
  7. package/src/adapter/compat.d.ts +1 -1
  8. package/src/adapter/compat.js +1 -1
  9. package/src/command-line/add/add.js +2 -2
  10. package/src/command-line/affected/affected.js +0 -2
  11. package/src/command-line/nx-commands.js +31 -10
  12. package/src/command-line/release/changelog.d.ts +2 -2
  13. package/src/command-line/release/changelog.js +28 -29
  14. package/src/command-line/release/utils/git.js +2 -2
  15. package/src/command-line/release/utils/resolve-changelog-renderer.d.ts +2 -2
  16. package/src/command-line/release/utils/resolve-changelog-renderer.js +3 -3
  17. package/src/command-line/run/run-one.js +0 -2
  18. package/src/command-line/run/run.js +0 -1
  19. package/src/command-line/run-many/run-many.js +1 -4
  20. package/src/command-line/yargs-utils/shared-options.js +2 -2
  21. package/src/config/misc-interfaces.d.ts +3 -15
  22. package/src/config/nx-json.d.ts +4 -3
  23. package/src/config/project-graph.d.ts +0 -2
  24. package/src/core/graph/main.js +1 -1
  25. package/src/daemon/client/client.js +1 -3
  26. package/src/devkit-exports.d.ts +3 -4
  27. package/src/devkit-exports.js +3 -6
  28. package/src/executors/utils/convert-nx-executor.js +0 -1
  29. package/src/generators/utils/nx-json.d.ts +1 -1
  30. package/src/migrations/update-20-0-0/move-use-daemon-process.d.ts +2 -0
  31. package/src/migrations/update-20-0-0/move-use-daemon-process.js +25 -0
  32. package/src/native/nx.wasm32-wasi.wasm +0 -0
  33. package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +2 -12
  34. package/src/project-graph/build-project-graph.js +3 -41
  35. package/src/project-graph/error-types.d.ts +4 -10
  36. package/src/project-graph/error-types.js +1 -12
  37. package/src/project-graph/file-utils.js +1 -1
  38. package/src/project-graph/nx-deps-cache.d.ts +0 -1
  39. package/src/project-graph/nx-deps-cache.js +0 -1
  40. package/src/project-graph/plugins/internal-api.d.ts +2 -5
  41. package/src/project-graph/plugins/internal-api.js +0 -1
  42. package/src/project-graph/plugins/isolation/messaging.d.ts +3 -23
  43. package/src/project-graph/plugins/isolation/plugin-pool.js +0 -23
  44. package/src/project-graph/plugins/isolation/plugin-worker.js +0 -19
  45. package/src/project-graph/plugins/loader.js +2 -3
  46. package/src/project-graph/plugins/public-api.d.ts +6 -7
  47. package/src/project-graph/plugins/utils.d.ts +1 -7
  48. package/src/project-graph/plugins/utils.js +0 -37
  49. package/src/project-graph/utils/project-configuration-utils.js +1 -1
  50. package/src/tasks-runner/batch/run-batch.js +0 -1
  51. package/src/tasks-runner/cache.d.ts +2 -0
  52. package/src/tasks-runner/cache.js +7 -2
  53. package/src/tasks-runner/create-task-graph.js +4 -4
  54. package/src/tasks-runner/init-tasks-runner.js +0 -2
  55. package/src/tasks-runner/run-command.js +15 -2
  56. package/src/utils/command-line-utils.d.ts +3 -0
  57. package/src/utils/command-line-utils.js +24 -33
  58. package/src/utils/plugins/plugin-capabilities.js +2 -3
  59. package/src/utils/app-root.d.ts +0 -8
  60. package/src/utils/app-root.js +0 -12
  61. package/src/utils/nx-plugin.deprecated.d.ts +0 -31
  62. package/src/utils/nx-plugin.deprecated.js +0 -20
  63. package/src/utils/workspace-configuration-check.d.ts +0 -1
  64. package/src/utils/workspace-configuration-check.js +0 -36
@@ -29,6 +29,7 @@ const command_object_23 = require("./login/command-object");
29
29
  const command_object_24 = require("./logout/command-object");
30
30
  const command_objects_1 = require("./deprecated/command-objects");
31
31
  const command_object_25 = require("./sync/command-object");
32
+ const output_1 = require("../utils/output");
32
33
  // Ensure that the output takes up the available width of the terminal.
33
34
  yargs.wrap(yargs.terminalWidth());
34
35
  exports.parserConfiguration = {
@@ -82,26 +83,46 @@ exports.commandsObject = yargs
82
83
  .command(command_object_23.yargsLoginCommand)
83
84
  .command(command_object_24.yargsLogoutCommand)
84
85
  .command(resolveConformanceCommandObject())
86
+ .command(resolveConformanceCheckCommandObject())
85
87
  .scriptName('nx')
86
88
  .help()
87
89
  // NOTE: we handle --version in nx.ts, this just tells yargs that the option exists
88
90
  // so that it shows up in help. The default yargs implementation of --version is not
89
91
  // hit, as the implementation in nx.ts is hit first and calls process.exit(0).
90
92
  .version();
93
+ function createMissingConformanceCommand(command) {
94
+ return {
95
+ command,
96
+ // Hide from --help output in the common case of not having the plugin installed
97
+ describe: false,
98
+ handler: () => {
99
+ output_1.output.error({
100
+ title: `${command} is not available`,
101
+ bodyLines: [
102
+ `In order to use the \`nx ${command}\` command you must have an active Powerpack license and the \`@nx/powerpack-conformance\` plugin installed.`,
103
+ '',
104
+ 'To learn more, visit https://nx.dev/features/powerpack/conformance',
105
+ ],
106
+ });
107
+ process.exit(1);
108
+ },
109
+ };
110
+ }
91
111
  function resolveConformanceCommandObject() {
92
112
  try {
93
113
  const { yargsConformanceCommand } = require('@nx/powerpack-conformance');
94
114
  return yargsConformanceCommand;
95
115
  }
96
- catch (e) {
97
- return {
98
- command: 'conformance',
99
- // Hide from --help output in the common case of not having the plugin installed
100
- describe: false,
101
- handler: () => {
102
- // TODO: Add messaging to help with learning more about powerpack and conformance
103
- process.exit(1);
104
- },
105
- };
116
+ catch {
117
+ return createMissingConformanceCommand('conformance');
118
+ }
119
+ }
120
+ function resolveConformanceCheckCommandObject() {
121
+ try {
122
+ const { yargsConformanceCheckCommand, } = require('@nx/powerpack-conformance');
123
+ return yargsConformanceCheckCommand;
124
+ }
125
+ catch {
126
+ return createMissingConformanceCommand('conformance:check');
106
127
  }
107
128
  }
@@ -22,10 +22,10 @@ export interface ChangelogChange {
22
22
  body?: string;
23
23
  isBreaking?: boolean;
24
24
  githubReferences?: Reference[];
25
- author?: {
25
+ authors?: {
26
26
  name: string;
27
27
  email: string;
28
- };
28
+ }[];
29
29
  shortHash?: string;
30
30
  revertedHashes?: string[];
31
31
  }
@@ -162,7 +162,8 @@ function createAPI(overrideReleaseConfig) {
162
162
  body: '',
163
163
  isBreaking: releaseType.isBreaking,
164
164
  githubReferences,
165
- author,
165
+ // TODO(JamesHenry): Implement support for Co-authored-by and adding multiple authors
166
+ authors: [author],
166
167
  affectedProjects: '*',
167
168
  }
168
169
  : vp.triggeredByProjects.map((project) => {
@@ -173,7 +174,8 @@ function createAPI(overrideReleaseConfig) {
173
174
  body: '',
174
175
  isBreaking: releaseType.isBreaking,
175
176
  githubReferences,
176
- author,
177
+ // TODO(JamesHenry): Implement support for Co-authored-by and adding multiple authors
178
+ authors: [author],
177
179
  affectedProjects: [project],
178
180
  };
179
181
  });
@@ -209,7 +211,7 @@ function createAPI(overrideReleaseConfig) {
209
211
  body: c.body,
210
212
  isBreaking: c.isBreaking,
211
213
  githubReferences: c.references,
212
- author: c.author,
214
+ authors: [c.author],
213
215
  shortHash: c.shortHash,
214
216
  revertedHashes: c.revertedHashes,
215
217
  affectedProjects: '*',
@@ -313,13 +315,14 @@ function createAPI(overrideReleaseConfig) {
313
315
  }
314
316
  const releaseType = versionPlanSemverReleaseTypeToChangelogType(bumpForProject);
315
317
  let githubReferences = [];
316
- let author = undefined;
318
+ let authors = [];
317
319
  const parsedCommit = vp.commit
318
320
  ? (0, git_1.parseGitCommit)(vp.commit, true)
319
321
  : null;
320
322
  if (parsedCommit) {
321
323
  githubReferences = parsedCommit.references;
322
- author = parsedCommit.author;
324
+ // TODO(JamesHenry): Implement support for Co-authored-by and adding multiple authors
325
+ authors = [parsedCommit.author];
323
326
  }
324
327
  return {
325
328
  type: releaseType.type,
@@ -329,7 +332,7 @@ function createAPI(overrideReleaseConfig) {
329
332
  isBreaking: releaseType.isBreaking,
330
333
  affectedProjects: Object.keys(vp.projectVersionBumps),
331
334
  githubReferences,
332
- author,
335
+ authors,
333
336
  };
334
337
  })
335
338
  .filter(Boolean);
@@ -365,7 +368,8 @@ function createAPI(overrideReleaseConfig) {
365
368
  body: c.body,
366
369
  isBreaking: c.isBreaking,
367
370
  githubReferences: c.references,
368
- author: c.author,
371
+ // TODO(JamesHenry): Implement support for Co-authored-by and adding multiple authors
372
+ authors: [c.author],
369
373
  shortHash: c.shortHash,
370
374
  revertedHashes: c.revertedHashes,
371
375
  affectedProjects: commitChangesNonProjectFiles(c, fileMap.nonProjectFiles)
@@ -376,15 +380,12 @@ function createAPI(overrideReleaseConfig) {
376
380
  const projectChangelogs = await generateChangelogForProjects({
377
381
  tree,
378
382
  args,
379
- projectGraph,
380
383
  changes,
381
384
  projectsVersionData,
382
385
  releaseGroup,
383
386
  projects: [project],
384
387
  nxReleaseConfig,
385
388
  projectToAdditionalDependencyBumps,
386
- // TODO: remove this after the changelog renderer is refactored to remove coupling with git commits
387
- commits: filterHiddenCommits(commits, nxReleaseConfig.conventionalCommits),
388
389
  });
389
390
  let hasPushed = false;
390
391
  for (const [projectName, projectChangelog] of Object.entries(projectChangelogs)) {
@@ -436,7 +437,8 @@ function createAPI(overrideReleaseConfig) {
436
437
  body: '',
437
438
  isBreaking: releaseType.isBreaking,
438
439
  githubReferences,
439
- author,
440
+ // TODO(JamesHenry): Implement support for Co-authored-by and adding multiple authors
441
+ authors: [author],
440
442
  affectedProjects: '*',
441
443
  }
442
444
  : vp.triggeredByProjects.map((project) => {
@@ -447,7 +449,8 @@ function createAPI(overrideReleaseConfig) {
447
449
  body: '',
448
450
  isBreaking: releaseType.isBreaking,
449
451
  githubReferences,
450
- author,
452
+ // TODO(JamesHenry): Implement support for Co-authored-by and adding multiple authors
453
+ authors: [author],
451
454
  affectedProjects: [project],
452
455
  };
453
456
  });
@@ -482,7 +485,8 @@ function createAPI(overrideReleaseConfig) {
482
485
  body: c.body,
483
486
  isBreaking: c.isBreaking,
484
487
  githubReferences: c.references,
485
- author: c.author,
488
+ // TODO(JamesHenry): Implement support for Co-authored-by and adding multiple authors
489
+ authors: [c.author],
486
490
  shortHash: c.shortHash,
487
491
  revertedHashes: c.revertedHashes,
488
492
  affectedProjects: commitChangesNonProjectFiles(c, fileMap.nonProjectFiles)
@@ -493,15 +497,12 @@ function createAPI(overrideReleaseConfig) {
493
497
  const projectChangelogs = await generateChangelogForProjects({
494
498
  tree,
495
499
  args,
496
- projectGraph,
497
500
  changes,
498
501
  projectsVersionData,
499
502
  releaseGroup,
500
503
  projects: projectNodes,
501
504
  nxReleaseConfig,
502
505
  projectToAdditionalDependencyBumps,
503
- // TODO: remove this after the changelog renderer is refactored to remove coupling with git commits
504
- commits: filterHiddenCommits(commits, nxReleaseConfig.conventionalCommits),
505
506
  });
506
507
  let hasPushed = false;
507
508
  for (const [projectName, projectChangelog] of Object.entries(projectChangelogs)) {
@@ -716,7 +717,7 @@ async function generateChangelogForWorkspace({ tree, args, projectGraph, nxRelea
716
717
  const interactive = args.interactive === 'all' || args.interactive === 'workspace';
717
718
  const dryRun = !!args.dryRun;
718
719
  const gitRemote = args.gitRemote;
719
- const changelogRenderer = (0, resolve_changelog_renderer_1.resolveChangelogRenderer)(config.renderer);
720
+ const ChangelogRendererClass = (0, resolve_changelog_renderer_1.resolveChangelogRenderer)(config.renderer);
720
721
  let interpolatedTreePath = config.file || '';
721
722
  if (interpolatedTreePath) {
722
723
  interpolatedTreePath = (0, utils_1.interpolate)(interpolatedTreePath, {
@@ -736,18 +737,17 @@ async function generateChangelogForWorkspace({ tree, args, projectGraph, nxRelea
736
737
  });
737
738
  }
738
739
  const githubRepoData = (0, github_1.getGitHubRepoData)(gitRemote, config.createRelease);
739
- let contents = await changelogRenderer({
740
- projectGraph,
740
+ const changelogRenderer = new ChangelogRendererClass({
741
741
  changes,
742
- commits,
743
- releaseVersion: releaseVersion.rawVersion,
742
+ changelogEntryVersion: releaseVersion.rawVersion,
744
743
  project: null,
745
- repoSlug: githubRepoData?.slug,
744
+ isVersionPlans: false,
746
745
  repoData: githubRepoData,
747
746
  entryWhenNoChanges: config.entryWhenNoChanges,
748
747
  changelogRenderOptions: config.renderOptions,
749
748
  conventionalCommitsConfig: nxReleaseConfig.conventionalCommits,
750
749
  });
750
+ let contents = await changelogRenderer.render();
751
751
  /**
752
752
  * If interactive mode, make the changelog contents available for the user to modify in their editor of choice,
753
753
  * in a similar style to git interactive rebases/merges.
@@ -789,7 +789,7 @@ async function generateChangelogForWorkspace({ tree, args, projectGraph, nxRelea
789
789
  contents,
790
790
  };
791
791
  }
792
- async function generateChangelogForProjects({ tree, args, projectGraph, changes, commits, projectsVersionData, releaseGroup, projects, nxReleaseConfig, projectToAdditionalDependencyBumps, }) {
792
+ async function generateChangelogForProjects({ tree, args, changes, projectsVersionData, releaseGroup, projects, nxReleaseConfig, projectToAdditionalDependencyBumps, }) {
793
793
  const config = releaseGroup.changelog;
794
794
  // The entire feature is disabled at the release group level, exit early
795
795
  if (config === false) {
@@ -799,7 +799,7 @@ async function generateChangelogForProjects({ tree, args, projectGraph, changes,
799
799
  const interactive = args.interactive === 'all' || args.interactive === 'projects';
800
800
  const dryRun = !!args.dryRun;
801
801
  const gitRemote = args.gitRemote;
802
- const changelogRenderer = (0, resolve_changelog_renderer_1.resolveChangelogRenderer)(config.renderer);
802
+ const ChangelogRendererClass = (0, resolve_changelog_renderer_1.resolveChangelogRenderer)(config.renderer);
803
803
  const projectChangelogs = {};
804
804
  for (const project of projects) {
805
805
  let interpolatedTreePath = config.file || '';
@@ -829,13 +829,10 @@ async function generateChangelogForProjects({ tree, args, projectGraph, changes,
829
829
  });
830
830
  }
831
831
  const githubRepoData = (0, github_1.getGitHubRepoData)(gitRemote, config.createRelease);
832
- let contents = await changelogRenderer({
833
- projectGraph,
832
+ const changelogRenderer = new ChangelogRendererClass({
834
833
  changes,
835
- commits,
836
- releaseVersion: releaseVersion.rawVersion,
834
+ changelogEntryVersion: releaseVersion.rawVersion,
837
835
  project: project.name,
838
- repoSlug: githubRepoData?.slug,
839
836
  repoData: githubRepoData,
840
837
  entryWhenNoChanges: typeof config.entryWhenNoChanges === 'string'
841
838
  ? (0, utils_1.interpolate)(config.entryWhenNoChanges, {
@@ -845,11 +842,13 @@ async function generateChangelogForProjects({ tree, args, projectGraph, changes,
845
842
  })
846
843
  : false,
847
844
  changelogRenderOptions: config.renderOptions,
845
+ isVersionPlans: !!releaseGroup.versionPlans,
848
846
  conventionalCommitsConfig: releaseGroup.versionPlans
849
847
  ? null
850
848
  : nxReleaseConfig.conventionalCommits,
851
849
  dependencyBumps: projectToAdditionalDependencyBumps.get(project.name),
852
850
  });
851
+ let contents = await changelogRenderer.render();
853
852
  /**
854
853
  * If interactive mode, make the changelog contents available for the user to modify in their editor of choice,
855
854
  * in a similar style to git interactive rebases/merges.
@@ -16,7 +16,7 @@ exports.getFirstGitCommit = getFirstGitCommit;
16
16
  * https://github.com/unjs/changelogen
17
17
  */
18
18
  const utils_1 = require("../../../tasks-runner/utils");
19
- const app_root_1 = require("../../../utils/app-root");
19
+ const workspace_root_1 = require("../../../utils/workspace-root");
20
20
  const exec_command_1 = require("./exec-command");
21
21
  function escapeRegExp(string) {
22
22
  return string.replace(/[/\-\\^$*+?.()|[\]{}]/g, '\\$&');
@@ -118,7 +118,7 @@ async function getChangedTrackedFiles(cwd) {
118
118
  async function gitAdd({ changedFiles, deletedFiles, dryRun, verbose, logFn, cwd, }) {
119
119
  logFn = logFn || console.log;
120
120
  // Default to running git add related commands from the workspace root
121
- cwd = cwd || app_root_1.workspaceRoot;
121
+ cwd = cwd || workspace_root_1.workspaceRoot;
122
122
  let ignoredFiles = [];
123
123
  let filesToAdd = [];
124
124
  for (const f of changedFiles ?? []) {
@@ -1,2 +1,2 @@
1
- import type { ChangelogRenderer } from '../../../../release/changelog-renderer';
2
- export declare function resolveChangelogRenderer(changelogRendererPath: string): ChangelogRenderer;
1
+ import type ChangelogRenderer from '../../../../release/changelog-renderer';
2
+ export declare function resolveChangelogRenderer(changelogRendererPath: string): typeof ChangelogRenderer;
@@ -10,7 +10,7 @@ function resolveChangelogRenderer(changelogRendererPath) {
10
10
  workspaceRoot: workspace_root_1.workspaceRoot,
11
11
  });
12
12
  // Try and load the provided (or default) changelog renderer
13
- let changelogRenderer;
13
+ let ChangelogRendererClass;
14
14
  let cleanupTranspiler = () => { };
15
15
  try {
16
16
  const rootTsconfigPath = (0, typescript_1.getRootTsConfigPath)();
@@ -18,7 +18,7 @@ function resolveChangelogRenderer(changelogRendererPath) {
18
18
  cleanupTranspiler = (0, register_1.registerTsProject)(rootTsconfigPath);
19
19
  }
20
20
  const r = require(interpolatedChangelogRendererPath);
21
- changelogRenderer = r.default || r;
21
+ ChangelogRendererClass = r.default || r;
22
22
  }
23
23
  catch (err) {
24
24
  throw err;
@@ -26,5 +26,5 @@ function resolveChangelogRenderer(changelogRendererPath) {
26
26
  finally {
27
27
  cleanupTranspiler();
28
28
  }
29
- return changelogRenderer;
29
+ return ChangelogRendererClass;
30
30
  }
@@ -11,7 +11,6 @@ const split_target_1 = require("../../utils/split-target");
11
11
  const output_1 = require("../../utils/output");
12
12
  const configuration_1 = require("../../config/configuration");
13
13
  const calculate_default_project_name_1 = require("../../config/calculate-default-project-name");
14
- const workspace_configuration_check_1 = require("../../utils/workspace-configuration-check");
15
14
  const graph_1 = require("../graph/graph");
16
15
  async function runOne(cwd, args, extraTargetDependencies = {}, extraOptions = {
17
16
  excludeTaskDependencies: args.excludeTaskDependencies,
@@ -19,7 +18,6 @@ async function runOne(cwd, args, extraTargetDependencies = {}, extraOptions = {
19
18
  }) {
20
19
  perf_hooks_1.performance.mark('code-loading:end');
21
20
  perf_hooks_1.performance.measure('code-loading', 'init-local', 'code-loading:end');
22
- (0, workspace_configuration_check_1.workspaceConfigurationCheck)();
23
21
  const nxJson = (0, configuration_1.readNxJson)();
24
22
  const projectGraph = await (0, project_graph_1.createProjectGraphAsync)();
25
23
  const opts = parseRunOneOptions(cwd, args, projectGraph, nxJson);
@@ -100,7 +100,6 @@ async function runExecutorInternal({ project, target, configuration }, overrides
100
100
  target: targetConfig,
101
101
  projectsConfigurations,
102
102
  nxJsonConfiguration,
103
- workspace: { ...projectsConfigurations, ...nxJsonConfiguration },
104
103
  projectName: project,
105
104
  targetName: target,
106
105
  configurationName: configuration,
@@ -4,7 +4,6 @@ exports.runMany = runMany;
4
4
  exports.projectsToRun = projectsToRun;
5
5
  const run_command_1 = require("../../tasks-runner/run-command");
6
6
  const command_line_utils_1 = require("../../utils/command-line-utils");
7
- const command_line_utils_2 = require("../../utils/command-line-utils");
8
7
  const project_graph_utils_1 = require("../../utils/project-graph-utils");
9
8
  const connect_to_nx_cloud_1 = require("../connect/connect-to-nx-cloud");
10
9
  const perf_hooks_1 = require("perf_hooks");
@@ -12,7 +11,6 @@ const project_graph_1 = require("../../project-graph/project-graph");
12
11
  const configuration_1 = require("../../config/configuration");
13
12
  const output_1 = require("../../utils/output");
14
13
  const find_matching_projects_1 = require("../../utils/find-matching-projects");
15
- const workspace_configuration_check_1 = require("../../utils/workspace-configuration-check");
16
14
  const graph_1 = require("../graph/graph");
17
15
  async function runMany(args, extraTargetDependencies = {}, extraOptions = {
18
16
  excludeTaskDependencies: args.excludeTaskDependencies,
@@ -20,9 +18,8 @@ async function runMany(args, extraTargetDependencies = {}, extraOptions = {
20
18
  }) {
21
19
  perf_hooks_1.performance.mark('code-loading:end');
22
20
  perf_hooks_1.performance.measure('code-loading', 'init-local', 'code-loading:end');
23
- (0, workspace_configuration_check_1.workspaceConfigurationCheck)();
24
21
  const nxJson = (0, configuration_1.readNxJson)();
25
- const { nxArgs, overrides } = (0, command_line_utils_2.splitArgsIntoNxArgsAndOverrides)(args, 'run-many', { printWarnings: args.graph !== 'stdout' }, nxJson);
22
+ const { nxArgs, overrides } = (0, command_line_utils_1.splitArgsIntoNxArgsAndOverrides)(args, 'run-many', { printWarnings: args.graph !== 'stdout' }, nxJson);
26
23
  if (nxArgs.verbose) {
27
24
  process.env.NX_VERBOSE_LOGGING = 'true';
28
25
  }
@@ -81,9 +81,9 @@ function withRunOptions(yargs) {
81
81
  default: false,
82
82
  })
83
83
  .option('skipSync', {
84
+ describe: 'Skips running the sync generators associated with the tasks.',
84
85
  type: 'boolean',
85
- // TODO(leo): add description and make it visible once it is stable
86
- hidden: true,
86
+ default: false,
87
87
  })
88
88
  .options('cloud', {
89
89
  type: 'boolean',
@@ -173,16 +173,12 @@ export interface ExecutorContext {
173
173
  target?: TargetConfiguration;
174
174
  /**
175
175
  * Projects config
176
- *
177
- * @todo(vsavkin): mark this as required for v17
178
176
  */
179
- projectsConfigurations?: ProjectsConfigurations;
177
+ projectsConfigurations: ProjectsConfigurations;
180
178
  /**
181
179
  * The contents of nx.json.
182
- *
183
- * @todo(vsavkin): mark this as required for v17
184
180
  */
185
- nxJsonConfiguration?: NxJsonConfiguration;
181
+ nxJsonConfiguration: NxJsonConfiguration;
186
182
  /**
187
183
  * The current working directory
188
184
  */
@@ -194,19 +190,11 @@ export interface ExecutorContext {
194
190
  /**
195
191
  * A snapshot of the project graph as
196
192
  * it existed when the Nx command was kicked off
197
- *
198
- * @todo(vsavkin) mark this required for v17
199
193
  */
200
- projectGraph?: ProjectGraph;
194
+ projectGraph: ProjectGraph;
201
195
  /**
202
196
  * A snapshot of the task graph as
203
197
  * it existed when the Nx command was kicked off
204
198
  */
205
199
  taskGraph?: TaskGraph;
206
- /**
207
- * Deprecated. Use projectsConfigurations or nxJsonConfiguration
208
- * The full workspace configuration
209
- * @todo(vsavkin): remove after v17
210
- */
211
- workspace?: ProjectsConfigurations & NxJsonConfiguration;
212
200
  }
@@ -353,7 +353,8 @@ export interface NxJsonConfiguration<T = '*' | string[]> {
353
353
  appsDir?: string;
354
354
  };
355
355
  /**
356
- * Available Task Runners
356
+ * @deprecated Custom task runners will no longer be supported in Nx 21. Use Nx Cloud or Nx Powerpack instead.
357
+ * Available Task Runners for Nx to use
357
358
  */
358
359
  tasksRunnerOptions?: {
359
360
  [tasksRunnerName: string]: {
@@ -463,9 +464,9 @@ export interface NxJsonConfiguration<T = '*' | string[]> {
463
464
  */
464
465
  sync?: NxSyncConfiguration;
465
466
  /**
466
- * Enable the new experimental db based cache
467
+ * Use the legacy file system cache instead of the db cache
467
468
  */
468
- enableDbCache?: boolean;
469
+ useLegacyCache?: boolean;
469
470
  }
470
471
  export type PluginConfiguration = string | ExpandedPluginConfiguration;
471
472
  export type ExpandedPluginConfiguration<T = unknown> = {
@@ -61,8 +61,6 @@ export declare enum DependencyType {
61
61
  */
62
62
  implicit = "implicit"
63
63
  }
64
- /** @deprecated this type will be removed in v16. Use {@link ProjectGraphProjectNode} or {@link ProjectGraphExternalNode} instead */
65
- export type ProjectGraphNode = ProjectGraphProjectNode | ProjectGraphExternalNode;
66
64
  /**
67
65
  * A node describing a project in a workspace
68
66
  */