Skip to content

feat: Custom Elements Manifest #30715

@jackhp95

Description

@jackhp95

Prerequisites

Describe the Feature Request

Custom Elements Manifest is a file format that describes custom elements. This format will allow tooling and IDEs to give rich information about the custom elements in a given project.

Describe the Use Case

Personally, I'm using this file format to generate friendly wrappers and documentation for all of these web components in elm code.

I think it'd be a worthwhile addition to your npm package. I won't bother opening a PR unless y'all agree.

Describe Preferred Solution

It's a straightforward CLI command that can be added to the build process.
Adding the generated file to the npm package, and exposing it will do the trick.

{
  "globs": [
    "core/src/components/**/*.tsx"
  ],
  "exclude": [
    "**/*.test.tsx",
    "**/*.spec.tsx",
    "**/test/**/*",
    "**/tests/**/*",
    "**/*.stories.tsx"
  ],
  "outdir": ".",
  "plugins": []
}

I used the above config in your codebase to generate what I needed.

Describe Alternatives

Here's an example of using the CLI command in a build script:
https://github.com/quietui/quiet/blob/next/scripts/build.js#L61C1-L77C2

Exposing the file:
https://github.com/quietui/quiet/blob/next/package.json#L48

The exposed file:
https://www.npmjs.com/package/@quietui/quiet-browser?activeTab=code

Related Code

No response

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions