diff --git a/packages/babel-plugin-transform-runtime/src/index.js b/packages/babel-plugin-transform-runtime/src/index.js index b40e67ca3a..65ae342384 100644 --- a/packages/babel-plugin-transform-runtime/src/index.js +++ b/packages/babel-plugin-transform-runtime/src/index.js @@ -11,11 +11,13 @@ export default function ({ types: t }) { return { pre(file) { - file.set("helperGenerator", function (name) { - if (HELPER_BLACKLIST.indexOf(name) < 0) { - return file.addImport(`${RUNTIME_MODULE_NAME}/helpers/${name}`, "default", name); - } - }); + if (this.opts.helpers !== false) { + file.set("helperGenerator", function (name) { + if (HELPER_BLACKLIST.indexOf(name) < 0) { + return file.addImport(`${RUNTIME_MODULE_NAME}/helpers/${name}`, "default", name); + } + }); + } this.setDynamic("regeneratorIdentifier", function () { return file.addImport(`${RUNTIME_MODULE_NAME}/regenerator`, "default", "regeneratorRuntime"); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/aliased-constructors/options.json similarity index 100% rename from packages/babel-plugin-transform-runtime/test/fixtures/runtime/options.json rename to packages/babel-plugin-transform-runtime/test/fixtures/runtime/aliased-constructors/options.json diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/catch-all/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/catch-all/options.json new file mode 100644 index 0000000000..b987a67bba --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/catch-all/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["transform-runtime", "transform-regenerator"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/full/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/full/options.json new file mode 100644 index 0000000000..b987a67bba --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/full/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["transform-runtime", "transform-regenerator"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/no-helpers/actual.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/no-helpers/actual.js new file mode 100644 index 0000000000..4e6a6de653 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/no-helpers/actual.js @@ -0,0 +1 @@ +class Foo {} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/no-helpers/expected.js b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/no-helpers/expected.js new file mode 100644 index 0000000000..0040583f47 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/no-helpers/expected.js @@ -0,0 +1,5 @@ +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +let Foo = function Foo() { + _classCallCheck(this, Foo); +}; diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/no-helpers/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/no-helpers/options.json new file mode 100644 index 0000000000..bfcc1d063d --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/no-helpers/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["transform-runtime", { "helpers": false }], "transform-es2015-classes"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/regenerator-runtime/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/regenerator-runtime/options.json new file mode 100644 index 0000000000..b987a67bba --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/regenerator-runtime/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["transform-runtime", "transform-regenerator"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator-in/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator-in/options.json new file mode 100644 index 0000000000..b987a67bba --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator-in/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["transform-runtime", "transform-regenerator"] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator/options.json new file mode 100644 index 0000000000..b987a67bba --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/runtime/symbol-iterator/options.json @@ -0,0 +1,3 @@ +{ + "plugins": ["transform-runtime", "transform-regenerator"] +}