Sample Code Changes
Update the @angular/cli
package version in the package.json
file at the workspace root to ~20.0.0.
1{
2 "devDependencies": {
3 "@angular/cli": "~19.2.0"
4 }
5}
6
Here is a list of all migrations available for this package.
Update the @angular/cli package version to 20.0.0-next.9.
Requires
Name | Version |
---|---|
@angular/core | >=20.0.0-next.9 |
Update the @angular/cli
package version in the package.json
file at the workspace root to ~20.0.0.
1{
2 "devDependencies": {
3 "@angular/cli": "~19.2.0"
4 }
5}
6
Requires
Name | Version |
---|---|
@angular/core | >=19.2.0 <20.0.0-next.9 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-devkit/build-angular | 20.0.0-next.9 | Update only |
@angular-devkit/core | 20.0.0-next.9 | Update only |
@angular-devkit/schematics | 20.0.0-next.9 | Update only |
@angular/build | 20.0.0-next.9 | Update only |
@angular/pwa | 20.0.0-next.9 | Update only |
@angular/ssr | 20.0.0-next.9 | Update only |
@schematics/angular | 20.0.0-next.9 | Update only |
@angular-devkit/architect | 0.2000.0-next.9 | Update only |
@angular-devkit/build-webpack | 0.2000.0-next.9 | Update only |
@angular/core | 20.0.0-next.9 | Add if not installed |
@angular/material | 20.0.0-next.10 | Update only |
@angular/cdk | 20.0.0-next.10 | Update only |
@angular/google-maps | 20.0.0-next.10 | Update only |
ng-packagr | 20.0.0-rc.0 | Update only |
Change the data persistence operator imports to '@ngrx/router-store/data-persistence'.
Requires
Name | Version |
---|---|
@ngrx/store | >=16.0.0 |
@nx/angular
to @ngrx/router-store/data-persistence
The data persistence operators (fetch
, navigation
, optimisticUpdate
, and pessimisticUpdate
) have been deprecated for a while and are now removed from the @nx/angular
package. This migration automatically updates your import statements to use the @ngrx/router-store/data-persistence
module and adds @ngrx/router-store
to your dependencies if needed.
If you import only data persistence operators from @nx/angular
, the migration will update the import path to @ngrx/router-store/data-persistence
.
1import { Actions, createEffect, ofType } from '@ngrx/effects';
2import { fetch } from '@nx/angular';
3
4()
5export class UsersEffects {
6 // ...
7}
8
If you import multiple data persistence operators from @nx/angular
, the migration will update the import path for all of them.
1import { Injectable } from '@angular/core';
2import { fetch, navigation } from '@nx/angular';
3
4()
5export class UsersEffects {
6 // ...
7}
8
If your imports mix data persistence operators with other utilities from @nx/angular
, the migration will split them into separate import statements.
1import { Injectable } from '@angular/core';
2import { fetch, someExtraUtility, navigation } from '@nx/angular';
3
4()
5export class UsersEffects {
6 // ...
7}
8
If you don't already have @ngrx/router-store
in your dependencies, the migration will add it to your package.json.
1{
2 "dependencies": {
3 "@nx/angular": "^21.0.0",
4 "@ngrx/store": "^19.1.0",
5 "@ngrx/effects": "^19.1.0"
6 // ...
7 }
8}
9
Set the `continuous` option to `true` for continuous tasks.
continuous
Option for Continuous TasksThis migration sets the continuous
option to true
for tasks that are known to run continuously, and only if the option is not already explicitly set.
Specifically, it updates Angular targets using the following executors:
@angular-devkit/build-angular:dev-server
@angular-devkit/build-angular:ssr-dev-server
@nx/angular:dev-server
@nx/angular:module-federation-dev-server
@nx/angular:module-federation-dev-ssr
1{
2 // ...
3 "targets": {
4 // ...
5 "serve": {
6 "executor": "@angular-devkit/build-angular:dev-server",
7 "options": {
8 "buildTarget": "my-app:build",
9 "port": 4200
10 }
11 }
12 }
13}
14
When a target is already explicitly configured with a continuous
option, the migration will not modify it:
1{
2 // ...
3 "targets": {
4 // ...
5 "serve": {
6 "continuous": false,
7 "executor": "@nx/angular:dev-server",
8 "options": {
9 "buildTarget": "my-app:build",
10 "port": 4200
11 }
12 }
13 }
14}
15
Packages
Name | Version | Always Add to package.json |
---|---|---|
@nx/angular-rspack | ^20.7.0 | Update only |
Requires
Name | Version |
---|---|
eslint | ^8.57.0 || ^9.0.0 |
@angular/core | >= 19.0.0 < 20.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
angular-eslint | ^19.2.0 | Update only |
@angular-eslint/eslint-plugin | ^19.2.0 | Update only |
@angular-eslint/eslint-plugin-template | ^19.2.0 | Update only |
@angular-eslint/template-parser | ^19.2.0 | Update only |
@angular-eslint/utils | ^19.2.0 | Update only |
@angular-eslint/schematics | ^19.2.0 | Update only |
@angular-eslint/test-utils | ^19.2.0 | Update only |
@angular-eslint/builder | ^19.2.0 | Update only |
@angular-eslint/bundled-angular-compiler | ^19.2.0 | Update only |
Update the @angular/cli package version to ~19.2.0.
Requires
Name | Version |
---|---|
@angular/core | >=19.2.0 |
Update the @angular/cli
package version in the package.json
file at the workspace root to ~19.2.0.
1{
2 "devDependencies": {
3 "@angular/cli": "~19.1.0"
4 }
5}
6
Requires
Name | Version |
---|---|
@angular/core | >=19.1.0 <19.2.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-devkit/build-angular | ~19.2.0 | Update only |
@angular-devkit/core | ~19.2.0 | Update only |
@angular-devkit/schematics | ~19.2.0 | Update only |
@angular/build | ~19.2.0 | Update only |
@angular/pwa | ~19.2.0 | Update only |
@angular/ssr | ~19.2.0 | Update only |
@schematics/angular | ~19.2.0 | Update only |
@angular-devkit/architect | ~0.1902.0 | Update only |
@angular-devkit/build-webpack | ~0.1902.0 | Update only |
@angular/core | ~19.2.0 | Add if not installed |
@angular/material | ~19.2.1 | Update only |
@angular/cdk | ~19.2.1 | Update only |
@angular/google-maps | ~19.2.1 | Update only |
ng-packagr | ~19.2.0 | Update only |
Update the @angular/cli package version to ~19.1.0.
Requires
Name | Version |
---|---|
@angular/core | >=19.1.0 |
@angular/cli
to ~19.1.0
Update the version of the Angular CLI if it is specified in package.json
Update in devDependencies
:
1{
2 "devDependencies": {
3 "@angular/cli": "~13.3.0"
4 }
5}
6
Update in dependencies
:
1{
2 "dependencies": {
3 "@angular/cli": "~13.3.0"
4 }
5}
6
Requires
Name | Version |
---|---|
@angular/core | >=19.0.0 <19.1.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-devkit/build-angular | ~19.1.0 | Update only |
@angular-devkit/core | ~19.1.0 | Update only |
@angular-devkit/schematics | ~19.1.0 | Update only |
@angular/build | ~19.1.0 | Update only |
@angular/pwa | ~19.1.0 | Update only |
@angular/ssr | ~19.1.0 | Update only |
@schematics/angular | ~19.1.0 | Update only |
@angular-devkit/architect | ~0.1901.0 | Update only |
@angular-devkit/build-webpack | ~0.1901.0 | Update only |
@angular/core | ~19.1.0 | Add if not installed |
@angular/material | ~19.1.0 | Update only |
@angular/cdk | ~19.1.0 | Update only |
@angular/google-maps | ~19.1.0 | Update only |
ng-packagr | ~19.1.0 | Update only |
If workspace includes Module Federation projects, ensure the new @nx/module-federation package is installed.
If workspace includes Module Federation projects, ensure the new @nx/module-federation
package is installed.
1{
2 "dependencies": {}
3}
4
Requires
Name | Version |
---|---|
@angular/core | ^19.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@ngrx/store | ^19.0.0 | Update only |
Requires
Name | Version |
---|---|
eslint | ^8.57.0 || ^9.0.0 |
@angular/core | >= 19.0.0 < 20.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
angular-eslint | ^19.0.2 | Update only |
@angular-eslint/eslint-plugin | ^19.0.2 | Update only |
@angular-eslint/eslint-plugin-template | ^19.0.2 | Update only |
@angular-eslint/template-parser | ^19.0.2 | Update only |
@angular-eslint/utils | ^19.0.2 | Update only |
@angular-eslint/schematics | ^19.0.2 | Update only |
@angular-eslint/test-utils | ^19.0.2 | Update only |
@angular-eslint/builder | ^19.0.2 | Update only |
@angular-eslint/bundled-angular-compiler | ^19.0.2 | Update only |
Remove Angular ESLint rules that were removed in v19.0.0.
Requires
Name | Version |
---|---|
@angular/core | >=19.0.0 |
Remove Angular ESLint rules that were removed in v19.0.0.
Removes @angular-eslint/no-host-metadata-property
, @angular-eslint/sort-ngmodule-metadata-arrays
and @angular-eslint/prefer-standalone-component
from any ESLint config file. Files to be searched include .eslintrc.json
, .eslintrc.base.json
, .eslint.config.js
and .eslint.config.base.js
.
1{
2 "overrides": [
3 {
4 "files": ["*.ts"],
5 "rules": {
6 "@angular-eslint/no-host-metadata-property": ["error"],
7 "@angular-eslint/sort-ngmodule-metadata-arrays": ["error"],
8 "@angular-eslint/prefer-standalone-component": ["error"]
9 }
10 }
11 ]
12}
13
Remove the deprecated 'tailwindConfig' option from ng-packagr executors. Tailwind CSS configurations located at the project or workspace root will be picked up automatically.
Requires
Name | Version |
---|---|
@angular/core | >=19.0.0 |
Remove the deprecated 'tailwindConfig' option from ng-packagr executors. Tailwind CSS configurations located at the project or workspace root will be picked up automatically.
Remove tailwindConfig
from the @nx/angular:ng-packagr-lite
or @nx/angular:package
executor options in project configuration.
1{
2 "targets": {
3 "build": {
4 "executor": "@nx/angular:ng-packagr-lite",
5 "options": {
6 "project": "libs/lib1/ng-package.json",
7 "tailwindConfig": "libs/lib1/tailwind.config.js"
8 }
9 }
10 }
11}
12
Remove tailwindConfig
from the @nx/angular:ng-packagr-lite
or @nx/angular:package
executor target defaults in nx.json
.
1{
2 "targetDefaults": {
3 "@nx/angular:ng-packagr-lite": {
4 "options": {
5 "project": "{projectRoot}/ng-package.json",
6 "tailwindConfig": "{projectRoot}/tailwind.config.js"
7 }
8 }
9 }
10}
11
Packages
Name | Version | Always Add to package.json |
---|---|---|
@analogjs/vitest-angular | ~1.10.0 | Update only |
@analogjs/vite-plugin-angular | ~1.10.0 | Update only |
Disable the Angular ESLint prefer-standalone rule if not set.
Requires
Name | Version |
---|---|
@angular/core | >=19.0.0 |
Disable the Angular ESLint prefer-standalone rule if not set.
Update import paths for withModuleFederation
and withModuleFederationForSSR
.
1{
2 "overrides": [
3 {
4 "files": ["*.html"],
5 "rules": {
6 "some-rule-for-html": "error"
7 }
8 }
9 ]
10}
11
import { addProjectConfiguration, writeJson, type ProjectConfiguration, type ProjectGraph, type Tree, } from '@nx/devkit'; import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; import migration from './disable-angular-eslint-prefer-standalone';
let projectGraph: ProjectGraph; jest.mock('@nx/devkit', () => ({ ...jest.requireActual('@nx/devkit'), createProjectGraphAsync: () => Promise.resolve(projectGraph), }));
describe('disable-angular-eslint-prefer-standalone', () => { let tree: Tree;
beforeEach(() => { tree = createTreeWithEmptyWorkspace();
const projectConfig: ProjectConfiguration = { name: 'app1', root: 'apps/app1', }; projectGraph = { dependencies: { app1: [ { source: 'app1', target: 'npm:@angular/core', type: 'static', }, ], }, nodes: { app1: { data: projectConfig, name: 'app1', type: 'app', }, }, }; addProjectConfiguration(tree, projectConfig.name, projectConfig);
});
describe('.eslintrc.json', () => { it('should not disable @angular-eslint/prefer-standalone when it is set', async () => { writeJson(tree, 'apps/app1/.eslintrc.json', { overrides: [ { files: ['*.ts'], rules: { '@angular-eslint/prefer-standalone': ['error'] }, }, ], });
await migration(tree);
expect(tree.read('apps/app1/.eslintrc.json', 'utf8')) .toMatchInlineSnapshot( "{ "overrides": [ { "files": ["*.ts"], "rules": { "@angular-eslint/prefer-standalone": ["error"] } } ] } "
); });
it('should not disable @angular-eslint/prefer-standalone when there are multiple overrides for angular eslint and the rule is set in one of them', async () => { writeJson(tree, 'apps/app1/.eslintrc.json', { overrides: [ { files: ['.ts'], rules: { '@angular-eslint/directive-selector': [ 'error', { type: 'attribute', prefix: 'app', style: 'camelCase' }, ], }, }, { files: ['.ts'], rules: { '@angular-eslint/prefer-standalone': ['error'] }, }, ], });
await migration(tree);
expect(tree.read('apps/app1/.eslintrc.json', 'utf8')) .toMatchInlineSnapshot( "{ "overrides": [ { "files": ["*.ts"], "rules": { "@angular-eslint/directive-selector": [ "error", { "type": "attribute", "prefix": "app", "style": "camelCase" } ] } }, { "files": ["*.ts"], "rules": { "@angular-eslint/prefer-standalone": ["error"] } } ] } "
); });
it('should disable @angular-eslint/prefer-standalone in an existing override for angular eslint', async () => { writeJson(tree, 'apps/app1/.eslintrc.json', { overrides: [ { files: ['.ts'], rules: { 'no-unused-vars': 'error' }, }, { files: ['.ts'], rules: { '@angular-eslint/directive-selector': [ 'error', { type: 'attribute', prefix: 'app', style: 'camelCase' }, ], }, }, ], });
await migration(tree);
expect(tree.read('apps/app1/.eslintrc.json', 'utf8')) .toMatchInlineSnapshot( "{ "overrides": [ { "files": ["*.ts"], "rules": { "no-unused-vars": "error" } }, { "files": ["*.ts"], "rules": { "@angular-eslint/directive-selector": [ "error", { "type": "attribute", "prefix": "app", "style": "camelCase" } ], "@angular-eslint/prefer-standalone": "off" } } ] } "
); });
it('should disable @angular-eslint/prefer-standalone in an existing override for ts files', async () => { writeJson(tree, 'apps/app1/.eslintrc.json', { overrides: [ { files: ['*.ts'], rules: { 'no-unused-vars': 'error' }, }, ], });
await migration(tree);
expect(tree.read('apps/app1/.eslintrc.json', 'utf8')) .toMatchInlineSnapshot( "{ "overrides": [ { "files": ["*.ts"], "rules": { "no-unused-vars": "error", "@angular-eslint/prefer-standalone": "off" } } ] } "
); });
it('should disable @angular-eslint/prefer-standalone in a new override', async () => { writeJson(tree, 'apps/app1/.eslintrc.json', { overrides: [ { files: ['*.html'], rules: { 'some-rule-for-html': 'error' }, }, ], });
await migration(tree);
expect(tree.read('apps/app1/.eslintrc.json', 'utf8')) .toMatchInlineSnapshot( "{ "overrides": [ { "files": ["*.html"], "rules": { "some-rule-for-html": "error" } }, { "files": ["*.ts"], "rules": { "@angular-eslint/prefer-standalone": "off" } } ] } "
); });
});
describe('flat config', () => { it('should not disable @angular-eslint/prefer-standalone when it is set', async () => { tree.write('eslint.config.js', 'module.exports = [];'); tree.write( 'apps/app1/eslint.config.js', module.exports = [ { files: ['*.ts'], rules: { '@angular-eslint/prefer-standalone': ['error'] }, }, ];
);
await migration(tree);
expect(tree.read('apps/app1/eslint.config.js', 'utf8')) .toMatchInlineSnapshot( "module.exports = [ { files: ['*.ts'], rules: { '@angular-eslint/prefer-standalone': ['error'] }, }, ]; "
); });
it('should not disable @angular-eslint/prefer-standalone when there are multiple overrides for angular eslint and the rule is set in one of them', async () => { tree.write('eslint.config.js', 'module.exports = [];'); tree.write( 'apps/app1/eslint.config.js', module.exports = [ { files: ['*.ts'], rules: { '@angular-eslint/directive-selector': [ 'error', { type: 'attribute', prefix: 'app', style: 'camelCase' }, ], }, }, { files: ['*.ts'], rules: { '@angular-eslint/prefer-standalone': ['error'] }, }, ];
);
await migration(tree);
expect(tree.read('apps/app1/eslint.config.js', 'utf8')) .toMatchInlineSnapshot( "module.exports = [ { files: ['*.ts'], rules: { '@angular-eslint/directive-selector': [ 'error', { type: 'attribute', prefix: 'app', style: 'camelCase' }, ], }, }, { files: ['*.ts'], rules: { '@angular-eslint/prefer-standalone': ['error'] }, }, ]; "
); });
it('should disable @angular-eslint/prefer-standalone in an existing override for angular eslint', async () => { tree.write('eslint.config.js', 'module.exports = [];'); tree.write( 'apps/app1/eslint.config.js', module.exports = [ { files: ['*.ts'], rules: { 'no-unused-vars': 'error' }, }, { files: ['*.ts'], rules: { '@angular-eslint/directive-selector': [ 'error', { type: 'attribute', prefix: 'app', style: 'camelCase' }, ], }, }, ];
);
await migration(tree);
expect(tree.read('apps/app1/eslint.config.js', 'utf8')) .toMatchInlineSnapshot( "module.exports = [ { files: ['*.ts'], rules: { 'no-unused-vars': 'error' }, }, { files: ['**/*.ts'], rules: { '@angular-eslint/directive-selector': [ 'error', { type: 'attribute', prefix: 'app', style: 'camelCase', }, ], '@angular-eslint/prefer-standalone': 'off', }, }, ]; "
); });
it('should disable @angular-eslint/prefer-standalone in an existing override for ts files', async () => { tree.write('eslint.config.js', 'module.exports = [];'); tree.write( 'apps/app1/eslint.config.js', module.exports = [ { files: ['*.ts'], rules: { 'no-unused-vars': 'error' }, }, ];
);
await migration(tree);
expect(tree.read('apps/app1/eslint.config.js', 'utf8')) .toMatchInlineSnapshot( "module.exports = [ { files: ['**/*.ts'], rules: { 'no-unused-vars': 'error', '@angular-eslint/prefer-standalone': 'off', }, }, ]; "
); });
it('should disable @angular-eslint/prefer-standalone in a new override', async () => { tree.write('eslint.config.js', 'module.exports = [];'); tree.write( 'apps/app1/eslint.config.js', module.exports = [ { files: ['*.html'], rules: { 'some-rule-for-html': 'error' }, }, ];
);
await migration(tree);
expect(tree.read('apps/app1/eslint.config.js', 'utf8')) .toMatchInlineSnapshot( "module.exports = [ { files: ['*.html'], rules: { 'some-rule-for-html': 'error' }, }, { files: ['**/*.ts'], rules: { '@angular-eslint/prefer-standalone': 'off', }, }, ]; "
); });
}); });
Update the @angular/cli package version to ~19.0.0.
Requires
Name | Version |
---|---|
@angular/core | >=19.0.0 |
@angular/cli
to ~19.0.0
Update the version of the Angular CLI if it is specified in package.json
Update in devDependencies
:
1{
2 "devDependencies": {
3 "@angular/cli": "~13.3.0"
4 }
5}
6
Update in dependencies
:
1{
2 "dependencies": {
3 "@angular/cli": "~13.3.0"
4 }
5}
6
Add the '@angular/localize/init' polyfill to the 'polyfills' option of targets using esbuild-based executors.
Requires
Name | Version |
---|---|
@angular/core | >=19.0.0 |
Add the '@angular/localize/init' polyfill to the 'polyfills' option of targets using esbuild-based executors.
Add the @angular/localize/init
polyfill to any of these executors:
@angular/build:application
@angular-devkit/build-angular:application
@nx/angular:application
@angular-devkit/build-angular:browser-esbuild
@nx/angular:browser-esbuild
1{
2 "targets": {
3 "build": {
4 "executor": "@angular/build:application",
5 "options": {
6 "localize": true
7 }
8 }
9 }
10}
11
Update '@angular/ssr' import paths to use the new '/node' entry point when 'CommonEngine' is detected.
Requires
Name | Version |
---|---|
@angular/core | >=19.0.0 |
Update '@angular/ssr' import paths to use the new '/node' entry point when 'CommonEngine' is detected.
Update import paths for SSR CommonEngine properties to use @angular/ssr/node
.
1import { CommonEngine } from '@angular/ssr';
2import type {
3 CommonEngineOptions,
4 CommonEngineRenderOptions,
5} from '@angular/ssr';
6
Requires
Name | Version |
---|---|
@angular/core | >=18.2.0 <19.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-devkit/build-angular | ~19.0.0 | Update only |
@angular-devkit/core | ~19.0.0 | Update only |
@angular-devkit/schematics | ~19.0.0 | Update only |
@angular/build | ~19.0.0 | Update only |
@angular/pwa | ~19.0.0 | Update only |
@angular/ssr | ~19.0.0 | Update only |
@schematics/angular | ~19.0.0 | Update only |
@angular-devkit/architect | ~0.1900.0 | Update only |
@angular-devkit/build-webpack | ~0.1900.0 | Update only |
@angular/core | ~19.0.0 | Add if not installed |
@angular/material | ~19.0.0 | Update only |
@angular/cdk | ~19.0.0 | Update only |
@angular/google-maps | ~19.0.0 | Update only |
ng-packagr | ~19.0.0 | Update only |
zone.js | ~0.15.0 | Update only |
Requires
Name | Version |
---|---|
@angular-devkit/build-angular | >=15.0.0 <20.0.0 |
@angular/compiler-cli | >=15.0.0 <20.0.0 |
@angular/core | >=15.0.0 <20.0.0 |
@angular/platform-browser-dynamic | >=15.0.0 <20.0.0 |
jest | ^29.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
jest-preset-angular | ~14.4.0 | Update only |
Requires
Name | Version |
---|---|
eslint | ^8.57.0 || ^9.0.0 |
@angular/core | >= 19.0.0 < 20.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
angular-eslint | ^19.0.0 | Update only |
@angular-eslint/eslint-plugin | ^19.0.0 | Update only |
@angular-eslint/eslint-plugin-template | ^19.0.0 | Update only |
@angular-eslint/template-parser | ^19.0.0 | Update only |
@angular-eslint/utils | ^19.0.0 | Update only |
@angular-eslint/schematics | ^19.0.0 | Update only |
@angular-eslint/test-utils | ^19.0.0 | Update only |
@angular-eslint/builder | ^19.0.0 | Update only |
@angular-eslint/bundled-angular-compiler | ^19.0.0 | Update only |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@module-federation/enhanced | 0.7.6 | Update only |
@module-federation/runtime | 0.7.6 | Update only |
@module-federation/sdk | 0.7.6 | Update only |
@module-federation/node | 2.6.11 | Update only |
Update the ModuleFederationConfig import use @nx/module-federation.
Update the ModuleFederationConfig imports to use @nx/module-federation.
Update import paths for ModuleFederationConfig.
1import { ModuleFederationConfig } from '@nx/webpack';
2
Update the withModuleFederation import use @nx/module-federation/angular.
Update the withModuleFederation import to use @nx/module-federation/webpack.
Update import paths for withModuleFederation
and withModuleFederationForSSR
.
1import {
2 withModuleFederation,
3 withModuleFederationForSSR,
4} from '@nx/angular/module-federation';
5
Packages
Name | Version | Always Add to package.json |
---|---|---|
@module-federation/enhanced | ~0.6.0 | Update only |
@module-federation/node | ~2.5.0 | Update only |
Ensure Target Defaults are set correctly for Module Federation.
Requires
Name | Version |
---|---|
@angular/core | ^18.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@ngrx/store | ^18.0.2 | Update only |
Update the @angular/cli package version to ~18.2.0.
Requires
Name | Version |
---|---|
@angular/core | >=18.2.0 |
Requires
Name | Version |
---|---|
@angular/core | >=18.1.0 <18.2.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-devkit/build-angular | ~18.2.0 | Update only |
@angular-devkit/core | ~18.2.0 | Update only |
@angular-devkit/schematics | ~18.2.0 | Update only |
@angular/build | ~18.2.0 | Update only |
@angular/pwa | ~18.2.0 | Update only |
@angular/ssr | ~18.2.0 | Update only |
@schematics/angular | ~18.2.0 | Update only |
@angular-devkit/architect | ~0.1802.0 | Update only |
@angular-devkit/build-webpack | ~0.1802.0 | Update only |
@angular/core | ~18.2.0 | Add if not installed |
@angular/material | ~18.2.0 | Update only |
@angular/cdk | ~18.2.0 | Update only |
ng-packagr | ~18.2.0 | Update only |
zone.js | ~0.14.10 | Update only |
Ensure Module Federation DTS is turned off by default.
Requires
Name | Version |
---|---|
@angular/core | ^18.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@ngrx/store | ^18.0.1 | Update only |
@ngrx/operators | ^18.0.1 | Update only |
Update the @angular/cli package version to ~18.1.0.
Requires
Name | Version |
---|---|
@angular/core | >=18.1.0 |
Requires
Name | Version |
---|---|
@angular/core | >=18.0.0 <18.1.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-devkit/build-angular | ~18.1.0 | Update only |
@angular-devkit/core | ~18.1.0 | Update only |
@angular-devkit/schematics | ~18.1.0 | Update only |
@angular/build | ~18.1.0 | Update only |
@angular/pwa | ~18.1.0 | Update only |
@angular/ssr | ~18.1.0 | Update only |
@schematics/angular | ~18.1.0 | Update only |
@angular-devkit/architect | ~0.1801.0 | Update only |
@angular-devkit/build-webpack | ~0.1801.0 | Update only |
@angular/core | ~18.1.0 | Add if not installed |
@angular/material | ~18.1.0 | Update only |
@angular/cdk | ~18.1.0 | Update only |
ng-packagr | ~18.1.0 | Update only |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@module-federation/node | ^2.3.0 | Update only |
Requires
Name | Version |
---|---|
@angular/core | ^18.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@ngrx/store | ^18.0.0 | Update only |
Installs the '@typescript-eslint/utils' package when having installed '@angular-eslint/eslint-plugin' or '@angular-eslint/eslint-plugin-template' with version >=18.0.0.
Requires
Name | Version |
---|---|
@angular-eslint/eslint-plugin | >=18.0.0 |
Requires
Name | Version |
---|---|
eslint | ^8.57.0 || ^9.0.0 |
@angular/core | >= 18.0.0 < 19.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-eslint/eslint-plugin | ^18.0.1 | Update only |
@angular-eslint/eslint-plugin-template | ^18.0.1 | Update only |
@angular-eslint/template-parser | ^18.0.1 | Update only |
@angular-eslint/utils | ^18.0.1 | Update only |
@angular-eslint/schematics | ^18.0.1 | Update only |
@angular-eslint/test-utils | ^18.0.1 | Update only |
@angular-eslint/builder | ^18.0.1 | Update only |
@angular-eslint/bundled-angular-compiler | ^18.0.1 | Update only |
Update the @angular/cli package version to ~18.0.0.
Requires
Name | Version |
---|---|
@angular/core | >=18.0.0 |
Requires
Name | Version |
---|---|
@angular/core | >=17.3.0 <18.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-devkit/build-angular | ~18.0.0 | Update only |
@angular-devkit/core | ~18.0.0 | Update only |
@angular-devkit/schematics | ~18.0.0 | Update only |
@angular/pwa | ~18.0.0 | Update only |
@angular/ssr | ~18.0.0 | Update only |
@schematics/angular | ~18.0.0 | Update only |
@angular-devkit/architect | ~0.1800.0 | Update only |
@angular-devkit/build-webpack | ~0.1800.0 | Update only |
@angular/core | ~18.0.0 | Add if not installed |
@angular/material | ~18.0.0 | Update only |
@angular/cdk | ~18.0.0 | Update only |
ng-packagr | ~18.0.0 | Update only |
Requires
Name | Version |
---|---|
@angular-devkit/build-angular | >=15.0.0 <19.0.0 |
@angular/compiler-cli | >=15.0.0 <19.0.0 |
@angular/core | >=15.0.0 <19.0.0 |
@angular/platform-browser-dynamic | >=15.0.0 <19.0.0 |
jest | ^29.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
jest-preset-angular | ~14.1.0 | Update only |
Update the @angular/cli package version to ~17.3.0.
Requires
Name | Version |
---|---|
@angular/core | >=17.3.0 |
Requires
Name | Version |
---|---|
@angular/core | >=17.2.0 <17.3.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-devkit/build-angular | ~17.3.0 | Update only |
@angular-devkit/core | ~17.3.0 | Update only |
@angular-devkit/schematics | ~17.3.0 | Update only |
@angular/pwa | ~17.3.0 | Update only |
@angular/ssr | ~17.3.0 | Update only |
@schematics/angular | ~17.3.0 | Update only |
@angular-devkit/architect | ~0.1703.0 | Update only |
@angular-devkit/build-webpack | ~0.1703.0 | Update only |
@angular/core | ~17.3.0 | Add if not installed |
@angular/material | ~17.3.0 | Update only |
@angular/cdk | ~17.3.0 | Update only |
ng-packagr | ~17.3.0 | Update only |
Requires
Name | Version |
---|---|
eslint | ^7.20.0 || ^8.0.0 |
@angular/core | >= 17.0.0 < 18.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-eslint/eslint-plugin | ~17.3.0 | Update only |
@angular-eslint/eslint-plugin-template | ~17.3.0 | Update only |
@angular-eslint/template-parser | ~17.3.0 | Update only |
Ensure targetDefaults inputs for task hashing when '@nx/angular:webpack-browser' is used are correct for Module Federation.
Requires
Name | Version |
---|---|
@angular-devkit/build-angular | >=15.0.0 <18.0.0 |
@angular/compiler-cli | >=15.0.0 <18.0.0 |
@angular/core | >=15.0.0 <18.0.0 |
@angular/platform-browser-dynamic | >=15.0.0 <18.0.0 |
jest | ^29.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
jest-preset-angular | ~14.0.3 | Update only |
Update the @angular/cli package version to ~17.2.0.
Requires
Name | Version |
---|---|
@angular/core | >=17.2.0 |
Requires
Name | Version |
---|---|
@angular/core | >=17.1.0 <17.2.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-devkit/build-angular | ~17.2.0 | Update only |
@angular-devkit/core | ~17.2.0 | Update only |
@angular-devkit/schematics | ~17.2.0 | Update only |
@angular/pwa | ~17.2.0 | Update only |
@angular/ssr | ~17.2.0 | Update only |
@schematics/angular | ~17.2.0 | Update only |
@angular-devkit/architect | ~0.1702.0 | Update only |
@angular-devkit/build-webpack | ~0.1702.0 | Update only |
@angular/core | ~17.2.0 | Add if not installed |
@angular/material | ~17.2.0 | Update only |
@angular/cdk | ~17.2.0 | Update only |
ng-packagr | ~17.2.0 | Update only |
Add NX_MF_DEV_SERVER_STATIC_REMOTES to inputs for task hashing when '@nx/angular:webpack-browser' is used for Module Federation.
Update the @angular/cli package version to ~17.1.0.
Requires
Name | Version |
---|---|
@angular/core | >=17.1.0 |
Add 'browser-sync' as dev dependency when '@angular-devkit/build-angular:ssr-dev-server' or '@nx/angular:module-federation-dev-ssr' is used.
Requires
Name | Version |
---|---|
@angular/core | >=17.1.0 |
Add 'autoprefixer' as dev dependency when '@nx/angular:ng-packagr-lite' or '@nx/angular:package` is used.
Requires
Name | Version |
---|---|
@angular/core | >=17.1.0 |
Requires
Name | Version |
---|---|
@angular/core | >=17.0.0 <17.1.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-devkit/build-angular | ~17.1.0 | Update only |
@angular-devkit/core | ~17.1.0 | Update only |
@angular-devkit/schematics | ~17.1.0 | Update only |
@angular/pwa | ~17.1.0 | Update only |
@angular/ssr | ~17.1.0 | Update only |
@schematics/angular | ~17.1.0 | Update only |
@angular-devkit/architect | ~0.1701.0 | Update only |
@angular-devkit/build-webpack | ~0.1701.0 | Update only |
@angular/core | ~17.1.0 | Add if not installed |
@angular/material | ~17.1.0 | Update only |
@angular/cdk | ~17.1.0 | Update only |
ng-packagr | ~17.1.0 | Update only |
zone.js | ~0.14.3 | Update only |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@types/node | ^18.16.9 | Update only |
Requires
Name | Version |
---|---|
@angular/core | ^17.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@ngrx/store | ~17.0.0 | Update only |
Rename '@nx/angular:webpack-dev-server' executor to '@nx/angular:dev-server'
Requires
Name | Version |
---|---|
@angular-devkit/build-angular | >=13.0.0 <18.0.0 |
@angular/compiler-cli | >=13.0.0 <18.0.0 |
@angular/core | >=13.0.0 <18.0.0 |
@angular/platform-browser-dynamic | >=13.0.0 <18.0.0 |
jest | ^29.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
jest-preset-angular | ~13.1.4 | Update only |
Update the @angular/cli package version to ~17.0.0.
Requires
Name | Version |
---|---|
@angular/core | >=17.0.0 |
Rename 'browserTarget' to 'buildTarget'.
Requires
Name | Version |
---|---|
@angular/core | >=17.0.0 |
Replace usages of '@nguniversal/builders' with '@angular-devkit/build-angular'.
Requires
Name | Version |
---|---|
@angular/core | >=17.0.0 |
Replace usages of '@nguniversal/' packages with '@angular/ssr'.
Requires
Name | Version |
---|---|
@angular/core | >=17.0.0 |
Replace the deep imports from 'zone.js/dist/zone' and 'zone.js/dist/zone-testing' with 'zone.js' and 'zone.js/testing'.
Requires
Name | Version |
---|---|
@angular/core | >=17.0.0 |
Requires
Name | Version |
---|---|
@angular/core | >=16.2.0 <17.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-devkit/architect | ~0.1700.0 | Update only |
@angular-devkit/build-angular | ~17.0.0 | Update only |
@angular-devkit/build-webpack | ~0.1700.0 | Update only |
@angular-devkit/core | ~17.0.0 | Update only |
@angular-devkit/schematics | ~17.0.0 | Update only |
@angular/pwa | ~17.0.0 | Update only |
@angular/core | ~17.0.0 | Add if not installed |
@angular/material | ~17.0.0 | Update only |
@angular/cdk | ~17.0.0 | Update only |
@schematics/angular | ~17.0.0 | Update only |
ng-packagr | ~17.0.0 | Update only |
zone.js | ~0.14.0 | Update only |
Requires
Name | Version |
---|---|
@angular-devkit/build-angular | >=13.0.0 <18.0.0 |
@angular/compiler-cli | >=13.0.0 <18.0.0 |
@angular/core | >=13.0.0 <18.0.0 |
@angular/platform-browser-dynamic | >=13.0.0 <18.0.0 |
jest | ^29.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
jest-preset-angular | ~13.1.3 | Update only |
Requires
Name | Version |
---|---|
eslint | ^7.20.0 || ^8.0.0 |
@angular/core | >= 17.0.0 < 18.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-eslint/eslint-plugin | ~17.0.0 | Update only |
@angular-eslint/eslint-plugin-template | ~17.0.0 | Update only |
@angular-eslint/template-parser | ~17.0.0 | Update only |
Packages
Name | Version | Always Add to package.json |
---|---|---|
esbuild | ^0.19.2 | Update only |
Update the @angular/cli package version to ~16.2.0.
Requires
Name | Version |
---|---|
@angular/core | >=16.2.0 |
Requires
Name | Version |
---|---|
@angular/core | >=16.1.0 <16.2.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-devkit/architect | ~0.1602.0 | Update only |
@angular-devkit/build-angular | ~16.2.0 | Update only |
@angular-devkit/build-webpack | ~0.1602.0 | Update only |
@angular-devkit/core | ~16.2.0 | Update only |
@angular-devkit/schematics | ~16.2.0 | Update only |
@angular/pwa | ~16.2.0 | Update only |
@angular/core | ~16.2.0 | Add if not installed |
@angular/material | ~16.2.0 | Update only |
@angular/cdk | ~16.2.0 | Update only |
@nguniversal/builders | ~16.2.0 | Update only |
@nguniversal/common | ~16.2.0 | Update only |
@nguniversal/express-engine | ~16.2.0 | Update only |
@schematics/angular | ~16.2.0 | Update only |
ng-packagr | ~16.2.0 | Update only |
Explicitly set 'updateBuildableProjectDepsInPackageJson' to 'true' in targets that rely on that value as the default.
Update the @angular/cli package version to ~16.1.0.
Requires
Name | Version |
---|---|
@angular/core | >=16.1.0 |
Requires
Name | Version |
---|---|
@angular/core | >=16.0.0 <16.1.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-devkit/architect | ~0.1601.0 | Update only |
@angular-devkit/build-angular | ~16.1.0 | Update only |
@angular-devkit/build-webpack | ~0.1601.0 | Update only |
@angular-devkit/core | ~16.1.0 | Update only |
@angular-devkit/schematics | ~16.1.0 | Update only |
@angular/pwa | ~16.1.0 | Update only |
@angular/core | ~16.1.0 | Add if not installed |
@angular/material | ~16.1.0 | Update only |
@angular/cdk | ~16.1.0 | Update only |
@nguniversal/builders | ~16.1.0 | Update only |
@nguniversal/common | ~16.1.0 | Update only |
@nguniversal/express-engine | ~16.1.0 | Update only |
@schematics/angular | ~16.1.0 | Update only |
ng-packagr | ~16.1.0 | Update only |
Remove the 'accessibility-' prefix from '@angular-eslint/eslint-plugin-template' rules.
Requires
Name | Version |
---|---|
@angular-eslint/eslint-plugin-template | >=16.0.0 |
Switch the data persistence operator imports to '@ngrx/router-store/data-persistence'.
Requires
Name | Version |
---|---|
@ngrx/store | >=16.0.0 |
Requires
Name | Version |
---|---|
@angular/core | ^16.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@ngrx/store | ~16.0.0 | Update only |
Requires
Name | Version |
---|---|
@angular-devkit/build-angular | >=13.0.0 <17.0.0 |
@angular/compiler-cli | >=13.0.0 <17.0.0 |
@angular/core | >=13.0.0 <17.0.0 |
@angular/platform-browser-dynamic | >=13.0.0 <17.0.0 |
jest | ^29.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
jest-preset-angular | ~13.1.0 | Update only |
Requires
Name | Version |
---|---|
@angular/core | >=15.2.0 <16.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular/core | ~16.0.0 | Add if not installed |
zone.js | ~0.13.0 | Update only |
@angular-devkit/architect | ~0.1600.0 | Update only |
@angular-devkit/build-angular | ~16.0.0 | Update only |
@angular-devkit/build-webpack | ~0.1600.0 | Update only |
@angular-devkit/core | ~16.0.0 | Update only |
@angular-devkit/schematics | ~16.0.0 | Update only |
@angular/pwa | ~16.0.0 | Update only |
@schematics/angular | ~16.0.0 | Update only |
ng-packagr | ~16.0.0 | Update only |
@nguniversal/build-angular | ~16.0.0 | Update only |
@nguniversal/builders | ~16.0.0 | Update only |
@nguniversal/common | ~16.0.0 | Update only |
@nguniversal/express-engine | ~16.0.0 | Update only |
@angular/material | ~16.0.0 | Update only |
@angular/cdk | ~16.0.0 | Update only |
Requires
Name | Version |
---|---|
eslint | ^7.20.0 || ^8.0.0 |
@angular/core | >=16.0.0 <17.0.0 |
Packages
Name | Version | Always Add to package.json |
---|---|---|
@angular-eslint/eslint-plugin | ~16.0.0 | Update only |
@angular-eslint/eslint-plugin-template | ~16.0.0 | Update only |
@angular-eslint/template-parser | ~16.0.0 | Update only |