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

Publish individual components as scoped packages #3189

Closed
pranshuchittora opened this issue Mar 29, 2020 · 2 comments
Closed

Publish individual components as scoped packages #3189

pranshuchittora opened this issue Mar 29, 2020 · 2 comments

Comments

@pranshuchittora
Copy link
Contributor

Description
Shipping eui components as scoped packages.


Right now the eui ships as a single unit which has a huge surface area of 45.5MB, as per NPM.
Screenshot from 2020-03-30 01-07-10

Say someone wants to just consume the button component, but he's been shipped with table components as well. Though he can use tree shaking to remove unused code, this depends on the user's configuration. This would also help eui to be served over cdn, where we can ask for individual components on demand by adding script tags.

This would also allow to colocate any bugs into individual components, which can be fixed and released independently.

The idea is to break the entire codebase into smaller packages, possibly lerna packages which can colocate in the same mono-repo and published individually.

-- packages
 -- @eui/icons
 -- @eui/form
 -- @eui/table
 -- ..
 -- @eui/core

Dividing the dependency into scoped packages will make it more reasonable and feasible.

Would love to discuss 📢

@snide
Copy link
Contributor

snide commented Mar 30, 2020

This is somewhat covered over here. #3164

I'm closing this issue and that one, and better filling out #2520 since this is a major project we're working on separately.

This is a major project with a lot of care needed.

@snide snide closed this as completed Mar 30, 2020
@shobhitchittora
Copy link

Good thinking here.

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

No branches or pull requests

3 participants