npm @angular-devkit/schematics 15.0.0
v15.0.0

latest releases: 19.0.0-rc.2, 18.2.12, 19.0.0-rc.1...
2 years ago

15.0.0 (2022-11-16)

Breaking Changes

@angular/cli

  • The Angular CLI no longer supports 16.10.x, 16.11.x and 16.12.x. Current supported versions of Node.js are 14.20.x, 16.13.x and 18.10.x.
  • Node.js versions older than 14.20 are no longer supported.
  • The 'path' option in schematics schema no longer has a special meaning. Use 'workingDirectory' smart default provider should be used instead.

@schematics/angular

  • Removed unusedappDir option from Universal and App-Shell schematic. This option can safely be removed if present since it no longer has effect.

  • analyticsSharing option in the global angular configuration has been
    removed without replacement. This option was used to configure the Angular CLI to access to your own users' CLI usage data.

    If this option is used, it can be removed using ng config --global cli.analyticsSharing undefined.

  • analytics APIs have been removed without replacement from @angular-devkit/core and @angular-devkit/architect.

@angular-devkit/build-angular

  • TypeScript versions older than 4.8.2 are no longer supported.

  • The server builder bundleDependencies option has been removed. This option was used pre Ivy. Currently, using this option is unlikely to produce working server bundles.

    The externalDependencies option can be used instead to exclude specific node_module packages from the final bundle.

    • Deprecated support for tilde import has been removed. Please update the imports by removing the ~.

    Before

    @import "~font-awesome/scss/font-awesome";

    After

    @import "font-awesome/scss/font-awesome";
    • By default the CLI will use Sass modern API, While not recommended, users can still opt to use legacy API by setting NG_BUILD_LEGACY_SASS=1.
  • Internally the Angular CLI now always set the TypeScript target to ES2022 and useDefineForClassFields to false unless the target is set to ES2022 or later in the TypeScript configuration. To control ECMA version and features use the Browerslist configuration.

  • require.context are no longer parsed. Webpack specific features are not supported nor guaranteed to work in the future.

  • Producing ES5 output is no longer possible. This was needed for Internet Explorer which is no longer supported. All browsers that Angular supports work with ES2015+

  • server builder bundleDependencies option now only accept a boolean value.

  • Deprecated support for Stylus has been removed. The Stylus package has never reached a stable version and its usage in the Angular CLI is minimal. It's recommended to migrate to another CSS preprocessor that the Angular CLI supports.

@angular-devkit/core

  • Workspace projects with missing root is now an error.

@ngtools/webpack

  • TypeScript versions older than 4.8.2 are no longer supported.

@schematics/angular

Commit Description
feat - 766d4a089 add migration to remove require calls from karma builder main file
feat - d8bff4f1e Added --project-root option to the library schematics
feat - 597bfea1b drop polyfills.ts file from new templates
feat - 1c21e470c enable error on unknown properties and elements in tests
feat - f2a0682dc generate new projects using TypeScript 4.8.2
feat - b06421d15 mark projectRoot as non hidden option in application schematic
feat - b6897dbb0 remove karma.conf.js from newly generated projects
feat - 301b5669a remove ngOnInit from component template
feat - 9beb878e2 remove Browserslist configuration files from projects
feat - 283b564d1 remove environment files in new applications
feat - 56a1e8f9f remove test.ts file from new projects
fix - 4e69e8050 add @angular/localize as type when localize package is installed
fix - 57d93fb7d mark project as required option
fix - 84e3f7727 remove empty lines
fix - 316a50d75 remove TypeScript target from universal schematic
refactor - 69b221498 remove deprecated appDir option

@angular/cli

