angular/packages/language-service/src
Andrew Scott 4c86ed382d refactor(compiler-cli): abstract type check block metadata to be AST-free
This commit refactors the template type checking metadata interfaces to use detached, serializable metadata rather than retaining direct references to ts.Node or ts.Declaration instances.

A new tcb_adapter translates traditional TypeScript AST-bound metadata into these decoupled structures. This abstraction lays the groundwork for supporting native preprocessors (such as Rust or ts-go) which serialize metadata over JSON rather than passing live TypeScript objects.

Key changes:
- Introduced TcbDirectiveMetadata, TcbComponentMetadata, TcbReferenceMetadata, and TcbPipeMetadata to replace TypeCheckableDirectiveMeta where appropriate.
- Substituted deep TS compilation AST references with string module names and source spans to preserve out-of-band diagnostic capabilities.
- Detached generic typeParameters and transformType properties into synthesized, standalone TS mappings.
- Updated generateTypeCheckBlock and corresponding Operations to consume the new metadata.
2026-03-10 12:39:18 -07:00
..
codefixes refactor(language-service): use type-only TypeScript imports in some files 2026-02-06 07:38:48 -08:00
refactorings refactor(language-service): use type-only TypeScript imports in some files 2026-02-06 07:38:48 -08:00
utils refactor(language-service): use type-only TypeScript imports in some files 2026-02-06 07:38:48 -08:00
adapters.ts refactor(compiler-cli): abstract type check block metadata to be AST-free 2026-03-10 12:39:18 -07:00
attribute_completions.ts Revert "refactor(compiler-cli): remove deep imports from compiler-cli (#64732)" 2025-11-06 13:09:01 -08:00
BUILD.bazel Revert "refactor(compiler-cli): remove deep imports from compiler-cli (#64732)" 2025-11-06 13:09:01 -08:00
compiler_factory.ts Revert "refactor(compiler-cli): remove deep imports from compiler-cli (#64732)" 2025-11-06 13:09:01 -08:00
completions.ts fix(compiler): stop ThisReceiver inheritance from ImplicitReceiver 2026-01-02 08:21:49 +01:00
definitions.ts Revert "refactor(compiler-cli): remove deep imports from compiler-cli (#64732)" 2025-11-06 13:09:01 -08:00
language_service.ts perf(language-service): use lightweight project warmup for Angular analysis 2026-02-20 02:11:06 +00:00
linked_editing_range.ts feat(language-service): add linked editing ranges for HTML tag synchronization 2026-02-04 15:45:27 -08:00
outlining_spans.ts feat(compiler): Add support for multiple swich cases matching 2026-01-07 09:23:50 -05:00
quick_info.ts Revert "refactor(compiler-cli): remove deep imports from compiler-cli (#64732)" 2025-11-06 13:09:01 -08:00
quick_info_built_ins.ts refactor(language-service): use type-only TypeScript imports in some files 2026-02-06 07:38:48 -08:00
references_and_rename.ts Revert "refactor(compiler-cli): remove deep imports from compiler-cli (#64732)" 2025-11-06 13:09:01 -08:00
references_and_rename_utils.ts fix(compiler): better types for a few expression AST nodes 2026-01-06 12:16:28 -05:00
semantic_tokens.ts feat(compiler): Exhaustive checks for switch blocks 2026-02-17 10:25:31 -08:00
signature_help.ts Revert "refactor(compiler-cli): remove deep imports from compiler-cli (#64732)" 2025-11-06 13:09:01 -08:00
template_target.ts feat(compiler): Exhaustive checks for switch blocks 2026-02-17 10:25:31 -08:00
ts_plugin.ts perf(language-service): use lightweight project warmup for Angular analysis 2026-02-20 02:11:06 +00:00