Difference between @material-ui vs material-ui (without at-sign)
The @ scope indicates package ownership
The main advantage of scopes I've seen so far is that each scope is controlled by npm account of an organization / user, much like GitHub usernames / organization names.
This way, it makes it easy to determine if the package you are looking at belongs to an organization you trust, or if it is a third party tool.
For example, if you see:
@material-ui
then you know that it comes from the material-ui team and can be trusted.
On the other hand, the same could not be said about:
material-ui
For more https://docs.npmjs.com/about-scopes
@material-ui/core
is the correct one to use for v4. For v5, the equivalent package is @mui/material
.
If you go to https://www.npmjs.com/package/material-ui, you'll see that material-ui
is deprecated. The last stable version in the material-ui
package was 0.20.2
. For the 1.0 release it moved to @material-ui/core
and for the stable release of v5 it moved to @mui/material
.
The @material-ui
scope (for v4) is used for the following packages that are all managed within the monorepo you referenced (https://github.com/mui-org/material-ui/tree/v4.12.3/packages):
- @material-ui/core
- @material-ui/icons
- @material-ui/styles
- @material-ui/system
- @material-ui/lab
- @material-ui/utils
- @material-ui/types
- @material-ui/docs
- @material-ui/codemod
Similarly, the @mui
scope (for v5) is used for the similar set of packages supported for v5 (https://github.com/mui-org/material-ui/tree/master/packages):
- @mui/material
- This is the equivalent of
@material-ui/core
- This is the equivalent of
- @mui/core
- This is the NOT the equivalent of
@material-ui/core
.@mui/core
is a new package for unstyled (no Material-Design CSS applied) versions of the components.
- This is the NOT the equivalent of
- @mui/icons-material
- @mui/styles
- This is for supporting the
withStyles
andmakeStyles
JSS-backed styling APIs and is not recommended for use in new projects.
- This is for supporting the
- @mui/system
- @mui/lab
- @mui/utils
- @mui/types
- @mui/docs
- @mui/codemod