{"id":24906,"library":"angular-extended-builder","title":"Angular Extended Builders","description":"Angular Extended Builders (v21.2.0) extends @angular/build with custom options for esbuild plugins, index HTML transformers, and Vite dev-server middlewares. Aligns major/minor versions with Angular (21.x). Requires Node >=22 and Angular 21.2.x. Offers ESM/TypeScript plugin support, ideal for advanced Angular build customization beyond the default CLI.","status":"active","version":"21.2.0","language":"javascript","source_language":"en","source_url":"https://github.com/muuvmuuv/angular-extended-builders","tags":["javascript","angular","angular-builder","builder","esbuild","vite","typescript"],"install":[{"cmd":"npm install angular-extended-builder","lang":"bash","label":"npm"},{"cmd":"yarn add angular-extended-builder","lang":"bash","label":"yarn"},{"cmd":"pnpm add angular-extended-builder","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency for Angular Architect framework","package":"@angular-devkit/architect","optional":false},{"reason":"Peer dependency for Angular core utilities","package":"@angular-devkit/core","optional":false},{"reason":"Peer dependency for Angular CLI","package":"@angular/cli","optional":false},{"reason":"Peer dependency for reactive extensions","package":"rxjs","optional":false}],"imports":[{"note":"Builders are used via angular.json builder key, not programmatic import.","wrong":"import { application } from 'angular-extended-builder'","symbol":"application builder","correct":"import 'angular-extended-builder' // builder registered via angular.json"},{"note":"Same as application builder; use builder name in angular.json.","wrong":"import { devServer } from 'angular-extended-builder'","symbol":"dev-server builder","correct":"import 'angular-extended-builder' // builder registered via angular.json"},{"note":"Plugin type is from esbuild, not this package.","wrong":"import { Plugin } from 'angular-extended-builder'","symbol":"Plugin type","correct":"import type { Plugin } from 'esbuild'"}],"quickstart":{"code":"npm install angular-extended-builder --save-dev\n# angular.json snippet:\n# \"builder\": \"angular-extended-builder:application\",\n# \"options\": { \"plugins\": [\"./plugins/my-plugin.ts\"], \"indexHtmlTransformer\": \"./transform.mjs\" }","lang":"typescript","description":"Install the package and configure angular.json to use extended builders with plugins."},"warnings":[{"fix":"Upgrade Node to >=22 and Angular to 21.x.","message":"Version 21.x requires Node >=22 and Angular 21.x. Older Node or Angular will fail.","severity":"breaking","affected_versions":">=21.0.0"},{"fix":"Use paths starting with './' or a full path.","message":"Plugin and middleware paths in angular.json must be relative to workspace root or use absolute paths.","severity":"gotcha","affected_versions":"all"},{"fix":"Use export default { name, setup }.","message":"Plugin modules must export a default esbuild Plugin object; named exports are not recognized.","severity":"gotcha","affected_versions":"all"},{"fix":"Use version matching your Angular version (e.g., 20.x for Angular 20).","message":"Version 20.x to 21.x: The Angular major bump may break compatibility; align angular-extended-builder version with Angular's.","severity":"breaking","affected_versions":">=21.0.0"},{"fix":"Add \"$schema\": \"./node_modules/angular-extended-builder/dist/schema.json\".","message":"The $schema path in angular.json must point to the installed package's schema.json for autocomplete.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run npm install angular-extended-builder and ensure angular.json builder key matches exactly.","cause":"Builder not registered or package not installed","error":"Error: Builder 'angular-extended-builder:application' not found"},{"fix":"Adjust path to be relative to workspace root or use absolute path.","cause":"Path relative to workspace root, not project root","error":"Cannot find module './plugins/my-plugin.ts'"},{"fix":"Ensure plugin file has a default export of an esbuild Plugin object.","cause":"Plugin module exports default incorrectly","error":"TypeError: plugin must be an object with 'name' and 'setup'"},{"fix":"Set builder to 'angular-extended-builder:application'.","cause":"Adding 'plugins' option without using extended builder","error":"Schema validation failed: data should have required property 'plugins'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}