diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:10:59 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2026-05-18 23:41:44 +0800 |
| commit | fc87c009806dcc98867f6b58efe29b042aa01dee (patch) | |
| tree | 8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js | |
| parent | 3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff) | |
node: updatemain
Diffstat (limited to 'node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js')
| -rw-r--r-- | node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js | 361 |
1 files changed, 0 insertions, 361 deletions
diff --git a/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js b/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js deleted file mode 100644 index 00b0a531..00000000 --- a/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js +++ /dev/null @@ -1,361 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = normalizeModuleAndLoadMetadata; -exports.hasExports = hasExports; -exports.isSideEffectImport = isSideEffectImport; -exports.validateImportInteropOption = validateImportInteropOption; -var _path = require("path"); -var _helperValidatorIdentifier = require("@babel/helper-validator-identifier"); -function hasExports(metadata) { - return metadata.hasExports; -} -function isSideEffectImport(source) { - return source.imports.size === 0 && source.importsNamespace.size === 0 && source.reexports.size === 0 && source.reexportNamespace.size === 0 && !source.reexportAll; -} -function validateImportInteropOption(importInterop) { - if (typeof importInterop !== "function" && importInterop !== "none" && importInterop !== "babel" && importInterop !== "node") { - throw new Error(`.importInterop must be one of "none", "babel", "node", or a function returning one of those values (received ${importInterop}).`); - } - return importInterop; -} -function resolveImportInterop(importInterop, source, filename) { - if (typeof importInterop === "function") { - return validateImportInteropOption(importInterop(source, filename)); - } - return importInterop; -} -function normalizeModuleAndLoadMetadata(programPath, exportName, { - importInterop, - initializeReexports = false, - getWrapperPayload, - esNamespaceOnly = false, - filename -}) { - if (!exportName) { - exportName = programPath.scope.generateUidIdentifier("exports").name; - } - const stringSpecifiers = new Set(); - nameAnonymousExports(programPath); - const { - local, - sources, - hasExports - } = getModuleMetadata(programPath, { - initializeReexports, - getWrapperPayload - }, stringSpecifiers); - removeImportExportDeclarations(programPath); - for (const [source, metadata] of sources) { - const { - importsNamespace, - imports - } = metadata; - if (importsNamespace.size > 0 && imports.size === 0) { - const [nameOfnamespace] = importsNamespace; - metadata.name = nameOfnamespace; - } - const resolvedInterop = resolveImportInterop(importInterop, source, filename); - if (resolvedInterop === "none") { - metadata.interop = "none"; - } else if (resolvedInterop === "node" && metadata.interop === "namespace") { - metadata.interop = "node-namespace"; - } else if (resolvedInterop === "node" && metadata.interop === "default") { - metadata.interop = "node-default"; - } else if (esNamespaceOnly && metadata.interop === "namespace") { - metadata.interop = "default"; - } - } - return { - exportName, - exportNameListName: null, - hasExports, - local, - source: sources, - stringSpecifiers - }; -} -function getExportSpecifierName(path, stringSpecifiers) { - if (path.isIdentifier()) { - return path.node.name; - } else if (path.isStringLiteral()) { - const stringValue = path.node.value; - if (!(0, _helperValidatorIdentifier.isIdentifierName)(stringValue)) { - stringSpecifiers.add(stringValue); - } - return stringValue; - } else { - throw new Error(`Expected export specifier to be either Identifier or StringLiteral, got ${path.node.type}`); - } -} -function assertExportSpecifier(path) { - if (path.isExportSpecifier()) { - return; - } else if (path.isExportNamespaceSpecifier()) { - throw path.buildCodeFrameError("Export namespace should be first transformed by `@babel/plugin-transform-export-namespace-from`."); - } else { - throw path.buildCodeFrameError("Unexpected export specifier type"); - } -} -function getModuleMetadata(programPath, { - getWrapperPayload, - initializeReexports -}, stringSpecifiers) { - const localData = getLocalExportMetadata(programPath, initializeReexports, stringSpecifiers); - const importNodes = new Map(); - const sourceData = new Map(); - const getData = (sourceNode, node) => { - const source = sourceNode.value; - let data = sourceData.get(source); - if (!data) { - data = { - name: programPath.scope.generateUidIdentifier((0, _path.basename)(source, (0, _path.extname)(source))).name, - interop: "none", - loc: null, - imports: new Map(), - importsNamespace: new Set(), - reexports: new Map(), - reexportNamespace: new Set(), - reexportAll: null, - wrap: null, - get lazy() { - return this.wrap === "lazy"; - }, - referenced: false - }; - sourceData.set(source, data); - importNodes.set(source, [node]); - } else { - importNodes.get(source).push(node); - } - return data; - }; - let hasExports = false; - programPath.get("body").forEach(child => { - if (child.isImportDeclaration()) { - const data = getData(child.node.source, child.node); - if (!data.loc) data.loc = child.node.loc; - child.get("specifiers").forEach(spec => { - if (spec.isImportDefaultSpecifier()) { - const localName = spec.get("local").node.name; - data.imports.set(localName, "default"); - const reexport = localData.get(localName); - if (reexport) { - localData.delete(localName); - reexport.names.forEach(name => { - data.reexports.set(name, "default"); - }); - data.referenced = true; - } - } else if (spec.isImportNamespaceSpecifier()) { - const localName = spec.get("local").node.name; - data.importsNamespace.add(localName); - const reexport = localData.get(localName); - if (reexport) { - localData.delete(localName); - reexport.names.forEach(name => { - data.reexportNamespace.add(name); - }); - data.referenced = true; - } - } else if (spec.isImportSpecifier()) { - const importName = getExportSpecifierName(spec.get("imported"), stringSpecifiers); - const localName = spec.get("local").node.name; - data.imports.set(localName, importName); - const reexport = localData.get(localName); - if (reexport) { - localData.delete(localName); - reexport.names.forEach(name => { - data.reexports.set(name, importName); - }); - data.referenced = true; - } - } - }); - } else if (child.isExportAllDeclaration()) { - hasExports = true; - const data = getData(child.node.source, child.node); - if (!data.loc) data.loc = child.node.loc; - data.reexportAll = { - loc: child.node.loc - }; - data.referenced = true; - } else if (child.isExportNamedDeclaration() && child.node.source) { - hasExports = true; - const data = getData(child.node.source, child.node); - if (!data.loc) data.loc = child.node.loc; - child.get("specifiers").forEach(spec => { - assertExportSpecifier(spec); - const importName = getExportSpecifierName(spec.get("local"), stringSpecifiers); - const exportName = getExportSpecifierName(spec.get("exported"), stringSpecifiers); - data.reexports.set(exportName, importName); - data.referenced = true; - if (exportName === "__esModule") { - throw spec.get("exported").buildCodeFrameError('Illegal export "__esModule".'); - } - }); - } else if (child.isExportNamedDeclaration() || child.isExportDefaultDeclaration()) { - hasExports = true; - } - }); - for (const metadata of sourceData.values()) { - let needsDefault = false; - let needsNamed = false; - if (metadata.importsNamespace.size > 0) { - needsDefault = true; - needsNamed = true; - } - if (metadata.reexportAll) { - needsNamed = true; - } - for (const importName of metadata.imports.values()) { - if (importName === "default") needsDefault = true;else needsNamed = true; - } - for (const importName of metadata.reexports.values()) { - if (importName === "default") needsDefault = true;else needsNamed = true; - } - if (needsDefault && needsNamed) { - metadata.interop = "namespace"; - } else if (needsDefault) { - metadata.interop = "default"; - } - } - if (getWrapperPayload) { - for (const [source, metadata] of sourceData) { - metadata.wrap = getWrapperPayload(source, metadata, importNodes.get(source)); - } - } - return { - hasExports, - local: localData, - sources: sourceData - }; -} -function getLocalExportMetadata(programPath, initializeReexports, stringSpecifiers) { - const bindingKindLookup = new Map(); - programPath.get("body").forEach(child => { - let kind; - if (child.isImportDeclaration()) { - kind = "import"; - } else { - if (child.isExportDefaultDeclaration()) { - child = child.get("declaration"); - } - if (child.isExportNamedDeclaration()) { - if (child.node.declaration) { - child = child.get("declaration"); - } else if (initializeReexports && child.node.source && child.get("source").isStringLiteral()) { - child.get("specifiers").forEach(spec => { - assertExportSpecifier(spec); - bindingKindLookup.set(spec.get("local").node.name, "block"); - }); - return; - } - } - if (child.isFunctionDeclaration()) { - kind = "hoisted"; - } else if (child.isClassDeclaration()) { - kind = "block"; - } else if (child.isVariableDeclaration({ - kind: "var" - })) { - kind = "var"; - } else if (child.isVariableDeclaration()) { - kind = "block"; - } else { - return; - } - } - Object.keys(child.getOuterBindingIdentifiers()).forEach(name => { - bindingKindLookup.set(name, kind); - }); - }); - const localMetadata = new Map(); - const getLocalMetadata = idPath => { - const localName = idPath.node.name; - let metadata = localMetadata.get(localName); - if (!metadata) { - const kind = bindingKindLookup.get(localName); - if (kind === undefined) { - throw idPath.buildCodeFrameError(`Exporting local "${localName}", which is not declared.`); - } - metadata = { - names: [], - kind - }; - localMetadata.set(localName, metadata); - } - return metadata; - }; - programPath.get("body").forEach(child => { - if (child.isExportNamedDeclaration() && (initializeReexports || !child.node.source)) { - if (child.node.declaration) { - const declaration = child.get("declaration"); - const ids = declaration.getOuterBindingIdentifierPaths(); - Object.keys(ids).forEach(name => { - if (name === "__esModule") { - throw declaration.buildCodeFrameError('Illegal export "__esModule".'); - } - getLocalMetadata(ids[name]).names.push(name); - }); - } else { - child.get("specifiers").forEach(spec => { - const local = spec.get("local"); - const exported = spec.get("exported"); - const localMetadata = getLocalMetadata(local); - const exportName = getExportSpecifierName(exported, stringSpecifiers); - if (exportName === "__esModule") { - throw exported.buildCodeFrameError('Illegal export "__esModule".'); - } - localMetadata.names.push(exportName); - }); - } - } else if (child.isExportDefaultDeclaration()) { - const declaration = child.get("declaration"); - if (declaration.isFunctionDeclaration() || declaration.isClassDeclaration()) { - getLocalMetadata(declaration.get("id")).names.push("default"); - } else { - throw declaration.buildCodeFrameError("Unexpected default expression export."); - } - } - }); - return localMetadata; -} -function nameAnonymousExports(programPath) { - programPath.get("body").forEach(child => { - if (!child.isExportDefaultDeclaration()) return; - { - var _child$splitExportDec; - (_child$splitExportDec = child.splitExportDeclaration) != null ? _child$splitExportDec : child.splitExportDeclaration = require("@babel/traverse").NodePath.prototype.splitExportDeclaration; - } - child.splitExportDeclaration(); - }); -} -function removeImportExportDeclarations(programPath) { - programPath.get("body").forEach(child => { - if (child.isImportDeclaration()) { - child.remove(); - } else if (child.isExportNamedDeclaration()) { - if (child.node.declaration) { - child.node.declaration._blockHoist = child.node._blockHoist; - child.replaceWith(child.node.declaration); - } else { - child.remove(); - } - } else if (child.isExportDefaultDeclaration()) { - const declaration = child.get("declaration"); - if (declaration.isFunctionDeclaration() || declaration.isClassDeclaration()) { - declaration._blockHoist = child.node._blockHoist; - child.replaceWith(declaration); - } else { - throw declaration.buildCodeFrameError("Unexpected default expression export."); - } - } else if (child.isExportAllDeclaration()) { - child.remove(); - } - }); -} - -//# sourceMappingURL=normalize-and-load-metadata.js.map |
