Angular CLI: 13.0.0 Release

Release date:
November 3, 2021
Previous version:
13.0.0-rc.3 (released November 2, 2021)
Magnitude:
949 Diff Delta
Contributors:
2 total committers
Data confidence:
Commits:

Top Contributors in 13.0.0

dgp1130
alan-agius4

Directory Browser for 13.0.0

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

<a name="13.0.0"></a>

13.0.0 (2021-11-03)

Breaking Changes

@schematics/angular

  • classlist.js and web-animations-js are removed from application polyfills and uninstalled from the package. These were only needed for compatibility with Internet Explorer, which is no longer needed now that Angular only supports evergreen browsers. See: https://angular.io/guide/browser-support.

Add the following to the polyfills file for an app to re-add these packages:

import 'classlist.js';
import 'web-animations-js';

And then run:

npm install classlist.js web-animations-js --save
  • We removed several deprecated @schematics/angular deprecated options.
  • lintFix have been removed from all schematics. ng lint --fix should be used instead.
  • legacyBrowsers have been removed from the application schematics since IE 11 is no longer supported.
  • configuration has been removed from the web-worker as it was unused.
  • target has been removed from the service-worker as it was unused. ### @angular/cli
  • We drop support for Node.js versions prior to 12.20. ### @angular-devkit/build-angular
  • Support for karma-coverage-instanbul-reporter has been dropped in favor of the official karma coverage plugin karma-coverage.

  • Support for node-sass has been removed. sass will be used by default to compile SASS and SCSS files.

  • NG_PERSISTENT_BUILD_CACHE environment variable option no longer have effect. Configure cli.cache in the workspace configuration instead.

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "cli": {
    "cache": {
      "enabled": true,
      "path": ".custom-cache-path",
      "environment": "all"
    }
  }
  ...
}
  • The automatic inclusion of Angular-required ES2015 polyfills to support ES5 browsers has been removed. Previously when targetting ES5 within the application's TypeScript configuration or listing an ES5 requiring browser in the browserslist file, Angular-required polyfills were included in the built application. However, with Angular no longer supporting IE11, there are now no browsers officially supported by Angular that would require these polyfills. As a result, the automatic inclusion of these ES2015 polyfills has been removed. Any polyfills manually added to an application's code are not affected by this change.

  • With this change a number of deprecated dev-server builder options which proxied to the browser builder have been removed. These options should be configured in the browser builder instead.

The removed options are: - aot - sourceMap - deployUrl - baseHref - vendorChunk - commonChunk - optimization - progress

  • With this change we removed several deprecated builder options
  • extractCss has been removed from the browser builder. CSS is now always extracted.
  • servePathDefaultWarning and hmrWarning have been removed from the dev-server builder. These options had no effect.

  • Deprecated @angular-devkit/build-angular:tslint builder has been removed. Use https://github.com/angular-eslint/angular-eslint instead.

  • Differential loading support has been removed. With Angular no longer supporting IE11, there are now no browsers officially supported by Angular that require ES5 code. As a result, differential loading's functionality for creating and conditionally loading ES5 and ES2015+ variants of an application is no longer required.

  • TypeScript versions prior to 4.4 are no longer supported.

  • The dev-server now uses WebSockets to communicate changes to the browser during HMR and live-reloaded. If during your development you are using a proxy you will need to enable proxying of WebSockets.

  • We remove inlining of Google fonts in WOFF format since IE 11 is no longer supported. Other supported browsers use WOFF2.

    @angular-devkit/build-webpack

  • Support for webpack-dev-server version 3 has been removed. For more information about the migration please see: https://github.com/webpack/webpack-dev-server/blob/master/migration-v4.md

Note: this change only affects users depending on @angular-devkit/build-webpack directly.

@angular-devkit/core

  • With this change we drop support for the deprecated behaviour to transform id in schemas. Use $id instead.

Note: this only effects schematics and builders authors.

  • The deprecated JSON parser has been removed from public API. jsonc-parser should be used instead. ### @angular-devkit/schematics
  • isAction has been removed without replacement as it was unused.

  • With this change we remove the following deprecated APIs

  • TslintFixTask

  • TslintFixTaskOptions

Note: this only effects schematics developers.

@ngtools/webpack

  • Deprecated inlineStyleMimeType option has been removed from AngularWebpackPluginOptions. Use inlineStyleFileExtension instead.

  • Applications directly using the webpack-cli and not the Angular CLI to build must set the environment variable DISABLE_V8_COMPILE_CACHE=1. The @ngtools/webpack package now uses dynamic imports to provide support for the ESM @angular/compiler-cli package. The v8-compile-cache package used by the webpack-cli does not currently support dynamic import expressions and will cause builds to fail if the environment variable is not specified. Applications using the Angular CLI are not affected by this limitation.

    Deprecations

  • @angular-devkit/build-optimizer

It's functionality has been included in @angular-devkit/build-angular so this package is no longer needed by the CLI and we will stop publishing the package soon. It has been an experimental (never hit 1.0.0) and internal (only used by Angular itself) package and should be not be used directly by others.

