UNPKG

120 kBSource Map (JSON)View Raw
1{"version":3,"file":"index.es.js","sources":["../src/parse.js","../src/analyze-top-level-statements.js","../src/helpers.js","../src/utils.js","../src/dynamic-packages-manager.js","../src/dynamic-require-paths.js","../src/is-cjs.js","../src/proxies.js","../src/resolve-id.js","../src/rollup-version.js","../src/ast-utils.js","../src/generate-exports.js","../src/generate-imports.js","../src/transform-commonjs.js","../src/index.js"],"sourcesContent":["export function tryParse(parse, code, id) {\n try {\n return parse(code, { allowReturnOutsideFunction: true });\n } catch (err) {\n err.message += ` in ${id}`;\n throw err;\n }\n}\n\nconst firstpassGlobal = /\\b(?:require|module|exports|global)\\b/;\n\nconst firstpassNoGlobal = /\\b(?:require|module|exports)\\b/;\n\nexport function hasCjsKeywords(code, ignoreGlobal) {\n const firstpass = ignoreGlobal ? firstpassNoGlobal : firstpassGlobal;\n return firstpass.test(code);\n}\n","/* eslint-disable no-underscore-dangle */\n\nimport { tryParse } from './parse';\n\nexport default function analyzeTopLevelStatements(parse, code, id) {\n const ast = tryParse(parse, code, id);\n\n let isEsModule = false;\n let hasDefaultExport = false;\n let hasNamedExports = false;\n\n for (const node of ast.body) {\n switch (node.type) {\n case 'ExportDefaultDeclaration':\n isEsModule = true;\n hasDefaultExport = true;\n break;\n case 'ExportNamedDeclaration':\n isEsModule = true;\n if (node.declaration) {\n hasNamedExports = true;\n } else {\n for (const specifier of node.specifiers) {\n if (specifier.exported.name === 'default') {\n hasDefaultExport = true;\n } else {\n hasNamedExports = true;\n }\n }\n }\n break;\n case 'ExportAllDeclaration':\n isEsModule = true;\n if (node.exported && node.exported.name === 'default') {\n hasDefaultExport = true;\n } else {\n hasNamedExports = true;\n }\n break;\n case 'ImportDeclaration':\n isEsModule = true;\n break;\n default:\n }\n }\n\n return { isEsModule, hasDefaultExport, hasNamedExports, ast };\n}\n","export const isWrappedId = (id, suffix) => id.endsWith(suffix);\nexport const wrapId = (id, suffix) => `\\0${id}${suffix}`;\nexport const unwrapId = (wrappedId, suffix) => wrappedId.slice(1, -suffix.length);\n\nexport const PROXY_SUFFIX = '?commonjs-proxy';\nexport const REQUIRE_SUFFIX = '?commonjs-require';\nexport const EXTERNAL_SUFFIX = '?commonjs-external';\nexport const EXPORTS_SUFFIX = '?commonjs-exports';\nexport const MODULE_SUFFIX = '?commonjs-module';\n\nexport const DYNAMIC_REGISTER_SUFFIX = '?commonjs-dynamic-register';\nexport const DYNAMIC_JSON_PREFIX = '\\0commonjs-dynamic-json:';\nexport const DYNAMIC_PACKAGES_ID = '\\0commonjs-dynamic-packages';\n\nexport const HELPERS_ID = '\\0commonjsHelpers.js';\n\n// `x['default']` is used instead of `x.default` for backward compatibility with ES3 browsers.\n// Minifiers like uglify will usually transpile it back if compatibility with ES3 is not enabled.\n// This will no longer be necessary once Rollup switches to ES6 output, likely\n// in Rollup 3\n\nconst HELPERS = `\nexport var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nexport function getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nexport function getDefaultExportFromNamespaceIfPresent (n) {\n\treturn n && Object.prototype.hasOwnProperty.call(n, 'default') ? n['default'] : n;\n}\n\nexport function getDefaultExportFromNamespaceIfNotNamed (n) {\n\treturn n && Object.prototype.hasOwnProperty.call(n, 'default') && Object.keys(n).length === 1 ? n['default'] : n;\n}\n\nexport function getAugmentedNamespace(n) {\n\tif (n.__esModule) return n;\n\tvar a = Object.defineProperty({}, '__esModule', {value: true});\n\tObject.keys(n).forEach(function (k) {\n\t\tvar d = Object.getOwnPropertyDescriptor(n, k);\n\t\tObject.defineProperty(a, k, d.get ? d : {\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\treturn n[k];\n\t\t\t}\n\t\t});\n\t});\n\treturn a;\n}\n`;\n\nconst 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.');`;\n\nconst HELPER_NON_DYNAMIC = `\nexport function commonjsRequire (path) {\n\t${FAILED_REQUIRE_ERROR}\n}\n`;\n\nconst getDynamicHelpers = (ignoreDynamicRequires) => `\nexport function createModule(modulePath) {\n\treturn {\n\t\tpath: modulePath,\n\t\texports: {},\n\t\trequire: function (path, base) {\n\t\t\treturn commonjsRequire(path, base == null ? modulePath : base);\n\t\t}\n\t};\n}\n\nexport function commonjsRegister (path, loader) {\n\tDYNAMIC_REQUIRE_LOADERS[path] = loader;\n}\n\nexport function commonjsRegisterOrShort (path, to) {\n\tvar resolvedPath = commonjsResolveImpl(path, null, true);\n\tif (resolvedPath !== null && DYNAMIC_REQUIRE_CACHE[resolvedPath]) {\n\t DYNAMIC_REQUIRE_CACHE[path] = DYNAMIC_REQUIRE_CACHE[resolvedPath];\n\t} else {\n\t DYNAMIC_REQUIRE_SHORTS[path] = to;\n\t}\n}\n\nvar DYNAMIC_REQUIRE_LOADERS = Object.create(null);\nvar DYNAMIC_REQUIRE_CACHE = Object.create(null);\nvar DYNAMIC_REQUIRE_SHORTS = Object.create(null);\nvar DEFAULT_PARENT_MODULE = {\n\tid: '<' + 'rollup>', exports: {}, parent: undefined, filename: null, loaded: false, children: [], paths: []\n};\nvar CHECKED_EXTENSIONS = ['', '.js', '.json'];\n\nfunction normalize (path) {\n\tpath = path.replace(/\\\\\\\\/g, '/');\n\tvar parts = path.split('/');\n\tvar slashed = parts[0] === '';\n\tfor (var i = 1; i < parts.length; i++) {\n\t\tif (parts[i] === '.' || parts[i] === '') {\n\t\t\tparts.splice(i--, 1);\n\t\t}\n\t}\n\tfor (var i = 1; i < parts.length; i++) {\n\t\tif (parts[i] !== '..') continue;\n\t\tif (i > 0 && parts[i - 1] !== '..' && parts[i - 1] !== '.') {\n\t\t\tparts.splice(--i, 2);\n\t\t\ti--;\n\t\t}\n\t}\n\tpath = parts.join('/');\n\tif (slashed && path[0] !== '/')\n\t path = '/' + path;\n\telse if (path.length === 0)\n\t path = '.';\n\treturn path;\n}\n\nfunction join () {\n\tif (arguments.length === 0)\n\t return '.';\n\tvar joined;\n\tfor (var i = 0; i < arguments.length; ++i) {\n\t var arg = arguments[i];\n\t if (arg.length > 0) {\n\t\tif (joined === undefined)\n\t\t joined = arg;\n\t\telse\n\t\t joined += '/' + arg;\n\t }\n\t}\n\tif (joined === undefined)\n\t return '.';\n\n\treturn joined;\n}\n\nfunction isPossibleNodeModulesPath (modulePath) {\n\tvar c0 = modulePath[0];\n\tif (c0 === '/' || c0 === '\\\\\\\\') return false;\n\tvar c1 = modulePath[1], c2 = modulePath[2];\n\tif ((c0 === '.' && (!c1 || c1 === '/' || c1 === '\\\\\\\\')) ||\n\t\t(c0 === '.' && c1 === '.' && (!c2 || c2 === '/' || c2 === '\\\\\\\\'))) return false;\n\tif (c1 === ':' && (c2 === '/' || c2 === '\\\\\\\\'))\n\t\treturn false;\n\treturn true;\n}\n\nfunction dirname (path) {\n if (path.length === 0)\n return '.';\n\n var i = path.length - 1;\n while (i > 0) {\n var c = path.charCodeAt(i);\n if ((c === 47 || c === 92) && i !== path.length - 1)\n break;\n i--;\n }\n\n if (i > 0)\n return path.substr(0, i);\n\n if (path.chartCodeAt(0) === 47 || path.chartCodeAt(0) === 92)\n return path.charAt(0);\n\n return '.';\n}\n\nexport function commonjsResolveImpl (path, originalModuleDir, testCache) {\n\tvar shouldTryNodeModules = isPossibleNodeModulesPath(path);\n\tpath = normalize(path);\n\tvar relPath;\n\tif (path[0] === '/') {\n\t\toriginalModuleDir = '/';\n\t}\n\twhile (true) {\n\t\tif (!shouldTryNodeModules) {\n\t\t\trelPath = originalModuleDir ? normalize(originalModuleDir + '/' + path) : path;\n\t\t} else if (originalModuleDir) {\n\t\t\trelPath = normalize(originalModuleDir + '/node_modules/' + path);\n\t\t} else {\n\t\t\trelPath = normalize(join('node_modules', path));\n\t\t}\n\n\t\tif (relPath.endsWith('/..')) {\n\t\t\tbreak; // Travelled too far up, avoid infinite loop\n\t\t}\n\n\t\tfor (var extensionIndex = 0; extensionIndex < CHECKED_EXTENSIONS.length; extensionIndex++) {\n\t\t\tvar resolvedPath = relPath + CHECKED_EXTENSIONS[extensionIndex];\n\t\t\tif (DYNAMIC_REQUIRE_CACHE[resolvedPath]) {\n\t\t\t\treturn resolvedPath;\n\t\t\t}\n\t\t\tif (DYNAMIC_REQUIRE_SHORTS[resolvedPath]) {\n\t\t\t return resolvedPath;\n\t\t\t}\n\t\t\tif (DYNAMIC_REQUIRE_LOADERS[resolvedPath]) {\n\t\t\t\treturn resolvedPath;\n\t\t\t}\n\t\t}\n\t\tif (!shouldTryNodeModules) break;\n\t\tvar nextDir = normalize(originalModuleDir + '/..');\n\t\tif (nextDir === originalModuleDir) break;\n\t\toriginalModuleDir = nextDir;\n\t}\n\treturn null;\n}\n\nexport function commonjsResolve (path, originalModuleDir) {\n\tvar resolvedPath = commonjsResolveImpl(path, originalModuleDir);\n\tif (resolvedPath !== null) {\n\t\treturn resolvedPath;\n\t}\n\treturn require.resolve(path);\n}\n\nexport function commonjsRequire (path, originalModuleDir) {\n\tvar resolvedPath = commonjsResolveImpl(path, originalModuleDir, true);\n\tif (resolvedPath !== null) {\n var cachedModule = DYNAMIC_REQUIRE_CACHE[resolvedPath];\n if (cachedModule) return cachedModule.exports;\n var shortTo = DYNAMIC_REQUIRE_SHORTS[resolvedPath];\n if (shortTo) {\n cachedModule = DYNAMIC_REQUIRE_CACHE[shortTo];\n if (cachedModule)\n return cachedModule.exports;\n resolvedPath = commonjsResolveImpl(shortTo, null, true);\n }\n var loader = DYNAMIC_REQUIRE_LOADERS[resolvedPath];\n if (loader) {\n DYNAMIC_REQUIRE_CACHE[resolvedPath] = cachedModule = {\n id: resolvedPath,\n filename: resolvedPath,\n path: dirname(resolvedPath),\n exports: {},\n parent: DEFAULT_PARENT_MODULE,\n loaded: false,\n children: [],\n paths: [],\n require: function (path, base) {\n return commonjsRequire(path, (base === undefined || base === null) ? cachedModule.path : base);\n }\n };\n try {\n loader.call(commonjsGlobal, cachedModule, cachedModule.exports);\n } catch (error) {\n delete DYNAMIC_REQUIRE_CACHE[resolvedPath];\n throw error;\n }\n cachedModule.loaded = true;\n return cachedModule.exports;\n };\n\t}\n\t${ignoreDynamicRequires ? 'return require(path);' : FAILED_REQUIRE_ERROR}\n}\n\ncommonjsRequire.cache = DYNAMIC_REQUIRE_CACHE;\ncommonjsRequire.resolve = commonjsResolve;\n`;\n\nexport function getHelpersModule(isDynamicRequireModulesEnabled, ignoreDynamicRequires) {\n return `${HELPERS}${\n isDynamicRequireModulesEnabled ? getDynamicHelpers(ignoreDynamicRequires) : HELPER_NON_DYNAMIC\n }`;\n}\n","/* eslint-disable import/prefer-default-export */\n\nimport { basename, dirname, extname } from 'path';\n\nimport { makeLegalIdentifier } from '@rollup/pluginutils';\n\nexport function deconflict(scopes, globals, identifier) {\n let i = 1;\n let deconflicted = makeLegalIdentifier(identifier);\n const hasConflicts = () =>\n scopes.some((scope) => scope.contains(deconflicted)) || globals.has(deconflicted);\n\n while (hasConflicts()) {\n deconflicted = makeLegalIdentifier(`${identifier}_${i}`);\n i += 1;\n }\n\n for (const scope of scopes) {\n scope.declarations[deconflicted] = true;\n }\n\n return deconflicted;\n}\n\nexport function getName(id) {\n const name = makeLegalIdentifier(basename(id, extname(id)));\n if (name !== 'index') {\n return name;\n }\n return makeLegalIdentifier(basename(dirname(id)));\n}\n\nexport function normalizePathSlashes(path) {\n return path.replace(/\\\\/g, '/');\n}\n\nconst VIRTUAL_PATH_BASE = '/$$rollup_base$$';\nexport const getVirtualPathForDynamicRequirePath = (path, commonDir) => {\n const normalizedPath = normalizePathSlashes(path);\n return normalizedPath.startsWith(commonDir)\n ? VIRTUAL_PATH_BASE + normalizedPath.slice(commonDir.length)\n : normalizedPath;\n};\n","import { existsSync, readFileSync } from 'fs';\nimport { join } from 'path';\n\nimport { DYNAMIC_PACKAGES_ID, DYNAMIC_REGISTER_SUFFIX, HELPERS_ID, wrapId } from './helpers';\nimport { getVirtualPathForDynamicRequirePath, normalizePathSlashes } from './utils';\n\nexport function getPackageEntryPoint(dirPath) {\n let entryPoint = 'index.js';\n\n try {\n if (existsSync(join(dirPath, 'package.json'))) {\n entryPoint =\n JSON.parse(readFileSync(join(dirPath, 'package.json'), { encoding: 'utf8' })).main ||\n entryPoint;\n }\n } catch (ignored) {\n // ignored\n }\n\n return entryPoint;\n}\n\nexport function getDynamicPackagesModule(dynamicRequireModuleDirPaths, commonDir) {\n let code = `const commonjsRegisterOrShort = require('${HELPERS_ID}?commonjsRegisterOrShort');`;\n for (const dir of dynamicRequireModuleDirPaths) {\n const entryPoint = getPackageEntryPoint(dir);\n\n code += `\\ncommonjsRegisterOrShort(${JSON.stringify(\n getVirtualPathForDynamicRequirePath(dir, commonDir)\n )}, ${JSON.stringify(getVirtualPathForDynamicRequirePath(join(dir, entryPoint), commonDir))});`;\n }\n return code;\n}\n\nexport function getDynamicPackagesEntryIntro(\n dynamicRequireModuleDirPaths,\n dynamicRequireModuleSet\n) {\n let dynamicImports = Array.from(\n dynamicRequireModuleSet,\n (dynamicId) => `require(${JSON.stringify(wrapId(dynamicId, DYNAMIC_REGISTER_SUFFIX))});`\n ).join('\\n');\n\n if (dynamicRequireModuleDirPaths.length) {\n dynamicImports += `require(${JSON.stringify(\n wrapId(DYNAMIC_PACKAGES_ID, DYNAMIC_REGISTER_SUFFIX)\n )});`;\n }\n\n return dynamicImports;\n}\n\nexport function isDynamicModuleImport(id, dynamicRequireModuleSet) {\n const normalizedPath = normalizePathSlashes(id);\n return dynamicRequireModuleSet.has(normalizedPath) && !normalizedPath.endsWith('.json');\n}\n","import { statSync } from 'fs';\n\nimport { join, resolve } from 'path';\n\nimport glob from 'glob';\n\nimport { normalizePathSlashes } from './utils';\nimport { getPackageEntryPoint } from './dynamic-packages-manager';\n\nfunction isDirectory(path) {\n try {\n if (statSync(path).isDirectory()) return true;\n } catch (ignored) {\n // Nothing to do here\n }\n return false;\n}\n\nexport default function getDynamicRequirePaths(patterns) {\n const dynamicRequireModuleSet = new Set();\n for (const pattern of !patterns || Array.isArray(patterns) ? patterns || [] : [patterns]) {\n const isNegated = pattern.startsWith('!');\n const modifySet = Set.prototype[isNegated ? 'delete' : 'add'].bind(dynamicRequireModuleSet);\n for (const path of glob.sync(isNegated ? pattern.substr(1) : pattern)) {\n modifySet(normalizePathSlashes(resolve(path)));\n if (isDirectory(path)) {\n modifySet(normalizePathSlashes(resolve(join(path, getPackageEntryPoint(path)))));\n }\n }\n }\n const dynamicRequireModuleDirPaths = Array.from(dynamicRequireModuleSet.values()).filter((path) =>\n isDirectory(path)\n );\n return { dynamicRequireModuleSet, dynamicRequireModuleDirPaths };\n}\n","export function getCommonJSMetaPromise(commonJSMetaPromises, id) {\n let commonJSMetaPromise = commonJSMetaPromises.get(id);\n if (commonJSMetaPromise) return commonJSMetaPromise.promise;\n\n const promise = new Promise((resolve) => {\n commonJSMetaPromise = {\n resolve,\n promise: null\n };\n commonJSMetaPromises.set(id, commonJSMetaPromise);\n });\n commonJSMetaPromise.promise = promise;\n\n return promise;\n}\n\nexport function setCommonJSMetaPromise(commonJSMetaPromises, id, commonjsMeta) {\n const commonJSMetaPromise = commonJSMetaPromises.get(id);\n if (commonJSMetaPromise) {\n if (commonJSMetaPromise.resolve) {\n commonJSMetaPromise.resolve(commonjsMeta);\n commonJSMetaPromise.resolve = null;\n }\n } else {\n commonJSMetaPromises.set(id, { promise: Promise.resolve(commonjsMeta), resolve: null });\n }\n}\n","import { readFileSync } from 'fs';\n\nimport { DYNAMIC_JSON_PREFIX, HELPERS_ID } from './helpers';\nimport { getCommonJSMetaPromise } from './is-cjs';\nimport { getName, getVirtualPathForDynamicRequirePath, normalizePathSlashes } from './utils';\n\n// e.g. id === \"commonjsHelpers?commonjsRegister\"\nexport function getSpecificHelperProxy(id) {\n return `export {${id.split('?')[1]} as default} from \"${HELPERS_ID}\";`;\n}\n\nexport function getUnknownRequireProxy(id, requireReturnsDefault) {\n if (requireReturnsDefault === true || id.endsWith('.json')) {\n return `export {default} from ${JSON.stringify(id)};`;\n }\n const name = getName(id);\n const exported =\n requireReturnsDefault === 'auto'\n ? `import {getDefaultExportFromNamespaceIfNotNamed} from \"${HELPERS_ID}\"; export default /*@__PURE__*/getDefaultExportFromNamespaceIfNotNamed(${name});`\n : requireReturnsDefault === 'preferred'\n ? `import {getDefaultExportFromNamespaceIfPresent} from \"${HELPERS_ID}\"; export default /*@__PURE__*/getDefaultExportFromNamespaceIfPresent(${name});`\n : !requireReturnsDefault\n ? `import {getAugmentedNamespace} from \"${HELPERS_ID}\"; export default /*@__PURE__*/getAugmentedNamespace(${name});`\n : `export default ${name};`;\n return `import * as ${name} from ${JSON.stringify(id)}; ${exported}`;\n}\n\nexport function getDynamicJsonProxy(id, commonDir) {\n const normalizedPath = normalizePathSlashes(id.slice(DYNAMIC_JSON_PREFIX.length));\n return `const commonjsRegister = require('${HELPERS_ID}?commonjsRegister');\\ncommonjsRegister(${JSON.stringify(\n getVirtualPathForDynamicRequirePath(normalizedPath, commonDir)\n )}, function (module, exports) {\n module.exports = require(${JSON.stringify(normalizedPath)});\n});`;\n}\n\nexport function getDynamicRequireProxy(normalizedPath, commonDir) {\n return `const commonjsRegister = require('${HELPERS_ID}?commonjsRegister');\\ncommonjsRegister(${JSON.stringify(\n getVirtualPathForDynamicRequirePath(normalizedPath, commonDir)\n )}, function (module, exports) {\n ${readFileSync(normalizedPath, { encoding: 'utf8' })}\n});`;\n}\n\nexport async function getStaticRequireProxy(\n id,\n requireReturnsDefault,\n esModulesWithDefaultExport,\n esModulesWithNamedExports,\n commonJsMetaPromises\n) {\n const name = getName(id);\n const commonjsMeta = await getCommonJSMetaPromise(commonJsMetaPromises, id);\n if (commonjsMeta && commonjsMeta.isCommonJS) {\n return `export { __moduleExports as default } from ${JSON.stringify(id)};`;\n } else if (commonjsMeta === null) {\n return getUnknownRequireProxy(id, requireReturnsDefault);\n } else if (!requireReturnsDefault) {\n return `import { getAugmentedNamespace } from \"${HELPERS_ID}\"; import * as ${name} from ${JSON.stringify(\n id\n )}; export default /*@__PURE__*/getAugmentedNamespace(${name});`;\n } else if (\n requireReturnsDefault !== true &&\n (requireReturnsDefault === 'namespace' ||\n !esModulesWithDefaultExport.has(id) ||\n (requireReturnsDefault === 'auto' && esModulesWithNamedExports.has(id)))\n ) {\n return `import * as ${name} from ${JSON.stringify(id)}; export default ${name};`;\n }\n return `export { default } from ${JSON.stringify(id)};`;\n}\n","/* eslint-disable no-param-reassign, no-undefined */\n\nimport { statSync } from 'fs';\nimport { dirname, resolve, sep } from 'path';\n\nimport {\n DYNAMIC_JSON_PREFIX,\n DYNAMIC_PACKAGES_ID,\n DYNAMIC_REGISTER_SUFFIX,\n EXPORTS_SUFFIX,\n EXTERNAL_SUFFIX,\n HELPERS_ID,\n isWrappedId,\n MODULE_SUFFIX,\n PROXY_SUFFIX,\n REQUIRE_SUFFIX,\n unwrapId,\n wrapId\n} from './helpers';\n\nfunction getCandidatesForExtension(resolved, extension) {\n return [resolved + extension, `${resolved}${sep}index${extension}`];\n}\n\nfunction getCandidates(resolved, extensions) {\n return extensions.reduce(\n (paths, extension) => paths.concat(getCandidatesForExtension(resolved, extension)),\n [resolved]\n );\n}\n\nexport default function getResolveId(extensions) {\n function resolveExtensions(importee, importer) {\n // not our problem\n if (importee[0] !== '.' || !importer) return undefined;\n\n const resolved = resolve(dirname(importer), importee);\n const candidates = getCandidates(resolved, extensions);\n\n for (let i = 0; i < candidates.length; i += 1) {\n try {\n const stats = statSync(candidates[i]);\n if (stats.isFile()) return { id: candidates[i] };\n } catch (err) {\n /* noop */\n }\n }\n\n return undefined;\n }\n\n return function resolveId(importee, rawImporter, resolveOptions) {\n if (isWrappedId(importee, MODULE_SUFFIX) || isWrappedId(importee, EXPORTS_SUFFIX)) {\n return importee;\n }\n\n const importer =\n rawImporter && isWrappedId(rawImporter, DYNAMIC_REGISTER_SUFFIX)\n ? unwrapId(rawImporter, DYNAMIC_REGISTER_SUFFIX)\n : rawImporter;\n\n // Except for exports, proxies are only importing resolved ids,\n // no need to resolve again\n if (importer && isWrappedId(importer, PROXY_SUFFIX)) {\n return importee;\n }\n\n const isProxyModule = isWrappedId(importee, PROXY_SUFFIX);\n const isRequiredModule = isWrappedId(importee, REQUIRE_SUFFIX);\n let isModuleRegistration = false;\n\n if (isProxyModule) {\n importee = unwrapId(importee, PROXY_SUFFIX);\n } else if (isRequiredModule) {\n importee = unwrapId(importee, REQUIRE_SUFFIX);\n\n isModuleRegistration = isWrappedId(importee, DYNAMIC_REGISTER_SUFFIX);\n if (isModuleRegistration) {\n importee = unwrapId(importee, DYNAMIC_REGISTER_SUFFIX);\n }\n }\n\n if (\n importee.startsWith(HELPERS_ID) ||\n importee === DYNAMIC_PACKAGES_ID ||\n importee.startsWith(DYNAMIC_JSON_PREFIX)\n ) {\n return importee;\n }\n\n if (importee.startsWith('\\0')) {\n return null;\n }\n\n return this.resolve(\n importee,\n importer,\n Object.assign({}, resolveOptions, {\n skipSelf: true,\n custom: Object.assign({}, resolveOptions.custom, {\n 'node-resolve': { isRequire: isProxyModule || isRequiredModule }\n })\n })\n ).then((resolved) => {\n if (!resolved) {\n resolved = resolveExtensions(importee, importer);\n }\n if (resolved && isProxyModule) {\n resolved.id = wrapId(resolved.id, resolved.external ? EXTERNAL_SUFFIX : PROXY_SUFFIX);\n resolved.external = false;\n } else if (resolved && isModuleRegistration) {\n resolved.id = wrapId(resolved.id, DYNAMIC_REGISTER_SUFFIX);\n } else if (!resolved && (isProxyModule || isRequiredModule)) {\n return { id: wrapId(importee, EXTERNAL_SUFFIX), external: false };\n }\n return resolved;\n });\n };\n}\n","export default function validateRollupVersion(rollupVersion, peerDependencyVersion) {\n const [major, minor] = rollupVersion.split('.').map(Number);\n const versionRegexp = /\\^(\\d+\\.\\d+)\\.\\d+/g;\n let minMajor = Infinity;\n let minMinor = Infinity;\n let foundVersion;\n // eslint-disable-next-line no-cond-assign\n while ((foundVersion = versionRegexp.exec(peerDependencyVersion))) {\n const [foundMajor, foundMinor] = foundVersion[1].split('.').map(Number);\n if (foundMajor < minMajor) {\n minMajor = foundMajor;\n minMinor = foundMinor;\n }\n }\n if (major < minMajor || (major === minMajor && minor < minMinor)) {\n throw new Error(\n `Insufficient Rollup version: \"@rollup/plugin-commonjs\" requires at least rollup@${minMajor}.${minMinor} but found rollup@${rollupVersion}.`\n );\n }\n}\n","export { default as isReference } from 'is-reference';\n\nconst operators = {\n '==': (x) => equals(x.left, x.right, false),\n\n '!=': (x) => not(operators['=='](x)),\n\n '===': (x) => equals(x.left, x.right, true),\n\n '!==': (x) => not(operators['==='](x)),\n\n '!': (x) => isFalsy(x.argument),\n\n '&&': (x) => isTruthy(x.left) && isTruthy(x.right),\n\n '||': (x) => isTruthy(x.left) || isTruthy(x.right)\n};\n\nfunction not(value) {\n return value === null ? value : !value;\n}\n\nfunction equals(a, b, strict) {\n if (a.type !== b.type) return null;\n // eslint-disable-next-line eqeqeq\n if (a.type === 'Literal') return strict ? a.value === b.value : a.value == b.value;\n return null;\n}\n\nexport function isTruthy(node) {\n if (!node) return false;\n if (node.type === 'Literal') return !!node.value;\n if (node.type === 'ParenthesizedExpression') return isTruthy(node.expression);\n if (node.operator in operators) return operators[node.operator](node);\n return null;\n}\n\nexport function isFalsy(node) {\n return not(isTruthy(node));\n}\n\nexport function getKeypath(node) {\n const parts = [];\n\n while (node.type === 'MemberExpression') {\n if (node.computed) return null;\n\n parts.unshift(node.property.name);\n // eslint-disable-next-line no-param-reassign\n node = node.object;\n }\n\n if (node.type !== 'Identifier') return null;\n\n const { name } = node;\n parts.unshift(name);\n\n return { name, keypath: parts.join('.') };\n}\n\nexport const KEY_COMPILED_ESM = '__esModule';\n\nexport function isDefineCompiledEsm(node) {\n const definedProperty =\n getDefinePropertyCallName(node, 'exports') || getDefinePropertyCallName(node, 'module.exports');\n if (definedProperty && definedProperty.key === KEY_COMPILED_ESM) {\n return isTruthy(definedProperty.value);\n }\n return false;\n}\n\nfunction getDefinePropertyCallName(node, targetName) {\n const {\n callee: { object, property }\n } = node;\n if (!object || object.type !== 'Identifier' || object.name !== 'Object') return;\n if (!property || property.type !== 'Identifier' || property.name !== 'defineProperty') return;\n if (node.arguments.length !== 3) return;\n\n const targetNames = targetName.split('.');\n const [target, key, value] = node.arguments;\n if (targetNames.length === 1) {\n if (target.type !== 'Identifier' || target.name !== targetNames[0]) {\n return;\n }\n }\n\n if (targetNames.length === 2) {\n if (\n target.type !== 'MemberExpression' ||\n target.object.name !== targetNames[0] ||\n target.property.name !== targetNames[1]\n ) {\n return;\n }\n }\n\n if (value.type !== 'ObjectExpression' || !value.properties) return;\n\n const valueProperty = value.properties.find((p) => p.key && p.key.name === 'value');\n if (!valueProperty || !valueProperty.value) return;\n\n // eslint-disable-next-line consistent-return\n return { key: key.value, value: valueProperty.value };\n}\n\nexport function isShorthandProperty(parent) {\n return parent && parent.type === 'Property' && parent.shorthand;\n}\n\nexport function hasDefineEsmProperty(node) {\n return node.properties.some((property) => {\n if (\n property.type === 'Property' &&\n property.key.type === 'Identifier' &&\n property.key.name === '__esModule' &&\n isTruthy(property.value)\n ) {\n return true;\n }\n return false;\n });\n}\n","export function wrapCode(magicString, uses, moduleName, exportsName) {\n const args = [];\n const passedArgs = [];\n if (uses.module) {\n args.push('module');\n passedArgs.push(moduleName);\n }\n if (uses.exports) {\n args.push('exports');\n passedArgs.push(exportsName);\n }\n magicString\n .trim()\n .prepend(`(function (${args.join(', ')}) {\\n`)\n .append(`\\n}(${passedArgs.join(', ')}));`);\n}\n\nexport function rewriteExportsAndGetExportsBlock(\n magicString,\n moduleName,\n exportsName,\n wrapped,\n moduleExportsAssignments,\n firstTopLevelModuleExportsAssignment,\n exportsAssignmentsByName,\n topLevelAssignments,\n defineCompiledEsmExpressions,\n deconflictedExportNames,\n code,\n HELPERS_NAME,\n exportMode,\n detectWrappedDefault,\n defaultIsModuleExports\n) {\n const exports = [];\n const exportDeclarations = [];\n\n if (exportMode === 'replace') {\n getExportsForReplacedModuleExports(\n magicString,\n exports,\n exportDeclarations,\n moduleExportsAssignments,\n firstTopLevelModuleExportsAssignment,\n exportsName\n );\n } else {\n exports.push(`${exportsName} as __moduleExports`);\n if (wrapped) {\n getExportsWhenWrapping(\n exportDeclarations,\n exportsName,\n detectWrappedDefault,\n HELPERS_NAME,\n defaultIsModuleExports\n );\n } else {\n getExports(\n magicString,\n exports,\n exportDeclarations,\n moduleExportsAssignments,\n exportsAssignmentsByName,\n deconflictedExportNames,\n topLevelAssignments,\n moduleName,\n exportsName,\n defineCompiledEsmExpressions,\n HELPERS_NAME,\n defaultIsModuleExports\n );\n }\n }\n if (exports.length) {\n exportDeclarations.push(`export { ${exports.join(', ')} };`);\n }\n\n return `\\n\\n${exportDeclarations.join('\\n')}`;\n}\n\nfunction getExportsForReplacedModuleExports(\n magicString,\n exports,\n exportDeclarations,\n moduleExportsAssignments,\n firstTopLevelModuleExportsAssignment,\n exportsName\n) {\n for (const { left } of moduleExportsAssignments) {\n magicString.overwrite(left.start, left.end, exportsName);\n }\n magicString.prependRight(firstTopLevelModuleExportsAssignment.left.start, 'var ');\n exports.push(`${exportsName} as __moduleExports`);\n exportDeclarations.push(`export default ${exportsName};`);\n}\n\nfunction getExportsWhenWrapping(\n exportDeclarations,\n exportsName,\n detectWrappedDefault,\n HELPERS_NAME,\n defaultIsModuleExports\n) {\n exportDeclarations.push(\n `export default ${\n detectWrappedDefault && defaultIsModuleExports === 'auto'\n ? `/*@__PURE__*/${HELPERS_NAME}.getDefaultExportFromCjs(${exportsName})`\n : defaultIsModuleExports === false\n ? `${exportsName}.default`\n : exportsName\n };`\n );\n}\n\nfunction getExports(\n magicString,\n exports,\n exportDeclarations,\n moduleExportsAssignments,\n exportsAssignmentsByName,\n deconflictedExportNames,\n topLevelAssignments,\n moduleName,\n exportsName,\n defineCompiledEsmExpressions,\n HELPERS_NAME,\n defaultIsModuleExports\n) {\n let deconflictedDefaultExportName;\n // Collect and rewrite module.exports assignments\n for (const { left } of moduleExportsAssignments) {\n magicString.overwrite(left.start, left.end, `${moduleName}.exports`);\n }\n\n // Collect and rewrite named exports\n for (const [exportName, { nodes }] of exportsAssignmentsByName) {\n const deconflicted = deconflictedExportNames[exportName];\n let needsDeclaration = true;\n for (const node of nodes) {\n let replacement = `${deconflicted} = ${exportsName}.${exportName}`;\n if (needsDeclaration && topLevelAssignments.has(node)) {\n replacement = `var ${replacement}`;\n needsDeclaration = false;\n }\n magicString.overwrite(node.start, node.left.end, replacement);\n }\n if (needsDeclaration) {\n magicString.prepend(`var ${deconflicted};\\n`);\n }\n\n if (exportName === 'default') {\n deconflictedDefaultExportName = deconflicted;\n } else {\n exports.push(exportName === deconflicted ? exportName : `${deconflicted} as ${exportName}`);\n }\n }\n\n // Collect and rewrite exports.__esModule assignments\n let isRestorableCompiledEsm = false;\n for (const expression of defineCompiledEsmExpressions) {\n isRestorableCompiledEsm = true;\n const moduleExportsExpression =\n expression.type === 'CallExpression' ? expression.arguments[0] : expression.left.object;\n magicString.overwrite(moduleExportsExpression.start, moduleExportsExpression.end, exportsName);\n }\n\n if (!isRestorableCompiledEsm || defaultIsModuleExports === true) {\n exportDeclarations.push(`export default ${exportsName};`);\n } else if (moduleExportsAssignments.length === 0 || defaultIsModuleExports === false) {\n exports.push(`${deconflictedDefaultExportName || exportsName} as default`);\n } else {\n exportDeclarations.push(\n `export default /*@__PURE__*/${HELPERS_NAME}.getDefaultExportFromCjs(${exportsName});`\n );\n }\n}\n","import { dirname, resolve } from 'path';\n\nimport { sync as nodeResolveSync } from 'resolve';\n\nimport {\n EXPORTS_SUFFIX,\n HELPERS_ID,\n MODULE_SUFFIX,\n PROXY_SUFFIX,\n REQUIRE_SUFFIX,\n wrapId\n} from './helpers';\nimport { normalizePathSlashes } from './utils';\n\nexport function isRequireStatement(node, scope) {\n if (!node) return false;\n if (node.type !== 'CallExpression') return false;\n\n // Weird case of `require()` or `module.require()` without arguments\n if (node.arguments.length === 0) return false;\n\n return isRequire(node.callee, scope);\n}\n\nfunction isRequire(node, scope) {\n return (\n (node.type === 'Identifier' && node.name === 'require' && !scope.contains('require')) ||\n (node.type === 'MemberExpression' && isModuleRequire(node, scope))\n );\n}\n\nexport function isModuleRequire({ object, property }, scope) {\n return (\n object.type === 'Identifier' &&\n object.name === 'module' &&\n property.type === 'Identifier' &&\n property.name === 'require' &&\n !scope.contains('module')\n );\n}\n\nexport function isStaticRequireStatement(node, scope) {\n if (!isRequireStatement(node, scope)) return false;\n return !hasDynamicArguments(node);\n}\n\nfunction hasDynamicArguments(node) {\n return (\n node.arguments.length > 1 ||\n (node.arguments[0].type !== 'Literal' &&\n (node.arguments[0].type !== 'TemplateLiteral' || node.arguments[0].expressions.length > 0))\n );\n}\n\nconst reservedMethod = { resolve: true, cache: true, main: true };\n\nexport function isNodeRequirePropertyAccess(parent) {\n return parent && parent.property && reservedMethod[parent.property.name];\n}\n\nexport function isIgnoredRequireStatement(requiredNode, ignoreRequire) {\n return ignoreRequire(requiredNode.arguments[0].value);\n}\n\nexport function getRequireStringArg(node) {\n return node.arguments[0].type === 'Literal'\n ? node.arguments[0].value\n : node.arguments[0].quasis[0].value.cooked;\n}\n\nexport function hasDynamicModuleForPath(source, id, dynamicRequireModuleSet) {\n if (!/^(?:\\.{0,2}[/\\\\]|[A-Za-z]:[/\\\\])/.test(source)) {\n try {\n const resolvedPath = normalizePathSlashes(nodeResolveSync(source, { basedir: dirname(id) }));\n if (dynamicRequireModuleSet.has(resolvedPath)) {\n return true;\n }\n } catch (ex) {\n // Probably a node.js internal module\n return false;\n }\n\n return false;\n }\n\n for (const attemptExt of ['', '.js', '.json']) {\n const resolvedPath = normalizePathSlashes(resolve(dirname(id), source + attemptExt));\n if (dynamicRequireModuleSet.has(resolvedPath)) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function getRequireHandlers() {\n const requiredSources = [];\n const requiredBySource = Object.create(null);\n const requiredByNode = new Map();\n const requireExpressionsWithUsedReturnValue = [];\n\n function addRequireStatement(sourceId, node, scope, usesReturnValue) {\n const required = getRequired(sourceId);\n requiredByNode.set(node, { scope, required });\n if (usesReturnValue) {\n required.nodesUsingRequired.push(node);\n requireExpressionsWithUsedReturnValue.push(node);\n }\n }\n\n function getRequired(sourceId) {\n if (!requiredBySource[sourceId]) {\n requiredSources.push(sourceId);\n\n requiredBySource[sourceId] = {\n source: sourceId,\n name: null,\n nodesUsingRequired: []\n };\n }\n\n return requiredBySource[sourceId];\n }\n\n function rewriteRequireExpressionsAndGetImportBlock(\n magicString,\n topLevelDeclarations,\n topLevelRequireDeclarators,\n reassignedNames,\n helpersName,\n dynamicRegisterSources,\n moduleName,\n exportsName,\n id,\n exportMode\n ) {\n setRemainingImportNamesAndRewriteRequires(\n requireExpressionsWithUsedReturnValue,\n requiredByNode,\n magicString\n );\n const imports = [];\n imports.push(`import * as ${helpersName} from \"${HELPERS_ID}\";`);\n if (exportMode === 'module') {\n imports.push(\n `import { __module as ${moduleName}, exports as ${exportsName} } from ${JSON.stringify(\n wrapId(id, MODULE_SUFFIX)\n )}`\n );\n } else if (exportMode === 'exports') {\n imports.push(\n `import { __exports as ${exportsName} } from ${JSON.stringify(wrapId(id, EXPORTS_SUFFIX))}`\n );\n }\n for (const source of dynamicRegisterSources) {\n imports.push(`import ${JSON.stringify(wrapId(source, REQUIRE_SUFFIX))};`);\n }\n for (const source of requiredSources) {\n if (!source.startsWith('\\0')) {\n imports.push(`import ${JSON.stringify(wrapId(source, REQUIRE_SUFFIX))};`);\n }\n const { name, nodesUsingRequired } = requiredBySource[source];\n imports.push(\n `import ${nodesUsingRequired.length ? `${name} from ` : ''}${JSON.stringify(\n source.startsWith('\\0') ? source : wrapId(source, PROXY_SUFFIX)\n )};`\n );\n }\n return imports.length ? `${imports.join('\\n')}\\n\\n` : '';\n }\n\n return {\n addRequireStatement,\n requiredSources,\n rewriteRequireExpressionsAndGetImportBlock\n };\n}\n\nfunction setRemainingImportNamesAndRewriteRequires(\n requireExpressionsWithUsedReturnValue,\n requiredByNode,\n magicString\n) {\n let uid = 0;\n for (const requireExpression of requireExpressionsWithUsedReturnValue) {\n const { required } = requiredByNode.get(requireExpression);\n if (!required.name) {\n let potentialName;\n const isUsedName = (node) => requiredByNode.get(node).scope.contains(potentialName);\n do {\n potentialName = `require$$${uid}`;\n uid += 1;\n } while (required.nodesUsingRequired.some(isUsedName));\n required.name = potentialName;\n }\n magicString.overwrite(requireExpression.start, requireExpression.end, required.name);\n }\n}\n","/* eslint-disable no-param-reassign, no-shadow, no-underscore-dangle, no-continue */\n\nimport { dirname } from 'path';\n\nimport { attachScopes, extractAssignedNames } from '@rollup/pluginutils';\nimport { walk } from 'estree-walker';\nimport MagicString from 'magic-string';\n\nimport {\n getKeypath,\n isDefineCompiledEsm,\n hasDefineEsmProperty,\n isFalsy,\n isReference,\n isShorthandProperty,\n isTruthy,\n KEY_COMPILED_ESM\n} from './ast-utils';\nimport { rewriteExportsAndGetExportsBlock, wrapCode } from './generate-exports';\nimport {\n getRequireHandlers,\n getRequireStringArg,\n hasDynamicModuleForPath,\n isIgnoredRequireStatement,\n isModuleRequire,\n isNodeRequirePropertyAccess,\n isRequireStatement,\n isStaticRequireStatement\n} from './generate-imports';\nimport {\n DYNAMIC_JSON_PREFIX,\n DYNAMIC_REGISTER_SUFFIX,\n isWrappedId,\n unwrapId,\n wrapId\n} from './helpers';\nimport { tryParse } from './parse';\nimport { deconflict, getName, getVirtualPathForDynamicRequirePath } from './utils';\n\nconst exportsPattern = /^(?:module\\.)?exports(?:\\.([a-zA-Z_$][a-zA-Z_$0-9]*))?$/;\n\nconst functionType = /^(?:FunctionDeclaration|FunctionExpression|ArrowFunctionExpression)$/;\n\nexport default function transformCommonjs(\n parse,\n code,\n id,\n isEsModule,\n ignoreGlobal,\n ignoreRequire,\n ignoreDynamicRequires,\n getIgnoreTryCatchRequireStatementMode,\n sourceMap,\n isDynamicRequireModulesEnabled,\n dynamicRequireModuleSet,\n disableWrap,\n commonDir,\n astCache,\n defaultIsModuleExports\n) {\n const ast = astCache || tryParse(parse, code, id);\n const magicString = new MagicString(code);\n const uses = {\n module: false,\n exports: false,\n global: false,\n require: false\n };\n let usesDynamicRequire = false;\n const virtualDynamicRequirePath =\n isDynamicRequireModulesEnabled && getVirtualPathForDynamicRequirePath(dirname(id), commonDir);\n let scope = attachScopes(ast, 'scope');\n let lexicalDepth = 0;\n let programDepth = 0;\n let currentTryBlockEnd = null;\n let shouldWrap = false;\n\n const globals = new Set();\n\n // TODO technically wrong since globals isn't populated yet, but ¯\\_(ツ)_/¯\n const HELPERS_NAME = deconflict([scope], globals, 'commonjsHelpers');\n const dynamicRegisterSources = new Set();\n let hasRemovedRequire = false;\n\n const {\n addRequireStatement,\n requiredSources,\n rewriteRequireExpressionsAndGetImportBlock\n } = getRequireHandlers();\n\n // See which names are assigned to. This is necessary to prevent\n // illegally replacing `var foo = require('foo')` with `import foo from 'foo'`,\n // where `foo` is later reassigned. (This happens in the wild. CommonJS, sigh)\n const reassignedNames = new Set();\n const topLevelDeclarations = [];\n const topLevelRequireDeclarators = new Set();\n const skippedNodes = new Set();\n const moduleAccessScopes = new Set([scope]);\n const exportsAccessScopes = new Set([scope]);\n const moduleExportsAssignments = [];\n let firstTopLevelModuleExportsAssignment = null;\n const exportsAssignmentsByName = new Map();\n const topLevelAssignments = new Set();\n const topLevelDefineCompiledEsmExpressions = [];\n\n walk(ast, {\n enter(node, parent) {\n if (skippedNodes.has(node)) {\n this.skip();\n return;\n }\n\n if (currentTryBlockEnd !== null && node.start > currentTryBlockEnd) {\n currentTryBlockEnd = null;\n }\n\n programDepth += 1;\n if (node.scope) ({ scope } = node);\n if (functionType.test(node.type)) lexicalDepth += 1;\n if (sourceMap) {\n magicString.addSourcemapLocation(node.start);\n magicString.addSourcemapLocation(node.end);\n }\n\n // eslint-disable-next-line default-case\n switch (node.type) {\n case 'TryStatement':\n if (currentTryBlockEnd === null) {\n currentTryBlockEnd = node.block.end;\n }\n return;\n case 'AssignmentExpression':\n if (node.left.type === 'MemberExpression') {\n const flattened = getKeypath(node.left);\n if (!flattened || scope.contains(flattened.name)) return;\n\n const exportsPatternMatch = exportsPattern.exec(flattened.keypath);\n if (!exportsPatternMatch || flattened.keypath === 'exports') return;\n\n const [, exportName] = exportsPatternMatch;\n uses[flattened.name] = true;\n\n // we're dealing with `module.exports = ...` or `[module.]exports.foo = ...` –\n if (flattened.keypath === 'module.exports') {\n moduleExportsAssignments.push(node);\n if (programDepth > 3) {\n moduleAccessScopes.add(scope);\n } else if (!firstTopLevelModuleExportsAssignment) {\n firstTopLevelModuleExportsAssignment = node;\n }\n\n if (defaultIsModuleExports === false) {\n shouldWrap = true;\n } else if (defaultIsModuleExports === 'auto') {\n if (node.right.type === 'ObjectExpression') {\n if (hasDefineEsmProperty(node.right)) {\n shouldWrap = true;\n }\n } else if (defaultIsModuleExports === false) {\n shouldWrap = true;\n }\n }\n } else if (exportName === KEY_COMPILED_ESM) {\n if (programDepth > 3) {\n shouldWrap = true;\n } else {\n topLevelDefineCompiledEsmExpressions.push(node);\n }\n } else {\n const exportsAssignments = exportsAssignmentsByName.get(exportName) || {\n nodes: [],\n scopes: new Set()\n };\n exportsAssignments.nodes.push(node);\n exportsAssignments.scopes.add(scope);\n exportsAccessScopes.add(scope);\n exportsAssignmentsByName.set(exportName, exportsAssignments);\n if (programDepth <= 3) {\n topLevelAssignments.add(node);\n }\n }\n\n skippedNodes.add(node.left);\n } else {\n for (const name of extractAssignedNames(node.left)) {\n reassignedNames.add(name);\n }\n }\n return;\n case 'CallExpression': {\n if (isDefineCompiledEsm(node)) {\n if (programDepth === 3 && parent.type === 'ExpressionStatement') {\n // skip special handling for [module.]exports until we know we render this\n skippedNodes.add(node.arguments[0]);\n topLevelDefineCompiledEsmExpressions.push(node);\n } else {\n shouldWrap = true;\n }\n return;\n }\n\n if (\n node.callee.object &&\n node.callee.object.name === 'require' &&\n node.callee.property.name === 'resolve' &&\n hasDynamicModuleForPath(id, '/', dynamicRequireModuleSet)\n ) {\n const requireNode = node.callee.object;\n magicString.appendLeft(\n node.end - 1,\n `,${JSON.stringify(\n dirname(id) === '.' ? null /* default behavior */ : virtualDynamicRequirePath\n )}`\n );\n magicString.overwrite(\n requireNode.start,\n requireNode.end,\n `${HELPERS_NAME}.commonjsRequire`,\n {\n storeName: true\n }\n );\n return;\n }\n\n if (!isStaticRequireStatement(node, scope)) return;\n if (!isDynamicRequireModulesEnabled) {\n skippedNodes.add(node.callee);\n }\n if (!isIgnoredRequireStatement(node, ignoreRequire)) {\n skippedNodes.add(node.callee);\n const usesReturnValue = parent.type !== 'ExpressionStatement';\n\n let canConvertRequire = true;\n let shouldRemoveRequireStatement = false;\n\n if (currentTryBlockEnd !== null) {\n ({\n canConvertRequire,\n shouldRemoveRequireStatement\n } = getIgnoreTryCatchRequireStatementMode(node.arguments[0].value));\n\n if (shouldRemoveRequireStatement) {\n hasRemovedRequire = true;\n }\n }\n\n let sourceId = getRequireStringArg(node);\n const isDynamicRegister = isWrappedId(sourceId, DYNAMIC_REGISTER_SUFFIX);\n if (isDynamicRegister) {\n sourceId = unwrapId(sourceId, DYNAMIC_REGISTER_SUFFIX);\n if (sourceId.endsWith('.json')) {\n sourceId = DYNAMIC_JSON_PREFIX + sourceId;\n }\n dynamicRegisterSources.add(wrapId(sourceId, DYNAMIC_REGISTER_SUFFIX));\n } else {\n if (\n !sourceId.endsWith('.json') &&\n hasDynamicModuleForPath(sourceId, id, dynamicRequireModuleSet)\n ) {\n if (shouldRemoveRequireStatement) {\n magicString.overwrite(node.start, node.end, `undefined`);\n } else if (canConvertRequire) {\n magicString.overwrite(\n node.start,\n node.end,\n `${HELPERS_NAME}.commonjsRequire(${JSON.stringify(\n getVirtualPathForDynamicRequirePath(sourceId, commonDir)\n )}, ${JSON.stringify(\n dirname(id) === '.' ? null /* default behavior */ : virtualDynamicRequirePath\n )})`\n );\n usesDynamicRequire = true;\n }\n return;\n }\n\n if (canConvertRequire) {\n addRequireStatement(sourceId, node, scope, usesReturnValue);\n }\n }\n\n if (usesReturnValue) {\n if (shouldRemoveRequireStatement) {\n magicString.overwrite(node.start, node.end, `undefined`);\n return;\n }\n\n if (\n parent.type === 'VariableDeclarator' &&\n !scope.parent &&\n parent.id.type === 'Identifier'\n ) {\n // This will allow us to reuse this variable name as the imported variable if it is not reassigned\n // and does not conflict with variables in other places where this is imported\n topLevelRequireDeclarators.add(parent);\n }\n } else {\n // This is a bare import, e.g. `require('foo');`\n\n if (!canConvertRequire && !shouldRemoveRequireStatement) {\n return;\n }\n\n magicString.remove(parent.start, parent.end);\n }\n }\n return;\n }\n case 'ConditionalExpression':\n case 'IfStatement':\n // skip dead branches\n if (isFalsy(node.test)) {\n skippedNodes.add(node.consequent);\n } else if (node.alternate && isTruthy(node.test)) {\n skippedNodes.add(node.alternate);\n }\n return;\n case 'Identifier': {\n const { name } = node;\n if (!(isReference(node, parent) && !scope.contains(name))) return;\n switch (name) {\n case 'require':\n if (isNodeRequirePropertyAccess(parent)) {\n if (hasDynamicModuleForPath(id, '/', dynamicRequireModuleSet)) {\n if (parent.property.name === 'cache') {\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsRequire`, {\n storeName: true\n });\n }\n }\n\n return;\n }\n\n if (isDynamicRequireModulesEnabled && isRequireStatement(parent, scope)) {\n magicString.appendLeft(\n parent.end - 1,\n `,${JSON.stringify(\n dirname(id) === '.' ? null /* default behavior */ : virtualDynamicRequirePath\n )}`\n );\n }\n if (!ignoreDynamicRequires) {\n if (isShorthandProperty(parent)) {\n magicString.appendRight(node.end, `: ${HELPERS_NAME}.commonjsRequire`);\n } else {\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsRequire`, {\n storeName: true\n });\n }\n }\n usesDynamicRequire = true;\n return;\n case 'module':\n case 'exports':\n shouldWrap = true;\n uses[name] = true;\n return;\n case 'global':\n uses.global = true;\n if (!ignoreGlobal) {\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsGlobal`, {\n storeName: true\n });\n }\n return;\n case 'define':\n magicString.overwrite(node.start, node.end, 'undefined', {\n storeName: true\n });\n return;\n default:\n globals.add(name);\n return;\n }\n }\n case 'MemberExpression':\n if (!isDynamicRequireModulesEnabled && isModuleRequire(node, scope)) {\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsRequire`, {\n storeName: true\n });\n skippedNodes.add(node.object);\n skippedNodes.add(node.property);\n }\n return;\n case 'ReturnStatement':\n // if top-level return, we need to wrap it\n if (lexicalDepth === 0) {\n shouldWrap = true;\n }\n return;\n case 'ThisExpression':\n // rewrite top-level `this` as `commonjsHelpers.commonjsGlobal`\n if (lexicalDepth === 0) {\n uses.global = true;\n if (!ignoreGlobal) {\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsGlobal`, {\n storeName: true\n });\n }\n }\n return;\n case 'UnaryExpression':\n // rewrite `typeof module`, `typeof module.exports` and `typeof exports` (https://github.com/rollup/rollup-plugin-commonjs/issues/151)\n if (node.operator === 'typeof') {\n const flattened = getKeypath(node.argument);\n if (!flattened) return;\n\n if (scope.contains(flattened.name)) return;\n\n if (\n flattened.keypath === 'module.exports' ||\n flattened.keypath === 'module' ||\n flattened.keypath === 'exports'\n ) {\n magicString.overwrite(node.start, node.end, `'object'`, {\n storeName: false\n });\n }\n }\n return;\n case 'VariableDeclaration':\n if (!scope.parent) {\n topLevelDeclarations.push(node);\n }\n }\n },\n\n leave(node) {\n programDepth -= 1;\n if (node.scope) scope = scope.parent;\n if (functionType.test(node.type)) lexicalDepth -= 1;\n }\n });\n\n const nameBase = getName(id);\n const exportsName = deconflict([...exportsAccessScopes], globals, nameBase);\n const moduleName = deconflict([...moduleAccessScopes], globals, `${nameBase}Module`);\n const deconflictedExportNames = Object.create(null);\n for (const [exportName, { scopes }] of exportsAssignmentsByName) {\n deconflictedExportNames[exportName] = deconflict([...scopes], globals, exportName);\n }\n\n // We cannot wrap ES/mixed modules\n shouldWrap =\n !isEsModule &&\n !disableWrap &&\n (shouldWrap || (uses.exports && moduleExportsAssignments.length > 0));\n const detectWrappedDefault =\n shouldWrap &&\n (topLevelDefineCompiledEsmExpressions.length > 0 || code.indexOf('__esModule') >= 0);\n\n if (\n !(\n requiredSources.length ||\n dynamicRegisterSources.size ||\n uses.module ||\n uses.exports ||\n uses.require ||\n usesDynamicRequire ||\n hasRemovedRequire ||\n topLevelDefineCompiledEsmExpressions.length > 0\n ) &&\n (ignoreGlobal || !uses.global)\n ) {\n return { meta: { commonjs: { isCommonJS: false } } };\n }\n\n let leadingComment = '';\n if (code.startsWith('/*')) {\n const commentEnd = code.indexOf('*/', 2) + 2;\n leadingComment = `${code.slice(0, commentEnd)}\\n`;\n magicString.remove(0, commentEnd).trim();\n }\n\n const exportMode = shouldWrap\n ? uses.module\n ? 'module'\n : 'exports'\n : firstTopLevelModuleExportsAssignment\n ? exportsAssignmentsByName.size === 0 && topLevelDefineCompiledEsmExpressions.length === 0\n ? 'replace'\n : 'module'\n : moduleExportsAssignments.length === 0\n ? 'exports'\n : 'module';\n\n const importBlock = rewriteRequireExpressionsAndGetImportBlock(\n magicString,\n topLevelDeclarations,\n topLevelRequireDeclarators,\n reassignedNames,\n HELPERS_NAME,\n dynamicRegisterSources,\n moduleName,\n exportsName,\n id,\n exportMode\n );\n\n const exportBlock = isEsModule\n ? ''\n : rewriteExportsAndGetExportsBlock(\n magicString,\n moduleName,\n exportsName,\n shouldWrap,\n moduleExportsAssignments,\n firstTopLevelModuleExportsAssignment,\n exportsAssignmentsByName,\n topLevelAssignments,\n topLevelDefineCompiledEsmExpressions,\n deconflictedExportNames,\n code,\n HELPERS_NAME,\n exportMode,\n detectWrappedDefault,\n defaultIsModuleExports\n );\n\n if (shouldWrap) {\n wrapCode(magicString, uses, moduleName, exportsName);\n }\n\n magicString\n .trim()\n .prepend(leadingComment + importBlock)\n .append(exportBlock);\n\n return {\n code: magicString.toString(),\n map: sourceMap ? magicString.generateMap() : null,\n syntheticNamedExports: isEsModule ? false : '__moduleExports',\n meta: { commonjs: { isCommonJS: !isEsModule } }\n };\n}\n","import { dirname, extname } from 'path';\n\nimport { createFilter } from '@rollup/pluginutils';\nimport getCommonDir from 'commondir';\n\nimport { peerDependencies } from '../package.json';\n\nimport analyzeTopLevelStatements from './analyze-top-level-statements';\n\nimport {\n getDynamicPackagesEntryIntro,\n getDynamicPackagesModule,\n isDynamicModuleImport\n} from './dynamic-packages-manager';\nimport getDynamicRequirePaths from './dynamic-require-paths';\nimport {\n DYNAMIC_JSON_PREFIX,\n DYNAMIC_PACKAGES_ID,\n DYNAMIC_REGISTER_SUFFIX,\n EXPORTS_SUFFIX,\n EXTERNAL_SUFFIX,\n getHelpersModule,\n HELPERS_ID,\n isWrappedId,\n MODULE_SUFFIX,\n PROXY_SUFFIX,\n unwrapId\n} from './helpers';\nimport { setCommonJSMetaPromise } from './is-cjs';\nimport { hasCjsKeywords } from './parse';\nimport {\n getDynamicJsonProxy,\n getDynamicRequireProxy,\n getSpecificHelperProxy,\n getStaticRequireProxy,\n getUnknownRequireProxy\n} from './proxies';\nimport getResolveId from './resolve-id';\nimport validateRollupVersion from './rollup-version';\nimport transformCommonjs from './transform-commonjs';\nimport { getName, getVirtualPathForDynamicRequirePath, normalizePathSlashes } from './utils';\n\nexport default function commonjs(options = {}) {\n const extensions = options.extensions || ['.js'];\n const filter = createFilter(options.include, options.exclude);\n const {\n ignoreGlobal,\n ignoreDynamicRequires,\n requireReturnsDefault: requireReturnsDefaultOption,\n esmExternals\n } = options;\n const getRequireReturnsDefault =\n typeof requireReturnsDefaultOption === 'function'\n ? requireReturnsDefaultOption\n : () => requireReturnsDefaultOption;\n let esmExternalIds;\n const isEsmExternal =\n typeof esmExternals === 'function'\n ? esmExternals\n : Array.isArray(esmExternals)\n ? ((esmExternalIds = new Set(esmExternals)), (id) => esmExternalIds.has(id))\n : () => esmExternals;\n const defaultIsModuleExports =\n typeof options.defaultIsModuleExports === 'boolean' ? options.defaultIsModuleExports : 'auto';\n\n const { dynamicRequireModuleSet, dynamicRequireModuleDirPaths } = getDynamicRequirePaths(\n options.dynamicRequireTargets\n );\n const isDynamicRequireModulesEnabled = dynamicRequireModuleSet.size > 0;\n const commonDir = isDynamicRequireModulesEnabled\n ? getCommonDir(null, Array.from(dynamicRequireModuleSet).concat(process.cwd()))\n : null;\n\n const esModulesWithDefaultExport = new Set();\n const esModulesWithNamedExports = new Set();\n const commonJsMetaPromises = new Map();\n\n const ignoreRequire =\n typeof options.ignore === 'function'\n ? options.ignore\n : Array.isArray(options.ignore)\n ? (id) => options.ignore.includes(id)\n : () => false;\n\n const getIgnoreTryCatchRequireStatementMode = (id) => {\n const mode =\n typeof options.ignoreTryCatch === 'function'\n ? options.ignoreTryCatch(id)\n : Array.isArray(options.ignoreTryCatch)\n ? options.ignoreTryCatch.includes(id)\n : typeof options.ignoreTryCatch !== 'undefined'\n ? options.ignoreTryCatch\n : true;\n\n return {\n canConvertRequire: mode !== 'remove' && mode !== true,\n shouldRemoveRequireStatement: mode === 'remove'\n };\n };\n\n const resolveId = getResolveId(extensions);\n\n const sourceMap = options.sourceMap !== false;\n\n function transformAndCheckExports(code, id) {\n if (isDynamicRequireModulesEnabled && this.getModuleInfo(id).isEntry) {\n // eslint-disable-next-line no-param-reassign\n code =\n getDynamicPackagesEntryIntro(dynamicRequireModuleDirPaths, dynamicRequireModuleSet) + code;\n }\n\n const { isEsModule, hasDefaultExport, hasNamedExports, ast } = analyzeTopLevelStatements(\n this.parse,\n code,\n id\n );\n if (hasDefaultExport) {\n esModulesWithDefaultExport.add(id);\n }\n if (hasNamedExports) {\n esModulesWithNamedExports.add(id);\n }\n\n if (\n !dynamicRequireModuleSet.has(normalizePathSlashes(id)) &&\n (!hasCjsKeywords(code, ignoreGlobal) || (isEsModule && !options.transformMixedEsModules))\n ) {\n return { meta: { commonjs: { isCommonJS: false } } };\n }\n\n // avoid wrapping as this is a commonjsRegister call\n const disableWrap = isWrappedId(id, DYNAMIC_REGISTER_SUFFIX);\n if (disableWrap) {\n // eslint-disable-next-line no-param-reassign\n id = unwrapId(id, DYNAMIC_REGISTER_SUFFIX);\n }\n\n return transformCommonjs(\n this.parse,\n code,\n id,\n isEsModule,\n ignoreGlobal || isEsModule,\n ignoreRequire,\n ignoreDynamicRequires && !isDynamicRequireModulesEnabled,\n getIgnoreTryCatchRequireStatementMode,\n sourceMap,\n isDynamicRequireModulesEnabled,\n dynamicRequireModuleSet,\n disableWrap,\n commonDir,\n ast,\n defaultIsModuleExports\n );\n }\n\n return {\n name: 'commonjs',\n\n buildStart() {\n validateRollupVersion(this.meta.rollupVersion, peerDependencies.rollup);\n if (options.namedExports != null) {\n this.warn(\n 'The namedExports option from \"@rollup/plugin-commonjs\" is deprecated. Named exports are now handled automatically.'\n );\n }\n },\n\n resolveId,\n\n load(id) {\n if (id === HELPERS_ID) {\n return getHelpersModule(isDynamicRequireModulesEnabled, ignoreDynamicRequires);\n }\n\n if (id.startsWith(HELPERS_ID)) {\n return getSpecificHelperProxy(id);\n }\n\n if (isWrappedId(id, MODULE_SUFFIX)) {\n const actualId = unwrapId(id, MODULE_SUFFIX);\n let name = getName(actualId);\n let code;\n if (isDynamicRequireModulesEnabled) {\n if (['modulePath', 'commonjsRequire', 'createModule'].includes(name)) {\n name = `${name}_`;\n }\n code =\n `import {commonjsRequire, createModule} from \"${HELPERS_ID}\";\\n` +\n `var ${name} = createModule(${JSON.stringify(\n getVirtualPathForDynamicRequirePath(dirname(actualId), commonDir)\n )});\\n` +\n `export {${name} as __module}`;\n } else {\n code = `var ${name} = {exports: {}}; export {${name} as __module}`;\n }\n return {\n code,\n syntheticNamedExports: '__module',\n meta: { commonjs: { isCommonJS: false } }\n };\n }\n\n if (isWrappedId(id, EXPORTS_SUFFIX)) {\n const actualId = unwrapId(id, EXPORTS_SUFFIX);\n const name = getName(actualId);\n return {\n code: `var ${name} = {}; export {${name} as __exports}`,\n meta: { commonjs: { isCommonJS: false } }\n };\n }\n\n if (isWrappedId(id, EXTERNAL_SUFFIX)) {\n const actualId = unwrapId(id, EXTERNAL_SUFFIX);\n return getUnknownRequireProxy(\n actualId,\n isEsmExternal(actualId) ? getRequireReturnsDefault(actualId) : true\n );\n }\n\n if (id === DYNAMIC_PACKAGES_ID) {\n return getDynamicPackagesModule(dynamicRequireModuleDirPaths, commonDir);\n }\n\n if (id.startsWith(DYNAMIC_JSON_PREFIX)) {\n return getDynamicJsonProxy(id, commonDir);\n }\n\n if (isDynamicModuleImport(id, dynamicRequireModuleSet)) {\n return `export default require(${JSON.stringify(normalizePathSlashes(id))});`;\n }\n\n if (isWrappedId(id, DYNAMIC_REGISTER_SUFFIX)) {\n return getDynamicRequireProxy(\n normalizePathSlashes(unwrapId(id, DYNAMIC_REGISTER_SUFFIX)),\n commonDir\n );\n }\n\n if (isWrappedId(id, PROXY_SUFFIX)) {\n const actualId = unwrapId(id, PROXY_SUFFIX);\n return getStaticRequireProxy(\n actualId,\n getRequireReturnsDefault(actualId),\n esModulesWithDefaultExport,\n esModulesWithNamedExports,\n commonJsMetaPromises\n );\n }\n\n return null;\n },\n\n transform(code, rawId) {\n let id = rawId;\n\n if (isWrappedId(id, DYNAMIC_REGISTER_SUFFIX)) {\n id = unwrapId(id, DYNAMIC_REGISTER_SUFFIX);\n }\n\n const extName = extname(id);\n if (\n extName !== '.cjs' &&\n id !== DYNAMIC_PACKAGES_ID &&\n !id.startsWith(DYNAMIC_JSON_PREFIX) &&\n (!filter(id) || !extensions.includes(extName))\n ) {\n return null;\n }\n\n try {\n return transformAndCheckExports.call(this, code, rawId);\n } catch (err) {\n return this.error(err, err.loc);\n }\n },\n\n moduleParsed({ id, meta: { commonjs: commonjsMeta } }) {\n if (commonjsMeta && commonjsMeta.isCommonJS != null) {\n setCommonJSMetaPromise(commonJsMetaPromises, id, commonjsMeta);\n return;\n }\n setCommonJSMetaPromise(commonJsMetaPromises, id, null);\n }\n };\n}\n"],"names":["nodeResolveSync"],"mappings":"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AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC;AACF;AACA,MAAM,oBAAoB,GAAG,CAAC,wNAAwN,CAAC,CAAC;AACxP;AACA,MAAM,kBAAkB,GAAG,CAAC;AAC5B;AACA,CAAC,EAAE,oBAAoB,CAAC;AACxB;AACA,CAAC,CAAC;AACF;AACA,MAAM,iBAAiB,GAAG,CAAC,qBAAqB,KAAK,CAAC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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"}
\No newline at end of file