21 lines
1.2 KiB
Markdown
21 lines
1.2 KiB
Markdown
# 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 3–5× 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.
|