Material-ui: Broken dependency to @babel/runtime causing build errors

Created on 4 Aug 2018  路  14Comments  路  Source: mui-org/material-ui

@babel/runtime recently released version v7.0.0-beta.56, which split part of the package up into @babel/runtime-corejs2. This is a breaking change that affects Material-UI, causing errors like Error: Can't resolve '@babel/runtime/helpers/builtin/typeof'. The change happened as part of babel/babel#8266.

The root cause is because Material-UI depends on version ^7.0.0-beta.42 of @babel/runtime, which will select the latest breaking version v7.0.0-beta.56 on install.

As a quick workaround for anyone affected, you can run npm install --save-exact @babel/[email protected] if using npm or yarn add @babel/[email protected] --exact if using Yarn to revert back to the previous version of @babel/runtime compatible with Material-UI.

bug 馃悰

Most helpful comment

I'm releasing v1.4.3.

All 14 comments

If I could help fix the issue, I'd be down to pair with someone to fix it.

got the error. thanks for the workaround. waiting for fix.

+1 Just got the issue. Thanks for the workaround

Thanks for the workaround @calebj0seph

Thanks for the workaround @calebj0seph , I'm using Yarn, and after I revert the version of @babel/runtime back, I need to run yarn clean cache to make it work .Hoping this would be fix soon.

I'm releasing v1.4.3.

Will .20.1 be updated as well, or does this spell the end for those of us still migrating and using both v.20.1 and v1.4.3?

@suubee v0.x is no longer maintained, but it should still be working. The issue only impacts v1.x

@oliviertassinari, curious how you are maintaining @material-ui/icons version 1.x & 2.x simultaneously. I see only a master branch. The reason I ask is that I saw version 1.4.3 and version 2.0.1 both released to fix this bug.

When should we expecte the update? @oliviertassinari.

PS: Thanks for the amazing work you are doing with the project. I'll take a look and try to contribute.

For the record, @TrySound warned us about the possibility of this issue to come a few months ago. We are sticking to Next.js version of babel@next. Hopefully, they will soon upgrade it: https://github.com/zeit/next.js/blob/b492e6703de62e1b4a63957350108ce8db6eeb68/package.json#L65. Otherwise, we will have to look into how we can stay up to date.

how you are maintaining @material-ui/icons version 1.x & 2.x simultaneously

@nareshbhatia It's a very good question. I don't think that we have found the best approach yet. Right now, the changelog is primarily here to keep track of @material-ui/core. The other packages have independent versions. There are different alternatives:

  1. Move all the versions together like Babel is doing. Unfortunately, we have to account for the lab. This package will most likely always stay in the alpha state, all version upgrade are potential breaking changes.
  2. Better document each satellite packages upgrade in the changelog, with their own breaking changes section under the same release note.
  3. Use different tags and changelog notes for each package.

This is a high-level overview of the spectrum of tradeoffs we can use. Let me know if you have a preference. At the end of the day, we do all this effort for you guys, so you can easily leverage Material-UI in your codebase.

@papaponmx It's already live.

@oliviertassinari, that's a hard one to answer, but my preference would be 3 (different tags and changelog notes for each package). This gives the finest grain of control. If that's hard, the next preference would be # 2.

Keeps happening with MUI 1.5.1

Was this page helpful?
0 / 5 - 0 ratings

Related issues

pola88 picture pola88  路  3Comments

FranBran picture FranBran  路  3Comments

zabojad picture zabojad  路  3Comments

finaiized picture finaiized  路  3Comments

sys13 picture sys13  路  3Comments