mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
Decouple `SymbolBuilder` from the full `BoundTarget` interface by introducing a purpose-built `SymbolBoundTarget` interface containing only the 4 methods required for symbol resolution. This eliminates the need for the large, pass-through `BoundTargetAdapter` and further isolates `SymbolBuilder` from compiler-internal implementation details. Also minimize `TypeCheckableDirectiveMetaAdapter` by redefining `SymbolDirectiveMeta` to not extend `DirectiveMeta`, exposing only the properties actually used by `SymbolBuilder`. Removed dead code `getDirectiveMeta` in `template_symbol_builder.ts` which was unused. These changes improve maintainability and ensure a cleaner architecture by strictly defining the boundaries of what `SymbolBuilder` needs from the rest of the system. By limiting the required inputs to only what's necessary for the implementation, we make it easier to re-use the implementation between different compiler architectures |
||
|---|---|---|
| .. | ||
| BUILD.bazel | ||
| hybrid_analysis.ts | ||
| localize.ts | ||
| migrations.ts | ||
| README.md | ||
| testing.ts | ||
| tooling.ts | ||
This is a directory defining the @angular/compiler-cli/private entry-point. The entry-point can be used to
expose code that is needed by other Angular framework packages, without having to expose code through the primary
entry-point.
The primary entry-point has a couple of downsides when it comes to cross-package imports:
- It exports various other things that will end up creating additional type dependencies. e.g. when
the Angular localize package relies on it, it might end up accidentally relying on
@types/node. - The primary entry-point has a larger build graph, slowing down local development as much more things can invalidate the dependent targets. A smaller subset leads to faster incremental builds.