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

Aperta
#34,123 2 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@alan-agius4 ci sta già lavorando.

Dal 18/9/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

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).

Lingua principale
TypeScript
Stelle
27k
Fork
11.8k
Merge medio
16h 21m
PR unite (30g)
170

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di angular/angular-cli

Tutte le issue di angular/angular-cli

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.