You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(target-angular): dedupe @ContentChild slot fields per distinct slot name
A template that references the same named slot in multiple locations (e.g.
DataTable's `colHeader`, Slider's `bubble`) drove `emitScript` to emit one
`@ContentChild` field, one ctx `interface`, and one `ngTemplateContextGuard`
union member PER reference. The duplicate class members produced an esbuild
"Duplicate member" parse error and duplicate interface identifiers (TS2300),
which crashed the Angular build — and with it the Visual Regression Matrix dev
server (webserver-start timeout) on every push.
The 47-03 slot-decl dedup (Lit/Solid/Svelte/React) never covered Angular's
inline `@ContentChild` emission path. Add the same distinct-slot-name dedup in
`emitScript` (fields + ctx interfaces) and in `buildNgTemplateContextGuard`
(union members), plus a regression test for a slot referenced twice.
Regenerated the DataTable + Slider Angular leaves; verified end-to-end via the
CLI that Slider emits a single `@ContentChild('bubble')`. Core + all six target
suites + dist-parity green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014ArTPHLhYMwrjvvoF9VXDe
): _ctx is DefaultCtx|GroupBarCtx|SelectAllCtx|ColHeaderCtx|ColHeaderCtx|FilterCtx|SelectCellCtx|EditorCtx|CellCtx|SelectAllCtx|ColHeaderCtx|ColHeaderCtx|FilterCtx|SelectCellCtx|CellCtx|EditorCtx|CellCtx|DetailCtx{
3289
+
): _ctx is DefaultCtx|GroupBarCtx|SelectAllCtx|ColHeaderCtx|FilterCtx|SelectCellCtx|EditorCtx|CellCtx|DetailCtx{
0 commit comments