We transpile for the following targets:
ie 11
edge >= 14
firefox >= 52
chrome >= 49 // this should be 41 which is used by the google crawler
safari >= 10
node 8.0
We use every major release to update the list to include only the last 31 versions and use this snapshot throughout the lifetime of the release. For v4 this would mean
ie 11
edge >= 16
firefox >= 65
chrome >= 71
safari >= 11
node 10.0
1 Somewhat arbitrary. Used the default "last 2 versions" from browserslist and relaxed it by 1.
transform-destructuring accounts for around 2-3% of our bundle./cc @mui-org/community-partners @mui-org/core-contributors
This looks good to me, the market share we lose is probably very little and the benefits look to outweigh the very little cost :+1:
chrome >= 49 // this should be 41 which is used by the google crawler
@eps1lon We are lucky IE 11 and Chrome 41 supports almost the same JavaScript features. I would suspect it's the reason why Google Bot uses Chrome 41.
Once google updates their crawler to use a newer chrome version we can think about publishing a separate IE11 bundle.
If my assumption is correct, we will be able to drop Chrome 41 and IE 11 at the same time. But it's only speculation. I have asked Why? on Twitter. It seems Google plans to upgrade it.
Transpilation adds a considerable amount of bundle bloat. E.g. transform-destructuring accounts for around 2-3% of our bundle.
This probably why the classes to hooks migration are reducing our bundle size that much. We do no longer have to transpile the JavaScript class syntax.
Does this issue target v5?
Does this issue target v5?
Yes. I don't think we should change browser support on such a short notice. Even if it is only for "exotic" browsers (edge 14 isn't even available in browserstack). The bundle wouldn't benefit from it anyway since we still transpile for IE 11.
Today, we are happy to announce that Googlebot now runs the latest Chromium rendering engine (74 at the time of this post) when rendering pages for Search. Moving forward, Googlebot will regularly update its rendering engine to ensure support for latest web platform features.
https://webmasters.googleblog.com/2019/05/the-new-evergreen-googlebot.html
Something I haven't really thought about is our /es build. Since we explicitly say that
We also publish a second version of the components to target evergreen browsers.
we should be able to safely apply these changes to that build.
I started experimenting with it in #15629
Most helpful comment
This looks good to me, the market share we lose is probably very little and the benefits look to outweigh the very little cost :+1: