summaryrefslogtreecommitdiff
path: root/node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:10:59 +0800
committerlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:41:44 +0800
commitfc87c009806dcc98867f6b58efe29b042aa01dee (patch)
tree8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/@babel/helper-module-transforms/lib/normalize-and-load-metadata.js
parent3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (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.js361
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