@nx/angular:migrations | Nx

Migration References

Here is a list of all migrations available for this package.

  • 21.0.x

  • set-continuous-option

    Set the `continuous` option to `true` for continuous tasks.

    Version: 21.0.0-beta.3

    Set continuous Option for Continuous Tasks

    This 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

    Examples

    apps/app1/project.json
    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:

    apps/app1/project.json
    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
  • 20.5.x

  • 20.5.0-angular-eslint-package-updates

    Version: 20.5.0-rc.1

    Requires

    NameVersion
    eslint^8.57.0 || ^9.0.0
    @angular/core>= 19.0.0 < 20.0.0

    Packages

    NameVersionAlways Add to package.json
    angular-eslint^19.2.0Update only
    @angular-eslint/eslint-plugin^19.2.0Update only
    @angular-eslint/eslint-plugin-template^19.2.0Update only
    @angular-eslint/template-parser^19.2.0Update only
    @angular-eslint/utils^19.2.0Update only
    @angular-eslint/schematics^19.2.0Update only
    @angular-eslint/test-utils^19.2.0Update only
    @angular-eslint/builder^19.2.0Update only
    @angular-eslint/bundled-angular-compiler^19.2.0Update only

    update-angular-cli-version-19-2-0

    Update the @angular/cli package version to ~19.2.0.

    Version: 20.5.0-beta.5

    Requires

    NameVersion
    @angular/core>=19.2.0

    Sample Code Changes

    Update the @angular/cli package version in the package.json file at the workspace root to ~19.2.0.

    package.json
    1{ 2 "devDependencies": { 3 "@angular/cli": "~19.1.0" 4 } 5} 6

    20.5.0-package-updates

    Version: 20.5.0-beta.5

    Requires

    NameVersion
    @angular/core>=19.1.0 <19.2.0

    Packages

    NameVersionAlways Add to package.json
    @angular-devkit/build-angular~19.2.0Update only
    @angular-devkit/core~19.2.0Update only
    @angular-devkit/schematics~19.2.0Update only
    @angular/build~19.2.0Update only
    @angular/pwa~19.2.0Update only
    @angular/ssr~19.2.0Update only
    @schematics/angular~19.2.0Update only
    @angular-devkit/architect~0.1902.0Update only
    @angular-devkit/build-webpack~0.1902.0Update only
    @angular/core~19.2.0Add if not installed
    @angular/material~19.2.1Update only
    @angular/cdk~19.2.1Update only
    @angular/google-maps~19.2.1Update only
    ng-packagr~19.2.0Update only
  • 20.4.x

  • update-angular-cli-version-19-1-0

    Update the @angular/cli package version to ~19.1.0.

    Version: 20.4.0-beta.1

    Requires

    NameVersion
    @angular/core>=19.1.0

    Update @angular/cli to ~19.1.0

    Update the version of the Angular CLI if it is specified in package.json

    Sample Code Changes

    Update in devDependencies:

    package.json
    1{ 2 "devDependencies": { 3 "@angular/cli": "~13.3.0" 4 } 5} 6

    Update in dependencies:

    package.json
    1{ 2 "dependencies": { 3 "@angular/cli": "~13.3.0" 4 } 5} 6

    20.4.0-package-updates

    Version: 20.4.0-beta.1

    Requires

    NameVersion
    @angular/core>=19.0.0 <19.1.0

    Packages

    NameVersionAlways Add to package.json
    @angular-devkit/build-angular~19.1.0Update only
    @angular-devkit/core~19.1.0Update only
    @angular-devkit/schematics~19.1.0Update only
    @angular/build~19.1.0Update only
    @angular/pwa~19.1.0Update only
    @angular/ssr~19.1.0Update only
    @schematics/angular~19.1.0Update only
    @angular-devkit/architect~0.1901.0Update only
    @angular-devkit/build-webpack~0.1901.0Update only
    @angular/core~19.1.0Add if not installed
    @angular/material~19.1.0Update only
    @angular/cdk~19.1.0Update only
    @angular/google-maps~19.1.0Update only
    ng-packagr~19.1.0Update only
  • 20.3.x

  • ensure-nx-module-federation-package

    If workspace includes Module Federation projects, ensure the new @nx/module-federation package is installed.

    Version: 20.3.0-beta.2

    Ensure the @nx/module-federation Package is Installed

    If workspace includes Module Federation projects, ensure the new @nx/module-federation package is installed.

    Sample Code Changes

    package.json
    1{ 2 "dependencies": {} 3} 4

    20.2.3-ngrx-package-updates

    Version: 20.3.0-beta.2

    Requires

    NameVersion
    @angular/core^19.0.0

    Packages

    NameVersionAlways Add to package.json
    @ngrx/store^19.0.0Update only
  • 20.2.x

  • 20.2.2-angular-eslint-package-updates

    Version: 20.2.2-beta.0

    Requires

    NameVersion
    eslint^8.57.0 || ^9.0.0
    @angular/core>= 19.0.0 < 20.0.0

    Packages

    NameVersionAlways Add to package.json
    angular-eslint^19.0.2Update only
    @angular-eslint/eslint-plugin^19.0.2Update only
    @angular-eslint/eslint-plugin-template^19.0.2Update only
    @angular-eslint/template-parser^19.0.2Update only
    @angular-eslint/utils^19.0.2Update only
    @angular-eslint/schematics^19.0.2Update only
    @angular-eslint/test-utils^19.0.2Update only
    @angular-eslint/builder^19.0.2Update only
    @angular-eslint/bundled-angular-compiler^19.0.2Update only

    remove-angular-eslint-rules

    Remove Angular ESLint rules that were removed in v19.0.0.

    Version: 20.2.0-beta.8

    Requires

    NameVersion
    @angular/core>=19.0.0

    Remove Angular ESLint Rules

    Remove Angular ESLint rules that were removed in v19.0.0.

    Sample Code Changes

    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.

    apps/app1/.eslintrc.json
    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-tailwind-config-from-ng-packagr-executors

    Remove the deprecated 'tailwindConfig' option from ng-packagr executors. Tailwind CSS configurations located at the project or workspace root will be picked up automatically.

    Version: 20.2.0-beta.8

    Requires

    NameVersion
    @angular/core>=19.0.0

    Remove tailwindConfig from ng-packagr Executors

    Remove the deprecated 'tailwindConfig' option from ng-packagr executors. Tailwind CSS configurations located at the project or workspace root will be picked up automatically.

    Sample Code Changes

    Remove tailwindConfig from the @nx/angular:ng-packagr-lite or @nx/angular:package executor options in project configuration.

    libs/my-lib/project.json
    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.

    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

    20.2.0-analog-package-updates

    Version: 20.2.0-beta.7

    Packages

    NameVersionAlways Add to package.json
    @analogjs/vitest-angular~1.10.0Update only
    @analogjs/vite-plugin-angular~1.10.0Update only

    disable-angular-eslint-prefer-standalone

    Disable the Angular ESLint prefer-standalone rule if not set.

    Version: 20.2.0-beta.6

    Requires

    NameVersion
    @angular/core>=19.0.0

    Disable Angular ESLint Prefer Standalone

    Disable the Angular ESLint prefer-standalone rule if not set.

    Sample Code Changes

    Update import paths for withModuleFederation and withModuleFederationForSSR.

    apps/app1/.eslintrc.json
    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-angular-cli-version-19-0-0

    Update the @angular/cli package version to ~19.0.0.

    Version: 20.2.0-beta.5

    Requires

    NameVersion
    @angular/core>=19.0.0

    Update @angular/cli to ~19.0.0

    Update the version of the Angular CLI if it is specified in package.json

    Sample Code Changes

    Update in devDependencies:

    package.json
    1{ 2 "devDependencies": { 3 "@angular/cli": "~13.3.0" 4 } 5} 6

    Update in dependencies:

    package.json
    1{ 2 "dependencies": { 3 "@angular/cli": "~13.3.0" 4 } 5} 6

    add-localize-polyfill-to-targets

    Add the '@angular/localize/init' polyfill to the 'polyfills' option of targets using esbuild-based executors.

    Version: 20.2.0-beta.5

    Requires

    NameVersion
    @angular/core>=19.0.0

    Add Localize Polyfill to Targets

    Add the '@angular/localize/init' polyfill to the 'polyfills' option of targets using esbuild-based executors.

    Sample Code Changes

    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
    apps/app1/project.json
    1{ 2 "targets": { 3 "build": { 4 "executor": "@angular/build:application", 5 "options": { 6 "localize": true 7 } 8 } 9 } 10} 11

    update-angular-ssr-imports-to-use-node-entry-point

    Update '@angular/ssr' import paths to use the new '/node' entry point when 'CommonEngine' is detected.

    Version: 20.2.0-beta.5

    Requires

    NameVersion
    @angular/core>=19.0.0

    Update Angular SSR Imports to Use Node Entry Point

    Update '@angular/ssr' import paths to use the new '/node' entry point when 'CommonEngine' is detected.

    Sample Code Changes

    Update import paths for SSR CommonEngine properties to use @angular/ssr/node.

    apps/app1/server.ts
    1import { CommonEngine } from '@angular/ssr'; 2import type { 3 CommonEngineOptions, 4 CommonEngineRenderOptions, 5} from '@angular/ssr'; 6

    20.2.0-package-updates

    Version: 20.2.0-beta.5

    Requires

    NameVersion
    @angular/core>=18.2.0 <19.0.0

    Packages

    NameVersionAlways Add to package.json
    @angular-devkit/build-angular~19.0.0Update only
    @angular-devkit/core~19.0.0Update only
    @angular-devkit/schematics~19.0.0Update only
    @angular/build~19.0.0Update only
    @angular/pwa~19.0.0Update only
    @angular/ssr~19.0.0Update only
    @schematics/angular~19.0.0Update only
    @angular-devkit/architect~0.1900.0Update only
    @angular-devkit/build-webpack~0.1900.0Update only
    @angular/core~19.0.0Add if not installed
    @angular/material~19.0.0Update only
    @angular/cdk~19.0.0Update only
    @angular/google-maps~19.0.0Update only
    ng-packagr~19.0.0Update only
    zone.js~0.15.0Update only

    20.2.0-jest-package-updates

    Version: 20.2.0-beta.5

    Requires

    NameVersion
    @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

    NameVersionAlways Add to package.json
    jest-preset-angular~14.4.0Update only

    20.2.0-angular-eslint-package-updates

    Version: 20.2.0-beta.5

    Requires

    NameVersion
    eslint^8.57.0 || ^9.0.0
    @angular/core>= 19.0.0 < 20.0.0

    Packages

    NameVersionAlways Add to package.json
    angular-eslint^19.0.0Update only
    @angular-eslint/eslint-plugin^19.0.0Update only
    @angular-eslint/eslint-plugin-template^19.0.0Update only
    @angular-eslint/template-parser^19.0.0Update only
    @angular-eslint/utils^19.0.0Update only
    @angular-eslint/schematics^19.0.0Update only
    @angular-eslint/test-utils^19.0.0Update only
    @angular-eslint/builder^19.0.0Update only
    @angular-eslint/bundled-angular-compiler^19.0.0Update only

    20.2.0-module-federation-package-updates

    Version: 20.2.0-beta.3

    Packages

    NameVersionAlways Add to package.json
    @module-federation/enhanced0.7.6Update only
    @module-federation/runtime0.7.6Update only
    @module-federation/sdk0.7.6Update only
    @module-federation/node2.6.11Update only

    update-20-2-0-update-module-federation-config-import

    Update the ModuleFederationConfig import use @nx/module-federation.

    Version: 20.2.0-beta.2

    Migrate Module Federation Imports to New Package

    Update the ModuleFederationConfig imports to use @nx/module-federation.

    Sample Code Changes

    Update import paths for ModuleFederationConfig.

    apps/shell/webpack.config.js
    1import { ModuleFederationConfig } from '@nx/webpack'; 2

    update-20-2-0-update-with-module-federation-import

    Update the withModuleFederation import use @nx/module-federation/angular.

    Version: 20.2.0-beta.2

    Migrate withModuleFederation Import to New Package

    Update the withModuleFederation import to use @nx/module-federation/webpack.

    Sample Code Changes

    Update import paths for withModuleFederation and withModuleFederationForSSR.

    apps/shell/webpack.config.ts
    1import { 2 withModuleFederation, 3 withModuleFederationForSSR, 4} from '@nx/angular/module-federation'; 5
  • 19.7.x

  • 19.7.0-package-updates

    Version: 19.7.0-beta.0

    Packages

    NameVersionAlways Add to package.json
    @module-federation/enhanced~0.6.0Update only
    @module-federation/node~2.5.0Update only
  • 19.6.x

  • update-19-6-1-ensure-module-federation-target-defaults

    Ensure Target Defaults are set correctly for Module Federation.

    Version: 19.6.1-beta.0

    19.6.1-ngrx-package-updates

    Version: 19.6.1-beta.0

    Requires

    NameVersion
    @angular/core^18.0.0

    Packages

    NameVersionAlways Add to package.json
    @ngrx/store^18.0.2Update only

    update-angular-cli-version-18-2-0

    Update the @angular/cli package version to ~18.2.0.

    Version: 19.6.0-beta.7

    Requires

    NameVersion
    @angular/core>=18.2.0

    19.6.0-package-updates

    Version: 19.6.0-beta.7

    Requires

    NameVersion
    @angular/core>=18.1.0 <18.2.0

    Packages

    NameVersionAlways Add to package.json
    @angular-devkit/build-angular~18.2.0Update only
    @angular-devkit/core~18.2.0Update only
    @angular-devkit/schematics~18.2.0Update only
    @angular/build~18.2.0Update only
    @angular/pwa~18.2.0Update only
    @angular/ssr~18.2.0Update only
    @schematics/angular~18.2.0Update only
    @angular-devkit/architect~0.1802.0Update only
    @angular-devkit/build-webpack~0.1802.0Update only
    @angular/core~18.2.0Add if not installed
    @angular/material~18.2.0Update only
    @angular/cdk~18.2.0Update only
    ng-packagr~18.2.0Update only
    zone.js~0.14.10Update only

    update-19-6-0

    Ensure Module Federation DTS is turned off by default.

    Version: 19.6.0-beta.4
  • 19.5.x

  • 19.5.4-ngrx-package-updates

    Version: 19.5.4-beta.0

    Requires

    NameVersion
    @angular/core^18.0.0

    Packages

    NameVersionAlways Add to package.json
    @ngrx/store^18.0.1Update only
    @ngrx/operators^18.0.1Update only

    update-angular-cli-version-18-1-0

    Update the @angular/cli package version to ~18.1.0.

    Version: 19.5.0-beta.1

    Requires

    NameVersion
    @angular/core>=18.1.0

    19.5.0-package-updates

    Version: 19.5.0-beta.1

    Requires

    NameVersion
    @angular/core>=18.0.0 <18.1.0

    Packages

    NameVersionAlways Add to package.json
    @angular-devkit/build-angular~18.1.0Update only
    @angular-devkit/core~18.1.0Update only
    @angular-devkit/schematics~18.1.0Update only
    @angular/build~18.1.0Update only
    @angular/pwa~18.1.0Update only
    @angular/ssr~18.1.0Update only
    @schematics/angular~18.1.0Update only
    @angular-devkit/architect~0.1801.0Update only
    @angular-devkit/build-webpack~0.1801.0Update only
    @angular/core~18.1.0Add if not installed
    @angular/material~18.1.0Update only
    @angular/cdk~18.1.0Update only
    ng-packagr~18.1.0Update only

    19.5.0-module-federation-package-updates

    Version: 19.5.0-beta.0

    Packages

    NameVersionAlways Add to package.json
    @module-federation/node^2.3.0Update only
  • 19.4.x

  • 19.4.0-ngrx-package-updates

    Version: 19.4.0-beta.1

    Requires

    NameVersion
    @angular/core^18.0.0

    Packages

    NameVersionAlways Add to package.json
    @ngrx/store^18.0.0Update only
  • 19.2.x

  • add-typescript-eslint-utils

    Installs the '@typescript-eslint/utils' package when having installed '@angular-eslint/eslint-plugin' or '@angular-eslint/eslint-plugin-template' with version >=18.0.0.

    Version: 19.2.1-beta.0

    Requires

    NameVersion
    @angular-eslint/eslint-plugin>=18.0.0
  • 19.1.x

  • 19.1.2-package-updates

    Version: 19.1.2-beta.1

    Requires

    NameVersion
    eslint^8.57.0 || ^9.0.0
    @angular/core>= 18.0.0 < 19.0.0

    Packages

    NameVersionAlways Add to package.json
    @angular-eslint/eslint-plugin^18.0.1Update only
    @angular-eslint/eslint-plugin-template^18.0.1Update only
    @angular-eslint/template-parser^18.0.1Update only
    @angular-eslint/utils^18.0.1Update only
    @angular-eslint/schematics^18.0.1Update only
    @angular-eslint/test-utils^18.0.1Update only
    @angular-eslint/builder^18.0.1Update only
    @angular-eslint/bundled-angular-compiler^18.0.1Update only

    update-angular-cli-version-18-0-0

    Update the @angular/cli package version to ~18.0.0.

    Version: 19.1.0-beta.2

    Requires

    NameVersion
    @angular/core>=18.0.0

    19.1.0-package-updates

    Version: 19.1.0-beta.2

    Requires

    NameVersion
    @angular/core>=17.3.0 <18.0.0

    Packages

    NameVersionAlways Add to package.json
    @angular-devkit/build-angular~18.0.0Update only
    @angular-devkit/core~18.0.0Update only
    @angular-devkit/schematics~18.0.0Update only
    @angular/pwa~18.0.0Update only
    @angular/ssr~18.0.0Update only
    @schematics/angular~18.0.0Update only
    @angular-devkit/architect~0.1800.0Update only
    @angular-devkit/build-webpack~0.1800.0Update only
    @angular/core~18.0.0Add if not installed
    @angular/material~18.0.0Update only
    @angular/cdk~18.0.0Update only
    ng-packagr~18.0.0Update only

    19.1.0-jest-package-updates

    Version: 19.1.0-beta.2

    Requires

    NameVersion
    @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

    NameVersionAlways Add to package.json
    jest-preset-angular~14.1.0Update only
  • 18.2.x

  • update-angular-cli-version-17-3-0

    Update the @angular/cli package version to ~17.3.0.

    Version: 18.2.0-beta.0

    Requires

    NameVersion
    @angular/core>=17.3.0

    18.2.0-package-updates

    Version: 18.2.0-beta.0

    Requires

    NameVersion
    @angular/core>=17.2.0 <17.3.0

    Packages

    NameVersionAlways Add to package.json
    @angular-devkit/build-angular~17.3.0Update only
    @angular-devkit/core~17.3.0Update only
    @angular-devkit/schematics~17.3.0Update only
    @angular/pwa~17.3.0Update only
    @angular/ssr~17.3.0Update only
    @schematics/angular~17.3.0Update only
    @angular-devkit/architect~0.1703.0Update only
    @angular-devkit/build-webpack~0.1703.0Update only
    @angular/core~17.3.0Add if not installed
    @angular/material~17.3.0Update only
    @angular/cdk~17.3.0Update only
    ng-packagr~17.3.0Update only

    18.2.0-angular-eslint-package-updates

    Version: 18.2.0-beta.0

    Requires

    NameVersion
    eslint^7.20.0 || ^8.0.0
    @angular/core>= 17.0.0 < 18.0.0

    Packages

    NameVersionAlways Add to package.json
    @angular-eslint/eslint-plugin~17.3.0Update only
    @angular-eslint/eslint-plugin-template~17.3.0Update only
    @angular-eslint/template-parser~17.3.0Update only
  • 18.1.x

  • fix-target-defaults-for-webpack-browser

    Ensure targetDefaults inputs for task hashing when '@nx/angular:webpack-browser' is used are correct for Module Federation.

    Version: 18.1.1-beta.0

    18.1.0-jest-package-updates

    Version: 18.1.0-beta.2

    Requires

    NameVersion
    @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

    NameVersionAlways Add to package.json
    jest-preset-angular~14.0.3Update only

    update-angular-cli-version-17-2-0

    Update the @angular/cli package version to ~17.2.0.

    Version: 18.1.0-beta.1

    Requires

    NameVersion
    @angular/core>=17.2.0

    18.1.0-package-updates

    Version: 18.1.0-beta.1

    Requires

    NameVersion
    @angular/core>=17.1.0 <17.2.0

    Packages

    NameVersionAlways Add to package.json
    @angular-devkit/build-angular~17.2.0Update only
    @angular-devkit/core~17.2.0Update only
    @angular-devkit/schematics~17.2.0Update only
    @angular/pwa~17.2.0Update only
    @angular/ssr~17.2.0Update only
    @schematics/angular~17.2.0Update only
    @angular-devkit/architect~0.1702.0Update only
    @angular-devkit/build-webpack~0.1702.0Update only
    @angular/core~17.2.0Add if not installed
    @angular/material~17.2.0Update only
    @angular/cdk~17.2.0Update only
    ng-packagr~17.2.0Update only
  • 18.0.x

  • add-module-federation-env-var-to-target-defaults

    Add NX_MF_DEV_SERVER_STATIC_REMOTES to inputs for task hashing when '@nx/angular:webpack-browser' is used for Module Federation.

    Version: 18.0.0-beta.0
  • 17.3.x

  • update-angular-cli-version-17-1-0

    Update the @angular/cli package version to ~17.1.0.

    Version: 17.3.0-beta.10

    Requires

    NameVersion
    @angular/core>=17.1.0

    add-browser-sync-dependency

    Add 'browser-sync' as dev dependency when '@angular-devkit/build-angular:ssr-dev-server' or '@nx/angular:module-federation-dev-ssr' is used.

    Version: 17.3.0-beta.10

    Requires

    NameVersion
    @angular/core>=17.1.0

    add-autoprefixer-dependency

    Add 'autoprefixer' as dev dependency when '@nx/angular:ng-packagr-lite' or '@nx/angular:package` is used.

    Version: 17.3.0-beta.10

    Requires

    NameVersion
    @angular/core>=17.1.0

    17.3.0-package-updates

    Version: 17.3.0-beta.10

    Requires

    NameVersion
    @angular/core>=17.0.0 <17.1.0

    Packages

    NameVersionAlways Add to package.json
    @angular-devkit/build-angular~17.1.0Update only
    @angular-devkit/core~17.1.0Update only
    @angular-devkit/schematics~17.1.0Update only
    @angular/pwa~17.1.0Update only
    @angular/ssr~17.1.0Update only
    @schematics/angular~17.1.0Update only
    @angular-devkit/architect~0.1701.0Update only
    @angular-devkit/build-webpack~0.1701.0Update only
    @angular/core~17.1.0Add if not installed
    @angular/material~17.1.0Update only
    @angular/cdk~17.1.0Update only
    ng-packagr~17.1.0Update only
    zone.js~0.14.3Update only

    17.3.0-types-node-package-updates

    Version: 17.3.0-beta.3

    Packages

    NameVersionAlways Add to package.json
    @types/node^18.16.9Update only
  • 17.2.x

  • 17.2.0-ngrx-package-updates

    Version: 17.2.0-beta.3

    Requires

    NameVersion
    @angular/core^17.0.0

    Packages

    NameVersionAlways Add to package.json
    @ngrx/store~17.0.0Update only

    rename-webpack-dev-server-executor

    Rename '@nx/angular:webpack-dev-server' executor to '@nx/angular:dev-server'

    Version: 17.2.0-beta.2
  • 17.1.x

  • 17.1.3-jest-package-updates

    Version: 17.1.3-beta.0

    Requires

    NameVersion
    @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

    NameVersionAlways Add to package.json
    jest-preset-angular~13.1.4Update only

    update-angular-cli-version-17-0-0

    Update the @angular/cli package version to ~17.0.0.

    Version: 17.1.0-beta.5

    Requires

    NameVersion
    @angular/core>=17.0.0

    rename-browser-target-to-build-target

    Rename 'browserTarget' to 'buildTarget'.

    Version: 17.1.0-beta.5

    Requires

    NameVersion
    @angular/core>=17.0.0

    replace-nguniversal-builders

    Replace usages of '@nguniversal/builders' with '@angular-devkit/build-angular'.

    Version: 17.1.0-beta.5

    Requires

    NameVersion
    @angular/core>=17.0.0

    replace-nguniversal-engines

    Replace usages of '@nguniversal/' packages with '@angular/ssr'.

    Version: 17.1.0-beta.5

    Requires

    NameVersion
    @angular/core>=17.0.0

    update-zone-js-deep-import

    Replace the deep imports from 'zone.js/dist/zone' and 'zone.js/dist/zone-testing' with 'zone.js' and 'zone.js/testing'.

    Version: 17.1.0-beta.5

    Requires

    NameVersion
    @angular/core>=17.0.0

    17.1.0-package-updates

    Version: 17.1.0-beta.5

    Requires

    NameVersion
    @angular/core>=16.2.0 <17.0.0

    Packages

    NameVersionAlways Add to package.json
    @angular-devkit/architect~0.1700.0Update only
    @angular-devkit/build-angular~17.0.0Update only
    @angular-devkit/build-webpack~0.1700.0Update only
    @angular-devkit/core~17.0.0Update only
    @angular-devkit/schematics~17.0.0Update only
    @angular/pwa~17.0.0Update only
    @angular/core~17.0.0Add if not installed
    @angular/material~17.0.0Update only
    @angular/cdk~17.0.0Update only
    @schematics/angular~17.0.0Update only
    ng-packagr~17.0.0Update only
    zone.js~0.14.0Update only

    17.1.0-jest-package-updates

    Version: 17.1.0-beta.5

    Requires

    NameVersion
    @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

    NameVersionAlways Add to package.json
    jest-preset-angular~13.1.3Update only

    17.1.0-angular-eslint-package-updates

    Version: 17.1.0-beta.5

    Requires

    NameVersion
    eslint^7.20.0 || ^8.0.0
    @angular/core>= 17.0.0 < 18.0.0

    Packages

    NameVersionAlways Add to package.json
    @angular-eslint/eslint-plugin~17.0.0Update only
    @angular-eslint/eslint-plugin-template~17.0.0Update only
    @angular-eslint/template-parser~17.0.0Update only
  • 16.8.x

  • 16.8.0-package-updates

    Version: 16.8.0-beta.2

    Packages

    NameVersionAlways Add to package.json
    esbuild^0.19.2Update only
  • 16.7.x

  • update-angular-cli-version-16-2-0

    Update the @angular/cli package version to ~16.2.0.

    Version: 16.7.0-beta.6

    Requires

    NameVersion
    @angular/core>=16.2.0

    16.7.0-package-updates

    Version: 16.7.0-beta.6

    Requires

    NameVersion
    @angular/core>=16.1.0 <16.2.0

    Packages

    NameVersionAlways Add to package.json
    @angular-devkit/architect~0.1602.0Update only
    @angular-devkit/build-angular~16.2.0Update only
    @angular-devkit/build-webpack~0.1602.0Update only
    @angular-devkit/core~16.2.0Update only
    @angular-devkit/schematics~16.2.0Update only
    @angular/pwa~16.2.0Update only
    @angular/core~16.2.0Add if not installed
    @angular/material~16.2.0Update only
    @angular/cdk~16.2.0Update only
    @nguniversal/builders~16.2.0Update only
    @nguniversal/common~16.2.0Update only
    @nguniversal/express-engine~16.2.0Update only
    @schematics/angular~16.2.0Update only
    ng-packagr~16.2.0Update only
  • 16.6.x

  • explicitly-set-projects-to-update-buildable-deps

    Explicitly set 'updateBuildableProjectDepsInPackageJson' to 'true' in targets that rely on that value as the default.

    Version: 16.6.0-beta.0
  • 16.4.x

  • update-angular-cli-version-16-1-0

    Update the @angular/cli package version to ~16.1.0.

    Version: 16.4.0-beta.11

    Requires

    NameVersion
    @angular/core>=16.1.0

    16.4.0-package-updates

    Version: 16.4.0-beta.11

    Requires

    NameVersion
    @angular/core>=16.0.0 <16.1.0

    Packages

    NameVersionAlways Add to package.json
    @angular-devkit/architect~0.1601.0Update only
    @angular-devkit/build-angular~16.1.0Update only
    @angular-devkit/build-webpack~0.1601.0Update only
    @angular-devkit/core~16.1.0Update only
    @angular-devkit/schematics~16.1.0Update only
    @angular/pwa~16.1.0Update only
    @angular/core~16.1.0Add if not installed
    @angular/material~16.1.0Update only
    @angular/cdk~16.1.0Update only
    @nguniversal/builders~16.1.0Update only
    @nguniversal/common~16.1.0Update only
    @nguniversal/express-engine~16.1.0Update only
    @schematics/angular~16.1.0Update only
    ng-packagr~16.1.0Update only

    rename-angular-eslint-accesibility-rules

    Remove the 'accessibility-' prefix from '@angular-eslint/eslint-plugin-template' rules.

    Version: 16.4.0-beta.6

    Requires

    NameVersion
    @angular-eslint/eslint-plugin-template>=16.0.0
  • 16.2.x

  • switch-data-persistence-operators-imports-to-ngrx-router-store

    Switch the data persistence operator imports to '@ngrx/router-store/data-persistence'.

    Version: 16.2.0-beta.0

    Requires

    NameVersion
    @ngrx/store>=16.0.0

    16.2.0-ngrx-package-updates

    Version: 16.2.0-beta.0

    Requires

    NameVersion
    @angular/core^16.0.0

    Packages

    NameVersionAlways Add to package.json
    @ngrx/store~16.0.0Update only
  • 16.1.x

  • 16.1.3-jest-package-updates

    Version: 16.1.3-beta.0

    Requires

    NameVersion
    @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

    NameVersionAlways Add to package.json
    jest-preset-angular~13.1.0Update only

    remove-render-module-platform-server-exports

    Remove exported `@angular/platform-server` `renderModule` method. The `renderModule` method is now exported by the Angular CLI.

    Version: 16.1.0-beta.1

    Requires

    NameVersion
    @angular/core>=15.0.0

    remove-ngcc-invocation

    Remove 'ngcc' invocation if exists from the 'postinstall' script in package.json.

    Version: 16.1.0-beta.1

    Requires

    NameVersion
    @angular/core>=16.0.0-rc.4

    extract-app-config-for-standalone

    Extract the app config for standalone apps

    Version: 16.1.0-beta.1

    Requires

    NameVersion
    @angular/core>=16.0.0-rc.4

    update-server-executor-config

    Update server executors' configuration to disable 'buildOptimizer' for non optimized builds.

    Version: 16.1.0-beta.1

    Requires

    NameVersion
    @angular/core>=16.0.0-rc.4

    update-angular-cli-version-16-0-0

    Update the @angular/cli package version to ~16.0.0.

    Version: 16.1.0-beta.1

    Requires

    NameVersion
    @angular/core>=16.0.0

    16.1.0-package-updates

    Version: 16.1.0-beta.1

    Requires

    NameVersion
    @angular/core>=15.2.0 <16.0.0

    Packages

    NameVersionAlways Add to package.json
    @angular/core~16.0.0Add if not installed
    zone.js~0.13.0Update only
    @angular-devkit/architect~0.1600.0Update only
    @angular-devkit/build-angular~16.0.0Update only
    @angular-devkit/build-webpack~0.1600.0Update only
    @angular-devkit/core~16.0.0Update only
    @angular-devkit/schematics~16.0.0Update only
    @angular/pwa~16.0.0Update only
    @schematics/angular~16.0.0Update only
    ng-packagr~16.0.0Update only
    @nguniversal/build-angular~16.0.0Update only
    @nguniversal/builders~16.0.0Update only
    @nguniversal/common~16.0.0Update only
    @nguniversal/express-engine~16.0.0Update only
    @angular/material~16.0.0Update only
    @angular/cdk~16.0.0Update only

    16.1.0-angular-eslint-package-updates

    Version: 16.1.0-beta.1

    Requires

    NameVersion
    eslint^7.20.0 || ^8.0.0
    @angular/core>=16.0.0 <17.0.0

    Packages

    NameVersionAlways Add to package.json
    @angular-eslint/eslint-plugin~16.0.0Update only
    @angular-eslint/eslint-plugin-template~16.0.0Update only
    @angular-eslint/template-parser~16.0.0Update only
  • 16.0.x

  • remove-protractor-defaults-from-generators

    Remove protractor as default e2eTestRunner from nxJson and project configurations

    Version: 16.0.0-beta.6

    remove-karma-defaults-from-generators

    Remove karma as default unitTestRunner from nxJson and project configurations

    Version: 16.0.0-beta.6

    remove-library-generator-simple-module-name-option

    Replace the deprecated library generator 'simpleModuleName' option from generator defaults with 'simpleName'

    Version: 16.0.0-beta.1

    update-16-0-0-add-nx-packages

    Replace @nrwl/angular with @nx/angular

    Version: 16.0.0-beta.1