I'm using the latest stable version of Material UI in my production React app.
I need the updated Data Tables component, which is currently in Material UI's unstable alpha branch.
I don't want to upgrade my whole app with npm i material-ui@next
because of the numerous breaking changes.
How can I access the alpha library without upgrading my whole library? Can I install two versions of MUI? Can I call on the alpha API without installing it through NPM?
Thanks in advance.
How do you solve You might have more than one copy of React in the same app? In the module you are developing, add the conflicting packages to peerDependencies (and remove them from dependencies or devDependencies ): // package. json "peerDependencies": { "react": "16.13.
yarn add <alias-package>@npm:<package> This will install a package under a custom alias. Aliasing, allows multiple versions of the same dependency to be installed, each referenced via the alias-package name given.
After some googling, found this. To use both versions:
yarn add material-ui@latest
yarn add material-ui-next@npm:material-ui@next
Then you can use
import Divider from 'material-ui-next/Divider'
or
import Divider from 'material-ui/Divider'
I created in /packages
a folder called material-ui-next
with only a package.json
inside it which contains :
{
"name": "material-ui-next",
"version": "1.0.0",
"scripts": {
"postinstall": "mv node_modules/material-ui/* ."
},
"dependencies": {
"material-ui": "next"
}
}
So now from the root of the project one can do npm install packages/material-ui-next --save
then one can createPalette = require('material-ui-next/styles/palette')
or whatever one wants to require from material-ui
now aliased as material-ui-next
.
Explanations : as "material-ui": "next"
is a dependency it's will be installed in node_modules/material-ui
so by adding a script after the package material-ui-next
is installed to move node_modules/material-ui
to the root of the package we can require('material-ui-next/WHATEVER')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With