The purpose of this repository is to consolidate all the community builders for Angular build facade.
Builders' and Angular major versions must match.
custom-esbuild, custom-webpack and jest ship Angular schematics, so both the initial setup and the move between majors are automated:
ng add @angular-builders/<package> # set the builder up in your workspace
ng update @angular-builders/<package> # move an existing project to a new majorng update applies every migration between the version you have installed and the one you are moving to, so the builder's own migrations all run in one pass. Updating from version 17 or later is supported. Builder majors track Angular majors, so a project moving up several versions upgrades Angular first, and this command then brings the builder in line. Each package README documents what its schematics change for you and which changes they can only warn about. bazel and timestamp have no schematics, so those two are still configured by hand.
⚠️ Version alignment: The major version of@angular-builders/*packages must match the major version of@angular/corein your project. For example, Angular 19 requires@angular-builders/*@19.x, Angular 20 requires@angular-builders/*@20.x, etc. Using a mismatched version is the most common source of issues.
Click to expand
- Custom esbuild builders (Allow customizing ESBuild configuration)
- Custom webpack builders (Allow customizing Webpack configuration)
- Jest builder (allows running
ng testwith Jest) - Bazel builder (
ngwrapper forBazelbuild) - Timestamp builder (an example builder from this article)
Have any questions? Would like to discuss something? Join @angular-builders on Slack!
Angular CLI under the hood - builders demystified — what the Architect layer is and how a builder works, taught by building one from scratch. It explains the mechanism these packages plug into; setup instructions live in the package READMEs above.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!