@rollup/plugin-commonjs 11.0.2 → 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +27 -0
- package/dist/index.es.js +635 -209
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +632 -206
- package/dist/index.js.map +1 -1
- package/package.json +8 -6
- package/types/index.d.ts +55 -41
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/helpers.js","../src/is-cjs.js","../src/resolve-id.js","../src/ast-utils.js","../src/utils.js","../src/transform.js","../src/index.js"],"sourcesContent":["export const PROXY_SUFFIX = '?commonjs-proxy';\nexport const getProxyId = (id) => `\\0${id}${PROXY_SUFFIX}`;\nexport const getIdFromProxyId = (proxyId) => proxyId.slice(1, -PROXY_SUFFIX.length);\n\nexport const EXTERNAL_SUFFIX = '?commonjs-external';\nexport const getExternalProxyId = (id) => `\\0${id}${EXTERNAL_SUFFIX}`;\nexport const getIdFromExternalProxyId = (proxyId) => proxyId.slice(1, -EXTERNAL_SUFFIX.length);\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.\nexport const HELPERS = `\nexport var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nexport function commonjsRequire () {\n\tthrow new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');\n}\n\nexport function unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nexport function createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nexport function getCjsExportFromNamespace (n) {\n\treturn n && n['default'] || n;\n}`;\n","/* eslint-disable no-undefined */\nconst isCjsPromises = new Map();\n\nexport function getIsCjsPromise(id) {\n let isCjsPromise = isCjsPromises.get(id);\n if (isCjsPromise) return isCjsPromise.promise;\n\n const promise = new Promise((resolve) => {\n isCjsPromise = {\n resolve,\n promise: undefined\n };\n isCjsPromises.set(id, isCjsPromise);\n });\n isCjsPromise.promise = promise;\n\n return promise;\n}\n\nexport function setIsCjsPromise(id, resolution) {\n const isCjsPromise = isCjsPromises.get(id);\n if (isCjsPromise) {\n if (isCjsPromise.resolve) {\n isCjsPromise.resolve(resolution);\n isCjsPromise.resolve = undefined;\n }\n } else {\n isCjsPromises.set(id, { promise: Promise.resolve(resolution), resolve: undefined });\n }\n}\n","/* eslint-disable no-param-reassign, no-undefined */\nimport { statSync } from 'fs';\nimport { dirname, resolve, sep } from 'path';\n\nimport {\n getExternalProxyId,\n getIdFromProxyId,\n getProxyId,\n HELPERS_ID,\n PROXY_SUFFIX\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 function resolveId(importee, importer) {\n const isProxyModule = importee.endsWith(PROXY_SUFFIX);\n if (isProxyModule) {\n importee = getIdFromProxyId(importee);\n } else if (importee.startsWith('\\0')) {\n if (importee === HELPERS_ID) {\n return importee;\n }\n return null;\n }\n\n if (importer && importer.endsWith(PROXY_SUFFIX)) {\n importer = getIdFromProxyId(importer);\n }\n\n return this.resolve(importee, importer, { skipSelf: true }).then((resolved) => {\n if (!resolved) {\n resolved = resolveExtensions(importee, importer);\n }\n if (isProxyModule) {\n if (!resolved) {\n return { id: getExternalProxyId(importee), external: false };\n }\n resolved.id = (resolved.external ? getExternalProxyId : getProxyId)(resolved.id);\n resolved.external = false;\n return resolved;\n }\n return resolved;\n });\n }\n\n return resolveId;\n}\n","/* eslint-disable no-undefined */\nexport { 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\nconst extractors = {\n Identifier(names, node) {\n names.push(node.name);\n },\n\n ObjectPattern(names, node) {\n node.properties.forEach((prop) => {\n getExtractor(prop.value.type)(names, prop.value);\n });\n },\n\n ArrayPattern(names, node) {\n node.elements.forEach((element) => {\n if (!element) return;\n getExtractor(element.type)(names, element);\n });\n },\n\n RestElement(names, node) {\n getExtractor(node.argument.type)(names, node.argument);\n },\n\n AssignmentPattern(names, node) {\n getExtractor(node.left.type)(names, node.left);\n }\n};\n\nexport function flatten(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 function extractNames(node) {\n const names = [];\n extractors[node.type](names, node);\n return names;\n}\n\nfunction getExtractor(type) {\n const extractor = extractors[type];\n if (!extractor) throw new SyntaxError(`${type} pattern not supported.`);\n return extractor;\n}\n\nexport function isTruthy(node) {\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 undefined;\n}\n\nexport function isFalsy(node) {\n return not(isTruthy(node));\n}\n\nfunction not(value) {\n return value === undefined ? value : !value;\n}\n\nfunction equals(a, b, strict) {\n if (a.type !== b.type) return undefined;\n // eslint-disable-next-line eqeqeq\n if (a.type === 'Literal') return strict ? a.value === b.value : a.value == b.value;\n return undefined;\n}\n","/* eslint-disable import/prefer-default-export */\nimport { basename, dirname, extname, sep } from 'path';\n\nimport { makeLegalIdentifier } from '@rollup/pluginutils';\n\nexport function getName(id) {\n const name = makeLegalIdentifier(basename(id, extname(id)));\n if (name !== 'index') {\n return name;\n }\n const segments = dirname(id).split(sep);\n return makeLegalIdentifier(segments[segments.length - 1]);\n}\n","/* eslint-disable no-param-reassign, no-shadow, no-underscore-dangle */\nimport { walk } from 'estree-walker';\nimport MagicString from 'magic-string';\nimport { attachScopes, extractAssignedNames, makeLegalIdentifier } from '@rollup/pluginutils';\n\nimport { flatten, isFalsy, isReference, isTruthy } from './ast-utils';\nimport { getProxyId, HELPERS_ID } from './helpers';\nimport { getName } from './utils';\n\nconst reserved = 'process location abstract arguments boolean break byte case catch char class const continue debugger default delete do double else enum eval export extends false final finally float for from function goto if implements import in instanceof int interface let long native new null package private protected public return short static super switch synchronized this throw throws transient true try typeof var void volatile while with yield'.split(\n ' '\n);\nconst blacklist = { __esModule: true };\nreserved.forEach((word) => (blacklist[word] = true));\n\nconst exportsPattern = /^(?:module\\.)?exports(?:\\.([a-zA-Z_$][a-zA-Z_$0-9]*))?$/;\n\nconst firstpassGlobal = /\\b(?:require|module|exports|global)\\b/;\nconst firstpassNoGlobal = /\\b(?:require|module|exports)\\b/;\nconst importExportDeclaration = /^(?:Import|Export(?:Named|Default))Declaration/;\nconst functionType = /^(?:FunctionDeclaration|FunctionExpression|ArrowFunctionExpression)$/;\n\nfunction deconflict(scope, globals, identifier) {\n let i = 1;\n let deconflicted = identifier;\n\n while (scope.contains(deconflicted) || globals.has(deconflicted) || deconflicted in blacklist) {\n deconflicted = `${identifier}_${i}`;\n i += 1;\n }\n scope.declarations[deconflicted] = true;\n\n return deconflicted;\n}\n\nfunction 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\nexport function hasCjsKeywords(code, ignoreGlobal) {\n const firstpass = ignoreGlobal ? firstpassNoGlobal : firstpassGlobal;\n return firstpass.test(code);\n}\n\nexport function checkEsModule(parse, code, id) {\n const ast = tryParse(parse, code, id);\n\n let isEsModule = false;\n for (const node of ast.body) {\n if (node.type === 'ExportDefaultDeclaration')\n return { isEsModule: true, hasDefaultExport: true, ast };\n if (node.type === 'ExportNamedDeclaration') {\n isEsModule = true;\n for (const specifier of node.specifiers) {\n if (specifier.exported.name === 'default') {\n return { isEsModule: true, hasDefaultExport: true, ast };\n }\n }\n } else if (importExportDeclaration.test(node.type)) isEsModule = true;\n }\n\n return { isEsModule, hasDefaultExport: false, ast };\n}\n\nexport function transformCommonjs(\n parse,\n code,\n id,\n isEntry,\n ignoreGlobal,\n ignoreRequire,\n customNamedExports,\n sourceMap,\n allowDynamicRequire,\n astCache\n) {\n const ast = astCache || tryParse(parse, code, id);\n\n const magicString = new MagicString(code);\n\n const required = {};\n // Because objects have no guaranteed ordering, yet we need it,\n // we need to keep track of the order in a array\n const sources = [];\n\n let uid = 0;\n\n let scope = attachScopes(ast, 'scope');\n const uses = { module: false, exports: false, global: false, require: false };\n\n let lexicalDepth = 0;\n let programDepth = 0;\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\n const namedExports = {};\n\n // TODO handle transpiled modules\n let shouldWrap = /__esModule/.test(code);\n\n function isRequireStatement(node) {\n if (!node) return false;\n if (node.type !== 'CallExpression') return false;\n if (node.callee.name !== 'require' || scope.contains('require')) return false;\n // Weird case of require() without arguments\n if (node.arguments.length === 0) return false;\n return true;\n }\n\n function 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\n function isStaticRequireStatement(node) {\n if (!isRequireStatement(node)) return false;\n if (hasDynamicArguments(node)) return false;\n if (ignoreRequire(node.arguments[0].value)) return false;\n return true;\n }\n\n 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\n function getRequired(node, name) {\n const sourceId = getRequireStringArg(node);\n const existing = required[sourceId];\n // eslint-disable-next-line no-undefined\n if (existing === undefined) {\n if (!name) {\n do {\n name = `require$$${uid}`;\n uid += 1;\n } while (scope.contains(name));\n }\n\n sources.push(sourceId);\n required[sourceId] = { source: sourceId, name, importsDefault: false };\n }\n\n return required[sourceId];\n }\n\n // do a first pass, 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 assignedTo = new Set();\n walk(ast, {\n enter(node) {\n if (node.type !== 'AssignmentExpression') return;\n if (node.left.type === 'MemberExpression') return;\n\n extractAssignedNames(node.left).forEach((name) => {\n assignedTo.add(name);\n });\n }\n });\n\n walk(ast, {\n enter(node, parent) {\n if (sourceMap) {\n magicString.addSourcemapLocation(node.start);\n magicString.addSourcemapLocation(node.end);\n }\n\n // skip dead branches\n if (parent && (parent.type === 'IfStatement' || parent.type === 'ConditionalExpression')) {\n if (node === parent.consequent && isFalsy(parent.test)) {\n this.skip();\n return;\n }\n if (node === parent.alternate && isTruthy(parent.test)) {\n this.skip();\n return;\n }\n }\n\n if (node._skip) {\n this.skip();\n return;\n }\n\n programDepth += 1;\n\n if (node.scope) ({ scope } = node);\n if (functionType.test(node.type)) lexicalDepth += 1;\n\n // if toplevel return, we need to wrap it\n if (node.type === 'ReturnStatement' && lexicalDepth === 0) {\n shouldWrap = true;\n }\n\n // rewrite `this` as `commonjsHelpers.commonjsGlobal`\n if (node.type === 'ThisExpression' && lexicalDepth === 0) {\n uses.global = true;\n if (!ignoreGlobal)\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsGlobal`, {\n storeName: true\n });\n return;\n }\n\n // rewrite `typeof module`, `typeof module.exports` and `typeof exports` (https://github.com/rollup/rollup-plugin-commonjs/issues/151)\n if (node.type === 'UnaryExpression' && node.operator === 'typeof') {\n const flattened = flatten(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'`, { storeName: false });\n }\n }\n\n // rewrite `require` (if not already handled) `global` and `define`, and handle free references to\n // `module` and `exports` as these mean we need to wrap the module in commonjsHelpers.createCommonjsModule\n if (node.type === 'Identifier') {\n if (isReference(node, parent) && !scope.contains(node.name)) {\n if (node.name in uses) {\n if (node.name === 'require') {\n if (allowDynamicRequire) return;\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsRequire`, {\n storeName: true\n });\n }\n\n uses[node.name] = true;\n if (node.name === 'global' && !ignoreGlobal) {\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsGlobal`, {\n storeName: true\n });\n }\n\n // if module or exports are used outside the context of an assignment\n // expression, we need to wrap the module\n if (node.name === 'module' || node.name === 'exports') {\n shouldWrap = true;\n }\n }\n\n if (node.name === 'define') {\n magicString.overwrite(node.start, node.end, 'undefined', { storeName: true });\n }\n\n globals.add(node.name);\n }\n\n return;\n }\n\n // Is this an assignment to exports or module.exports?\n if (node.type === 'AssignmentExpression') {\n if (node.left.type !== 'MemberExpression') return;\n\n const flattened = flatten(node.left);\n if (!flattened) return;\n\n if (scope.contains(flattened.name)) return;\n\n const match = exportsPattern.exec(flattened.keypath);\n if (!match || flattened.keypath === 'exports') return;\n\n uses[flattened.name] = true;\n\n // we're dealing with `module.exports = ...` or `[module.]exports.foo = ...` –\n // if this isn't top-level, we'll need to wrap the module\n if (programDepth > 3) shouldWrap = true;\n\n node.left._skip = true;\n\n if (flattened.keypath === 'module.exports' && node.right.type === 'ObjectExpression') {\n node.right.properties.forEach((prop) => {\n if (prop.computed || !('key' in prop) || prop.key.type !== 'Identifier') return;\n const { name } = prop.key;\n if (name === makeLegalIdentifier(name)) namedExports[name] = true;\n });\n return;\n }\n\n if (match[1]) namedExports[match[1]] = true;\n return;\n }\n\n // if this is `var x = require('x')`, we can do `import x from 'x'`\n if (\n node.type === 'VariableDeclarator' &&\n node.id.type === 'Identifier' &&\n isStaticRequireStatement(node.init)\n ) {\n // for now, only do this for top-level requires. maybe fix this in future\n if (scope.parent) return;\n\n // edge case — CJS allows you to assign to imports. ES doesn't\n if (assignedTo.has(node.id.name)) return;\n\n const required = getRequired(node.init, node.id.name);\n required.importsDefault = true;\n\n if (required.name === node.id.name) {\n node._shouldRemove = true;\n }\n }\n\n if (!isStaticRequireStatement(node)) return;\n\n const required = getRequired(node);\n\n if (parent.type === 'ExpressionStatement') {\n // is a bare import, e.g. `require('foo');`\n magicString.remove(parent.start, parent.end);\n } else {\n required.importsDefault = true;\n magicString.overwrite(node.start, node.end, required.name);\n }\n\n node.callee._skip = true;\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 if (node.type === 'VariableDeclaration') {\n let keepDeclaration = false;\n let c = node.declarations[0].start;\n\n for (let i = 0; i < node.declarations.length; i += 1) {\n const declarator = node.declarations[i];\n\n if (declarator._shouldRemove) {\n magicString.remove(c, declarator.end);\n } else {\n if (!keepDeclaration) {\n magicString.remove(c, declarator.start);\n keepDeclaration = true;\n }\n\n c = declarator.end;\n }\n }\n\n if (!keepDeclaration) {\n magicString.remove(node.start, node.end);\n }\n }\n }\n });\n\n if (\n !sources.length &&\n !uses.module &&\n !uses.exports &&\n !uses.require &&\n (ignoreGlobal || !uses.global)\n ) {\n if (Object.keys(namedExports).length) {\n throw new Error(\n `Custom named exports were specified for ${id} but it does not appear to be a CommonJS module`\n );\n }\n // not a CommonJS module\n return null;\n }\n\n const includeHelpers = shouldWrap || uses.global || uses.require;\n const importBlock = `${(includeHelpers\n ? [`import * as ${HELPERS_NAME} from '${HELPERS_ID}';`]\n : []\n )\n .concat(\n sources.map(\n (source) =>\n // import the actual module before the proxy, so that we know\n // what kind of proxy to build\n `import '${source}';`\n ),\n sources.map((source) => {\n const { name, importsDefault } = required[source];\n return `import ${importsDefault ? `${name} from ` : ``}'${getProxyId(source)}';`;\n })\n )\n .join('\\n')}\\n\\n`;\n\n const namedExportDeclarations = [];\n let wrapperStart = '';\n let wrapperEnd = '';\n\n const moduleName = deconflict(scope, globals, getName(id));\n if (!isEntry) {\n const exportModuleExports = {\n str: `export { ${moduleName} as __moduleExports };`,\n name: '__moduleExports'\n };\n\n namedExportDeclarations.push(exportModuleExports);\n }\n\n const name = getName(id);\n\n function addExport(x) {\n const deconflicted = deconflict(scope, globals, name);\n\n const declaration =\n deconflicted === name\n ? `export var ${x} = ${moduleName}.${x};`\n : `var ${deconflicted} = ${moduleName}.${x};\\nexport { ${deconflicted} as ${x} };`;\n\n namedExportDeclarations.push({\n str: declaration,\n name: x\n });\n }\n\n if (customNamedExports) customNamedExports.forEach(addExport);\n\n const defaultExportPropertyAssignments = [];\n let hasDefaultExport = false;\n\n if (shouldWrap) {\n const args = `module${uses.exports ? ', exports' : ''}`;\n\n wrapperStart = `var ${moduleName} = ${HELPERS_NAME}.createCommonjsModule(function (${args}) {\\n`;\n wrapperEnd = `\\n});`;\n } else {\n const names = [];\n\n ast.body.forEach((node) => {\n if (node.type === 'ExpressionStatement' && node.expression.type === 'AssignmentExpression') {\n const { left } = node.expression;\n const flattened = flatten(left);\n\n if (!flattened) return;\n\n const match = exportsPattern.exec(flattened.keypath);\n if (!match) return;\n\n if (flattened.keypath === 'module.exports') {\n hasDefaultExport = true;\n magicString.overwrite(left.start, left.end, `var ${moduleName}`);\n } else {\n const [, name] = match;\n const deconflicted = deconflict(scope, globals, name);\n\n names.push({ name, deconflicted });\n\n magicString.overwrite(node.start, left.end, `var ${deconflicted}`);\n\n const declaration =\n name === deconflicted\n ? `export { ${name} };`\n : `export { ${deconflicted} as ${name} };`;\n\n if (name !== 'default') {\n namedExportDeclarations.push({\n str: declaration,\n name\n });\n delete namedExports[name];\n }\n\n defaultExportPropertyAssignments.push(`${moduleName}.${name} = ${deconflicted};`);\n }\n }\n });\n\n if (!hasDefaultExport && (names.length || !isEntry)) {\n wrapperEnd = `\\n\\nvar ${moduleName} = {\\n${names\n .map(({ name, deconflicted }) => `\\t${name}: ${deconflicted}`)\n .join(',\\n')}\\n};`;\n }\n }\n Object.keys(namedExports)\n .filter((key) => !blacklist[key])\n .forEach(addExport);\n\n const defaultExport = /__esModule/.test(code)\n ? `export default ${HELPERS_NAME}.unwrapExports(${moduleName});`\n : `export default ${moduleName};`;\n\n const named = namedExportDeclarations\n .filter((x) => x.name !== 'default' || !hasDefaultExport)\n .map((x) => x.str);\n\n const exportBlock = `\\n\\n${[defaultExport]\n .concat(named)\n .concat(hasDefaultExport ? defaultExportPropertyAssignments : [])\n .join('\\n')}`;\n\n magicString\n .trim()\n .prepend(importBlock + wrapperStart)\n .trim()\n .append(wrapperEnd);\n\n if (hasDefaultExport || named.length > 0 || shouldWrap || !isEntry) {\n magicString.append(exportBlock);\n }\n\n code = magicString.toString();\n const map = sourceMap ? magicString.generateMap() : null;\n\n return { code, map };\n}\n","import { realpathSync, existsSync } from 'fs';\nimport { extname, resolve, normalize } from 'path';\n\nimport { sync as nodeResolveSync, isCore } from 'resolve';\nimport { createFilter } from '@rollup/pluginutils';\n\nimport { peerDependencies } from '../package.json';\n\nimport {\n EXTERNAL_SUFFIX,\n getIdFromExternalProxyId,\n getIdFromProxyId,\n HELPERS,\n HELPERS_ID,\n PROXY_SUFFIX\n} from './helpers';\nimport { getIsCjsPromise, setIsCjsPromise } from './is-cjs';\nimport getResolveId from './resolve-id';\nimport { checkEsModule, hasCjsKeywords, transformCommonjs } from './transform';\nimport { getName } from './utils';\n\nexport default function commonjs(options = {}) {\n const extensions = options.extensions || ['.js'];\n const filter = createFilter(options.include, options.exclude);\n const { ignoreGlobal } = options;\n\n const customNamedExports = {};\n if (options.namedExports) {\n Object.keys(options.namedExports).forEach((id) => {\n let resolveId = id;\n let resolvedId;\n\n if (isCore(id)) {\n // resolve will not find npm modules with the same name as\n // core modules without a trailing slash. Since core modules\n // must be external, we can assume any core modules defined\n // here are npm modules by that name.\n resolveId += '/';\n }\n\n try {\n resolvedId = nodeResolveSync(resolveId, { basedir: process.cwd() });\n } catch (err) {\n resolvedId = resolve(id);\n }\n\n // Note: customNamedExport's keys must be normalized file paths.\n // resolve and nodeResolveSync both return normalized file paths\n // so no additional normalization is necessary.\n customNamedExports[resolvedId] = options.namedExports[id];\n\n if (existsSync(resolvedId)) {\n const realpath = realpathSync(resolvedId);\n if (realpath !== resolvedId) {\n customNamedExports[realpath] = options.namedExports[id];\n }\n }\n });\n }\n\n const esModulesWithoutDefaultExport = new Set();\n const esModulesWithDefaultExport = new Set();\n // TODO maybe this should be configurable?\n const allowDynamicRequire = !!options.ignore;\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 resolveId = getResolveId(extensions);\n\n const sourceMap = options.sourceMap !== false;\n\n function transformAndCheckExports(code, id) {\n const { isEsModule, hasDefaultExport, ast } = checkEsModule(this.parse, code, id);\n if (isEsModule) {\n (hasDefaultExport ? esModulesWithDefaultExport : esModulesWithoutDefaultExport).add(id);\n return null;\n }\n\n // it is not an ES module but it does not have CJS-specific elements.\n if (!hasCjsKeywords(code, ignoreGlobal)) {\n esModulesWithoutDefaultExport.add(id);\n return null;\n }\n\n const normalizedId = normalize(id);\n\n const transformed = transformCommonjs(\n this.parse,\n code,\n id,\n this.getModuleInfo(id).isEntry,\n ignoreGlobal,\n ignoreRequire,\n customNamedExports[normalizedId],\n sourceMap,\n allowDynamicRequire,\n ast\n );\n if (!transformed) {\n esModulesWithoutDefaultExport.add(id);\n return null;\n }\n\n return transformed;\n }\n\n return {\n name: 'commonjs',\n\n buildStart() {\n const [major, minor] = this.meta.rollupVersion.split('.').map(Number);\n const minVersion = peerDependencies.rollup.slice(2);\n const [minMajor, minMinor] = minVersion.split('.').map(Number);\n if (major < minMajor || (major === minMajor && minor < minMinor)) {\n this.error(\n `Insufficient Rollup version: \"@rollup/plugin-commonjs\" requires at least rollup@${minVersion} but found rollup@${this.meta.rollupVersion}.`\n );\n }\n },\n\n resolveId,\n\n load(id) {\n if (id === HELPERS_ID) return HELPERS;\n\n // generate proxy modules\n if (id.endsWith(EXTERNAL_SUFFIX)) {\n const actualId = getIdFromExternalProxyId(id);\n const name = getName(actualId);\n\n return `import ${name} from ${JSON.stringify(actualId)}; export default ${name};`;\n }\n\n if (id.endsWith(PROXY_SUFFIX)) {\n const actualId = getIdFromProxyId(id);\n const name = getName(actualId);\n\n return getIsCjsPromise(actualId).then((isCjs) => {\n if (isCjs)\n return `import { __moduleExports } from ${JSON.stringify(\n actualId\n )}; export default __moduleExports;`;\n else if (esModulesWithoutDefaultExport.has(actualId))\n return `import * as ${name} from ${JSON.stringify(actualId)}; export default ${name};`;\n else if (esModulesWithDefaultExport.has(actualId)) {\n return `export {default} from ${JSON.stringify(actualId)};`;\n }\n return `import * as ${name} from ${JSON.stringify(\n actualId\n )}; import {getCjsExportFromNamespace} from \"${HELPERS_ID}\"; export default getCjsExportFromNamespace(${name})`;\n });\n }\n\n return null;\n },\n\n transform(code, id) {\n if (!filter(id) || extensions.indexOf(extname(id)) === -1) {\n setIsCjsPromise(id, null);\n return null;\n }\n\n let transformed;\n try {\n transformed = transformAndCheckExports.call(this, code, id);\n } catch (err) {\n transformed = null;\n this.error(err, err.loc);\n }\n\n setIsCjsPromise(id, Boolean(transformed));\n return transformed;\n }\n };\n}\n"],"names":["PROXY_SUFFIX","getProxyId","id","getIdFromProxyId","proxyId","slice","length","EXTERNAL_SUFFIX","getExternalProxyId","getIdFromExternalProxyId","HELPERS_ID","HELPERS","isCjsPromises","Map","getIsCjsPromise","isCjsPromise","get","promise","Promise","resolve","undefined","set","setIsCjsPromise","resolution","getCandidatesForExtension","resolved","extension","sep","getCandidates","extensions","reduce","paths","concat","getResolveId","resolveExtensions","importee","importer","dirname","candidates","i","stats","statSync","isFile","err","resolveId","isProxyModule","endsWith","startsWith","skipSelf","then","external","operators","x","equals","left","right","not","isFalsy","argument","isTruthy","flatten","node","parts","type","computed","unshift","property","name","object","keypath","join","value","expression","operator","a","b","strict","getName","makeLegalIdentifier","basename","extname","segments","split","reserved","blacklist","__esModule","forEach","word","exportsPattern","firstpassGlobal","firstpassNoGlobal","importExportDeclaration","functionType","deconflict","scope","globals","identifier","deconflicted","contains","has","declarations","tryParse","parse","code","allowReturnOutsideFunction","message","hasCjsKeywords","ignoreGlobal","firstpass","test","checkEsModule","ast","isEsModule","body","hasDefaultExport","specifiers","specifier","exported","transformCommonjs","isEntry","ignoreRequire","customNamedExports","sourceMap","allowDynamicRequire","astCache","magicString","MagicString","required","sources","uid","attachScopes","uses","module","exports","global","require","lexicalDepth","programDepth","Set","HELPERS_NAME","namedExports","shouldWrap","isRequireStatement","callee","arguments","hasDynamicArguments","expressions","isStaticRequireStatement","getRequireStringArg","quasis","cooked","getRequired","sourceId","existing","push","source","importsDefault","assignedTo","walk","enter","extractAssignedNames","add","parent","addSourcemapLocation","start","end","consequent","skip","alternate","_skip","overwrite","storeName","flattened","isReference","match","exec","properties","prop","key","init","_shouldRemove","remove","leave","keepDeclaration","c","declarator","Object","keys","Error","includeHelpers","importBlock","map","namedExportDeclarations","wrapperStart","wrapperEnd","moduleName","exportModuleExports","str","addExport","declaration","defaultExportPropertyAssignments","args","names","filter","defaultExport","named","exportBlock","trim","prepend","append","toString","generateMap","commonjs","options","createFilter","include","exclude","resolvedId","isCore","nodeResolveSync","basedir","process","cwd","existsSync","realpath","realpathSync","esModulesWithoutDefaultExport","esModulesWithDefaultExport","ignore","Array","isArray","includes","transformAndCheckExports","normalizedId","normalize","transformed","getModuleInfo","buildStart","meta","rollupVersion","Number","major","minor","minVersion","peerDependencies","rollup","minMajor","minMinor","error","load","actualId","JSON","stringify","isCjs","transform","indexOf","call","loc","Boolean"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/ast-utils.js","../src/helpers.js","../src/utils.js","../src/transform.js","../src/dynamic-require-paths.js","../src/is-cjs.js","../src/resolve-id.js","../src/index.js"],"sourcesContent":["/* eslint-disable no-undefined */\nexport { 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\nconst extractors = {\n Identifier(names, node) {\n names.push(node.name);\n },\n\n ObjectPattern(names, node) {\n node.properties.forEach((prop) => {\n getExtractor(prop.value.type)(names, prop.value);\n });\n },\n\n ArrayPattern(names, node) {\n node.elements.forEach((element) => {\n if (!element) return;\n getExtractor(element.type)(names, element);\n });\n },\n\n RestElement(names, node) {\n getExtractor(node.argument.type)(names, node.argument);\n },\n\n AssignmentPattern(names, node) {\n getExtractor(node.left.type)(names, node.left);\n }\n};\n\nexport function flatten(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 function extractNames(node) {\n const names = [];\n extractors[node.type](names, node);\n return names;\n}\n\nfunction getExtractor(type) {\n const extractor = extractors[type];\n if (!extractor) throw new SyntaxError(`${type} pattern not supported.`);\n return extractor;\n}\n\nexport function isTruthy(node) {\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 undefined;\n}\n\nexport function isFalsy(node) {\n return not(isTruthy(node));\n}\n\nfunction not(value) {\n return value === undefined ? value : !value;\n}\n\nfunction equals(a, b, strict) {\n if (a.type !== b.type) return undefined;\n // eslint-disable-next-line eqeqeq\n if (a.type === 'Literal') return strict ? a.value === b.value : a.value == b.value;\n return undefined;\n}\n","export const PROXY_SUFFIX = '?commonjs-proxy';\nexport const getProxyId = (id) => `\\0${id}${PROXY_SUFFIX}`;\nexport const getIdFromProxyId = (proxyId) => proxyId.slice(1, -PROXY_SUFFIX.length);\n\nexport const EXTERNAL_SUFFIX = '?commonjs-external';\nexport const getExternalProxyId = (id) => `\\0${id}${EXTERNAL_SUFFIX}`;\nexport const getIdFromExternalProxyId = (proxyId) => proxyId.slice(1, -EXTERNAL_SUFFIX.length);\n\nexport const VIRTUAL_PATH_BASE = '/$$rollup_base$$';\nexport const getVirtualPathForDynamicRequirePath = (path, commonDir) => {\n if (path.startsWith(commonDir))\n return VIRTUAL_PATH_BASE + path.slice(commonDir.length);\n return path;\n};\n\nexport const DYNAMIC_REGISTER_PREFIX = '\\0commonjs-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.\nexport const HELPERS = `\nexport var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nexport function unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nexport function createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nexport function getCjsExportFromNamespace (n) {\n\treturn n && n['default'] || n;\n}\n`;\n\nexport const HELPER_NON_DYNAMIC = `\nexport function commonjsRequire () {\n\tthrow new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');\n}\n`;\n\nexport const HELPERS_DYNAMIC = `\nexport function commonjsRegister (path, loader) {\n\tDYNAMIC_REQUIRE_LOADERS[path] = loader;\n}\n\nconst DYNAMIC_REQUIRE_LOADERS = Object.create(null);\nconst DYNAMIC_REQUIRE_CACHE = Object.create(null);\nconst DEFAULT_PARENT_MODULE = {\n\tid: '<' + 'rollup>', exports: {}, parent: undefined, filename: null, loaded: false, children: [], paths: []\n};\nconst CHECKED_EXTENSIONS = ['', '.js', '.json'];\n\nfunction normalize (path) {\n\tpath = path.replace(/\\\\\\\\/g, '/');\n\tconst parts = path.split('/');\n\tconst slashed = parts[0] === '';\n\tfor (let 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 (let 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\tlet joined;\n\tfor (let i = 0; i < arguments.length; ++i) {\n\t let 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\tlet c0 = modulePath[0];\n\tif (c0 === '/' || c0 === '\\\\\\\\') return false;\n\tlet 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\nexport function commonjsRequire (path, originalModuleDir) {\n\tconst shouldTryNodeModules = isPossibleNodeModulesPath(path);\n\tpath = normalize(path);\n\tlet relPath;\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\t\tfor (let extensionIndex = 0; extensionIndex < CHECKED_EXTENSIONS.length; extensionIndex++) {\n\t\t\tconst resolvedPath = relPath + CHECKED_EXTENSIONS[extensionIndex];\n\t\t\tlet cachedModule = DYNAMIC_REQUIRE_CACHE[resolvedPath];\n\t\t\tif (cachedModule) return cachedModule.exports;\n\t\t\tconst loader = DYNAMIC_REQUIRE_LOADERS[resolvedPath];\n\t\t\tif (loader) {\n\t\t\t\tDYNAMIC_REQUIRE_CACHE[resolvedPath] = cachedModule = {\n\t\t\t\t\tid: resolvedPath,\n\t\t\t\t\tfilename: resolvedPath,\n\t\t\t\t\texports: {},\n\t\t\t\t\tparent: DEFAULT_PARENT_MODULE,\n\t\t\t\t\tloaded: false,\n\t\t\t\t\tchildren: [],\n\t\t\t\t\tpaths: []\n\t\t\t\t};\n\t\t\t\ttry {\n\t\t\t\t\tloader.call(commonjsGlobal, cachedModule, cachedModule.exports);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tdelete DYNAMIC_REQUIRE_CACHE[resolvedPath];\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tcachedModule.loaded = true;\n\t\t\t\treturn cachedModule.exports;\n\t\t\t};\n\t\t}\n\t\tif (!shouldTryNodeModules) break;\n\t\tconst nextDir = normalize(originalModuleDir + '/..');\n\t\tif (nextDir === originalModuleDir) break;\n\t\toriginalModuleDir = nextDir;\n\t}\n\treturn require(path);\n}\n\ncommonjsRequire.cache = DYNAMIC_REQUIRE_CACHE;\n`;\n","/* eslint-disable import/prefer-default-export */\nimport { basename, dirname, extname, sep } from 'path';\n\nimport { makeLegalIdentifier } from '@rollup/pluginutils';\n\nexport function getName(id) {\n const name = makeLegalIdentifier(basename(id, extname(id)));\n if (name !== 'index') {\n return name;\n }\n const segments = dirname(id).split(sep);\n return makeLegalIdentifier(segments[segments.length - 1]);\n}\n","/* eslint-disable no-param-reassign, no-shadow, no-underscore-dangle, no-continue */\nimport { walk } from 'estree-walker';\nimport MagicString from 'magic-string';\nimport { attachScopes, extractAssignedNames, makeLegalIdentifier } from '@rollup/pluginutils';\n\nimport { flatten, isFalsy, isReference, isTruthy } from './ast-utils';\nimport {\n getProxyId,\n getVirtualPathForDynamicRequirePath,\n HELPERS_ID,\n DYNAMIC_REGISTER_PREFIX,\n DYNAMIC_JSON_PREFIX,\n} from './helpers';\nimport { getName } from './utils';\nimport { resolve, dirname } from 'path';\n// TODO can this be async?\nimport { sync as nodeResolveSync } from 'resolve';\n\nconst reserved = 'process location abstract arguments boolean break byte case catch char class const continue debugger default delete do double else enum eval export extends false final finally float for from function goto if implements import in instanceof int interface let long native new null package private protected public return short static super switch synchronized this throw throws transient true try typeof var void volatile while with yield'.split(\n ' '\n);\nconst blacklist = { __esModule: true };\nreserved.forEach((word) => (blacklist[word] = true));\n\nconst exportsPattern = /^(?:module\\.)?exports(?:\\.([a-zA-Z_$][a-zA-Z_$0-9]*))?$/;\n\nconst firstpassGlobal = /\\b(?:require|module|exports|global)\\b/;\nconst firstpassNoGlobal = /\\b(?:require|module|exports)\\b/;\nconst importExportDeclaration = /^(?:Import|Export(?:Named|Default))Declaration/;\nconst functionType = /^(?:FunctionDeclaration|FunctionExpression|ArrowFunctionExpression)$/;\n\nfunction deconflict(scope, globals, identifier) {\n let i = 1;\n let deconflicted = makeLegalIdentifier(identifier);\n\n while (scope.contains(deconflicted) || globals.has(deconflicted) || deconflicted in blacklist) {\n deconflicted = `${identifier}_${i}`;\n i += 1;\n }\n scope.declarations[deconflicted] = true;\n\n return deconflicted;\n}\n\nfunction 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\nexport function normalizePathSlashes(path) {\n return path.replace(/\\\\/g, '/');\n}\n\nexport function hasCjsKeywords(code, ignoreGlobal) {\n const firstpass = ignoreGlobal ? firstpassNoGlobal : firstpassGlobal;\n return firstpass.test(code);\n}\n\nexport function checkEsModule(parse, code, id) {\n const ast = tryParse(parse, code, id);\n\n let isEsModule = false;\n for (const node of ast.body) {\n if (node.type === 'ExportDefaultDeclaration')\n return { isEsModule: true, hasDefaultExport: true, ast };\n if (node.type === 'ExportNamedDeclaration') {\n isEsModule = true;\n for (const specifier of node.specifiers) {\n if (specifier.exported.name === 'default') {\n return { isEsModule: true, hasDefaultExport: true, ast };\n }\n }\n } else if (importExportDeclaration.test(node.type)) isEsModule = true;\n }\n\n return { isEsModule, hasDefaultExport: false, ast };\n}\n\nfunction getDefinePropertyCallName(node, targetName) {\n if (node.type !== 'CallExpression') return;\n\n const {\n callee: { object, property }\n } = node;\n\n if (!object || object.type !== 'Identifier' || object.name !== 'Object') return;\n\n if (!property || property.type !== 'Identifier' || property.name !== 'defineProperty') return;\n\n if (node.arguments.length !== 3) return;\n\n const [target, val] = node.arguments;\n if (target.type !== 'Identifier' || target.name !== targetName) return;\n // eslint-disable-next-line consistent-return\n return val.value;\n}\n\nexport function transformCommonjs(\n parse,\n code,\n id,\n isEntry,\n isEsModule,\n ignoreGlobal,\n ignoreRequire,\n customNamedExports,\n sourceMap,\n isDynamicRequireModulesEnabled,\n dynamicRequireModuleSet,\n commonDir,\n astCache\n) {\n const ast = astCache || tryParse(parse, code, id);\n\n const magicString = new MagicString(code);\n\n const required = {};\n // Because objects have no guaranteed ordering, yet we need it,\n // we need to keep track of the order in a array\n const sources = [];\n\n let uid = 0;\n\n let scope = attachScopes(ast, 'scope');\n const uses = { module: false, exports: false, global: false, require: false };\n\n let lexicalDepth = 0;\n let programDepth = 0;\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\n const namedExports = {};\n\n // TODO handle transpiled modules\n let shouldWrap = /__esModule/.test(code);\n let usesDynamicHelpers = false;\n\n function isRequireStatement(node) {\n if (!node) return false;\n if (node.type !== 'CallExpression') return false;\n if (node.callee.name !== 'require' || scope.contains('require')) return false;\n // Weird case of require() without arguments\n if (node.arguments.length === 0) return false;\n return true;\n }\n\n function 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\n function isStaticRequireStatement(node) {\n if (!isRequireStatement(node)) return false;\n if (hasDynamicArguments(node)) return false;\n return true;\n }\n\n function isIgnoredRequireStatement(requiredNode) {\n return ignoreRequire(requiredNode.arguments[0].value);\n }\n\n 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\n function getRequired(node, name) {\n let sourceId = getRequireStringArg(node);\n const isDynamicRegister = sourceId.startsWith(DYNAMIC_REGISTER_PREFIX);\n if (isDynamicRegister) {\n sourceId = sourceId.substr(DYNAMIC_REGISTER_PREFIX.length);\n }\n\n const existing = required[sourceId];\n // eslint-disable-next-line no-undefined\n if (existing === undefined) {\n const isDynamic = hasDynamicModuleForPath(sourceId);\n\n if (!name) {\n do {\n name = `require$$${uid}`;\n uid += 1;\n } while (scope.contains(name));\n }\n\n if (isDynamicRegister && sourceId.endsWith('.json')) {\n sourceId = DYNAMIC_JSON_PREFIX + sourceId;\n }\n\n if (isDynamicRegister || !isDynamic || sourceId.endsWith('.json')) {\n sources.push([sourceId, !isDynamicRegister]);\n }\n\n required[sourceId] = { source: sourceId, name, importsDefault: false, isDynamic };\n }\n\n return required[sourceId];\n }\n\n function hasDynamicModuleForPath(source) {\n if (!/[/\\\\]/.test(source)) {\n try {\n const resolvedPath = normalizePathSlashes(\n nodeResolveSync(source, { basedir: dirname(id) })\n );\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\n function shouldUseSimulatedRequire(required) {\n return hasDynamicModuleForPath(required.source) &&\n // We only do `commonjsRequire` for json if it's the `commonjsRegister` call.\n (required.source.startsWith(DYNAMIC_REGISTER_PREFIX) || !required.source.endsWith('.json'));\n }\n\n // do a first pass, 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 assignedTo = new Set();\n walk(ast, {\n enter(node) {\n if (node.type !== 'AssignmentExpression') return;\n if (node.left.type === 'MemberExpression') return;\n\n extractAssignedNames(node.left).forEach((name) => {\n assignedTo.add(name);\n });\n }\n });\n\n walk(ast, {\n enter(node, parent) {\n if (sourceMap) {\n magicString.addSourcemapLocation(node.start);\n magicString.addSourcemapLocation(node.end);\n }\n\n // skip dead branches\n if (parent && (parent.type === 'IfStatement' || parent.type === 'ConditionalExpression')) {\n if (node === parent.consequent && isFalsy(parent.test)) {\n this.skip();\n return;\n }\n if (node === parent.alternate && isTruthy(parent.test)) {\n this.skip();\n return;\n }\n }\n\n if (node._skip) {\n this.skip();\n return;\n }\n\n programDepth += 1;\n\n if (node.scope) ({ scope } = node);\n if (functionType.test(node.type)) lexicalDepth += 1;\n\n // if toplevel return, we need to wrap it\n if (node.type === 'ReturnStatement' && lexicalDepth === 0) {\n shouldWrap = true;\n }\n\n // rewrite `this` as `commonjsHelpers.commonjsGlobal`\n if (node.type === 'ThisExpression' && lexicalDepth === 0) {\n uses.global = true;\n if (!ignoreGlobal)\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsGlobal`, {\n storeName: true\n });\n return;\n }\n\n // rewrite `typeof module`, `typeof module.exports` and `typeof exports` (https://github.com/rollup/rollup-plugin-commonjs/issues/151)\n if (node.type === 'UnaryExpression' && node.operator === 'typeof') {\n const flattened = flatten(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'`, { storeName: false });\n }\n }\n\n // rewrite `require` (if not already handled) `global` and `define`, and handle free references to\n // `module` and `exports` as these mean we need to wrap the module in commonjsHelpers.createCommonjsModule\n if (node.type === 'Identifier') {\n if (isReference(node, parent) && !scope.contains(node.name)) {\n if (node.name in uses) {\n if (node.name === 'require') {\n if (!isDynamicRequireModulesEnabled && isStaticRequireStatement(parent)) {\n return;\n }\n\n if (isDynamicRequireModulesEnabled && isRequireStatement(parent)) {\n magicString.appendLeft(\n parent.end - 1,\n ',' +\n JSON.stringify(\n dirname(id) === '.'\n ? null /* default behavior */\n : getVirtualPathForDynamicRequirePath(normalizePathSlashes(dirname(id)), commonDir)\n )\n );\n }\n\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsRequire`, {\n storeName: true\n });\n usesDynamicHelpers = true\n }\n\n uses[node.name] = true;\n if (node.name === 'global' && !ignoreGlobal) {\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsGlobal`, {\n storeName: true\n });\n }\n\n // if module or exports are used outside the context of an assignment\n // expression, we need to wrap the module\n if (node.name === 'module' || node.name === 'exports') {\n shouldWrap = true;\n }\n }\n\n if (node.name === 'define') {\n magicString.overwrite(node.start, node.end, 'undefined', { storeName: true });\n }\n\n globals.add(node.name);\n }\n\n return;\n }\n\n // Is this an assignment to exports or module.exports?\n if (node.type === 'AssignmentExpression') {\n if (node.left.type !== 'MemberExpression') return;\n\n const flattened = flatten(node.left);\n if (!flattened) return;\n\n if (scope.contains(flattened.name)) return;\n\n const match = exportsPattern.exec(flattened.keypath);\n if (!match || flattened.keypath === 'exports') return;\n\n uses[flattened.name] = true;\n\n // we're dealing with `module.exports = ...` or `[module.]exports.foo = ...` –\n // if this isn't top-level, we'll need to wrap the module\n if (programDepth > 3) shouldWrap = true;\n\n node.left._skip = true;\n\n if (flattened.keypath === 'module.exports' && node.right.type === 'ObjectExpression') {\n node.right.properties.forEach((prop) => {\n if (prop.computed || !('key' in prop) || prop.key.type !== 'Identifier') return;\n const { name } = prop.key;\n if (name === makeLegalIdentifier(name)) namedExports[name] = true;\n });\n return;\n }\n\n if (match[1]) namedExports[match[1]] = true;\n return;\n }\n\n const name = getDefinePropertyCallName(node, 'exports');\n if (name && name === makeLegalIdentifier(name)) namedExports[name] = true;\n\n // if this is `var x = require('x')`, we can do `import x from 'x'`\n if (\n node.type === 'VariableDeclarator' &&\n node.id.type === 'Identifier' &&\n isStaticRequireStatement(node.init) &&\n !isIgnoredRequireStatement(node.init)\n ) {\n // for now, only do this for top-level requires. maybe fix this in future\n if (scope.parent) return;\n\n // edge case — CJS allows you to assign to imports. ES doesn't\n if (assignedTo.has(node.id.name)) return;\n\n const required = getRequired(node.init, node.id.name);\n required.importsDefault = true;\n\n if (required.name === node.id.name && !required.isDynamic) {\n node._shouldRemove = true;\n }\n }\n\n if (!isStaticRequireStatement(node) || isIgnoredRequireStatement(node)) {\n return;\n }\n\n const required = getRequired(node);\n\n if (parent.type === 'ExpressionStatement') {\n // is a bare import, e.g. `require('foo');`\n magicString.remove(parent.start, parent.end);\n } else {\n required.importsDefault = true;\n\n if (shouldUseSimulatedRequire(required)) {\n magicString.overwrite(\n node.start,\n node.end,\n `${HELPERS_NAME}.commonjsRequire(${JSON.stringify(\n getVirtualPathForDynamicRequirePath(normalizePathSlashes(required.source), commonDir)\n )}, ${JSON.stringify(\n dirname(id) === '.'\n ? null /* default behavior */\n : getVirtualPathForDynamicRequirePath(normalizePathSlashes(dirname(id)), commonDir)\n )})`\n );\n usesDynamicHelpers = true;\n } else {\n magicString.overwrite(node.start, node.end, required.name);\n }\n }\n\n node.callee._skip = true;\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 if (node.type === 'VariableDeclaration') {\n let keepDeclaration = false;\n let c = node.declarations[0].start;\n\n for (let i = 0; i < node.declarations.length; i += 1) {\n const declarator = node.declarations[i];\n\n if (declarator._shouldRemove) {\n magicString.remove(c, declarator.end);\n } else {\n if (!keepDeclaration) {\n magicString.remove(c, declarator.start);\n keepDeclaration = true;\n }\n\n c = declarator.end;\n }\n }\n\n if (!keepDeclaration) {\n magicString.remove(node.start, node.end);\n }\n }\n }\n });\n\n if (\n !sources.length &&\n !uses.module &&\n !uses.exports &&\n !uses.require &&\n (ignoreGlobal || !uses.global)\n ) {\n if (Object.keys(namedExports).length) {\n throw new Error(\n `Custom named exports were specified for ${id} but it does not appear to be a CommonJS module`\n );\n }\n // not a CommonJS module\n return null;\n }\n\n const includeHelpers = usesDynamicHelpers || shouldWrap || uses.global || uses.require;\n const importBlock = `${(includeHelpers\n ? [`import * as ${HELPERS_NAME} from '${HELPERS_ID}';`]\n : []\n )\n .concat(\n sources.map(\n ([source]) =>\n // import the actual module before the proxy, so that we know\n // what kind of proxy to build\n `import '${source}';`\n ),\n sources\n .filter(([, importProxy]) => importProxy)\n .map(([source]) => {\n const { name, importsDefault } = required[source];\n return `import ${importsDefault ? `${name} from ` : ``}'${getProxyId(source)}';`;\n })\n )\n .join('\\n')}\\n\\n`;\n\n const namedExportDeclarations = [];\n let wrapperStart = '';\n let wrapperEnd = '';\n\n const moduleName = deconflict(scope, globals, getName(id));\n if (!isEntry && !isEsModule) {\n const exportModuleExports = {\n str: `export { ${moduleName} as __moduleExports };`,\n name: '__moduleExports'\n };\n\n namedExportDeclarations.push(exportModuleExports);\n }\n\n const name = getName(id);\n\n function addExport(x) {\n const deconflicted = deconflict(scope, globals, name);\n\n const declaration =\n deconflicted === name\n ? `export var ${x} = ${moduleName}.${x};`\n : `var ${deconflicted} = ${moduleName}.${x};\\nexport { ${deconflicted} as ${x} };`;\n\n namedExportDeclarations.push({\n str: declaration,\n name: x\n });\n }\n\n if (customNamedExports) customNamedExports.forEach(addExport);\n\n const defaultExportPropertyAssignments = [];\n let hasDefaultExport = false;\n\n if (shouldWrap) {\n const args = `module${uses.exports ? ', exports' : ''}`;\n\n wrapperStart = `var ${moduleName} = ${HELPERS_NAME}.createCommonjsModule(function (${args}) {\\n`;\n wrapperEnd = `\\n});`;\n } else {\n const names = [];\n\n for (const node of ast.body) {\n if (node.type === 'ExpressionStatement' && node.expression.type === 'AssignmentExpression') {\n const { left } = node.expression;\n const flattened = flatten(left);\n\n if (!flattened) {\n continue;\n }\n\n const match = exportsPattern.exec(flattened.keypath);\n if (!match) {\n continue;\n }\n\n if (flattened.keypath === 'module.exports') {\n hasDefaultExport = true;\n magicString.overwrite(left.start, left.end, `var ${moduleName}`);\n } else {\n const [, name] = match;\n const deconflicted = deconflict(scope, globals, name);\n\n names.push({ name, deconflicted });\n\n magicString.overwrite(node.start, left.end, `var ${deconflicted}`);\n\n const declaration =\n name === deconflicted\n ? `export { ${name} };`\n : `export { ${deconflicted} as ${name} };`;\n\n if (name !== 'default') {\n namedExportDeclarations.push({\n str: declaration,\n name\n });\n delete namedExports[name];\n }\n\n defaultExportPropertyAssignments.push(`${moduleName}.${name} = ${deconflicted};`);\n }\n }\n }\n\n if (!hasDefaultExport && (names.length || (!isEntry && !isEsModule))) {\n wrapperEnd = `\\n\\nvar ${moduleName} = {\\n${names\n .map(({ name, deconflicted }) => `\\t${name}: ${deconflicted}`)\n .join(',\\n')}\\n};`;\n }\n }\n\n Object.keys(namedExports)\n .filter((key) => !blacklist[key])\n .forEach(addExport);\n\n const defaultExport = /__esModule/.test(code)\n ? `export default ${HELPERS_NAME}.unwrapExports(${moduleName});`\n : `export default ${moduleName};`;\n\n const named = namedExportDeclarations\n .filter((x) => x.name !== 'default' || !hasDefaultExport)\n .map((x) => x.str);\n\n const exportBlock = `\\n\\n${(isEsModule ? [] : [defaultExport])\n .concat(named)\n .concat(hasDefaultExport ? defaultExportPropertyAssignments : [])\n .join('\\n')}`;\n\n magicString\n .trim()\n .prepend(importBlock + wrapperStart)\n .trim()\n .append(wrapperEnd);\n\n if (hasDefaultExport || named.length > 0 || shouldWrap || (!isEntry && !isEsModule)) {\n magicString.append(exportBlock);\n }\n\n code = magicString.toString();\n const map = sourceMap ? magicString.generateMap() : null;\n\n return { code, map };\n}\n","import { statSync } from 'fs';\nimport glob from 'glob';\nimport { resolve } from 'path';\nimport { normalizePathSlashes } from './transform';\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(\n dynamicRequireModuleSet\n );\n for (const path of glob.sync(isNegated ? pattern.substr(1) : pattern)) {\n modifySet(normalizePathSlashes(resolve(path)));\n }\n }\n const dynamicRequireModuleDirPaths = Array.from(dynamicRequireModuleSet.values()).filter(path => {\n try {\n if (statSync(path).isDirectory())\n return true;\n } catch (ignored) {\n // Nothing to do here\n }\n return false;\n });\n return { dynamicRequireModuleSet, dynamicRequireModuleDirPaths };\n}\n","/* eslint-disable no-undefined */\nconst isCjsPromises = new Map();\n\nexport function getIsCjsPromise(id) {\n let isCjsPromise = isCjsPromises.get(id);\n if (isCjsPromise) return isCjsPromise.promise;\n\n const promise = new Promise((resolve) => {\n isCjsPromise = {\n resolve,\n promise: undefined\n };\n isCjsPromises.set(id, isCjsPromise);\n });\n isCjsPromise.promise = promise;\n\n return promise;\n}\n\nexport function setIsCjsPromise(id, resolution) {\n const isCjsPromise = isCjsPromises.get(id);\n if (isCjsPromise) {\n if (isCjsPromise.resolve) {\n isCjsPromise.resolve(resolution);\n isCjsPromise.resolve = undefined;\n }\n } else {\n isCjsPromises.set(id, { promise: Promise.resolve(resolution), resolve: undefined });\n }\n}\n","/* eslint-disable no-param-reassign, no-undefined */\nimport { statSync } from 'fs';\nimport { dirname, resolve, sep } from 'path';\n\nimport {\n DYNAMIC_JSON_PREFIX,\n DYNAMIC_PACKAGES_ID,\n getExternalProxyId,\n getIdFromProxyId,\n getProxyId,\n HELPERS_ID,\n PROXY_SUFFIX\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 function resolveId(importee, importer) {\n const isProxyModule = importee.endsWith(PROXY_SUFFIX);\n if (isProxyModule) {\n importee = getIdFromProxyId(importee);\n } else if (importee.startsWith('\\0')) {\n if (importee === HELPERS_ID ||\n importee === DYNAMIC_PACKAGES_ID ||\n importee.startsWith(DYNAMIC_JSON_PREFIX)) {\n return importee;\n }\n return null;\n }\n\n if (importee.startsWith(DYNAMIC_JSON_PREFIX)) {\n return importee;\n }\n\n if (importer && importer.endsWith(PROXY_SUFFIX)) {\n importer = getIdFromProxyId(importer);\n }\n\n return this.resolve(importee, importer, { skipSelf: true }).then((resolved) => {\n if (!resolved) {\n resolved = resolveExtensions(importee, importer);\n }\n if (isProxyModule) {\n if (!resolved) {\n return { id: getExternalProxyId(importee), external: false };\n }\n resolved.id = (resolved.external ? getExternalProxyId : getProxyId)(resolved.id);\n resolved.external = false;\n return resolved;\n }\n return resolved;\n });\n }\n\n return resolveId;\n}\n","import { realpathSync, existsSync, readFileSync } from 'fs';\nimport { extname, resolve, normalize, join } from 'path';\n\nimport { sync as nodeResolveSync, isCore } from 'resolve';\nimport { createFilter } from '@rollup/pluginutils';\nimport getDynamicRequirePaths from './dynamic-require-paths';\nimport getCommonDir from 'commondir';\n\nimport { peerDependencies } from '../package.json';\n\nimport {\n DYNAMIC_JSON_PREFIX,\n DYNAMIC_PACKAGES_ID,\n DYNAMIC_REGISTER_PREFIX,\n getVirtualPathForDynamicRequirePath,\n EXTERNAL_SUFFIX,\n getIdFromExternalProxyId,\n getIdFromProxyId,\n HELPERS,\n HELPERS_ID,\n HELPER_NON_DYNAMIC,\n HELPERS_DYNAMIC,\n PROXY_SUFFIX\n} from './helpers';\n\nimport { getIsCjsPromise, setIsCjsPromise } from './is-cjs';\nimport getResolveId from './resolve-id';\nimport { checkEsModule, normalizePathSlashes, hasCjsKeywords, transformCommonjs } from './transform';\nimport { getName } from './utils';\n\nexport default function commonjs(options = {}) {\n const extensions = options.extensions || ['.js'];\n const filter = createFilter(options.include, options.exclude);\n const { ignoreGlobal } = options;\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 customNamedExports = {};\n if (options.namedExports) {\n Object.keys(options.namedExports).forEach((id) => {\n let resolveId = id;\n let resolvedId;\n\n if (isCore(id)) {\n // resolve will not find npm modules with the same name as\n // core modules without a trailing slash. Since core modules\n // must be external, we can assume any core modules defined\n // here are npm modules by that name.\n resolveId += '/';\n }\n\n try {\n resolvedId = nodeResolveSync(resolveId, { basedir: process.cwd() });\n } catch (err) {\n resolvedId = resolve(id);\n }\n\n // Note: customNamedExport's keys must be normalized file paths.\n // resolve and nodeResolveSync both return normalized file paths\n // so no additional normalization is necessary.\n customNamedExports[resolvedId] = options.namedExports[id];\n\n if (existsSync(resolvedId)) {\n const realpath = realpathSync(resolvedId);\n if (realpath !== resolvedId) {\n customNamedExports[realpath] = options.namedExports[id];\n }\n }\n });\n }\n\n const esModulesWithoutDefaultExport = new Set();\n const esModulesWithDefaultExport = new Set();\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 resolveId = getResolveId(extensions);\n\n const sourceMap = options.sourceMap !== false;\n\n function transformAndCheckExports(code, id) {\n const { isEsModule, hasDefaultExport, ast } = checkEsModule(this.parse, code, id);\n\n const isDynamicRequireModule = dynamicRequireModuleSet.has(\n normalizePathSlashes(id)\n );\n\n if (isEsModule && !isDynamicRequireModule) {\n (hasDefaultExport ? esModulesWithDefaultExport : esModulesWithoutDefaultExport).add(id);\n }\n // it is not an ES module but it does not have CJS-specific elements.\n else if (!hasCjsKeywords(code, ignoreGlobal)) {\n esModulesWithoutDefaultExport.add(id);\n setIsCjsPromise(id, false);\n return null;\n }\n\n const normalizedId = normalize(id);\n\n const transformed = transformCommonjs(\n this.parse,\n code,\n id,\n this.getModuleInfo(id).isEntry,\n isEsModule,\n ignoreGlobal || isEsModule,\n ignoreRequire,\n customNamedExports[normalizedId],\n sourceMap,\n isDynamicRequireModulesEnabled,\n dynamicRequireModuleSet,\n commonDir,\n ast\n );\n\n setIsCjsPromise(id, isEsModule ? false : Boolean(transformed));\n\n if (!transformed) {\n if (!isEsModule || isDynamicRequireModule)\n esModulesWithoutDefaultExport.add(id);\n return null;\n }\n\n return transformed;\n }\n\n return {\n name: 'commonjs',\n\n buildStart() {\n const [major, minor] = this.meta.rollupVersion.split('.').map(Number);\n const minVersion = peerDependencies.rollup.slice(2);\n const [minMajor, minMinor] = minVersion.split('.').map(Number);\n if (major < minMajor || (major === minMajor && minor < minMinor)) {\n this.error(\n `Insufficient Rollup version: \"@rollup/plugin-commonjs\" requires at least rollup@${minVersion} but found rollup@${this.meta.rollupVersion}.`\n );\n }\n },\n\n resolveId,\n\n load(id) {\n if (id === HELPERS_ID) {\n let code = HELPERS;\n\n // Do not bloat everyone's code with the module manager code\n if (isDynamicRequireModulesEnabled)\n code += HELPERS_DYNAMIC;\n else\n code += HELPER_NON_DYNAMIC;\n\n return code;\n }\n\n // generate proxy modules\n if (id.endsWith(EXTERNAL_SUFFIX)) {\n const actualId = getIdFromExternalProxyId(id);\n const name = getName(actualId);\n\n if (actualId === HELPERS_ID || actualId === DYNAMIC_PACKAGES_ID)\n // These do not export default\n return `import * as ${name} from ${JSON.stringify(actualId)}; export default ${name};`;\n\n return `import ${name} from ${JSON.stringify(actualId)}; export default ${name};`;\n }\n\n if (id === DYNAMIC_PACKAGES_ID) {\n let code = `const { commonjsRegister } = require('${HELPERS_ID}');`;\n for (const dir of dynamicRequireModuleDirPaths) {\n let entryPoint = 'index.js';\n\n try {\n if (existsSync(join(dir, 'package.json'))) {\n entryPoint = JSON.parse(\n readFileSync(join(dir, 'package.json'), { encoding: 'utf8' })\n ).main || entryPoint;\n }\n } catch (ignored) {\n // ignored\n }\n\n code += `\\ncommonjsRegister(${JSON.stringify(\n getVirtualPathForDynamicRequirePath(dir, commonDir)\n )}, function (module, exports) {\n module.exports = require(${JSON.stringify(\n normalizePathSlashes(join(dir, entryPoint))\n )});\n});`;\n }\n return code;\n }\n\n let actualId = id;\n\n const isDynamicJson = actualId.startsWith(DYNAMIC_JSON_PREFIX);\n if (isDynamicJson) {\n actualId = actualId.slice(DYNAMIC_JSON_PREFIX.length);\n }\n\n const normalizedPath = normalizePathSlashes(actualId);\n\n if (isDynamicJson) {\n return `require('${HELPERS_ID}').commonjsRegister(${JSON.stringify(\n getVirtualPathForDynamicRequirePath(normalizedPath, commonDir)\n )}, function (module, exports) {\n module.exports = require(${JSON.stringify(normalizedPath)});\n});`;\n }\n\n if (dynamicRequireModuleSet.has(normalizedPath) && !normalizedPath.endsWith('.json')) {\n // Try our best to still export the module fully.\n // The commonjs polyfill should take care of circular references.\n\n return `require('${HELPERS_ID}').commonjsRegister(${JSON.stringify(\n getVirtualPathForDynamicRequirePath(normalizedPath, commonDir)\n )}, function (module, exports) {\n ${readFileSync(normalizedPath, { encoding: 'utf8' })}\n});`;\n }\n\n if (actualId.endsWith(PROXY_SUFFIX)) {\n actualId = getIdFromProxyId(actualId);\n const name = getName(actualId);\n\n return getIsCjsPromise(actualId).then((isCjs) => {\n if (dynamicRequireModuleSet.has(normalizePathSlashes(actualId)) && !actualId.endsWith('.json'))\n return `import {commonjsRequire} from '${HELPERS_ID}'; const ${name} = commonjsRequire(${JSON.stringify(\n getVirtualPathForDynamicRequirePath(normalizePathSlashes(actualId), commonDir)\n )}); export default (${name} && ${name}['default']) || ${name}`;\n else if (isCjs)\n return `import { __moduleExports } from ${JSON.stringify(\n actualId\n )}; export default __moduleExports;`;\n else if (esModulesWithoutDefaultExport.has(actualId))\n return `import * as ${name} from ${JSON.stringify(actualId)}; export default ${name};`;\n else if (esModulesWithDefaultExport.has(actualId)) {\n return `export {default} from ${JSON.stringify(actualId)};`;\n }\n return `import * as ${name} from ${JSON.stringify(\n actualId\n )}; import {getCjsExportFromNamespace} from \"${HELPERS_ID}\"; export default getCjsExportFromNamespace(${name})`;\n });\n }\n\n if (isDynamicRequireModulesEnabled && this.getModuleInfo(id).isEntry) {\n let code;\n\n try {\n code = readFileSync(actualId, {encoding: 'utf8'});\n } catch (ex) {\n this.warn(`Failed to read file ${actualId}, dynamic modules might not work correctly`);\n return null;\n }\n\n let dynamicImports = Array.from(dynamicRequireModuleSet)\n .map(dynamicId => `require(${JSON.stringify(DYNAMIC_REGISTER_PREFIX + dynamicId)});`)\n .join('\\n');\n\n if (dynamicRequireModuleDirPaths.length) {\n dynamicImports += `require(${JSON.stringify(\n DYNAMIC_REGISTER_PREFIX + DYNAMIC_PACKAGES_ID\n )});`;\n }\n\n code = dynamicImports + '\\n' + code;\n\n return code;\n }\n\n return null;\n },\n\n transform(code, id) {\n if (id !== DYNAMIC_PACKAGES_ID && !id.startsWith(DYNAMIC_JSON_PREFIX)) {\n if (!filter(id) || extensions.indexOf(extname(id)) === -1) {\n setIsCjsPromise(id, null);\n return null;\n }\n }\n\n let transformed;\n try {\n transformed = transformAndCheckExports.call(this, code, id);\n } catch (err) {\n transformed = null;\n setIsCjsPromise(id, false);\n this.error(err, err.loc);\n }\n\n return transformed;\n }\n };\n}\n"],"names":["operators","x","equals","left","right","not","isFalsy","argument","isTruthy","flatten","node","parts","type","computed","unshift","property","name","object","keypath","join","value","expression","operator","undefined","a","b","strict","PROXY_SUFFIX","getProxyId","id","getIdFromProxyId","proxyId","slice","length","EXTERNAL_SUFFIX","getExternalProxyId","getIdFromExternalProxyId","VIRTUAL_PATH_BASE","getVirtualPathForDynamicRequirePath","path","commonDir","startsWith","DYNAMIC_REGISTER_PREFIX","DYNAMIC_JSON_PREFIX","DYNAMIC_PACKAGES_ID","HELPERS_ID","HELPERS","HELPER_NON_DYNAMIC","HELPERS_DYNAMIC","getName","makeLegalIdentifier","basename","extname","segments","dirname","split","sep","reserved","blacklist","__esModule","forEach","word","exportsPattern","firstpassGlobal","firstpassNoGlobal","importExportDeclaration","functionType","deconflict","scope","globals","identifier","i","deconflicted","contains","has","declarations","tryParse","parse","code","allowReturnOutsideFunction","err","message","normalizePathSlashes","replace","hasCjsKeywords","ignoreGlobal","firstpass","test","checkEsModule","ast","isEsModule","body","hasDefaultExport","specifiers","specifier","exported","getDefinePropertyCallName","targetName","callee","arguments","target","val","transformCommonjs","isEntry","ignoreRequire","customNamedExports","sourceMap","isDynamicRequireModulesEnabled","dynamicRequireModuleSet","astCache","magicString","MagicString","required","sources","uid","attachScopes","uses","module","exports","global","require","lexicalDepth","programDepth","Set","HELPERS_NAME","namedExports","shouldWrap","usesDynamicHelpers","isRequireStatement","hasDynamicArguments","expressions","isStaticRequireStatement","isIgnoredRequireStatement","requiredNode","getRequireStringArg","quasis","cooked","getRequired","sourceId","isDynamicRegister","substr","existing","isDynamic","hasDynamicModuleForPath","endsWith","push","source","importsDefault","resolvedPath","nodeResolveSync","basedir","ex","attemptExt","resolve","shouldUseSimulatedRequire","assignedTo","walk","enter","extractAssignedNames","add","parent","addSourcemapLocation","start","end","consequent","skip","alternate","_skip","overwrite","storeName","flattened","isReference","appendLeft","JSON","stringify","match","exec","properties","prop","key","init","_shouldRemove","remove","leave","keepDeclaration","c","declarator","Object","keys","Error","includeHelpers","importBlock","concat","map","filter","importProxy","namedExportDeclarations","wrapperStart","wrapperEnd","moduleName","exportModuleExports","str","addExport","declaration","defaultExportPropertyAssignments","args","names","defaultExport","named","exportBlock","trim","prepend","append","toString","generateMap","getDynamicRequirePaths","patterns","Array","isArray","pattern","isNegated","modifySet","prototype","bind","glob","sync","dynamicRequireModuleDirPaths","from","values","statSync","isDirectory","ignored","isCjsPromises","Map","getIsCjsPromise","isCjsPromise","get","promise","Promise","set","setIsCjsPromise","resolution","getCandidatesForExtension","resolved","extension","getCandidates","extensions","reduce","paths","getResolveId","resolveExtensions","importee","importer","candidates","stats","isFile","resolveId","isProxyModule","skipSelf","then","external","commonjs","options","createFilter","include","exclude","dynamicRequireTargets","size","getCommonDir","process","cwd","resolvedId","isCore","existsSync","realpath","realpathSync","esModulesWithoutDefaultExport","esModulesWithDefaultExport","ignore","includes","transformAndCheckExports","isDynamicRequireModule","normalizedId","normalize","transformed","getModuleInfo","Boolean","buildStart","meta","rollupVersion","Number","major","minor","minVersion","peerDependencies","rollup","minMajor","minMinor","error","load","actualId","dir","entryPoint","readFileSync","encoding","main","isDynamicJson","normalizedPath","isCjs","warn","dynamicImports","dynamicId","transform","indexOf","call","loc"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rollup/plugin-commonjs",
|
|
3
|
-
"version": "11.0
|
|
3
|
+
"version": "11.1.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
"ci:test": "pnpm run test -- --verbose && pnpm run test:ts",
|
|
23
23
|
"lint": "pnpm run lint:js && pnpm run lint:docs && pnpm run lint:package",
|
|
24
24
|
"lint:docs": "prettier --single-quote --write README.md",
|
|
25
|
-
"lint:js": "eslint --fix --cache src test",
|
|
25
|
+
"lint:js": "eslint --fix --cache src test types --ext .js,.ts",
|
|
26
26
|
"lint:package": "prettier --write package.json --plugin=prettier-plugin-package",
|
|
27
27
|
"prebuild": "del-cli dist",
|
|
28
28
|
"prepare": "pnpm run build",
|
|
29
|
-
"prepublishOnly": "pnpm run lint && pnpm run test
|
|
29
|
+
"prepublishOnly": "pnpm run lint && pnpm run test:ts",
|
|
30
30
|
"pretest": "pnpm run build",
|
|
31
31
|
"test": "ava",
|
|
32
32
|
"test:ts": "tsc types/index.d.ts test/types.ts --noEmit"
|
|
@@ -46,11 +46,13 @@
|
|
|
46
46
|
"require"
|
|
47
47
|
],
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"rollup": "^1.20.0"
|
|
49
|
+
"rollup": "^1.20.0||^2.0.0"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@rollup/pluginutils": "^3.0.
|
|
52
|
+
"@rollup/pluginutils": "^3.0.8",
|
|
53
|
+
"commondir": "^1.0.1",
|
|
53
54
|
"estree-walker": "^1.0.1",
|
|
55
|
+
"glob": "^7.1.2",
|
|
54
56
|
"is-reference": "^1.1.2",
|
|
55
57
|
"magic-string": "^0.25.2",
|
|
56
58
|
"resolve": "^1.11.0"
|
|
@@ -65,7 +67,7 @@
|
|
|
65
67
|
"locate-character": "^2.0.5",
|
|
66
68
|
"prettier": "^1.19.1",
|
|
67
69
|
"require-relative": "^0.8.7",
|
|
68
|
-
"rollup": "^
|
|
70
|
+
"rollup": "^2.0.0",
|
|
69
71
|
"rollup-plugin-babel": "^4.3.3",
|
|
70
72
|
"shx": "^0.3.2",
|
|
71
73
|
"source-map": "^0.6.1",
|
package/types/index.d.ts
CHANGED
|
@@ -1,47 +1,61 @@
|
|
|
1
|
+
import { FilterPattern } from '@rollup/pluginutils';
|
|
1
2
|
import { Plugin } from 'rollup';
|
|
2
3
|
|
|
3
4
|
interface RollupCommonJSOptions {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
5
|
+
/**
|
|
6
|
+
* non-CommonJS modules will be ignored, but you can also
|
|
7
|
+
* specifically include/exclude files
|
|
8
|
+
* @default undefined
|
|
9
|
+
*/
|
|
10
|
+
include?: FilterPattern;
|
|
11
|
+
/**
|
|
12
|
+
* non-CommonJS modules will be ignored, but you can also
|
|
13
|
+
* specifically include/exclude files
|
|
14
|
+
* @default undefined
|
|
15
|
+
*/
|
|
16
|
+
exclude?: FilterPattern;
|
|
17
|
+
/**
|
|
18
|
+
* search for files other than .js files (must already
|
|
19
|
+
* be transpiled by a previous plugin!)
|
|
20
|
+
* @default [ '.js' ]
|
|
21
|
+
*/
|
|
22
|
+
extensions?: ReadonlyArray<string | RegExp>;
|
|
23
|
+
/**
|
|
24
|
+
* if true then uses of `global` won't be dealt with by this plugin
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
ignoreGlobal?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* if false then skip sourceMap generation for CommonJS modules
|
|
30
|
+
* @default true
|
|
31
|
+
*/
|
|
32
|
+
sourceMap?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* explicitly specify unresolvable named exports
|
|
35
|
+
* ([see below for more details](https://github.com/rollup/plugins/tree/master/packages/commonjs#named-exports))
|
|
36
|
+
* @default undefined
|
|
37
|
+
*/
|
|
38
|
+
namedExports?: { [package: string]: ReadonlyArray<string> };
|
|
39
|
+
/**
|
|
40
|
+
* sometimes you have to leave require statements
|
|
41
|
+
* unconverted. Pass an array containing the IDs
|
|
42
|
+
* or a `id => boolean` function. Only use this
|
|
43
|
+
* option if you know what you're doing!
|
|
44
|
+
*/
|
|
45
|
+
ignore?: ReadonlyArray<string | ((id: string) => boolean)>;
|
|
46
|
+
/**
|
|
47
|
+
* Some modules contain dynamic `require` calls, or require modules that contain
|
|
48
|
+
* circular dependencies, which are not handled well by static imports.
|
|
49
|
+
* Including those modules as `dynamicRequireTargets` will simulate a CommonJS (NodeJS-like)
|
|
50
|
+
* environment for them with support for dynamic and circular dependencies.
|
|
51
|
+
*
|
|
52
|
+
* Note: In extreme cases, this feature may result in some paths being rendered as
|
|
53
|
+
* absolute in the final bundle. The plugin tries to avoid exposing paths from
|
|
54
|
+
* the local machine, but if you are `dynamicRequirePaths` with paths that are
|
|
55
|
+
* far away from your project's folder, that may require replacing strings
|
|
56
|
+
* like `"/Users/John/Desktop/foo-project/"` -> `"/"`.
|
|
57
|
+
*/
|
|
58
|
+
dynamicRequireTargets?: string | ReadonlyArray<string>;
|
|
45
59
|
}
|
|
46
60
|
|
|
47
61
|
/**
|