Commit Graph

6 Commits

Author SHA1 Message Date
Seba Kerckhof
deaf8825b5 fix typo ie11 -> ie12 (#10519) 2019-04-09 15:24:59 -04:00
Ben Newman
39295cc136 Support both mobile_safari and mobileSafari for isModern testing.
https://github.com/meteor/meteor/issues/9717#issuecomment-392521536
2018-05-28 12:22:19 -04:00
Ben Newman
fb9321870e Set minimum modern versions for Electron.
This effectively means Electron 1.6.0+ will be considered modern.

Fixes #9852.
2018-05-03 13:30:34 -04:00
Ben Newman
3502761c4d Exclude IE11 and all earlier versions from modern classification.
Builds on #9793.
Fixes #9818.
Fixes #9839.
2018-04-25 12:35:45 -04:00
Ben Newman
5d0fd60c61 Allow explicit source parameter to setMinimumBrowserVersions.
Calling getCaller was noticeably slowing down server startup,
unfortunately.

cc @hwillson
2018-01-22 18:07:54 -05:00
Ben Newman
24d757c344 Import only modern core-js polyfills in ecmascript-runtime-client.
In my research, I found the data used by @babel/preset-env to be more
conservative than necessary, so I have not followed their minimum version
constraints exactly.

For example, every feature of the ECMAScript `Map` API is clearly
supported in Firefox 45+, according to MDN:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Browser_compatibility

However, @babel/preset-env requires `core-js/modules/es6.map` in any
version of Firefox earlier than 53:
e270fbe7f0/packages/babel-preset-env/data/built-ins.json (L117)

Since I can't find any evidence that @babel/preset-env knows better than
other sources (I think they might just be using a compatibility table that
doesn't go back far enough), I have tentatively trusted MDN in picking
these versions.

If any bugs are ever reported due to this choice of versions and
polyfills, we have two options to fix them:

* Tighten the minimum version constraints so that the affected browsers
  are considered legacy instead of modern.

* Include the missing `core-js` polyfills for all modern browsers.
2018-01-22 18:07:54 -05:00