-
-
Notifications
You must be signed in to change notification settings - Fork 32.3k
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
[core] Ship modern bundle #22814
[core] Ship modern bundle #22814
Changes from 22 commits
6b587b7
0e11b39
8a75f9c
acfead4
8994e78
da4cd9b
eae0e0a
14bf563
1e7339d
a242deb
b592197
c544f29
426ad90
a5193c9
2ae909a
4a1eef2
1722f29
fa336f5
27172be
11cb3e5
00454f3
840e29e
950bc1f
a1229c0
92f8719
d565045
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,67 @@ | ||
ie 11 | ||
edge >= 14 | ||
firefox >= 52 | ||
chrome >= 49 | ||
safari >= 10 | ||
node 8.0 | ||
[modern] | ||
last 1 chrome version | ||
last 1 edge version | ||
last 1 firefox version | ||
last 1 safari version | ||
node 14 | ||
|
||
# Default/Fallback | ||
# `npx browserslist --mobile-to-desktop "> 0.5%, last 2 versions, Firefox ESR, not dead, not IE 11"` when the last major is released. | ||
# #stable-snapshot | ||
[stable] | ||
and_chr 84 | ||
and_ff 79 | ||
and_qq 10.4 | ||
and_uc 12.12 | ||
android 84 | ||
baidu 7.12 | ||
chrome 83 | ||
edge 83 | ||
firefox 68 | ||
ios_saf 12.0 | ||
kaios 2.5 | ||
op_mini all | ||
op_mob 69 | ||
opera 69 | ||
safari 13 | ||
samsung 11.1 | ||
|
||
# Same as `stable` but with IE 11 | ||
[legacy] | ||
IE 11 | ||
and_chr 84 | ||
and_ff 79 | ||
and_qq 10.4 | ||
and_uc 12.12 | ||
android 84 | ||
baidu 7.12 | ||
chrome 83 | ||
edge 83 | ||
firefox 68 | ||
ios_saf 12.0 | ||
kaios 2.5 | ||
op_mini all | ||
op_mob 69 | ||
opera 69 | ||
safari 13 | ||
samsung 11.1 | ||
|
||
# snapshot of `npx browserslist "maintained node versions"` | ||
[node] | ||
node 10.0 | ||
|
||
# same as `node` | ||
[coverage] | ||
node 10.0 | ||
|
||
# same as `node` | ||
[development] | ||
node 10.0 | ||
|
||
# same as `node` | ||
[test] | ||
node 10.0 | ||
|
||
# same as `node` | ||
[benchmark] | ||
node 10.0 |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -5,21 +5,26 @@ | |||||
## Browser | ||||||
|
||||||
Material-UI supports the latest, stable releases of all major browsers and platforms. | ||||||
It also supports Internet Explorer 11. | ||||||
You don't need to provide any JavaScript polyfill as it manages unsupported browser features internally and in isolation. | ||||||
|
||||||
| IE | Edge | Firefox | Chrome | Safari | Googlebot | | ||||||
| :-- | :---- | :------ | :----- | :----- | :-------- | | ||||||
| 11 | >= 14 | >= 52 | >= 49 | >= 10 | ✅ | | ||||||
<!-- #stable-snapshot --> | ||||||
|
||||||
| Edge | Firefox | Chrome | Safari | | ||||||
| :---- | :------ | :----- | :----- | | ||||||
| >= 83 | >= 68 | >= 83 | >= 13 | | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nice, it means we can drop: There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not so sure about the flexbox bug but I'll look again through the codebase for older polyfills. They should be part of this PR. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Or let's go over them when going over built-ins |
||||||
|
||||||
If you need to support IE 11, check out our [legacy bundle](/guides/minimizing-bundle-size#legacy-bundle). | ||||||
eps1lon marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
Because Googlebot uses a web rendering service (WRS) to index the page content, it's critical that Material-UI supports it. | ||||||
[WRS regularly updates the rendering engine it uses](https://webmasters.googleblog.com/2019/05/the-new-evergreen-googlebot.html). | ||||||
You can expect Material-UI's components to render without major issues. | ||||||
|
||||||
## Server | ||||||
|
||||||
Because Material-UI supports server-side rendering, it needs to support the latest, stable releases of [Node.js](https://github.com/nodejs/node). | ||||||
Where possible, the [LTS versions that are in maintenance](https://github.com/nodejs/Release#lts-schedule1) are supported. We recommend using **node v10.x** or newer. However we still support **node v8.x**. The support of **node v8.x** will be stopped in Material-UI Version 5. | ||||||
<!-- #stable-snapshot --> | ||||||
|
||||||
We support [Node.js](https://github.com/nodejs/node) starting with version 10 for server-side rendering. | ||||||
Where possible, the [LTS versions that are in maintenance](https://github.com/nodejs/Release#lts-schedule1) are supported. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we explicitly mention node v10? Also, have you considered starting at v12? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Definitely.
Will probably be node 12 on release. I think it makes sense to require node 12 even if we release a bit before LTS end. Otherwise we're stuck with it for the lifetime of v5. The I'll emphasise this more in the PR, add There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Realised this link hash no longer exists |
||||||
|
||||||
### CSS prefixing | ||||||
|
||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Am I reading this right that legacy SHOULD use ESModules? This is almost certainly a mistake, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe this stands for legacy ESM.
From microbundle readme:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you open an issue and fill out the template to describe the mistake? Discussions on merged PRs are oftentimes forgotten.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess I thought legacy was for ancient browsers like ie11, it seems that I might be incorrect about that. Thanks for the explanation, sorry for the mis-informed question. Have a nice day.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
legacy is for IE11. But IE11 does not understand ES modules nor CommonJS modules i.e. the code always needs a bundler anyway at which point we might as well ship ES modules to help tree-shaking.