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

Improve maintainability and feature parity between dotlottie-web components wrappers #275

Open
theashraf opened this issue Jul 3, 2024 · 2 comments
Assignees
Labels
enhancement New feature or request stale

Comments

@theashraf
Copy link
Member

Background:
dotLottie-web is a JavaScript library that includes several packages in a monorepo, which wrap its APIs into neat component packages for various frameworks such as React, Vue, Solid, Svelte, and WebComponent. As the number of these wrappers has increased, maintaining them has become increasingly challenging. Initially, we only supported Web Component, Vue, and React. Now, we have added Solid and Svelte, with the potential for more in the future.

Problem:
The maintenance burden grows as we expand the number of wrappers. Each new framework requires us to manually implement and update components, which is time-consuming and prone to inconsistencies.

Proposed Solution:
We can utilize Mitosis to overcome this maintenance burden. Mitosis provides a unified development experience across all frameworks, allowing us to build components in a single codebase and compile them to React, Vue, Angular, Svelte, Solid, Alpine, Qwik, and more.

Approach:

  • Develop an internal package in the monorepo for the base Mitosis component. This component package will serve as the single source of truth for all framework-specific components
  • Compile the base component to the target frameworks/libraries we support (react/vue/svelte/solid/wc)
  • Use Mitosis overrides to add any necessary customizations specific to each framework
  • Ensure that the components' APIs remain backward compatible and do not introduce any regressions during this migration process

Considerations:
The migration to Mitosis should be gradual, ensuring that each component is thoroughly tested before replacing the existing implementation.

Next Steps:

@theashraf theashraf added the enhancement New feature or request label Jul 3, 2024
Copy link
Contributor

github-actions bot commented Sep 2, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs.

Copy link
Contributor

github-actions bot commented Nov 2, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs.

@github-actions github-actions bot added the stale label Nov 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request stale
Projects
None yet
Development

No branches or pull requests

2 participants