@nx/angular 21.3.0-beta.6 → 21.3.0-canary.20250614-db86a35

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 (59) hide show
  1. package/fesm2022/nx-angular-mf.mjs +10 -74
  2. package/fesm2022/nx-angular-mf.mjs.map +1 -1
  3. package/migrations.json +0 -74
  4. package/package.json +9 -9
  5. package/plugins/component-testing.js +14 -6
  6. package/src/builders/utilities/module-federation.js +3 -4
  7. package/src/builders/webpack-browser/schema.json +1 -1
  8. package/src/executors/application/schema.json +2 -4
  9. package/src/executors/application/utils/validate-options.js +0 -10
  10. package/src/executors/utilities/ng-packagr/pre-v19/stylesheet-processor.js +2 -5
  11. package/src/generators/application/application.js +2 -8
  12. package/src/generators/host/lib/update-ssr-setup.js +4 -4
  13. package/src/generators/library/lib/create-files.js +1 -2
  14. package/src/generators/library/lib/normalized-schema.d.ts +0 -1
  15. package/src/generators/library/lib/update-tsconfig-files.js +3 -6
  16. package/src/generators/library/library.js +0 -4
  17. package/src/generators/library/schema.d.ts +0 -1
  18. package/src/generators/library/schema.json +1 -2
  19. package/src/generators/move/lib/update-module-name.js +5 -7
  20. package/src/generators/ngrx/files/__directory__/__fileName__.facade.spec.ts__tmpl__ +9 -13
  21. package/src/generators/ngrx/lib/generate-files.js +0 -1
  22. package/src/generators/ngrx/lib/normalize-options.d.ts +0 -1
  23. package/src/generators/ngrx/lib/normalize-options.js +0 -3
  24. package/src/generators/ngrx-feature-store/files/__directory__/__fileName__.facade.spec.ts__tmpl__ +9 -13
  25. package/src/generators/ngrx-feature-store/lib/generate-files.js +0 -1
  26. package/src/generators/ngrx-feature-store/lib/normalize-options.d.ts +0 -1
  27. package/src/generators/ngrx-feature-store/lib/normalize-options.js +0 -3
  28. package/src/generators/ngrx-root-store/lib/normalize-options.js +4 -5
  29. package/src/generators/remote/lib/update-ssr-setup.js +4 -4
  30. package/src/generators/setup-mf/lib/add-cypress-workaround.js +1 -2
  31. package/src/generators/setup-mf/lib/add-remote-to-host.js +7 -9
  32. package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +6 -8
  33. package/src/generators/setup-ssr/lib/add-dependencies.js +1 -2
  34. package/src/generators/setup-ssr/lib/add-hydration.js +3 -5
  35. package/src/generators/setup-ssr/lib/add-server-file.js +1 -2
  36. package/src/generators/setup-ssr/lib/generate-files.js +1 -2
  37. package/src/generators/setup-ssr/lib/update-project-config.js +2 -3
  38. package/src/generators/setup-tailwind/lib/add-tailwind-config.js +1 -2
  39. package/src/generators/setup-tailwind/lib/update-application-styles.js +4 -6
  40. package/src/generators/utils/app-components-info.js +4 -6
  41. package/src/generators/utils/testing.js +1 -2
  42. package/src/migrations/update-16-2-0/switch-data-persistence-operators-imports-to-ngrx-router-store.js +2 -2
  43. package/src/migrations/update-17-1-0/replace-nguniversal-engines.js +3 -4
  44. package/src/migrations/update-17-1-0/update-zone-js-deep-import.js +3 -3
  45. package/src/migrations/update-20-2-0/disable-angular-eslint-prefer-standalone.js +2 -3
  46. package/src/migrations/update-20-2-0/remove-angular-eslint-rules.js +2 -3
  47. package/src/migrations/update-20-2-0/update-angular-ssr-imports-to-use-node-entry-point.js +3 -3
  48. package/src/migrations/update-21-0-0/change-data-persistence-operators-imports-to-ngrx-router-store-data-persistence.js +2 -2
  49. package/src/migrations/update-21-2-0/migrate-provide-server-rendering-import.js +3 -3
  50. package/src/migrations/update-21-2-0/replace-provide-server-routing.js +3 -3
  51. package/src/migrations/update-21-2-0/update-module-resolution.js +3 -3
  52. package/src/migrations/utils/projects.d.ts +5 -2
  53. package/src/migrations/utils/projects.js +5 -2
  54. package/src/utils/backward-compatible-versions.js +0 -2
  55. package/src/utils/nx-devkit/ast-utils.js +2 -3
  56. package/src/utils/versions.d.ts +4 -5
  57. package/src/utils/versions.js +5 -6
  58. package/src/migrations/update-21-3-0/update-angular-cli.d.ts +0 -3
  59. package/src/migrations/update-21-3-0/update-angular-cli.js +0 -23
