Expose a 'lazy' option for the CommonJS transform.
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
import foo from "foo";
|
||||
|
||||
console.log(foo);
|
||||
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
function _foo() {
|
||||
const data = babelHelpers.interopRequireDefault(require("foo"));
|
||||
|
||||
_foo = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
console.log(_foo().default);
|
||||
@@ -0,0 +1,3 @@
|
||||
import { foo } from "foo";
|
||||
|
||||
console.log(foo);
|
||||
13
packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-dep/import-named/expected.js
vendored
Normal file
13
packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-dep/import-named/expected.js
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
function _foo() {
|
||||
const data = require("foo");
|
||||
|
||||
_foo = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
console.log(_foo().foo);
|
||||
@@ -0,0 +1,3 @@
|
||||
import * as foo from "foo";
|
||||
|
||||
console.log(foo);
|
||||
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
function foo() {
|
||||
const data = babelHelpers.interopRequireWildcard(require("foo"));
|
||||
|
||||
foo = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
console.log(foo());
|
||||
6
packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-dep/options.json
vendored
Normal file
6
packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-dep/options.json
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"plugins": [
|
||||
"external-helpers",
|
||||
["transform-modules-commonjs", { "lazy": true }]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export * from "foo";
|
||||
17
packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-dep/reexport-all/expected.js
vendored
Normal file
17
packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-dep/reexport-all/expected.js
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _foo = require("foo");
|
||||
|
||||
Object.keys(_foo).forEach(function (key) {
|
||||
if (key === "default" || key === "__esModule") return;
|
||||
Object.defineProperty(exports, key, {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _foo[key];
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,2 @@
|
||||
import foo from "foo";
|
||||
export { foo as default };
|
||||
@@ -0,0 +1,21 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "default", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _foo().default;
|
||||
}
|
||||
});
|
||||
|
||||
function _foo() {
|
||||
const data = babelHelpers.interopRequireDefault(require("foo"));
|
||||
|
||||
_foo = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
import { named } from "foo";
|
||||
export { named };
|
||||
@@ -0,0 +1,21 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "named", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _foo().named;
|
||||
}
|
||||
});
|
||||
|
||||
function _foo() {
|
||||
const data = require("foo");
|
||||
|
||||
_foo = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
import * as namespace from "foo";
|
||||
export { namespace };
|
||||
@@ -0,0 +1,23 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.namespace = void 0;
|
||||
|
||||
function namespace() {
|
||||
const data = babelHelpers.interopRequireWildcard(require("foo"));
|
||||
|
||||
namespace = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
Object.defineProperty(exports, "namespace", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return namespace();
|
||||
}
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-dep/sideeffect/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-dep/sideeffect/actual.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import "foo";
|
||||
@@ -0,0 +1,3 @@
|
||||
"use strict";
|
||||
|
||||
require("foo");
|
||||
@@ -0,0 +1,3 @@
|
||||
import foo from "./foo";
|
||||
|
||||
console.log(foo);
|
||||
@@ -0,0 +1,5 @@
|
||||
"use strict";
|
||||
|
||||
var _foo = babelHelpers.interopRequireDefault(require("./foo"));
|
||||
|
||||
console.log(_foo.default);
|
||||
@@ -0,0 +1,3 @@
|
||||
import { foo } from "./foo";
|
||||
|
||||
console.log(foo);
|
||||
@@ -0,0 +1,5 @@
|
||||
"use strict";
|
||||
|
||||
var _foo = require("./foo");
|
||||
|
||||
console.log(_foo.foo);
|
||||
@@ -0,0 +1,3 @@
|
||||
import * as foo from "./foo";
|
||||
|
||||
console.log(foo);
|
||||
@@ -0,0 +1,4 @@
|
||||
"use strict";
|
||||
|
||||
var foo = babelHelpers.interopRequireWildcard(require("./foo"));
|
||||
console.log(foo);
|
||||
6
packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-local/options.json
vendored
Normal file
6
packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-local/options.json
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"plugins": [
|
||||
"external-helpers",
|
||||
["transform-modules-commonjs", { "lazy": true }]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export * from "./foo";
|
||||
@@ -0,0 +1,17 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _foo = require("./foo");
|
||||
|
||||
Object.keys(_foo).forEach(function (key) {
|
||||
if (key === "default" || key === "__esModule") return;
|
||||
Object.defineProperty(exports, key, {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _foo[key];
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,2 @@
|
||||
import foo from "./foo";
|
||||
export { foo as default };
|
||||
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "default", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _foo.default;
|
||||
}
|
||||
});
|
||||
|
||||
var _foo = babelHelpers.interopRequireDefault(require("./foo"));
|
||||
@@ -0,0 +1,2 @@
|
||||
import { named } from "./foo";
|
||||
export { named };
|
||||
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "named", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _foo.named;
|
||||
}
|
||||
});
|
||||
|
||||
var _foo = require("./foo");
|
||||
@@ -0,0 +1,2 @@
|
||||
import * as namespace from "./foo";
|
||||
export { namespace };
|
||||
@@ -0,0 +1,8 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.namespace = void 0;
|
||||
var namespace = babelHelpers.interopRequireWildcard(require("./foo"));
|
||||
exports.namespace = namespace;
|
||||
@@ -0,0 +1 @@
|
||||
import "./a";
|
||||
@@ -0,0 +1,3 @@
|
||||
"use strict";
|
||||
|
||||
require("./a");
|
||||
@@ -0,0 +1,7 @@
|
||||
import foo1 from "white";
|
||||
|
||||
console.log(foo1);
|
||||
|
||||
import foo2 from "black";
|
||||
|
||||
console.log(foo2);
|
||||
@@ -0,0 +1,16 @@
|
||||
"use strict";
|
||||
|
||||
var _white = babelHelpers.interopRequireDefault(require("white"));
|
||||
|
||||
function _black() {
|
||||
const data = babelHelpers.interopRequireDefault(require("black"));
|
||||
|
||||
_black = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
console.log(_white.default);
|
||||
console.log(_black().default);
|
||||
@@ -0,0 +1,7 @@
|
||||
import { foo1 } from "white";
|
||||
|
||||
console.log(foo1);
|
||||
|
||||
import { foo2 } from "black";
|
||||
|
||||
console.log(foo2);
|
||||
@@ -0,0 +1,16 @@
|
||||
"use strict";
|
||||
|
||||
var _white = require("white");
|
||||
|
||||
function _black() {
|
||||
const data = require("black");
|
||||
|
||||
_black = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
console.log(_white.foo1);
|
||||
console.log(_black().foo2);
|
||||
@@ -0,0 +1,7 @@
|
||||
import * as foo1 from "white";
|
||||
|
||||
console.log(foo1);
|
||||
|
||||
import * as foo2 from "black";
|
||||
|
||||
console.log(foo2);
|
||||
@@ -0,0 +1,16 @@
|
||||
"use strict";
|
||||
|
||||
var foo1 = babelHelpers.interopRequireWildcard(require("white"));
|
||||
|
||||
function foo2() {
|
||||
const data = babelHelpers.interopRequireWildcard(require("black"));
|
||||
|
||||
foo2 = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
console.log(foo1);
|
||||
console.log(foo2());
|
||||
6
packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/options.json
vendored
Normal file
6
packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/options.json
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"plugins": [
|
||||
"external-helpers",
|
||||
["transform-modules-commonjs", { "lazy": ["white"] }]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
export * from "white";
|
||||
|
||||
export * from "black";
|
||||
@@ -0,0 +1,29 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _white = require("white");
|
||||
|
||||
Object.keys(_white).forEach(function (key) {
|
||||
if (key === "default" || key === "__esModule") return;
|
||||
Object.defineProperty(exports, key, {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _white[key];
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
var _black = require("black");
|
||||
|
||||
Object.keys(_black).forEach(function (key) {
|
||||
if (key === "default" || key === "__esModule") return;
|
||||
Object.defineProperty(exports, key, {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _black[key];
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,2 @@
|
||||
import foo from "white";
|
||||
export { foo as default };
|
||||
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "default", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _white.default;
|
||||
}
|
||||
});
|
||||
|
||||
var _white = babelHelpers.interopRequireDefault(require("white"));
|
||||
@@ -0,0 +1,5 @@
|
||||
import { named1 } from "white";
|
||||
export { named1 };
|
||||
|
||||
import { named2 } from "black";
|
||||
export { named2 };
|
||||
@@ -0,0 +1,29 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "named1", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _white.named1;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "named2", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _black().named2;
|
||||
}
|
||||
});
|
||||
|
||||
var _white = require("white");
|
||||
|
||||
function _black() {
|
||||
const data = require("black");
|
||||
|
||||
_black = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
import * as namespace1 from "white";
|
||||
export { namespace1 };
|
||||
|
||||
import * as namespace2 from "black";
|
||||
export { namespace2 };
|
||||
@@ -0,0 +1,25 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.namespace2 = exports.namespace1 = void 0;
|
||||
var namespace1 = babelHelpers.interopRequireWildcard(require("white"));
|
||||
exports.namespace1 = namespace1;
|
||||
|
||||
function namespace2() {
|
||||
const data = babelHelpers.interopRequireWildcard(require("black"));
|
||||
|
||||
namespace2 = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
Object.defineProperty(exports, "namespace2", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return namespace2();
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,2 @@
|
||||
import "white";
|
||||
import "black";
|
||||
@@ -0,0 +1,5 @@
|
||||
"use strict";
|
||||
|
||||
require("white");
|
||||
|
||||
require("black");
|
||||
Reference in New Issue
Block a user