@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.
- package/fesm2022/nx-angular-mf.mjs +10 -74
- package/fesm2022/nx-angular-mf.mjs.map +1 -1
- package/migrations.json +0 -74
- package/package.json +9 -9
- package/plugins/component-testing.js +14 -6
- package/src/builders/utilities/module-federation.js +3 -4
- package/src/builders/webpack-browser/schema.json +1 -1
- package/src/executors/application/schema.json +2 -4
- package/src/executors/application/utils/validate-options.js +0 -10
- package/src/executors/utilities/ng-packagr/pre-v19/stylesheet-processor.js +2 -5
- package/src/generators/application/application.js +2 -8
- package/src/generators/host/lib/update-ssr-setup.js +4 -4
- package/src/generators/library/lib/create-files.js +1 -2
- package/src/generators/library/lib/normalized-schema.d.ts +0 -1
- package/src/generators/library/lib/update-tsconfig-files.js +3 -6
- package/src/generators/library/library.js +0 -4
- package/src/generators/library/schema.d.ts +0 -1
- package/src/generators/library/schema.json +1 -2
- package/src/generators/move/lib/update-module-name.js +5 -7
- package/src/generators/ngrx/files/__directory__/__fileName__.facade.spec.ts__tmpl__ +9 -13
- package/src/generators/ngrx/lib/generate-files.js +0 -1
- package/src/generators/ngrx/lib/normalize-options.d.ts +0 -1
- package/src/generators/ngrx/lib/normalize-options.js +0 -3
- package/src/generators/ngrx-feature-store/files/__directory__/__fileName__.facade.spec.ts__tmpl__ +9 -13
- package/src/generators/ngrx-feature-store/lib/generate-files.js +0 -1
- package/src/generators/ngrx-feature-store/lib/normalize-options.d.ts +0 -1
- package/src/generators/ngrx-feature-store/lib/normalize-options.js +0 -3
- package/src/generators/ngrx-root-store/lib/normalize-options.js +4 -5
- package/src/generators/remote/lib/update-ssr-setup.js +4 -4
- package/src/generators/setup-mf/lib/add-cypress-workaround.js +1 -2
- package/src/generators/setup-mf/lib/add-remote-to-host.js +7 -9
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +6 -8
- package/src/generators/setup-ssr/lib/add-dependencies.js +1 -2
- package/src/generators/setup-ssr/lib/add-hydration.js +3 -5
- package/src/generators/setup-ssr/lib/add-server-file.js +1 -2
- package/src/generators/setup-ssr/lib/generate-files.js +1 -2
- package/src/generators/setup-ssr/lib/update-project-config.js +2 -3
- package/src/generators/setup-tailwind/lib/add-tailwind-config.js +1 -2
- package/src/generators/setup-tailwind/lib/update-application-styles.js +4 -6
- package/src/generators/utils/app-components-info.js +4 -6
- package/src/generators/utils/testing.js +1 -2
- package/src/migrations/update-16-2-0/switch-data-persistence-operators-imports-to-ngrx-router-store.js +2 -2
- package/src/migrations/update-17-1-0/replace-nguniversal-engines.js +3 -4
- package/src/migrations/update-17-1-0/update-zone-js-deep-import.js +3 -3
- package/src/migrations/update-20-2-0/disable-angular-eslint-prefer-standalone.js +2 -3
- package/src/migrations/update-20-2-0/remove-angular-eslint-rules.js +2 -3
- package/src/migrations/update-20-2-0/update-angular-ssr-imports-to-use-node-entry-point.js +3 -3
- package/src/migrations/update-21-0-0/change-data-persistence-operators-imports-to-ngrx-router-store-data-persistence.js +2 -2
- package/src/migrations/update-21-2-0/migrate-provide-server-rendering-import.js +3 -3
- package/src/migrations/update-21-2-0/replace-provide-server-routing.js +3 -3
- package/src/migrations/update-21-2-0/update-module-resolution.js +3 -3
- package/src/migrations/utils/projects.d.ts +5 -2
- package/src/migrations/utils/projects.js +5 -2
- package/src/utils/backward-compatible-versions.js +0 -2
- package/src/utils/nx-devkit/ast-utils.js +2 -3
- package/src/utils/versions.d.ts +4 -5
- package/src/utils/versions.js +5 -6
- package/src/migrations/update-21-3-0/update-angular-cli.d.ts +0 -3
- 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
|
16
|
-
(0, devkit_1.visitNotIgnoredFiles)(tree,
|
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
|
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
|
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
|
14
|
-
(0, devkit_1.visitNotIgnoredFiles)(tree,
|
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
|
19
|
-
(0, devkit_1.visitNotIgnoredFiles)(tree,
|
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
|
18
|
-
(0, devkit_1.visitNotIgnoredFiles)(tree,
|
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
|
13
|
-
for (const [, target] of (0, targets_1.allProjectTargets)(
|
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<
|
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]) =>
|
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,
|
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,
|
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
|
}
|
package/src/utils/versions.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
export declare const nxVersion: any;
|
2
|
-
export declare const angularVersion = "~20.
|
3
|
-
export declare const angularDevkitVersion = "~20.
|
4
|
-
export declare const ngPackagrVersion = "~20.
|
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.
|
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";
|
package/src/utils/versions.js
CHANGED
@@ -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.
|
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.
|
6
|
-
exports.angularDevkitVersion = '~20.
|
7
|
-
exports.ngPackagrVersion = '~20.
|
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.
|
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,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
|
-
}
|