Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[framework]: use Custom Elements Manifest analyzer to generate custom-elements-manifest.json #6958

Closed
1 task done
ilhan007 opened this issue Apr 26, 2023 · 0 comments · Fixed by #7613
Closed
1 task done
Assignees
Labels
Milestone

Comments

@ilhan007
Copy link
Member

ilhan007 commented Apr 26, 2023

Feature Request Description

Currently, we use a private JSDoc plugin to analyse the JSDoc to generate the so called api.json describing the API of all the components.

Based on the api.json we generate:

  • custom-elements-manifest.json
  • SAPUI5 control wrappers
  • ui5-webcomponents-react React wrappers
  • ui5-webcomponents-ngx Angular wrappers

While this setup is working, it requires certain knowledge of adding proper JSDoc to get the right output when developing web components. And, especially the namespace part that should be present, f.e "sap.ui.webc.main" and used everywhere and the slightest typo would lead to wrong generation.

Proposed Solution

As the custom-elements-manifest.json is a standard schema for describing web components, ideally we could use the @custom-elements-manifest/analyzer to output the JSON file and not rely on the JSDoc and the private JSDoc plugin.
By default, the analyser supports standard JavaScript, and vanilla web components. Dedicated web component libraries like ours can be supported through the use of plugins as explained here https://custom-elements-manifest.open-wc.org/analyzer/getting-started. If we can make the analyser work, we can then either get rid of the "api.json" and use directly the custom-elements-manifest.json and adopt it in wrappers generators, or keep the "api.json" as before, but generate it out of the custom-elements-manifest.json.

Proposed Alternatives

No response

Additional Context

No response

Priority

High

Privacy Policy

  • I’m not disclosing any internal or sensitive information.
@ilhan007 ilhan007 added enhancement New feature or request High Prio labels Apr 26, 2023
@ilhan007 ilhan007 self-assigned this May 17, 2023
@ilhan007 ilhan007 added this to the 1.15.0 milestone May 17, 2023
@ilhan007 ilhan007 assigned nnaydenow and unassigned ilhan007 May 25, 2023
@ilhan007 ilhan007 modified the milestones: 1.15.0, 1.17.0 Jul 11, 2023
@petyabegovska petyabegovska modified the milestones: 1.17.0, 1.18.0 Aug 31, 2023
@ilhan007 ilhan007 modified the milestones: 1.18.0, 1.19.0 Oct 23, 2023
@ilhan007 ilhan007 modified the milestones: 1.19.0, 1.20.0 Nov 3, 2023
@ilhan007 ilhan007 modified the milestones: 1.20.0, 1.21.0 Dec 4, 2023
@ilhan007 ilhan007 modified the milestones: 1.21.0, 1.22.0 Jan 5, 2024
@petyabegovska petyabegovska moved this to Completed in Planning - Topic Core Jun 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Completed
Development

Successfully merging a pull request may close this issue.

3 participants