-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
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
Rename the packages #27666
Comments
-@material-ui/core-material
+@mui/material
-@mui/core-base
+@mui/core
-@mui/core-xxx
+@mui/xxx Also gets rid of potential confusion around "unstyled" which will never be actually unstyled. |
@eps1lon The alternative was
Interesting proposal. It similar to the exisiting
|
Do you think it does not fit? If so: why?
|
I imagine that it could be confused by the community in two cases when they see
I'm not saying it's a deal-breaker, only that it's part of the tradeoff. I would personally vote to be verbose to minimize any possible confusions. One change that resonates with me is -@mui/core-base
+@mui/core I prefer |
One issue with Assuming we go with |
@michaldudak Great points. Maybe another concern to consider is: what will developers say to their peers, e.g. on Twitter to mention they use the base components? "I'm using MUI Base"? |
What is the concern here? You're now arguing against your proposal.
I don't follow this. I firmly belive you're making this up. These are literally different names. |
I'm exploring the merit of the proposal. I don't think that it matter who it comes from. If we want to deliver a new product that resonates with a different audience, we need a name that can be identified. If we think that it's clear enough, then it is all good. Danilo has used a different framing, pushing for MUI Core for being the main product, with material design, and the unstyled components features. In which framing, how clearly can developers identify which feature they use is less relevant. Does it make sense?
We have opened two positions to hire people to work on MUI Studio. I have no idea how we will handle the theming part of it. I'm making these names up. I have used this to argue that core as prefix segments more clearly the different products, which we might or not leverage as we grow with more packages. |
The story I'm trying to tell is that the MUI company has two main flagship products if you will: a set of Core and Advanced components. Other products (templates, design kits, low code) would all be built leveraging one or both of these sets. Both of them could be available with Material Design, the 2nd DS, and/or unstyled. Using the prefix also helps to create a clear boundary for the business model around each of them: Core components are open source maintained while Advanced (x) are open-core. The new website is planned to have a page regarding the Core and Advanced components, trying to explain what they are and how they differ from one another. Not saying that The same for only using
Does it makes sense? |
What about this ?
|
In my opinion, I don't think there will be a developer look at the package name first and try to guest what's inside. I believe that they all start by copying the package name in So I think @oliviertassinari @danilo-leal Do we need to also consider the new icon packages now? because we might have 2 in the future (or maybe not).
|
I have updated the milestone to reflect the previous plan we had on Notion: https://www.notion.so/mui-org/Rollout-strategy-5167e83974e042d7b07ece884e1c3b47, the one we started to organize for. This was meant for v5. e.g. MUI X will include it in v5-beta.0. It's how we started to organize the priorities 11 days ago. I have updated a bit the wording where the temporality was confusing. cc @danilo-leal to make sure I didn't alter the intent. Regarding going forward, in #27803 we talk about either this should move this effort to v6 or keep it in v5. It remembers me of a previous discussion around moving the full unstyled effort off v5, to keep v5 manageable. Here, I would argue that Material-UI -> MUI is 1/10 the effort, with 1/2 already done. More details on what's left in: #27825 I have also updated the issue's description to be more detailed. This issue no longer only about the what but also covers the why and how. This is meant to bring transparency, to move information that is privately available in Notion to GitHub. |
@siriwatknp I propose we have a vote, let's see what resonates the most. Better to be sure before we make a change that is hard to revert:
|
So, |
Should we mention that it's around emotion? To me, This is what I had in mind: -@mui/styled-engine
-@mui/styled-engine-sc
+@mui/emotion-adapter
+@mui/styled-components-adapter |
@m4theushw The idea is that the emotion adapter is the default one. That's why it doesn't have a suffix. |
It looks like we have a more popular option on #27666 (comment):
Should we update the "target"? For the new core, I guess we can suffix the unstyled components exported with "Base"? @m4theushw In the topic of the styled engine/adapters, there is a potential third candidate that optimizes for bundle size: #27776. |
I have updated the "target". Also, the next release of MUI X, next week, will be with the following package names:
|
Makes sense (and has the advantage of being shorter than "Unstyled"). The only issue is that it'll clash with the existing ButtonBase and SwitchBase. We are going to ultimately get rid of them, but for the time being, we can rename these two unstyled components when reexporting from Material (or do not reexport at all). For Material/Joy components we won't append anything to component names, right? (so there will be Button, not ButtonMaterial) |
Yes, please. At least, I don't see a reason to prepend design system name to component. |
I have added a warning on the latest v5 releases, e.g. https://www.npmjs.com/package/@material-ui/core/v/5.0.0-beta.5. Regarding the last step, should it be to rename the git folders? /packages/material-ui-codemod/ -> /packages/mui-codemod/
/packages/material-ui-docs/ -> /packages/mui-docs/
/packages/material-ui-envinfo/ -> /packages/mui-envinfo/
/packages/material-ui-icons/ -> /packages/mui-icons-material/
/packages/material-ui-lab/ -> /packages/mui-lab/
/packages/material-ui-private-theming/ -> /packages/mui-private-theming/
/packages/material-ui-styled-engine-sc/ -> /packages/mui-styled-engine-sc/
/packages/material-ui-styled-engine/ -> /packages/mui-styled-engine/
/packages/material-ui-styles/ -> /packages/mui-styles/
/packages/material-ui-system/ -> /packages/mui-system/
/packages/material-ui-types/ -> /packages/mui-types/
/packages/material-ui-unstyled/ -> /packages/mui-core/
/packages/material-ui-utils/ -> /packages/mui-utils/
/packages/material-ui/ -> /packages/mui-material/ |
We are making a change to the terminology used in the project to support the long-term direction. The high order bit is that MUI describes the name of the project/company, core prefixes the core components (the simple, design ones).
Current:
@material-ui/core
Material design system@material-ui/unstyled
The unstyled components@material-ui/system
The design system CSS utilities@material-ui/styled-engine
The styled() adapter around emotion@material-ui/styled-engine-sc
The styled() adapter around styled-components@material-ui/icons
Target:
@mui/material
Material design system@mui/core
The unstyled components@mui/joy
The second design system, code name Joy.@mui/system
The design system CSS utilities@mui/styled-engine
The styled() adapter around emotion@mui/styled-engine-sc
The styled() adapter around styled-components@mui/icons-material
This is the result of a longer discussion that happened in https://www.notion.so/mui-org/Rearranging-the-packages-2f700caf8b5e48559fe86ebb648ed91a.
See mui/mui-x#2313 for the counterparts on MUI X.
Why each change?
1. MUI over Material-UI
2. The core prefix
Pros
Cons
It's more to read, and write. If size is the main concern, we could use "md" over "material". For instance, it's used by Mdbootstrap.
3. The unstyled components
We have been hesitating between 4 different names for these components:
We have picked "base", so far.
The execution steps
material-ui
v0 to@material-ui/core
v1. It's also the strategy used by Chakra between v0 and v1.We have considered doing it sooner, between two v5 beta, but it would make it harder for MUI X to support v4 with v5.
If we really want to do it sooner, it's an option.
cc @mui-org/core
The text was updated successfully, but these errors were encountered: