fix remaining babel helper issues
This commit is contained in:
parent
ca1ca2055d
commit
fe5aff09a4
@ -74,9 +74,9 @@ function buildVar(namespace, builder) {
|
|||||||
|
|
||||||
function buildHelpers(body, namespace, whitelist) {
|
function buildHelpers(body, namespace, whitelist) {
|
||||||
each(helpers.list, function (name) {
|
each(helpers.list, function (name) {
|
||||||
if (whitelist && whitelist.indexOf(name) >= 0) return;
|
if (whitelist && whitelist.indexOf(name) < 0) return;
|
||||||
|
|
||||||
let key = t.identifier(t.toIdentifier(name));
|
let key = t.identifier(name);
|
||||||
body.push(t.expressionStatement(
|
body.push(t.expressionStatement(
|
||||||
t.assignmentExpression("=", t.memberExpression(namespace, key), helpers.get(name))
|
t.assignmentExpression("=", t.memberExpression(namespace, key), helpers.get(name))
|
||||||
));
|
));
|
||||||
|
|||||||
@ -1,12 +1,15 @@
|
|||||||
import template from "babel-template";
|
import template from "babel-template";
|
||||||
|
|
||||||
export let _typeof = template(`
|
let helpers = {};
|
||||||
|
export default helpers;
|
||||||
|
|
||||||
|
helpers.typeof = template(`
|
||||||
(function (obj) {
|
(function (obj) {
|
||||||
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
||||||
});
|
});
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let createRawReactElement = template(`
|
helpers.createRawReactElement = template(`
|
||||||
(function () {
|
(function () {
|
||||||
var REACT_ELEMENT_TYPE = (typeof Symbol === "function" && Symbol.for && Symbol.for("react.element")) || 0xeac7;
|
var REACT_ELEMENT_TYPE = (typeof Symbol === "function" && Symbol.for && Symbol.for("react.element")) || 0xeac7;
|
||||||
|
|
||||||
@ -24,7 +27,7 @@ export let createRawReactElement = template(`
|
|||||||
})()
|
})()
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let asyncToGenerator = template(`
|
helpers.asyncToGenerator = template(`
|
||||||
(function (fn) {
|
(function (fn) {
|
||||||
return function () {
|
return function () {
|
||||||
var gen = fn.apply(this, arguments);
|
var gen = fn.apply(this, arguments);
|
||||||
@ -56,7 +59,7 @@ export let asyncToGenerator = template(`
|
|||||||
`);
|
`);
|
||||||
|
|
||||||
|
|
||||||
export let classCallCheck = template(`
|
helpers.classCallCheck = template(`
|
||||||
(function (instance, Constructor) {
|
(function (instance, Constructor) {
|
||||||
if (!(instance instanceof Constructor)) {
|
if (!(instance instanceof Constructor)) {
|
||||||
throw new TypeError("Cannot call a class as a function");
|
throw new TypeError("Cannot call a class as a function");
|
||||||
@ -64,7 +67,7 @@ export let classCallCheck = template(`
|
|||||||
});
|
});
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let createClass = template(`
|
helpers.createClass = template(`
|
||||||
(function() {
|
(function() {
|
||||||
function defineProperties(target, props) {
|
function defineProperties(target, props) {
|
||||||
for (var i = 0; i < props.length; i ++) {
|
for (var i = 0; i < props.length; i ++) {
|
||||||
@ -84,7 +87,7 @@ export let createClass = template(`
|
|||||||
})()
|
})()
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let defaultProps = template(`
|
helpers.defaultProps = template(`
|
||||||
(function (defaultProps, props) {
|
(function (defaultProps, props) {
|
||||||
if (defaultProps) {
|
if (defaultProps) {
|
||||||
for (var propName in defaultProps) {
|
for (var propName in defaultProps) {
|
||||||
@ -98,7 +101,7 @@ export let defaultProps = template(`
|
|||||||
`);
|
`);
|
||||||
|
|
||||||
|
|
||||||
export let defineEnumerableProperties = template(`
|
helpers.defineEnumerableProperties = template(`
|
||||||
(function (obj, descs) {
|
(function (obj, descs) {
|
||||||
for (var key in descs) {
|
for (var key in descs) {
|
||||||
var desc = descs[key];
|
var desc = descs[key];
|
||||||
@ -110,7 +113,7 @@ export let defineEnumerableProperties = template(`
|
|||||||
})
|
})
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let defaults = template(`
|
helpers.defaults = template(`
|
||||||
(function (obj, defaults) {
|
(function (obj, defaults) {
|
||||||
var keys = Object.getOwnPropertyNames(defaults);
|
var keys = Object.getOwnPropertyNames(defaults);
|
||||||
for (var i = 0; i < keys.length; i++) {
|
for (var i = 0; i < keys.length; i++) {
|
||||||
@ -124,7 +127,7 @@ export let defaults = template(`
|
|||||||
})
|
})
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let defineProperty = template(`
|
helpers.defineProperty = template(`
|
||||||
(function (obj, key, value) {
|
(function (obj, key, value) {
|
||||||
// Shortcircuit the slow defineProperty path when possible.
|
// Shortcircuit the slow defineProperty path when possible.
|
||||||
// We are trying to avoid issues where setters defined on the
|
// We are trying to avoid issues where setters defined on the
|
||||||
@ -145,7 +148,7 @@ export let defineProperty = template(`
|
|||||||
});
|
});
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let _extends = template(`
|
helpers.extends = template(`
|
||||||
Object.assign || (function (target) {
|
Object.assign || (function (target) {
|
||||||
for (var i = 1; i < arguments.length; i++) {
|
for (var i = 1; i < arguments.length; i++) {
|
||||||
var source = arguments[i];
|
var source = arguments[i];
|
||||||
@ -159,7 +162,7 @@ export let _extends = template(`
|
|||||||
})
|
})
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let get = template(`
|
helpers.get = template(`
|
||||||
(function get(object, property, receiver) {
|
(function get(object, property, receiver) {
|
||||||
if (object === null) object = Function.prototype;
|
if (object === null) object = Function.prototype;
|
||||||
|
|
||||||
@ -188,7 +191,7 @@ export let get = template(`
|
|||||||
`);
|
`);
|
||||||
|
|
||||||
|
|
||||||
export let inherits = template(`
|
helpers.inherits = template(`
|
||||||
(function (subClass, superClass) {
|
(function (subClass, superClass) {
|
||||||
if (typeof superClass !== "function" && superClass !== null) {
|
if (typeof superClass !== "function" && superClass !== null) {
|
||||||
throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
|
throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
|
||||||
@ -205,7 +208,7 @@ export let inherits = template(`
|
|||||||
})
|
})
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let _instanceof = template(`
|
helpers.instanceof = template(`
|
||||||
(function (left, right) {
|
(function (left, right) {
|
||||||
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
||||||
return right[Symbol.hasInstance](left);
|
return right[Symbol.hasInstance](left);
|
||||||
@ -216,13 +219,13 @@ export let _instanceof = template(`
|
|||||||
`);
|
`);
|
||||||
|
|
||||||
|
|
||||||
export let interopRequireDefault = template(`
|
helpers.interopRequireDefault = template(`
|
||||||
(function (obj) {
|
(function (obj) {
|
||||||
return obj && obj.__esModule ? obj : { default: obj };
|
return obj && obj.__esModule ? obj : { default: obj };
|
||||||
})
|
})
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let interopRequireWildcard = template(`
|
helpers.interopRequireWildcard = template(`
|
||||||
(function (obj) {
|
(function (obj) {
|
||||||
if (obj && obj.__esModule) {
|
if (obj && obj.__esModule) {
|
||||||
return obj;
|
return obj;
|
||||||
@ -239,7 +242,7 @@ export let interopRequireWildcard = template(`
|
|||||||
})
|
})
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let newArrowCheck = template(`
|
helpers.newArrowCheck = template(`
|
||||||
(function (innerThis, boundThis) {
|
(function (innerThis, boundThis) {
|
||||||
if (innerThis !== boundThis) {
|
if (innerThis !== boundThis) {
|
||||||
throw new TypeError("Cannot instantiate an arrow function");
|
throw new TypeError("Cannot instantiate an arrow function");
|
||||||
@ -247,13 +250,13 @@ export let newArrowCheck = template(`
|
|||||||
});
|
});
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let objectDestructuringEmpty = template(`
|
helpers.objectDestructuringEmpty = template(`
|
||||||
(function (obj) {
|
(function (obj) {
|
||||||
if (obj == null) throw new TypeError("Cannot destructure undefined");
|
if (obj == null) throw new TypeError("Cannot destructure undefined");
|
||||||
});
|
});
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let objectWithoutProperties = template(`
|
helpers.objectWithoutProperties = template(`
|
||||||
(function (obj, keys) {
|
(function (obj, keys) {
|
||||||
var target = {};
|
var target = {};
|
||||||
for (var i in obj) {
|
for (var i in obj) {
|
||||||
@ -265,7 +268,7 @@ export let objectWithoutProperties = template(`
|
|||||||
})
|
})
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let possibleConstructorReturn = template(`
|
helpers.possibleConstructorReturn = template(`
|
||||||
(function (self, call) {
|
(function (self, call) {
|
||||||
if (!self) {
|
if (!self) {
|
||||||
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
||||||
@ -274,11 +277,11 @@ export let possibleConstructorReturn = template(`
|
|||||||
});
|
});
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let selfGlobal = template(`
|
helpers.selfGlobal = template(`
|
||||||
typeof global === "undefined" ? self : global
|
typeof global === "undefined" ? self : global
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let set = template(`
|
helpers.set = template(`
|
||||||
(function set(object, property, value, receiver) {
|
(function set(object, property, value, receiver) {
|
||||||
var desc = Object.getOwnPropertyDescriptor(object, property);
|
var desc = Object.getOwnPropertyDescriptor(object, property);
|
||||||
|
|
||||||
@ -302,7 +305,7 @@ export let set = template(`
|
|||||||
});
|
});
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let slicedToArray = template(`
|
helpers.slicedToArray = template(`
|
||||||
(function () {
|
(function () {
|
||||||
// Broken out into a separate function to avoid deoptimizations due to the try/catch for the
|
// Broken out into a separate function to avoid deoptimizations due to the try/catch for the
|
||||||
// array iterator case.
|
// array iterator case.
|
||||||
@ -351,7 +354,7 @@ export let slicedToArray = template(`
|
|||||||
})();
|
})();
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let slicedToArrayLoose = template(`
|
helpers.slicedToArrayLoose = template(`
|
||||||
(function (arr, i) {
|
(function (arr, i) {
|
||||||
if (Array.isArray(arr)) {
|
if (Array.isArray(arr)) {
|
||||||
return arr;
|
return arr;
|
||||||
@ -368,7 +371,7 @@ export let slicedToArrayLoose = template(`
|
|||||||
});
|
});
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let taggedTemplateLiteral = template(`
|
helpers.taggedTemplateLiteral = template(`
|
||||||
(function (strings, raw) {
|
(function (strings, raw) {
|
||||||
return Object.freeze(Object.defineProperties(strings, {
|
return Object.freeze(Object.defineProperties(strings, {
|
||||||
raw: { value: Object.freeze(raw) }
|
raw: { value: Object.freeze(raw) }
|
||||||
@ -376,14 +379,14 @@ export let taggedTemplateLiteral = template(`
|
|||||||
});
|
});
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let taggedTemplateLiteralLoose = template(`
|
helpers.taggedTemplateLiteralLoose = template(`
|
||||||
(function (strings, raw) {
|
(function (strings, raw) {
|
||||||
strings.raw = raw;
|
strings.raw = raw;
|
||||||
return strings;
|
return strings;
|
||||||
});
|
});
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let temporalRef = template(`
|
helpers.temporalRef = template(`
|
||||||
(function (val, name, undef) {
|
(function (val, name, undef) {
|
||||||
if (val === undef) {
|
if (val === undef) {
|
||||||
throw new ReferenceError(name + " is not defined - temporal dead zone");
|
throw new ReferenceError(name + " is not defined - temporal dead zone");
|
||||||
@ -393,17 +396,17 @@ export let temporalRef = template(`
|
|||||||
})
|
})
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let temporalUndefined = template(`
|
helpers.temporalUndefined = template(`
|
||||||
({})
|
({})
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let toArray = template(`
|
helpers.toArray = template(`
|
||||||
(function (arr) {
|
(function (arr) {
|
||||||
return Array.isArray(arr) ? arr : Array.from(arr);
|
return Array.isArray(arr) ? arr : Array.from(arr);
|
||||||
});
|
});
|
||||||
`);
|
`);
|
||||||
|
|
||||||
export let toConsumableArray = template(`
|
helpers.toConsumableArray = template(`
|
||||||
(function (arr) {
|
(function (arr) {
|
||||||
if (Array.isArray(arr)) {
|
if (Array.isArray(arr)) {
|
||||||
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import * as helpers from "./helpers";
|
import helpers from "./helpers";
|
||||||
|
|
||||||
export function get(name) {
|
export function get(name) {
|
||||||
let fn = helpers[name] || helpers[`_${name}`];
|
let fn = helpers[name];
|
||||||
if (!fn) throw ReferenceError;
|
if (!fn) throw ReferenceError;
|
||||||
|
|
||||||
return fn().expression;
|
return fn().expression;
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
babelHelpers._instanceof(a, b);
|
babelHelpers.instanceof(a, b);
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
var s = Symbol("s");
|
var s = Symbol("s");
|
||||||
assert.ok((typeof s === "undefined" ? "undefined" : babelHelpers._typeof(s)) === "symbol");
|
assert.ok((typeof s === "undefined" ? "undefined" : babelHelpers.typeof(s)) === "symbol");
|
||||||
assert.equal(typeof s === "undefined" ? "undefined" : babelHelpers._typeof(s), "symbol");
|
assert.equal(typeof s === "undefined" ? "undefined" : babelHelpers.typeof(s), "symbol");
|
||||||
assert.equal(babelHelpers._typeof(babelHelpers._typeof(s.foo)), "symbol");
|
assert.equal(babelHelpers.typeof(babelHelpers.typeof(s.foo)), "symbol");
|
||||||
typeof s === "string";
|
typeof s === "string";
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
var foo = babelHelpers._extends({}, bar);
|
var foo = babelHelpers.extends({}, bar);
|
||||||
|
|
||||||
var foo = babelHelpers._extends({}, bar, {
|
var foo = babelHelpers.extends({}, bar, {
|
||||||
bar: "foo"
|
bar: "foo"
|
||||||
});
|
});
|
||||||
|
|
||||||
var foo = babelHelpers._extends({}, bar, {
|
var foo = babelHelpers.extends({}, bar, {
|
||||||
bar: "foo"
|
bar: "foo"
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,2 +1,2 @@
|
|||||||
React.createElement(Component, babelHelpers._extends({}, props, {
|
React.createElement(Component, babelHelpers.extends({}, props, {
|
||||||
sound: "moo" }));
|
sound: "moo" }));
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
React.createElement(Component, babelHelpers._extends({}, x, { y: 2, z: true }));
|
React.createElement(Component, babelHelpers.extends({}, x, { y: 2, z: true }));
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
React.createElement(Component, babelHelpers._extends({ y: 2, z: true }, x));
|
React.createElement(Component, babelHelpers.extends({ y: 2, z: true }, x));
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
React.createElement(Component, babelHelpers._extends({ y: 2 }, x, { z: true }));
|
React.createElement(Component, babelHelpers.extends({ y: 2 }, x, { z: true }));
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
var outputFile = require("output-file-sync");
|
var outputFile = require("output-file-sync");
|
||||||
var each = require("lodash/collection/each");
|
var each = require("lodash/collection/each");
|
||||||
var fs = require("fs");
|
var fs = require("fs");
|
||||||
|
var _ = require("lodash");
|
||||||
|
|
||||||
var coreDefinitions = require("babel-plugin-transform-runtime").definitions;
|
var coreDefinitions = require("babel-plugin-transform-runtime").definitions;
|
||||||
|
|
||||||
@ -84,6 +85,11 @@ function buildHelper(helperName) {
|
|||||||
|
|
||||||
each(helpers.list, function (helperName) {
|
each(helpers.list, function (helperName) {
|
||||||
writeFile("helpers/" + helperName + ".js", buildHelper(helperName));
|
writeFile("helpers/" + helperName + ".js", buildHelper(helperName));
|
||||||
|
|
||||||
|
// compat
|
||||||
|
var helperAlias = _.kebabCase(helperName);
|
||||||
|
writeFile("helpers/_" + helperAlias + ".js", buildHelper(helperName));
|
||||||
|
writeFile("helpers/" + helperAlias + ".js", buildHelper(helperName));
|
||||||
});
|
});
|
||||||
|
|
||||||
writeFile("regenerator/index.js", readFile("regenerator/runtime-module", true));
|
writeFile("regenerator/index.js", readFile("regenerator/runtime-module", true));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user