You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@babel/plugin-transform-modules-commonjs

Package Overview
Dependencies
Maintainers
4
Versions
118
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@babel/plugin-transform-modules-commonjs - npm Package Compare versions

Comparing version
8.0.0-rc.2
to
8.0.0-rc.3
+9
-7
lib/index.js
import { declare } from '@babel/helper-plugin-utils';
import { buildDynamicImport, isSideEffectImport, isModule, getModuleName, rewriteModuleStatementsAndPrepareHeader, wrapInterop, buildNamespaceInitStatements, ensureStatementsHoisted } from '@babel/helper-module-transforms';
import { buildDynamicImport, isSideEffectImport, isModule, rewriteModuleStatementsAndPrepareHeader, wrapInterop, buildNamespaceInitStatements, ensureStatementsHoisted } from '@babel/helper-module-transforms';
import { template, types } from '@babel/core';

@@ -14,3 +14,3 @@

name: `${"@babel/plugin-transform-modules-commonjs"}/lazy`,
version: "8.0.0-rc.2",
version: "8.0.0-rc.3",
getWrapperPayload(source, metadata) {

@@ -29,2 +29,3 @@ if (isSideEffectImport(metadata) || metadata.reexportAll) {

}
return null;
},

@@ -42,5 +43,7 @@ buildRequireWrapper(name, init, payload, referenced) {

}
return null;
},
wrapReference(ref, payload) {
if (payload === "lazy/function") return types.callExpression(ref, []);
return null;
}

@@ -59,5 +62,6 @@ });

const res = cb(el);
if (res != null) return res;
if (res != null) return res ?? null;
}
}
return null;
}

