npm @angular-devkit/build-angular 14.0.0
v14.0.0

latest releases: 19.0.0-next.7, 18.2.5, 16.2.16...
2 years ago

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 with ng analytics <setting>
    • ng analytics <setting> has been replaced with ng 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 from ng update has been removed without replacement. To update packages which don’t provide ng update capabilities in your workspace package.json use npm update, yarn upgrade-interactive or yarn 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 to production.

  • --configuration cannot be used with ng run. Provide the configuration as part of the target. Ex: ng run project:builder:configuration.

  • Deprecated ng x18n and ng i18n-extract commands have been removed in favor of ng 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 of ng version and ng 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 and karma builders script and styles 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, the core-js package should be manually installed and the import 'core-js/proposals/reflect-metadata'; statement should be added to the application's polyfills.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 and ParseJsonOptions APIs have been removed in favor of 3rd party JSON parsers such as jsonc-parser.
  • The below APIs have been removed without replacement. Users should leverage other Node.js or other APIs.
    • fs namespace
    • clean
    • mapObject

@angular-devkit/schematics

  • Schematics NodePackageInstallTask will not execute package scripts by default
    The NodePackageInstallTask 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 their install/postinstall scripts to be executed, the
    NodePackageInstallTask now contains an allowScripts boolean option which can be enabled to provide the
    previous behavior for that individual task. As with previous behavior, the allowScripts 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 from TypedSchematicContext 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 of schematicCollections.

    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 and MergeConflictException 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
refactor - 5330d52ae replace parser with yargs-parser

@angular-devkit/architect-cli

Commit Description
refactor - c7556b62b replace parser with yargs-parser

@schematics/angular

Commit Description
feat - 7b78b7840 add --standalone to ng generate
feat - e49220fba add migratiom to remove defaultProject in workspace config
feat - 3fa38b08b introduce addDependency rule to utilities
feat - b07ccfbb1 introduce a utility subpath export for Angular rules and utilities
feat - 7e7de6858 update Angular dependencies to use ^ as version prefix
feat - 69ecddaa7 update new and existing projects compilation target to ES2020
fix - 7e8e42063 add migration to remove package.json in libraries secondary entrypoints
fix - b928d973e alphabetically order imports during component generation
fix - 09a71bab6 Consolidated setup with a single beforeEach()
fix - 1921b07ee don't add path mapping to old entrypoint definition file
fix - c927c038b remove @types/node from new projects
fix - 27cb29438 remove extra space in standalone imports

@angular/cli

Commit Description
feat - afafa5788 add --global option to ng analytics command
feat - bb550436a add ng analytics info command
feat - e5bf35ea3 add ng cache command
feat - 7ab22ed40 add disable/enable aliases for off/on ng analytics command
feat - 4212fb8de add prompt to set up CLI autocompletion
feat - 0316dea67 add prompts on missing builder targets
feat - 607a723f7 add support for auto completion
feat - 366cabc66 add support for multiple schematics collections
feat - 036327e9c deprecated defaultProject option
feat - fb0622893 don't prompt to set up autocompletion for ng update and ng completion commands
feat - 4ebfe0341 drop support for Node.js 12
feat - 022d8c7bb make ng completion set up CLI autocompletion by modifying .bashrc files
feat - 2e15df941 remember after prompting users to set up autocompletion and don't prompt again
feat - 7fa3e6587 support TypeScript 4.6.2
feat - 9e69331fa use PNPM as package manager when pnpm-lock.yaml exists
fix - 6f6b453fb ng doc doesn't open browser in Windows
fix - 8e66c9188 ng g show descrption from collection.json if not present in schema.json
fix - 9edeb8614 add long description to ng update
fix - 160cb0718 correctly handle --search option in ng doc
fix - d46cf6744 display option descriptions during auto completion
fix - 09f8659ce display package manager during ng update
fix - a49cdfbfe don't prompt for analytics when running ng analytics
fix - 4b22593c4 ensure all available package migrations are executed
fix - 054ae02c2 favor project in cwd when running architect commands
fix - ff4eba3d4 handle duplicate arguments
fix - 5a8bdeb43 hide private schematics from ng g help output
fix - 644f86d55 improve error message for Windows autocompletion use cases
fix - 3012036e8 populate path with working directory in nested schematics
fix - 8a396de6a print entire config when no positional args are provided to ng config
fix - bdf2b9bfa print schematic errors correctly
fix - efc3c3225 remove analytics prompt postinstall script
fix - bf15b202b remove cache path from global valid paths
fix - 142da460b remove incorrect warning during ng update
fix - 96a0d92da remove JSON serialized description from help output
fix - 78460e995 remove type casting and add optional chaining for current in optionTransforms
fix - e5bdadac4 skip prompt or warn when setting up autocompletion without a global CLI install
fix - ca401255f sort commands in help output
fix - b97772dfc support silent package installs with Yarn 2+
fix - 87cd5cd43 workaround npm 7+ peer dependency resolve errors during updates
refactor - d94a67353 remove deprecated --all option from ng update
refactor - 2fc7c73d7 remove deprecated --prod flag
refactor - b69ca3a7d remove deprecated command aliases for extract-i18n.
refactor - 2e0493130 replace command line arguments parser

@angular-devkit/build-angular

Commit Description
feat - 00186fb93 add initial experimental esbuild-based application browser builder
feat - d23a168b8 validate file extensions for scripts and styles options
fix - 2adf252dc add es2015 exports package condition to browser-esbuild
fix - 72e820e7b better handle Windows paths in esbuild experimental builder
fix - 587082fb0 close compiler on Karma exit
fix - c52d10d1f close dev-server on error
fix - 48630ccfd detect tailwind.config.cjs as valid tailwindcss configuration
fix - 4d5f6c659 downlevel libraries based on the browserslist configurations
fix - 1a160dac0 ensure karma sourcemap support on Windows
fix - 07e776ea3 fail build when importing CSS files as an ECMA modules
fix - ac1383f9e properly handle locally-built APF v14 libraries
fix - 966d25b55 remove unneeded JIT reflect metadata polyfill
refactor - b8564a638 remove deprecated NG_BUILD_CACHE environment variable
refactor - 0a1cd584d remove deprecated showCircularDependencies browser and server builder option

@angular-devkit/core

Commit Description
refactor - c5b3e9299 deprecate unused exception classes
refactor - 67144b9e5 remove deprecated parseJson and ParseJsonOptions APIs
refactor - a0c02af7e remove deprecated fs, object and array APIs

@angular-devkit/schematics

Commit Description
feat - c9c781c7d add parameter to listSchematicNames to allow returning hidden schematics.
feat - 0e6425fd8 disable package script execution by default in NodePackageInstallTask
feat - 25498ad5b re-export core string helpers from schematics package
feat - 464cf330a support null for options parameter from OptionTransform type
feat - 33f9f3de8 support reading JSON content directly from a Tree
feat - 01297f450 support reading text content directly from a Tree
fix - 48f9b79bc support ignore scripts package installs with Yarn 2+
fix - 3471cd6d8 support quiet package installs with Yarn 2+
refactor - 44c1e6d0d remove deprecated analytics property

@angular/pwa

Commit Description
fix - 243cb4062 remove @schematics/angular utility deep import usage

@ngtools/webpack

Commit Description
fix - 0c344259d update peer dependency to reflect TS 4.6 support
perf - 044101554 use Webpack's built-in xxhash64 support
refactor - 9277eed1d 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

Don't miss a new build-angular release

NewReleases is sending notifications on new releases.