Commit Description
feat - 4827d1b23 add support for Node.js version 18
feat - 4b623461a drop support for Node.js versions older than 14.20
fix - 3dea1fa71 add unique user id as user parameter in GA
fix - af07aa340 add workspace information as part of analytics collection
fix - 83524f625 allow ng add to find prerelease versions when CLI is prerelease
fix - 22955f245 do not collect analytics when running in non TTY mode
fix - 35e5f4278 exclude @angular/localize@<10.0.0 from ng add pa… (#24152)
fix - 1a584364e exclude @angular/material@7.x from ng add package discovery
fix - ff0382718 respect registry in RC when running update through yarn
refactor - 774d349b7 remove deprecated path handler

Commit Description
refactor - 639a3071c migrate analytics collector to use GA4
refactor - c969152de remove analytics API from core and architect

@angular-devkit/build-angular

Commit Description
feat - 4ead45cab add ng-server-context when using app-shell builder
feat - 1c527a9da add esbuild-based builder initial support for fileReplacements
feat - 67324b3e5 add initial incremental code rebuilding to esbuild builder
feat - 3d94ca21b add initial watch support to esbuild-based builder
feat - c592ec584 amend polyfills option in all builders to support an array of module specifiers
feat - a95d130ef auto include @angular/localize/init when found in types
feat - 979bce45e auto include @angular/platform-server/init during server builds
feat - fd4175357 drop support for TypeScript 4.6 and 4.7
feat - 15d3fc6dc export @angular/platform-server symbols in server bundle
feat - 05a98c029 karma builder main option is now optional
feat - 2b6029245 providing a karma config is now optional
feat - 9c13fce16 remove bundleDependencies from server builder
feat - 308e3a017 switch to use Sass modern API
feat - 1e5d4a750 use Browserslist to determine ECMA output
fix - 3ff391738 account for package.json exports fields with CSS import statements
fix - 001445982 account for package.json exports with Sass in esbuild builder
fix - 6280741ce add @angular/platform-server as an optional peer dependency
fix - f9a2c3a12 allow both script and module sourceTypes to be localized
fix - 4cb27b803 avoid attempted resolve of external CSS URLs with esbuild builder
fix - 192e0e6d7 correct escaping of target warning text in esbuild builder
fix - 4fcb0a82b correctly resolve Sass partial files in node packages
fix - fb5a66ae6 fix crash when Sass error occurs
fix - b6df9c136 handle conditional exports in scripts and styles option
fix - 0ee7625d6 ignore cache path when watching with esbuild builder
fix - e34bfe5eb ignore specs in node_modules when finding specs
fix - f143171fd only add @angular/platform-server/init when package is installed.
fix - 3a1970b76 only import karma when running karma builder
fix - 8b84c18ed provide workaround for V8 object spread performance defect
fix - 7dd122ad5 rebase Sass url() values when using esbuild-based builder
fix - 2105964af resolve transitive dependencies in Sass when using Yarn PNP
fix - 54e1c01d8 show file replacement in TS missing file error in esbuild builder
fix - 6c3f281d9 show warning when using TypeScript target older then ES2022 in esbuild builder
fix - 8f8e02c32 support Yarn PNP resolution in modern SASS API
fix - fc82e3bec update browerslist package
fix - 0d62157a3 update sourcemaps when rebasing Sass url() functions in esbuild builder
fix - 1518133db use relative sourcemap source paths for Sass in esbuild builder
fix - fb4ead2ce wait during file watching to improve multi-save rebuilds for esbuild builder
fix - b059fc735 warn when components styles sourcemaps are not generated when styles optimization is enabled
perf - 9d0872fb5 add initial global styles incremental rebuilds with esbuild builder
perf - 0fe6b3b75 add vendor chunking to server builder
perf - 8c915d414 avoid extra babel file reads in esbuild builder rebuilds
perf - 919fe2148 avoid extra TypeScript emits with esbuild rebuilds
perf - 92145c4a7 avoid template diagnostics for declaration files in esbuild builder
perf - 52db3c000 minimize Angular diagnostics incremental analysis in esbuild-based builder
perf - feb06753d use esbuild-based builder to directly downlevel for await...of
perf - 9d83fb91b use Sass worker pool for Sass support in esbuild builder
perf - 45a94228f use Uint8Arrays for incremental caching with esbuild-based builder
refactor - f393b0928 disable requireContext parsing
refactor - 12931ba8c remove deprecated ES5 support
refactor - 7f1017e60 remove old bundleDependencies enum logic
refactor - 2ba44a433 remove support for Stylus

@angular-devkit/core

Commit Description
fix - ea4c0aa2e throw error when project has missing root property
fix - de467f46d update logger forEach promiseCtor type

@ngtools/webpack

Commit Description
feat - 43bd0abc1 drop support for TypeScript 4.6 and 4.7
fix - 1c1f985b9 support inline style sourcemaps when using css-loader for component styles

Special Thanks

Alan Agius, Brent Schmidt, Charles Lyding, Cédric Exbrayat, Dariusz Ostolski, Doug Parker, Günhan Gülsoy, Jason Bedard, Lukas Spirig, Ruslan Lekhman, angular-robot[bot] and minijus

Don't miss a new schematics release

NewReleases is sending notifications on new releases.