diff --git a/.eslintignore b/.eslintignore index c84198bb07..18e74eafba 100644 --- a/.eslintignore +++ b/.eslintignore @@ -5,7 +5,8 @@ package.json lerna.json packages/babel-runtime !packages/babel-plugin-transform-runtime/scripts -!packages/babel-runtime/core-js.js +!packages/babel-runtime-corejs2/core-js.js +packages/babel-runtime-corejs2 packages/*/node_modules packages/*/lib packages/*/dist diff --git a/.gitignore b/.gitignore index a2f346175f..500e46cd8c 100644 --- a/.gitignore +++ b/.gitignore @@ -12,24 +12,27 @@ coverage dist /.package.json package-lock.json -/packages/babel-runtime/core-js/**/*.js -!/packages/babel-runtime/core-js/map.js + /packages/babel-runtime/helpers/*.js !/packages/babel-runtime/helpers/toArray.js !/packages/babel-runtime/helpers/iterableToArray.js !/packages/babel-runtime/helpers/temporalRef.js -/packages/babel-runtime/helpers/builtin/*.js -!/packages/babel-runtime/helpers/builtin/toArray.js -!/packages/babel-runtime/helpers/builtin/iterableToArray.js -!/packages/babel-runtime/helpers/builtin/temporalRef.js -/packages/babel-runtime/helpers/builtin/es6/*.js -!/packages/babel-runtime/helpers/builtin/es6/toArray.js -!/packages/babel-runtime/helpers/builtin/es6/iterableToArray.js -!/packages/babel-runtime/helpers/builtin/es6/temporalRef.js -/packages/babel-runtime/helpers/es6/*.js -!/packages/babel-runtime/helpers/es6/toArray.js -!/packages/babel-runtime/helpers/es6/iterableToArray.js -!/packages/babel-runtime/helpers/es6/temporalRef.js +/packages/babel-runtime/helpers/esm/*.js +!/packages/babel-runtime/helpers/esm/toArray.js +!/packages/babel-runtime/helpers/esm/iterableToArray.js +!/packages/babel-runtime/helpers/esm/temporalRef.js + +/packages/babel-runtime-corejs2/helpers/*.js +!/packages/babel-runtime-corejs2/helpers/toArray.js +!/packages/babel-runtime-corejs2/helpers/iterableToArray.js +!/packages/babel-runtime-corejs2/helpers/temporalRef.js +/packages/babel-runtime-corejs2/helpers/esm/*.js +!/packages/babel-runtime-corejs2/helpers/esm/toArray.js +!/packages/babel-runtime-corejs2/helpers/esm/iterableToArray.js +!/packages/babel-runtime-corejs2/helpers/esm/temporalRef.js +/packages/babel-runtime-corejs2/core-js/**/*.js +!/packages/babel-runtime-corejs2/core-js/map.js + /packages/babel-register/test/.babel /packages/babel-cli/test/tmp /packages/babel-node/test/tmp diff --git a/Makefile b/Makefile index 0fba2cf04a..b0ec3ca0e2 100644 --- a/Makefile +++ b/Makefile @@ -108,7 +108,8 @@ publish: git pull --rebase make clean-lib rm -rf packages/babel-runtime/helpers - rm -rf packages/babel-runtime/core-js + rm -rf packages/babel-runtime-corejs2/helpers + rm -rf packages/babel-runtime-corejs2/core-js BABEL_ENV=production make build-dist make test # not using lerna independent mode atm, so only update packages that have changed since we use ^ diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-hoisting/output.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-hoisting/output.js index 169a772325..d17f42975d 100644 --- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-hoisting/output.js +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-hoisting/output.js @@ -1,8 +1,8 @@ "use strict"; -var _interopRequireDefault = require("@babel/runtime/helpers/builtin/interopRequireDefault"); +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); -var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/builtin/taggedTemplateLiteral")); +var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral")); function _templateObject() { const data = (0, _taggedTemplateLiteral2.default)(["foo"]); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/output.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/output.js index 44fd33fe96..9930c38eb4 100644 --- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/output.js +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/output.js @@ -1,7 +1,7 @@ "use strict"; -var _interopRequireDefault3 = require("@babel/runtime/helpers/builtin/interopRequireDefault"); +var _interopRequireDefault3 = require("@babel/runtime/helpers/interopRequireDefault"); -var _interopRequireDefault2 = _interopRequireDefault3(require("@babel/runtime/helpers/builtin/interopRequireDefault")); +var _interopRequireDefault2 = _interopRequireDefault3(require("@babel/runtime/helpers/interopRequireDefault")); console.log(_interopRequireDefault2.default); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/imports-hoisting/output.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/imports-hoisting/output.js index 169a772325..d17f42975d 100644 --- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/imports-hoisting/output.js +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/imports-hoisting/output.js @@ -1,8 +1,8 @@ "use strict"; -var _interopRequireDefault = require("@babel/runtime/helpers/builtin/interopRequireDefault"); +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); -var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/builtin/taggedTemplateLiteral")); +var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral")); function _templateObject() { const data = (0, _taggedTemplateLiteral2.default)(["foo"]); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/multi-load/output.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/multi-load/output.js index 44fd33fe96..9930c38eb4 100644 --- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/multi-load/output.js +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop/multi-load/output.js @@ -1,7 +1,7 @@ "use strict"; -var _interopRequireDefault3 = require("@babel/runtime/helpers/builtin/interopRequireDefault"); +var _interopRequireDefault3 = require("@babel/runtime/helpers/interopRequireDefault"); -var _interopRequireDefault2 = _interopRequireDefault3(require("@babel/runtime/helpers/builtin/interopRequireDefault")); +var _interopRequireDefault2 = _interopRequireDefault3(require("@babel/runtime/helpers/interopRequireDefault")); console.log(_interopRequireDefault2.default); diff --git a/packages/babel-plugin-transform-runtime/scripts/build-dist.js b/packages/babel-plugin-transform-runtime/scripts/build-dist.js index c06e621783..9381e3b962 100644 --- a/packages/babel-plugin-transform-runtime/scripts/build-dist.js +++ b/packages/babel-plugin-transform-runtime/scripts/build-dist.js @@ -10,10 +10,10 @@ const t = require("@babel/types"); const transformRuntime = require("../"); const corejs2Definitions = require("../lib/definitions").default; -writeHelpers("@babel/runtime", { corejs2: false }); +writeHelpers("@babel/runtime"); -writeCoreJS2("@babel/runtime"); -writeHelpers("@babel/runtime", { corejs2: true }); +writeCoreJS2("@babel/runtime-corejs2"); +writeHelpers("@babel/runtime-corejs2", { corejs: 2 }); function writeCoreJS2(runtimeName) { const pkgDirname = getRuntimeRoot(runtimeName); @@ -40,32 +40,28 @@ function writeCoreJS2(runtimeName) { }); } -function writeHelpers(runtimeName, { corejs2 } = {}) { - writeHelperFiles(runtimeName, { corejs2, esm: false }); - writeHelperFiles(runtimeName, { corejs2, esm: true }); +function writeHelpers(runtimeName, { corejs } = {}) { + writeHelperFiles(runtimeName, { corejs, esm: false }); + writeHelperFiles(runtimeName, { corejs, esm: true }); } -function writeHelperFiles(runtimeName, { esm, corejs2 }) { +function writeHelperFiles(runtimeName, { esm, corejs }) { const pkgDirname = getRuntimeRoot(runtimeName); for (const helperName of helpers.list) { const helperFilename = path.join( pkgDirname, "helpers", - corejs2 ? "" : "builtin", - esm ? "es6" : "", + esm ? "esm" : "", `${helperName}.js` ); outputFile( helperFilename, - buildHelper( - runtimeName, - pkgDirname, - helperFilename, - helperName, - { esm, corejs2 } - ) + buildHelper(runtimeName, pkgDirname, helperFilename, helperName, { + esm, + corejs, + }) ); } } @@ -84,7 +80,7 @@ function buildHelper( pkgDirname, helperFilename, helperName, - { esm, corejs2 } + { esm, corejs } ) { const tree = t.program([], [], esm ? "module" : "script"); const dependencies = {}; @@ -112,7 +108,7 @@ function buildHelper( return babel.transformFromAst(tree, null, { presets: [[require("@babel/preset-env"), { modules: false }]], plugins: [ - [transformRuntime, { useBuiltIns: !corejs2, useESModules: esm }], + [transformRuntime, { corejs, useESModules: esm }], buildRuntimeRewritePlugin( runtimeName, path.relative(path.dirname(helperFilename), pkgDirname), @@ -127,7 +123,7 @@ function buildRuntimeRewritePlugin(runtimeName, relativePath, helperName) { node.value = helpers.list.indexOf(node.value) !== -1 ? `./${node.value}` - : node.value.replace(runtimeName, relativePath); + : node.value.replace(runtimeName + "/", relativePath + "/"); } return { diff --git a/packages/babel-plugin-transform-runtime/src/index.js b/packages/babel-plugin-transform-runtime/src/index.js index 2d05cb918e..0e0f616afd 100644 --- a/packages/babel-plugin-transform-runtime/src/index.js +++ b/packages/babel-plugin-transform-runtime/src/index.js @@ -8,7 +8,7 @@ export default declare((api, options) => { api.assertVersion(7); const { - corejsVersion = false, + corejs: corejsVersion = false, helpers: useRuntimeHelpers = true, regenerator: useRuntimeRegenerator = true, useESModules = false, @@ -34,7 +34,7 @@ export default declare((api, options) => { (typeof corejsVersion !== "string" || corejsVersion !== "2") ) { throw new Error( - `The 'corejsVersion' option must be undefined, false, or 2, or '2', ` + + `The 'corejs' option must be undefined, false, or 2, or '2', ` + `but got ${JSON.stringify(corejsVersion)}.`, ); } @@ -50,7 +50,7 @@ export default declare((api, options) => { ); } else { throw new Error( - "The 'useBuiltIns' option has been removed. Use the 'corejsVersion'" + + "The 'useBuiltIns' option has been removed. Use the 'corejs'" + "option with value '2' to polyfill with CoreJS 2.x via @babel/runtime.", ); } @@ -63,7 +63,7 @@ export default declare((api, options) => { ); } else { throw new Error( - "The 'polyfill' option has been removed. Use the 'corejsVersion'" + + "The 'polyfill' option has been removed. Use the 'corejs'" + "option with value '2' to polyfill with CoreJS 2.x via @babel/runtime.", ); } @@ -75,9 +75,11 @@ export default declare((api, options) => { ); } - const helpersDir = useESModules ? "helpers/es6" : "helpers"; + const helpersDir = useESModules ? "helpers/esm" : "helpers"; const injectCoreJS2 = `${corejsVersion}` === "2"; - const moduleName = "@babel/runtime"; + const moduleName = injectCoreJS2 + ? "@babel/runtime-corejs2" + : "@babel/runtime"; const HEADER_HELPERS = ["interopRequireWildcard", "interopRequireDefault"]; @@ -104,7 +106,7 @@ export default declare((api, options) => { isInteropHelper && !isModule(file.path) ? 4 : undefined; return this.addDefaultImport( - `${moduleName}/${helpersDir}/${injectCoreJS2 ? "" : "builtin/"}${name}`, + `${moduleName}/${helpersDir}/${name}`, name, blockHoist, ); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/input.js new file mode 100644 index 0000000000..b7c61b92b0 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/input.js @@ -0,0 +1,7 @@ +obj.constructor === Object; +obj.constructor === Promise; + +Symbol(); +Symbol("test"); + +new Map(); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/options.json new file mode 100644 index 0000000000..5c04c77630 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["transform-runtime", { "corejs": 2 }], "transform-regenerator"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/output.js new file mode 100644 index 0000000000..4e753ff15d --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/aliased-constructors/output.js @@ -0,0 +1,14 @@ +var _Map = require("@babel/runtime-corejs2/core-js/map"); + +var _Symbol = require("@babel/runtime-corejs2/core-js/symbol"); + +var _Promise = require("@babel/runtime-corejs2/core-js/promise"); + +obj.constructor === Object; +obj.constructor === _Promise; + +_Symbol(); + +_Symbol("test"); + +new _Map(); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/input.js new file mode 100644 index 0000000000..8e9b315294 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/input.js @@ -0,0 +1 @@ +Promise.resolve; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/options.json new file mode 100644 index 0000000000..5c04c77630 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["transform-runtime", { "corejs": 2 }], "transform-regenerator"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/output.js new file mode 100644 index 0000000000..de4a16bd91 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/catch-all/output.js @@ -0,0 +1,3 @@ +var _Promise = require("@babel/runtime-corejs2/core-js/promise"); + +_Promise.resolve; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/input.js new file mode 100644 index 0000000000..4e6a6de653 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/input.js @@ -0,0 +1 @@ +class Foo {} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/options.json new file mode 100644 index 0000000000..2972db7d1a --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["transform-runtime", { "corejs": 2 }], "transform-classes"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/output.js new file mode 100644 index 0000000000..132a249e97 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/class/output.js @@ -0,0 +1,7 @@ +var _classCallCheck = require("@babel/runtime-corejs2/helpers/classCallCheck"); + +let Foo = function Foo() { + "use strict"; + + _classCallCheck(this, Foo); +}; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/input.js new file mode 100644 index 0000000000..48e5f59b2c --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/input.js @@ -0,0 +1,3 @@ +for (var i of arr) { + +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/options.json new file mode 100644 index 0000000000..5b5b7b35f1 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["transform-for-of", ["transform-runtime", { "corejs": 2 }]] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/output.js new file mode 100644 index 0000000000..be11791731 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/es6-for-of/output.js @@ -0,0 +1,24 @@ +var _getIterator = require("@babel/runtime-corejs2/core-js/get-iterator"); + +var _iteratorNormalCompletion = true; +var _didIteratorError = false; +var _iteratorError = undefined; + +try { + for (var _iterator = _getIterator(arr), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var i = _step.value; + } +} catch (err) { + _didIteratorError = true; + _iteratorError = err; +} finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/input.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/input.mjs new file mode 100644 index 0000000000..0340999129 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/input.mjs @@ -0,0 +1,9 @@ +import foo, * as bar from "someModule"; + +export const myWord = Symbol("abc"); +export function* giveWord () { + yield myWord; +} + +foo; +bar; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/options.json new file mode 100644 index 0000000000..5c04c77630 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["transform-runtime", { "corejs": 2 }], "transform-regenerator"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/output.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/output.mjs new file mode 100644 index 0000000000..bb91155014 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/full/output.mjs @@ -0,0 +1,24 @@ +import _regeneratorRuntime from "@babel/runtime-corejs2/regenerator"; +import _Symbol from "@babel/runtime-corejs2/core-js/symbol"; + +var _marked = +/*#__PURE__*/ +_regeneratorRuntime.mark(giveWord); + +import foo, * as bar from "someModule"; +export const myWord = _Symbol("abc"); +export function giveWord() { + return _regeneratorRuntime.wrap(function giveWord$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return myWord; + + case 2: + case "end": + return _context.stop(); + } + }, _marked, this); +} +foo; +bar; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/input.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/input.mjs new file mode 100644 index 0000000000..368b106310 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/input.mjs @@ -0,0 +1,5 @@ +import foo from "foo"; + +class Example { + method() {} +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/options.json new file mode 100644 index 0000000000..5d178b7e91 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/options.json @@ -0,0 +1,7 @@ +{ + "plugins": [ + ["transform-runtime", { "corejs": 2 }], + "transform-modules-commonjs", + "transform-classes" + ] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/output.js new file mode 100644 index 0000000000..8b91c079a6 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules-helpers/output.js @@ -0,0 +1,23 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault"); + +var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck")); + +var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass")); + +var _foo = _interopRequireDefault(require("foo")); + +let Example = +/*#__PURE__*/ +function () { + function Example() { + (0, _classCallCheck2.default)(this, Example); + } + + (0, _createClass2.default)(Example, [{ + key: "method", + value: function method() {} + }]); + return Example; +}(); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/input.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/input.mjs new file mode 100644 index 0000000000..ce4c7df806 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/input.mjs @@ -0,0 +1,4 @@ +import foo from "bar"; +foo; + +export * from "mod"; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/options.json new file mode 100644 index 0000000000..f3b812fb39 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["transform-runtime", { "corejs": 2 }], "transform-modules-commonjs"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/output.js new file mode 100644 index 0000000000..d7ece9528b --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/modules/output.js @@ -0,0 +1,28 @@ +"use strict"; + +var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault"); + +var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property"); + +var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys"); + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _bar = _interopRequireDefault(require("bar")); + +var _mod = require("mod"); + +_Object$keys(_mod).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + + _Object$defineProperty(exports, key, { + enumerable: true, + get: function () { + return _mod[key]; + } + }); +}); + +_bar.default; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/input.js new file mode 100644 index 0000000000..4e6a6de653 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/input.js @@ -0,0 +1 @@ +class Foo {} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/options.json new file mode 100644 index 0000000000..d30944afcb --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["transform-runtime", { "helpers": false, "corejs": 2 }], "transform-classes"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/output.js new file mode 100644 index 0000000000..b8dfb31983 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/no-helpers/output.js @@ -0,0 +1,7 @@ +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +let Foo = function Foo() { + "use strict"; + + _classCallCheck(this, Foo); +}; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/input.js new file mode 100644 index 0000000000..ae6cc4d8c8 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/input.js @@ -0,0 +1,2 @@ +void function* () { +}; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/options.json new file mode 100644 index 0000000000..5c04c77630 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["transform-runtime", { "corejs": 2 }], "transform-regenerator"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/output.js new file mode 100644 index 0000000000..a068476f99 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/regenerator-runtime/output.js @@ -0,0 +1,13 @@ +var _regeneratorRuntime = require("@babel/runtime-corejs2/regenerator"); + +void +/*#__PURE__*/ +_regeneratorRuntime.mark(function _callee() { + return _regeneratorRuntime.wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + case "end": + return _context.stop(); + } + }, _callee, this); +}); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/input.js new file mode 100644 index 0000000000..49e71aa52d --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/input.js @@ -0,0 +1 @@ +Symbol.iterator in Object(arr); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/options.json new file mode 100644 index 0000000000..e0ebc58869 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/options.json @@ -0,0 +1,6 @@ +{ + "plugins": [ + ["transform-runtime", { "corejs": 2 }], + "transform-regenerator" + ] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/output.js new file mode 100644 index 0000000000..8d5e3c048d --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator-in/output.js @@ -0,0 +1,3 @@ +var _isIterable = require("@babel/runtime-corejs2/core-js/is-iterable"); + +_isIterable(Object(arr)); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/input.js new file mode 100644 index 0000000000..ae1f0b9df5 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/input.js @@ -0,0 +1 @@ +Symbol.iterator; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/options.json new file mode 100644 index 0000000000..5c04c77630 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["transform-runtime", { "corejs": 2 }], "transform-regenerator"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/output.js new file mode 100644 index 0000000000..dc708b45cc --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime-corejs2/symbol-iterator/output.js @@ -0,0 +1,3 @@ +var _Symbol$iterator = require("@babel/runtime-corejs2/core-js/symbol/iterator"); + +_Symbol$iterator; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/class/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/class/output.js index b5e3ecf4ad..60d3e2fb72 100644 --- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/class/output.js +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/class/output.js @@ -1,4 +1,4 @@ -var _classCallCheck = require("@babel/runtime/helpers/builtin/classCallCheck"); +var _classCallCheck = require("@babel/runtime/helpers/classCallCheck"); let Foo = function Foo() { "use strict"; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/modules/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/modules/output.js index ba3228c9cf..260de19e94 100644 --- a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/modules/output.js +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/modules/output.js @@ -1,6 +1,6 @@ "use strict"; -var _interopRequireDefault = require("@babel/runtime/helpers/builtin/interopRequireDefault"); +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion-useES6Modules/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/input.js similarity index 100% rename from packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion-useES6Modules/input.js rename to packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/input.js diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/options.json new file mode 100644 index 0000000000..95636c5bb4 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["transform-runtime", { "corejs": 2, "useESModules": true }], "transform-classes"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/output.js new file mode 100644 index 0000000000..fd691a2742 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs-useES6Modules/output.js @@ -0,0 +1,23 @@ +var _classCallCheck = require("@babel/runtime-corejs2/helpers/esm/classCallCheck"); + +var _possibleConstructorReturn = require("@babel/runtime-corejs2/helpers/esm/possibleConstructorReturn"); + +var _getPrototypeOf = require("@babel/runtime-corejs2/helpers/esm/getPrototypeOf"); + +var _inherits = require("@babel/runtime-corejs2/helpers/esm/inherits"); + +let Foo = +/*#__PURE__*/ +function (_Bar) { + "use strict"; + + _inherits(Foo, _Bar); + + function Foo() { + _classCallCheck(this, Foo); + + return _possibleConstructorReturn(this, _getPrototypeOf(Foo).apply(this, arguments)); + } + + return Foo; +}(Bar); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/input.js similarity index 100% rename from packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion/input.js rename to packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/input.js diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/options.json new file mode 100644 index 0000000000..2972db7d1a --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["transform-runtime", { "corejs": 2 }], "transform-classes"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/output.js new file mode 100644 index 0000000000..91eb87aa16 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejs/output.js @@ -0,0 +1,23 @@ +var _classCallCheck = require("@babel/runtime-corejs2/helpers/classCallCheck"); + +var _possibleConstructorReturn = require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"); + +var _getPrototypeOf = require("@babel/runtime-corejs2/helpers/getPrototypeOf"); + +var _inherits = require("@babel/runtime-corejs2/helpers/inherits"); + +let Foo = +/*#__PURE__*/ +function (_Bar) { + "use strict"; + + _inherits(Foo, _Bar); + + function Foo() { + _classCallCheck(this, Foo); + + return _possibleConstructorReturn(this, _getPrototypeOf(Foo).apply(this, arguments)); + } + + return Foo; +}(Bar); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion-useES6Modules/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion-useES6Modules/options.json deleted file mode 100644 index 1057edde11..0000000000 --- a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion-useES6Modules/options.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "plugins": [["transform-runtime", { "corejsVersion": 2, "useESModules": true }], "transform-classes"] -} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion-useES6Modules/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion-useES6Modules/output.js deleted file mode 100644 index 9d1599d1f2..0000000000 --- a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion-useES6Modules/output.js +++ /dev/null @@ -1,23 +0,0 @@ -var _classCallCheck = require("@babel/runtime/helpers/es6/classCallCheck"); - -var _possibleConstructorReturn = require("@babel/runtime/helpers/es6/possibleConstructorReturn"); - -var _getPrototypeOf = require("@babel/runtime/helpers/es6/getPrototypeOf"); - -var _inherits = require("@babel/runtime/helpers/es6/inherits"); - -let Foo = -/*#__PURE__*/ -function (_Bar) { - "use strict"; - - _inherits(Foo, _Bar); - - function Foo() { - _classCallCheck(this, Foo); - - return _possibleConstructorReturn(this, _getPrototypeOf(Foo).apply(this, arguments)); - } - - return Foo; -}(Bar); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion/options.json deleted file mode 100644 index b5668b025a..0000000000 --- a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion/options.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "plugins": [["transform-runtime", { "corejsVersion": 2 }], "transform-classes"] -} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion/output.js deleted file mode 100644 index 39882dcd46..0000000000 --- a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/corejsVersion/output.js +++ /dev/null @@ -1,23 +0,0 @@ -var _classCallCheck = require("@babel/runtime/helpers/classCallCheck"); - -var _possibleConstructorReturn = require("@babel/runtime/helpers/possibleConstructorReturn"); - -var _getPrototypeOf = require("@babel/runtime/helpers/getPrototypeOf"); - -var _inherits = require("@babel/runtime/helpers/inherits"); - -let Foo = -/*#__PURE__*/ -function (_Bar) { - "use strict"; - - _inherits(Foo, _Bar); - - function Foo() { - _classCallCheck(this, Foo); - - return _possibleConstructorReturn(this, _getPrototypeOf(Foo).apply(this, arguments)); - } - - return Foo; -}(Bar); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules/output.js b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules/output.js index 889a5a8d73..d2863837c4 100644 --- a/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules/output.js +++ b/packages/babel-plugin-transform-runtime/test/fixtures/use-options/useESModules/output.js @@ -1,10 +1,10 @@ -var _classCallCheck = require("@babel/runtime/helpers/es6/builtin/classCallCheck"); +var _classCallCheck = require("@babel/runtime/helpers/esm/classCallCheck"); -var _possibleConstructorReturn = require("@babel/runtime/helpers/es6/builtin/possibleConstructorReturn"); +var _possibleConstructorReturn = require("@babel/runtime/helpers/esm/possibleConstructorReturn"); -var _getPrototypeOf = require("@babel/runtime/helpers/es6/builtin/getPrototypeOf"); +var _getPrototypeOf = require("@babel/runtime/helpers/esm/getPrototypeOf"); -var _inherits = require("@babel/runtime/helpers/es6/builtin/inherits"); +var _inherits = require("@babel/runtime/helpers/esm/inherits"); let Foo = /*#__PURE__*/ diff --git a/packages/babel-runtime-corejs2/.npmignore b/packages/babel-runtime-corejs2/.npmignore new file mode 100644 index 0000000000..f980694583 --- /dev/null +++ b/packages/babel-runtime-corejs2/.npmignore @@ -0,0 +1,3 @@ +src +test +*.log diff --git a/packages/babel-runtime-corejs2/README.md b/packages/babel-runtime-corejs2/README.md new file mode 100644 index 0000000000..bcae9d9c14 --- /dev/null +++ b/packages/babel-runtime-corejs2/README.md @@ -0,0 +1,19 @@ +# @babel/runtime-corejs2 + +> babel's modular runtime helpers with core-js@2 polyfilling + +See our website [@babel/runtime-corejs2](https://babeljs.io/docs/en/next/babel-runtime-corejs2.html) for more information. + +## Install + +Using npm: + +```sh +npm install --save-dev @babel/runtime-corejs2 +``` + +or using yarn: + +```sh +yarn add @babel/runtime-corejs2 --dev +``` diff --git a/packages/babel-runtime/core-js/map.js b/packages/babel-runtime-corejs2/core-js/map.js similarity index 100% rename from packages/babel-runtime/core-js/map.js rename to packages/babel-runtime-corejs2/core-js/map.js diff --git a/packages/babel-runtime/helpers/es6/iterableToArray.js b/packages/babel-runtime-corejs2/helpers/esm/iterableToArray.js similarity index 100% rename from packages/babel-runtime/helpers/es6/iterableToArray.js rename to packages/babel-runtime-corejs2/helpers/esm/iterableToArray.js diff --git a/packages/babel-runtime/helpers/builtin/es6/temporalRef.js b/packages/babel-runtime-corejs2/helpers/esm/temporalRef.js similarity index 100% rename from packages/babel-runtime/helpers/builtin/es6/temporalRef.js rename to packages/babel-runtime-corejs2/helpers/esm/temporalRef.js diff --git a/packages/babel-runtime/helpers/builtin/es6/toArray.js b/packages/babel-runtime-corejs2/helpers/esm/toArray.js similarity index 100% rename from packages/babel-runtime/helpers/builtin/es6/toArray.js rename to packages/babel-runtime-corejs2/helpers/esm/toArray.js diff --git a/packages/babel-runtime-corejs2/helpers/iterableToArray.js b/packages/babel-runtime-corejs2/helpers/iterableToArray.js new file mode 100644 index 0000000000..c7834a3122 --- /dev/null +++ b/packages/babel-runtime-corejs2/helpers/iterableToArray.js @@ -0,0 +1,9 @@ +var _Array$from = require("../core-js/array/from"); + +var _isIterable = require("../core-js/is-iterable"); + +function _iterableToArray(iter) { + if (_isIterable(Object(iter)) || Object.prototype.toString.call(iter) === "[object Arguments]") return _Array$from(iter); +} + +module.exports = _iterableToArray; \ No newline at end of file diff --git a/packages/babel-runtime/helpers/builtin/temporalRef.js b/packages/babel-runtime-corejs2/helpers/temporalRef.js similarity index 100% rename from packages/babel-runtime/helpers/builtin/temporalRef.js rename to packages/babel-runtime-corejs2/helpers/temporalRef.js diff --git a/packages/babel-runtime/helpers/builtin/toArray.js b/packages/babel-runtime-corejs2/helpers/toArray.js similarity index 100% rename from packages/babel-runtime/helpers/builtin/toArray.js rename to packages/babel-runtime-corejs2/helpers/toArray.js diff --git a/packages/babel-runtime-corejs2/package.json b/packages/babel-runtime-corejs2/package.json new file mode 100644 index 0000000000..3f0edf5900 --- /dev/null +++ b/packages/babel-runtime-corejs2/package.json @@ -0,0 +1,12 @@ +{ + "name": "@babel/runtime-corejs2", + "version": "7.0.0-beta.51", + "description": "babel's modular runtime helpers with core-js@2 polyfilling", + "license": "MIT", + "repository": "https://github.com/babel/babel/tree/master/packages/babel-runtime-corejs2", + "author": "Sebastian McKenzie ", + "dependencies": { + "core-js": "^2.5.7", + "regenerator-runtime": "^0.12.0" + } +} diff --git a/packages/babel-runtime-corejs2/regenerator/index.js b/packages/babel-runtime-corejs2/regenerator/index.js new file mode 100644 index 0000000000..9fd4158a6d --- /dev/null +++ b/packages/babel-runtime-corejs2/regenerator/index.js @@ -0,0 +1 @@ +module.exports = require("regenerator-runtime"); diff --git a/packages/babel-runtime/README.md b/packages/babel-runtime/README.md index ec85bb0b52..75087e3560 100644 --- a/packages/babel-runtime/README.md +++ b/packages/babel-runtime/README.md @@ -1,6 +1,6 @@ # @babel/runtime -> babel selfContained runtime +> babel's modular runtime helpers See our website [@babel/runtime](https://babeljs.io/docs/en/next/babel-runtime.html) for more information. diff --git a/packages/babel-runtime/core-js.js b/packages/babel-runtime/core-js.js deleted file mode 100644 index 709f7e3252..0000000000 --- a/packages/babel-runtime/core-js.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require("core-js/library"); diff --git a/packages/babel-runtime/helpers/builtin/iterableToArray.js b/packages/babel-runtime/helpers/builtin/iterableToArray.js deleted file mode 100644 index e917e57937..0000000000 --- a/packages/babel-runtime/helpers/builtin/iterableToArray.js +++ /dev/null @@ -1,5 +0,0 @@ -function _iterableToArray(iter) { - if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); -} - -module.exports = _iterableToArray; \ No newline at end of file diff --git a/packages/babel-runtime/helpers/builtin/es6/iterableToArray.js b/packages/babel-runtime/helpers/esm/iterableToArray.js similarity index 100% rename from packages/babel-runtime/helpers/builtin/es6/iterableToArray.js rename to packages/babel-runtime/helpers/esm/iterableToArray.js diff --git a/packages/babel-runtime/helpers/es6/temporalRef.js b/packages/babel-runtime/helpers/esm/temporalRef.js similarity index 100% rename from packages/babel-runtime/helpers/es6/temporalRef.js rename to packages/babel-runtime/helpers/esm/temporalRef.js diff --git a/packages/babel-runtime/helpers/es6/toArray.js b/packages/babel-runtime/helpers/esm/toArray.js similarity index 100% rename from packages/babel-runtime/helpers/es6/toArray.js rename to packages/babel-runtime/helpers/esm/toArray.js diff --git a/packages/babel-runtime/helpers/iterableToArray.js b/packages/babel-runtime/helpers/iterableToArray.js index c7834a3122..e917e57937 100644 --- a/packages/babel-runtime/helpers/iterableToArray.js +++ b/packages/babel-runtime/helpers/iterableToArray.js @@ -1,9 +1,5 @@ -var _Array$from = require("../core-js/array/from"); - -var _isIterable = require("../core-js/is-iterable"); - function _iterableToArray(iter) { - if (_isIterable(Object(iter)) || Object.prototype.toString.call(iter) === "[object Arguments]") return _Array$from(iter); + if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } module.exports = _iterableToArray; \ No newline at end of file diff --git a/packages/babel-runtime/package.json b/packages/babel-runtime/package.json index 79fc3de77f..4edabdb87f 100644 --- a/packages/babel-runtime/package.json +++ b/packages/babel-runtime/package.json @@ -1,12 +1,11 @@ { "name": "@babel/runtime", "version": "7.0.0-beta.55", - "description": "babel selfContained runtime", + "description": "babel's modular runtime helpers", "license": "MIT", "repository": "https://github.com/babel/babel/tree/master/packages/babel-runtime", "author": "Sebastian McKenzie ", "dependencies": { - "core-js": "^2.5.7", "regenerator-runtime": "^0.12.0" } }