library builder: template type errors are not reported when .angular/cache is warm

Abierto
#34,123 2 comentarios 0 reacciones 1 asignado Ver en GitHub

@alan-agius4 ya está trabajando en esto.

Desde el 18/9/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

angular/build:library area: @angular/build gemini-triaged
Command

build

Is this a regression?
  • Yes, this behavior used to work in the previous version
The previous version in which this bug was not present was

No response

Description

Found while tesing #34106 cc @alan-agius4

With warm .angular/cache, editing only a components external template skips template type-checking: broken template builds with exit 0 and ends up in FESM.
Cold build fails correctly and so does ng-packagr in same setup.

Worst in CI where caches are restored

Minimal Reproduction
  1. Library with one component using templateUrl, strictTemplates on
  2. ng build mylib passes and fills .angular/cache
  3. Edit only the template to <p>{{ nope }}</p>
  4. ng build mylib again. getting exit 0 broken template in fesm2022/mylib.mjs
  5. rm -rf .angular/cache then build again, getting TS2339 as expected

P.S. Same on ngwr: [hidden]="notAProperty" in alert.html builds with a warm cache.

Exception or Error

Your Environment
@angular/build built from #34106 (e1fa5796) with the repo's own bazel build

Angular CLI 22.1.8, 
Angular 22.1.7, 
Node 24.16.0, 
pnpm 11, 
macOS 25.6, 
14 cores, 
24 GB
Anything else relevant?

library-compilation.ts only type-checks files in affectedFiles from the restored builder program, and TS doesn't know about .html, so nothing is checked.

aot-compilation.ts handles this with usingBuildInfo / includeTTC in findAffectedFiles;

porting that locally fixed it (warm + broken fails, warm + valid still passes and re-emits).

Lenguaje dominante
TypeScript
Estrellas
27k
Forks
11.8k
Merge medio
16 h 21 min
PR fusionados (30 d)
170

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de angular/angular-cli

Todos los issues de angular/angular-cli

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.