babel/packages/babel-plugin-transform-es2015-classes
Daniel Tschinder 10cd6519d8 Fix class inheritance in IE <=10 (T3041) (#3527)
* Fix class inheritance in IE9 & IE10 (T3041)

Internet Explorer 9&10 do not support __proto__ at all, don't have
Object.setPrototypeOf(), but have Object.getPrototypeOf().

Because of this setting the prototype is not possible, which makes the
babelHelpers.inherits() function to set __proto__ although not supported.

Afterwards Object.getPrototypeOf() is used, but this one is not
respecting the "custom" property __proto__ that we set.

The solution is to check for __proto__ first and afterwards fallback to
Object.getPrototypeOf().

* Do the same logic in babel-helper-replace-supers

* Fix tests

* Extract creation of prototype nodes to small helper
2016-08-23 15:08:44 -04:00
..
2016-05-17 14:49:17 -04:00

babel-plugin-transform-es2015-classes

Compile ES2015 classes to ES5

Installation

$ npm install babel-plugin-transform-es2015-classes

Usage

.babelrc

// without options
{
  "plugins": ["transform-es2015-classes"]
}

// with options
{
  "plugins": [
    ["transform-es2015-classes", {
      "loose": true
    }]
  ]
}

Via CLI

$ babel --plugins transform-es2015-classes script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-es2015-classes"]
});