Skip to content

feat: Add custom element manifest to build#35

Closed
fredvisser wants to merge 3 commits intoarchives/fast-element-1from
users/fvisser/add-custom-element-manifest
Closed

feat: Add custom element manifest to build#35
fredvisser wants to merge 3 commits intoarchives/fast-element-1from
users/fvisser/add-custom-element-manifest

Conversation

@fredvisser
Copy link

Pull Request

📖 Description

Related to ni/nimble#2704, this PR adds a custom elements manifest to the ni/fast package. "This format [allows] tooling and IDEs to give rich information about the custom elements in a given project."

🎫 Issues

👩‍💻 Reviewer Notes

  • Used a local script built with @wc-toolkit/cem-validator to generally validate built CEM correctness, but haven't included any validation in the PR. Happy to add that, or other validation into this PR.
  • Generated all changes with Copilot and Sonnet 4.6. Reviewed for correctness and consistency with the repository with Opus 4.6.

📑 Test Plan

✅ Checklist

General

  • I have included a change request file using $ yarn change
  • I have added tests for my changes.
  • I have tested my changes.
  • I have updated the project documentation to reflect my changes.
  • I have read the CONTRIBUTING documentation and followed the standards for this project.

Component-specific

⏭ Next Steps

Comment on lines +2 to +11
* Custom Elements Manifest analyzer plugins for @ni/fast-element patterns.
*
* The standard CEM analyzer doesn't know about FAST's @attr decorator, so we
* teach it here. One plugin is exported:
*
* - attrDecoratorPlugin – maps @attr-decorated properties to CEM attributes
*
* Note: fast-foundation components are base classes registered by consumers
* (e.g. nimble-components). They do not declare HTMLElementTagNameMap entries,
* so no tag-name plugin is needed here.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The standard CEM analyzer doesn't know about FAST's @attr decorator

It certainly seems to:

https://github.com/open-wc/custom-elements-manifest/blob/master/packages/analyzer/src/features/framework-plugins/fast/fast.js#L5

what's the story here?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be interested in understanding why we can't just use the cli with the --fast flag

Copy link
Member

@rajsite rajsite Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the cli works fine: #36
Will merge that and also add to nimble on innovation days
But also chatted with @fredvisser offline and goal was integrator support. Will try to instead lean towards having good Angular app template generation with tooling / agents config out of the box something like steps to run after ng new or if ng new supports templating or angular schematics, etc.
edit: the results of #36 / #37 : https://unpkg.com/@ni/fast-foundation@10.2.1/dist/custom-elements.json

@rajsite
Copy link
Member

rajsite commented Feb 27, 2026

Closing in favor of #35

@rajsite rajsite closed this Feb 27, 2026
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