@rollup/plugin-commonjs 12.0.0 → 14.0.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 CHANGED
@@ -1,5 +1,43 @@
1
1
  # @rollup/plugin-commonjs ChangeLog
2
2
 
3
+ ## v14.0.0
4
+
5
+ _2020-07-13_
6
+
7
+ ### Release Notes
8
+
9
+ This restores the fixes from v13.0.1, but as a semver compliant major version.
10
+
11
+ ## v13.0.2
12
+
13
+ _2020-07-13_
14
+
15
+ ### Rollback
16
+
17
+ Rolls back breaking change in v13.0.1 whereby the exported `unwrapExports` method was removed.
18
+
19
+ ## v13.0.1
20
+
21
+ _2020-07-12_
22
+
23
+ ### Bugfixes
24
+
25
+ - fix: prevent rewrite require.resolve (#446)
26
+ - fix: Support \_\_esModule packages with a default export (#465)
27
+
28
+ ## v13.0.0
29
+
30
+ _2020-06-05_
31
+
32
+ ### Breaking Changes
33
+
34
+ - fix!: remove namedExports from types (#410)
35
+ - fix!: do not create fake named exports (#427)
36
+
37
+ ### Bugfixes
38
+
39
+ - fix: \_\_moduleExports in multi entry + inter dependencies (#415)
40
+
3
41
  ## v12.0.0
4
42
 
5
43
  _2020-05-20_
package/dist/index.es.js CHANGED
@@ -194,10 +194,6 @@ const HELPERS_ID = '\0commonjsHelpers.js'; // `x['default']` is used instead of
194
194
  const HELPERS = `
195
195
  export var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
196
196
 
197
- export function unwrapExports (x) {
198
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
199
- }
200
-
201
197
  export function createCommonjsModule(fn, basedir, module) {
202
198
  return module = {
203
199
  path: basedir,
@@ -482,7 +478,7 @@ function getDefinePropertyCallName(node, targetName) {
482
478
  return val.value;
483
479
  }
484
480
 
485
- function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, ignoreRequire, sourceMap, isDynamicRequireModulesEnabled, dynamicRequireModuleSet, commonDir, astCache) {
481
+ function transformCommonjs(parse, code, id, isEntry, hasImporters, isEsModule, ignoreGlobal, ignoreRequire, sourceMap, isDynamicRequireModulesEnabled, dynamicRequireModuleSet, commonDir, astCache) {
486
482
  const ast = astCache || tryParse(parse, code, id);
487
483
  const magicString = new MagicString(code);
488
484
  const required = {}; // Because objects have no guaranteed ordering, yet we need it,
@@ -549,6 +545,16 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
549
545
  return true;
550
546
  }
551
547
 
548
+ function isNodeRequireStatement(parent) {
549
+ const reservedMethod = ['resolve', 'cache', 'main'];
550
+
551
+ if (parent && parent.property && reservedMethod.indexOf(parent.property.name) > -1) {
552
+ return true;
553
+ }
554
+
555
+ return false;
556
+ }
557
+
552
558
  function isIgnoredRequireStatement(requiredNode) {
553
559
  return ignoreRequire(requiredNode.arguments[0].value);
554
560
  }
@@ -715,6 +721,10 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
715
721
  if (isReference(node, parent) && !scope.contains(node.name)) {
716
722
  if (node.name in uses) {
717
723
  if (isRequireIdentifier(node)) {
724
+ if (isNodeRequireStatement(parent)) {
725
+ return;
726
+ }
727
+
718
728
  if (!isDynamicRequireModulesEnabled && isStaticRequireStatement(parent)) {
719
729
  return;
720
730
  }
@@ -860,11 +870,7 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
860
870
  });
861
871
 
862
872
  if (!sources.length && !uses.module && !uses.exports && !uses.require && (ignoreGlobal || !uses.global)) {
863
- if (Object.keys(namedExports).length) {
864
- throw new Error(`Custom named exports were specified for ${id} but it does not appear to be a CommonJS module`);
865
- } // not a CommonJS module
866
-
867
-
873
+ // not a CommonJS module
868
874
  return null;
869
875
  } // If `isEsModule` is on, it means it has ES6 import/export statements,
870
876
  // which just can't be wrapped in a function.
@@ -885,7 +891,7 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
885
891
  let wrapperEnd = '';
886
892
  const moduleName = deconflict(scope, globals, getName(id));
887
893
 
888
- if (!isEntry && !isEsModule) {
894
+ if ((!isEntry || hasImporters) && !isEsModule) {
889
895
  const exportModuleExports = {
890
896
  str: `export { ${moduleName} as __moduleExports };`,
891
897
  name: '__moduleExports'
@@ -893,17 +899,6 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
893
899
  namedExportDeclarations.push(exportModuleExports);
894
900
  }
895
901
 
896
- const name = getName(id);
897
-
898
- function addExport(x) {
899
- const deconflicted = deconflict(scope, globals, name);
900
- const declaration = deconflicted === name ? `export var ${x} = ${moduleName}.${x};` : `var ${deconflicted} = ${moduleName}.${x};\nexport { ${deconflicted} as ${x} };`;
901
- namedExportDeclarations.push({
902
- str: declaration,
903
- name: x
904
- });
905
- }
906
-
907
902
  const defaultExportPropertyAssignments = [];
908
903
  let hasDefaultExport = false;
909
904
 
@@ -961,7 +956,6 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
961
956
  str: declaration,
962
957
  name
963
958
  });
964
- delete namedExports[name];
965
959
  }
966
960
 
967
961
  defaultExportPropertyAssignments.push(`${moduleName}.${name} = ${deconflicted};`);
@@ -974,7 +968,7 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
974
968
  _iterator3.f();
975
969
  }
976
970
 
977
- if (!hasDefaultExport && (names.length || !isEntry && !isEsModule)) {
971
+ if (!hasDefaultExport && (names.length || (!isEntry || hasImporters) && !isEsModule)) {
978
972
  wrapperEnd = `\n\nvar ${moduleName} = {\n${names.map(({
979
973
  name,
980
974
  deconflicted
@@ -982,12 +976,11 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
982
976
  }
983
977
  }
984
978
 
985
- Object.keys(namedExports).filter(key => !blacklist[key]).forEach(addExport);
986
- const defaultExport = /__esModule/.test(code) ? `export default ${HELPERS_NAME}.unwrapExports(${moduleName});` : `export default ${moduleName};`;
979
+ const defaultExport = `export default ${moduleName};`;
987
980
  const named = namedExportDeclarations.filter(x => x.name !== 'default' || !hasDefaultExport).map(x => x.str);
988
981
  const exportBlock = `\n\n${(isEsModule ? [] : [defaultExport]).concat(named).concat(hasDefaultExport ? defaultExportPropertyAssignments : []).join('\n')}`;
989
982
  magicString.trim().prepend(importBlock + wrapperStart).trim().append(wrapperEnd);
990
- const injectExportBlock = hasDefaultExport || named.length > 0 || shouldWrap || !isEntry;
983
+ const injectExportBlock = hasDefaultExport || named.length > 0 || shouldWrap || !isEntry || hasImporters;
991
984
 
992
985
  if (injectExportBlock) {
993
986
  magicString.append(exportBlock);
@@ -1197,7 +1190,8 @@ function commonjs(options = {}) {
1197
1190
  return null;
1198
1191
  }
1199
1192
 
1200
- const transformed = transformCommonjs(this.parse, code, id, this.getModuleInfo(id).isEntry, isEsModule, ignoreGlobal || isEsModule, ignoreRequire, sourceMap, isDynamicRequireModulesEnabled, dynamicRequireModuleSet, commonDir, ast);
1193
+ const moduleInfo = this.getModuleInfo(id);
1194
+ const transformed = transformCommonjs(this.parse, code, id, moduleInfo.isEntry, moduleInfo.importers && moduleInfo.importers.length > 0, isEsModule, ignoreGlobal || isEsModule, ignoreRequire, sourceMap, isDynamicRequireModulesEnabled, dynamicRequireModuleSet, commonDir, ast);
1201
1195
  setIsCjsPromise(id, isEsModule ? false : Boolean(transformed));
1202
1196
 
1203
1197
  if (!transformed) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.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)) 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, basedir, module) {\n\treturn module = {\n\t path: basedir,\n\t exports: {},\n\t require: function (path, base) {\n return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);\n }\n\t}, 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\nfunction dirname (path) {\n if (path.length === 0)\n return '.';\n\n let i = path.length - 1;\n while (i > 0) {\n const 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 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\tpath: dirname(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\trequire: function (path, base) {\n\t\t\t\t\t return commonjsRequire(path, (base === undefined || base === null) ? cachedModule.path : base);\n\t\t\t\t\t}\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 { resolve, dirname } from 'path';\n\nimport { walk } from 'estree-walker';\nimport MagicString from 'magic-string';\nimport { attachScopes, extractAssignedNames, makeLegalIdentifier } from '@rollup/pluginutils';\n\nimport { sync as nodeResolveSync } from 'resolve';\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';\n// TODO can this be async?\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 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 usesCommonjsHelpers = false;\n\n function isRequireStatement(node) {\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 isRequireIdentifier(node.callee);\n }\n\n function isRequireIdentifier(node) {\n if (!node) return false;\n\n if (node.type === 'Identifier' && node.name === 'require' /* `require` */) {\n // `require` is hidden by a variable in local scope\n if (scope.contains('require')) return false;\n\n return true;\n } else if (node.type === 'MemberExpression' /* `[something].[something]` */) {\n // `module.[something]`\n if (node.object.type !== 'Identifier' || node.object.name !== 'module') return false;\n\n // `module` is hidden by a variable in local scope\n if (scope.contains('module')) return false;\n\n // `module.require(...)`\n if (node.property.type !== 'Identifier' || node.property.name !== 'require') return false;\n\n return true;\n }\n\n return false;\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 (\n 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\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 usesCommonjsHelpers = 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 (isRequireIdentifier(node)) {\n if (!isDynamicRequireModulesEnabled && isStaticRequireStatement(parent)) {\n return;\n }\n\n if (isDynamicRequireModulesEnabled && isRequireStatement(parent)) {\n magicString.appendLeft(\n parent.end - 1,\n `,${JSON.stringify(\n dirname(id) === '.'\n ? null /* default behavior */\n : getVirtualPathForDynamicRequirePath(\n normalizePathSlashes(dirname(id)),\n commonDir\n )\n )}`\n );\n }\n\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsRequire`, {\n storeName: true\n });\n usesCommonjsHelpers = 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 usesCommonjsHelpers = true;\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 usesCommonjsHelpers = 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 // If `isEsModule` is on, it means it has ES6 import/export statements,\n // which just can't be wrapped in a function.\n if (isEsModule) shouldWrap = false;\n\n usesCommonjsHelpers = usesCommonjsHelpers || shouldWrap;\n\n const importBlock = `${(usesCommonjsHelpers\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 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\n wrapperEnd = `\\n}`;\n if (isDynamicRequireModulesEnabled) {\n wrapperEnd += `, ${JSON.stringify(\n getVirtualPathForDynamicRequirePath(normalizePathSlashes(dirname(id)), commonDir)\n )}`;\n }\n\n wrapperEnd += `);`;\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 const injectExportBlock = hasDefaultExport || named.length > 0 || shouldWrap || !isEntry;\n if (injectExportBlock) {\n magicString.append(exportBlock);\n }\n\n code = magicString.toString();\n const map = sourceMap ? magicString.generateMap() : null;\n\n return { code, map, syntheticNamedExports: injectExportBlock };\n}\n","import { statSync } from 'fs';\n\nimport { resolve } from 'path';\n\nimport glob from 'glob';\n\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(dynamicRequireModuleSet);\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(\n (path) => {\n try {\n if (statSync(path).isDirectory()) return true;\n } catch (ignored) {\n // Nothing to do here\n }\n return false;\n }\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 (\n importee === HELPERS_ID ||\n importee === DYNAMIC_PACKAGES_ID ||\n importee.startsWith(DYNAMIC_JSON_PREFIX)\n ) {\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 { existsSync, readFileSync } from 'fs';\nimport { extname, join } from 'path';\n\nimport { createFilter } from '@rollup/pluginutils';\n\nimport getCommonDir from 'commondir';\n\nimport { peerDependencies } from '../package.json';\n\nimport getDynamicRequirePaths from './dynamic-require-paths';\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 {\n checkEsModule,\n normalizePathSlashes,\n hasCjsKeywords,\n transformCommonjs\n} 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 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(normalizePathSlashes(id));\n\n if (isEsModule && (!isDynamicRequireModule || !options.transformMixedEsModules)) {\n (hasDefaultExport ? esModulesWithDefaultExport : esModulesWithoutDefaultExport).add(id);\n if (!options.transformMixedEsModules) {\n setIsCjsPromise(id, false);\n return null;\n }\n }\n // it is not an ES module AND 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 transformed = transformCommonjs(\n this.parse,\n code,\n id,\n this.getModuleInfo(id).isEntry,\n isEsModule,\n ignoreGlobal || isEsModule,\n ignoreRequire,\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) esModulesWithoutDefaultExport.add(id);\n return null;\n }\n\n return transformed;\n }\n\n return {\n name: 'commonjs',\n\n buildStart() {\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 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) code += HELPERS_DYNAMIC;\n else 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 =\n JSON.parse(readFileSync(join(dir, 'package.json'), { encoding: 'utf8' })).main ||\n 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(normalizePathSlashes(join(dir, entryPoint)))});\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 (\n dynamicRequireModuleSet.has(normalizePathSlashes(actualId)) &&\n !actualId.endsWith('.json')\n )\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","sourceMap","isDynamicRequireModulesEnabled","dynamicRequireModuleSet","astCache","magicString","MagicString","required","sources","uid","attachScopes","uses","module","exports","global","require","lexicalDepth","programDepth","Set","HELPERS_NAME","namedExports","shouldWrap","usesCommonjsHelpers","isRequireStatement","isRequireIdentifier","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","importBlock","concat","map","filter","importProxy","namedExportDeclarations","wrapperStart","wrapperEnd","moduleName","exportModuleExports","str","addExport","declaration","defaultExportPropertyAssignments","args","names","defaultExport","named","exportBlock","trim","prepend","append","injectExportBlock","toString","generateMap","syntheticNamedExports","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","esModulesWithoutDefaultExport","esModulesWithDefaultExport","ignore","includes","transformAndCheckExports","isDynamicRequireModule","transformMixedEsModules","transformed","getModuleInfo","Boolean","buildStart","warn","meta","rollupVersion","Number","major","minor","minVersion","peerDependencies","rollup","minMajor","minMinor","error","load","actualId","dir","entryPoint","existsSync","readFileSync","encoding","main","isDynamicJson","normalizedPath","isCjs","dynamicImports","dynamicId","transform","indexOf","call","loc"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.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)) 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 createCommonjsModule(fn, basedir, module) {\n\treturn module = {\n\t path: basedir,\n\t exports: {},\n\t require: function (path, base) {\n return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);\n }\n\t}, 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\nfunction dirname (path) {\n if (path.length === 0)\n return '.';\n\n let i = path.length - 1;\n while (i > 0) {\n const 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 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\tpath: dirname(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\trequire: function (path, base) {\n\t\t\t\t\t return commonjsRequire(path, (base === undefined || base === null) ? cachedModule.path : base);\n\t\t\t\t\t}\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 { resolve, dirname } from 'path';\n\nimport { walk } from 'estree-walker';\nimport MagicString from 'magic-string';\nimport { attachScopes, extractAssignedNames, makeLegalIdentifier } from '@rollup/pluginutils';\n\nimport { sync as nodeResolveSync } from 'resolve';\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';\n// TODO can this be async?\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 hasImporters,\n isEsModule,\n ignoreGlobal,\n ignoreRequire,\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 usesCommonjsHelpers = false;\n\n function isRequireStatement(node) {\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 isRequireIdentifier(node.callee);\n }\n\n function isRequireIdentifier(node) {\n if (!node) return false;\n\n if (node.type === 'Identifier' && node.name === 'require' /* `require` */) {\n // `require` is hidden by a variable in local scope\n if (scope.contains('require')) return false;\n\n return true;\n } else if (node.type === 'MemberExpression' /* `[something].[something]` */) {\n // `module.[something]`\n if (node.object.type !== 'Identifier' || node.object.name !== 'module') return false;\n\n // `module` is hidden by a variable in local scope\n if (scope.contains('module')) return false;\n\n // `module.require(...)`\n if (node.property.type !== 'Identifier' || node.property.name !== 'require') return false;\n\n return true;\n }\n\n return false;\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 isNodeRequireStatement(parent) {\n const reservedMethod = ['resolve', 'cache', 'main'];\n if (parent && parent.property && reservedMethod.indexOf(parent.property.name) > -1) {\n return true;\n }\n return false;\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 (\n 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\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 usesCommonjsHelpers = 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 (isRequireIdentifier(node)) {\n if (isNodeRequireStatement(parent)) {\n return;\n }\n\n if (!isDynamicRequireModulesEnabled && isStaticRequireStatement(parent)) {\n return;\n }\n\n if (isDynamicRequireModulesEnabled && isRequireStatement(parent)) {\n magicString.appendLeft(\n parent.end - 1,\n `,${JSON.stringify(\n dirname(id) === '.'\n ? null /* default behavior */\n : getVirtualPathForDynamicRequirePath(\n normalizePathSlashes(dirname(id)),\n commonDir\n )\n )}`\n );\n }\n\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsRequire`, {\n storeName: true\n });\n usesCommonjsHelpers = 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 usesCommonjsHelpers = true;\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 usesCommonjsHelpers = 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 // not a CommonJS module\n return null;\n }\n\n // If `isEsModule` is on, it means it has ES6 import/export statements,\n // which just can't be wrapped in a function.\n if (isEsModule) shouldWrap = false;\n\n usesCommonjsHelpers = usesCommonjsHelpers || shouldWrap;\n\n const importBlock = `${(usesCommonjsHelpers\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 || hasImporters) && !isEsModule) {\n const exportModuleExports = {\n str: `export { ${moduleName} as __moduleExports };`,\n name: '__moduleExports'\n };\n\n namedExportDeclarations.push(exportModuleExports);\n }\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\n wrapperEnd = `\\n}`;\n if (isDynamicRequireModulesEnabled) {\n wrapperEnd += `, ${JSON.stringify(\n getVirtualPathForDynamicRequirePath(normalizePathSlashes(dirname(id)), commonDir)\n )}`;\n }\n\n wrapperEnd += `);`;\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 }\n\n defaultExportPropertyAssignments.push(`${moduleName}.${name} = ${deconflicted};`);\n }\n }\n }\n\n if (!hasDefaultExport && (names.length || ((!isEntry || hasImporters) && !isEsModule))) {\n wrapperEnd = `\\n\\nvar ${moduleName} = {\\n${names\n .map(({ name, deconflicted }) => `\\t${name}: ${deconflicted}`)\n .join(',\\n')}\\n};`;\n }\n }\n\n const defaultExport = `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 const injectExportBlock =\n hasDefaultExport || named.length > 0 || shouldWrap || !isEntry || hasImporters;\n if (injectExportBlock) {\n magicString.append(exportBlock);\n }\n\n code = magicString.toString();\n const map = sourceMap ? magicString.generateMap() : null;\n\n return { code, map, syntheticNamedExports: injectExportBlock };\n}\n","import { statSync } from 'fs';\n\nimport { resolve } from 'path';\n\nimport glob from 'glob';\n\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(dynamicRequireModuleSet);\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(\n (path) => {\n try {\n if (statSync(path).isDirectory()) return true;\n } catch (ignored) {\n // Nothing to do here\n }\n return false;\n }\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 (\n importee === HELPERS_ID ||\n importee === DYNAMIC_PACKAGES_ID ||\n importee.startsWith(DYNAMIC_JSON_PREFIX)\n ) {\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 { existsSync, readFileSync } from 'fs';\nimport { extname, join } from 'path';\n\nimport { createFilter } from '@rollup/pluginutils';\n\nimport getCommonDir from 'commondir';\n\nimport { peerDependencies } from '../package.json';\n\nimport getDynamicRequirePaths from './dynamic-require-paths';\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 {\n checkEsModule,\n normalizePathSlashes,\n hasCjsKeywords,\n transformCommonjs\n} 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 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(normalizePathSlashes(id));\n\n if (isEsModule && (!isDynamicRequireModule || !options.transformMixedEsModules)) {\n (hasDefaultExport ? esModulesWithDefaultExport : esModulesWithoutDefaultExport).add(id);\n if (!options.transformMixedEsModules) {\n setIsCjsPromise(id, false);\n return null;\n }\n }\n // it is not an ES module AND 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 moduleInfo = this.getModuleInfo(id);\n\n const transformed = transformCommonjs(\n this.parse,\n code,\n id,\n moduleInfo.isEntry,\n moduleInfo.importers && moduleInfo.importers.length > 0,\n isEsModule,\n ignoreGlobal || isEsModule,\n ignoreRequire,\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) esModulesWithoutDefaultExport.add(id);\n return null;\n }\n\n return transformed;\n }\n\n return {\n name: 'commonjs',\n\n buildStart() {\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 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) code += HELPERS_DYNAMIC;\n else 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 =\n JSON.parse(readFileSync(join(dir, 'package.json'), { encoding: 'utf8' })).main ||\n 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(normalizePathSlashes(join(dir, entryPoint)))});\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 (\n dynamicRequireModuleSet.has(normalizePathSlashes(actualId)) &&\n !actualId.endsWith('.json')\n )\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","hasImporters","ignoreRequire","sourceMap","isDynamicRequireModulesEnabled","dynamicRequireModuleSet","astCache","magicString","MagicString","required","sources","uid","attachScopes","uses","module","exports","global","require","lexicalDepth","programDepth","Set","HELPERS_NAME","namedExports","shouldWrap","usesCommonjsHelpers","isRequireStatement","isRequireIdentifier","hasDynamicArguments","expressions","isStaticRequireStatement","isNodeRequireStatement","parent","reservedMethod","indexOf","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","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","importBlock","concat","map","filter","importProxy","namedExportDeclarations","wrapperStart","wrapperEnd","moduleName","exportModuleExports","str","defaultExportPropertyAssignments","args","names","declaration","defaultExport","named","exportBlock","trim","prepend","append","injectExportBlock","toString","generateMap","syntheticNamedExports","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","esModulesWithoutDefaultExport","esModulesWithDefaultExport","ignore","includes","transformAndCheckExports","isDynamicRequireModule","transformMixedEsModules","moduleInfo","getModuleInfo","transformed","importers","Boolean","buildStart","warn","meta","rollupVersion","Number","major","minor","minVersion","peerDependencies","rollup","minMajor","minMinor","error","load","actualId","dir","entryPoint","existsSync","readFileSync","encoding","main","isDynamicJson","normalizedPath","isCjs","dynamicImports","dynamicId","transform","call","loc"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -198,10 +198,6 @@ const HELPERS_ID = '\0commonjsHelpers.js'; // `x['default']` is used instead of
198
198
  const HELPERS = `
199
199
  export var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
200
200
 
201
- export function unwrapExports (x) {
202
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
203
- }
204
-
205
201
  export function createCommonjsModule(fn, basedir, module) {
206
202
  return module = {
207
203
  path: basedir,
@@ -486,7 +482,7 @@ function getDefinePropertyCallName(node, targetName) {
486
482
  return val.value;
487
483
  }
488
484
 
489
- function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, ignoreRequire, sourceMap, isDynamicRequireModulesEnabled, dynamicRequireModuleSet, commonDir, astCache) {
485
+ function transformCommonjs(parse, code, id, isEntry, hasImporters, isEsModule, ignoreGlobal, ignoreRequire, sourceMap, isDynamicRequireModulesEnabled, dynamicRequireModuleSet, commonDir, astCache) {
490
486
  const ast = astCache || tryParse(parse, code, id);
491
487
  const magicString = new MagicString(code);
492
488
  const required = {}; // Because objects have no guaranteed ordering, yet we need it,
@@ -553,6 +549,16 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
553
549
  return true;
554
550
  }
555
551
 
552
+ function isNodeRequireStatement(parent) {
553
+ const reservedMethod = ['resolve', 'cache', 'main'];
554
+
555
+ if (parent && parent.property && reservedMethod.indexOf(parent.property.name) > -1) {
556
+ return true;
557
+ }
558
+
559
+ return false;
560
+ }
561
+
556
562
  function isIgnoredRequireStatement(requiredNode) {
557
563
  return ignoreRequire(requiredNode.arguments[0].value);
558
564
  }
@@ -719,6 +725,10 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
719
725
  if (isReference(node, parent) && !scope.contains(node.name)) {
720
726
  if (node.name in uses) {
721
727
  if (isRequireIdentifier(node)) {
728
+ if (isNodeRequireStatement(parent)) {
729
+ return;
730
+ }
731
+
722
732
  if (!isDynamicRequireModulesEnabled && isStaticRequireStatement(parent)) {
723
733
  return;
724
734
  }
@@ -864,11 +874,7 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
864
874
  });
865
875
 
866
876
  if (!sources.length && !uses.module && !uses.exports && !uses.require && (ignoreGlobal || !uses.global)) {
867
- if (Object.keys(namedExports).length) {
868
- throw new Error(`Custom named exports were specified for ${id} but it does not appear to be a CommonJS module`);
869
- } // not a CommonJS module
870
-
871
-
877
+ // not a CommonJS module
872
878
  return null;
873
879
  } // If `isEsModule` is on, it means it has ES6 import/export statements,
874
880
  // which just can't be wrapped in a function.
@@ -889,7 +895,7 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
889
895
  let wrapperEnd = '';
890
896
  const moduleName = deconflict(scope, globals, getName(id));
891
897
 
892
- if (!isEntry && !isEsModule) {
898
+ if ((!isEntry || hasImporters) && !isEsModule) {
893
899
  const exportModuleExports = {
894
900
  str: `export { ${moduleName} as __moduleExports };`,
895
901
  name: '__moduleExports'
@@ -897,17 +903,6 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
897
903
  namedExportDeclarations.push(exportModuleExports);
898
904
  }
899
905
 
900
- const name = getName(id);
901
-
902
- function addExport(x) {
903
- const deconflicted = deconflict(scope, globals, name);
904
- const declaration = deconflicted === name ? `export var ${x} = ${moduleName}.${x};` : `var ${deconflicted} = ${moduleName}.${x};\nexport { ${deconflicted} as ${x} };`;
905
- namedExportDeclarations.push({
906
- str: declaration,
907
- name: x
908
- });
909
- }
910
-
911
906
  const defaultExportPropertyAssignments = [];
912
907
  let hasDefaultExport = false;
913
908
 
@@ -965,7 +960,6 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
965
960
  str: declaration,
966
961
  name
967
962
  });
968
- delete namedExports[name];
969
963
  }
970
964
 
971
965
  defaultExportPropertyAssignments.push(`${moduleName}.${name} = ${deconflicted};`);
@@ -978,7 +972,7 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
978
972
  _iterator3.f();
979
973
  }
980
974
 
981
- if (!hasDefaultExport && (names.length || !isEntry && !isEsModule)) {
975
+ if (!hasDefaultExport && (names.length || (!isEntry || hasImporters) && !isEsModule)) {
982
976
  wrapperEnd = `\n\nvar ${moduleName} = {\n${names.map(({
983
977
  name,
984
978
  deconflicted
@@ -986,12 +980,11 @@ function transformCommonjs(parse, code, id, isEntry, isEsModule, ignoreGlobal, i
986
980
  }
987
981
  }
988
982
 
989
- Object.keys(namedExports).filter(key => !blacklist[key]).forEach(addExport);
990
- const defaultExport = /__esModule/.test(code) ? `export default ${HELPERS_NAME}.unwrapExports(${moduleName});` : `export default ${moduleName};`;
983
+ const defaultExport = `export default ${moduleName};`;
991
984
  const named = namedExportDeclarations.filter(x => x.name !== 'default' || !hasDefaultExport).map(x => x.str);
992
985
  const exportBlock = `\n\n${(isEsModule ? [] : [defaultExport]).concat(named).concat(hasDefaultExport ? defaultExportPropertyAssignments : []).join('\n')}`;
993
986
  magicString.trim().prepend(importBlock + wrapperStart).trim().append(wrapperEnd);
994
- const injectExportBlock = hasDefaultExport || named.length > 0 || shouldWrap || !isEntry;
987
+ const injectExportBlock = hasDefaultExport || named.length > 0 || shouldWrap || !isEntry || hasImporters;
995
988
 
996
989
  if (injectExportBlock) {
997
990
  magicString.append(exportBlock);
@@ -1201,7 +1194,8 @@ function commonjs(options = {}) {
1201
1194
  return null;
1202
1195
  }
1203
1196
 
1204
- const transformed = transformCommonjs(this.parse, code, id, this.getModuleInfo(id).isEntry, isEsModule, ignoreGlobal || isEsModule, ignoreRequire, sourceMap, isDynamicRequireModulesEnabled, dynamicRequireModuleSet, commonDir, ast);
1197
+ const moduleInfo = this.getModuleInfo(id);
1198
+ const transformed = transformCommonjs(this.parse, code, id, moduleInfo.isEntry, moduleInfo.importers && moduleInfo.importers.length > 0, isEsModule, ignoreGlobal || isEsModule, ignoreRequire, sourceMap, isDynamicRequireModulesEnabled, dynamicRequireModuleSet, commonDir, ast);
1205
1199
  setIsCjsPromise(id, isEsModule ? false : Boolean(transformed));
1206
1200
 
1207
1201
  if (!transformed) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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)) 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, basedir, module) {\n\treturn module = {\n\t path: basedir,\n\t exports: {},\n\t require: function (path, base) {\n return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);\n }\n\t}, 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\nfunction dirname (path) {\n if (path.length === 0)\n return '.';\n\n let i = path.length - 1;\n while (i > 0) {\n const 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 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\tpath: dirname(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\trequire: function (path, base) {\n\t\t\t\t\t return commonjsRequire(path, (base === undefined || base === null) ? cachedModule.path : base);\n\t\t\t\t\t}\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 { resolve, dirname } from 'path';\n\nimport { walk } from 'estree-walker';\nimport MagicString from 'magic-string';\nimport { attachScopes, extractAssignedNames, makeLegalIdentifier } from '@rollup/pluginutils';\n\nimport { sync as nodeResolveSync } from 'resolve';\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';\n// TODO can this be async?\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 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 usesCommonjsHelpers = false;\n\n function isRequireStatement(node) {\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 isRequireIdentifier(node.callee);\n }\n\n function isRequireIdentifier(node) {\n if (!node) return false;\n\n if (node.type === 'Identifier' && node.name === 'require' /* `require` */) {\n // `require` is hidden by a variable in local scope\n if (scope.contains('require')) return false;\n\n return true;\n } else if (node.type === 'MemberExpression' /* `[something].[something]` */) {\n // `module.[something]`\n if (node.object.type !== 'Identifier' || node.object.name !== 'module') return false;\n\n // `module` is hidden by a variable in local scope\n if (scope.contains('module')) return false;\n\n // `module.require(...)`\n if (node.property.type !== 'Identifier' || node.property.name !== 'require') return false;\n\n return true;\n }\n\n return false;\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 (\n 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\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 usesCommonjsHelpers = 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 (isRequireIdentifier(node)) {\n if (!isDynamicRequireModulesEnabled && isStaticRequireStatement(parent)) {\n return;\n }\n\n if (isDynamicRequireModulesEnabled && isRequireStatement(parent)) {\n magicString.appendLeft(\n parent.end - 1,\n `,${JSON.stringify(\n dirname(id) === '.'\n ? null /* default behavior */\n : getVirtualPathForDynamicRequirePath(\n normalizePathSlashes(dirname(id)),\n commonDir\n )\n )}`\n );\n }\n\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsRequire`, {\n storeName: true\n });\n usesCommonjsHelpers = 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 usesCommonjsHelpers = true;\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 usesCommonjsHelpers = 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 // If `isEsModule` is on, it means it has ES6 import/export statements,\n // which just can't be wrapped in a function.\n if (isEsModule) shouldWrap = false;\n\n usesCommonjsHelpers = usesCommonjsHelpers || shouldWrap;\n\n const importBlock = `${(usesCommonjsHelpers\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 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\n wrapperEnd = `\\n}`;\n if (isDynamicRequireModulesEnabled) {\n wrapperEnd += `, ${JSON.stringify(\n getVirtualPathForDynamicRequirePath(normalizePathSlashes(dirname(id)), commonDir)\n )}`;\n }\n\n wrapperEnd += `);`;\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 const injectExportBlock = hasDefaultExport || named.length > 0 || shouldWrap || !isEntry;\n if (injectExportBlock) {\n magicString.append(exportBlock);\n }\n\n code = magicString.toString();\n const map = sourceMap ? magicString.generateMap() : null;\n\n return { code, map, syntheticNamedExports: injectExportBlock };\n}\n","import { statSync } from 'fs';\n\nimport { resolve } from 'path';\n\nimport glob from 'glob';\n\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(dynamicRequireModuleSet);\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(\n (path) => {\n try {\n if (statSync(path).isDirectory()) return true;\n } catch (ignored) {\n // Nothing to do here\n }\n return false;\n }\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 (\n importee === HELPERS_ID ||\n importee === DYNAMIC_PACKAGES_ID ||\n importee.startsWith(DYNAMIC_JSON_PREFIX)\n ) {\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 { existsSync, readFileSync } from 'fs';\nimport { extname, join } from 'path';\n\nimport { createFilter } from '@rollup/pluginutils';\n\nimport getCommonDir from 'commondir';\n\nimport { peerDependencies } from '../package.json';\n\nimport getDynamicRequirePaths from './dynamic-require-paths';\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 {\n checkEsModule,\n normalizePathSlashes,\n hasCjsKeywords,\n transformCommonjs\n} 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 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(normalizePathSlashes(id));\n\n if (isEsModule && (!isDynamicRequireModule || !options.transformMixedEsModules)) {\n (hasDefaultExport ? esModulesWithDefaultExport : esModulesWithoutDefaultExport).add(id);\n if (!options.transformMixedEsModules) {\n setIsCjsPromise(id, false);\n return null;\n }\n }\n // it is not an ES module AND 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 transformed = transformCommonjs(\n this.parse,\n code,\n id,\n this.getModuleInfo(id).isEntry,\n isEsModule,\n ignoreGlobal || isEsModule,\n ignoreRequire,\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) esModulesWithoutDefaultExport.add(id);\n return null;\n }\n\n return transformed;\n }\n\n return {\n name: 'commonjs',\n\n buildStart() {\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 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) code += HELPERS_DYNAMIC;\n else 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 =\n JSON.parse(readFileSync(join(dir, 'package.json'), { encoding: 'utf8' })).main ||\n 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(normalizePathSlashes(join(dir, entryPoint)))});\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 (\n dynamicRequireModuleSet.has(normalizePathSlashes(actualId)) &&\n !actualId.endsWith('.json')\n )\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","sourceMap","isDynamicRequireModulesEnabled","dynamicRequireModuleSet","astCache","magicString","MagicString","required","sources","uid","attachScopes","uses","module","exports","global","require","lexicalDepth","programDepth","Set","HELPERS_NAME","namedExports","shouldWrap","usesCommonjsHelpers","isRequireStatement","isRequireIdentifier","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","importBlock","concat","map","filter","importProxy","namedExportDeclarations","wrapperStart","wrapperEnd","moduleName","exportModuleExports","str","addExport","declaration","defaultExportPropertyAssignments","args","names","defaultExport","named","exportBlock","trim","prepend","append","injectExportBlock","toString","generateMap","syntheticNamedExports","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","esModulesWithoutDefaultExport","esModulesWithDefaultExport","ignore","includes","transformAndCheckExports","isDynamicRequireModule","transformMixedEsModules","transformed","getModuleInfo","Boolean","buildStart","warn","meta","rollupVersion","Number","major","minor","minVersion","peerDependencies","rollup","minMajor","minMinor","error","load","actualId","dir","entryPoint","existsSync","readFileSync","encoding","main","isDynamicJson","normalizedPath","isCjs","dynamicImports","dynamicId","transform","indexOf","call","loc"],"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)) 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 createCommonjsModule(fn, basedir, module) {\n\treturn module = {\n\t path: basedir,\n\t exports: {},\n\t require: function (path, base) {\n return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);\n }\n\t}, 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\nfunction dirname (path) {\n if (path.length === 0)\n return '.';\n\n let i = path.length - 1;\n while (i > 0) {\n const 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 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\tpath: dirname(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\trequire: function (path, base) {\n\t\t\t\t\t return commonjsRequire(path, (base === undefined || base === null) ? cachedModule.path : base);\n\t\t\t\t\t}\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 { resolve, dirname } from 'path';\n\nimport { walk } from 'estree-walker';\nimport MagicString from 'magic-string';\nimport { attachScopes, extractAssignedNames, makeLegalIdentifier } from '@rollup/pluginutils';\n\nimport { sync as nodeResolveSync } from 'resolve';\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';\n// TODO can this be async?\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 hasImporters,\n isEsModule,\n ignoreGlobal,\n ignoreRequire,\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 usesCommonjsHelpers = false;\n\n function isRequireStatement(node) {\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 isRequireIdentifier(node.callee);\n }\n\n function isRequireIdentifier(node) {\n if (!node) return false;\n\n if (node.type === 'Identifier' && node.name === 'require' /* `require` */) {\n // `require` is hidden by a variable in local scope\n if (scope.contains('require')) return false;\n\n return true;\n } else if (node.type === 'MemberExpression' /* `[something].[something]` */) {\n // `module.[something]`\n if (node.object.type !== 'Identifier' || node.object.name !== 'module') return false;\n\n // `module` is hidden by a variable in local scope\n if (scope.contains('module')) return false;\n\n // `module.require(...)`\n if (node.property.type !== 'Identifier' || node.property.name !== 'require') return false;\n\n return true;\n }\n\n return false;\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 isNodeRequireStatement(parent) {\n const reservedMethod = ['resolve', 'cache', 'main'];\n if (parent && parent.property && reservedMethod.indexOf(parent.property.name) > -1) {\n return true;\n }\n return false;\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 (\n 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\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 usesCommonjsHelpers = 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 (isRequireIdentifier(node)) {\n if (isNodeRequireStatement(parent)) {\n return;\n }\n\n if (!isDynamicRequireModulesEnabled && isStaticRequireStatement(parent)) {\n return;\n }\n\n if (isDynamicRequireModulesEnabled && isRequireStatement(parent)) {\n magicString.appendLeft(\n parent.end - 1,\n `,${JSON.stringify(\n dirname(id) === '.'\n ? null /* default behavior */\n : getVirtualPathForDynamicRequirePath(\n normalizePathSlashes(dirname(id)),\n commonDir\n )\n )}`\n );\n }\n\n magicString.overwrite(node.start, node.end, `${HELPERS_NAME}.commonjsRequire`, {\n storeName: true\n });\n usesCommonjsHelpers = 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 usesCommonjsHelpers = true;\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 usesCommonjsHelpers = 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 // not a CommonJS module\n return null;\n }\n\n // If `isEsModule` is on, it means it has ES6 import/export statements,\n // which just can't be wrapped in a function.\n if (isEsModule) shouldWrap = false;\n\n usesCommonjsHelpers = usesCommonjsHelpers || shouldWrap;\n\n const importBlock = `${(usesCommonjsHelpers\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 || hasImporters) && !isEsModule) {\n const exportModuleExports = {\n str: `export { ${moduleName} as __moduleExports };`,\n name: '__moduleExports'\n };\n\n namedExportDeclarations.push(exportModuleExports);\n }\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\n wrapperEnd = `\\n}`;\n if (isDynamicRequireModulesEnabled) {\n wrapperEnd += `, ${JSON.stringify(\n getVirtualPathForDynamicRequirePath(normalizePathSlashes(dirname(id)), commonDir)\n )}`;\n }\n\n wrapperEnd += `);`;\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 }\n\n defaultExportPropertyAssignments.push(`${moduleName}.${name} = ${deconflicted};`);\n }\n }\n }\n\n if (!hasDefaultExport && (names.length || ((!isEntry || hasImporters) && !isEsModule))) {\n wrapperEnd = `\\n\\nvar ${moduleName} = {\\n${names\n .map(({ name, deconflicted }) => `\\t${name}: ${deconflicted}`)\n .join(',\\n')}\\n};`;\n }\n }\n\n const defaultExport = `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 const injectExportBlock =\n hasDefaultExport || named.length > 0 || shouldWrap || !isEntry || hasImporters;\n if (injectExportBlock) {\n magicString.append(exportBlock);\n }\n\n code = magicString.toString();\n const map = sourceMap ? magicString.generateMap() : null;\n\n return { code, map, syntheticNamedExports: injectExportBlock };\n}\n","import { statSync } from 'fs';\n\nimport { resolve } from 'path';\n\nimport glob from 'glob';\n\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(dynamicRequireModuleSet);\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(\n (path) => {\n try {\n if (statSync(path).isDirectory()) return true;\n } catch (ignored) {\n // Nothing to do here\n }\n return false;\n }\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 (\n importee === HELPERS_ID ||\n importee === DYNAMIC_PACKAGES_ID ||\n importee.startsWith(DYNAMIC_JSON_PREFIX)\n ) {\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 { existsSync, readFileSync } from 'fs';\nimport { extname, join } from 'path';\n\nimport { createFilter } from '@rollup/pluginutils';\n\nimport getCommonDir from 'commondir';\n\nimport { peerDependencies } from '../package.json';\n\nimport getDynamicRequirePaths from './dynamic-require-paths';\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 {\n checkEsModule,\n normalizePathSlashes,\n hasCjsKeywords,\n transformCommonjs\n} 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 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(normalizePathSlashes(id));\n\n if (isEsModule && (!isDynamicRequireModule || !options.transformMixedEsModules)) {\n (hasDefaultExport ? esModulesWithDefaultExport : esModulesWithoutDefaultExport).add(id);\n if (!options.transformMixedEsModules) {\n setIsCjsPromise(id, false);\n return null;\n }\n }\n // it is not an ES module AND 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 moduleInfo = this.getModuleInfo(id);\n\n const transformed = transformCommonjs(\n this.parse,\n code,\n id,\n moduleInfo.isEntry,\n moduleInfo.importers && moduleInfo.importers.length > 0,\n isEsModule,\n ignoreGlobal || isEsModule,\n ignoreRequire,\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) esModulesWithoutDefaultExport.add(id);\n return null;\n }\n\n return transformed;\n }\n\n return {\n name: 'commonjs',\n\n buildStart() {\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 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) code += HELPERS_DYNAMIC;\n else 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 =\n JSON.parse(readFileSync(join(dir, 'package.json'), { encoding: 'utf8' })).main ||\n 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(normalizePathSlashes(join(dir, entryPoint)))});\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 (\n dynamicRequireModuleSet.has(normalizePathSlashes(actualId)) &&\n !actualId.endsWith('.json')\n )\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","hasImporters","ignoreRequire","sourceMap","isDynamicRequireModulesEnabled","dynamicRequireModuleSet","astCache","magicString","MagicString","required","sources","uid","attachScopes","uses","module","exports","global","require","lexicalDepth","programDepth","Set","HELPERS_NAME","namedExports","shouldWrap","usesCommonjsHelpers","isRequireStatement","isRequireIdentifier","hasDynamicArguments","expressions","isStaticRequireStatement","isNodeRequireStatement","parent","reservedMethod","indexOf","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","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","importBlock","concat","map","filter","importProxy","namedExportDeclarations","wrapperStart","wrapperEnd","moduleName","exportModuleExports","str","defaultExportPropertyAssignments","args","names","declaration","defaultExport","named","exportBlock","trim","prepend","append","injectExportBlock","toString","generateMap","syntheticNamedExports","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","esModulesWithoutDefaultExport","esModulesWithDefaultExport","ignore","includes","transformAndCheckExports","isDynamicRequireModule","transformMixedEsModules","moduleInfo","getModuleInfo","transformed","importers","Boolean","buildStart","warn","meta","rollupVersion","Number","major","minor","minVersion","peerDependencies","rollup","minMajor","minMinor","error","load","actualId","dir","entryPoint","existsSync","readFileSync","encoding","main","isDynamicJson","normalizedPath","isCjs","dynamicImports","dynamicId","transform","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": "12.0.0",
3
+ "version": "14.0.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
package/types/index.d.ts CHANGED
@@ -35,12 +35,6 @@ interface RollupCommonJSOptions {
35
35
  * @default false
36
36
  */
37
37
  transformMixedEsModules?: boolean;
38
- /**
39
- * explicitly specify unresolvable named exports
40
- * ([see below for more details](https://github.com/rollup/plugins/tree/master/packages/commonjs#named-exports))
41
- * @default undefined
42
- */
43
- namedExports?: { [package: string]: ReadonlyArray<string> };
44
38
  /**
45
39
  * sometimes you have to leave require statements
46
40
  * unconverted. Pass an array containing the IDs
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2019 RollupJS Plugin Contributors (https://github.com/rollup/plugins/graphs/contributors)
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.