Skip to content

[09] feat(angular): link templates, selectors, and bindings #16

Description

@fernandofielmann

Goal

Connect Angular components to their templates and represent statically identifiable selector/binding relationships.

Scope

  • Link templateUrl and inline template content to the declaring component.
  • Resolve external template paths relative to the component file conservatively.
  • Extract element/component selectors and property, event, and two-way bindings.
  • Resolve component/directive references using Angular metadata and standalone/module imports.
  • Introduce only the minimum nodes/edges needed to query template dependencies.
  • Defer structural control-flow semantics to [10].
  • Avoid runtime dependencies by using a bounded extractor or vendored grammar.

Dependencies

Acceptance criteria

  • Inline and external templates are linked to their component.
  • Static selectors resolve to unique components/directives when imports make the target unambiguous.
  • Inputs, outputs, and two-way bindings preserve binding kind and literal name.
  • Unknown HTML/custom elements and ambiguous selectors do not create false links.
  • Sequential and parallel pipelines produce equivalent template relationships.
  • New schema elements and query examples are documented.

Validation

  • Add inline/external, relative-path, selector, binding, ambiguity, deduplication, and parity fixtures.
  • Run Angular extraction/edge suites, lint-ci, and scripts/test.sh.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions