Implement assumptions defined in the babel/rfcs#5 RFC
- `mutableTemplateObject` and `ignoreToPrimitiveHint` (#12408) - `setClassMethods` (#12407) - `setComputedProperties` (#12490) - `ignoreFunctionLength` (#12491) - `noDocumentAll` (#12481) - `iterableIsArray` and `arrayLikeIsIterable` (#12489) - `pureGetters` (#12504) - `skipForOfIteratorClosing` (#12496) - `objectRestNoSymbols`, `setSpreadProperties` and `pureGetters` (#12505) - `noNewArrows` (#12613, #12793) - `setPublicClassFields` and `privateFieldsAsProperties` (#12497) - `constantReexports` and `enumerableModuleMeta` (#12618) - `constantSuper`, `superIsCallableConstructor` and `noClassCalls` (#12726) Co-authored-by: Justin Ridgewell <justin@ridgewell.name> Co-authored-by: Huáng Jùnliàng <JLHwung@users.noreply.github.com>
This commit is contained in:
@@ -38,7 +38,13 @@ function injectWrapper(path, wrapper) {
|
||||
export default declare((api, options) => {
|
||||
api.assertVersion(7);
|
||||
|
||||
const { loose, allowTopLevelThis, strict, strictMode, noInterop } = options;
|
||||
const { allowTopLevelThis, strict, strictMode, noInterop } = options;
|
||||
|
||||
const constantReexports =
|
||||
api.assumption("constantReexports") ?? options.loose;
|
||||
const enumerableModuleMeta =
|
||||
api.assumption("enumerableModuleMeta") ?? options.loose;
|
||||
|
||||
return {
|
||||
name: "transform-modules-amd",
|
||||
|
||||
@@ -103,7 +109,8 @@ export default declare((api, options) => {
|
||||
const { meta, headers } = rewriteModuleStatementsAndPrepareHeader(
|
||||
path,
|
||||
{
|
||||
loose,
|
||||
enumerableModuleMeta,
|
||||
constantReexports,
|
||||
strict,
|
||||
strictMode,
|
||||
allowTopLevelThis,
|
||||
@@ -141,7 +148,11 @@ export default declare((api, options) => {
|
||||
}
|
||||
|
||||
headers.push(
|
||||
...buildNamespaceInitStatements(meta, metadata, loose),
|
||||
...buildNamespaceInitStatements(
|
||||
meta,
|
||||
metadata,
|
||||
constantReexports,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
export {foo as default} from "foo";
|
||||
@@ -0,0 +1,9 @@
|
||||
define(["exports", "foo"], function (_exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(_exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
_exports.default = void 0;
|
||||
_exports.default = _foo.foo;
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
export {foo as default, bar} from "foo";
|
||||
@@ -0,0 +1,10 @@
|
||||
define(["exports", "foo"], function (_exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(_exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
_exports.bar = _exports.default = void 0;
|
||||
_exports.default = _foo.foo;
|
||||
_exports.bar = _foo.bar;
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
export {foo as bar} from "foo";
|
||||
@@ -0,0 +1,9 @@
|
||||
define(["exports", "foo"], function (_exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(_exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
_exports.bar = void 0;
|
||||
_exports.bar = _foo.foo;
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
export {foo, bar} from "foo";
|
||||
@@ -0,0 +1,10 @@
|
||||
define(["exports", "foo"], function (_exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(_exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
_exports.bar = _exports.foo = void 0;
|
||||
_exports.foo = _foo.foo;
|
||||
_exports.bar = _foo.bar;
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
export * from "foo";
|
||||
@@ -0,0 +1,12 @@
|
||||
define(["exports", "foo"], function (_exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(_exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.keys(_foo).forEach(function (key) {
|
||||
if (key === "default" || key === "__esModule") return;
|
||||
if (key in _exports && _exports[key] === _foo[key]) return;
|
||||
_exports[key] = _foo[key];
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
export {foo} from "foo";
|
||||
@@ -0,0 +1,9 @@
|
||||
define(["exports", "foo"], function (_exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(_exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
_exports.foo = void 0;
|
||||
_exports.foo = _foo.foo;
|
||||
});
|
||||
@@ -0,0 +1,3 @@
|
||||
import { foo } from "./foo";
|
||||
|
||||
export { foo };
|
||||
@@ -0,0 +1,8 @@
|
||||
define(["exports", "./foo"], function (_exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(_exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
_exports.foo = _foo.foo;
|
||||
});
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"assumptions": {
|
||||
"constantReexports": true
|
||||
},
|
||||
"plugins": ["external-helpers", "transform-modules-amd"]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export var foo = 2;
|
||||
@@ -0,0 +1,8 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.foo = void 0;
|
||||
var foo = 2;
|
||||
_exports.foo = foo;
|
||||
});
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"assumptions": {
|
||||
"enumerableModuleMeta": true
|
||||
},
|
||||
"plugins": ["external-helpers", "transform-modules-amd"]
|
||||
}
|
||||
Reference in New Issue
Block a user