Delegates the build to a different target while supporting incremental builds.
@nx/angular
Package reference
Here is a list of all the executors, generators and migrations available from this package.
Executors
Builds an Angular library with support for incremental builds.
This executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the
@nx/angular:packageexecutor but it only produces ESM2022 bundles.Builds and packages an Angular library producing an output following the Angular Package Format (APF) to be distributed as an NPM package.
This executor is a drop-in replacement for the
@angular-devkit/build-angular:ng-packagrand@angular/build:ng-packagrbuilders, with additional support for incremental builds.Builds an Angular application using esbuild.
Serves host Module Federation applications (webpack-based) allowing to specify which remote applications should be served with the host.
The module-federation-ssr-dev-server executor is reserved exclusively for use with host SSR Module Federation applications. It allows the user to specify which remote applications should be served with the host.
Builds an Angular application using esbuild with integrated SSR and prerendering capabilities.
Extracts i18n messages from source code.
Builds an Angular application using webpack.
Builds a server Angular application using webpack. This executor is a drop-in replacement for the
@angular-devkit/build-angular:serverbuilder provided by the Angular CLI. It is usually used in tandem with the@nx/angular:webpack-browserexecutor when your Angular application uses a custom webpack configuration.
Generators
add-lintingInternal
Adds linting configuration to an Angular project.
Creates an Angular application.
Generate an Angular Component.
component-storyInternal
Creates a stories.ts file for a component.
Creates a cypress component test file for a component.
convert-to-application-executor
Converts projects to use the
@nx/angular:applicationexecutor or the@angular-devkit/build-angular:applicationbuilder.Converts Angular Webpack projects to use Rspack.
Generate an Angular directive.
Create a federated module, which is exposed by a remote and can be subsequently loaded by a host.
initInternal
Initializes the
@nrwl/angularplugin.Creates an Angular library.
Creates a secondary entry point for an Angular publishable library.
Generate a Remote Angular Module Federation Application.
Moves an Angular application or library to another folder within the workspace and updates the project configuration.
Converts an old micro frontend configuration to use the new withModuleFederation helper. It will run successfully if the following conditions are met:
- Is either a host or remote application
- Shared npm package configurations have not been modified
- Name used to identify the Micro Frontend application matches the project name
OverridesThis generator will overwrite your webpack config. If you have additional custom configuration in your config file, it will be lost!Generate a Host Angular Module Federation Application.
ng-addInternal
Migrates an Angular CLI workspace to Nx or adds the Angular plugin to an Nx workspace.
Adds NgRx support to an application or library.
Adds an NgRx Feature Store to an application or library.
Adds an NgRx Root Store to an application.
Generate an Angular Pipe
Convert an existing Single Component Angular Module (SCAM) to a Standalone Component.
Generate a component with an accompanying Single Component Angular Module (SCAM).
Generate a directive with an accompanying Single Component Angular Module (SCAM).
Generate a pipe with an accompanying Single Component Angular Module (SCAM).
Generate a Module Federation configuration for a given Angular application.
Generate Angular Universal (SSR) setup for an Angular application.
Configures Tailwind CSS for an application or a buildable/publishable library.
Creates stories/specs for all components declared in a project.
Adds Storybook configuration to a project.
cypress-component-configuration
Setup Cypress component testing for a project.
Creates a Web Worker.
Migrations
21.3.x
21.2.x
21.1.x
21.0.x
@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-ssr20.8.x
20.5.x
20.4.x
20.3.x
20.2.x
@angular/build:application@angular-devkit/build-angular:application@nx/angular:application@angular-devkit/build-angular:browser-esbuild@nx/angular:browser-esbuild19.7.x
19.6.x
19.5.x
19.4.x
19.2.x
19.1.x
18.2.x
18.1.x
18.0.x
17.3.x
17.2.x
17.1.x
16.8.x
16.7.x
16.6.x
16.4.x
16.2.x
16.1.x
21.3.5-jest-package-updates
Requires
| Name | Version |
|---|---|
| @angular/compiler-cli | >=18.0.0 <21.0.0 |
| @angular/core | >=18.0.0 <21.0.0 |
| @angular/platform-browser-dynamic | >=18.0.0 <21.0.0 |
| jest | ^30.0.0 |
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| jest-preset-angular | ~15.0.0 | Update only |
update-angular-cli-version-20-1-0
Update the @angular/cli package version to ~20.1.0.
Requires
| Name | Version |
|---|---|
| @angular/core | >=20.1.0 |
Sample Code Changes
Update the @angular/cli package version in the package.json file at the workspace root to ~20.1.0.
1{
2 "devDependencies": {
3 "@angular/cli": "~20.0.0"
4 }
5}
621.3.0-package-updates
Requires
| Name | Version |
|---|---|
| @angular/core | >=20.0.0 <20.1.0 |
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| @angular-devkit/build-angular | ~20.1.0 | Update only |
| @angular-devkit/core | ~20.1.0 | Update only |
| @angular-devkit/schematics | ~20.1.0 | Update only |
| @angular/build | ~20.1.0 | Update only |
| @angular/pwa | ~20.1.0 | Update only |
| @angular/ssr | ~20.1.0 | Update only |
| @schematics/angular | ~20.1.0 | Update only |
| @angular-devkit/architect | ~0.2001.0 | Update only |
| @angular-devkit/build-webpack | ~0.2001.0 | Update only |
| @angular/core | ~20.1.0 | Add if not installed |
| @angular/material | ~20.1.0 | Update only |
| @angular/cdk | ~20.1.0 | Update only |
| @angular/google-maps | ~20.1.0 | Update only |
| ng-packagr | ~20.1.0 | Update only |
update-angular-cli-version-20-0-0
Update the @angular/cli package version to ~20.0.0.
Requires
| Name | Version |
|---|---|
| @angular/core | >=20.0.0 |
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}
6migrate-provide-server-rendering-import
Migrate imports of `provideServerRendering` from `@angular/platform-server` to `@angular/ssr`.
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:
1import { ApplicationConfig } from '@angular/core';
2import { provideServerRendering } from '@angular/platform-server';
3
4const serverConfig: ApplicationConfig = {
5 providers: [provideServerRendering()],
6};
7If you already have imports from @angular/ssr, the migration will add provideServerRendering to the existing import:
1import { ApplicationConfig } from '@angular/core';
2import { provideServerRendering } from '@angular/platform-server';
3import { provideServerRouting } from '@angular/ssr';
4import { serverRoutes } from './app.routes.server';
5
6const serverConfig: ApplicationConfig = {
7 providers: [provideServerRendering(), provideServerRouting(serverRoutes)],
8};
9replace-provide-server-routing
Replace `provideServerRouting` and `provideServerRoutesConfig` with `provideServerRendering` using `withRoutes`.
Requires
| Name | Version |
|---|---|
| @angular/core | >=20.0.0 |
Replace provideServerRouting and provideServerRoutesConfig with provideServerRendering
Replace provideServerRouting and provideServerRoutesConfig calls with provideServerRendering using withRoutes.
Examples
Remove provideServerRouting from your providers array and update the provideServerRendering call to use withRoutes:
1import { ApplicationConfig } from '@angular/core';
2import { provideServerRendering, provideServerRouting } from '@angular/ssr';
3import { serverRoutes } from './app.routes.server';
4
5const serverConfig: ApplicationConfig = {
6 providers: [provideServerRendering(), provideServerRouting(serverRoutes)],
7};
8If you have provideServerRouting with additional arguments, the migration will preserve them:
1import { ApplicationConfig } from '@angular/core';
2import {
3 provideServerRendering,
4 provideServerRouting,
5 withAppShell,
6} from '@angular/ssr';
7import { serverRoutes } from './app.routes.server';
8
9const serverConfig: ApplicationConfig = {
10 providers: [
11 provideServerRendering(),
12 provideServerRouting(serverRoutes, withAppShell(AppShellComponent)),
13 ],
14};
15Remove provideServerRoutesConfig from your providers array and update the provideServerRendering call to use withRoutes:
1import { ApplicationConfig } from '@angular/core';
2import {
3 provideServerRendering,
4 provideServerRoutesConfig,
5 withAppShell,
6} from '@angular/ssr';
7import { serverRoutes } from './app.routes.server';
8
9const serverConfig: ApplicationConfig = {
10 providers: [
11 provideServerRendering(),
12 provideServerRoutesConfig(serverRoutes, withAppShell(AppShellComponent)),
13 ],
14};
15set-generator-defaults-for-previous-style-guide
Update the generator defaults to maintain the previous style guide behavior.
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:
1{
2 "generators": {}
3}
4If some of the generator defaults are already set, the migration will not override them:
1{
2 "generators": {
3 "@nx/angular:component": {
4 "type": "cmp"
5 },
6 "@schematics/angular:component": {
7 "type": "cmp"
8 },
9 "@nx/angular:interceptor": {
10 "typeSeparator": "-"
11 },
12 "@schematics/angular:interceptor": {
13 "typeSeparator": "-"
14 }
15 }
16}
17update-module-resolution
Update 'moduleResolution' to 'bundler' in TypeScript configurations. You can read more about this here: https://www.typescriptlang.org/tsconfig/#moduleResolution.
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:
1{
2 "compilerOptions": {
3 "module": "es2020",
4 "moduleResolution": "node"
5 }
6}
7If the moduleResolution is already set to 'bundler' or the module is set to 'preserve', the migration will not modify the configuration:
1{
2 "compilerOptions": {
3 "module": "preserve",
4 "moduleResolution": "node"
5 }
6}
721.2.0-package-updates
Requires
| Name | Version |
|---|---|
| @angular/core | >=19.2.0 <20.0.0 |
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| @angular-devkit/build-angular | ~20.0.0 | Update only |
| @angular-devkit/core | ~20.0.0 | Update only |
| @angular-devkit/schematics | ~20.0.0 | Update only |
| @angular/build | ~20.0.0 | Update only |
| @angular/pwa | ~20.0.0 | Update only |
| @angular/ssr | ~20.0.0 | Update only |
| @schematics/angular | ~20.0.0 | Update only |
| @angular-devkit/architect | ~0.2000.0 | Update only |
| @angular-devkit/build-webpack | ~0.2000.0 | Update only |
| @angular/core | ~20.0.0 | Add if not installed |
| @angular/material | ~20.0.0 | Update only |
| @angular/cdk | ~20.0.0 | Update only |
| @angular/google-maps | ~20.0.0 | Update only |
| ng-packagr | ~20.0.0 | Update only |
21.2.0-angular-eslint-package-updates
Requires
| Name | Version |
|---|---|
| @angular/core | >= 20.0.0 < 21.0.0 |
| typescript-eslint | ^8.0.0 |
| eslint | ^8.57.0 || ^9.0.0 |
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| angular-eslint | ^20.0.0 | Update only |
21.2.0-@angular-eslint-package-updates
Requires
| Name | Version |
|---|---|
| @angular/core | >= 20.0.0 < 21.0.0 |
| eslint | ^8.57.0 || ^9.0.0 |
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| @angular-eslint/eslint-plugin | ^20.0.0 | Update only |
| @angular-eslint/eslint-plugin-template | ^20.0.0 | Update only |
| @angular-eslint/template-parser | ^20.0.0 | Update only |
| @angular-eslint/utils | ^20.0.0 | Update only |
| @angular-eslint/schematics | ^20.0.0 | Update only |
| @angular-eslint/test-utils | ^20.0.0 | Update only |
| @angular-eslint/builder | ^20.0.0 | Update only |
| @angular-eslint/bundled-angular-compiler | ^20.0.0 | Update only |
21.2.0-angular-rspack-package-updates
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| @nx/angular-rspack | ^21.1.0 | Update only |
21.2.0-jest-package-updates
Requires
| Name | Version |
|---|---|
| @angular/compiler-cli | >=15.0.0 <21.0.0 |
| @angular/core | >=15.0.0 <21.0.0 |
| @angular/platform-browser-dynamic | >=15.0.0 <21.0.0 |
| jest | ^29.0.0 |
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| jest-preset-angular | ~14.6.0 | Update only |
21.1.0-package-updates
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| @nx/angular-rspack | ^21.0.1 | Update only |
change-data-persistence-operators-imports-to-ngrx-router-store-data-persistence
Change the data persistence operator imports to '@ngrx/router-store/data-persistence'.
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.
1import { Actions, createEffect, ofType } from '@ngrx/effects';
2import { fetch } from '@nx/angular';
3
4()
5export class UsersEffects {
6 // ...
7}
8If 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}
8If 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}
8If 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}
9set-continuous-option
Set the `continuous` option to `true` for continuous tasks.
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:
Examples
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}
14When 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}
1520.8.1-package-updates
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| @nx/angular-rspack | ^20.7.0 | Update only |
20.5.0-angular-eslint-package-updates
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-angular-cli-version-19-2-0
Update the @angular/cli package version to ~19.2.0.
Requires
| Name | Version |
|---|---|
| @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.
1{
2 "devDependencies": {
3 "@angular/cli": "~19.1.0"
4 }
5}
620.5.0-package-updates
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-angular-cli-version-19-1-0
Update the @angular/cli package version to ~19.1.0.
Requires
| Name | Version |
|---|---|
| @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:
1{
2 "devDependencies": {
3 "@angular/cli": "~13.3.0"
4 }
5}
6Update in dependencies:
1{
2 "dependencies": {
3 "@angular/cli": "~13.3.0"
4 }
5}
620.4.0-package-updates
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 |
ensure-nx-module-federation-package
If workspace includes Module Federation projects, ensure the new @nx/module-federation package is installed.
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
1{
2 "dependencies": {}
3}
420.2.3-ngrx-package-updates
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.2-angular-eslint-package-updates
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.
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.
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}
13remove-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.
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.
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}
12Remove 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}
1120.2.0-analog-package-updates
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-angular-eslint-prefer-standalone
Disable the Angular ESLint prefer-standalone rule if not set.
Requires
| Name | Version |
|---|---|
| @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.
1{
2 "overrides": [
3 {
4 "files": ["*.html"],
5 "rules": {
6 "some-rule-for-html": "error"
7 }
8 }
9 ]
10}
11import { 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.
Requires
| Name | Version |
|---|---|
| @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:
1{
2 "devDependencies": {
3 "@angular/cli": "~13.3.0"
4 }
5}
6Update in dependencies:
1{
2 "dependencies": {
3 "@angular/cli": "~13.3.0"
4 }
5}
6add-localize-polyfill-to-targets
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 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:
1{
2 "targets": {
3 "build": {
4 "executor": "@angular/build:application",
5 "options": {
6 "localize": true
7 }
8 }
9 }
10}
11update-angular-ssr-imports-to-use-node-entry-point
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 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.
1import { CommonEngine } from '@angular/ssr';
2import type {
3 CommonEngineOptions,
4 CommonEngineRenderOptions,
5} from '@angular/ssr';
620.2.0-package-updates
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 |
20.2.0-jest-package-updates
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 |
20.2.0-angular-eslint-package-updates
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 |
20.2.0-module-federation-package-updates
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-20-2-0-update-module-federation-config-import
Update the ModuleFederationConfig import use @nx/module-federation.
Migrate Module Federation Imports to New Package
Update the ModuleFederationConfig imports to use @nx/module-federation.
Sample Code Changes
Update import paths for ModuleFederationConfig.
1import { ModuleFederationConfig } from '@nx/webpack';
2update-20-2-0-update-with-module-federation-import
Update the withModuleFederation import use @nx/module-federation/angular.
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.
1import {
2 withModuleFederation,
3 withModuleFederationForSSR,
4} from '@nx/angular/module-federation';
519.7.0-package-updates
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| @module-federation/enhanced | ~0.6.0 | Update only |
| @module-federation/node | ~2.5.0 | Update only |
update-19-6-1-ensure-module-federation-target-defaults
Ensure Target Defaults are set correctly for Module Federation.
19.6.1-ngrx-package-updates
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.
Requires
| Name | Version |
|---|---|
| @angular/core | >=18.2.0 |
19.6.0-package-updates
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.
19.5.4-ngrx-package-updates
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.
Requires
| Name | Version |
|---|---|
| @angular/core | >=18.1.0 |
19.5.0-package-updates
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
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| @module-federation/node | ^2.3.0 | Update only |
19.4.0-ngrx-package-updates
Requires
| Name | Version |
|---|---|
| @angular/core | ^18.0.0 |
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| @ngrx/store | ^18.0.0 | Update only |
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.
Requires
| Name | Version |
|---|---|
| @angular-eslint/eslint-plugin | >=18.0.0 |
19.1.2-package-updates
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.
Requires
| Name | Version |
|---|---|
| @angular/core | >=18.0.0 |
19.1.0-package-updates
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
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-angular-cli-version-17-3-0
Update the @angular/cli package version to ~17.3.0.
Requires
| Name | Version |
|---|---|
| @angular/core | >=17.3.0 |
18.2.0-package-updates
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
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 |
fix-target-defaults-for-webpack-browser
Ensure targetDefaults inputs for task hashing when '@nx/angular:webpack-browser' is used are correct for Module Federation.
18.1.0-jest-package-updates
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.
Requires
| Name | Version |
|---|---|
| @angular/core | >=17.2.0 |
18.1.0-package-updates
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-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.
update-angular-cli-version-17-1-0
Update the @angular/cli package version to ~17.1.0.
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.
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.
Requires
| Name | Version |
|---|---|
| @angular/core | >=17.1.0 |
17.3.0-package-updates
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
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| @types/node | ^18.16.9 | Update only |
17.2.0-ngrx-package-updates
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'
17.1.3-jest-package-updates
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.
Requires
| Name | Version |
|---|---|
| @angular/core | >=17.0.0 |
rename-browser-target-to-build-target
Rename 'browserTarget' to 'buildTarget'.
Requires
| Name | Version |
|---|---|
| @angular/core | >=17.0.0 |
replace-nguniversal-builders
Replace usages of '@nguniversal/builders' with '@angular-devkit/build-angular'.
Requires
| Name | Version |
|---|---|
| @angular/core | >=17.0.0 |
replace-nguniversal-engines
Replace usages of '@nguniversal/' packages with '@angular/ssr'.
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'.
Requires
| Name | Version |
|---|---|
| @angular/core | >=17.0.0 |
17.1.0-package-updates
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
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
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.0-package-updates
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| esbuild | ^0.19.2 | Update only |
update-angular-cli-version-16-2-0
Update the @angular/cli package version to ~16.2.0.
Requires
| Name | Version |
|---|---|
| @angular/core | >=16.2.0 |
16.7.0-package-updates
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-projects-to-update-buildable-deps
Explicitly set 'updateBuildableProjectDepsInPackageJson' to 'true' in targets that rely on that value as the default.
update-angular-cli-version-16-1-0
Update the @angular/cli package version to ~16.1.0.
Requires
| Name | Version |
|---|---|
| @angular/core | >=16.1.0 |
16.4.0-package-updates
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.
Requires
| Name | Version |
|---|---|
| @angular-eslint/eslint-plugin-template | >=16.0.0 |
switch-data-persistence-operators-imports-to-ngrx-router-store
Switch the data persistence operator imports to '@ngrx/router-store/data-persistence'.
Requires
| Name | Version |
|---|---|
| @ngrx/store | >=16.0.0 |
16.2.0-ngrx-package-updates
Requires
| Name | Version |
|---|---|
| @angular/core | ^16.0.0 |
Packages
| Name | Version | Always Add to package.json |
|---|---|---|
| @ngrx/store | ~16.0.0 | Update only |
16.1.3-jest-package-updates
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 |
16.1.0-package-updates
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 |
16.1.0-angular-eslint-package-updates
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 |