-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
Update to Browserslist 4.14.5 #12241
Conversation
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/30855/ |
"android": "61.0.0", | ||
"android": "81.0.0", | ||
"chrome": "61.0.0", | ||
"edge": "16.0.0", | ||
"firefox": "60.0.0", | ||
"ie": "11.0.0", | ||
"ios": "10.3.0", | ||
"node": "13.2.0", | ||
"opera": "48.0.0", |
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.
In theory this shouldn't have changed, but:
node
is removed because Browserslist usescompat-table
which doesn't include data for Node.js. It's not a problem, because all the transforms required for Node.js 13.2 are required for the other browsers in this query anyway 🤷android
is changed becausecompat-table
only keeps data for the last version. I kind of expected Browserslist to automatically use the Chrome version (like we do in our generated compat data) since we are using themobileToDesktop: true
Browserslist option, but again it's not observable sinceandroid 61
is already covered bychrome 61
in these targets.
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.
This will become a breaking change, if we decide { esmodule: true }
should intersect other queries (babel/rfcs#2 (comment)), i.e. B({ esmodule: true }) ∩ B({ android: 78 })
will no longer be B({ android: 78 })
but B({ android: 81 })
, where B
is the browsers set returned from @babel/helper-compilation-targets
. Likewise for node
.
@ai I think it is a bug if supports feature
query does not respect mobileToDesktop: true
npx browserslist --mobile-to-desktop "supports es6-module"
should contain android 61
.
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 realized that we won't be able to use a Browserslist-based intersection anyway.
Currently targets: ["chrome 30"]
resolves to "compile everything down to chrome 30, but targets: ["chrome 30 and supports es6-module"]
resolves to an empty set because there isn't any browser that both is chrome 30 and supports esm.
The query should have been chrome >= 30 and supports es6-module
, but it given how targets
has always being working users probably rely on >=
being optional.
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.
Reverted
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit d7df4c3:
|
35ed83c
to
4815683
Compare
"firefox": "68", | ||
"firefox": "74", |
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.
This is a change in Browserslist's defaults
5bd35e8
to
d7df4c3
Compare
esmodules
data
browserslist
updateThis PRs updates to Browserslist 4.14, and uses the new
supports es6-module
query instead of our custom logic to build theesmodules: true
query.I wanted to include this in #12189, but since it's just a small refactoring I moved it to a separate PR.