@@ -80,3 +84,3 @@ function makeInvokers(file) {

var index = declare((api, options) => {
api.assertVersion("^7.0.0-0 || ^8.0.0 || 8.0.0-rc.2");
api.assertVersion("^7.0.0-0 || ^8.0.0 || 8.0.0-rc.3");
const {

@@ -171,3 +175,3 @@ strictNamespace = false,

visitor: {
["CallExpression" + (api.types.importExpression ? "|ImportExpression" : "")](path) {
"CallExpression|ImportExpression"(path) {
if (!this.file.has("@babel/plugin-proposal-dynamic-import")) return;

@@ -196,4 +200,2 @@ if (path.isCallExpression() && !types.isImport(path.node.callee)) return;

}
let moduleName = getModuleName(this.file.opts, options);
if (moduleName) moduleName = types.stringLiteral(moduleName);
const hooks = makeInvokers(this.file);

@@ -200,0 +202,0 @@ const {

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sources":["../src/dynamic-import.ts","../src/lazy.ts","../src/hooks.ts","../src/index.ts"],"sourcesContent":["// Heavily inspired by\n// https://github.com/airbnb/babel-plugin-dynamic-import-node/blob/master/src/utils.js\n\nimport type { File, NodePath } from \"@babel/core\";\nimport { types as t, template } from \"@babel/core\";\nimport { buildDynamicImport } from \"@babel/helper-module-transforms\";\n\nconst requireNoInterop = (source: t.Expression) =>\n template.expression.ast`require(${source})`;\n\nconst requireInterop = (source: t.Expression, file: File) =>\n t.callExpression(file.addHelper(\"interopRequireWildcard\"), [\n requireNoInterop(source),\n ]);\n\nexport function transformDynamicImport(\n path: NodePath<t.CallExpression | t.ImportExpression>,\n noInterop: boolean,\n file: File,\n) {\n const buildRequire = noInterop ? requireNoInterop : requireInterop;\n\n path.replaceWith(\n buildDynamicImport(path.node, true, false, specifier =>\n buildRequire(specifier, file),\n ),\n );\n}\n","import { template, types as t } from \"@babel/core\";\nimport { isSideEffectImport } from \"@babel/helper-module-transforms\";\nimport type { CommonJSHook } from \"./hooks.ts\";\n\ntype Lazy = boolean | string[] | ((source: string) => boolean);\n\nexport const lazyImportsHook = (lazy: Lazy): CommonJSHook => ({\n name: `${PACKAGE_JSON.name}/lazy`,\n version: PACKAGE_JSON.version,\n getWrapperPayload(source, metadata) {\n if (isSideEffectImport(metadata) || metadata.reexportAll) {\n return null;\n }\n if (lazy === true) {\n // 'true' means that local relative files are eagerly loaded and\n // dependency modules are loaded lazily.\n return source.includes(\".\") ? null : \"lazy/function\";\n }\n if (Array.isArray(lazy)) {\n return !lazy.includes(source) ? null : \"lazy/function\";\n }\n if (typeof lazy === \"function\") {\n return lazy(source) ? \"lazy/function\" : null;\n }\n },\n buildRequireWrapper(name, init, payload, referenced) {\n if (payload === \"lazy/function\") {\n if (!referenced) return false;\n return template.statement.ast`\n function ${name}() {\n const data = ${init};\n ${name} = function(){ return data; };\n return data;\n }\n `;\n }\n },\n wrapReference(ref, payload) {\n if (payload === \"lazy/function\") return t.callExpression(ref, []);\n },\n});\n","import type { types as t, File } from \"@babel/core\";\nimport type { isSideEffectImport } from \"@babel/helper-module-transforms\";\n\nconst commonJSHooksKey =\n \"@babel/plugin-transform-modules-commonjs/customWrapperPlugin\";\n\ntype SourceMetadata = Parameters<typeof isSideEffectImport>[0];\n\n// A hook exposes a set of function that can customize how `require()` calls and\n// references to the imported bindings are handled. These functions can either\n// return a result, or return `null` to delegate to the next hook.\nexport interface CommonJSHook {\n name: string;\n version: string;\n wrapReference?(ref: t.Expression, payload: unknown): t.CallExpression | null;\n // Optionally wrap a `require` call. If this function returns `false`, the\n // `require` call is removed from the generated code.\n buildRequireWrapper?(\n name: string,\n init: t.Expression,\n payload: unknown,\n referenced: boolean,\n ): t.Statement | false | null;\n getWrapperPayload?(\n source: string,\n metadata: SourceMetadata,\n importNodes: t.Node[],\n ): string | null;\n}\n\nexport function defineCommonJSHook(file: File, hook: CommonJSHook) {\n let hooks = file.get(commonJSHooksKey);\n if (!hooks) file.set(commonJSHooksKey, (hooks = []));\n hooks.push(hook);\n}\n\nfunction findMap<T, U>(arr: T[] | null, cb: (el: T) => U): U | null {\n if (arr) {\n for (const el of arr) {\n const res = cb(el);\n if (res != null) return res;\n }\n }\n}\n\nexport function makeInvokers(\n file: File,\n): Pick<\n CommonJSHook,\n \"wrapReference\" | \"getWrapperPayload\" | \"buildRequireWrapper\"\n> {\n const hooks: CommonJSHook[] | null = file.get(commonJSHooksKey);\n\n return {\n getWrapperPayload(...args) {\n return findMap(hooks, hook => hook.getWrapperPayload?.(...args));\n },\n wrapReference(...args) {\n return findMap(hooks, hook => hook.wrapReference?.(...args));\n },\n buildRequireWrapper(...args) {\n return findMap(hooks, hook => hook.buildRequireWrapper?.(...args));\n },\n };\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport {\n isModule,\n rewriteModuleStatementsAndPrepareHeader,\n type RewriteModuleStatementsAndPrepareHeaderOptions,\n isSideEffectImport,\n buildNamespaceInitStatements,\n ensureStatementsHoisted,\n wrapInterop,\n getModuleName,\n} from \"@babel/helper-module-transforms\";\nimport { template, types as t } from \"@babel/core\";\nimport type { PluginPass, Visitor, Scope, NodePath } from \"@babel/core\";\nimport type { PluginOptions } from \"@babel/helper-module-transforms\";\n\nimport { transformDynamicImport } from \"./dynamic-import.ts\";\nimport { lazyImportsHook } from \"./lazy.ts\";\n\nimport { defineCommonJSHook, makeInvokers } from \"./hooks.ts\";\nexport { defineCommonJSHook };\n\nexport interface Options extends PluginOptions {\n allowCommonJSExports?: boolean;\n allowTopLevelThis?: boolean;\n importInterop?: RewriteModuleStatementsAndPrepareHeaderOptions[\"importInterop\"];\n lazy?: RewriteModuleStatementsAndPrepareHeaderOptions[\"lazy\"];\n loose?: boolean;\n mjsStrictNamespace?: boolean;\n noInterop?: boolean;\n strict?: boolean;\n strictMode?: boolean;\n strictNamespace?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(REQUIRED_VERSION(7));\n\n const {\n // 'true' for imports to strictly have .default, instead of having\n // destructuring-like behavior for their properties. This matches the behavior\n // of the initial Node.js (v12) behavior when importing a CommonJS without\n // the __esMoule property.\n // .strictNamespace is for non-mjs files, mjsStrictNamespace if for mjs files.\n strictNamespace = false,\n mjsStrictNamespace = strictNamespace,\n\n allowTopLevelThis,\n strict,\n strictMode,\n noInterop,\n importInterop,\n lazy = false,\n // Defaulting to 'true' for now. May change before 7.x major.\n allowCommonJSExports = true,\n loose = false,\n } = options;\n\n const constantReexports = api.assumption(\"constantReexports\") ?? loose;\n const enumerableModuleMeta = api.assumption(\"enumerableModuleMeta\") ?? loose;\n const noIncompleteNsImportDetection =\n api.assumption(\"noIncompleteNsImportDetection\") ?? false;\n\n if (\n typeof lazy !== \"boolean\" &&\n typeof lazy !== \"function\" &&\n (!Array.isArray(lazy) || !lazy.every(item => typeof item === \"string\"))\n ) {\n throw new Error(`.lazy must be a boolean, array of strings, or a function`);\n }\n\n if (typeof strictNamespace !== \"boolean\") {\n throw new Error(`.strictNamespace must be a boolean, or undefined`);\n }\n if (typeof mjsStrictNamespace !== \"boolean\") {\n throw new Error(`.mjsStrictNamespace must be a boolean, or undefined`);\n }\n\n const getAssertion = (localName: string) => template.expression.ast`\n (function(){\n throw new Error(\n \"The CommonJS '\" + \"${localName}\" + \"' variable is not available in ES6 modules.\" +\n \"Consider setting setting sourceType:script or sourceType:unambiguous in your \" +\n \"Babel config for this file.\");\n })()\n `;\n\n const moduleExportsVisitor: Visitor<{ scope: Scope }> = {\n ReferencedIdentifier(path) {\n const localName = path.node.name;\n if (localName !== \"module\" && localName !== \"exports\") return;\n\n const localBinding = path.scope.getBinding(localName);\n const rootBinding = this.scope.getBinding(localName);\n\n if (\n // redeclared in this scope\n rootBinding !== localBinding ||\n (path.parentPath.isObjectProperty({ value: path.node }) &&\n path.parentPath.parentPath.isObjectPattern()) ||\n path.parentPath.isAssignmentExpression({ left: path.node }) ||\n path.isAssignmentExpression({ left: path.node })\n ) {\n return;\n }\n\n path.replaceWith(getAssertion(localName));\n },\n\n UpdateExpression(path) {\n const arg = path.get(\"argument\");\n if (!arg.isIdentifier()) return;\n const localName = arg.node.name;\n if (localName !== \"module\" && localName !== \"exports\") return;\n\n const localBinding = path.scope.getBinding(localName);\n const rootBinding = this.scope.getBinding(localName);\n\n // redeclared in this scope\n if (rootBinding !== localBinding) return;\n\n path.replaceWith(\n t.assignmentExpression(\n (path.node.operator[0] + \"=\") as t.AssignmentExpression[\"operator\"],\n arg.node,\n getAssertion(localName),\n ),\n );\n },\n\n AssignmentExpression(path) {\n const left = path.get(\"left\");\n if (left.isIdentifier()) {\n const localName = left.node.name;\n if (localName !== \"module\" && localName !== \"exports\") return;\n\n const localBinding = path.scope.getBinding(localName);\n const rootBinding = this.scope.getBinding(localName);\n\n // redeclared in this scope\n if (rootBinding !== localBinding) return;\n\n const right = path.get(\"right\");\n right.replaceWith(\n t.sequenceExpression([right.node, getAssertion(localName)]),\n );\n } else if (left.isPattern()) {\n const ids = left.getOuterBindingIdentifiers();\n const localName = Object.keys(ids).find(localName => {\n if (localName !== \"module\" && localName !== \"exports\") return false;\n\n return (\n this.scope.getBinding(localName) ===\n path.scope.getBinding(localName)\n );\n });\n\n if (localName) {\n const right = path.get(\"right\");\n right.replaceWith(\n t.sequenceExpression([right.node, getAssertion(localName)]),\n );\n }\n }\n },\n };\n\n return {\n name: \"transform-modules-commonjs\",\n\n pre() {\n this.file.set(\"@babel/plugin-transform-modules-*\", \"commonjs\");\n\n if (lazy) defineCommonJSHook(this.file, lazyImportsHook(lazy));\n },\n\n visitor: {\n [\"CallExpression\" +\n (api.types.importExpression ? \"|ImportExpression\" : \"\")](\n this: PluginPass,\n path: NodePath<t.CallExpression | t.ImportExpression>,\n ) {\n if (!this.file.has(\"@babel/plugin-proposal-dynamic-import\")) return;\n if (path.isCallExpression() && !t.isImport(path.node.callee)) return;\n\n let { scope } = path;\n do {\n scope.rename(\"require\");\n } while ((scope = scope.parent));\n\n transformDynamicImport(path, noInterop, this.file);\n },\n\n Program: {\n exit(path, state) {\n if (!isModule(path)) return;\n\n // Rename the bindings auto-injected into the scope so there is no\n // risk of conflict between the bindings.\n path.scope.rename(\"exports\");\n path.scope.rename(\"module\");\n path.scope.rename(\"require\");\n path.scope.rename(\"__filename\");\n path.scope.rename(\"__dirname\");\n\n // Rewrite references to 'module' and 'exports' to throw exceptions.\n // These objects are specific to CommonJS and are not available in\n // real ES6 implementations.\n if (!allowCommonJSExports) {\n path.traverse(moduleExportsVisitor, {\n scope: path.scope,\n });\n }\n\n let moduleName = getModuleName(this.file.opts, options);\n // @ts-expect-error todo(flow->ts): do not reuse variables\n if (moduleName) moduleName = t.stringLiteral(moduleName);\n\n const hooks = makeInvokers(this.file);\n\n const { meta, headers } = rewriteModuleStatementsAndPrepareHeader(\n path,\n {\n exportName: \"exports\",\n constantReexports,\n enumerableModuleMeta,\n strict,\n strictMode,\n allowTopLevelThis,\n noInterop,\n importInterop,\n wrapReference: hooks.wrapReference,\n getWrapperPayload: hooks.getWrapperPayload,\n esNamespaceOnly:\n typeof state.filename === \"string\" &&\n state.filename.endsWith(\".mjs\")\n ? mjsStrictNamespace\n : strictNamespace,\n noIncompleteNsImportDetection,\n filename: this.file.opts.filename,\n },\n );\n\n for (const [source, metadata] of meta.source) {\n const loadExpr = t.callExpression(t.identifier(\"require\"), [\n t.stringLiteral(source),\n ]);\n\n let header: t.Statement;\n if (isSideEffectImport(metadata)) {\n if (lazy && metadata.wrap === \"function\") {\n throw new Error(\"Assertion failure\");\n }\n\n header = t.expressionStatement(loadExpr);\n } else {\n const init =\n wrapInterop(path, loadExpr, metadata.interop) || loadExpr;\n\n if (metadata.wrap) {\n const res = hooks.buildRequireWrapper(\n metadata.name,\n init,\n metadata.wrap,\n metadata.referenced,\n );\n if (res === false) continue;\n else header = res;\n }\n header ??= template.statement.ast`\n var ${metadata.name} = ${init};\n `;\n }\n header.loc = metadata.loc;\n\n headers.push(header);\n headers.push(\n ...buildNamespaceInitStatements(\n meta,\n metadata,\n constantReexports,\n hooks.wrapReference,\n ),\n );\n }\n\n ensureStatementsHoisted(headers);\n path.unshiftContainer(\"body\", headers);\n path.get(\"body\").forEach(path => {\n if (!headers.includes(path.node)) return;\n if (path.isVariableDeclaration()) {\n path.scope.registerDeclaration(path);\n }\n });\n },\n },\n },\n };\n});\n"],"names":["requireNoInterop","source","template","expression","ast","requireInterop","file","t","callExpression","addHelper","transformDynamicImport","path","noInterop","buildRequire","replaceWith","buildDynamicImport","node","specifier","lazyImportsHook","lazy","name","version","getWrapperPayload","metadata","isSideEffectImport","reexportAll","includes","Array","isArray","buildRequireWrapper","init","payload","referenced","statement","wrapReference","ref","commonJSHooksKey","defineCommonJSHook","hook","hooks","get","set","push","findMap","arr","cb","el","res","makeInvokers","args","declare","api","options","assertVersion","strictNamespace","mjsStrictNamespace","allowTopLevelThis","strict","strictMode","importInterop","allowCommonJSExports","loose","constantReexports","assumption","enumerableModuleMeta","noIncompleteNsImportDetection","every","item","Error","getAssertion","localName","moduleExportsVisitor","ReferencedIdentifier","localBinding","scope","getBinding","rootBinding","parentPath","isObjectProperty","value","isObjectPattern","isAssignmentExpression","left","UpdateExpression","arg","isIdentifier","assignmentExpression","operator","AssignmentExpression","right","sequenceExpression","isPattern","ids","getOuterBindingIdentifiers","Object","keys","find","pre","visitor","types","importExpression","has","isCallExpression","isImport","callee","rename","parent","Program","exit","state","isModule","traverse","moduleName","getModuleName","opts","stringLiteral","meta","headers","rewriteModuleStatementsAndPrepareHeader","exportName","esNamespaceOnly","filename","endsWith","loadExpr","identifier","header","wrap","expressionStatement","wrapInterop","interop","loc","buildNamespaceInitStatements","ensureStatementsHoisted","unshiftContainer","forEach","isVariableDeclaration","registerDeclaration"],"mappings":"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"}
{"version":3,"file":"index.js","sources":["../src/dynamic-import.ts","../src/lazy.ts","../src/hooks.ts","../src/index.ts"],"sourcesContent":["// Heavily inspired by\n// https://github.com/airbnb/babel-plugin-dynamic-import-node/blob/master/src/utils.js\n\nimport type { File, NodePath } from \"@babel/core\";\nimport { types as t, template } from \"@babel/core\";\nimport { buildDynamicImport } from \"@babel/helper-module-transforms\";\n\nconst requireNoInterop = (source: t.Expression) =>\n template.expression.ast`require(${source})`;\n\nconst requireInterop = (source: t.Expression, file: File) =>\n t.callExpression(file.addHelper(\"interopRequireWildcard\"), [\n requireNoInterop(source),\n ]);\n\nexport function transformDynamicImport(\n path: NodePath<t.CallExpression | t.ImportExpression>,\n noInterop: boolean | undefined,\n file: File,\n) {\n const buildRequire = noInterop ? requireNoInterop : requireInterop;\n\n path.replaceWith(\n buildDynamicImport(path.node, true, false, specifier =>\n buildRequire(specifier, file),\n ),\n );\n}\n","import { template, types as t } from \"@babel/core\";\nimport { isSideEffectImport } from \"@babel/helper-module-transforms\";\nimport type { CommonJSHook } from \"./hooks.ts\";\n\ntype Lazy = boolean | string[] | ((source: string) => boolean);\n\nexport const lazyImportsHook = (lazy: Lazy): CommonJSHook => ({\n name: `${PACKAGE_JSON.name}/lazy`,\n version: PACKAGE_JSON.version,\n getWrapperPayload(source, metadata) {\n if (isSideEffectImport(metadata) || metadata.reexportAll) {\n return null;\n }\n if (lazy === true) {\n // 'true' means that local relative files are eagerly loaded and\n // dependency modules are loaded lazily.\n return source.includes(\".\") ? null : \"lazy/function\";\n }\n if (Array.isArray(lazy)) {\n return !lazy.includes(source) ? null : \"lazy/function\";\n }\n if (typeof lazy === \"function\") {\n return lazy(source) ? \"lazy/function\" : null;\n }\n return null;\n },\n buildRequireWrapper(name, init, payload, referenced) {\n if (payload === \"lazy/function\") {\n if (!referenced) return false;\n return template.statement.ast`\n function ${name}() {\n const data = ${init};\n ${name} = function(){ return data; };\n return data;\n }\n `;\n }\n return null;\n },\n wrapReference(ref, payload) {\n if (payload === \"lazy/function\") return t.callExpression(ref, []);\n return null;\n },\n});\n","import type { types as t, File } from \"@babel/core\";\nimport type { isSideEffectImport } from \"@babel/helper-module-transforms\";\n\nconst commonJSHooksKey =\n \"@babel/plugin-transform-modules-commonjs/customWrapperPlugin\";\n\ntype SourceMetadata = Parameters<typeof isSideEffectImport>[0];\n\n// A hook exposes a set of function that can customize how `require()` calls and\n// references to the imported bindings are handled. These functions can either\n// return a result, or return `null` to delegate to the next hook.\nexport interface CommonJSHook {\n name: string;\n version: string;\n wrapReference?(ref: t.Expression, payload: unknown): t.CallExpression | null;\n // Optionally wrap a `require` call. If this function returns `false`, the\n // `require` call is removed from the generated code.\n buildRequireWrapper?(\n name: string,\n init: t.Expression,\n payload: unknown,\n referenced: boolean,\n ): t.Statement | false | null;\n getWrapperPayload?(\n source: string,\n metadata: SourceMetadata,\n importNodes: t.Node[],\n ): string | null;\n}\n\nexport function defineCommonJSHook(file: File, hook: CommonJSHook) {\n let hooks = file.get(commonJSHooksKey);\n if (!hooks) file.set(commonJSHooksKey, (hooks = []));\n hooks.push(hook);\n}\n\nfunction findMap<T, U>(\n arr: T[] | null,\n cb: (el: T) => U,\n): NonNullable<U> | null {\n if (arr) {\n for (const el of arr) {\n const res = cb(el);\n if (res != null) return res ?? null;\n }\n }\n return null;\n}\n\nexport function makeInvokers(\n file: File,\n): Pick<\n CommonJSHook,\n \"wrapReference\" | \"getWrapperPayload\" | \"buildRequireWrapper\"\n> {\n const hooks: CommonJSHook[] | null = file.get(commonJSHooksKey);\n\n return {\n getWrapperPayload(...args) {\n return findMap(hooks, hook => hook.getWrapperPayload?.(...args));\n },\n wrapReference(...args) {\n return findMap(hooks, hook => hook.wrapReference?.(...args));\n },\n buildRequireWrapper(...args) {\n return findMap(hooks, hook => hook.buildRequireWrapper?.(...args));\n },\n };\n}\n","import { declare } from \"@babel/helper-plugin-utils\";\nimport {\n isModule,\n rewriteModuleStatementsAndPrepareHeader,\n type RewriteModuleStatementsAndPrepareHeaderOptions,\n isSideEffectImport,\n buildNamespaceInitStatements,\n ensureStatementsHoisted,\n wrapInterop,\n} from \"@babel/helper-module-transforms\";\nimport { template, types as t } from \"@babel/core\";\nimport type { PluginPass, Visitor, Scope, NodePath } from \"@babel/core\";\nimport type { PluginOptions } from \"@babel/helper-module-transforms\";\n\nimport { transformDynamicImport } from \"./dynamic-import.ts\";\nimport { lazyImportsHook } from \"./lazy.ts\";\n\nimport { defineCommonJSHook, makeInvokers } from \"./hooks.ts\";\nexport { defineCommonJSHook };\n\nexport interface Options extends PluginOptions {\n allowCommonJSExports?: boolean;\n allowTopLevelThis?: boolean;\n importInterop?: RewriteModuleStatementsAndPrepareHeaderOptions[\"importInterop\"];\n lazy?: RewriteModuleStatementsAndPrepareHeaderOptions[\"lazy\"];\n loose?: boolean;\n mjsStrictNamespace?: boolean;\n noInterop?: boolean;\n strict?: boolean;\n strictMode?: boolean;\n strictNamespace?: boolean;\n}\n\nexport default declare((api, options: Options) => {\n api.assertVersion(REQUIRED_VERSION(7));\n\n const {\n // 'true' for imports to strictly have .default, instead of having\n // destructuring-like behavior for their properties. This matches the behavior\n // of the initial Node.js (v12) behavior when importing a CommonJS without\n // the __esMoule property.\n // .strictNamespace is for non-mjs files, mjsStrictNamespace if for mjs files.\n strictNamespace = false,\n mjsStrictNamespace = strictNamespace,\n\n allowTopLevelThis,\n strict,\n strictMode,\n noInterop,\n importInterop,\n lazy = false,\n // Defaulting to 'true' for now. May change before 7.x major.\n allowCommonJSExports = true,\n loose = false,\n } = options;\n\n const constantReexports = api.assumption(\"constantReexports\") ?? loose;\n const enumerableModuleMeta = api.assumption(\"enumerableModuleMeta\") ?? loose;\n const noIncompleteNsImportDetection =\n api.assumption(\"noIncompleteNsImportDetection\") ?? false;\n\n if (\n typeof lazy !== \"boolean\" &&\n typeof lazy !== \"function\" &&\n (!Array.isArray(lazy) || !lazy.every(item => typeof item === \"string\"))\n ) {\n throw new Error(`.lazy must be a boolean, array of strings, or a function`);\n }\n\n if (typeof strictNamespace !== \"boolean\") {\n throw new Error(`.strictNamespace must be a boolean, or undefined`);\n }\n if (typeof mjsStrictNamespace !== \"boolean\") {\n throw new Error(`.mjsStrictNamespace must be a boolean, or undefined`);\n }\n\n const getAssertion = (localName: string) => template.expression.ast`\n (function(){\n throw new Error(\n \"The CommonJS '\" + \"${localName}\" + \"' variable is not available in ES6 modules.\" +\n \"Consider setting setting sourceType:script or sourceType:unambiguous in your \" +\n \"Babel config for this file.\");\n })()\n `;\n\n const moduleExportsVisitor: Visitor<{ scope: Scope }> = {\n ReferencedIdentifier(path) {\n const localName = path.node.name;\n if (localName !== \"module\" && localName !== \"exports\") return;\n\n const localBinding = path.scope.getBinding(localName);\n const rootBinding = this.scope.getBinding(localName);\n\n if (\n // redeclared in this scope\n rootBinding !== localBinding ||\n (path.parentPath.isObjectProperty({ value: path.node }) &&\n path.parentPath.parentPath.isObjectPattern()) ||\n path.parentPath.isAssignmentExpression({ left: path.node }) ||\n path.isAssignmentExpression({ left: path.node })\n ) {\n return;\n }\n\n path.replaceWith(getAssertion(localName));\n },\n\n UpdateExpression(path) {\n const arg = path.get(\"argument\");\n if (!arg.isIdentifier()) return;\n const localName = arg.node.name;\n if (localName !== \"module\" && localName !== \"exports\") return;\n\n const localBinding = path.scope.getBinding(localName);\n const rootBinding = this.scope.getBinding(localName);\n\n // redeclared in this scope\n if (rootBinding !== localBinding) return;\n\n path.replaceWith(\n t.assignmentExpression(\n (path.node.operator[0] + \"=\") as t.AssignmentExpression[\"operator\"],\n arg.node,\n getAssertion(localName),\n ),\n );\n },\n\n AssignmentExpression(path) {\n const left = path.get(\"left\");\n if (left.isIdentifier()) {\n const localName = left.node.name;\n if (localName !== \"module\" && localName !== \"exports\") return;\n\n const localBinding = path.scope.getBinding(localName);\n const rootBinding = this.scope.getBinding(localName);\n\n // redeclared in this scope\n if (rootBinding !== localBinding) return;\n\n const right = path.get(\"right\");\n right.replaceWith(\n t.sequenceExpression([right.node, getAssertion(localName)]),\n );\n } else if (left.isPattern()) {\n const ids = left.getOuterBindingIdentifiers();\n const localName = Object.keys(ids).find(localName => {\n if (localName !== \"module\" && localName !== \"exports\") return false;\n\n return (\n this.scope.getBinding(localName) ===\n path.scope.getBinding(localName)\n );\n });\n\n if (localName) {\n const right = path.get(\"right\");\n right.replaceWith(\n t.sequenceExpression([right.node, getAssertion(localName)]),\n );\n }\n }\n },\n };\n\n return {\n name: \"transform-modules-commonjs\",\n\n pre() {\n this.file.set(\"@babel/plugin-transform-modules-*\", \"commonjs\");\n\n if (lazy) defineCommonJSHook(this.file, lazyImportsHook(lazy));\n },\n\n visitor: {\n \"CallExpression|ImportExpression\"(\n this: PluginPass,\n path: NodePath<t.CallExpression | t.ImportExpression>,\n ) {\n if (!this.file.has(\"@babel/plugin-proposal-dynamic-import\")) return;\n if (path.isCallExpression() && !t.isImport(path.node.callee)) return;\n\n let { scope } = path;\n do {\n scope.rename(\"require\");\n } while ((scope = scope.parent!));\n\n transformDynamicImport(path, noInterop, this.file);\n },\n\n Program: {\n exit(path, state) {\n if (!isModule(path)) return;\n\n // Rename the bindings auto-injected into the scope so there is no\n // risk of conflict between the bindings.\n path.scope.rename(\"exports\");\n path.scope.rename(\"module\");\n path.scope.rename(\"require\");\n path.scope.rename(\"__filename\");\n path.scope.rename(\"__dirname\");\n\n // Rewrite references to 'module' and 'exports' to throw exceptions.\n // These objects are specific to CommonJS and are not available in\n // real ES6 implementations.\n if (!allowCommonJSExports) {\n path.traverse(moduleExportsVisitor, {\n scope: path.scope,\n });\n }\n\n const hooks = makeInvokers(this.file);\n\n const { meta, headers } = rewriteModuleStatementsAndPrepareHeader(\n path,\n {\n exportName: \"exports\",\n constantReexports,\n enumerableModuleMeta,\n strict,\n strictMode,\n allowTopLevelThis,\n noInterop,\n importInterop,\n wrapReference: hooks.wrapReference,\n getWrapperPayload: hooks.getWrapperPayload,\n esNamespaceOnly:\n typeof state.filename === \"string\" &&\n state.filename.endsWith(\".mjs\")\n ? mjsStrictNamespace\n : strictNamespace,\n noIncompleteNsImportDetection,\n filename: this.file.opts.filename,\n },\n );\n\n for (const [source, metadata] of meta.source) {\n const loadExpr = t.callExpression(t.identifier(\"require\"), [\n t.stringLiteral(source),\n ]);\n\n let header: t.Statement | null;\n if (isSideEffectImport(metadata)) {\n if (lazy && metadata.wrap === \"function\") {\n throw new Error(\"Assertion failure\");\n }\n\n header = t.expressionStatement(loadExpr);\n } else {\n const init =\n wrapInterop(path, loadExpr, metadata.interop) || loadExpr;\n\n if (metadata.wrap) {\n const res = hooks.buildRequireWrapper!(\n metadata.name,\n init,\n metadata.wrap,\n metadata.referenced,\n );\n if (res === false) continue;\n else header = res;\n }\n header ??= template.statement.ast`\n var ${metadata.name} = ${init};\n `;\n }\n header.loc = metadata.loc;\n\n headers.push(header);\n headers.push(\n ...buildNamespaceInitStatements(\n meta,\n metadata,\n constantReexports,\n hooks.wrapReference,\n ),\n );\n }\n\n ensureStatementsHoisted(headers);\n path.unshiftContainer(\"body\", headers);\n path.get(\"body\").forEach(path => {\n if (!headers.includes(path.node)) return;\n if (path.isVariableDeclaration()) {\n path.scope.registerDeclaration(path);\n }\n });\n },\n },\n },\n };\n});\n"],"names":["requireNoInterop","source","template","expression","ast","requireInterop","file","t","callExpression","addHelper","transformDynamicImport","path","noInterop","buildRequire","replaceWith","buildDynamicImport","node","specifier","lazyImportsHook","lazy","name","version","getWrapperPayload","metadata","isSideEffectImport","reexportAll","includes","Array","isArray","buildRequireWrapper","init","payload","referenced","statement","wrapReference","ref","commonJSHooksKey","defineCommonJSHook","hook","hooks","get","set","push","findMap","arr","cb","el","res","makeInvokers","args","declare","api","options","assertVersion","strictNamespace","mjsStrictNamespace","allowTopLevelThis","strict","strictMode","importInterop","allowCommonJSExports","loose","constantReexports","assumption","enumerableModuleMeta","noIncompleteNsImportDetection","every","item","Error","getAssertion","localName","moduleExportsVisitor","ReferencedIdentifier","localBinding","scope","getBinding","rootBinding","parentPath","isObjectProperty","value","isObjectPattern","isAssignmentExpression","left","UpdateExpression","arg","isIdentifier","assignmentExpression","operator","AssignmentExpression","right","sequenceExpression","isPattern","ids","getOuterBindingIdentifiers","Object","keys","find","pre","visitor","CallExpression|ImportExpression","has","isCallExpression","isImport","callee","rename","parent","Program","exit","state","isModule","traverse","meta","headers","rewriteModuleStatementsAndPrepareHeader","exportName","esNamespaceOnly","filename","endsWith","opts","loadExpr","identifier","stringLiteral","header","wrap","expressionStatement","wrapInterop","interop","loc","buildNamespaceInitStatements","ensureStatementsHoisted","unshiftContainer","forEach","isVariableDeclaration","registerDeclaration"],"mappings":"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"}
{
"name": "@babel/plugin-transform-modules-commonjs",
"version": "8.0.0-rc.2",
"version": "8.0.0-rc.3",
"description": "This plugin transforms ES2015 modules to CommonJS",

@@ -16,4 +16,4 @@ "repository": {

"dependencies": {
"@babel/helper-module-transforms": "^8.0.0-rc.2",
"@babel/helper-plugin-utils": "^8.0.0-rc.2"
"@babel/helper-module-transforms": "^8.0.0-rc.3",
"@babel/helper-plugin-utils": "^8.0.0-rc.3"
},

@@ -24,8 +24,8 @@ "keywords": [

"peerDependencies": {
"@babel/core": "^8.0.0-rc.2"
"@babel/core": "^8.0.0-rc.3"
},
"devDependencies": {
"@babel/core": "^8.0.0-rc.2",
"@babel/helper-plugin-test-runner": "^8.0.0-rc.2",
"@babel/plugin-external-helpers": "^8.0.0-rc.2"
"@babel/core": "^8.0.0-rc.3",
"@babel/helper-plugin-test-runner": "^8.0.0-rc.3",
"@babel/plugin-external-helpers": "^8.0.0-rc.3"
},

@@ -32,0 +32,0 @@ "homepage": "https://babel.dev/docs/en/next/babel-plugin-transform-modules-commonjs",