@angular-devkit/build-angular

  • NG_BUILD_CACHE environment variable option will be removed in the next major version. Configure cli.cache in the workspace configuration instead. ### @schematics/angular | Commit | Description | | -- | -- | | feat - 7ff8c5350 | add /.angular/cache to .gitignore | | feat - 3ba13f467 | add noImplicitOverride and noPropertyAccessFromIndexSignature to workspace tsconfig | | feat - 268a03b63 | add migration to update the workspace config | | feat - 7bdcd7da1 | create new projects with rxjs 7 | | feat - eac18aed7 | drop polyfills required only for Internet Explorer now that support has been dropped for it | | feat - 4f91816b2 | migrate libraries to be published from ViewEngine to Ivy Partial compilation | | feat - 5986befcd | remove deprecated options | | feat - 9fbd16655 | remove IE 11 specific polyfills | | feat - a7b2e6f51 | update ngsw-config resources extensions | | fix - 732ef7985 | add browserslist configuration in library projects | | fix - 585adacd0 | don't add destroyAfterEach in newly generated spec files | | fix - e58226ee9 | don't export renderModuleFactory from server file | | fix - 0ec0ad8a4 | remove target and lib options for library tsconfig | | fix - f227e145d | updated Angular new project version to v13.0 prerelease | ### @angular/cli | Commit | Description | | -- | -- | | feat - 9fe55752d | officially support Node.js v16 | | fix - 5ad145722 | error when updating Angular packages across multi-major migrations | | fix - e4bc35e33 | exclude packages from ng add that contain invalid peer dependencies | | fix - e1b954d70 | keep relative migration paths during update analysis | | fix - c3acf3cc2 | remove unused cli project options. | | fix - 77fe6c4e6 | update engines to require node 12.20.0 | | fix - 8795536a3 | update ng update output for Angular packages | | fix - d8c9f6eaf | update the update command to fully support Node.js v16 | ### | Commit | Description | | -- | -- | | docs - 5e435ff37 | mark @angular-devkit/build-optimizer as deprecated. | ### @angular-devkit/architect | Commit | Description | | -- | -- | | feat - 09e039500 | include workspace extensions in project metadata | ### @angular-devkit/build-angular | Commit | Description | | -- | -- | | feat - f53bf9dc2 | add type=module to all scripts tags | | feat - e95ecb8ab | deprecate deployUrl | | feat - 7dcfffaff | drop support for karma-coverage-instanbul-reporter | | feat - ac3fc2752 | drop support for node-sass | | feat - 5904afd1d | enable disk cache by default and provide configurable options | | feat - 22cd9edfa | favor es2020 main fields | | feat - 7576136b2 | remove automatic inclusion of ES5 browser polyfills | | feat - 000b0e51c | remove deprecated dev-server options | | feat - 20e48a33c | remove deprecated options | | feat - e78f6ab5d | remove deprecated tslint builder | | feat - 701214d17 | remove differential loading support | | feat - fb1ad7c5b | support ESM proxy configuration files for the dev server | | feat - 505438cc4 | support TypeScript 4.4 | | feat - 32dbf659a | update webpack-dev-server to version 4 | | fix - c1efaa17f | calculate valid Angular versions from peerDependencies | | fix - d7af4a7b5 | enable custom es2020 and es2015 conditional exports | | fix - f383f3201 | ESM-interop loaded plugin creators of @angular/localize/tools not respected | | fix - 7934becb5 | generate unique webpack runtimes | | fix - b14e0a547 | improve sourcemaps fidelity when code coverage is enabled | | fix - e19287453 | move @angular/localize detection prior to webpack initialization | | fix - 76d6d8826 | set browserslist defaults | | fix - 167eed465 | update Angular peer dependencies to v13.0 prerelease | | fix - 1d8cdf853 | update esbuild to 0.13.12 | | fix - 884111ac0 | update IE unsupported and deprecation messages | | fix - 4be6537dd | update TS/JS regexp checks to latest extensions | | fix - 427a9ee97 | update workspace tsconfig lib es2020 | | fix - ea926db25 | use es2015 when generating server bundles | | fix - 13cceab8e | use URLs for absolute import paths with ESM | | perf - 4e0743c8a | change webpack hashing function to xxhash64 | | perf - cb7d156c2 | use esbuild as a CSS optimizer for global styles | | perf - 8e82263c5 | use esbuild/terser combination to optimize global scripts | | refactor - e82eef924 | remove WOFF handling from inline-fonts processor | ### @angular-devkit/build-webpack | Commit | Description | | -- | -- | | feat - a0b5897d5 | update webpack-dev-server to version 4 | | fix - 9efcb32e3 | better handle concurrent dev-servers | ### @angular-devkit/core | Commit | Description | | -- | -- | | feat - 0c92ea5ca | remove deprecated schema id handling | | fix - 9874aff71 | add missing option peer dependency on chokidar | | fix - a54e5e065 | support Node.js v16 with NodeJsSyncHost/NodeJsAsyncHost delete operation | | refactor - d722fdf1f | remove deprecated JSON parser | ### @angular-devkit/schematics | Commit | Description | | -- | -- | | feat - 0565ed62e | add UpdateBuffer2 based on magic-string | | feat - 8954d1152 | remove deprecated isAction | | feat - 053b7d66c | remove deprecated tslint APIs | | fix - bdd89ae84 | handle zero or negative length removals in update buffer | ### @ngtools/webpack | Commit | Description | | -- | -- | | fix - d2a97f919 | update Angular peer dependencies to v13.0 prerelease | | perf - 7928b18ed | reduce repeat path mapping analysis during resolution | | refactor - 8ce8e4edc | remove deprecated inlineStyleMimeType option | | refactor - 7d98ab3df | support an ESM-only @angular/compiler-cli package | ## Special Thanks Alan Agius, Charles Lyding, Doug Parker, Douglas Parker, Joey Perrott, Kristiyan Kostadinov, Lukas Spirig and Paul Gschwendtner