@@ -4,7 +4,7 @@ exports.default = default_1;
4
4
  const devkit_1 = require("@nx/devkit");
5
5
  const projects_1 = require("../utils/projects");
6
6
  async function default_1(tree) {
7
- const angularProjects = await (0, projects_1.getProjectsFilteredByDependencies)([
7
+ const angularProjects = await (0, projects_1.getProjectsFilteredByDependencies)(tree, [
8
8
  'npm:@angular/core',
9
9
  ]);
10
10
  if (!angularProjects.length) {
@@ -12,8 +12,8 @@ async function default_1(tree) {
12
12
  }
13
13
  const zoneJsImportRegex = /(['"`])zone\.js\/dist\/zone(['"`])/g;
14
14
  const zoneJsTestingImportRegex = /(['"`])zone\.js\/dist\/zone-testing(['"`])/g;
15
- for (const graphNode of angularProjects) {
16
- (0, devkit_1.visitNotIgnoredFiles)(tree, graphNode.data.root, (file) => {
15
+ for (const { project } of angularProjects) {
16
+ (0, devkit_1.visitNotIgnoredFiles)(tree, project.root, (file) => {
17
17
  // we are only interested in .ts files
18
18
  if (!file.endsWith('.ts')) {
19
19
  return;
@@ -6,11 +6,10 @@ const eslint_file_1 = require("@nx/eslint/src/generators/utils/eslint-file");
6
6
  const projects_1 = require("../utils/projects");
7
7
  const preferStandaloneRule = '@angular-eslint/prefer-standalone';
8
8
  async function default_1(tree) {
9
- const projects = await (0, projects_1.getProjectsFilteredByDependencies)([
9
+ const projects = await (0, projects_1.getProjectsFilteredByDependencies)(tree, [
10
10
  'npm:@angular/core',
11
11
  ]);
12
- for (const graphNode of projects) {
13
- const root = graphNode.data.root;
12
+ for (const { project: { root }, } of projects) {
14
13
  if (!(0, eslint_file_1.isEslintConfigSupported)(tree, root)) {
15
14
  // ESLint config is not supported, skip
16
15
  continue;
@@ -11,12 +11,11 @@ exports.rulesToRemove = [
11
11
  '@angular-eslint/prefer-standalone-component',
12
12
  ];
13
13
  async function default_1(tree) {
14
- const projects = await (0, projects_1.getProjectsFilteredByDependencies)([
14
+ const projects = await (0, projects_1.getProjectsFilteredByDependencies)(tree, [
15
15
  'npm:@angular/core',
16
16
  ]);
17
17
  let hasRootProject = false;
18
- for (const graphNode of projects) {
19
- const root = graphNode.data.root;
18
+ for (const { project: { root }, } of projects) {
20
19
  if (!(0, eslint_file_1.isEslintConfigSupported)(tree, root)) {
21
20
  // ESLint config is not supported, skip
22
21
  continue;
@@ -7,11 +7,11 @@ const ts = tslib_1.__importStar(require("typescript"));
7
7
  const file_change_recorder_1 = require("../../utils/file-change-recorder");
8
8
  const projects_1 = require("../utils/projects");
9
9
  async function default_1(tree) {
10
- const projects = await (0, projects_1.getProjectsFilteredByDependencies)([
10
+ const projects = await (0, projects_1.getProjectsFilteredByDependencies)(tree, [
11
11
  'npm:@angular/ssr',
12
12
  ]);
13
- for (const graphNode of projects) {
14
- (0, devkit_1.visitNotIgnoredFiles)(tree, graphNode.data.root, (path) => {
13
+ for (const { project } of projects) {
14
+ (0, devkit_1.visitNotIgnoredFiles)(tree, project.root, (path) => {
15
15
  if (!path.endsWith('.ts') || path.endsWith('.d.ts')) {
16
16
  return;
17
17
  }
@@ -18,7 +18,7 @@ const dataPersistenceOperators = [
18
18
  ];
19
19
  const newImportPath = '@ngrx/router-store/data-persistence';
20
20
  async function default_1(tree) {
21
- const projects = await (0, projects_1.getProjectsFilteredByDependencies)(angularPluginTargetNames);
21
+ const projects = await (0, projects_1.getProjectsFilteredByDependencies)(tree, angularPluginTargetNames);
22
22
  if (!projects.length) {
23
23
  return;
24
24
  }
@@ -26,7 +26,7 @@ async function default_1(tree) {
26
26
  tsquery = require('@phenomnomnominal/tsquery').tsquery;
27
27
  const cachedFileMap = (0, nx_deps_cache_1.readFileMapCache)().fileMap.projectFileMap;
28
28
  const filesWithNxAngularImports = [];
29
- for (const graphNode of projects) {
29
+ for (const { graphNode } of projects) {
30
30
  const files = filterFilesWithNxAngularDep(cachedFileMap[graphNode.name] || []);
31
31
  filesWithNxAngularImports.push(...files);
32
32
  }
@@ -8,15 +8,15 @@ const file_change_recorder_1 = require("../../utils/file-change-recorder");
8
8
  const versions_1 = require("../../utils/versions");
9
9
  const projects_1 = require("../utils/projects");
10
10
  async function default_1(tree) {
11
- const projects = await (0, projects_1.getProjectsFilteredByDependencies)([
11
+ const projects = await (0, projects_1.getProjectsFilteredByDependencies)(tree, [
12
12
  'npm:@angular/platform-server',
13
13
  ]);
14
14
  if (!projects.length) {
15
15
  return;
16
16
  }
17
17
  let isSsrInstalled = false;
18
- for (const graphNode of projects) {
19
- (0, devkit_1.visitNotIgnoredFiles)(tree, graphNode.data.root, (file) => {
18
+ for (const { project } of projects) {
19
+ (0, devkit_1.visitNotIgnoredFiles)(tree, project.root, (file) => {
20
20
  if (!file.endsWith('.ts') || file.endsWith('.d.ts')) {
21
21
  return;
22
22
  }
@@ -8,14 +8,14 @@ const ts = tslib_1.__importStar(require("typescript"));
8
8
  const file_change_recorder_1 = require("../../utils/file-change-recorder");
9
9
  const projects_1 = require("../utils/projects");
10
10
  async function default_1(tree) {
11
- const projects = await (0, projects_1.getProjectsFilteredByDependencies)([
11
+ const projects = await (0, projects_1.getProjectsFilteredByDependencies)(tree, [
12
12
  'npm:@angular/ssr',
13
13
  ]);
14
14
  if (!projects.length) {
15
15
  return;
16
16
  }
17
- for (const graphNode of projects) {
18
- (0, devkit_1.visitNotIgnoredFiles)(tree, graphNode.data.root, (file) => {
17
+ for (const { project } of projects) {
18
+ (0, devkit_1.visitNotIgnoredFiles)(tree, project.root, (file) => {
19
19
  if (!file.endsWith('.ts') || file.endsWith('.d.ts')) {
20
20
  return;
21
21
  }
@@ -6,11 +6,11 @@ const targets_1 = require("../../utils/targets");
6
6
  const projects_1 = require("../utils/projects");
7
7
  async function default_1(tree) {
8
8
  const uniqueTsConfigs = new Set();
9
- const projects = await (0, projects_1.getProjectsFilteredByDependencies)([
9
+ const projects = await (0, projects_1.getProjectsFilteredByDependencies)(tree, [
10
10
  'npm:@angular/core',
11
11
  ]);
12
- for (const graphNode of projects) {
13
- for (const [, target] of (0, targets_1.allProjectTargets)(graphNode.data)) {
12
+ for (const { project } of projects) {
13
+ for (const [, target] of (0, targets_1.allProjectTargets)(project)) {
14
14
  for (const [, options] of (0, targets_1.allTargetOptions)(target)) {
15
15
  if (typeof options?.tsConfig === 'string') {
16
16
  uniqueTsConfigs.add(options.tsConfig);
@@ -1,2 +1,5 @@
1
- import type { ProjectGraphProjectNode } from '@nx/devkit';
2
- export declare function getProjectsFilteredByDependencies(dependencies: string[]): Promise<ProjectGraphProjectNode[]>;
1
+ import type { ProjectConfiguration, ProjectGraphProjectNode, Tree } from '@nx/devkit';
2
+ export declare function getProjectsFilteredByDependencies(tree: Tree, dependencies: string[]): Promise<Array<{
3
+ project: ProjectConfiguration;
4
+ graphNode: ProjectGraphProjectNode;
5
+ }>>;
@@ -2,10 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getProjectsFilteredByDependencies = getProjectsFilteredByDependencies;
4
4
  const devkit_1 = require("@nx/devkit");
5
- async function getProjectsFilteredByDependencies(dependencies) {
5
+ async function getProjectsFilteredByDependencies(tree, dependencies) {
6
6
  const projectGraph = await (0, devkit_1.createProjectGraphAsync)();
7
7
  return Object.entries(projectGraph.dependencies)
8
8
  .filter(([node, deps]) => !projectGraph.externalNodes?.[node] &&
9
9
  deps.some(({ target }) => dependencies.includes(target)))
10
- .map(([projectName]) => projectGraph.nodes[projectName]);
10
+ .map(([projectName]) => ({
11
+ project: (0, devkit_1.readProjectConfiguration)(tree, projectName),
12
+ graphNode: projectGraph.nodes[projectName],
13
+ }));
11
14
  }
@@ -26,7 +26,6 @@ exports.backwardCompatibleVersions = {
26
26
  postcssUrlVersion: '~10.1.3',
27
27
  autoprefixerVersion: '^10.4.0',
28
28
  tsNodeVersion: '10.9.1',
29
- lessVersion: '^4.3.0',
30
29
  jestPresetAngularVersion: '~14.1.0',
31
30
  typesNodeVersion: '18.16.9',
32
31
  jasmineMarblesVersion: '^0.9.2',
@@ -57,7 +56,6 @@ exports.backwardCompatibleVersions = {
57
56
  postcssUrlVersion: '~10.1.3',
58
57
  autoprefixerVersion: '^10.4.0',
59
58
  tsNodeVersion: '10.9.1',
60
- lessVersion: '^4.3.0',
61
59
  jestPresetAngularVersion: '~14.4.0',
62
60
  typesNodeVersion: '18.16.9',
63
61
  jasmineMarblesVersion: '^0.9.2',
@@ -26,7 +26,6 @@ exports.getTsSourceFile = getTsSourceFile;
26
26
  const devkit_1 = require("@nx/devkit");
27
27
  const js_1 = require("@nx/js");
28
28
  const ensure_typescript_1 = require("@nx/js/src/utils/typescript/ensure-typescript");
29
- const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
30
29
  const path_1 = require("path");
31
30
  const angular_version_utils_1 = require("../../executors/utilities/angular-version-utils");
32
31
  const version_utils_1 = require("../../generators/utils/version-utils");
@@ -452,7 +451,7 @@ function isNgStandaloneApp(tree, projectName) {
452
451
  hasMainFile = true;
453
452
  }
454
453
  else {
455
- const sourceRoot = (0, ts_solution_setup_1.getProjectSourceRoot)(project, tree);
454
+ const sourceRoot = project.sourceRoot ?? (0, devkit_1.joinPathFragments)(project.root, 'src');
456
455
  mainFile = (0, devkit_1.joinPathFragments)(sourceRoot, 'main.ts');
457
456
  hasMainFile = tree.exists(mainFile);
458
457
  }
@@ -561,7 +560,7 @@ function readBootstrapInfo(host, app) {
561
560
  config.targets.build.options?.main ??
562
561
  config.targets.build.options?.browser;
563
562
  if (!mainPath) {
564
- const sourceRoot = (0, ts_solution_setup_1.getProjectSourceRoot)(config, host);
563
+ const sourceRoot = config.sourceRoot ?? (0, devkit_1.joinPathFragments)(config.root, 'src');
565
564
  mainPath = (0, devkit_1.joinPathFragments)(sourceRoot, 'main.ts');
566
565
  }
567
566
  }
@@ -1,7 +1,7 @@
1
1
  export declare const nxVersion: any;
2
- export declare const angularVersion = "~20.1.0";
3
- export declare const angularDevkitVersion = "~20.1.0";
4
- export declare const ngPackagrVersion = "~20.1.0";
2
+ export declare const angularVersion = "~20.0.0";
3
+ export declare const angularDevkitVersion = "~20.0.0";
4
+ export declare const ngPackagrVersion = "~20.0.0";
5
5
  export declare const angularRspackVersion = "^21.1.0";
6
6
  export declare const ngrxVersion = "^19.0.0";
7
7
  export declare const rxjsVersion = "~7.8.0";
@@ -14,7 +14,7 @@ export declare const expressVersion = "^4.21.2";
14
14
  export declare const typesExpressVersion = "^4.17.21";
15
15
  export declare const browserSyncVersion = "^3.0.0";
16
16
  export declare const moduleFederationNodeVersion = "^2.6.26";
17
- export declare const moduleFederationEnhancedVersion = "^0.15.0";
17
+ export declare const moduleFederationEnhancedVersion = "^0.9.0";
18
18
  export declare const webpackMergeVersion = "^5.8.0";
19
19
  export declare const angularEslintVersion = "^20.0.0";
20
20
  export declare const typescriptEslintVersion = "^7.16.0";
@@ -23,7 +23,6 @@ export declare const postcssVersion = "^8.4.5";
23
23
  export declare const postcssUrlVersion = "~10.1.3";
24
24
  export declare const autoprefixerVersion = "^10.4.0";
25
25
  export declare const tsNodeVersion = "10.9.1";
26
- export declare const lessVersion = "^4.3.0";
27
26
  export declare const jestPresetAngularVersion = "~14.6.0";
28
27
  export declare const typesNodeVersion = "18.16.9";
29
28
  export declare const jasmineMarblesVersion = "^0.9.2";
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.jsoncEslintParserVersion = exports.jasmineMarblesVersion = exports.typesNodeVersion = exports.jestPresetAngularVersion = exports.lessVersion = exports.tsNodeVersion = exports.autoprefixerVersion = exports.postcssUrlVersion = exports.postcssVersion = exports.tailwindVersion = exports.typescriptEslintVersion = exports.angularEslintVersion = exports.webpackMergeVersion = exports.moduleFederationEnhancedVersion = exports.moduleFederationNodeVersion = exports.browserSyncVersion = exports.typesExpressVersion = exports.expressVersion = exports.typesCorsVersion = exports.corsVersion = exports.tsLibVersion = exports.angularJsVersion = exports.zoneJsVersion = exports.rxjsVersion = exports.ngrxVersion = exports.angularRspackVersion = exports.ngPackagrVersion = exports.angularDevkitVersion = exports.angularVersion = exports.nxVersion = void 0;
3
+ exports.jsoncEslintParserVersion = exports.jasmineMarblesVersion = exports.typesNodeVersion = exports.jestPresetAngularVersion = exports.tsNodeVersion = exports.autoprefixerVersion = exports.postcssUrlVersion = exports.postcssVersion = exports.tailwindVersion = exports.typescriptEslintVersion = exports.angularEslintVersion = exports.webpackMergeVersion = exports.moduleFederationEnhancedVersion = exports.moduleFederationNodeVersion = exports.browserSyncVersion = exports.typesExpressVersion = exports.expressVersion = exports.typesCorsVersion = exports.corsVersion = exports.tsLibVersion = exports.angularJsVersion = exports.zoneJsVersion = exports.rxjsVersion = exports.ngrxVersion = exports.angularRspackVersion = exports.ngPackagrVersion = exports.angularDevkitVersion = exports.angularVersion = exports.nxVersion = void 0;
4
4
  exports.nxVersion = require('../../package.json').version;
5
- exports.angularVersion = '~20.1.0';
6
- exports.angularDevkitVersion = '~20.1.0';
7
- exports.ngPackagrVersion = '~20.1.0';
5
+ exports.angularVersion = '~20.0.0';
6
+ exports.angularDevkitVersion = '~20.0.0';
7
+ exports.ngPackagrVersion = '~20.0.0';
8
8
  exports.angularRspackVersion = '^21.1.0';
9
9
  exports.ngrxVersion = '^19.0.0';
10
10
  exports.rxjsVersion = '~7.8.0';
@@ -17,7 +17,7 @@ exports.expressVersion = '^4.21.2';
17
17
  exports.typesExpressVersion = '^4.17.21';
18
18
  exports.browserSyncVersion = '^3.0.0';
19
19
  exports.moduleFederationNodeVersion = '^2.6.26';
20
- exports.moduleFederationEnhancedVersion = '^0.15.0';
20
+ exports.moduleFederationEnhancedVersion = '^0.9.0';
21
21
  exports.webpackMergeVersion = '^5.8.0';
22
22
  exports.angularEslintVersion = '^20.0.0';
23
23
  exports.typescriptEslintVersion = '^7.16.0';
@@ -26,7 +26,6 @@ exports.postcssVersion = '^8.4.5';
26
26
  exports.postcssUrlVersion = '~10.1.3';
27
27
  exports.autoprefixerVersion = '^10.4.0';
28
28
  exports.tsNodeVersion = '10.9.1';
29
- exports.lessVersion = '^4.3.0';
30
29
  exports.jestPresetAngularVersion = '~14.6.0';
31
30
  exports.typesNodeVersion = '18.16.9';
32
31
  exports.jasmineMarblesVersion = '^0.9.2';
@@ -1,3 +0,0 @@
1
- import { Tree } from '@nx/devkit';
2
- export declare const angularCliVersion = "~20.1.0";
3
- export default function (tree: Tree): Promise<void>;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.angularCliVersion = void 0;
4
- exports.default = default_1;
5
- const devkit_1 = require("@nx/devkit");
6
- exports.angularCliVersion = '~20.1.0';
7
- async function default_1(tree) {
8
- let shouldFormat = false;
9
- (0, devkit_1.updateJson)(tree, 'package.json', (json) => {
10
- if (json.devDependencies?.['@angular/cli']) {
11
- json.devDependencies['@angular/cli'] = exports.angularCliVersion;
12
- shouldFormat = true;
13
- }
14
- else if (json.dependencies?.['@angular/cli']) {
15
- json.dependencies['@angular/cli'] = exports.angularCliVersion;
16
- shouldFormat = true;
17
- }
18
- return json;
19
- });
20
- if (shouldFormat) {
21
- await (0, devkit_1.formatFiles)(tree);
22
- }
23
- }