12.0.0-3 • Published 6 years ago

@gerhobbelt/babel-preset-modern-browsers v12.0.0-3

Weekly downloads
2
License
ISC
Repository
github
Last release
6 years ago

This preset covers es2015, es2016, es2017 and es2018.

More info in the compatibility table below

babel 7

Since v12, this package requires @babel/core@7.0.0. If you use babel 6, you can still use the version "11.0.1" of this package. If you want to migrate, you can read the announcement and the official migration guide.

Alternatives

Modern browsers

  • with edge: true: Edge 15 Firefox 53 Chrome 55 Opera 42 Safari 10.1
  • with edge: false: Firefox 57 Chrome 63 Opera 50 Safari 10.1

Installation

npm install --save-dev babel-preset-modern-browsers@next @babel/core

Usage

Add the following line to your .babelrc file:

{
  "presets": ["modern-browsers"]
}

Options

  • loose: Enable “loose” transformations for any plugins in this preset that allow them (Disabled by default).
  • modules - Enable transformation of ES6 module syntax to another module type (Enabled by default to "commonjs"). Can be false to not transform modules, or "commonjs"
  • es2018 - Enable es2018 features (Enabled by default)
  • shippedProposals - Enable features in stages but already available in browsers (Enabled by default)
  • edge - Support Edge (Enabled by default)
{
  presets: [
    ["modern-browsers", { "loose": true }]
  ]
}
{
  presets: [
    [require("babel-preset-modern-browsers"), { "loose": true }]
  ]
}

Edge

Missing features added for edge option:

  • function-name
  • object rest/spread properties

Compatibility Table

Note: most unused plugins are babel 6 plugins, I didn't update them for the documentation.

FeatureEdgeFirefoxChromeOperaSafari
Shipped Proposals
Optional catch bindingEdge NoneFirefox 58Chrome 66Opera 53Safari 11.1
↳ (used) syntax-optional-catch-binding
ES2018
Object Rest/Spread PropertiesEdge NoneFirefox 55Chrome 60Opera 47Safari 11.1
edge: proposal-object-rest-spreadelse syntax-object-rest-spread
RegExp Unicode Property EscapesEdge NoneFirefox NoneChrome 64Opera 51Safari 11.1
↳ (used) proposal-unicode-property-regex
Asynchronous IteratorsEdge NoneFirefox 57Chrome 63Opera 50Safari 11.1
edge: plugin-proposal-async-generator-functionselse syntax-async-generators
ES2017
trailing commas in functionEdge 14Firefox 52Chrome 58Opera 45Safari 10
↳ (used) syntax-trailing-function-commas
async functionEdge 15Firefox 52Chrome 55Opera 42Safari 10.1
↳ (unused) transform-async-to-generator
ES2016
exponentiation operatorEdge 14Firefox 52Chrome 52Opera 39Safari 10
↳ (unused) transform-exponentiation-operator
ES2015Edge PartialFirefox 53Chrome 52Opera 39Safari 10
Syntax
default parametersEdge 14Firefox 53Chrome 49Opera 36Safari 10
↳ (unused) transform-es2015-parameters
rest parametersEdge 12Firefox 43Chrome 47Opera 34Safari 10
↳ (unused) transform-es2015-parameters
spreadEdge 13Firefox 36Chrome 46Opera 33Safari 10
↳ (unused) transform-es2015-spread
computed propertiesEdge 12Firefox 34Chrome 44Opera 31Safari 7.1
↳ (unused) transform-es2015-computed-properties
shorthand propertiesEdge 12Firefox 33Chrome 43Opera 30Safari 9
↳ (unused) transform-es2015-shorthand-properties
for...ofEdge 14Firefox 53Chrome 51Opera 38Safari 10
↳ (unused) transform-es2015-for-of
template stringEdge 13Firefox 34Chrome 41Opera 28Safari 9
↳ (unused) transform-es2015-template-literals
Regexp stickyEdge 13Firefox 31Chrome 49Opera 36Safari 10
↳ (unused) transform-es2015-sticky-regex
Regexp unicodeEdge 12Firefox 46Chrome 51Opera 38Safari 10
↳ (unused) transform-es2015-unicode-regex
destructuringEdge 15Firefox 53Chrome 52Opera 39Safari 10
↳ (unused) transform-es2015-destructuring
Unicode StringsEdge 12Firefox 45Chrome 44Opera 31Safari 9
Octal/Binary NumbersEdge 12Firefox 36Chrome 41Opera 28Safari 9
↳ (unused) transform-es2015-literals
Bindings
constEdge 14Firefox 51Chrome 49Opera 36Safari 10
letEdge 14Firefox 51Chrome 49Opera 36Safari 10
↳ (unused) transform-es2015-block-scoping
block-level function declarationEdge 11Firefox 46Chrome 41Opera 28Safari 10
↳ (unused) transform-es2015-block-scoped-functions
Functions
arrow functionsEdge 13Firefox 45Chrome 49Opera 36Safari 10
↳ (used with edge, with function-name) transform-es2015-arrow-functions
classesEdge 13Firefox 45Chrome 49Opera 36Safari 10
↳ (unused) transform-es2015-classes
superEdge 13Firefox 45Chrome 49Opera 36Safari 10
↳ (unused) transform-es2015-object-super
generatorsEdge 13Firefox 53Chrome 51Opera 38Safari 10
↳ (unused) transform-regenerator
Built-ins
typeof SymbolEdge 12Firefox 36Chrome 38Opera 25Safari 9
↳ (unused) transform-es2015-typeof-symbol
Built-in extensions
function nameEdge PartialFirefox 53Chrome 52Opera 39Safari 10
↳ (used with edge) transform-es2015-function-name

Release Dates

Firefox

DateVersionESR
2018-12-11Firefox 64
2018-10-23Firefox 63
2018-09-05Firefox 62
2018-06-26Firefox 61
2018-05-09Firefox 60ESR
2018-03-13Firefox 59
2018-01-16Firefox 58

Chrome (Desktop release date) (Version History)

DateVersion
2018-10-16Chrome 70
2018-09-04Chrome 69
2018-07-24Chrome 68
2018-05-29Chrome 67
2018-04-17Chrome 66
2018-03-06Chrome 65
2018-01-23Chrome 64

Safari (Version History)

DateVersion
2018-03-29Safari 11.1
2017-09-19Safari 11.0
2017-03-27Safari 10.1
2016-09-20Safari 10.0

Edge (Version History)

DateVersion
2018-04-30Edge 17
2017-09-26Edge 16
2017-03-20Edge 15

Thanks