Here is a list of all migrations available for this package.
21.5.x
set-tsconfig-option
Set the 'tsConfig' option to build and test targets to help with Angular migration issues.
Version: 21.5.0-beta.0
Set tsConfig option for build and test targets
Set the tsConfig option in the target options for library build executors. It moves the value from the target development configuration and it doesn't set it if the option is already set.
Set tsconfig.spec.json as the tsConfig option in the target options for the @nx/jest:jest executor. It only does it if the file exists and the options is not already set.
Examples
The migration will move the tsConfig option for library build executors (@nx/angular:ng-packagr-lite and @nx/angular:package) from the development configuration to the target options if it's not already set:
Migrate imports of `provideServerRendering` from `@angular/platform-server` to `@angular/ssr`.
Version: 21.2.0-beta.3
Requires
Name
Version
@angular/core
>=20.0.0
Migrate Imports of provideServerRendering from @angular/platform-server to @angular/ssr
Migrate the imports of provideServerRendering from @angular/platform-server to @angular/ssr. This migration will also add the @angular/ssr package to your dependencies if needed.
Examples
Change the import of provideServerRendering from @angular/platform-server to @angular/ssr:
Update the generator defaults to maintain the previous style guide behavior.
Version: 21.2.0-beta.3
Requires
Name
Version
@angular/core
>=20.0.0
Set Generator Defaults for Previous Style Guide
Updates the generator defaults in the nx.json file to maintain the previous Angular Style Guide behavior. This ensures that newly generated code in existing workspaces follows the same conventions as the existing codebase.
Examples
The migration will add default configurations for the relevant Angular generators in the workspace's nx.json file:
nx.json
1{
2"generators": {}
3}
4
If some of the generator defaults are already set, the migration will not override them:
Update 'moduleResolution' to 'bundler' in TypeScript configurations. You can read more about this here: https://www.typescriptlang.org/tsconfig/#moduleResolution.
Version: 21.2.0-beta.3
Requires
Name
Version
@angular/core
>=20.0.0
Update moduleResolution to bundler in TypeScript configurations
Updates the TypeScript moduleResolution option to 'bundler' for improved compatibility with modern package resolution algorithms used by bundlers like Webpack, Vite, and esbuild.
Examples
The migration will update TypeScript configuration files in your workspace to use the 'bundler' module resolution strategy:
Change the data persistence operator imports to '@ngrx/router-store/data-persistence'.
Version: 21.0.0-beta.5
Requires
Name
Version
@ngrx/store
>=16.0.0
Change the Data Persistence Operator Imports from @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.
Examples
If you import only data persistence operators from @nx/angular, the migration will update the import path to @ngrx/router-store/data-persistence.
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
Name
Version
@angular/core
^19.0.0
Packages
Name
Version
Always Add to package.json
@ngrx/store
^19.0.0
Update only
20.2.x
20.2.2-angular-eslint-package-updates
Version: 20.2.2-beta.0
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
Remove Angular ESLint rules that were removed in v19.0.0.
Version: 20.2.0-beta.8
Requires
Name
Version
@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.
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
Name
Version
@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.
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';
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'] }, }, ], });
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
Name
Version
@angular/core
^18.0.0
Packages
Name
Version
Always Add to package.json
@ngrx/store
^18.0.2
Update 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
Name
Version
@angular/core
>=18.2.0
19.6.0-package-updates
Version: 19.6.0-beta.7
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
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
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-angular-cli-version-18-1-0
Update the @angular/cli package version to ~18.1.0.
Version: 19.5.0-beta.1
Requires
Name
Version
@angular/core
>=18.1.0
19.5.0-package-updates
Version: 19.5.0-beta.1
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
19.5.0-module-federation-package-updates
Version: 19.5.0-beta.0
Packages
Name
Version
Always Add to package.json
@module-federation/node
^2.3.0
Update only
19.4.x
19.4.0-ngrx-package-updates
Version: 19.4.0-beta.1
Requires
Name
Version
@angular/core
^18.0.0
Packages
Name
Version
Always Add to package.json
@ngrx/store
^18.0.0
Update 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
Name
Version
@angular-eslint/eslint-plugin
>=18.0.0
19.1.x
19.1.2-package-updates
Version: 19.1.2-beta.1
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-angular-cli-version-18-0-0
Update the @angular/cli package version to ~18.0.0.
Version: 19.1.0-beta.2
Requires
Name
Version
@angular/core
>=18.0.0
19.1.0-package-updates
Version: 19.1.0-beta.2
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
19.1.0-jest-package-updates
Version: 19.1.0-beta.2
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
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
Name
Version
@angular/core
>=17.3.0
18.2.0-package-updates
Version: 18.2.0-beta.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
18.2.0-angular-eslint-package-updates
Version: 18.2.0-beta.0
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
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
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-angular-cli-version-17-2-0
Update the @angular/cli package version to ~17.2.0.
Version: 18.1.0-beta.1
Requires
Name
Version
@angular/core
>=17.2.0
18.1.0-package-updates
Version: 18.1.0-beta.1
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
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
Name
Version
@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
Name
Version
@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
Name
Version
@angular/core
>=17.1.0
17.3.0-package-updates
Version: 17.3.0-beta.10
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
17.3.0-types-node-package-updates
Version: 17.3.0-beta.3
Packages
Name
Version
Always Add to package.json
@types/node
^18.16.9
Update only
17.2.x
17.2.0-ngrx-package-updates
Version: 17.2.0-beta.3
Requires
Name
Version
@angular/core
^17.0.0
Packages
Name
Version
Always Add to package.json
@ngrx/store
~17.0.0
Update 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
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-angular-cli-version-17-0-0
Update the @angular/cli package version to ~17.0.0.
Version: 17.1.0-beta.5
Requires
Name
Version
@angular/core
>=17.0.0
rename-browser-target-to-build-target
Rename 'browserTarget' to 'buildTarget'.
Version: 17.1.0-beta.5
Requires
Name
Version
@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
Name
Version
@angular/core
>=17.0.0
replace-nguniversal-engines
Replace usages of '@nguniversal/' packages with '@angular/ssr'.
Version: 17.1.0-beta.5
Requires
Name
Version
@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
Name
Version
@angular/core
>=17.0.0
17.1.0-package-updates
Version: 17.1.0-beta.5
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
17.1.0-jest-package-updates
Version: 17.1.0-beta.5
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
17.1.0-angular-eslint-package-updates
Version: 17.1.0-beta.5
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
16.8.x
16.8.0-package-updates
Version: 16.8.0-beta.2
Packages
Name
Version
Always Add to package.json
esbuild
^0.19.2
Update 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
Name
Version
@angular/core
>=16.2.0
16.7.0-package-updates
Version: 16.7.0-beta.6
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
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
Name
Version
@angular/core
>=16.1.0
16.4.0-package-updates
Version: 16.4.0-beta.11
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
rename-angular-eslint-accesibility-rules
Remove the 'accessibility-' prefix from '@angular-eslint/eslint-plugin-template' rules.