14.0.0 (2022-06-02)
Breaking Changes
@angular-devkit/schematics-cli
- camel case arguments are no longer allowed.
@angular-devkit/architect-cli
- camel case arguments are no longer allowed.
@angular/cli
-
Several changes to the
ng analytics
command syntax.ng analytics project <setting>
has been replaced withng analytics <setting>
ng analytics <setting>
has been replaced withng analytics <setting> --global
-
Support for Node.js v12 has been removed as it will become EOL on 2022-04-30. Please use Node.js v14.15 or later.
-
Support for TypeScript 4.4 and 4.5 has been removed. Please update to TypeScript 4.6.
-
--all
option fromng update
has been removed without replacement. To update packages which don’t provideng update
capabilities in your workspacepackage.json
usenpm update
,yarn upgrade-interactive
oryarn upgrade
instead. -
Deprecated option
--prod
has been removed from all builders.--configuration production
/-c production
should be used instead if the default configuration of the builder is not configured toproduction
. -
Deprecated
ng x18n
andng i18n-extract
commands have been removed in favor ofng extract-i18n
. -
Several changes in the Angular CLI commands and arguments handling.
ng help
has been removed in favour of the—-help
option.ng —-version
has been removed in favour ofng version
andng v
.- Deprecated camel cased arguments are no longer supported. Ex. using
—-sourceMap
instead of—-source-map
will result in an error. ng update
,—-migrate-only
option no longer accepts a string of migration name, instead use—-migrate-only -—name <migration-name>
.—-help json
help has been removed.
@angular-devkit/build-angular
-
browser
andkarma
buildersscript
andstyles
options input files extensions are now validated.Valid extensions for
scripts
are:.js
.cjs
.mjs
.jsx
.cjsx
.mjsx
Valid extensions for
styles
are:.css
.less
.sass
.scss
.styl
-
We now issue a build time error since importing a CSS file as an ECMA module is non standard Webpack specific feature, which is not supported by the Angular CLI.
This feature was never truly supported by the Angular CLI, but has as such for visibility.
-
Reflect metadata polyfill is no longer automatically provided in JIT mode
Reflect metadata support is not required by Angular in JIT applications compiled by the CLI.
Applications built in AOT mode did not and will continue to not provide the polyfill.
For the majority of applications, the reflect metadata polyfill removal should have no effect.
However, if an application uses JIT mode and also uses the previously polyfilled reflect metadata JavaScript APIs, the polyfill will need to be manually added to the application after updating.
To replicate the previous behavior, thecore-js
package should be manually installed and theimport 'core-js/proposals/reflect-metadata';
statement should be added to the application'spolyfills.ts
file. -
NG_BUILD_CACHE
environment variable has been removed.cli.cache
in the workspace configuration should be used instead. -
The deprecated
showCircularDependencies
browser and server builder option has been removed. The recommended method to detect circular dependencies in project code is to use either a lint rule or other external tools.
@angular-devkit/core
parseJson
andParseJsonOptions
APIs have been removed in favor of 3rd party JSON parsers such asjsonc-parser
.- The below APIs have been removed without replacement. Users should leverage other Node.js or other APIs.
fs
namespaceclean
mapObject
@angular-devkit/schematics
- Schematics
NodePackageInstallTask
will not execute package scripts by default
TheNodePackageInstallTask
will now use the package manager's--ignore-scripts
option by default.
The--ignore-scripts
option will prevent package scripts from executing automatically during an install.
If a schematic installs packages that need theirinstall
/postinstall
scripts to be executed, the
NodePackageInstallTask
now contains anallowScripts
boolean option which can be enabled to provide the
previous behavior for that individual task. As with previous behavior, theallowScripts
option will
prevent the individual task's usage of the--ignore-scripts
option but will not override the package
manager's existing configuration. - Deprecated
analytics
property has been removed fromTypedSchematicContext
interface
@ngtools/webpack
-
ivy
namespace has been removed from the public API.ivy.AngularWebpackPlugin
->AngularWebpackPlugin
ivy.AngularPluginOptions
->AngularPluginOptions
Deprecations
@angular/cli
-
The
defaultCollection
workspace option has been deprecated in favor ofschematicCollections
.Before
"defaultCollection": "@angular/material"
After
"schematicCollections": ["@angular/material"]
-
The
defaultProject
workspace option has been deprecated. The project to use will be determined from the current working directory.
@angular-devkit/core
-
ContentHasMutatedException
,InvalidUpdateRecordException
,UnimplementedException
andMergeConflictException
symbol from@angular-devkit/core
have been deprecated in favor of the symbol from@angular-devkit/schematics
.UnsupportedPlatformException
- A custom error exception should be created instead.
@angular-devkit/schematics-cli
Commit | Description |
---|---|
replace parser with yargs-parser |
@angular-devkit/architect-cli
Commit | Description |
---|---|
replace parser with yargs-parser |
@schematics/angular
@angular/cli
@angular-devkit/build-angular
@angular-devkit/core
Commit | Description |
---|---|
deprecate unused exception classes | |
remove deprecated parseJson and ParseJsonOptions APIs
| |
remove deprecated fs, object and array APIs |
@angular-devkit/schematics
@angular/pwa
Commit | Description |
---|---|
remove @schematics/angular utility deep import usage
|
@ngtools/webpack
Commit | Description |
---|---|
update peer dependency to reflect TS 4.6 support | |
use Webpack's built-in xxhash64 support | |
remove deprecated ivy namespace |
Special Thanks
Adrien Crivelli, Alan Agius, Charles Lyding, Cédric Exbrayat, Daniil Dubrava, Doug Parker, Elton Coelho, George Kalpakas, Jason Bedard, Joey Perrott, Kristiyan Kostadinov, Paul Gschwendtner, Pawel Kozlowski, Tobias Speicher and alkavats1