diff --git a/packages/babel-helper-module-transforms/src/normalize-and-load-metadata.js b/packages/babel-helper-module-transforms/src/normalize-and-load-metadata.js index 15cb4daf0b..18fe439ce5 100644 --- a/packages/babel-helper-module-transforms/src/normalize-and-load-metadata.js +++ b/packages/babel-helper-module-transforms/src/normalize-and-load-metadata.js @@ -288,7 +288,7 @@ function getModuleMetadata( // dependency modules are loaded lazily. metadata.lazy = !/\./.test(source); } else if (Array.isArray(lazy)) { - metadata.lazy = lazy.indexOf(source); + metadata.lazy = lazy.indexOf(source) !== -1; } else if (typeof lazy === "function") { metadata.lazy = lazy(source); } else { diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/import-default/output.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/import-default/output.js index a8f74edadb..26619f4369 100644 --- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/import-default/output.js +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/import-default/output.js @@ -1,16 +1,16 @@ "use strict"; -var _white = babelHelpers.interopRequireDefault(require("white")); +function _white() { + const data = babelHelpers.interopRequireDefault(require("white")); -function _black() { - const data = babelHelpers.interopRequireDefault(require("black")); - - _black = function () { + _white = function () { return data; }; return data; } -console.log(_white.default); -console.log(_black().default); +var _black = babelHelpers.interopRequireDefault(require("black")); + +console.log(_white().default); +console.log(_black.default); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/import-named/output.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/import-named/output.js index 839569975a..90c5f25166 100644 --- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/import-named/output.js +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/import-named/output.js @@ -1,16 +1,16 @@ "use strict"; -var _white = require("white"); +function _white() { + const data = require("white"); -function _black() { - const data = require("black"); - - _black = function () { + _white = function () { return data; }; return data; } -console.log(_white.foo1); -console.log(_black().foo2); +var _black = require("black"); + +console.log(_white().foo1); +console.log(_black.foo2); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/import-namespace/output.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/import-namespace/output.js index 848b8cb1d3..208fc75d21 100644 --- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/import-namespace/output.js +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/import-namespace/output.js @@ -1,16 +1,15 @@ "use strict"; -var foo1 = babelHelpers.interopRequireDefault(require("white")); +function foo1() { + const data = babelHelpers.interopRequireDefault(require("white")); -function foo2() { - const data = babelHelpers.interopRequireDefault(require("black")); - - foo2 = function () { + foo1 = function () { return data; }; return data; } -console.log(foo1); -console.log(foo2()); +var foo2 = babelHelpers.interopRequireDefault(require("black")); +console.log(foo1()); +console.log(foo2); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/reexport-default/output.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/reexport-default/output.js index 4286297a7d..472469de8f 100644 --- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/reexport-default/output.js +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/reexport-default/output.js @@ -6,8 +6,16 @@ Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, "default", { enumerable: true, get: function () { - return _white.default; + return _white().default; } }); -var _white = babelHelpers.interopRequireDefault(require("white")); +function _white() { + const data = babelHelpers.interopRequireDefault(require("white")); + + _white = function () { + return data; + }; + + return data; +} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/reexport-named/output.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/reexport-named/output.js index 5ef2c0f7bf..14225e43f3 100644 --- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/reexport-named/output.js +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/reexport-named/output.js @@ -6,24 +6,24 @@ Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, "named1", { enumerable: true, get: function () { - return _white.named1; + return _white().named1; } }); Object.defineProperty(exports, "named2", { enumerable: true, get: function () { - return _black().named2; + return _black.named2; } }); -var _white = require("white"); +function _white() { + const data = require("white"); -function _black() { - const data = require("black"); - - _black = function () { + _white = function () { return data; }; return data; } + +var _black = require("black"); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/reexport-namespace/output.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/reexport-namespace/output.js index 999143700b..6eaee023ec 100644 --- a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/reexport-namespace/output.js +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/reexport-namespace/output.js @@ -4,22 +4,22 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.namespace2 = exports.namespace1 = void 0; -var namespace1 = babelHelpers.interopRequireDefault(require("white")); -exports.namespace1 = namespace1; -function namespace2() { - const data = babelHelpers.interopRequireDefault(require("black")); +function namespace1() { + const data = babelHelpers.interopRequireDefault(require("white")); - namespace2 = function () { + namespace1 = function () { return data; }; return data; } -Object.defineProperty(exports, "namespace2", { +Object.defineProperty(exports, "namespace1", { enumerable: true, get: function () { - return namespace2(); + return namespace1(); } }); +var namespace2 = babelHelpers.interopRequireDefault(require("black")); +exports.namespace2 = namespace2;