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:
@@ -44,13 +44,17 @@ export default declare((api, options) => {
|
||||
const {
|
||||
globals,
|
||||
exactGlobals,
|
||||
loose,
|
||||
allowTopLevelThis,
|
||||
strict,
|
||||
strictMode,
|
||||
noInterop,
|
||||
} = options;
|
||||
|
||||
const constantReexports =
|
||||
api.assumption("constantReexports") ?? options.loose;
|
||||
const enumerableModuleMeta =
|
||||
api.assumption("enumerableModuleMeta") ?? options.loose;
|
||||
|
||||
/**
|
||||
* Build the assignment statements that initialize the UMD global.
|
||||
*/
|
||||
@@ -147,7 +151,8 @@ export default declare((api, options) => {
|
||||
const { meta, headers } = rewriteModuleStatementsAndPrepareHeader(
|
||||
path,
|
||||
{
|
||||
loose,
|
||||
constantReexports,
|
||||
enumerableModuleMeta,
|
||||
strict,
|
||||
strictMode,
|
||||
allowTopLevelThis,
|
||||
@@ -201,7 +206,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,21 @@
|
||||
(function (global, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(["exports", "foo"], factory);
|
||||
} else if (typeof exports !== "undefined") {
|
||||
factory(exports, require("foo"));
|
||||
} else {
|
||||
var mod = {
|
||||
exports: {}
|
||||
};
|
||||
factory(mod.exports, global.foo);
|
||||
global.input = mod.exports;
|
||||
}
|
||||
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, 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,22 @@
|
||||
(function (global, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(["exports", "foo"], factory);
|
||||
} else if (typeof exports !== "undefined") {
|
||||
factory(exports, require("foo"));
|
||||
} else {
|
||||
var mod = {
|
||||
exports: {}
|
||||
};
|
||||
factory(mod.exports, global.foo);
|
||||
global.input = mod.exports;
|
||||
}
|
||||
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, 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,21 @@
|
||||
(function (global, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(["exports", "foo"], factory);
|
||||
} else if (typeof exports !== "undefined") {
|
||||
factory(exports, require("foo"));
|
||||
} else {
|
||||
var mod = {
|
||||
exports: {}
|
||||
};
|
||||
factory(mod.exports, global.foo);
|
||||
global.input = mod.exports;
|
||||
}
|
||||
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, 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,22 @@
|
||||
(function (global, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(["exports", "foo"], factory);
|
||||
} else if (typeof exports !== "undefined") {
|
||||
factory(exports, require("foo"));
|
||||
} else {
|
||||
var mod = {
|
||||
exports: {}
|
||||
};
|
||||
factory(mod.exports, global.foo);
|
||||
global.input = mod.exports;
|
||||
}
|
||||
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, 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,24 @@
|
||||
(function (global, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(["exports", "foo"], factory);
|
||||
} else if (typeof exports !== "undefined") {
|
||||
factory(exports, require("foo"));
|
||||
} else {
|
||||
var mod = {
|
||||
exports: {}
|
||||
};
|
||||
factory(mod.exports, global.foo);
|
||||
global.input = mod.exports;
|
||||
}
|
||||
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, 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,21 @@
|
||||
(function (global, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(["exports", "foo"], factory);
|
||||
} else if (typeof exports !== "undefined") {
|
||||
factory(exports, require("foo"));
|
||||
} else {
|
||||
var mod = {
|
||||
exports: {}
|
||||
};
|
||||
factory(mod.exports, global.foo);
|
||||
global.input = mod.exports;
|
||||
}
|
||||
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, 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,20 @@
|
||||
(function (global, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(["exports", "./foo"], factory);
|
||||
} else if (typeof exports !== "undefined") {
|
||||
factory(exports, require("./foo"));
|
||||
} else {
|
||||
var mod = {
|
||||
exports: {}
|
||||
};
|
||||
factory(mod.exports, global.foo);
|
||||
global.input = mod.exports;
|
||||
}
|
||||
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, 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-umd"]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export var foo = 2;
|
||||
@@ -0,0 +1,20 @@
|
||||
(function (global, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(["exports"], factory);
|
||||
} else if (typeof exports !== "undefined") {
|
||||
factory(exports);
|
||||
} else {
|
||||
var mod = {
|
||||
exports: {}
|
||||
};
|
||||
factory(mod.exports);
|
||||
global.input = mod.exports;
|
||||
}
|
||||
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, 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-umd"]
|
||||
}
|
||||
Reference in New Issue
Block a user