Skip to content

chore: resolve missing inherited members in CEM class declarations#11381

Merged
sissbruecker merged 1 commit intomainfrom
chore/cem-inherited-props
Mar 23, 2026
Merged

chore: resolve missing inherited members in CEM class declarations#11381
sissbruecker merged 1 commit intomainfrom
chore/cem-inherited-props

Conversation

@web-padawan
Copy link
Copy Markdown
Member

Summary

  • The CEM analyzer only follows inheritedFrom one level deep, so members inherited through 2+ levels (e.g., EmailField → TextFieldMixin → FieldMixin → LabelMixin) are dropped from class declarations
  • Add a multi-pass resolution step in packageLinkPhase that copies missing members and attributes from mixin/superclass declarations until the full inheritance chain is resolved
  • Build the allDeclarations map once in packageLinkPhase so it can be reused by future plugins

Test plan

  • Run yarn release:cem and verify no errors
  • Check packages/text-field/custom-elements.jsonTextField class should have label member and attribute
  • Check packages/email-field/custom-elements.jsonEmailField class should have label member and attribute
  • Check packages/multi-select-combo-box/custom-elements.jsonMultiSelectComboBox should have accessibleName, errorMessage, helperText, label

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

The CEM analyzer only follows inheritedFrom one level deep, so members
inherited through 2+ levels (e.g., EmailField → TextFieldMixin →
FieldMixin → LabelMixin) are dropped from class declarations.

Add a multi-pass resolution step in packageLinkPhase that copies
missing members and attributes from mixin/superclass declarations
to class declarations until the inheritance chain is fully resolved.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sonarqubecloud
Copy link
Copy Markdown

@sissbruecker sissbruecker merged commit f53f0b3 into main Mar 23, 2026
10 checks passed
@sissbruecker sissbruecker deleted the chore/cem-inherited-props branch March 23, 2026 09:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants