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

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.
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
  */