|  |  | 'use strict';
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | var path = require('path');
 | 
						
						
						
							|  |  | var pluginutils = require('@rollup/pluginutils');
 | 
						
						
						
							|  |  | var fs = require('fs');
 | 
						
						
						
							|  |  | var getCommonDir = require('commondir');
 | 
						
						
						
							|  |  | var glob = require('glob');
 | 
						
						
						
							|  |  | var estreeWalker = require('estree-walker');
 | 
						
						
						
							|  |  | var MagicString = require('magic-string');
 | 
						
						
						
							|  |  | var isReference = require('is-reference');
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | var getCommonDir__default = /*#__PURE__*/_interopDefaultLegacy(getCommonDir);
 | 
						
						
						
							|  |  | var glob__default = /*#__PURE__*/_interopDefaultLegacy(glob);
 | 
						
						
						
							|  |  | var MagicString__default = /*#__PURE__*/_interopDefaultLegacy(MagicString);
 | 
						
						
						
							|  |  | var isReference__default = /*#__PURE__*/_interopDefaultLegacy(isReference);
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | var version = "22.0.2";
 | 
						
						
						
							|  |  | var peerDependencies = {
 | 
						
						
						
							|  |  | 	rollup: "^2.68.0"
 | 
						
						
						
							|  |  | };
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function tryParse(parse, code, id) {
 | 
						
						
						
							|  |  |   try {
 | 
						
						
						
							|  |  |     return parse(code, { allowReturnOutsideFunction: true });
 | 
						
						
						
							|  |  |   } catch (err) {
 | 
						
						
						
							|  |  |     err.message += ` in ${id}`;
 | 
						
						
						
							|  |  |     throw err;
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const firstpassGlobal = /\b(?:require|module|exports|global)\b/;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const firstpassNoGlobal = /\b(?:require|module|exports)\b/;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function hasCjsKeywords(code, ignoreGlobal) {
 | 
						
						
						
							|  |  |   const firstpass = ignoreGlobal ? firstpassNoGlobal : firstpassGlobal;
 | 
						
						
						
							|  |  |   return firstpass.test(code);
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | /* eslint-disable no-underscore-dangle */
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function analyzeTopLevelStatements(parse, code, id) {
 | 
						
						
						
							|  |  |   const ast = tryParse(parse, code, id);
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   let isEsModule = false;
 | 
						
						
						
							|  |  |   let hasDefaultExport = false;
 | 
						
						
						
							|  |  |   let hasNamedExports = false;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   for (const node of ast.body) {
 | 
						
						
						
							|  |  |     switch (node.type) {
 | 
						
						
						
							|  |  |       case 'ExportDefaultDeclaration':
 | 
						
						
						
							|  |  |         isEsModule = true;
 | 
						
						
						
							|  |  |         hasDefaultExport = true;
 | 
						
						
						
							|  |  |         break;
 | 
						
						
						
							|  |  |       case 'ExportNamedDeclaration':
 | 
						
						
						
							|  |  |         isEsModule = true;
 | 
						
						
						
							|  |  |         if (node.declaration) {
 | 
						
						
						
							|  |  |           hasNamedExports = true;
 | 
						
						
						
							|  |  |         } else {
 | 
						
						
						
							|  |  |           for (const specifier of node.specifiers) {
 | 
						
						
						
							|  |  |             if (specifier.exported.name === 'default') {
 | 
						
						
						
							|  |  |               hasDefaultExport = true;
 | 
						
						
						
							|  |  |             } else {
 | 
						
						
						
							|  |  |               hasNamedExports = true;
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |         break;
 | 
						
						
						
							|  |  |       case 'ExportAllDeclaration':
 | 
						
						
						
							|  |  |         isEsModule = true;
 | 
						
						
						
							|  |  |         if (node.exported && node.exported.name === 'default') {
 | 
						
						
						
							|  |  |           hasDefaultExport = true;
 | 
						
						
						
							|  |  |         } else {
 | 
						
						
						
							|  |  |           hasNamedExports = true;
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |         break;
 | 
						
						
						
							|  |  |       case 'ImportDeclaration':
 | 
						
						
						
							|  |  |         isEsModule = true;
 | 
						
						
						
							|  |  |         break;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   return { isEsModule, hasDefaultExport, hasNamedExports, ast };
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | /* eslint-disable import/prefer-default-export */
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function deconflict(scopes, globals, identifier) {
 | 
						
						
						
							|  |  |   let i = 1;
 | 
						
						
						
							|  |  |   let deconflicted = pluginutils.makeLegalIdentifier(identifier);
 | 
						
						
						
							|  |  |   const hasConflicts = () =>
 | 
						
						
						
							|  |  |     scopes.some((scope) => scope.contains(deconflicted)) || globals.has(deconflicted);
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   while (hasConflicts()) {
 | 
						
						
						
							|  |  |     deconflicted = pluginutils.makeLegalIdentifier(`${identifier}_${i}`);
 | 
						
						
						
							|  |  |     i += 1;
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   for (const scope of scopes) {
 | 
						
						
						
							|  |  |     scope.declarations[deconflicted] = true;
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   return deconflicted;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getName(id) {
 | 
						
						
						
							|  |  |   const name = pluginutils.makeLegalIdentifier(path.basename(id, path.extname(id)));
 | 
						
						
						
							|  |  |   if (name !== 'index') {
 | 
						
						
						
							|  |  |     return name;
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   return pluginutils.makeLegalIdentifier(path.basename(path.dirname(id)));
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function normalizePathSlashes(path) {
 | 
						
						
						
							|  |  |   return path.replace(/\\/g, '/');
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const getVirtualPathForDynamicRequirePath = (path$1, commonDir) =>
 | 
						
						
						
							|  |  |   `/${normalizePathSlashes(path.relative(commonDir, path$1))}`;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function capitalize(name) {
 | 
						
						
						
							|  |  |   return name[0].toUpperCase() + name.slice(1);
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getStrictRequiresFilter({ strictRequires }) {
 | 
						
						
						
							|  |  |   switch (strictRequires) {
 | 
						
						
						
							|  |  |     case true:
 | 
						
						
						
							|  |  |       return { strictRequiresFilter: () => true, detectCyclesAndConditional: false };
 | 
						
						
						
							|  |  |     // eslint-disable-next-line no-undefined
 | 
						
						
						
							|  |  |     case undefined:
 | 
						
						
						
							|  |  |     case 'auto':
 | 
						
						
						
							|  |  |     case 'debug':
 | 
						
						
						
							|  |  |     case null:
 | 
						
						
						
							|  |  |       return { strictRequiresFilter: () => false, detectCyclesAndConditional: true };
 | 
						
						
						
							|  |  |     case false:
 | 
						
						
						
							|  |  |       return { strictRequiresFilter: () => false, detectCyclesAndConditional: false };
 | 
						
						
						
							|  |  |     default:
 | 
						
						
						
							|  |  |       if (typeof strictRequires === 'string' || Array.isArray(strictRequires)) {
 | 
						
						
						
							|  |  |         return {
 | 
						
						
						
							|  |  |           strictRequiresFilter: pluginutils.createFilter(strictRequires),
 | 
						
						
						
							|  |  |           detectCyclesAndConditional: false
 | 
						
						
						
							|  |  |         };
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       throw new Error('Unexpected value for "strictRequires" option.');
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getPackageEntryPoint(dirPath) {
 | 
						
						
						
							|  |  |   let entryPoint = 'index.js';
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   try {
 | 
						
						
						
							|  |  |     if (fs.existsSync(path.join(dirPath, 'package.json'))) {
 | 
						
						
						
							|  |  |       entryPoint =
 | 
						
						
						
							|  |  |         JSON.parse(fs.readFileSync(path.join(dirPath, 'package.json'), { encoding: 'utf8' })).main ||
 | 
						
						
						
							|  |  |         entryPoint;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   } catch (ignored) {
 | 
						
						
						
							|  |  |     // ignored
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   return entryPoint;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function isDirectory(path) {
 | 
						
						
						
							|  |  |   try {
 | 
						
						
						
							|  |  |     if (fs.statSync(path).isDirectory()) return true;
 | 
						
						
						
							|  |  |   } catch (ignored) {
 | 
						
						
						
							|  |  |     // Nothing to do here
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   return false;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getDynamicRequireModules(patterns, dynamicRequireRoot) {
 | 
						
						
						
							|  |  |   const dynamicRequireModules = new Map();
 | 
						
						
						
							|  |  |   const dirNames = new Set();
 | 
						
						
						
							|  |  |   for (const pattern of !patterns || Array.isArray(patterns) ? patterns || [] : [patterns]) {
 | 
						
						
						
							|  |  |     const isNegated = pattern.startsWith('!');
 | 
						
						
						
							|  |  |     const modifyMap = (targetPath, resolvedPath) =>
 | 
						
						
						
							|  |  |       isNegated
 | 
						
						
						
							|  |  |         ? dynamicRequireModules.delete(targetPath)
 | 
						
						
						
							|  |  |         : dynamicRequireModules.set(targetPath, resolvedPath);
 | 
						
						
						
							|  |  |     for (const path$1 of glob__default["default"].sync(isNegated ? pattern.substr(1) : pattern)) {
 | 
						
						
						
							|  |  |       const resolvedPath = path.resolve(path$1);
 | 
						
						
						
							|  |  |       const requirePath = normalizePathSlashes(resolvedPath);
 | 
						
						
						
							|  |  |       if (isDirectory(resolvedPath)) {
 | 
						
						
						
							|  |  |         dirNames.add(resolvedPath);
 | 
						
						
						
							|  |  |         const modulePath = path.resolve(path.join(resolvedPath, getPackageEntryPoint(path$1)));
 | 
						
						
						
							|  |  |         modifyMap(requirePath, modulePath);
 | 
						
						
						
							|  |  |         modifyMap(normalizePathSlashes(modulePath), modulePath);
 | 
						
						
						
							|  |  |       } else {
 | 
						
						
						
							|  |  |         dirNames.add(path.dirname(resolvedPath));
 | 
						
						
						
							|  |  |         modifyMap(requirePath, resolvedPath);
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   return {
 | 
						
						
						
							|  |  |     commonDir: dirNames.size ? getCommonDir__default["default"]([...dirNames, dynamicRequireRoot]) : null,
 | 
						
						
						
							|  |  |     dynamicRequireModules
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const FAILED_REQUIRE_ERROR = `throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');`;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const COMMONJS_REQUIRE_EXPORT = 'commonjsRequire';
 | 
						
						
						
							|  |  | const CREATE_COMMONJS_REQUIRE_EXPORT = 'createCommonjsRequire';
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getDynamicModuleRegistry(
 | 
						
						
						
							|  |  |   isDynamicRequireModulesEnabled,
 | 
						
						
						
							|  |  |   dynamicRequireModules,
 | 
						
						
						
							|  |  |   commonDir,
 | 
						
						
						
							|  |  |   ignoreDynamicRequires
 | 
						
						
						
							|  |  | ) {
 | 
						
						
						
							|  |  |   if (!isDynamicRequireModulesEnabled) {
 | 
						
						
						
							|  |  |     return `export function ${COMMONJS_REQUIRE_EXPORT}(path) {
 | 
						
						
						
							|  |  | 	${FAILED_REQUIRE_ERROR}
 | 
						
						
						
							|  |  | }`;
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   const dynamicModuleImports = [...dynamicRequireModules.values()]
 | 
						
						
						
							|  |  |     .map(
 | 
						
						
						
							|  |  |       (id, index) =>
 | 
						
						
						
							|  |  |         `import ${
 | 
						
						
						
							|  |  |           id.endsWith('.json') ? `json${index}` : `{ __require as require${index} }`
 | 
						
						
						
							|  |  |         } from ${JSON.stringify(id)};`
 | 
						
						
						
							|  |  |     )
 | 
						
						
						
							|  |  |     .join('\n');
 | 
						
						
						
							|  |  |   const dynamicModuleProps = [...dynamicRequireModules.keys()]
 | 
						
						
						
							|  |  |     .map(
 | 
						
						
						
							|  |  |       (id, index) =>
 | 
						
						
						
							|  |  |         `\t\t${JSON.stringify(getVirtualPathForDynamicRequirePath(id, commonDir))}: ${
 | 
						
						
						
							|  |  |           id.endsWith('.json') ? `function () { return json${index}; }` : `require${index}`
 | 
						
						
						
							|  |  |         }`
 | 
						
						
						
							|  |  |     )
 | 
						
						
						
							|  |  |     .join(',\n');
 | 
						
						
						
							|  |  |   return `${dynamicModuleImports}
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | var dynamicModules;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getDynamicModules() {
 | 
						
						
						
							|  |  | 	return dynamicModules || (dynamicModules = {
 | 
						
						
						
							|  |  | ${dynamicModuleProps}
 | 
						
						
						
							|  |  | 	});
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | export function ${CREATE_COMMONJS_REQUIRE_EXPORT}(originalModuleDir) {
 | 
						
						
						
							|  |  | 	function handleRequire(path) {
 | 
						
						
						
							|  |  | 		var resolvedPath = commonjsResolve(path, originalModuleDir);
 | 
						
						
						
							|  |  | 		if (resolvedPath !== null) {
 | 
						
						
						
							|  |  | 			return getDynamicModules()[resolvedPath]();
 | 
						
						
						
							|  |  | 		}
 | 
						
						
						
							|  |  | 		${ignoreDynamicRequires ? 'return require(path);' : FAILED_REQUIRE_ERROR}
 | 
						
						
						
							|  |  | 	}
 | 
						
						
						
							|  |  | 	handleRequire.resolve = function (path) {
 | 
						
						
						
							|  |  | 		var resolvedPath = commonjsResolve(path, originalModuleDir);
 | 
						
						
						
							|  |  | 		if (resolvedPath !== null) {
 | 
						
						
						
							|  |  | 			return resolvedPath;
 | 
						
						
						
							|  |  | 		}
 | 
						
						
						
							|  |  | 		return require.resolve(path);
 | 
						
						
						
							|  |  | 	}
 | 
						
						
						
							|  |  | 	return handleRequire;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function commonjsResolve (path, originalModuleDir) {
 | 
						
						
						
							|  |  | 	var shouldTryNodeModules = isPossibleNodeModulesPath(path);
 | 
						
						
						
							|  |  | 	path = normalize(path);
 | 
						
						
						
							|  |  | 	var relPath;
 | 
						
						
						
							|  |  | 	if (path[0] === '/') {
 | 
						
						
						
							|  |  | 		originalModuleDir = '';
 | 
						
						
						
							|  |  | 	}
 | 
						
						
						
							|  |  | 	var modules = getDynamicModules();
 | 
						
						
						
							|  |  | 	var checkedExtensions = ['', '.js', '.json'];
 | 
						
						
						
							|  |  | 	while (true) {
 | 
						
						
						
							|  |  | 		if (!shouldTryNodeModules) {
 | 
						
						
						
							|  |  | 			relPath = normalize(originalModuleDir + '/' + path);
 | 
						
						
						
							|  |  | 		} else {
 | 
						
						
						
							|  |  | 			relPath = normalize(originalModuleDir + '/node_modules/' + path);
 | 
						
						
						
							|  |  | 		}
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 		if (relPath.endsWith('/..')) {
 | 
						
						
						
							|  |  | 			break; // Travelled too far up, avoid infinite loop
 | 
						
						
						
							|  |  | 		}
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 		for (var extensionIndex = 0; extensionIndex < checkedExtensions.length; extensionIndex++) {
 | 
						
						
						
							|  |  | 			var resolvedPath = relPath + checkedExtensions[extensionIndex];
 | 
						
						
						
							|  |  | 			if (modules[resolvedPath]) {
 | 
						
						
						
							|  |  | 				return resolvedPath;
 | 
						
						
						
							|  |  | 			}
 | 
						
						
						
							|  |  | 		}
 | 
						
						
						
							|  |  | 		if (!shouldTryNodeModules) break;
 | 
						
						
						
							|  |  | 		var nextDir = normalize(originalModuleDir + '/..');
 | 
						
						
						
							|  |  | 		if (nextDir === originalModuleDir) break;
 | 
						
						
						
							|  |  | 		originalModuleDir = nextDir;
 | 
						
						
						
							|  |  | 	}
 | 
						
						
						
							|  |  | 	return null;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function isPossibleNodeModulesPath (modulePath) {
 | 
						
						
						
							|  |  | 	var c0 = modulePath[0];
 | 
						
						
						
							|  |  | 	if (c0 === '/' || c0 === '\\\\') return false;
 | 
						
						
						
							|  |  | 	var c1 = modulePath[1], c2 = modulePath[2];
 | 
						
						
						
							|  |  | 	if ((c0 === '.' && (!c1 || c1 === '/' || c1 === '\\\\')) ||
 | 
						
						
						
							|  |  | 		(c0 === '.' && c1 === '.' && (!c2 || c2 === '/' || c2 === '\\\\'))) return false;
 | 
						
						
						
							|  |  | 	if (c1 === ':' && (c2 === '/' || c2 === '\\\\')) return false;
 | 
						
						
						
							|  |  | 	return true;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function normalize (path) {
 | 
						
						
						
							|  |  | 	path = path.replace(/\\\\/g, '/');
 | 
						
						
						
							|  |  | 	var parts = path.split('/');
 | 
						
						
						
							|  |  | 	var slashed = parts[0] === '';
 | 
						
						
						
							|  |  | 	for (var i = 1; i < parts.length; i++) {
 | 
						
						
						
							|  |  | 		if (parts[i] === '.' || parts[i] === '') {
 | 
						
						
						
							|  |  | 			parts.splice(i--, 1);
 | 
						
						
						
							|  |  | 		}
 | 
						
						
						
							|  |  | 	}
 | 
						
						
						
							|  |  | 	for (var i = 1; i < parts.length; i++) {
 | 
						
						
						
							|  |  | 		if (parts[i] !== '..') continue;
 | 
						
						
						
							|  |  | 		if (i > 0 && parts[i - 1] !== '..' && parts[i - 1] !== '.') {
 | 
						
						
						
							|  |  | 			parts.splice(--i, 2);
 | 
						
						
						
							|  |  | 			i--;
 | 
						
						
						
							|  |  | 		}
 | 
						
						
						
							|  |  | 	}
 | 
						
						
						
							|  |  | 	path = parts.join('/');
 | 
						
						
						
							|  |  | 	if (slashed && path[0] !== '/') path = '/' + path;
 | 
						
						
						
							|  |  | 	else if (path.length === 0) path = '.';
 | 
						
						
						
							|  |  | 	return path;
 | 
						
						
						
							|  |  | }`;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const isWrappedId = (id, suffix) => id.endsWith(suffix);
 | 
						
						
						
							|  |  | const wrapId = (id, suffix) => `\0${id}${suffix}`;
 | 
						
						
						
							|  |  | const unwrapId = (wrappedId, suffix) => wrappedId.slice(1, -suffix.length);
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const PROXY_SUFFIX = '?commonjs-proxy';
 | 
						
						
						
							|  |  | const WRAPPED_SUFFIX = '?commonjs-wrapped';
 | 
						
						
						
							|  |  | const EXTERNAL_SUFFIX = '?commonjs-external';
 | 
						
						
						
							|  |  | const EXPORTS_SUFFIX = '?commonjs-exports';
 | 
						
						
						
							|  |  | const MODULE_SUFFIX = '?commonjs-module';
 | 
						
						
						
							|  |  | const ENTRY_SUFFIX = '?commonjs-entry';
 | 
						
						
						
							|  |  | const ES_IMPORT_SUFFIX = '?commonjs-es-import';
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const DYNAMIC_MODULES_ID = '\0commonjs-dynamic-modules';
 | 
						
						
						
							|  |  | const HELPERS_ID = '\0commonjsHelpers.js';
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const IS_WRAPPED_COMMONJS = 'withRequireFunction';
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | // `x['default']` is used instead of `x.default` for backward compatibility with ES3 browsers.
 | 
						
						
						
							|  |  | // Minifiers like uglify will usually transpile it back if compatibility with ES3 is not enabled.
 | 
						
						
						
							|  |  | // This could be improved by inspecting Rollup's "generatedCode" option
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const HELPERS = `
 | 
						
						
						
							|  |  | export var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | export function getDefaultExportFromCjs (x) {
 | 
						
						
						
							|  |  | 	return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | export function getDefaultExportFromNamespaceIfPresent (n) {
 | 
						
						
						
							|  |  | 	return n && Object.prototype.hasOwnProperty.call(n, 'default') ? n['default'] : n;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | export function getDefaultExportFromNamespaceIfNotNamed (n) {
 | 
						
						
						
							|  |  | 	return n && Object.prototype.hasOwnProperty.call(n, 'default') && Object.keys(n).length === 1 ? n['default'] : n;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | export function getAugmentedNamespace(n) {
 | 
						
						
						
							|  |  |   var f = n.default;
 | 
						
						
						
							|  |  | 	if (typeof f == "function") {
 | 
						
						
						
							|  |  | 		var a = function () {
 | 
						
						
						
							|  |  | 			return f.apply(this, arguments);
 | 
						
						
						
							|  |  | 		};
 | 
						
						
						
							|  |  | 		a.prototype = f.prototype;
 | 
						
						
						
							|  |  |   } else a = {};
 | 
						
						
						
							|  |  |   Object.defineProperty(a, '__esModule', {value: true});
 | 
						
						
						
							|  |  | 	Object.keys(n).forEach(function (k) {
 | 
						
						
						
							|  |  | 		var d = Object.getOwnPropertyDescriptor(n, k);
 | 
						
						
						
							|  |  | 		Object.defineProperty(a, k, d.get ? d : {
 | 
						
						
						
							|  |  | 			enumerable: true,
 | 
						
						
						
							|  |  | 			get: function () {
 | 
						
						
						
							|  |  | 				return n[k];
 | 
						
						
						
							|  |  | 			}
 | 
						
						
						
							|  |  | 		});
 | 
						
						
						
							|  |  | 	});
 | 
						
						
						
							|  |  | 	return a;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | `;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getHelpersModule() {
 | 
						
						
						
							|  |  |   return HELPERS;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getUnknownRequireProxy(id, requireReturnsDefault) {
 | 
						
						
						
							|  |  |   if (requireReturnsDefault === true || id.endsWith('.json')) {
 | 
						
						
						
							|  |  |     return `export { default } from ${JSON.stringify(id)};`;
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   const name = getName(id);
 | 
						
						
						
							|  |  |   const exported =
 | 
						
						
						
							|  |  |     requireReturnsDefault === 'auto'
 | 
						
						
						
							|  |  |       ? `import { getDefaultExportFromNamespaceIfNotNamed } from "${HELPERS_ID}"; export default /*@__PURE__*/getDefaultExportFromNamespaceIfNotNamed(${name});`
 | 
						
						
						
							|  |  |       : requireReturnsDefault === 'preferred'
 | 
						
						
						
							|  |  |       ? `import { getDefaultExportFromNamespaceIfPresent } from "${HELPERS_ID}"; export default /*@__PURE__*/getDefaultExportFromNamespaceIfPresent(${name});`
 | 
						
						
						
							|  |  |       : !requireReturnsDefault
 | 
						
						
						
							|  |  |       ? `import { getAugmentedNamespace } from "${HELPERS_ID}"; export default /*@__PURE__*/getAugmentedNamespace(${name});`
 | 
						
						
						
							|  |  |       : `export default ${name};`;
 | 
						
						
						
							|  |  |   return `import * as ${name} from ${JSON.stringify(id)}; ${exported}`;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | async function getStaticRequireProxy(id, requireReturnsDefault, loadModule) {
 | 
						
						
						
							|  |  |   const name = getName(id);
 | 
						
						
						
							|  |  |   const {
 | 
						
						
						
							|  |  |     meta: { commonjs: commonjsMeta }
 | 
						
						
						
							|  |  |   } = await loadModule({ id });
 | 
						
						
						
							|  |  |   if (!commonjsMeta) {
 | 
						
						
						
							|  |  |     return getUnknownRequireProxy(id, requireReturnsDefault);
 | 
						
						
						
							|  |  |   } else if (commonjsMeta.isCommonJS) {
 | 
						
						
						
							|  |  |     return `export { __moduleExports as default } from ${JSON.stringify(id)};`;
 | 
						
						
						
							|  |  |   } else if (!requireReturnsDefault) {
 | 
						
						
						
							|  |  |     return `import { getAugmentedNamespace } from "${HELPERS_ID}"; import * as ${name} from ${JSON.stringify(
 | 
						
						
						
							|  |  |       id
 | 
						
						
						
							|  |  |     )}; export default /*@__PURE__*/getAugmentedNamespace(${name});`;
 | 
						
						
						
							|  |  |   } else if (
 | 
						
						
						
							|  |  |     requireReturnsDefault !== true &&
 | 
						
						
						
							|  |  |     (requireReturnsDefault === 'namespace' ||
 | 
						
						
						
							|  |  |       !commonjsMeta.hasDefaultExport ||
 | 
						
						
						
							|  |  |       (requireReturnsDefault === 'auto' && commonjsMeta.hasNamedExports))
 | 
						
						
						
							|  |  |   ) {
 | 
						
						
						
							|  |  |     return `import * as ${name} from ${JSON.stringify(id)}; export default ${name};`;
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   return `export { default } from ${JSON.stringify(id)};`;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getEntryProxy(id, defaultIsModuleExports, getModuleInfo) {
 | 
						
						
						
							|  |  |   const {
 | 
						
						
						
							|  |  |     meta: { commonjs: commonjsMeta },
 | 
						
						
						
							|  |  |     hasDefaultExport
 | 
						
						
						
							|  |  |   } = getModuleInfo(id);
 | 
						
						
						
							|  |  |   if (!commonjsMeta || commonjsMeta.isCommonJS !== IS_WRAPPED_COMMONJS) {
 | 
						
						
						
							|  |  |     const stringifiedId = JSON.stringify(id);
 | 
						
						
						
							|  |  |     let code = `export * from ${stringifiedId};`;
 | 
						
						
						
							|  |  |     if (hasDefaultExport) {
 | 
						
						
						
							|  |  |       code += `export { default } from ${stringifiedId};`;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     return code;
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   return getEsImportProxy(id, defaultIsModuleExports);
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getEsImportProxy(id, defaultIsModuleExports) {
 | 
						
						
						
							|  |  |   const name = getName(id);
 | 
						
						
						
							|  |  |   const exportsName = `${name}Exports`;
 | 
						
						
						
							|  |  |   const requireModule = `require${capitalize(name)}`;
 | 
						
						
						
							|  |  |   let code =
 | 
						
						
						
							|  |  |     `import { getDefaultExportFromCjs } from "${HELPERS_ID}";\n` +
 | 
						
						
						
							|  |  |     `import { __require as ${requireModule} } from ${JSON.stringify(id)};\n` +
 | 
						
						
						
							|  |  |     `var ${exportsName} = ${requireModule}();\n` +
 | 
						
						
						
							|  |  |     `export { ${exportsName} as __moduleExports };`;
 | 
						
						
						
							|  |  |   if (defaultIsModuleExports) {
 | 
						
						
						
							|  |  |     code += `\nexport { ${exportsName} as default };`;
 | 
						
						
						
							|  |  |   } else {
 | 
						
						
						
							|  |  |     code += `export default /*@__PURE__*/getDefaultExportFromCjs(${exportsName});`;
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   return {
 | 
						
						
						
							|  |  |     code,
 | 
						
						
						
							|  |  |     syntheticNamedExports: '__moduleExports'
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | /* eslint-disable no-param-reassign, no-undefined */
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getCandidatesForExtension(resolved, extension) {
 | 
						
						
						
							|  |  |   return [resolved + extension, `${resolved}${path.sep}index${extension}`];
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getCandidates(resolved, extensions) {
 | 
						
						
						
							|  |  |   return extensions.reduce(
 | 
						
						
						
							|  |  |     (paths, extension) => paths.concat(getCandidatesForExtension(resolved, extension)),
 | 
						
						
						
							|  |  |     [resolved]
 | 
						
						
						
							|  |  |   );
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function resolveExtensions(importee, importer, extensions) {
 | 
						
						
						
							|  |  |   // not our problem
 | 
						
						
						
							|  |  |   if (importee[0] !== '.' || !importer) return undefined;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const resolved = path.resolve(path.dirname(importer), importee);
 | 
						
						
						
							|  |  |   const candidates = getCandidates(resolved, extensions);
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   for (let i = 0; i < candidates.length; i += 1) {
 | 
						
						
						
							|  |  |     try {
 | 
						
						
						
							|  |  |       const stats = fs.statSync(candidates[i]);
 | 
						
						
						
							|  |  |       if (stats.isFile()) return { id: candidates[i] };
 | 
						
						
						
							|  |  |     } catch (err) {
 | 
						
						
						
							|  |  |       /* noop */
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   return undefined;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getResolveId(extensions, isPossibleCjsId) {
 | 
						
						
						
							|  |  |   const currentlyResolving = new Map();
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   return {
 | 
						
						
						
							|  |  |     /**
 | 
						
						
						
							|  |  |      * This is a Maps of importers to Sets of require sources being resolved at
 | 
						
						
						
							|  |  |      * the moment by resolveRequireSourcesAndUpdateMeta
 | 
						
						
						
							|  |  |      */
 | 
						
						
						
							|  |  |     currentlyResolving,
 | 
						
						
						
							|  |  |     async resolveId(importee, importer, resolveOptions) {
 | 
						
						
						
							|  |  |       const customOptions = resolveOptions.custom;
 | 
						
						
						
							|  |  |       // All logic below is specific to ES imports.
 | 
						
						
						
							|  |  |       // Also, if we do not skip this logic for requires that are resolved while
 | 
						
						
						
							|  |  |       // transforming a commonjs file, it can easily lead to deadlocks.
 | 
						
						
						
							|  |  |       if (
 | 
						
						
						
							|  |  |         customOptions &&
 | 
						
						
						
							|  |  |         customOptions['node-resolve'] &&
 | 
						
						
						
							|  |  |         customOptions['node-resolve'].isRequire
 | 
						
						
						
							|  |  |       ) {
 | 
						
						
						
							|  |  |         return null;
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       const currentlyResolvingForParent = currentlyResolving.get(importer);
 | 
						
						
						
							|  |  |       if (currentlyResolvingForParent && currentlyResolvingForParent.has(importee)) {
 | 
						
						
						
							|  |  |         this.warn({
 | 
						
						
						
							|  |  |           code: 'THIS_RESOLVE_WITHOUT_OPTIONS',
 | 
						
						
						
							|  |  |           message:
 | 
						
						
						
							|  |  |             'It appears a plugin has implemented a "resolveId" hook that uses "this.resolve" without forwarding the third "options" parameter of "resolveId". This is problematic as it can lead to wrong module resolutions especially for the node-resolve plugin and in certain cases cause early exit errors for the commonjs plugin.\nIn rare cases, this warning can appear if the same file is both imported and required from the same mixed ES/CommonJS module, in which case it can be ignored.',
 | 
						
						
						
							|  |  |           url: 'https://rollupjs.org/guide/en/#resolveid'
 | 
						
						
						
							|  |  |         });
 | 
						
						
						
							|  |  |         return null;
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       if (isWrappedId(importee, WRAPPED_SUFFIX)) {
 | 
						
						
						
							|  |  |         return unwrapId(importee, WRAPPED_SUFFIX);
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       if (
 | 
						
						
						
							|  |  |         importee.endsWith(ENTRY_SUFFIX) ||
 | 
						
						
						
							|  |  |         isWrappedId(importee, MODULE_SUFFIX) ||
 | 
						
						
						
							|  |  |         isWrappedId(importee, EXPORTS_SUFFIX) ||
 | 
						
						
						
							|  |  |         isWrappedId(importee, PROXY_SUFFIX) ||
 | 
						
						
						
							|  |  |         isWrappedId(importee, ES_IMPORT_SUFFIX) ||
 | 
						
						
						
							|  |  |         isWrappedId(importee, EXTERNAL_SUFFIX) ||
 | 
						
						
						
							|  |  |         importee.startsWith(HELPERS_ID) ||
 | 
						
						
						
							|  |  |         importee === DYNAMIC_MODULES_ID
 | 
						
						
						
							|  |  |       ) {
 | 
						
						
						
							|  |  |         return importee;
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       if (importer) {
 | 
						
						
						
							|  |  |         if (
 | 
						
						
						
							|  |  |           importer === DYNAMIC_MODULES_ID ||
 | 
						
						
						
							|  |  |           // Proxies are only importing resolved ids, no need to resolve again
 | 
						
						
						
							|  |  |           isWrappedId(importer, PROXY_SUFFIX) ||
 | 
						
						
						
							|  |  |           isWrappedId(importer, ES_IMPORT_SUFFIX) ||
 | 
						
						
						
							|  |  |           importer.endsWith(ENTRY_SUFFIX)
 | 
						
						
						
							|  |  |         ) {
 | 
						
						
						
							|  |  |           return importee;
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |         if (isWrappedId(importer, EXTERNAL_SUFFIX)) {
 | 
						
						
						
							|  |  |           // We need to return null for unresolved imports so that the proper warning is shown
 | 
						
						
						
							|  |  |           if (
 | 
						
						
						
							|  |  |             !(await this.resolve(
 | 
						
						
						
							|  |  |               importee,
 | 
						
						
						
							|  |  |               importer,
 | 
						
						
						
							|  |  |               Object.assign({ skipSelf: true }, resolveOptions)
 | 
						
						
						
							|  |  |             ))
 | 
						
						
						
							|  |  |           ) {
 | 
						
						
						
							|  |  |             return null;
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           // For other external imports, we need to make sure they are handled as external
 | 
						
						
						
							|  |  |           return { id: importee, external: true };
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       if (importee.startsWith('\0')) {
 | 
						
						
						
							|  |  |         return null;
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       // If this is an entry point or ESM import, we need to figure out if the importee is wrapped and
 | 
						
						
						
							|  |  |       // if that is the case, we need to add a proxy.
 | 
						
						
						
							|  |  |       const resolved =
 | 
						
						
						
							|  |  |         (await this.resolve(
 | 
						
						
						
							|  |  |           importee,
 | 
						
						
						
							|  |  |           importer,
 | 
						
						
						
							|  |  |           Object.assign({ skipSelf: true }, resolveOptions)
 | 
						
						
						
							|  |  |         )) || resolveExtensions(importee, importer, extensions);
 | 
						
						
						
							|  |  |       // Make sure that even if other plugins resolve again, we ignore our own proxies
 | 
						
						
						
							|  |  |       if (
 | 
						
						
						
							|  |  |         !resolved ||
 | 
						
						
						
							|  |  |         resolved.external ||
 | 
						
						
						
							|  |  |         resolved.id.endsWith(ENTRY_SUFFIX) ||
 | 
						
						
						
							|  |  |         isWrappedId(resolved.id, ES_IMPORT_SUFFIX) ||
 | 
						
						
						
							|  |  |         !isPossibleCjsId(resolved.id)
 | 
						
						
						
							|  |  |       ) {
 | 
						
						
						
							|  |  |         return resolved;
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       const moduleInfo = await this.load(resolved);
 | 
						
						
						
							|  |  |       const {
 | 
						
						
						
							|  |  |         meta: { commonjs: commonjsMeta }
 | 
						
						
						
							|  |  |       } = moduleInfo;
 | 
						
						
						
							|  |  |       if (commonjsMeta) {
 | 
						
						
						
							|  |  |         const { isCommonJS } = commonjsMeta;
 | 
						
						
						
							|  |  |         if (isCommonJS) {
 | 
						
						
						
							|  |  |           if (resolveOptions.isEntry) {
 | 
						
						
						
							|  |  |             moduleInfo.moduleSideEffects = true;
 | 
						
						
						
							|  |  |             // We must not precede entry proxies with a `\0` as that will mess up relative external resolution
 | 
						
						
						
							|  |  |             return resolved.id + ENTRY_SUFFIX;
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           if (isCommonJS === IS_WRAPPED_COMMONJS) {
 | 
						
						
						
							|  |  |             return { id: wrapId(resolved.id, ES_IMPORT_SUFFIX), meta: { commonjs: { resolved } } };
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       return resolved;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getRequireResolver(extensions, detectCyclesAndConditional, currentlyResolving) {
 | 
						
						
						
							|  |  |   const knownCjsModuleTypes = Object.create(null);
 | 
						
						
						
							|  |  |   const requiredIds = Object.create(null);
 | 
						
						
						
							|  |  |   const unconditionallyRequiredIds = Object.create(null);
 | 
						
						
						
							|  |  |   const dependencies = Object.create(null);
 | 
						
						
						
							|  |  |   const getDependencies = (id) => dependencies[id] || (dependencies[id] = new Set());
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const isCyclic = (id) => {
 | 
						
						
						
							|  |  |     const dependenciesToCheck = new Set(getDependencies(id));
 | 
						
						
						
							|  |  |     for (const dependency of dependenciesToCheck) {
 | 
						
						
						
							|  |  |       if (dependency === id) {
 | 
						
						
						
							|  |  |         return true;
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       for (const childDependency of getDependencies(dependency)) {
 | 
						
						
						
							|  |  |         dependenciesToCheck.add(childDependency);
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     return false;
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   // Once a module is listed here, its type (wrapped or not) is fixed and may
 | 
						
						
						
							|  |  |   // not change for the rest of the current build, to not break already
 | 
						
						
						
							|  |  |   // transformed modules.
 | 
						
						
						
							|  |  |   const fullyAnalyzedModules = Object.create(null);
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const getTypeForFullyAnalyzedModule = (id) => {
 | 
						
						
						
							|  |  |     const knownType = knownCjsModuleTypes[id];
 | 
						
						
						
							|  |  |     if (knownType !== true || !detectCyclesAndConditional || fullyAnalyzedModules[id]) {
 | 
						
						
						
							|  |  |       return knownType;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     if (isCyclic(id)) {
 | 
						
						
						
							|  |  |       return (knownCjsModuleTypes[id] = IS_WRAPPED_COMMONJS);
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     return knownType;
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const setInitialParentType = (id, initialCommonJSType) => {
 | 
						
						
						
							|  |  |     // Fully analyzed modules may never change type
 | 
						
						
						
							|  |  |     if (fullyAnalyzedModules[id]) {
 | 
						
						
						
							|  |  |       return;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     knownCjsModuleTypes[id] = initialCommonJSType;
 | 
						
						
						
							|  |  |     if (
 | 
						
						
						
							|  |  |       detectCyclesAndConditional &&
 | 
						
						
						
							|  |  |       knownCjsModuleTypes[id] === true &&
 | 
						
						
						
							|  |  |       requiredIds[id] &&
 | 
						
						
						
							|  |  |       !unconditionallyRequiredIds[id]
 | 
						
						
						
							|  |  |     ) {
 | 
						
						
						
							|  |  |       knownCjsModuleTypes[id] = IS_WRAPPED_COMMONJS;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const analyzeRequiredModule = async (parentId, resolved, isConditional, loadModule) => {
 | 
						
						
						
							|  |  |     const childId = resolved.id;
 | 
						
						
						
							|  |  |     requiredIds[childId] = true;
 | 
						
						
						
							|  |  |     if (!(isConditional || knownCjsModuleTypes[parentId] === IS_WRAPPED_COMMONJS)) {
 | 
						
						
						
							|  |  |       unconditionallyRequiredIds[childId] = true;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     getDependencies(parentId).add(childId);
 | 
						
						
						
							|  |  |     if (!isCyclic(childId)) {
 | 
						
						
						
							|  |  |       // This makes sure the current transform handler waits for all direct
 | 
						
						
						
							|  |  |       // dependencies to be loaded and transformed and therefore for all
 | 
						
						
						
							|  |  |       // transitive CommonJS dependencies to be loaded as well so that all
 | 
						
						
						
							|  |  |       // cycles have been found and knownCjsModuleTypes is reliable.
 | 
						
						
						
							|  |  |       await loadModule(resolved);
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const getTypeForImportedModule = async (resolved, loadModule) => {
 | 
						
						
						
							|  |  |     if (resolved.id in knownCjsModuleTypes) {
 | 
						
						
						
							|  |  |       // This handles cyclic ES dependencies
 | 
						
						
						
							|  |  |       return knownCjsModuleTypes[resolved.id];
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     const {
 | 
						
						
						
							|  |  |       meta: { commonjs }
 | 
						
						
						
							|  |  |     } = await loadModule(resolved);
 | 
						
						
						
							|  |  |     return (commonjs && commonjs.isCommonJS) || false;
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   return {
 | 
						
						
						
							|  |  |     getWrappedIds: () =>
 | 
						
						
						
							|  |  |       Object.keys(knownCjsModuleTypes).filter(
 | 
						
						
						
							|  |  |         (id) => knownCjsModuleTypes[id] === IS_WRAPPED_COMMONJS
 | 
						
						
						
							|  |  |       ),
 | 
						
						
						
							|  |  |     isRequiredId: (id) => requiredIds[id],
 | 
						
						
						
							|  |  |     async shouldTransformCachedModule({
 | 
						
						
						
							|  |  |       id: parentId,
 | 
						
						
						
							|  |  |       resolvedSources,
 | 
						
						
						
							|  |  |       meta: { commonjs: parentMeta }
 | 
						
						
						
							|  |  |     }) {
 | 
						
						
						
							|  |  |       // We explicitly track ES modules to handle circular imports
 | 
						
						
						
							|  |  |       if (!(parentMeta && parentMeta.isCommonJS)) knownCjsModuleTypes[parentId] = false;
 | 
						
						
						
							|  |  |       if (isWrappedId(parentId, ES_IMPORT_SUFFIX)) return false;
 | 
						
						
						
							|  |  |       const parentRequires = parentMeta && parentMeta.requires;
 | 
						
						
						
							|  |  |       if (parentRequires) {
 | 
						
						
						
							|  |  |         setInitialParentType(parentId, parentMeta.initialCommonJSType);
 | 
						
						
						
							|  |  |         await Promise.all(
 | 
						
						
						
							|  |  |           parentRequires.map(({ resolved, isConditional }) =>
 | 
						
						
						
							|  |  |             analyzeRequiredModule(parentId, resolved, isConditional, this.load)
 | 
						
						
						
							|  |  |           )
 | 
						
						
						
							|  |  |         );
 | 
						
						
						
							|  |  |         if (getTypeForFullyAnalyzedModule(parentId) !== parentMeta.isCommonJS) {
 | 
						
						
						
							|  |  |           return true;
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |         for (const {
 | 
						
						
						
							|  |  |           resolved: { id }
 | 
						
						
						
							|  |  |         } of parentRequires) {
 | 
						
						
						
							|  |  |           if (getTypeForFullyAnalyzedModule(id) !== parentMeta.isRequiredCommonJS[id]) {
 | 
						
						
						
							|  |  |             return true;
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |         // Now that we decided to go with the cached copy, neither the parent
 | 
						
						
						
							|  |  |         // module nor any of its children may change types anymore
 | 
						
						
						
							|  |  |         fullyAnalyzedModules[parentId] = true;
 | 
						
						
						
							|  |  |         for (const {
 | 
						
						
						
							|  |  |           resolved: { id }
 | 
						
						
						
							|  |  |         } of parentRequires) {
 | 
						
						
						
							|  |  |           fullyAnalyzedModules[id] = true;
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       const parentRequireSet = new Set((parentRequires || []).map(({ resolved: { id } }) => id));
 | 
						
						
						
							|  |  |       return (
 | 
						
						
						
							|  |  |         await Promise.all(
 | 
						
						
						
							|  |  |           Object.keys(resolvedSources)
 | 
						
						
						
							|  |  |             .map((source) => resolvedSources[source])
 | 
						
						
						
							|  |  |             .filter(({ id, external }) => !(external || parentRequireSet.has(id)))
 | 
						
						
						
							|  |  |             .map(async (resolved) => {
 | 
						
						
						
							|  |  |               if (isWrappedId(resolved.id, ES_IMPORT_SUFFIX)) {
 | 
						
						
						
							|  |  |                 return (
 | 
						
						
						
							|  |  |                   (await getTypeForImportedModule(
 | 
						
						
						
							|  |  |                     (await this.load({ id: resolved.id })).meta.commonjs.resolved,
 | 
						
						
						
							|  |  |                     this.load
 | 
						
						
						
							|  |  |                   )) !== IS_WRAPPED_COMMONJS
 | 
						
						
						
							|  |  |                 );
 | 
						
						
						
							|  |  |               }
 | 
						
						
						
							|  |  |               return (await getTypeForImportedModule(resolved, this.load)) === IS_WRAPPED_COMMONJS;
 | 
						
						
						
							|  |  |             })
 | 
						
						
						
							|  |  |         )
 | 
						
						
						
							|  |  |       ).some((shouldTransform) => shouldTransform);
 | 
						
						
						
							|  |  |     },
 | 
						
						
						
							|  |  |     /* eslint-disable no-param-reassign */
 | 
						
						
						
							|  |  |     resolveRequireSourcesAndUpdateMeta: (rollupContext) => async (
 | 
						
						
						
							|  |  |       parentId,
 | 
						
						
						
							|  |  |       isParentCommonJS,
 | 
						
						
						
							|  |  |       parentMeta,
 | 
						
						
						
							|  |  |       sources
 | 
						
						
						
							|  |  |     ) => {
 | 
						
						
						
							|  |  |       parentMeta.initialCommonJSType = isParentCommonJS;
 | 
						
						
						
							|  |  |       parentMeta.requires = [];
 | 
						
						
						
							|  |  |       parentMeta.isRequiredCommonJS = Object.create(null);
 | 
						
						
						
							|  |  |       setInitialParentType(parentId, isParentCommonJS);
 | 
						
						
						
							|  |  |       const currentlyResolvingForParent = currentlyResolving.get(parentId) || new Set();
 | 
						
						
						
							|  |  |       currentlyResolving.set(parentId, currentlyResolvingForParent);
 | 
						
						
						
							|  |  |       const requireTargets = await Promise.all(
 | 
						
						
						
							|  |  |         sources.map(async ({ source, isConditional }) => {
 | 
						
						
						
							|  |  |           // Never analyze or proxy internal modules
 | 
						
						
						
							|  |  |           if (source.startsWith('\0')) {
 | 
						
						
						
							|  |  |             return { id: source, allowProxy: false };
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           currentlyResolvingForParent.add(source);
 | 
						
						
						
							|  |  |           const resolved =
 | 
						
						
						
							|  |  |             (await rollupContext.resolve(source, parentId, {
 | 
						
						
						
							|  |  |               custom: { 'node-resolve': { isRequire: true } }
 | 
						
						
						
							|  |  |             })) || resolveExtensions(source, parentId, extensions);
 | 
						
						
						
							|  |  |           currentlyResolvingForParent.delete(source);
 | 
						
						
						
							|  |  |           if (!resolved) {
 | 
						
						
						
							|  |  |             return { id: wrapId(source, EXTERNAL_SUFFIX), allowProxy: false };
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           const childId = resolved.id;
 | 
						
						
						
							|  |  |           if (resolved.external) {
 | 
						
						
						
							|  |  |             return { id: wrapId(childId, EXTERNAL_SUFFIX), allowProxy: false };
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           parentMeta.requires.push({ resolved, isConditional });
 | 
						
						
						
							|  |  |           await analyzeRequiredModule(parentId, resolved, isConditional, rollupContext.load);
 | 
						
						
						
							|  |  |           return { id: childId, allowProxy: true };
 | 
						
						
						
							|  |  |         })
 | 
						
						
						
							|  |  |       );
 | 
						
						
						
							|  |  |       parentMeta.isCommonJS = getTypeForFullyAnalyzedModule(parentId);
 | 
						
						
						
							|  |  |       fullyAnalyzedModules[parentId] = true;
 | 
						
						
						
							|  |  |       return requireTargets.map(({ id: dependencyId, allowProxy }, index) => {
 | 
						
						
						
							|  |  |         // eslint-disable-next-line no-multi-assign
 | 
						
						
						
							|  |  |         const isCommonJS = (parentMeta.isRequiredCommonJS[
 | 
						
						
						
							|  |  |           dependencyId
 | 
						
						
						
							|  |  |         ] = getTypeForFullyAnalyzedModule(dependencyId));
 | 
						
						
						
							|  |  |         fullyAnalyzedModules[dependencyId] = true;
 | 
						
						
						
							|  |  |         return {
 | 
						
						
						
							|  |  |           source: sources[index].source,
 | 
						
						
						
							|  |  |           id: allowProxy
 | 
						
						
						
							|  |  |             ? isCommonJS === IS_WRAPPED_COMMONJS
 | 
						
						
						
							|  |  |               ? wrapId(dependencyId, WRAPPED_SUFFIX)
 | 
						
						
						
							|  |  |               : wrapId(dependencyId, PROXY_SUFFIX)
 | 
						
						
						
							|  |  |             : dependencyId,
 | 
						
						
						
							|  |  |           isCommonJS
 | 
						
						
						
							|  |  |         };
 | 
						
						
						
							|  |  |       });
 | 
						
						
						
							|  |  |     },
 | 
						
						
						
							|  |  |     isCurrentlyResolving(source, parentId) {
 | 
						
						
						
							|  |  |       const currentlyResolvingForParent = currentlyResolving.get(parentId);
 | 
						
						
						
							|  |  |       return currentlyResolvingForParent && currentlyResolvingForParent.has(source);
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function validateVersion(actualVersion, peerDependencyVersion, name) {
 | 
						
						
						
							|  |  |   const versionRegexp = /\^(\d+\.\d+\.\d+)/g;
 | 
						
						
						
							|  |  |   let minMajor = Infinity;
 | 
						
						
						
							|  |  |   let minMinor = Infinity;
 | 
						
						
						
							|  |  |   let minPatch = Infinity;
 | 
						
						
						
							|  |  |   let foundVersion;
 | 
						
						
						
							|  |  |   // eslint-disable-next-line no-cond-assign
 | 
						
						
						
							|  |  |   while ((foundVersion = versionRegexp.exec(peerDependencyVersion))) {
 | 
						
						
						
							|  |  |     const [foundMajor, foundMinor, foundPatch] = foundVersion[1].split('.').map(Number);
 | 
						
						
						
							|  |  |     if (foundMajor < minMajor) {
 | 
						
						
						
							|  |  |       minMajor = foundMajor;
 | 
						
						
						
							|  |  |       minMinor = foundMinor;
 | 
						
						
						
							|  |  |       minPatch = foundPatch;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   if (!actualVersion) {
 | 
						
						
						
							|  |  |     throw new Error(
 | 
						
						
						
							|  |  |       `Insufficient ${name} version: "@rollup/plugin-commonjs" requires at least ${name}@${minMajor}.${minMinor}.${minPatch}.`
 | 
						
						
						
							|  |  |     );
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   const [major, minor, patch] = actualVersion.split('.').map(Number);
 | 
						
						
						
							|  |  |   if (
 | 
						
						
						
							|  |  |     major < minMajor ||
 | 
						
						
						
							|  |  |     (major === minMajor && (minor < minMinor || (minor === minMinor && patch < minPatch)))
 | 
						
						
						
							|  |  |   ) {
 | 
						
						
						
							|  |  |     throw new Error(
 | 
						
						
						
							|  |  |       `Insufficient ${name} version: "@rollup/plugin-commonjs" requires at least ${name}@${minMajor}.${minMinor}.${minPatch} but found ${name}@${actualVersion}.`
 | 
						
						
						
							|  |  |     );
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const operators = {
 | 
						
						
						
							|  |  |   '==': (x) => equals(x.left, x.right, false),
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   '!=': (x) => not(operators['=='](x)),
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   '===': (x) => equals(x.left, x.right, true),
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   '!==': (x) => not(operators['==='](x)),
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   '!': (x) => isFalsy(x.argument),
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   '&&': (x) => isTruthy(x.left) && isTruthy(x.right),
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   '||': (x) => isTruthy(x.left) || isTruthy(x.right)
 | 
						
						
						
							|  |  | };
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function not(value) {
 | 
						
						
						
							|  |  |   return value === null ? value : !value;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function equals(a, b, strict) {
 | 
						
						
						
							|  |  |   if (a.type !== b.type) return null;
 | 
						
						
						
							|  |  |   // eslint-disable-next-line eqeqeq
 | 
						
						
						
							|  |  |   if (a.type === 'Literal') return strict ? a.value === b.value : a.value == b.value;
 | 
						
						
						
							|  |  |   return null;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function isTruthy(node) {
 | 
						
						
						
							|  |  |   if (!node) return false;
 | 
						
						
						
							|  |  |   if (node.type === 'Literal') return !!node.value;
 | 
						
						
						
							|  |  |   if (node.type === 'ParenthesizedExpression') return isTruthy(node.expression);
 | 
						
						
						
							|  |  |   if (node.operator in operators) return operators[node.operator](node);
 | 
						
						
						
							|  |  |   return null;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function isFalsy(node) {
 | 
						
						
						
							|  |  |   return not(isTruthy(node));
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getKeypath(node) {
 | 
						
						
						
							|  |  |   const parts = [];
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   while (node.type === 'MemberExpression') {
 | 
						
						
						
							|  |  |     if (node.computed) return null;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     parts.unshift(node.property.name);
 | 
						
						
						
							|  |  |     // eslint-disable-next-line no-param-reassign
 | 
						
						
						
							|  |  |     node = node.object;
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   if (node.type !== 'Identifier') return null;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const { name } = node;
 | 
						
						
						
							|  |  |   parts.unshift(name);
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   return { name, keypath: parts.join('.') };
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const KEY_COMPILED_ESM = '__esModule';
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function isDefineCompiledEsm(node) {
 | 
						
						
						
							|  |  |   const definedProperty =
 | 
						
						
						
							|  |  |     getDefinePropertyCallName(node, 'exports') || getDefinePropertyCallName(node, 'module.exports');
 | 
						
						
						
							|  |  |   if (definedProperty && definedProperty.key === KEY_COMPILED_ESM) {
 | 
						
						
						
							|  |  |     return isTruthy(definedProperty.value);
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   return false;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getDefinePropertyCallName(node, targetName) {
 | 
						
						
						
							|  |  |   const {
 | 
						
						
						
							|  |  |     callee: { object, property }
 | 
						
						
						
							|  |  |   } = node;
 | 
						
						
						
							|  |  |   if (!object || object.type !== 'Identifier' || object.name !== 'Object') return;
 | 
						
						
						
							|  |  |   if (!property || property.type !== 'Identifier' || property.name !== 'defineProperty') return;
 | 
						
						
						
							|  |  |   if (node.arguments.length !== 3) return;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const targetNames = targetName.split('.');
 | 
						
						
						
							|  |  |   const [target, key, value] = node.arguments;
 | 
						
						
						
							|  |  |   if (targetNames.length === 1) {
 | 
						
						
						
							|  |  |     if (target.type !== 'Identifier' || target.name !== targetNames[0]) {
 | 
						
						
						
							|  |  |       return;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   if (targetNames.length === 2) {
 | 
						
						
						
							|  |  |     if (
 | 
						
						
						
							|  |  |       target.type !== 'MemberExpression' ||
 | 
						
						
						
							|  |  |       target.object.name !== targetNames[0] ||
 | 
						
						
						
							|  |  |       target.property.name !== targetNames[1]
 | 
						
						
						
							|  |  |     ) {
 | 
						
						
						
							|  |  |       return;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   if (value.type !== 'ObjectExpression' || !value.properties) return;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const valueProperty = value.properties.find((p) => p.key && p.key.name === 'value');
 | 
						
						
						
							|  |  |   if (!valueProperty || !valueProperty.value) return;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   // eslint-disable-next-line consistent-return
 | 
						
						
						
							|  |  |   return { key: key.value, value: valueProperty.value };
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function isShorthandProperty(parent) {
 | 
						
						
						
							|  |  |   return parent && parent.type === 'Property' && parent.shorthand;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function hasDefineEsmProperty(node) {
 | 
						
						
						
							|  |  |   return node.properties.some((property) => {
 | 
						
						
						
							|  |  |     if (
 | 
						
						
						
							|  |  |       property.type === 'Property' &&
 | 
						
						
						
							|  |  |       property.key.type === 'Identifier' &&
 | 
						
						
						
							|  |  |       property.key.name === '__esModule' &&
 | 
						
						
						
							|  |  |       isTruthy(property.value)
 | 
						
						
						
							|  |  |     ) {
 | 
						
						
						
							|  |  |       return true;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     return false;
 | 
						
						
						
							|  |  |   });
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function wrapCode(magicString, uses, moduleName, exportsName, indentExclusionRanges) {
 | 
						
						
						
							|  |  |   const args = [];
 | 
						
						
						
							|  |  |   const passedArgs = [];
 | 
						
						
						
							|  |  |   if (uses.module) {
 | 
						
						
						
							|  |  |     args.push('module');
 | 
						
						
						
							|  |  |     passedArgs.push(moduleName);
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   if (uses.exports) {
 | 
						
						
						
							|  |  |     args.push('exports');
 | 
						
						
						
							|  |  |     passedArgs.push(exportsName);
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   magicString
 | 
						
						
						
							|  |  |     .trim()
 | 
						
						
						
							|  |  |     .indent('\t', { exclude: indentExclusionRanges })
 | 
						
						
						
							|  |  |     .prepend(`(function (${args.join(', ')}) {\n`)
 | 
						
						
						
							|  |  |     .append(`\n} (${passedArgs.join(', ')}));`);
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function rewriteExportsAndGetExportsBlock(
 | 
						
						
						
							|  |  |   magicString,
 | 
						
						
						
							|  |  |   moduleName,
 | 
						
						
						
							|  |  |   exportsName,
 | 
						
						
						
							|  |  |   wrapped,
 | 
						
						
						
							|  |  |   moduleExportsAssignments,
 | 
						
						
						
							|  |  |   firstTopLevelModuleExportsAssignment,
 | 
						
						
						
							|  |  |   exportsAssignmentsByName,
 | 
						
						
						
							|  |  |   topLevelAssignments,
 | 
						
						
						
							|  |  |   defineCompiledEsmExpressions,
 | 
						
						
						
							|  |  |   deconflictedExportNames,
 | 
						
						
						
							|  |  |   code,
 | 
						
						
						
							|  |  |   HELPERS_NAME,
 | 
						
						
						
							|  |  |   exportMode,
 | 
						
						
						
							|  |  |   detectWrappedDefault,
 | 
						
						
						
							|  |  |   defaultIsModuleExports,
 | 
						
						
						
							|  |  |   usesRequireWrapper,
 | 
						
						
						
							|  |  |   requireName
 | 
						
						
						
							|  |  | ) {
 | 
						
						
						
							|  |  |   const exports = [];
 | 
						
						
						
							|  |  |   const exportDeclarations = [];
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   if (usesRequireWrapper) {
 | 
						
						
						
							|  |  |     getExportsWhenUsingRequireWrapper(
 | 
						
						
						
							|  |  |       magicString,
 | 
						
						
						
							|  |  |       wrapped,
 | 
						
						
						
							|  |  |       exportMode,
 | 
						
						
						
							|  |  |       exports,
 | 
						
						
						
							|  |  |       moduleExportsAssignments,
 | 
						
						
						
							|  |  |       exportsAssignmentsByName,
 | 
						
						
						
							|  |  |       moduleName,
 | 
						
						
						
							|  |  |       exportsName,
 | 
						
						
						
							|  |  |       requireName,
 | 
						
						
						
							|  |  |       defineCompiledEsmExpressions
 | 
						
						
						
							|  |  |     );
 | 
						
						
						
							|  |  |   } else if (exportMode === 'replace') {
 | 
						
						
						
							|  |  |     getExportsForReplacedModuleExports(
 | 
						
						
						
							|  |  |       magicString,
 | 
						
						
						
							|  |  |       exports,
 | 
						
						
						
							|  |  |       exportDeclarations,
 | 
						
						
						
							|  |  |       moduleExportsAssignments,
 | 
						
						
						
							|  |  |       firstTopLevelModuleExportsAssignment,
 | 
						
						
						
							|  |  |       exportsName
 | 
						
						
						
							|  |  |     );
 | 
						
						
						
							|  |  |   } else {
 | 
						
						
						
							|  |  |     exports.push(`${exportsName} as __moduleExports`);
 | 
						
						
						
							|  |  |     if (wrapped) {
 | 
						
						
						
							|  |  |       getExportsWhenWrapping(
 | 
						
						
						
							|  |  |         exportDeclarations,
 | 
						
						
						
							|  |  |         exportsName,
 | 
						
						
						
							|  |  |         detectWrappedDefault,
 | 
						
						
						
							|  |  |         HELPERS_NAME,
 | 
						
						
						
							|  |  |         defaultIsModuleExports
 | 
						
						
						
							|  |  |       );
 | 
						
						
						
							|  |  |     } else {
 | 
						
						
						
							|  |  |       getExports(
 | 
						
						
						
							|  |  |         magicString,
 | 
						
						
						
							|  |  |         exports,
 | 
						
						
						
							|  |  |         exportDeclarations,
 | 
						
						
						
							|  |  |         moduleExportsAssignments,
 | 
						
						
						
							|  |  |         exportsAssignmentsByName,
 | 
						
						
						
							|  |  |         deconflictedExportNames,
 | 
						
						
						
							|  |  |         topLevelAssignments,
 | 
						
						
						
							|  |  |         moduleName,
 | 
						
						
						
							|  |  |         exportsName,
 | 
						
						
						
							|  |  |         defineCompiledEsmExpressions,
 | 
						
						
						
							|  |  |         HELPERS_NAME,
 | 
						
						
						
							|  |  |         defaultIsModuleExports
 | 
						
						
						
							|  |  |       );
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   if (exports.length) {
 | 
						
						
						
							|  |  |     exportDeclarations.push(`export { ${exports.join(', ')} };`);
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   return `\n\n${exportDeclarations.join('\n')}`;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getExportsWhenUsingRequireWrapper(
 | 
						
						
						
							|  |  |   magicString,
 | 
						
						
						
							|  |  |   wrapped,
 | 
						
						
						
							|  |  |   exportMode,
 | 
						
						
						
							|  |  |   exports,
 | 
						
						
						
							|  |  |   moduleExportsAssignments,
 | 
						
						
						
							|  |  |   exportsAssignmentsByName,
 | 
						
						
						
							|  |  |   moduleName,
 | 
						
						
						
							|  |  |   exportsName,
 | 
						
						
						
							|  |  |   requireName,
 | 
						
						
						
							|  |  |   defineCompiledEsmExpressions
 | 
						
						
						
							|  |  | ) {
 | 
						
						
						
							|  |  |   if (!wrapped) {
 | 
						
						
						
							|  |  |     if (exportMode === 'replace') {
 | 
						
						
						
							|  |  |       for (const { left } of moduleExportsAssignments) {
 | 
						
						
						
							|  |  |         magicString.overwrite(left.start, left.end, exportsName);
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |     } else {
 | 
						
						
						
							|  |  |       // Collect and rewrite module.exports assignments
 | 
						
						
						
							|  |  |       for (const { left } of moduleExportsAssignments) {
 | 
						
						
						
							|  |  |         magicString.overwrite(left.start, left.end, `${moduleName}.exports`);
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       // Collect and rewrite named exports
 | 
						
						
						
							|  |  |       for (const [exportName, { nodes }] of exportsAssignmentsByName) {
 | 
						
						
						
							|  |  |         for (const node of nodes) {
 | 
						
						
						
							|  |  |           magicString.overwrite(node.start, node.left.end, `${exportsName}.${exportName}`);
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       // Collect and rewrite exports.__esModule assignments
 | 
						
						
						
							|  |  |       for (const expression of defineCompiledEsmExpressions) {
 | 
						
						
						
							|  |  |         const moduleExportsExpression =
 | 
						
						
						
							|  |  |           expression.type === 'CallExpression' ? expression.arguments[0] : expression.left.object;
 | 
						
						
						
							|  |  |         magicString.overwrite(
 | 
						
						
						
							|  |  |           moduleExportsExpression.start,
 | 
						
						
						
							|  |  |           moduleExportsExpression.end,
 | 
						
						
						
							|  |  |           exportsName
 | 
						
						
						
							|  |  |         );
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   exports.push(`${requireName} as __require`);
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getExportsForReplacedModuleExports(
 | 
						
						
						
							|  |  |   magicString,
 | 
						
						
						
							|  |  |   exports,
 | 
						
						
						
							|  |  |   exportDeclarations,
 | 
						
						
						
							|  |  |   moduleExportsAssignments,
 | 
						
						
						
							|  |  |   firstTopLevelModuleExportsAssignment,
 | 
						
						
						
							|  |  |   exportsName
 | 
						
						
						
							|  |  | ) {
 | 
						
						
						
							|  |  |   for (const { left } of moduleExportsAssignments) {
 | 
						
						
						
							|  |  |     magicString.overwrite(left.start, left.end, exportsName);
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   magicString.prependRight(firstTopLevelModuleExportsAssignment.left.start, 'var ');
 | 
						
						
						
							|  |  |   exports.push(`${exportsName} as __moduleExports`);
 | 
						
						
						
							|  |  |   exportDeclarations.push(`export default ${exportsName};`);
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getExportsWhenWrapping(
 | 
						
						
						
							|  |  |   exportDeclarations,
 | 
						
						
						
							|  |  |   exportsName,
 | 
						
						
						
							|  |  |   detectWrappedDefault,
 | 
						
						
						
							|  |  |   HELPERS_NAME,
 | 
						
						
						
							|  |  |   defaultIsModuleExports
 | 
						
						
						
							|  |  | ) {
 | 
						
						
						
							|  |  |   exportDeclarations.push(
 | 
						
						
						
							|  |  |     `export default ${
 | 
						
						
						
							|  |  |       detectWrappedDefault && defaultIsModuleExports === 'auto'
 | 
						
						
						
							|  |  |         ? `/*@__PURE__*/${HELPERS_NAME}.getDefaultExportFromCjs(${exportsName})`
 | 
						
						
						
							|  |  |         : defaultIsModuleExports === false
 | 
						
						
						
							|  |  |         ? `${exportsName}.default`
 | 
						
						
						
							|  |  |         : exportsName
 | 
						
						
						
							|  |  |     };`
 | 
						
						
						
							|  |  |   );
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getExports(
 | 
						
						
						
							|  |  |   magicString,
 | 
						
						
						
							|  |  |   exports,
 | 
						
						
						
							|  |  |   exportDeclarations,
 | 
						
						
						
							|  |  |   moduleExportsAssignments,
 | 
						
						
						
							|  |  |   exportsAssignmentsByName,
 | 
						
						
						
							|  |  |   deconflictedExportNames,
 | 
						
						
						
							|  |  |   topLevelAssignments,
 | 
						
						
						
							|  |  |   moduleName,
 | 
						
						
						
							|  |  |   exportsName,
 | 
						
						
						
							|  |  |   defineCompiledEsmExpressions,
 | 
						
						
						
							|  |  |   HELPERS_NAME,
 | 
						
						
						
							|  |  |   defaultIsModuleExports
 | 
						
						
						
							|  |  | ) {
 | 
						
						
						
							|  |  |   let deconflictedDefaultExportName;
 | 
						
						
						
							|  |  |   // Collect and rewrite module.exports assignments
 | 
						
						
						
							|  |  |   for (const { left } of moduleExportsAssignments) {
 | 
						
						
						
							|  |  |     magicString.overwrite(left.start, left.end, `${moduleName}.exports`);
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   // Collect and rewrite named exports
 | 
						
						
						
							|  |  |   for (const [exportName, { nodes }] of exportsAssignmentsByName) {
 | 
						
						
						
							|  |  |     const deconflicted = deconflictedExportNames[exportName];
 | 
						
						
						
							|  |  |     let needsDeclaration = true;
 | 
						
						
						
							|  |  |     for (const node of nodes) {
 | 
						
						
						
							|  |  |       let replacement = `${deconflicted} = ${exportsName}.${exportName}`;
 | 
						
						
						
							|  |  |       if (needsDeclaration && topLevelAssignments.has(node)) {
 | 
						
						
						
							|  |  |         replacement = `var ${replacement}`;
 | 
						
						
						
							|  |  |         needsDeclaration = false;
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       magicString.overwrite(node.start, node.left.end, replacement);
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     if (needsDeclaration) {
 | 
						
						
						
							|  |  |       magicString.prepend(`var ${deconflicted};\n`);
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     if (exportName === 'default') {
 | 
						
						
						
							|  |  |       deconflictedDefaultExportName = deconflicted;
 | 
						
						
						
							|  |  |     } else {
 | 
						
						
						
							|  |  |       exports.push(exportName === deconflicted ? exportName : `${deconflicted} as ${exportName}`);
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   // Collect and rewrite exports.__esModule assignments
 | 
						
						
						
							|  |  |   let isRestorableCompiledEsm = false;
 | 
						
						
						
							|  |  |   for (const expression of defineCompiledEsmExpressions) {
 | 
						
						
						
							|  |  |     isRestorableCompiledEsm = true;
 | 
						
						
						
							|  |  |     const moduleExportsExpression =
 | 
						
						
						
							|  |  |       expression.type === 'CallExpression' ? expression.arguments[0] : expression.left.object;
 | 
						
						
						
							|  |  |     magicString.overwrite(moduleExportsExpression.start, moduleExportsExpression.end, exportsName);
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   if (!isRestorableCompiledEsm || defaultIsModuleExports === true) {
 | 
						
						
						
							|  |  |     exports.push(`${exportsName} as default`);
 | 
						
						
						
							|  |  |   } else if (moduleExportsAssignments.length === 0 || defaultIsModuleExports === false) {
 | 
						
						
						
							|  |  |     exports.push(`${deconflictedDefaultExportName || exportsName} as default`);
 | 
						
						
						
							|  |  |   } else {
 | 
						
						
						
							|  |  |     exportDeclarations.push(
 | 
						
						
						
							|  |  |       `export default /*@__PURE__*/${HELPERS_NAME}.getDefaultExportFromCjs(${exportsName});`
 | 
						
						
						
							|  |  |     );
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function isRequireExpression(node, scope) {
 | 
						
						
						
							|  |  |   if (!node) return false;
 | 
						
						
						
							|  |  |   if (node.type !== 'CallExpression') return false;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   // Weird case of `require()` or `module.require()` without arguments
 | 
						
						
						
							|  |  |   if (node.arguments.length === 0) return false;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   return isRequire(node.callee, scope);
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function isRequire(node, scope) {
 | 
						
						
						
							|  |  |   return (
 | 
						
						
						
							|  |  |     (node.type === 'Identifier' && node.name === 'require' && !scope.contains('require')) ||
 | 
						
						
						
							|  |  |     (node.type === 'MemberExpression' && isModuleRequire(node, scope))
 | 
						
						
						
							|  |  |   );
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function isModuleRequire({ object, property }, scope) {
 | 
						
						
						
							|  |  |   return (
 | 
						
						
						
							|  |  |     object.type === 'Identifier' &&
 | 
						
						
						
							|  |  |     object.name === 'module' &&
 | 
						
						
						
							|  |  |     property.type === 'Identifier' &&
 | 
						
						
						
							|  |  |     property.name === 'require' &&
 | 
						
						
						
							|  |  |     !scope.contains('module')
 | 
						
						
						
							|  |  |   );
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function hasDynamicArguments(node) {
 | 
						
						
						
							|  |  |   return (
 | 
						
						
						
							|  |  |     node.arguments.length > 1 ||
 | 
						
						
						
							|  |  |     (node.arguments[0].type !== 'Literal' &&
 | 
						
						
						
							|  |  |       (node.arguments[0].type !== 'TemplateLiteral' || node.arguments[0].expressions.length > 0))
 | 
						
						
						
							|  |  |   );
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const reservedMethod = { resolve: true, cache: true, main: true };
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function isNodeRequirePropertyAccess(parent) {
 | 
						
						
						
							|  |  |   return parent && parent.property && reservedMethod[parent.property.name];
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getRequireStringArg(node) {
 | 
						
						
						
							|  |  |   return node.arguments[0].type === 'Literal'
 | 
						
						
						
							|  |  |     ? node.arguments[0].value
 | 
						
						
						
							|  |  |     : node.arguments[0].quasis[0].value.cooked;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getRequireHandlers() {
 | 
						
						
						
							|  |  |   const requireExpressions = [];
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   function addRequireExpression(
 | 
						
						
						
							|  |  |     sourceId,
 | 
						
						
						
							|  |  |     node,
 | 
						
						
						
							|  |  |     scope,
 | 
						
						
						
							|  |  |     usesReturnValue,
 | 
						
						
						
							|  |  |     isInsideTryBlock,
 | 
						
						
						
							|  |  |     isInsideConditional,
 | 
						
						
						
							|  |  |     toBeRemoved
 | 
						
						
						
							|  |  |   ) {
 | 
						
						
						
							|  |  |     requireExpressions.push({
 | 
						
						
						
							|  |  |       sourceId,
 | 
						
						
						
							|  |  |       node,
 | 
						
						
						
							|  |  |       scope,
 | 
						
						
						
							|  |  |       usesReturnValue,
 | 
						
						
						
							|  |  |       isInsideTryBlock,
 | 
						
						
						
							|  |  |       isInsideConditional,
 | 
						
						
						
							|  |  |       toBeRemoved
 | 
						
						
						
							|  |  |     });
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   async function rewriteRequireExpressionsAndGetImportBlock(
 | 
						
						
						
							|  |  |     magicString,
 | 
						
						
						
							|  |  |     topLevelDeclarations,
 | 
						
						
						
							|  |  |     reassignedNames,
 | 
						
						
						
							|  |  |     helpersName,
 | 
						
						
						
							|  |  |     dynamicRequireName,
 | 
						
						
						
							|  |  |     moduleName,
 | 
						
						
						
							|  |  |     exportsName,
 | 
						
						
						
							|  |  |     id,
 | 
						
						
						
							|  |  |     exportMode,
 | 
						
						
						
							|  |  |     resolveRequireSourcesAndUpdateMeta,
 | 
						
						
						
							|  |  |     needsRequireWrapper,
 | 
						
						
						
							|  |  |     isEsModule,
 | 
						
						
						
							|  |  |     isDynamicRequireModulesEnabled,
 | 
						
						
						
							|  |  |     getIgnoreTryCatchRequireStatementMode,
 | 
						
						
						
							|  |  |     commonjsMeta
 | 
						
						
						
							|  |  |   ) {
 | 
						
						
						
							|  |  |     const imports = [];
 | 
						
						
						
							|  |  |     imports.push(`import * as ${helpersName} from "${HELPERS_ID}";`);
 | 
						
						
						
							|  |  |     if (dynamicRequireName) {
 | 
						
						
						
							|  |  |       imports.push(
 | 
						
						
						
							|  |  |         `import { ${
 | 
						
						
						
							|  |  |           isDynamicRequireModulesEnabled ? CREATE_COMMONJS_REQUIRE_EXPORT : COMMONJS_REQUIRE_EXPORT
 | 
						
						
						
							|  |  |         } as ${dynamicRequireName} } from "${DYNAMIC_MODULES_ID}";`
 | 
						
						
						
							|  |  |       );
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     if (exportMode === 'module') {
 | 
						
						
						
							|  |  |       imports.push(
 | 
						
						
						
							|  |  |         `import { __module as ${moduleName}, exports as ${exportsName} } from ${JSON.stringify(
 | 
						
						
						
							|  |  |           wrapId(id, MODULE_SUFFIX)
 | 
						
						
						
							|  |  |         )}`
 | 
						
						
						
							|  |  |       );
 | 
						
						
						
							|  |  |     } else if (exportMode === 'exports') {
 | 
						
						
						
							|  |  |       imports.push(
 | 
						
						
						
							|  |  |         `import { __exports as ${exportsName} } from ${JSON.stringify(wrapId(id, EXPORTS_SUFFIX))}`
 | 
						
						
						
							|  |  |       );
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     const requiresBySource = collectSources(requireExpressions);
 | 
						
						
						
							|  |  |     const requireTargets = await resolveRequireSourcesAndUpdateMeta(
 | 
						
						
						
							|  |  |       id,
 | 
						
						
						
							|  |  |       needsRequireWrapper ? IS_WRAPPED_COMMONJS : !isEsModule,
 | 
						
						
						
							|  |  |       commonjsMeta,
 | 
						
						
						
							|  |  |       Object.keys(requiresBySource).map((source) => {
 | 
						
						
						
							|  |  |         return {
 | 
						
						
						
							|  |  |           source,
 | 
						
						
						
							|  |  |           isConditional: requiresBySource[source].every((require) => require.isInsideConditional)
 | 
						
						
						
							|  |  |         };
 | 
						
						
						
							|  |  |       })
 | 
						
						
						
							|  |  |     );
 | 
						
						
						
							|  |  |     processRequireExpressions(
 | 
						
						
						
							|  |  |       imports,
 | 
						
						
						
							|  |  |       requireTargets,
 | 
						
						
						
							|  |  |       requiresBySource,
 | 
						
						
						
							|  |  |       getIgnoreTryCatchRequireStatementMode,
 | 
						
						
						
							|  |  |       magicString
 | 
						
						
						
							|  |  |     );
 | 
						
						
						
							|  |  |     return imports.length ? `${imports.join('\n')}\n\n` : '';
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   return {
 | 
						
						
						
							|  |  |     addRequireExpression,
 | 
						
						
						
							|  |  |     rewriteRequireExpressionsAndGetImportBlock
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function collectSources(requireExpressions) {
 | 
						
						
						
							|  |  |   const requiresBySource = Object.create(null);
 | 
						
						
						
							|  |  |   for (const requireExpression of requireExpressions) {
 | 
						
						
						
							|  |  |     const { sourceId } = requireExpression;
 | 
						
						
						
							|  |  |     if (!requiresBySource[sourceId]) {
 | 
						
						
						
							|  |  |       requiresBySource[sourceId] = [];
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     const requires = requiresBySource[sourceId];
 | 
						
						
						
							|  |  |     requires.push(requireExpression);
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   return requiresBySource;
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function processRequireExpressions(
 | 
						
						
						
							|  |  |   imports,
 | 
						
						
						
							|  |  |   requireTargets,
 | 
						
						
						
							|  |  |   requiresBySource,
 | 
						
						
						
							|  |  |   getIgnoreTryCatchRequireStatementMode,
 | 
						
						
						
							|  |  |   magicString
 | 
						
						
						
							|  |  | ) {
 | 
						
						
						
							|  |  |   const generateRequireName = getGenerateRequireName();
 | 
						
						
						
							|  |  |   for (const { source, id: resolvedId, isCommonJS } of requireTargets) {
 | 
						
						
						
							|  |  |     const requires = requiresBySource[source];
 | 
						
						
						
							|  |  |     const name = generateRequireName(requires);
 | 
						
						
						
							|  |  |     let usesRequired = false;
 | 
						
						
						
							|  |  |     let needsImport = false;
 | 
						
						
						
							|  |  |     for (const { node, usesReturnValue, toBeRemoved, isInsideTryBlock } of requires) {
 | 
						
						
						
							|  |  |       const { canConvertRequire, shouldRemoveRequire } =
 | 
						
						
						
							|  |  |         isInsideTryBlock && isWrappedId(resolvedId, EXTERNAL_SUFFIX)
 | 
						
						
						
							|  |  |           ? getIgnoreTryCatchRequireStatementMode(source)
 | 
						
						
						
							|  |  |           : { canConvertRequire: true, shouldRemoveRequire: false };
 | 
						
						
						
							|  |  |       if (shouldRemoveRequire) {
 | 
						
						
						
							|  |  |         if (usesReturnValue) {
 | 
						
						
						
							|  |  |           magicString.overwrite(node.start, node.end, 'undefined');
 | 
						
						
						
							|  |  |         } else {
 | 
						
						
						
							|  |  |           magicString.remove(toBeRemoved.start, toBeRemoved.end);
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |       } else if (canConvertRequire) {
 | 
						
						
						
							|  |  |         needsImport = true;
 | 
						
						
						
							|  |  |         if (isCommonJS === IS_WRAPPED_COMMONJS) {
 | 
						
						
						
							|  |  |           magicString.overwrite(node.start, node.end, `${name}()`);
 | 
						
						
						
							|  |  |         } else if (usesReturnValue) {
 | 
						
						
						
							|  |  |           usesRequired = true;
 | 
						
						
						
							|  |  |           magicString.overwrite(node.start, node.end, name);
 | 
						
						
						
							|  |  |         } else {
 | 
						
						
						
							|  |  |           magicString.remove(toBeRemoved.start, toBeRemoved.end);
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     if (needsImport) {
 | 
						
						
						
							|  |  |       if (isCommonJS === IS_WRAPPED_COMMONJS) {
 | 
						
						
						
							|  |  |         imports.push(`import { __require as ${name} } from ${JSON.stringify(resolvedId)};`);
 | 
						
						
						
							|  |  |       } else {
 | 
						
						
						
							|  |  |         imports.push(`import ${usesRequired ? `${name} from ` : ''}${JSON.stringify(resolvedId)};`);
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function getGenerateRequireName() {
 | 
						
						
						
							|  |  |   let uid = 0;
 | 
						
						
						
							|  |  |   return (requires) => {
 | 
						
						
						
							|  |  |     let name;
 | 
						
						
						
							|  |  |     const hasNameConflict = ({ scope }) => scope.contains(name);
 | 
						
						
						
							|  |  |     do {
 | 
						
						
						
							|  |  |       name = `require$$${uid}`;
 | 
						
						
						
							|  |  |       uid += 1;
 | 
						
						
						
							|  |  |     } while (requires.some(hasNameConflict));
 | 
						
						
						
							|  |  |     return name;
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | /* eslint-disable no-param-reassign, no-shadow, no-underscore-dangle, no-continue */
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const exportsPattern = /^(?:module\.)?exports(?:\.([a-zA-Z_$][a-zA-Z_$0-9]*))?$/;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const functionType = /^(?:FunctionDeclaration|FunctionExpression|ArrowFunctionExpression)$/;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | async function transformCommonjs(
 | 
						
						
						
							|  |  |   parse,
 | 
						
						
						
							|  |  |   code,
 | 
						
						
						
							|  |  |   id,
 | 
						
						
						
							|  |  |   isEsModule,
 | 
						
						
						
							|  |  |   ignoreGlobal,
 | 
						
						
						
							|  |  |   ignoreRequire,
 | 
						
						
						
							|  |  |   ignoreDynamicRequires,
 | 
						
						
						
							|  |  |   getIgnoreTryCatchRequireStatementMode,
 | 
						
						
						
							|  |  |   sourceMap,
 | 
						
						
						
							|  |  |   isDynamicRequireModulesEnabled,
 | 
						
						
						
							|  |  |   dynamicRequireModules,
 | 
						
						
						
							|  |  |   commonDir,
 | 
						
						
						
							|  |  |   astCache,
 | 
						
						
						
							|  |  |   defaultIsModuleExports,
 | 
						
						
						
							|  |  |   needsRequireWrapper,
 | 
						
						
						
							|  |  |   resolveRequireSourcesAndUpdateMeta,
 | 
						
						
						
							|  |  |   isRequired,
 | 
						
						
						
							|  |  |   checkDynamicRequire,
 | 
						
						
						
							|  |  |   commonjsMeta
 | 
						
						
						
							|  |  | ) {
 | 
						
						
						
							|  |  |   const ast = astCache || tryParse(parse, code, id);
 | 
						
						
						
							|  |  |   const magicString = new MagicString__default["default"](code);
 | 
						
						
						
							|  |  |   const uses = {
 | 
						
						
						
							|  |  |     module: false,
 | 
						
						
						
							|  |  |     exports: false,
 | 
						
						
						
							|  |  |     global: false,
 | 
						
						
						
							|  |  |     require: false
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  |   const virtualDynamicRequirePath =
 | 
						
						
						
							|  |  |     isDynamicRequireModulesEnabled && getVirtualPathForDynamicRequirePath(path.dirname(id), commonDir);
 | 
						
						
						
							|  |  |   let scope = pluginutils.attachScopes(ast, 'scope');
 | 
						
						
						
							|  |  |   let lexicalDepth = 0;
 | 
						
						
						
							|  |  |   let programDepth = 0;
 | 
						
						
						
							|  |  |   let currentTryBlockEnd = null;
 | 
						
						
						
							|  |  |   let shouldWrap = false;
 | 
						
						
						
							|  |  |   let reexports = false;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const globals = new Set();
 | 
						
						
						
							|  |  |   // A conditionalNode is a node for which execution is not guaranteed. If such a node is a require
 | 
						
						
						
							|  |  |   // or contains nested requires, those should be handled as function calls unless there is an
 | 
						
						
						
							|  |  |   // unconditional require elsewhere.
 | 
						
						
						
							|  |  |   let currentConditionalNodeEnd = null;
 | 
						
						
						
							|  |  |   const conditionalNodes = new Set();
 | 
						
						
						
							|  |  |   const { addRequireExpression, rewriteRequireExpressionsAndGetImportBlock } = getRequireHandlers();
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   // See which names are assigned to. This is necessary to prevent
 | 
						
						
						
							|  |  |   // illegally replacing `var foo = require('foo')` with `import foo from 'foo'`,
 | 
						
						
						
							|  |  |   // where `foo` is later reassigned. (This happens in the wild. CommonJS, sigh)
 | 
						
						
						
							|  |  |   const reassignedNames = new Set();
 | 
						
						
						
							|  |  |   const topLevelDeclarations = [];
 | 
						
						
						
							|  |  |   const skippedNodes = new Set();
 | 
						
						
						
							|  |  |   const moduleAccessScopes = new Set([scope]);
 | 
						
						
						
							|  |  |   const exportsAccessScopes = new Set([scope]);
 | 
						
						
						
							|  |  |   const moduleExportsAssignments = [];
 | 
						
						
						
							|  |  |   let firstTopLevelModuleExportsAssignment = null;
 | 
						
						
						
							|  |  |   const exportsAssignmentsByName = new Map();
 | 
						
						
						
							|  |  |   const topLevelAssignments = new Set();
 | 
						
						
						
							|  |  |   const topLevelDefineCompiledEsmExpressions = [];
 | 
						
						
						
							|  |  |   const replacedGlobal = [];
 | 
						
						
						
							|  |  |   const replacedDynamicRequires = [];
 | 
						
						
						
							|  |  |   const importedVariables = new Set();
 | 
						
						
						
							|  |  |   const indentExclusionRanges = [];
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   estreeWalker.walk(ast, {
 | 
						
						
						
							|  |  |     enter(node, parent) {
 | 
						
						
						
							|  |  |       if (skippedNodes.has(node)) {
 | 
						
						
						
							|  |  |         this.skip();
 | 
						
						
						
							|  |  |         return;
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       if (currentTryBlockEnd !== null && node.start > currentTryBlockEnd) {
 | 
						
						
						
							|  |  |         currentTryBlockEnd = null;
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       if (currentConditionalNodeEnd !== null && node.start > currentConditionalNodeEnd) {
 | 
						
						
						
							|  |  |         currentConditionalNodeEnd = null;
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       if (currentConditionalNodeEnd === null && conditionalNodes.has(node)) {
 | 
						
						
						
							|  |  |         currentConditionalNodeEnd = node.end;
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       programDepth += 1;
 | 
						
						
						
							|  |  |       if (node.scope) ({ scope } = node);
 | 
						
						
						
							|  |  |       if (functionType.test(node.type)) lexicalDepth += 1;
 | 
						
						
						
							|  |  |       if (sourceMap) {
 | 
						
						
						
							|  |  |         magicString.addSourcemapLocation(node.start);
 | 
						
						
						
							|  |  |         magicString.addSourcemapLocation(node.end);
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       // eslint-disable-next-line default-case
 | 
						
						
						
							|  |  |       switch (node.type) {
 | 
						
						
						
							|  |  |         case 'AssignmentExpression':
 | 
						
						
						
							|  |  |           if (node.left.type === 'MemberExpression') {
 | 
						
						
						
							|  |  |             const flattened = getKeypath(node.left);
 | 
						
						
						
							|  |  |             if (!flattened || scope.contains(flattened.name)) return;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |             const exportsPatternMatch = exportsPattern.exec(flattened.keypath);
 | 
						
						
						
							|  |  |             if (!exportsPatternMatch || flattened.keypath === 'exports') return;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |             const [, exportName] = exportsPatternMatch;
 | 
						
						
						
							|  |  |             uses[flattened.name] = true;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |             // we're dealing with `module.exports = ...` or `[module.]exports.foo = ...` –
 | 
						
						
						
							|  |  |             if (flattened.keypath === 'module.exports') {
 | 
						
						
						
							|  |  |               moduleExportsAssignments.push(node);
 | 
						
						
						
							|  |  |               if (programDepth > 3) {
 | 
						
						
						
							|  |  |                 moduleAccessScopes.add(scope);
 | 
						
						
						
							|  |  |               } else if (!firstTopLevelModuleExportsAssignment) {
 | 
						
						
						
							|  |  |                 firstTopLevelModuleExportsAssignment = node;
 | 
						
						
						
							|  |  |               }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |               if (defaultIsModuleExports === false) {
 | 
						
						
						
							|  |  |                 shouldWrap = true;
 | 
						
						
						
							|  |  |               } else if (defaultIsModuleExports === 'auto') {
 | 
						
						
						
							|  |  |                 if (node.right.type === 'ObjectExpression') {
 | 
						
						
						
							|  |  |                   if (hasDefineEsmProperty(node.right)) {
 | 
						
						
						
							|  |  |                     shouldWrap = true;
 | 
						
						
						
							|  |  |                   }
 | 
						
						
						
							|  |  |                 } else if (isRequireExpression(node.right, scope)) {
 | 
						
						
						
							|  |  |                   shouldWrap = true;
 | 
						
						
						
							|  |  |                   reexports = true;
 | 
						
						
						
							|  |  |                 }
 | 
						
						
						
							|  |  |               }
 | 
						
						
						
							|  |  |             } else if (exportName === KEY_COMPILED_ESM) {
 | 
						
						
						
							|  |  |               if (programDepth > 3) {
 | 
						
						
						
							|  |  |                 shouldWrap = true;
 | 
						
						
						
							|  |  |               } else {
 | 
						
						
						
							|  |  |                 topLevelDefineCompiledEsmExpressions.push(node);
 | 
						
						
						
							|  |  |               }
 | 
						
						
						
							|  |  |             } else {
 | 
						
						
						
							|  |  |               const exportsAssignments = exportsAssignmentsByName.get(exportName) || {
 | 
						
						
						
							|  |  |                 nodes: [],
 | 
						
						
						
							|  |  |                 scopes: new Set()
 | 
						
						
						
							|  |  |               };
 | 
						
						
						
							|  |  |               exportsAssignments.nodes.push(node);
 | 
						
						
						
							|  |  |               exportsAssignments.scopes.add(scope);
 | 
						
						
						
							|  |  |               exportsAccessScopes.add(scope);
 | 
						
						
						
							|  |  |               exportsAssignmentsByName.set(exportName, exportsAssignments);
 | 
						
						
						
							|  |  |               if (programDepth <= 3) {
 | 
						
						
						
							|  |  |                 topLevelAssignments.add(node);
 | 
						
						
						
							|  |  |               }
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |             skippedNodes.add(node.left);
 | 
						
						
						
							|  |  |           } else {
 | 
						
						
						
							|  |  |             for (const name of pluginutils.extractAssignedNames(node.left)) {
 | 
						
						
						
							|  |  |               reassignedNames.add(name);
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           return;
 | 
						
						
						
							|  |  |         case 'CallExpression': {
 | 
						
						
						
							|  |  |           if (isDefineCompiledEsm(node)) {
 | 
						
						
						
							|  |  |             if (programDepth === 3 && parent.type === 'ExpressionStatement') {
 | 
						
						
						
							|  |  |               // skip special handling for [module.]exports until we know we render this
 | 
						
						
						
							|  |  |               skippedNodes.add(node.arguments[0]);
 | 
						
						
						
							|  |  |               topLevelDefineCompiledEsmExpressions.push(node);
 | 
						
						
						
							|  |  |             } else {
 | 
						
						
						
							|  |  |               shouldWrap = true;
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  |             return;
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |           // Transform require.resolve
 | 
						
						
						
							|  |  |           if (
 | 
						
						
						
							|  |  |             isDynamicRequireModulesEnabled &&
 | 
						
						
						
							|  |  |             node.callee.object &&
 | 
						
						
						
							|  |  |             isRequire(node.callee.object, scope) &&
 | 
						
						
						
							|  |  |             node.callee.property.name === 'resolve'
 | 
						
						
						
							|  |  |           ) {
 | 
						
						
						
							|  |  |             checkDynamicRequire(node.start);
 | 
						
						
						
							|  |  |             uses.require = true;
 | 
						
						
						
							|  |  |             const requireNode = node.callee.object;
 | 
						
						
						
							|  |  |             replacedDynamicRequires.push(requireNode);
 | 
						
						
						
							|  |  |             return;
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |           if (!isRequireExpression(node, scope)) {
 | 
						
						
						
							|  |  |             const keypath = getKeypath(node.callee);
 | 
						
						
						
							|  |  |             if (keypath && importedVariables.has(keypath.name)) {
 | 
						
						
						
							|  |  |               // Heuristic to deoptimize requires after a required function has been called
 | 
						
						
						
							|  |  |               currentConditionalNodeEnd = Infinity;
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  |             return;
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |           skippedNodes.add(node.callee);
 | 
						
						
						
							|  |  |           uses.require = true;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |           if (hasDynamicArguments(node)) {
 | 
						
						
						
							|  |  |             if (isDynamicRequireModulesEnabled) {
 | 
						
						
						
							|  |  |               checkDynamicRequire(node.start);
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  |             if (!ignoreDynamicRequires) {
 | 
						
						
						
							|  |  |               replacedDynamicRequires.push(node.callee);
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  |             return;
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |           const requireStringArg = getRequireStringArg(node);
 | 
						
						
						
							|  |  |           if (!ignoreRequire(requireStringArg)) {
 | 
						
						
						
							|  |  |             const usesReturnValue = parent.type !== 'ExpressionStatement';
 | 
						
						
						
							|  |  |             const toBeRemoved =
 | 
						
						
						
							|  |  |               parent.type === 'ExpressionStatement' &&
 | 
						
						
						
							|  |  |               (!currentConditionalNodeEnd ||
 | 
						
						
						
							|  |  |                 // We should completely remove requires directly in a try-catch
 | 
						
						
						
							|  |  |                 // so that Rollup can remove up the try-catch
 | 
						
						
						
							|  |  |                 (currentTryBlockEnd !== null && currentTryBlockEnd < currentConditionalNodeEnd))
 | 
						
						
						
							|  |  |                 ? parent
 | 
						
						
						
							|  |  |                 : node;
 | 
						
						
						
							|  |  |             addRequireExpression(
 | 
						
						
						
							|  |  |               requireStringArg,
 | 
						
						
						
							|  |  |               node,
 | 
						
						
						
							|  |  |               scope,
 | 
						
						
						
							|  |  |               usesReturnValue,
 | 
						
						
						
							|  |  |               currentTryBlockEnd !== null,
 | 
						
						
						
							|  |  |               currentConditionalNodeEnd !== null,
 | 
						
						
						
							|  |  |               toBeRemoved
 | 
						
						
						
							|  |  |             );
 | 
						
						
						
							|  |  |             if (parent.type === 'VariableDeclarator' && parent.id.type === 'Identifier') {
 | 
						
						
						
							|  |  |               for (const name of pluginutils.extractAssignedNames(parent.id)) {
 | 
						
						
						
							|  |  |                 importedVariables.add(name);
 | 
						
						
						
							|  |  |               }
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           return;
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |         case 'ConditionalExpression':
 | 
						
						
						
							|  |  |         case 'IfStatement':
 | 
						
						
						
							|  |  |           // skip dead branches
 | 
						
						
						
							|  |  |           if (isFalsy(node.test)) {
 | 
						
						
						
							|  |  |             skippedNodes.add(node.consequent);
 | 
						
						
						
							|  |  |           } else if (isTruthy(node.test)) {
 | 
						
						
						
							|  |  |             if (node.alternate) {
 | 
						
						
						
							|  |  |               skippedNodes.add(node.alternate);
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  |           } else {
 | 
						
						
						
							|  |  |             conditionalNodes.add(node.consequent);
 | 
						
						
						
							|  |  |             if (node.alternate) {
 | 
						
						
						
							|  |  |               conditionalNodes.add(node.alternate);
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           return;
 | 
						
						
						
							|  |  |         case 'ArrowFunctionExpression':
 | 
						
						
						
							|  |  |         case 'FunctionDeclaration':
 | 
						
						
						
							|  |  |         case 'FunctionExpression':
 | 
						
						
						
							|  |  |           // requires in functions should be conditional unless it is an IIFE
 | 
						
						
						
							|  |  |           if (
 | 
						
						
						
							|  |  |             currentConditionalNodeEnd === null &&
 | 
						
						
						
							|  |  |             !(parent.type === 'CallExpression' && parent.callee === node)
 | 
						
						
						
							|  |  |           ) {
 | 
						
						
						
							|  |  |             currentConditionalNodeEnd = node.end;
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           return;
 | 
						
						
						
							|  |  |         case 'Identifier': {
 | 
						
						
						
							|  |  |           const { name } = node;
 | 
						
						
						
							|  |  |           if (!isReference__default["default"](node, parent) || scope.contains(name)) return;
 | 
						
						
						
							|  |  |           switch (name) {
 | 
						
						
						
							|  |  |             case 'require':
 | 
						
						
						
							|  |  |               uses.require = true;
 | 
						
						
						
							|  |  |               if (isNodeRequirePropertyAccess(parent)) {
 | 
						
						
						
							|  |  |                 return;
 | 
						
						
						
							|  |  |               }
 | 
						
						
						
							|  |  |               if (!ignoreDynamicRequires) {
 | 
						
						
						
							|  |  |                 if (isShorthandProperty(parent)) {
 | 
						
						
						
							|  |  |                   magicString.prependRight(node.start, 'require: ');
 | 
						
						
						
							|  |  |                 }
 | 
						
						
						
							|  |  |                 replacedDynamicRequires.push(node);
 | 
						
						
						
							|  |  |               }
 | 
						
						
						
							|  |  |               return;
 | 
						
						
						
							|  |  |             case 'module':
 | 
						
						
						
							|  |  |             case 'exports':
 | 
						
						
						
							|  |  |               shouldWrap = true;
 | 
						
						
						
							|  |  |               uses[name] = true;
 | 
						
						
						
							|  |  |               return;
 | 
						
						
						
							|  |  |             case 'global':
 | 
						
						
						
							|  |  |               uses.global = true;
 | 
						
						
						
							|  |  |               if (!ignoreGlobal) {
 | 
						
						
						
							|  |  |                 replacedGlobal.push(node);
 | 
						
						
						
							|  |  |               }
 | 
						
						
						
							|  |  |               return;
 | 
						
						
						
							|  |  |             case 'define':
 | 
						
						
						
							|  |  |               magicString.overwrite(node.start, node.end, 'undefined', {
 | 
						
						
						
							|  |  |                 storeName: true
 | 
						
						
						
							|  |  |               });
 | 
						
						
						
							|  |  |               return;
 | 
						
						
						
							|  |  |             default:
 | 
						
						
						
							|  |  |               globals.add(name);
 | 
						
						
						
							|  |  |               return;
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |         case 'LogicalExpression':
 | 
						
						
						
							|  |  |           // skip dead branches
 | 
						
						
						
							|  |  |           if (node.operator === '&&') {
 | 
						
						
						
							|  |  |             if (isFalsy(node.left)) {
 | 
						
						
						
							|  |  |               skippedNodes.add(node.right);
 | 
						
						
						
							|  |  |             } else if (!isTruthy(node.left)) {
 | 
						
						
						
							|  |  |               conditionalNodes.add(node.right);
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  |           } else if (node.operator === '||') {
 | 
						
						
						
							|  |  |             if (isTruthy(node.left)) {
 | 
						
						
						
							|  |  |               skippedNodes.add(node.right);
 | 
						
						
						
							|  |  |             } else if (!isFalsy(node.left)) {
 | 
						
						
						
							|  |  |               conditionalNodes.add(node.right);
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           return;
 | 
						
						
						
							|  |  |         case 'MemberExpression':
 | 
						
						
						
							|  |  |           if (!isDynamicRequireModulesEnabled && isModuleRequire(node, scope)) {
 | 
						
						
						
							|  |  |             uses.require = true;
 | 
						
						
						
							|  |  |             replacedDynamicRequires.push(node);
 | 
						
						
						
							|  |  |             skippedNodes.add(node.object);
 | 
						
						
						
							|  |  |             skippedNodes.add(node.property);
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           return;
 | 
						
						
						
							|  |  |         case 'ReturnStatement':
 | 
						
						
						
							|  |  |           // if top-level return, we need to wrap it
 | 
						
						
						
							|  |  |           if (lexicalDepth === 0) {
 | 
						
						
						
							|  |  |             shouldWrap = true;
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           return;
 | 
						
						
						
							|  |  |         case 'ThisExpression':
 | 
						
						
						
							|  |  |           // rewrite top-level `this` as `commonjsHelpers.commonjsGlobal`
 | 
						
						
						
							|  |  |           if (lexicalDepth === 0) {
 | 
						
						
						
							|  |  |             uses.global = true;
 | 
						
						
						
							|  |  |             if (!ignoreGlobal) {
 | 
						
						
						
							|  |  |               replacedGlobal.push(node);
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           return;
 | 
						
						
						
							|  |  |         case 'TryStatement':
 | 
						
						
						
							|  |  |           if (currentTryBlockEnd === null) {
 | 
						
						
						
							|  |  |             currentTryBlockEnd = node.block.end;
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           if (currentConditionalNodeEnd === null) {
 | 
						
						
						
							|  |  |             currentConditionalNodeEnd = node.end;
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           return;
 | 
						
						
						
							|  |  |         case 'UnaryExpression':
 | 
						
						
						
							|  |  |           // rewrite `typeof module`, `typeof module.exports` and `typeof exports` (https://github.com/rollup/rollup-plugin-commonjs/issues/151)
 | 
						
						
						
							|  |  |           if (node.operator === 'typeof') {
 | 
						
						
						
							|  |  |             const flattened = getKeypath(node.argument);
 | 
						
						
						
							|  |  |             if (!flattened) return;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |             if (scope.contains(flattened.name)) return;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |             if (
 | 
						
						
						
							|  |  |               !isEsModule &&
 | 
						
						
						
							|  |  |               (flattened.keypath === 'module.exports' ||
 | 
						
						
						
							|  |  |                 flattened.keypath === 'module' ||
 | 
						
						
						
							|  |  |                 flattened.keypath === 'exports')
 | 
						
						
						
							|  |  |             ) {
 | 
						
						
						
							|  |  |               magicString.overwrite(node.start, node.end, `'object'`, {
 | 
						
						
						
							|  |  |                 storeName: false
 | 
						
						
						
							|  |  |               });
 | 
						
						
						
							|  |  |             }
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           return;
 | 
						
						
						
							|  |  |         case 'VariableDeclaration':
 | 
						
						
						
							|  |  |           if (!scope.parent) {
 | 
						
						
						
							|  |  |             topLevelDeclarations.push(node);
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |           return;
 | 
						
						
						
							|  |  |         case 'TemplateElement':
 | 
						
						
						
							|  |  |           if (node.value.raw.includes('\n')) {
 | 
						
						
						
							|  |  |             indentExclusionRanges.push([node.start, node.end]);
 | 
						
						
						
							|  |  |           }
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |     },
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     leave(node) {
 | 
						
						
						
							|  |  |       programDepth -= 1;
 | 
						
						
						
							|  |  |       if (node.scope) scope = scope.parent;
 | 
						
						
						
							|  |  |       if (functionType.test(node.type)) lexicalDepth -= 1;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   });
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const nameBase = getName(id);
 | 
						
						
						
							|  |  |   const exportsName = deconflict([...exportsAccessScopes], globals, nameBase);
 | 
						
						
						
							|  |  |   const moduleName = deconflict([...moduleAccessScopes], globals, `${nameBase}Module`);
 | 
						
						
						
							|  |  |   const requireName = deconflict([scope], globals, `require${capitalize(nameBase)}`);
 | 
						
						
						
							|  |  |   const isRequiredName = deconflict([scope], globals, `hasRequired${capitalize(nameBase)}`);
 | 
						
						
						
							|  |  |   const helpersName = deconflict([scope], globals, 'commonjsHelpers');
 | 
						
						
						
							|  |  |   const dynamicRequireName =
 | 
						
						
						
							|  |  |     replacedDynamicRequires.length > 0 &&
 | 
						
						
						
							|  |  |     deconflict(
 | 
						
						
						
							|  |  |       [scope],
 | 
						
						
						
							|  |  |       globals,
 | 
						
						
						
							|  |  |       isDynamicRequireModulesEnabled ? CREATE_COMMONJS_REQUIRE_EXPORT : COMMONJS_REQUIRE_EXPORT
 | 
						
						
						
							|  |  |     );
 | 
						
						
						
							|  |  |   const deconflictedExportNames = Object.create(null);
 | 
						
						
						
							|  |  |   for (const [exportName, { scopes }] of exportsAssignmentsByName) {
 | 
						
						
						
							|  |  |     deconflictedExportNames[exportName] = deconflict([...scopes], globals, exportName);
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   for (const node of replacedGlobal) {
 | 
						
						
						
							|  |  |     magicString.overwrite(node.start, node.end, `${helpersName}.commonjsGlobal`, {
 | 
						
						
						
							|  |  |       storeName: true
 | 
						
						
						
							|  |  |     });
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   for (const node of replacedDynamicRequires) {
 | 
						
						
						
							|  |  |     magicString.overwrite(
 | 
						
						
						
							|  |  |       node.start,
 | 
						
						
						
							|  |  |       node.end,
 | 
						
						
						
							|  |  |       isDynamicRequireModulesEnabled
 | 
						
						
						
							|  |  |         ? `${dynamicRequireName}(${JSON.stringify(virtualDynamicRequirePath)})`
 | 
						
						
						
							|  |  |         : dynamicRequireName,
 | 
						
						
						
							|  |  |       {
 | 
						
						
						
							|  |  |         contentOnly: true,
 | 
						
						
						
							|  |  |         storeName: true
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |     );
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   // We cannot wrap ES/mixed modules
 | 
						
						
						
							|  |  |   shouldWrap = !isEsModule && (shouldWrap || (uses.exports && moduleExportsAssignments.length > 0));
 | 
						
						
						
							|  |  |   const detectWrappedDefault =
 | 
						
						
						
							|  |  |     shouldWrap &&
 | 
						
						
						
							|  |  |     (reexports ||
 | 
						
						
						
							|  |  |       topLevelDefineCompiledEsmExpressions.length > 0 ||
 | 
						
						
						
							|  |  |       code.indexOf('__esModule') >= 0);
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   if (
 | 
						
						
						
							|  |  |     !(
 | 
						
						
						
							|  |  |       shouldWrap ||
 | 
						
						
						
							|  |  |       isRequired ||
 | 
						
						
						
							|  |  |       needsRequireWrapper ||
 | 
						
						
						
							|  |  |       uses.module ||
 | 
						
						
						
							|  |  |       uses.exports ||
 | 
						
						
						
							|  |  |       uses.require ||
 | 
						
						
						
							|  |  |       topLevelDefineCompiledEsmExpressions.length > 0
 | 
						
						
						
							|  |  |     ) &&
 | 
						
						
						
							|  |  |     (ignoreGlobal || !uses.global)
 | 
						
						
						
							|  |  |   ) {
 | 
						
						
						
							|  |  |     return { meta: { commonjs: { isCommonJS: false } } };
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   let leadingComment = '';
 | 
						
						
						
							|  |  |   if (code.startsWith('/*')) {
 | 
						
						
						
							|  |  |     const commentEnd = code.indexOf('*/', 2) + 2;
 | 
						
						
						
							|  |  |     leadingComment = `${code.slice(0, commentEnd)}\n`;
 | 
						
						
						
							|  |  |     magicString.remove(0, commentEnd).trim();
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const exportMode = isEsModule
 | 
						
						
						
							|  |  |     ? 'none'
 | 
						
						
						
							|  |  |     : shouldWrap
 | 
						
						
						
							|  |  |     ? uses.module
 | 
						
						
						
							|  |  |       ? 'module'
 | 
						
						
						
							|  |  |       : 'exports'
 | 
						
						
						
							|  |  |     : firstTopLevelModuleExportsAssignment
 | 
						
						
						
							|  |  |     ? exportsAssignmentsByName.size === 0 && topLevelDefineCompiledEsmExpressions.length === 0
 | 
						
						
						
							|  |  |       ? 'replace'
 | 
						
						
						
							|  |  |       : 'module'
 | 
						
						
						
							|  |  |     : moduleExportsAssignments.length === 0
 | 
						
						
						
							|  |  |     ? 'exports'
 | 
						
						
						
							|  |  |     : 'module';
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const importBlock = await rewriteRequireExpressionsAndGetImportBlock(
 | 
						
						
						
							|  |  |     magicString,
 | 
						
						
						
							|  |  |     topLevelDeclarations,
 | 
						
						
						
							|  |  |     reassignedNames,
 | 
						
						
						
							|  |  |     helpersName,
 | 
						
						
						
							|  |  |     dynamicRequireName,
 | 
						
						
						
							|  |  |     moduleName,
 | 
						
						
						
							|  |  |     exportsName,
 | 
						
						
						
							|  |  |     id,
 | 
						
						
						
							|  |  |     exportMode,
 | 
						
						
						
							|  |  |     resolveRequireSourcesAndUpdateMeta,
 | 
						
						
						
							|  |  |     needsRequireWrapper,
 | 
						
						
						
							|  |  |     isEsModule,
 | 
						
						
						
							|  |  |     isDynamicRequireModulesEnabled,
 | 
						
						
						
							|  |  |     getIgnoreTryCatchRequireStatementMode,
 | 
						
						
						
							|  |  |     commonjsMeta
 | 
						
						
						
							|  |  |   );
 | 
						
						
						
							|  |  |   const usesRequireWrapper = commonjsMeta.isCommonJS === IS_WRAPPED_COMMONJS;
 | 
						
						
						
							|  |  |   const exportBlock = isEsModule
 | 
						
						
						
							|  |  |     ? ''
 | 
						
						
						
							|  |  |     : rewriteExportsAndGetExportsBlock(
 | 
						
						
						
							|  |  |         magicString,
 | 
						
						
						
							|  |  |         moduleName,
 | 
						
						
						
							|  |  |         exportsName,
 | 
						
						
						
							|  |  |         shouldWrap,
 | 
						
						
						
							|  |  |         moduleExportsAssignments,
 | 
						
						
						
							|  |  |         firstTopLevelModuleExportsAssignment,
 | 
						
						
						
							|  |  |         exportsAssignmentsByName,
 | 
						
						
						
							|  |  |         topLevelAssignments,
 | 
						
						
						
							|  |  |         topLevelDefineCompiledEsmExpressions,
 | 
						
						
						
							|  |  |         deconflictedExportNames,
 | 
						
						
						
							|  |  |         code,
 | 
						
						
						
							|  |  |         helpersName,
 | 
						
						
						
							|  |  |         exportMode,
 | 
						
						
						
							|  |  |         detectWrappedDefault,
 | 
						
						
						
							|  |  |         defaultIsModuleExports,
 | 
						
						
						
							|  |  |         usesRequireWrapper,
 | 
						
						
						
							|  |  |         requireName
 | 
						
						
						
							|  |  |       );
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   if (shouldWrap) {
 | 
						
						
						
							|  |  |     wrapCode(magicString, uses, moduleName, exportsName, indentExclusionRanges);
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   if (usesRequireWrapper) {
 | 
						
						
						
							|  |  |     magicString.trim().indent('\t', {
 | 
						
						
						
							|  |  |       exclude: indentExclusionRanges
 | 
						
						
						
							|  |  |     });
 | 
						
						
						
							|  |  |     magicString.prepend(
 | 
						
						
						
							|  |  |       `var ${isRequiredName};
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function ${requireName} () {
 | 
						
						
						
							|  |  | \tif (${isRequiredName}) return ${exportsName};
 | 
						
						
						
							|  |  | \t${isRequiredName} = 1;
 | 
						
						
						
							|  |  | `
 | 
						
						
						
							|  |  |     ).append(`
 | 
						
						
						
							|  |  | \treturn ${exportsName};
 | 
						
						
						
							|  |  | }`);
 | 
						
						
						
							|  |  |     if (exportMode === 'replace') {
 | 
						
						
						
							|  |  |       magicString.prepend(`var ${exportsName};\n`);
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   magicString
 | 
						
						
						
							|  |  |     .trim()
 | 
						
						
						
							|  |  |     .prepend(leadingComment + importBlock)
 | 
						
						
						
							|  |  |     .append(exportBlock);
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   return {
 | 
						
						
						
							|  |  |     code: magicString.toString(),
 | 
						
						
						
							|  |  |     map: sourceMap ? magicString.generateMap() : null,
 | 
						
						
						
							|  |  |     syntheticNamedExports: isEsModule || usesRequireWrapper ? false : '__moduleExports',
 | 
						
						
						
							|  |  |     meta: { commonjs: commonjsMeta }
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | const PLUGIN_NAME = 'commonjs';
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | function commonjs(options = {}) {
 | 
						
						
						
							|  |  |   const {
 | 
						
						
						
							|  |  |     ignoreGlobal,
 | 
						
						
						
							|  |  |     ignoreDynamicRequires,
 | 
						
						
						
							|  |  |     requireReturnsDefault: requireReturnsDefaultOption,
 | 
						
						
						
							|  |  |     defaultIsModuleExports: defaultIsModuleExportsOption,
 | 
						
						
						
							|  |  |     esmExternals
 | 
						
						
						
							|  |  |   } = options;
 | 
						
						
						
							|  |  |   const extensions = options.extensions || ['.js'];
 | 
						
						
						
							|  |  |   const filter = pluginutils.createFilter(options.include, options.exclude);
 | 
						
						
						
							|  |  |   const isPossibleCjsId = (id) => {
 | 
						
						
						
							|  |  |     const extName = path.extname(id);
 | 
						
						
						
							|  |  |     return extName === '.cjs' || (extensions.includes(extName) && filter(id));
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const { strictRequiresFilter, detectCyclesAndConditional } = getStrictRequiresFilter(options);
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const getRequireReturnsDefault =
 | 
						
						
						
							|  |  |     typeof requireReturnsDefaultOption === 'function'
 | 
						
						
						
							|  |  |       ? requireReturnsDefaultOption
 | 
						
						
						
							|  |  |       : () => requireReturnsDefaultOption;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   let esmExternalIds;
 | 
						
						
						
							|  |  |   const isEsmExternal =
 | 
						
						
						
							|  |  |     typeof esmExternals === 'function'
 | 
						
						
						
							|  |  |       ? esmExternals
 | 
						
						
						
							|  |  |       : Array.isArray(esmExternals)
 | 
						
						
						
							|  |  |       ? ((esmExternalIds = new Set(esmExternals)), (id) => esmExternalIds.has(id))
 | 
						
						
						
							|  |  |       : () => esmExternals;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const getDefaultIsModuleExports =
 | 
						
						
						
							|  |  |     typeof defaultIsModuleExportsOption === 'function'
 | 
						
						
						
							|  |  |       ? defaultIsModuleExportsOption
 | 
						
						
						
							|  |  |       : () =>
 | 
						
						
						
							|  |  |           typeof defaultIsModuleExportsOption === 'boolean' ? defaultIsModuleExportsOption : 'auto';
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const dynamicRequireRoot =
 | 
						
						
						
							|  |  |     typeof options.dynamicRequireRoot === 'string'
 | 
						
						
						
							|  |  |       ? path.resolve(options.dynamicRequireRoot)
 | 
						
						
						
							|  |  |       : process.cwd();
 | 
						
						
						
							|  |  |   const { commonDir, dynamicRequireModules } = getDynamicRequireModules(
 | 
						
						
						
							|  |  |     options.dynamicRequireTargets,
 | 
						
						
						
							|  |  |     dynamicRequireRoot
 | 
						
						
						
							|  |  |   );
 | 
						
						
						
							|  |  |   const isDynamicRequireModulesEnabled = dynamicRequireModules.size > 0;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const ignoreRequire =
 | 
						
						
						
							|  |  |     typeof options.ignore === 'function'
 | 
						
						
						
							|  |  |       ? options.ignore
 | 
						
						
						
							|  |  |       : Array.isArray(options.ignore)
 | 
						
						
						
							|  |  |       ? (id) => options.ignore.includes(id)
 | 
						
						
						
							|  |  |       : () => false;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const getIgnoreTryCatchRequireStatementMode = (id) => {
 | 
						
						
						
							|  |  |     const mode =
 | 
						
						
						
							|  |  |       typeof options.ignoreTryCatch === 'function'
 | 
						
						
						
							|  |  |         ? options.ignoreTryCatch(id)
 | 
						
						
						
							|  |  |         : Array.isArray(options.ignoreTryCatch)
 | 
						
						
						
							|  |  |         ? options.ignoreTryCatch.includes(id)
 | 
						
						
						
							|  |  |         : typeof options.ignoreTryCatch !== 'undefined'
 | 
						
						
						
							|  |  |         ? options.ignoreTryCatch
 | 
						
						
						
							|  |  |         : true;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     return {
 | 
						
						
						
							|  |  |       canConvertRequire: mode !== 'remove' && mode !== true,
 | 
						
						
						
							|  |  |       shouldRemoveRequire: mode === 'remove'
 | 
						
						
						
							|  |  |     };
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const { currentlyResolving, resolveId } = getResolveId(extensions, isPossibleCjsId);
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   const sourceMap = options.sourceMap !== false;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   // Initialized in buildStart
 | 
						
						
						
							|  |  |   let requireResolver;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   function transformAndCheckExports(code, id) {
 | 
						
						
						
							|  |  |     const { isEsModule, hasDefaultExport, hasNamedExports, ast } = analyzeTopLevelStatements(
 | 
						
						
						
							|  |  |       this.parse,
 | 
						
						
						
							|  |  |       code,
 | 
						
						
						
							|  |  |       id
 | 
						
						
						
							|  |  |     );
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     const commonjsMeta = this.getModuleInfo(id).meta.commonjs || {};
 | 
						
						
						
							|  |  |     if (hasDefaultExport) {
 | 
						
						
						
							|  |  |       commonjsMeta.hasDefaultExport = true;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     if (hasNamedExports) {
 | 
						
						
						
							|  |  |       commonjsMeta.hasNamedExports = true;
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     if (
 | 
						
						
						
							|  |  |       !dynamicRequireModules.has(normalizePathSlashes(id)) &&
 | 
						
						
						
							|  |  |       (!(hasCjsKeywords(code, ignoreGlobal) || requireResolver.isRequiredId(id)) ||
 | 
						
						
						
							|  |  |         (isEsModule && !options.transformMixedEsModules))
 | 
						
						
						
							|  |  |     ) {
 | 
						
						
						
							|  |  |       commonjsMeta.isCommonJS = false;
 | 
						
						
						
							|  |  |       return { meta: { commonjs: commonjsMeta } };
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     const needsRequireWrapper =
 | 
						
						
						
							|  |  |       !isEsModule &&
 | 
						
						
						
							|  |  |       (dynamicRequireModules.has(normalizePathSlashes(id)) || strictRequiresFilter(id));
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     const checkDynamicRequire = (position) => {
 | 
						
						
						
							|  |  |       if (id.indexOf(dynamicRequireRoot) !== 0) {
 | 
						
						
						
							|  |  |         this.error(
 | 
						
						
						
							|  |  |           {
 | 
						
						
						
							|  |  |             code: 'DYNAMIC_REQUIRE_OUTSIDE_ROOT',
 | 
						
						
						
							|  |  |             id,
 | 
						
						
						
							|  |  |             dynamicRequireRoot,
 | 
						
						
						
							|  |  |             message: `"${id}" contains dynamic require statements but it is not within the current dynamicRequireRoot "${dynamicRequireRoot}". You should set dynamicRequireRoot to "${path.dirname(
 | 
						
						
						
							|  |  |               id
 | 
						
						
						
							|  |  |             )}" or one of its parent directories.`
 | 
						
						
						
							|  |  |           },
 | 
						
						
						
							|  |  |           position
 | 
						
						
						
							|  |  |         );
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |     };
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     return transformCommonjs(
 | 
						
						
						
							|  |  |       this.parse,
 | 
						
						
						
							|  |  |       code,
 | 
						
						
						
							|  |  |       id,
 | 
						
						
						
							|  |  |       isEsModule,
 | 
						
						
						
							|  |  |       ignoreGlobal || isEsModule,
 | 
						
						
						
							|  |  |       ignoreRequire,
 | 
						
						
						
							|  |  |       ignoreDynamicRequires && !isDynamicRequireModulesEnabled,
 | 
						
						
						
							|  |  |       getIgnoreTryCatchRequireStatementMode,
 | 
						
						
						
							|  |  |       sourceMap,
 | 
						
						
						
							|  |  |       isDynamicRequireModulesEnabled,
 | 
						
						
						
							|  |  |       dynamicRequireModules,
 | 
						
						
						
							|  |  |       commonDir,
 | 
						
						
						
							|  |  |       ast,
 | 
						
						
						
							|  |  |       getDefaultIsModuleExports(id),
 | 
						
						
						
							|  |  |       needsRequireWrapper,
 | 
						
						
						
							|  |  |       requireResolver.resolveRequireSourcesAndUpdateMeta(this),
 | 
						
						
						
							|  |  |       requireResolver.isRequiredId(id),
 | 
						
						
						
							|  |  |       checkDynamicRequire,
 | 
						
						
						
							|  |  |       commonjsMeta
 | 
						
						
						
							|  |  |     );
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   return {
 | 
						
						
						
							|  |  |     name: PLUGIN_NAME,
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     version,
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     options(rawOptions) {
 | 
						
						
						
							|  |  |       // We inject the resolver in the beginning so that "catch-all-resolver" like node-resolver
 | 
						
						
						
							|  |  |       // do not prevent our plugin from resolving entry points ot proxies.
 | 
						
						
						
							|  |  |       const plugins = Array.isArray(rawOptions.plugins)
 | 
						
						
						
							|  |  |         ? [...rawOptions.plugins]
 | 
						
						
						
							|  |  |         : rawOptions.plugins
 | 
						
						
						
							|  |  |         ? [rawOptions.plugins]
 | 
						
						
						
							|  |  |         : [];
 | 
						
						
						
							|  |  |       plugins.unshift({
 | 
						
						
						
							|  |  |         name: 'commonjs--resolver',
 | 
						
						
						
							|  |  |         resolveId
 | 
						
						
						
							|  |  |       });
 | 
						
						
						
							|  |  |       return { ...rawOptions, plugins };
 | 
						
						
						
							|  |  |     },
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     buildStart({ plugins }) {
 | 
						
						
						
							|  |  |       validateVersion(this.meta.rollupVersion, peerDependencies.rollup, 'rollup');
 | 
						
						
						
							|  |  |       const nodeResolve = plugins.find(({ name }) => name === 'node-resolve');
 | 
						
						
						
							|  |  |       if (nodeResolve) {
 | 
						
						
						
							|  |  |         validateVersion(nodeResolve.version, '^13.0.6', '@rollup/plugin-node-resolve');
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       if (options.namedExports != null) {
 | 
						
						
						
							|  |  |         this.warn(
 | 
						
						
						
							|  |  |           'The namedExports option from "@rollup/plugin-commonjs" is deprecated. Named exports are now handled automatically.'
 | 
						
						
						
							|  |  |         );
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       requireResolver = getRequireResolver(
 | 
						
						
						
							|  |  |         extensions,
 | 
						
						
						
							|  |  |         detectCyclesAndConditional,
 | 
						
						
						
							|  |  |         currentlyResolving
 | 
						
						
						
							|  |  |       );
 | 
						
						
						
							|  |  |     },
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     buildEnd() {
 | 
						
						
						
							|  |  |       if (options.strictRequires === 'debug') {
 | 
						
						
						
							|  |  |         const wrappedIds = requireResolver.getWrappedIds();
 | 
						
						
						
							|  |  |         if (wrappedIds.length) {
 | 
						
						
						
							|  |  |           this.warn({
 | 
						
						
						
							|  |  |             code: 'WRAPPED_IDS',
 | 
						
						
						
							|  |  |             ids: wrappedIds,
 | 
						
						
						
							|  |  |             message: `The commonjs plugin automatically wrapped the following files:\n[\n${wrappedIds
 | 
						
						
						
							|  |  |               .map((id) => `\t${JSON.stringify(path.relative(process.cwd(), id))}`)
 | 
						
						
						
							|  |  |               .join(',\n')}\n]`
 | 
						
						
						
							|  |  |           });
 | 
						
						
						
							|  |  |         } else {
 | 
						
						
						
							|  |  |           this.warn({
 | 
						
						
						
							|  |  |             code: 'WRAPPED_IDS',
 | 
						
						
						
							|  |  |             ids: wrappedIds,
 | 
						
						
						
							|  |  |             message: 'The commonjs plugin did not wrap any files.'
 | 
						
						
						
							|  |  |           });
 | 
						
						
						
							|  |  |         }
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |     },
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     load(id) {
 | 
						
						
						
							|  |  |       if (id === HELPERS_ID) {
 | 
						
						
						
							|  |  |         return getHelpersModule();
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       if (isWrappedId(id, MODULE_SUFFIX)) {
 | 
						
						
						
							|  |  |         const name = getName(unwrapId(id, MODULE_SUFFIX));
 | 
						
						
						
							|  |  |         return {
 | 
						
						
						
							|  |  |           code: `var ${name} = {exports: {}}; export {${name} as __module}`,
 | 
						
						
						
							|  |  |           syntheticNamedExports: '__module',
 | 
						
						
						
							|  |  |           meta: { commonjs: { isCommonJS: false } }
 | 
						
						
						
							|  |  |         };
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       if (isWrappedId(id, EXPORTS_SUFFIX)) {
 | 
						
						
						
							|  |  |         const name = getName(unwrapId(id, EXPORTS_SUFFIX));
 | 
						
						
						
							|  |  |         return {
 | 
						
						
						
							|  |  |           code: `var ${name} = {}; export {${name} as __exports}`,
 | 
						
						
						
							|  |  |           meta: { commonjs: { isCommonJS: false } }
 | 
						
						
						
							|  |  |         };
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       if (isWrappedId(id, EXTERNAL_SUFFIX)) {
 | 
						
						
						
							|  |  |         const actualId = unwrapId(id, EXTERNAL_SUFFIX);
 | 
						
						
						
							|  |  |         return getUnknownRequireProxy(
 | 
						
						
						
							|  |  |           actualId,
 | 
						
						
						
							|  |  |           isEsmExternal(actualId) ? getRequireReturnsDefault(actualId) : true
 | 
						
						
						
							|  |  |         );
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       // entry suffix is just appended to not mess up relative external resolution
 | 
						
						
						
							|  |  |       if (id.endsWith(ENTRY_SUFFIX)) {
 | 
						
						
						
							|  |  |         const acutalId = id.slice(0, -ENTRY_SUFFIX.length);
 | 
						
						
						
							|  |  |         return getEntryProxy(acutalId, getDefaultIsModuleExports(acutalId), this.getModuleInfo);
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       if (isWrappedId(id, ES_IMPORT_SUFFIX)) {
 | 
						
						
						
							|  |  |         const actualId = unwrapId(id, ES_IMPORT_SUFFIX);
 | 
						
						
						
							|  |  |         return getEsImportProxy(actualId, getDefaultIsModuleExports(actualId));
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       if (id === DYNAMIC_MODULES_ID) {
 | 
						
						
						
							|  |  |         return getDynamicModuleRegistry(
 | 
						
						
						
							|  |  |           isDynamicRequireModulesEnabled,
 | 
						
						
						
							|  |  |           dynamicRequireModules,
 | 
						
						
						
							|  |  |           commonDir,
 | 
						
						
						
							|  |  |           ignoreDynamicRequires
 | 
						
						
						
							|  |  |         );
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       if (isWrappedId(id, PROXY_SUFFIX)) {
 | 
						
						
						
							|  |  |         const actualId = unwrapId(id, PROXY_SUFFIX);
 | 
						
						
						
							|  |  |         return getStaticRequireProxy(actualId, getRequireReturnsDefault(actualId), this.load);
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       return null;
 | 
						
						
						
							|  |  |     },
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     shouldTransformCachedModule(...args) {
 | 
						
						
						
							|  |  |       return requireResolver.shouldTransformCachedModule.call(this, ...args);
 | 
						
						
						
							|  |  |     },
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     transform(code, id) {
 | 
						
						
						
							|  |  |       if (!isPossibleCjsId(id)) return null;
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |       try {
 | 
						
						
						
							|  |  |         return transformAndCheckExports.call(this, code, id);
 | 
						
						
						
							|  |  |       } catch (err) {
 | 
						
						
						
							|  |  |         return this.error(err, err.loc);
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   };
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | module.exports = commonjs;
 | 
						
						
						
							|  |  | //# sourceMappingURL=index.js.map
 |