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:
@@ -19,8 +19,6 @@ export default declare((api, options) => {
|
||||
const transformImportCall = createDynamicImportTransform(api);
|
||||
|
||||
const {
|
||||
loose,
|
||||
|
||||
// 'true' for non-mjs files to strictly have .default, instead of having
|
||||
// destructuring-like behavior for their properties.
|
||||
strictNamespace = false,
|
||||
@@ -37,6 +35,11 @@ export default declare((api, options) => {
|
||||
allowCommonJSExports = true,
|
||||
} = options;
|
||||
|
||||
const constantReexports =
|
||||
api.assumption("constantReexports") ?? options.loose;
|
||||
const enumerableModuleMeta =
|
||||
api.assumption("enumerableModuleMeta") ?? options.loose;
|
||||
|
||||
if (
|
||||
typeof lazy !== "boolean" &&
|
||||
typeof lazy !== "function" &&
|
||||
@@ -169,7 +172,8 @@ export default declare((api, options) => {
|
||||
path,
|
||||
{
|
||||
exportName: "exports",
|
||||
loose,
|
||||
constantReexports,
|
||||
enumerableModuleMeta,
|
||||
strict,
|
||||
strictMode,
|
||||
allowTopLevelThis,
|
||||
@@ -215,7 +219,11 @@ export default declare((api, options) => {
|
||||
|
||||
headers.push(header);
|
||||
headers.push(
|
||||
...buildNamespaceInitStatements(meta, metadata, loose),
|
||||
...buildNamespaceInitStatements(
|
||||
meta,
|
||||
metadata,
|
||||
constantReexports,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user