diff options
Diffstat (limited to 'node_modules/@babel/helper-module-transforms/lib/index.js')
| -rw-r--r-- | node_modules/@babel/helper-module-transforms/lib/index.js | 120 |
1 files changed, 69 insertions, 51 deletions
diff --git a/node_modules/@babel/helper-module-transforms/lib/index.js b/node_modules/@babel/helper-module-transforms/lib/index.js index 35a44be5..ac884d25 100644 --- a/node_modules/@babel/helper-module-transforms/lib/index.js +++ b/node_modules/@babel/helper-module-transforms/lib/index.js @@ -52,21 +52,6 @@ var _normalizeAndLoadMetadata = require("./normalize-and-load-metadata.js"); var Lazy = require("./lazy-modules.js"); var _dynamicImport = require("./dynamic-import.js"); var _getModuleName = require("./get-module-name.js"); -const { - booleanLiteral, - callExpression, - cloneNode, - directive, - directiveLiteral, - expressionStatement, - identifier, - isIdentifier, - memberExpression, - stringLiteral, - valueToNode, - variableDeclaration, - variableDeclarator -} = _core.types; { exports.getDynamicImportSource = require("./dynamic-import").getDynamicImportSource; } @@ -105,7 +90,7 @@ function rewriteModuleStatementsAndPrepareHeader(path, { return directive.value.value === "use strict"; }); if (!hasStrict) { - path.unshiftContainer("directives", directive(directiveLiteral("use strict"))); + path.unshiftContainer("directives", _core.types.directive(_core.types.directiveLiteral("use strict"))); } } const headers = []; @@ -133,7 +118,7 @@ function wrapInterop(programPath, expr, type) { return null; } if (type === "node-namespace") { - return callExpression(programPath.hub.addHelper("interopRequireWildcard"), [expr, booleanLiteral(true)]); + return _core.types.callExpression(programPath.hub.addHelper("interopRequireWildcard"), [expr, _core.types.booleanLiteral(true)]); } else if (type === "node-default") { return null; } @@ -145,17 +130,17 @@ function wrapInterop(programPath, expr, type) { } else { throw new Error(`Unknown interop: ${type}`); } - return callExpression(programPath.hub.addHelper(helper), [expr]); + return _core.types.callExpression(programPath.hub.addHelper(helper), [expr]); } function buildNamespaceInitStatements(metadata, sourceMetadata, constantReexports = false, wrapReference = Lazy.wrapReference) { var _wrapReference; const statements = []; - const srcNamespaceId = identifier(sourceMetadata.name); + const srcNamespaceId = _core.types.identifier(sourceMetadata.name); for (const localName of sourceMetadata.importsNamespace) { if (localName === sourceMetadata.name) continue; statements.push(_core.template.statement`var NAME = SOURCE;`({ NAME: localName, - SOURCE: cloneNode(srcNamespaceId) + SOURCE: _core.types.cloneNode(srcNamespaceId) })); } const srcNamespace = (_wrapReference = wrapReference(srcNamespaceId, sourceMetadata.wrap)) != null ? _wrapReference : srcNamespaceId; @@ -173,48 +158,64 @@ function buildNamespaceInitStatements(metadata, sourceMetadata, constantReexport ` : _core.template.statement`EXPORTS.NAME = NAMESPACE;`)({ EXPORTS: metadata.exportName, NAME: exportName, - NAMESPACE: cloneNode(srcNamespace) + NAMESPACE: _core.types.cloneNode(srcNamespace) })); } if (sourceMetadata.reexportAll) { - const statement = buildNamespaceReexport(metadata, cloneNode(srcNamespace), constantReexports); + const statement = buildNamespaceReexport(metadata, _core.types.cloneNode(srcNamespace), constantReexports); statement.loc = sourceMetadata.reexportAll.loc; statements.push(statement); } return statements; } const ReexportTemplate = { - constant: _core.template.statement`EXPORTS.EXPORT_NAME = NAMESPACE_IMPORT;`, - constantComputed: _core.template.statement`EXPORTS["EXPORT_NAME"] = NAMESPACE_IMPORT;`, - spec: _core.template.statement` - Object.defineProperty(EXPORTS, "EXPORT_NAME", { - enumerable: true, - get: function() { - return NAMESPACE_IMPORT; - }, - }); + constant: ({ + exports, + exportName, + namespaceImport + }) => _core.template.statement.ast` + ${exports}.${exportName} = ${namespaceImport}; + `, + constantComputed: ({ + exports, + exportName, + namespaceImport + }) => _core.template.statement.ast` + ${exports}["${exportName}"] = ${namespaceImport}; + `, + spec: ({ + exports, + exportName, + namespaceImport + }) => _core.template.statement.ast` + Object.defineProperty(${exports}, "${exportName}", { + enumerable: true, + get: function() { + return ${namespaceImport}; + }, + }); ` }; function buildReexportsFromMeta(meta, metadata, constantReexports, wrapReference) { var _wrapReference2; - let namespace = identifier(metadata.name); + let namespace = _core.types.identifier(metadata.name); namespace = (_wrapReference2 = wrapReference(namespace, metadata.wrap)) != null ? _wrapReference2 : namespace; const { stringSpecifiers } = meta; return Array.from(metadata.reexports, ([exportName, importName]) => { - let NAMESPACE_IMPORT = cloneNode(namespace); + let namespaceImport = _core.types.cloneNode(namespace); if (importName === "default" && metadata.interop === "node-default") {} else if (stringSpecifiers.has(importName)) { - NAMESPACE_IMPORT = memberExpression(NAMESPACE_IMPORT, stringLiteral(importName), true); + namespaceImport = _core.types.memberExpression(namespaceImport, _core.types.stringLiteral(importName), true); } else { - NAMESPACE_IMPORT = memberExpression(NAMESPACE_IMPORT, identifier(importName)); + namespaceImport = _core.types.memberExpression(namespaceImport, _core.types.identifier(importName)); } const astNodes = { - EXPORTS: meta.exportName, - EXPORT_NAME: exportName, - NAMESPACE_IMPORT + exports: meta.exportName, + exportName, + namespaceImport }; - if (constantReexports || isIdentifier(NAMESPACE_IMPORT)) { + if (constantReexports || _core.types.isIdentifier(namespaceImport)) { if (stringSpecifiers.has(exportName)) { return ReexportTemplate.constantComputed(astNodes); } else { @@ -290,14 +291,14 @@ function buildExportNameListDeclaration(programPath, metadata) { delete exportedVars.default; return { name: name.name, - statement: variableDeclaration("var", [variableDeclarator(name, valueToNode(exportedVars))]) + statement: _core.types.variableDeclaration("var", [_core.types.variableDeclarator(name, _core.types.valueToNode(exportedVars))]) }; } function buildExportInitializationStatements(programPath, metadata, wrapReference, constantReexports = false, noIncompleteNsImportDetection = false) { const initStatements = []; for (const [localName, data] of metadata.local) { if (data.kind === "import") {} else if (data.kind === "hoisted") { - initStatements.push([data.names[0], buildInitStatement(metadata, data.names, identifier(localName))]); + initStatements.push([data.names[0], buildInitStatement(metadata, data.names, _core.types.identifier(localName))]); } else if (!noIncompleteNsImportDetection) { for (const exportName of data.names) { initStatements.push([exportName, null]); @@ -352,25 +353,42 @@ function buildExportInitializationStatements(programPath, metadata, wrapReferenc return results; } const InitTemplate = { - computed: _core.template.expression`EXPORTS["NAME"] = VALUE`, - default: _core.template.expression`EXPORTS.NAME = VALUE`, - define: _core.template.expression`Object.defineProperty(EXPORTS, "NAME", { enumerable:true, value: void 0, writable: true })["NAME"] = VALUE` + computed: ({ + exports, + name, + value + }) => _core.template.expression.ast`${exports}["${name}"] = ${value}`, + default: ({ + exports, + name, + value + }) => _core.template.expression.ast`${exports}.${name} = ${value}`, + define: ({ + exports, + name, + value + }) => _core.template.expression.ast` + Object.defineProperty(${exports}, "${name}", { + enumerable: true, + value: void 0, + writable: true + })["${name}"] = ${value}` }; function buildInitStatement(metadata, exportNames, initExpr) { const { stringSpecifiers, - exportName: EXPORTS + exportName: exports } = metadata; - return expressionStatement(exportNames.reduce((acc, exportName) => { + return _core.types.expressionStatement(exportNames.reduce((value, name) => { const params = { - EXPORTS, - NAME: exportName, - VALUE: acc + exports, + name, + value }; - if (exportName === "__proto__") { + if (name === "__proto__") { return InitTemplate.define(params); } - if (stringSpecifiers.has(exportName)) { + if (stringSpecifiers.has(name)) { return InitTemplate.computed(params); } return InitTemplate.default(params); |
