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

21 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.