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

[workspace] Bump babel dependencies to latest #16699

Merged
merged 6 commits into from
Jul 23, 2019

Conversation

eps1lon
Copy link
Member

@eps1lon eps1lon commented Jul 23, 2019

Bump babel dependencies and force a single version.

Those don't really work as nested node_modules anyway since the babel.config lives at the root.

@@ -133,6 +133,12 @@
"yarn-deduplicate": "^1.1.1"
},
"resolutions": {
"**/@babel/core": "^7.5.4",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are dependencies of the workspace and nextjs.

@mui-pr-bot
Copy link

Details of bundle changes.

Comparing: d0e6458...7be9ea9

bundle parsed diff gzip diff prev parsed current parsed prev gzip current gzip
@material-ui/core 0.00% 0.00% 325,844 325,844 89,862 89,862
@material-ui/core/Paper 0.00% 0.00% 67,971 67,971 20,322 20,322
@material-ui/core/Paper.esm 0.00% 0.00% 61,770 61,770 19,164 19,164
@material-ui/core/Popper 0.00% 0.00% 28,955 28,955 10,422 10,422
@material-ui/core/Textarea 0.00% 0.00% 5,534 5,534 2,368 2,368
@material-ui/core/TrapFocus 0.00% 0.00% 3,808 3,808 1,601 1,601
@material-ui/core/styles/createMuiTheme 0.00% 0.00% 16,156 16,156 5,811 5,811
@material-ui/core/useMediaQuery 0.00% 0.00% 3,098 3,098 1,314 1,314
@material-ui/lab 0.00% 0.00% 141,743 141,743 43,595 43,595
@material-ui/styles 0.00% 0.00% 51,387 51,387 15,306 15,306
@material-ui/system 0.00% 0.00% 15,574 15,574 4,438 4,438
Button 0.00% 0.00% 79,776 79,776 24,352 24,352
Modal 0.00% 0.00% 14,631 14,631 5,224 5,224
Portal 0.00% 0.00% 3,484 3,484 1,565 1,565
Rating 0.00% 0.00% 70,334 70,334 22,067 22,067
Slider 0.00% 0.00% 75,105 75,105 23,305 23,305
colorManipulator 0.00% 0.00% 3,904 3,904 1,543 1,543
docs.landing 0.00% +0.01% 🔺 51,259 51,259 13,537 13,538
docs.main 0.00% 0.00% 580,321 580,321 190,344 190,344
packages/material-ui/build/umd/material-ui.production.min.js 0.00% 0.00% 299,989 299,989 86,208 86,208
docs: / 0.00% 0.00% 55,200 55,200 -1 -1
docs: /_app 0.00% 0.00% 136,000 136,000 -1 -1
docs: /_error 0.00% 0.00% 2,110 2,110 -1 -1
docs: /blog/2019-developer-survey-results 0.00% 0.00% 13,600 13,600 -1 -1
docs: /blog/april-2019-update 0.00% 0.00% 4,620 4,620 -1 -1
docs: /blog/june-2019-update 0.00% 0.00% 2,200 2,200 -1 -1
docs: /blog/march-2019-update 0.00% 0.00% 3,180 3,180 -1 -1
docs: /blog/material-ui-v4-is-out 0.00% 0.00% 22,500 22,500 -1 -1
docs: /blog/may-2019-update 0.00% 0.00% 2,750 2,750 -1 -1
docs: /components/about-the-lab 0.00% 0.00% 6,370 6,370 -1 -1
docs: /components/app-bar 0.00% 0.00% 132,000 132,000 -1 -1
docs: /components/autocomplete 0.00% 0.00% 304,000 304,000 -1 -1
docs: /components/avatars 0.00% 0.00% 26,600 26,600 -1 -1
docs: /components/badges 0.00% 0.00% 60,000 60,000 -1 -1
docs: /components/bottom-navigation 0.00% 0.00% 26,900 26,900 -1 -1
docs: /components/box 0.00% 0.00% 32,800 32,800 -1 -1
docs: /components/breadcrumbs 0.00% 0.00% 98,800 98,800 -1 -1
docs: /components/buttons 0.00% 0.00% 233,000 233,000 -1 -1
docs: /components/cards 0.00% 0.00% 72,400 72,400 -1 -1
docs: /components/checkboxes 0.00% 0.00% 65,000 65,000 -1 -1
docs: /components/chips 0.00% 0.00% 114,000 114,000 -1 -1
docs: /components/click-away-listener 0.00% 0.00% 13,300 13,300 -1 -1
docs: /components/container 0.00% 0.00% 13,300 13,300 -1 -1
docs: /components/css-baseline 0.00% 0.00% 20,100 20,100 -1 -1
docs: /components/dialogs 0.00% 0.00% 220,000 220,000 -1 -1
docs: /components/dividers 0.00% 0.00% 50,500 50,500 -1 -1
docs: /components/drawers 0.00% 0.00% 225,000 225,000 -1 -1
docs: /components/expansion-panels 0.00% 0.00% 83,700 83,700 -1 -1
docs: /components/grid 0.00% 0.00% 152,000 152,000 -1 -1
docs: /components/grid-list 0.00% 0.00% 56,800 56,800 -1 -1
docs: /components/hidden 0.00% 0.00% 54,700 54,700 -1 -1
docs: /components/icons 0.00% 0.00% 145,000 145,000 -1 -1
docs: /components/links 0.00% 0.00% 51,900 51,900 -1 -1
docs: /components/lists 0.00% 0.00% 155,000 155,000 -1 -1
docs: /components/menus 0.00% 0.00% 88,500 88,500 -1 -1
docs: /components/modal 0.00% 0.00% 37,300 37,300 -1 -1
docs: /components/no-ssr 0.00% 0.00% 15,800 15,800 -1 -1
docs: /components/paper 0.00% 0.00% 9,510 9,510 -1 -1
docs: /components/pickers 0.00% 0.00% 187,000 187,000 -1 -1
docs: /components/popover 0.00% 0.00% 67,700 67,700 -1 -1
docs: /components/popper 0.00% 0.00% 113,000 113,000 -1 -1
docs: /components/portal 0.00% 0.00% 12,100 12,100 -1 -1
docs: /components/progress 0.00% 0.00% 102,000 102,000 -1 -1
docs: /components/radio-buttons 0.00% 0.00% 57,800 57,800 -1 -1
docs: /components/rating 0.00% 0.00% 49,800 49,800 -1 -1
docs: /components/selects 0.00% 0.00% 163,000 163,000 -1 -1
docs: /components/slider 0.00% 0.00% 78,900 78,900 -1 -1
docs: /components/snackbars 0.00% 0.00% 117,000 117,000 -1 -1
docs: /components/speed-dial 0.00% 0.00% 53,500 53,500 -1 -1
docs: /components/steppers 0.00% 0.00% 207,000 207,000 -1 -1
docs: /components/switches 0.00% 0.00% 72,800 72,800 -1 -1
docs: /components/tables 0.00% 0.00% 730,000 730,000 -1 -1
docs: /components/tabs 0.00% 0.00% 156,000 156,000 -1 -1
docs: /components/text-fields 0.00% 0.00% 298,000 298,000 -1 -1
docs: /components/textarea-autosize 0.00% 0.00% 9,750 9,750 -1 -1
docs: /components/toggle-button 0.00% 0.00% 21,800 21,800 -1 -1
docs: /components/tooltips 0.00% 0.00% 94,500 94,500 -1 -1
docs: /components/transfer-list 0.00% 0.00% 47,800 47,800 -1 -1
docs: /components/transitions 0.00% 0.00% 58,000 58,000 -1 -1
docs: /components/typography 0.00% 0.00% 38,800 38,800 -1 -1
docs: /components/use-media-query 0.00% 0.00% 60,600 60,600 -1 -1
docs: /customization/breakpoints 0.00% 0.00% 80,500 80,500 -1 -1
docs: /customization/color 0.00% 0.00% 97,700 97,700 -1 -1
docs: /customization/components 0.00% 0.00% 164,000 164,000 -1 -1
docs: /customization/default-theme 0.00% 0.00% 75,700 75,700 -1 -1
docs: /customization/density 0.00% 0.00% 39,300 39,300 -1 -1
docs: /customization/globals 0.00% 0.00% 19,800 19,800 -1 -1
docs: /customization/palette 0.00% 0.00% 57,500 57,500 -1 -1
docs: /customization/spacing 0.00% 0.00% 12,600 12,600 -1 -1
docs: /customization/themes 0.00% 0.00% 61,400 61,400 -1 -1
docs: /customization/typography 0.00% 0.00% 431,000 431,000 -1 -1
docs: /customization/z-index 0.00% 0.00% 9,730 9,730 -1 -1
docs: /discover-more/backers 0.00% 0.00% 6,780 6,780 -1 -1
docs: /discover-more/changelog 0.00% 0.00% 3,560 3,560 -1 -1
docs: /discover-more/community 0.00% 0.00% 5,440 5,440 -1 -1
docs: /discover-more/governance 0.00% 0.00% 6,800 6,800 -1 -1
docs: /discover-more/languages 0.00% 0.00% 10,100 10,100 -1 -1
docs: /discover-more/related-projects 0.00% 0.00% 18,800 18,800 -1 -1
docs: /discover-more/roadmap 0.00% 0.00% 6,610 6,610 -1 -1
docs: /discover-more/showcase 0.00% 0.00% 70,300 70,300 -1 -1
docs: /discover-more/team 0.00% 0.00% 21,800 21,800 -1 -1
docs: /discover-more/vision 0.00% 0.00% 19,100 19,100 -1 -1
docs: /getting-started/example-projects 0.00% 0.00% 24,000 24,000 -1 -1
docs: /getting-started/faq 0.00% 0.00% 154,000 154,000 -1 -1
docs: /getting-started/installation 0.00% 0.00% 31,600 31,600 -1 -1
docs: /getting-started/learn 0.00% 0.00% 37,300 37,300 -1 -1
docs: /getting-started/page-layout-examples 0.00% 0.00% 28,800 28,800 -1 -1
docs: /getting-started/page-layout-examples/album 0.00% 0.00% 9,850 9,850 -1 -1
docs: /getting-started/page-layout-examples/blog 0.00% 0.00% 31,900 31,900 -1 -1
docs: /getting-started/page-layout-examples/checkout 0.00% 0.00% 46,300 46,300 -1 -1
docs: /getting-started/page-layout-examples/dashboard 0.00% 0.00% 393,000 393,000 -1 -1
docs: /getting-started/page-layout-examples/pricing 0.00% 0.00% 20,300 20,300 -1 -1
docs: /getting-started/page-layout-examples/sign-in 0.00% 0.00% 43,000 43,000 -1 -1
docs: /getting-started/page-layout-examples/sign-in-side 0.00% 0.00% 43,200 43,200 -1 -1
docs: /getting-started/page-layout-examples/sign-up 0.00% 0.00% 43,400 43,400 -1 -1
docs: /getting-started/page-layout-examples/sticky-footer 0.00% 0.00% 2,090 2,090 -1 -1
docs: /getting-started/supported-components 0.00% 0.00% 73,800 73,800 -1 -1
docs: /getting-started/supported-platforms 0.00% 0.00% 23,800 23,800 -1 -1
docs: /getting-started/usage 0.00% 0.00% 32,200 32,200 -1 -1
docs: /guides/api 0.00% 0.00% 62,100 62,100 -1 -1
docs: /guides/composition 0.00% 0.00% 106,000 106,000 -1 -1
docs: /guides/flow 0.00% 0.00% 6,690 6,690 -1 -1
docs: /guides/interoperability 0.00% 0.00% 185,000 185,000 -1 -1
docs: /guides/migration-v0x 0.00% 0.00% 52,300 52,300 -1 -1
docs: /guides/migration-v3 0.00% 0.00% 131,000 131,000 -1 -1
docs: /guides/minimizing-bundle-size 0.00% 0.00% 45,500 45,500 -1 -1
docs: /guides/responsive-ui 0.00% 0.00% 14,400 14,400 -1 -1
docs: /guides/right-to-left 0.00% 0.00% 46,100 46,100 -1 -1
docs: /guides/server-rendering 0.00% 0.00% 58,500 58,500 -1 -1
docs: /guides/testing 0.00% 0.00% 53,900 53,900 -1 -1
docs: /guides/typescript 0.00% 0.00% 80,100 80,100 -1 -1
docs: /performance/table-component 0.00% 0.00% 1,340 1,340 -1 -1
docs: /performance/table-emotion 0.00% 0.00% 25,200 25,200 -1 -1
docs: /performance/table-hook 0.00% 0.00% 1,420 1,420 -1 -1
docs: /performance/table-mui 0.00% 0.00% 6,280 6,280 -1 -1
docs: /performance/table-raw 0.00% 0.00% 1,110 1,110 -1 -1
docs: /performance/table-styled-components 0.00% 0.00% 43,200 43,200 -1 -1
docs: /premium-themes/instapaper 0.00% 0.00% 87,800 87,800 -1 -1
docs: /premium-themes/onepirate 0.00% 0.00% 50,400 50,400 -1 -1
docs: /premium-themes/onepirate/forgot-password 0.00% 0.00% 75,800 75,800 -1 -1
docs: /premium-themes/onepirate/privacy 0.00% 0.00% 69,300 69,300 -1 -1
docs: /premium-themes/onepirate/sign-in 0.00% 0.00% 76,200 76,200 -1 -1
docs: /premium-themes/onepirate/sign-up 0.00% 0.00% 76,400 76,400 -1 -1
docs: /premium-themes/onepirate/terms 0.00% 0.00% 92,100 92,100 -1 -1
docs: /premium-themes/paperbase 0.00% 0.00% 53,300 53,300 -1 -1
docs: /premium-themes/tweeper 0.00% 0.00% 95,200 95,200 -1 -1
docs: /styles/advanced 0.00% 0.00% 235,000 235,000 -1 -1
docs: /styles/api 0.00% 0.00% 126,000 126,000 -1 -1
docs: /styles/basics 0.00% 0.00% 89,300 89,300 -1 -1
docs: /system/api 0.00% 0.00% 77,700 77,700 -1 -1
docs: /system/basics 0.00% 0.00% 187,000 187,000 -1 -1
docs: /system/borders 0.00% 0.00% 37,800 37,800 -1 -1
docs: /system/display 0.00% 0.00% 58,000 58,000 -1 -1
docs: /system/flexbox 0.00% 0.00% 68,400 68,400 -1 -1
docs: /system/palette 0.00% 0.00% 27,600 27,600 -1 -1
docs: /system/positions 0.00% 0.00% 22,000 22,000 -1 -1
docs: /system/shadows 0.00% 0.00% 21,100 21,100 -1 -1
docs: /system/sizing 0.00% 0.00% 29,900 29,900 -1 -1
docs: /system/spacing 0.00% 0.00% 49,700 49,700 -1 -1
docs: /system/typography 0.00% 0.00% 45,100 45,100 -1 -1
docs: /versions 0.00% 0.00% 76,700 76,700 -1 -1

Generated by 🚫 dangerJS against 7be9ea9

@@ -37,7 +37,7 @@
"react-dom": "^16.8.0"
},
"dependencies": {
"@babel/runtime": "^7.2.0",
"@babel/runtime": "^7.4.4",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we transpile with @babel/plugin-transform-runtime then we need a production dependency that is equal or higher to the transform version. Otherwise missing dependencies can occur downstream. Consider the following scenario:

Downstream:
@material-ui/core: 4.0.0
@babel/runtime: 7.2.0
Upstream:
@babel/plugin-transform-runtime: 7.2.0

Now we bump @babel/plugin-transform-runtime by a minor. In that minor a @babel/plugin-transform-runtime leverages a new helper method that is introduced in 7.3.0. We release a new version of @material-ui/core which is built with @babel/[email protected] without bumping th @babel/runtime dependency entry. Downstream updates @material-ui/core but not @babel/runtime since the semver range still matches. The downloaded package of @material-ui/core has no access to the new helper function and crashes.

I think we got reports of this a couple of times. It's fixable downstream by bumping @babel/runtime but wouldn't need intervention if we would also bump the entry of @babel/runtime.

@eps1lon eps1lon changed the title [workspace] [workspace] Bump babel dependencies to latest Jul 23, 2019
@eps1lon eps1lon marked this pull request as ready for review July 23, 2019 10:59
@oliviertassinari
Copy link
Member

If I understand that changes correctly, we undo the tradeoff Next.js took regarding Babel. We will use a more recent version of Babel than Next.js uses. So we win access to the latest Babel enhancements, x months in advance.

@eps1lon
Copy link
Member Author

eps1lon commented Jul 23, 2019

It's more about making sure we have a proper node_modules layout. We were using nextjs babel packages for months before we upgraded to next@9 which is why bundle size for our packages dropped when we upgraded.

The stance "can't introduce breakage if you don't upgrade" is motivated by the assumption that your current code is bug free which is just hybris. It's not about undoing a "tradeoff" but fixing a rational that is incomplete.

Again it's less about features but making sure we have the latest fixes.

@eps1lon eps1lon merged commit 7976bd7 into mui:master Jul 23, 2019
@eps1lon eps1lon deleted the build/consistent-pin branch July 23, 2019 16:21
@zannager zannager added the core Infrastructure work going on behind the scenes label Feb 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Infrastructure work going on behind the scenes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants