Files
adastra_app/docs/decisions/0007-build-tool-angular-cli-esbuild.md
T

1.2 KiB
Raw Blame History

ADR 0007: Build Tool — Angular CLI with esbuild

Date: 2026-04-26 Status: Accepted

Context

Angular 17 introduced a new application builder (@angular/build:application) based on esbuild and Vite, replacing the legacy webpack-based @angular-devkit/build-angular:browser builder. The new builder delivers significantly faster cold builds and near-instant incremental rebuilds.

Decision

Use the @angular-devkit/build-angular:application builder (esbuild-based) as configured in angular.json. The entry point is defined via the browser field rather than main.

Consequences

  • Positive: Build times are 35× faster than the webpack builder for both development and production.
  • Positive: Native ESM output. Better code splitting.
  • Positive: Aligns with Angular's recommended toolchain for Angular 17+.
  • Negative: Some webpack-specific configuration options (e.g. custom webpack plugins) no longer apply. Not an issue for this project.
  • Note: The sass sub-option under stylePreprocessorOptions (for silenceDeprecations) is specific to this builder's schema; the Karma test builder uses a different schema and does not support it.