Skip to content

Decide a single tag and selector namespacing convention across renderers #2653

Description

@josemontespg

@a2ui/web_core v0.9 basic catalog components register custom elements namespaced by catalog:
a2ui-basic-card, a2ui-basic-icon, a2ui-basic-tabs, and so on.

The Angular v0.9 basic catalog components use selectors namespaced by protocol version:
a2ui-v09-card, a2ui-v09-icon, and so on
(renderers/angular/src/v0_9/catalog/basic/*.component.ts).

Both are defensible on their own terms. Custom element names live in a single global registry and
are claimed first-come, so @a2ui/web_core namespaces on the axis that can actually collide: two
catalogs offering a component with the same name. Angular resolves selectors per module, so there is
no global collision to avoid and the pressure there is telling protocol versions apart.

The cost of leaving it undecided is not that either name is wrong. It is that someone adding a
component to both packages now has two precedents and no rule, and will pick by whichever file they
opened first.

Pick one:

  1. Document that the two packages namespace on different axes, and why, somewhere a component author
    will read before adding a component.
  2. Converge on a single convention and migrate the package that moves. This is a breaking change to
    that package's public surface.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

  • Status
    Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions