@ms-cloudpack/bundler-rollup 0.2.17 → 0.2.19

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.
@@ -1 +1 @@
1
- {"version":3,"file":"getRollupOptions.d.ts","sourceRoot":"","sources":["../src/getRollupOptions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAI5E,OAAO,KAAK,EAAgB,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAUpF;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE;IACN,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;CACzC,GAAG,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,GAC1C,OAAO,CAAC;IACT,YAAY,EAAE,aAAa,CAAC;IAC5B,aAAa,EAAE,aAAa,CAAC;IAC7B,sFAAsF;IACtF,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB,CAAC,CAgDD"}
1
+ {"version":3,"file":"getRollupOptions.d.ts","sourceRoot":"","sources":["../src/getRollupOptions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAI5E,OAAO,KAAK,EAAgB,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAUpF;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE;IACN,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;CACzC,GAAG,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,GAC1C,OAAO,CAAC;IACT,YAAY,EAAE,aAAa,CAAC;IAC5B,aAAa,EAAE,aAAa,CAAC;IAC7B,sFAAsF;IACtF,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB,CAAC,CAmDD"}
@@ -46,6 +46,9 @@ export async function getRollupOptions(params) {
46
46
  // No overriding these options
47
47
  dir: options.outputPath ? path.resolve(inputPath, options.outputPath) : inputPath,
48
48
  format: 'es',
49
+ entryFileNames: '[name].js',
50
+ chunkFileNames: '[name].js',
51
+ assetFileNames: 'assets/[name]-[extname]',
49
52
  },
50
53
  };
51
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getRollupOptions.js","sourceRoot":"","sources":["../src/getRollupOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,wFAAwF;AACxF,mDAAmD;AACnD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;AAEnE,yCAAyC;AACzC,MAAM,eAAe,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAE2C;IAO3C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACvC,MAAM,EACJ,SAAS,EACT,MAAM,EACN,QAAQ,GAAG,EAAE,EACb,OAAO,GAAG,EAAE,EACZ,cAAc,GAAG,EAAE,EACnB,cAAc,EACd,SAAS,EACT,mBAAmB,GACpB,GAAG,OAAO,CAAC;IACZ,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC,OAAO;QACL,QAAQ;QACR,YAAY,EAAE;YACZ,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;YAChH,GAAI,cAAc,CAAC,YAA6B;YAChD,2CAA2C;YAE3C,kDAAkD;YAClD,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAC9G,8DAA8D;YAC9D,OAAO,EAAE,MAAM,gBAAgB,CAAC;gBAC9B,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,SAAS;gBACtB,gBAAgB;gBAChB,cAAc;gBACd,SAAS;gBACT,oBAAoB,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,wBAAwB,CAAC;aACxE,CAAC;YACF,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;gBAClB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC1E,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;SACF;QACD,aAAa,EAAE;YACb,SAAS;YACT,GAAI,cAAc,CAAC,aAA+B;YAClD,8BAA8B;YAC9B,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YACjF,MAAM,EAAE,IAAI;SACb;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { shouldExternalizePackage } from '@ms-cloudpack/bundler-utilities';\nimport type { BundleOptions } from '@ms-cloudpack/common-types';\nimport type { WriteESMStubsResult } from '@ms-cloudpack/esm-stub-utilities';\nimport { isExternalPackage } from '@ms-cloudpack/path-utilities';\nimport fs from 'fs';\nimport path from 'path';\nimport type { InputOptions, OutputOptions, RollupLog, RollupOptions } from 'rollup';\nimport { getRollupPlugins } from './getRollupPlugins.js';\n\n// These are the polyfills that we support from the 'rollup-plugin-polyfill-node' plugin\n// that are not included in the node builtins list.\nconst polyfills = new Set(['global', '_inherits', '_buffer_list']);\n\n// Spammy, usually non-actionable warning\nconst ignoredWarnings = ['Circular dependency:'];\n\n/**\n * Converts BundlerOptions to Rollup-specific options.\n */\nexport async function getRollupOptions(\n params: {\n options: Omit<BundleOptions, 'entries'>;\n } & Pick<WriteESMStubsResult, 'newEntries'>,\n): Promise<{\n inputOptions: RollupOptions;\n outputOptions: OutputOptions;\n /** Warnings will be pushed to this array (rollup handles warnings with a callback) */\n warnings: RollupLog[];\n}> {\n const { options, newEntries } = params;\n const {\n inputPath,\n minify,\n external = [],\n inlined = [],\n bundlerOptions = {},\n dynamicImports,\n sourcemap,\n bundlerCapabilities,\n } = options;\n const isExternal = isExternalPackage(inputPath);\n const enableTypescript = !isExternal && fs.existsSync(path.resolve(inputPath, 'tsconfig.json'));\n const warnings: RollupLog[] = [];\n\n return {\n warnings,\n inputOptions: {\n external: (id) => shouldExternalizePackage({ id, inlined, external, polyfills, shouldInlineNodeBuiltins: true }),\n ...(bundlerOptions.inputOptions as InputOptions),\n // Don't allow overriding the options below\n\n // Rollup requires entry keys without a leading ./\n input: Object.fromEntries(Object.entries(newEntries).map(([key, value]) => [key.replace(/^\\.\\//, ''), value])),\n // These are not possible to override properly via JSON config\n plugins: await getRollupPlugins({\n isProduction: minify,\n packagePath: inputPath,\n enableTypescript,\n dynamicImports,\n sourcemap,\n resolveWebExtensions: !!bundlerCapabilities?.['resolve-web-extensions'],\n }),\n onwarn: (warning) => {\n if (!ignoredWarnings.some((ignored) => warning.message.includes(ignored))) {\n warnings.push(warning);\n }\n },\n },\n outputOptions: {\n sourcemap,\n ...(bundlerOptions.outputOptions as OutputOptions),\n // No overriding these options\n dir: options.outputPath ? path.resolve(inputPath, options.outputPath) : inputPath,\n format: 'es',\n },\n };\n}\n"]}
1
+ {"version":3,"file":"getRollupOptions.js","sourceRoot":"","sources":["../src/getRollupOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,wFAAwF;AACxF,mDAAmD;AACnD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;AAEnE,yCAAyC;AACzC,MAAM,eAAe,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAE2C;IAO3C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACvC,MAAM,EACJ,SAAS,EACT,MAAM,EACN,QAAQ,GAAG,EAAE,EACb,OAAO,GAAG,EAAE,EACZ,cAAc,GAAG,EAAE,EACnB,cAAc,EACd,SAAS,EACT,mBAAmB,GACpB,GAAG,OAAO,CAAC;IACZ,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC,OAAO;QACL,QAAQ;QACR,YAAY,EAAE;YACZ,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;YAChH,GAAI,cAAc,CAAC,YAA6B;YAChD,2CAA2C;YAE3C,kDAAkD;YAClD,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAC9G,8DAA8D;YAC9D,OAAO,EAAE,MAAM,gBAAgB,CAAC;gBAC9B,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,SAAS;gBACtB,gBAAgB;gBAChB,cAAc;gBACd,SAAS;gBACT,oBAAoB,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,wBAAwB,CAAC;aACxE,CAAC;YACF,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;gBAClB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC1E,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;SACF;QACD,aAAa,EAAE;YACb,SAAS;YACT,GAAI,cAAc,CAAC,aAA+B;YAClD,8BAA8B;YAC9B,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YACjF,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,WAAW;YAC3B,cAAc,EAAE,WAAW;YAC3B,cAAc,EAAE,yBAAyB;SAC1C;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { shouldExternalizePackage } from '@ms-cloudpack/bundler-utilities';\nimport type { BundleOptions } from '@ms-cloudpack/common-types';\nimport type { WriteESMStubsResult } from '@ms-cloudpack/esm-stub-utilities';\nimport { isExternalPackage } from '@ms-cloudpack/path-utilities';\nimport fs from 'fs';\nimport path from 'path';\nimport type { InputOptions, OutputOptions, RollupLog, RollupOptions } from 'rollup';\nimport { getRollupPlugins } from './getRollupPlugins.js';\n\n// These are the polyfills that we support from the 'rollup-plugin-polyfill-node' plugin\n// that are not included in the node builtins list.\nconst polyfills = new Set(['global', '_inherits', '_buffer_list']);\n\n// Spammy, usually non-actionable warning\nconst ignoredWarnings = ['Circular dependency:'];\n\n/**\n * Converts BundlerOptions to Rollup-specific options.\n */\nexport async function getRollupOptions(\n params: {\n options: Omit<BundleOptions, 'entries'>;\n } & Pick<WriteESMStubsResult, 'newEntries'>,\n): Promise<{\n inputOptions: RollupOptions;\n outputOptions: OutputOptions;\n /** Warnings will be pushed to this array (rollup handles warnings with a callback) */\n warnings: RollupLog[];\n}> {\n const { options, newEntries } = params;\n const {\n inputPath,\n minify,\n external = [],\n inlined = [],\n bundlerOptions = {},\n dynamicImports,\n sourcemap,\n bundlerCapabilities,\n } = options;\n const isExternal = isExternalPackage(inputPath);\n const enableTypescript = !isExternal && fs.existsSync(path.resolve(inputPath, 'tsconfig.json'));\n const warnings: RollupLog[] = [];\n\n return {\n warnings,\n inputOptions: {\n external: (id) => shouldExternalizePackage({ id, inlined, external, polyfills, shouldInlineNodeBuiltins: true }),\n ...(bundlerOptions.inputOptions as InputOptions),\n // Don't allow overriding the options below\n\n // Rollup requires entry keys without a leading ./\n input: Object.fromEntries(Object.entries(newEntries).map(([key, value]) => [key.replace(/^\\.\\//, ''), value])),\n // These are not possible to override properly via JSON config\n plugins: await getRollupPlugins({\n isProduction: minify,\n packagePath: inputPath,\n enableTypescript,\n dynamicImports,\n sourcemap,\n resolveWebExtensions: !!bundlerCapabilities?.['resolve-web-extensions'],\n }),\n onwarn: (warning) => {\n if (!ignoredWarnings.some((ignored) => warning.message.includes(ignored))) {\n warnings.push(warning);\n }\n },\n },\n outputOptions: {\n sourcemap,\n ...(bundlerOptions.outputOptions as OutputOptions),\n // No overriding these options\n dir: options.outputPath ? path.resolve(inputPath, options.outputPath) : inputPath,\n format: 'es',\n entryFileNames: '[name].js',\n chunkFileNames: '[name].js',\n assetFileNames: 'assets/[name]-[extname]',\n },\n };\n}\n"]}
@@ -7,17 +7,7 @@ declare function commonjs(options?: {}): {
7
7
  plugins: any;
8
8
  }): void;
9
9
  buildEnd(): void;
10
- load(id: any): string | Promise<string> | {
11
- code: string;
12
- syntheticNamedExports: string;
13
- } | {
14
- code: string;
15
- meta: {
16
- commonjs: {
17
- isCommonJS: boolean;
18
- };
19
- };
20
- } | null;
10
+ load(id: any): any;
21
11
  shouldTransformCachedModule(...args: any[]): any;
22
12
  transform(code: any, id: any): any;
23
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/commonjs/index.js"],"names":[],"mappings":";AA05DA;;;;;;;;;;;;;;;;;;;;;EAsQC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/commonjs/index.js"],"names":[],"mappings":";AAk7DA;;;;;;;;;;;EA0QC"}
@@ -7,11 +7,11 @@ import { basename, extname, dirname, relative, resolve, join, sep } from 'path';
7
7
  import { makeLegalIdentifier, createFilter, attachScopes, extractAssignedNames } from '@rollup/pluginutils';
8
8
  import { existsSync, readFileSync, statSync } from 'fs';
9
9
  import getCommonDir from 'commondir';
10
- import glob from 'glob';
10
+ import { fdir } from 'fdir';
11
11
  import { walk } from 'estree-walker';
12
12
  import MagicString from 'magic-string';
13
13
  import isReference from 'is-reference';
14
- var version = '25.0.7';
14
+ var version = '28.0.2';
15
15
  var peerDependencies = {
16
16
  rollup: '^2.68.0||^3.0.0||^4.0.0',
17
17
  };
@@ -102,9 +102,9 @@ function capitalize(name) {
102
102
  }
103
103
  function getStrictRequiresFilter({ strictRequires }) {
104
104
  switch (strictRequires) {
105
+ case undefined:
105
106
  case true:
106
107
  return { strictRequiresFilter: () => true, detectCyclesAndConditional: false };
107
- case undefined:
108
108
  case 'auto':
109
109
  case 'debug':
110
110
  case null:
@@ -149,7 +149,13 @@ function getDynamicRequireModules(patterns, dynamicRequireRoot) {
149
149
  for (const pattern of !patterns || Array.isArray(patterns) ? patterns || [] : [patterns]) {
150
150
  const isNegated = pattern.startsWith('!');
151
151
  const modifyMap = (targetPath, resolvedPath) => isNegated ? dynamicRequireModules.delete(targetPath) : dynamicRequireModules.set(targetPath, resolvedPath);
152
- for (const path of glob.sync(isNegated ? pattern.substr(1) : pattern)) {
152
+ for (const path of new fdir()
153
+ .withBasePath()
154
+ .withDirs()
155
+ .glob(isNegated ? pattern.substr(1) : pattern)
156
+ .crawl()
157
+ .sync()
158
+ .sort((a, b) => a.localeCompare(b, 'en'))) {
153
159
  const resolvedPath = resolve(path);
154
160
  const requirePath = normalizePathSlashes(resolvedPath);
155
161
  if (isDirectory(resolvedPath)) {
@@ -281,12 +287,19 @@ function normalize (path) {
281
287
  const isWrappedId = (id, suffix) => id.endsWith(suffix);
282
288
  const wrapId = (id, suffix) => `\0${id}${suffix}`;
283
289
  const unwrapId = (wrappedId, suffix) => wrappedId.slice(1, -suffix.length);
290
+ // A proxy module when a module is required from non-wrapped CommonJS. Is different for ESM and CommonJS requires.
284
291
  const PROXY_SUFFIX = '?commonjs-proxy';
292
+ // Indicates that a required module is wrapped commonjs and needs special handling.
285
293
  const WRAPPED_SUFFIX = '?commonjs-wrapped';
294
+ // Indicates that a required module is external
286
295
  const EXTERNAL_SUFFIX = '?commonjs-external';
296
+ // A helper module that contains the exports object of a module
287
297
  const EXPORTS_SUFFIX = '?commonjs-exports';
298
+ // A helper module that contains the module object of a module, e.g. when module.exports is reassigned
288
299
  const MODULE_SUFFIX = '?commonjs-module';
300
+ // A special proxy for CommonJS entry points
289
301
  const ENTRY_SUFFIX = '?commonjs-entry';
302
+ // A proxy when wrapped ESM is required from CommonJS
290
303
  const ES_IMPORT_SUFFIX = '?commonjs-es-import';
291
304
  const DYNAMIC_MODULES_ID = '\0commonjs-dynamic-modules';
292
305
  const HELPERS_ID = '\0commonjsHelpers.js';
@@ -314,7 +327,7 @@ export function getAugmentedNamespace(n) {
314
327
  var f = n.default;
315
328
  if (typeof f == "function") {
316
329
  var a = function a () {
317
- var isInstance = false;
330
+ var isInstance = false;
318
331
  try {
319
332
  isInstance = this instanceof a;
320
333
  } catch {}
@@ -385,25 +398,28 @@ function getEntryProxy(id, defaultIsModuleExports, getModuleInfo, shebang) {
385
398
  }
386
399
  return shebang + code;
387
400
  }
388
- const result = getEsImportProxy(id, defaultIsModuleExports);
401
+ const result = getEsImportProxy(id, defaultIsModuleExports, true);
389
402
  return {
390
403
  ...result,
391
404
  code: shebang + result.code,
392
405
  };
393
406
  }
394
- function getEsImportProxy(id, defaultIsModuleExports) {
407
+ function getEsImportProxy(id, defaultIsModuleExports, moduleSideEffects) {
395
408
  const name = getName(id);
396
409
  const exportsName = `${name}Exports`;
397
410
  const requireModule = `require${capitalize(name)}`;
398
411
  let code = `import { getDefaultExportFromCjs } from "${HELPERS_ID}";\n` +
399
412
  `import { __require as ${requireModule} } from ${JSON.stringify(id)};\n` +
400
- `var ${exportsName} = ${requireModule}();\n` +
413
+ `var ${exportsName} = ${moduleSideEffects ? '' : '/*@__PURE__*/ '}${requireModule}();\n` +
401
414
  `export { ${exportsName} as __moduleExports };`;
402
415
  if (defaultIsModuleExports === true) {
403
416
  code += `\nexport { ${exportsName} as default };`;
404
417
  }
418
+ else if (defaultIsModuleExports === false) {
419
+ code += `\nexport default ${exportsName}.default;`;
420
+ }
405
421
  else {
406
- code += `export default /*@__PURE__*/getDefaultExportFromCjs(${exportsName});`;
422
+ code += `\nexport default /*@__PURE__*/getDefaultExportFromCjs(${exportsName});`;
407
423
  }
408
424
  return {
409
425
  code,
@@ -447,7 +463,7 @@ function getResolveId(extensions, isPossibleCjsId) {
447
463
  // All logic below is specific to ES imports.
448
464
  // Also, if we do not skip this logic for requires that are resolved while
449
465
  // transforming a commonjs file, it can easily lead to deadlocks.
450
- if (customOptions && customOptions['node-resolve'] && customOptions['node-resolve'].isRequire) {
466
+ if (customOptions?.['node-resolve']?.isRequire) {
451
467
  return null;
452
468
  }
453
469
  const currentlyResolvingForParent = currentlyResolving.get(importer);
@@ -665,14 +681,12 @@ function getRequireResolver(extensions, detectCyclesAndConditional, currentlyRes
665
681
  return requireTargets.map(({ id: dependencyId, allowProxy }, index) => {
666
682
  // eslint-disable-next-line no-multi-assign
667
683
  const isCommonJS = (parentMeta.isRequiredCommonJS[dependencyId] = getTypeForFullyAnalyzedModule(dependencyId));
684
+ const isWrappedCommonJS = isCommonJS === IS_WRAPPED_COMMONJS;
668
685
  fullyAnalyzedModules[dependencyId] = true;
669
686
  return {
687
+ wrappedModuleSideEffects: isWrappedCommonJS && rollupContext.getModuleInfo(dependencyId).moduleSideEffects,
670
688
  source: sources[index].source,
671
- id: allowProxy
672
- ? isCommonJS === IS_WRAPPED_COMMONJS
673
- ? wrapId(dependencyId, WRAPPED_SUFFIX)
674
- : wrapId(dependencyId, PROXY_SUFFIX)
675
- : dependencyId,
689
+ id: allowProxy ? wrapId(dependencyId, isWrappedCommonJS ? WRAPPED_SUFFIX : PROXY_SUFFIX) : dependencyId,
676
690
  isCommonJS,
677
691
  };
678
692
  });
@@ -1021,7 +1035,7 @@ function collectSources(requireExpressions) {
1021
1035
  }
1022
1036
  function processRequireExpressions(imports, requireTargets, requiresBySource, getIgnoreTryCatchRequireStatementMode, magicString) {
1023
1037
  const generateRequireName = getGenerateRequireName();
1024
- for (const { source, id: resolvedId, isCommonJS } of requireTargets) {
1038
+ for (const { source, id: resolvedId, isCommonJS, wrappedModuleSideEffects } of requireTargets) {
1025
1039
  const requires = requiresBySource[source];
1026
1040
  const name = generateRequireName(requires);
1027
1041
  let usesRequired = false;
@@ -1041,7 +1055,7 @@ function processRequireExpressions(imports, requireTargets, requiresBySource, ge
1041
1055
  else if (canConvertRequire) {
1042
1056
  needsImport = true;
1043
1057
  if (isCommonJS === IS_WRAPPED_COMMONJS) {
1044
- magicString.overwrite(node.start, node.end, `${name}()`);
1058
+ magicString.overwrite(node.start, node.end, `${wrappedModuleSideEffects ? '' : '/*@__PURE__*/ '}${name}()`);
1045
1059
  }
1046
1060
  else if (usesReturnValue) {
1047
1061
  usesRequired = true;
@@ -1122,6 +1136,7 @@ async function transformCommonjs(parse, code, id, isEsModule, ignoreGlobal, igno
1122
1136
  const topLevelAssignments = new Set();
1123
1137
  const topLevelDefineCompiledEsmExpressions = [];
1124
1138
  const replacedGlobal = [];
1139
+ const replacedThis = [];
1125
1140
  const replacedDynamicRequires = [];
1126
1141
  const importedVariables = new Set();
1127
1142
  const indentExclusionRanges = [];
@@ -1296,7 +1311,9 @@ async function transformCommonjs(parse, code, id, isEsModule, ignoreGlobal, igno
1296
1311
  return;
1297
1312
  case 'Identifier': {
1298
1313
  const { name } = node;
1299
- if (!isReference(node, parent) || scope.contains(name))
1314
+ if (!isReference(node, parent) ||
1315
+ scope.contains(name) ||
1316
+ (parent.type === 'PropertyDefinition' && parent.key === node))
1300
1317
  return;
1301
1318
  switch (name) {
1302
1319
  case 'require':
@@ -1373,7 +1390,7 @@ async function transformCommonjs(parse, code, id, isEsModule, ignoreGlobal, igno
1373
1390
  if (lexicalDepth === 0 && !classBodyDepth) {
1374
1391
  uses.global = true;
1375
1392
  if (!ignoreGlobal) {
1376
- replacedGlobal.push(node);
1393
+ replacedThis.push(node);
1377
1394
  }
1378
1395
  }
1379
1396
  return;
@@ -1441,6 +1458,11 @@ async function transformCommonjs(parse, code, id, isEsModule, ignoreGlobal, igno
1441
1458
  storeName: true,
1442
1459
  });
1443
1460
  }
1461
+ for (const node of replacedThis) {
1462
+ magicString.overwrite(node.start, node.end, exportsName, {
1463
+ storeName: true,
1464
+ });
1465
+ }
1444
1466
  for (const node of replacedDynamicRequires) {
1445
1467
  magicString.overwrite(node.start, node.end, isDynamicRequireModulesEnabled
1446
1468
  ? `${dynamicRequireName}(${JSON.stringify(virtualDynamicRequirePath)})`
@@ -1647,7 +1669,7 @@ function commonjs(options = {}) {
1647
1669
  }
1648
1670
  }
1649
1671
  },
1650
- load(id) {
1672
+ async load(id) {
1651
1673
  if (id === HELPERS_ID) {
1652
1674
  return getHelpersModule();
1653
1675
  }
@@ -1678,7 +1700,7 @@ function commonjs(options = {}) {
1678
1700
  }
1679
1701
  if (isWrappedId(id, ES_IMPORT_SUFFIX)) {
1680
1702
  const actualId = unwrapId(id, ES_IMPORT_SUFFIX);
1681
- return getEsImportProxy(actualId, getDefaultIsModuleExports(actualId));
1703
+ return getEsImportProxy(actualId, getDefaultIsModuleExports(actualId), (await this.load({ id: actualId })).moduleSideEffects);
1682
1704
  }
1683
1705
  if (id === DYNAMIC_MODULES_ID) {
1684
1706
  return getDynamicModuleRegistry(isDynamicRequireModulesEnabled, dynamicRequireModules, commonDir, ignoreDynamicRequires);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/commonjs/index.js"],"names":[],"mappings":"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","sourcesContent":["// Fork of @rollup/plugin-commonjs to fix missing try/catch around instanceof checks.\n// More info: https://github.com/microsoft/cloudpack/pull/1707\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { basename, extname, dirname, relative, resolve, join, sep } from 'path';\nimport { makeLegalIdentifier, createFilter, attachScopes, extractAssignedNames } from '@rollup/pluginutils';\nimport { existsSync, readFileSync, statSync } from 'fs';\nimport getCommonDir from 'commondir';\nimport glob from 'glob';\nimport { walk } from 'estree-walker';\nimport MagicString from 'magic-string';\nimport isReference from 'is-reference';\n\nvar version = '25.0.7';\nvar peerDependencies = {\n rollup: '^2.68.0||^3.0.0||^4.0.0',\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\nconst firstpassGlobal = /\\b(?:require|module|exports|global)\\b/;\n\nconst firstpassNoGlobal = /\\b(?:require|module|exports)\\b/;\n\nfunction hasCjsKeywords(code, ignoreGlobal) {\n const firstpass = ignoreGlobal ? firstpassNoGlobal : firstpassGlobal;\n return firstpass.test(code);\n}\n\nfunction analyzeTopLevelStatements(parse, code, id) {\n const ast = tryParse(parse, code, id);\n\n let isEsModule = false;\n let hasDefaultExport = false;\n let hasNamedExports = false;\n\n for (const node of ast.body) {\n switch (node.type) {\n case 'ExportDefaultDeclaration':\n isEsModule = true;\n hasDefaultExport = true;\n break;\n case 'ExportNamedDeclaration':\n isEsModule = true;\n if (node.declaration) {\n hasNamedExports = true;\n } else {\n for (const specifier of node.specifiers) {\n if (specifier.exported.name === 'default') {\n hasDefaultExport = true;\n } else {\n hasNamedExports = true;\n }\n }\n }\n break;\n case 'ExportAllDeclaration':\n isEsModule = true;\n if (node.exported && node.exported.name === 'default') {\n hasDefaultExport = true;\n } else {\n hasNamedExports = true;\n }\n break;\n case 'ImportDeclaration':\n isEsModule = true;\n break;\n }\n }\n\n return { isEsModule, hasDefaultExport, hasNamedExports, ast };\n}\n\nfunction deconflict(scopes, globals, identifier) {\n let i = 1;\n let deconflicted = makeLegalIdentifier(identifier);\n const hasConflicts = () => scopes.some((scope) => scope.contains(deconflicted)) || globals.has(deconflicted);\n\n while (hasConflicts()) {\n deconflicted = makeLegalIdentifier(`${identifier}_${i}`);\n i += 1;\n }\n\n for (const scope of scopes) {\n scope.declarations[deconflicted] = true;\n }\n\n return deconflicted;\n}\n\nfunction getName(id) {\n const name = makeLegalIdentifier(basename(id, extname(id)));\n if (name !== 'index') {\n return name;\n }\n return makeLegalIdentifier(basename(dirname(id)));\n}\n\nfunction normalizePathSlashes(path) {\n return path.replace(/\\\\/g, '/');\n}\n\nconst getVirtualPathForDynamicRequirePath = (path, commonDir) => `/${normalizePathSlashes(relative(commonDir, path))}`;\n\nfunction capitalize(name) {\n return name[0].toUpperCase() + name.slice(1);\n}\n\nfunction getStrictRequiresFilter({ strictRequires }) {\n switch (strictRequires) {\n case true:\n return { strictRequiresFilter: () => true, detectCyclesAndConditional: false };\n case undefined:\n case 'auto':\n case 'debug':\n case null:\n return { strictRequiresFilter: () => false, detectCyclesAndConditional: true };\n case false:\n return { strictRequiresFilter: () => false, detectCyclesAndConditional: false };\n default:\n if (typeof strictRequires === 'string' || Array.isArray(strictRequires)) {\n return {\n strictRequiresFilter: createFilter(strictRequires),\n detectCyclesAndConditional: false,\n };\n }\n throw new Error('Unexpected value for \"strictRequires\" option.');\n }\n}\n\nfunction getPackageEntryPoint(dirPath) {\n let entryPoint = 'index.js';\n\n try {\n if (existsSync(join(dirPath, 'package.json'))) {\n entryPoint = JSON.parse(readFileSync(join(dirPath, 'package.json'), { encoding: 'utf8' })).main || entryPoint;\n }\n } catch (ignored) {\n // ignored\n }\n\n return entryPoint;\n}\n\nfunction isDirectory(path) {\n try {\n if (statSync(path).isDirectory()) return true;\n } catch (ignored) {\n // Nothing to do here\n }\n return false;\n}\n\nfunction getDynamicRequireModules(patterns, dynamicRequireRoot) {\n const dynamicRequireModules = new Map();\n const dirNames = new Set();\n for (const pattern of !patterns || Array.isArray(patterns) ? patterns || [] : [patterns]) {\n const isNegated = pattern.startsWith('!');\n const modifyMap = (targetPath, resolvedPath) =>\n isNegated ? dynamicRequireModules.delete(targetPath) : dynamicRequireModules.set(targetPath, resolvedPath);\n for (const path of glob.sync(isNegated ? pattern.substr(1) : pattern)) {\n const resolvedPath = resolve(path);\n const requirePath = normalizePathSlashes(resolvedPath);\n if (isDirectory(resolvedPath)) {\n dirNames.add(resolvedPath);\n const modulePath = resolve(join(resolvedPath, getPackageEntryPoint(path)));\n modifyMap(requirePath, modulePath);\n modifyMap(normalizePathSlashes(modulePath), modulePath);\n } else {\n dirNames.add(dirname(resolvedPath));\n modifyMap(requirePath, resolvedPath);\n }\n }\n }\n return {\n commonDir: dirNames.size ? getCommonDir([...dirNames, dynamicRequireRoot]) : null,\n dynamicRequireModules,\n };\n}\n\nconst FAILED_REQUIRE_ERROR = `throw new Error('Could not dynamically require \"' + path + '\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');`;\n\nconst COMMONJS_REQUIRE_EXPORT = 'commonjsRequire';\nconst CREATE_COMMONJS_REQUIRE_EXPORT = 'createCommonjsRequire';\n\nfunction getDynamicModuleRegistry(\n isDynamicRequireModulesEnabled,\n dynamicRequireModules,\n commonDir,\n ignoreDynamicRequires,\n) {\n if (!isDynamicRequireModulesEnabled) {\n return `export function ${COMMONJS_REQUIRE_EXPORT}(path) {\n\t${FAILED_REQUIRE_ERROR}\n}`;\n }\n const dynamicModuleImports = [...dynamicRequireModules.values()]\n .map(\n (id, index) =>\n `import ${id.endsWith('.json') ? `json${index}` : `{ __require as require${index} }`} from ${JSON.stringify(\n id,\n )};`,\n )\n .join('\\n');\n const dynamicModuleProps = [...dynamicRequireModules.keys()]\n .map(\n (id, index) =>\n `\\t\\t${JSON.stringify(getVirtualPathForDynamicRequirePath(id, commonDir))}: ${\n id.endsWith('.json') ? `function () { return json${index}; }` : `require${index}`\n }`,\n )\n .join(',\\n');\n return `${dynamicModuleImports}\n\nvar dynamicModules;\n\nfunction getDynamicModules() {\n\treturn dynamicModules || (dynamicModules = {\n${dynamicModuleProps}\n\t});\n}\n\nexport function ${CREATE_COMMONJS_REQUIRE_EXPORT}(originalModuleDir) {\n\tfunction handleRequire(path) {\n\t\tvar resolvedPath = commonjsResolve(path, originalModuleDir);\n\t\tif (resolvedPath !== null) {\n\t\t\treturn getDynamicModules()[resolvedPath]();\n\t\t}\n\t\t${ignoreDynamicRequires ? 'return require(path);' : FAILED_REQUIRE_ERROR}\n\t}\n\thandleRequire.resolve = function (path) {\n\t\tvar resolvedPath = commonjsResolve(path, originalModuleDir);\n\t\tif (resolvedPath !== null) {\n\t\t\treturn resolvedPath;\n\t\t}\n\t\treturn require.resolve(path);\n\t}\n\treturn handleRequire;\n}\n\nfunction commonjsResolve (path, originalModuleDir) {\n\tvar shouldTryNodeModules = isPossibleNodeModulesPath(path);\n\tpath = normalize(path);\n\tvar relPath;\n\tif (path[0] === '/') {\n\t\toriginalModuleDir = '';\n\t}\n\tvar modules = getDynamicModules();\n\tvar checkedExtensions = ['', '.js', '.json'];\n\twhile (true) {\n\t\tif (!shouldTryNodeModules) {\n\t\t\trelPath = normalize(originalModuleDir + '/' + path);\n\t\t} else {\n\t\t\trelPath = normalize(originalModuleDir + '/node_modules/' + path);\n\t\t}\n\n\t\tif (relPath.endsWith('/..')) {\n\t\t\tbreak; // Travelled too far up, avoid infinite loop\n\t\t}\n\n\t\tfor (var extensionIndex = 0; extensionIndex < checkedExtensions.length; extensionIndex++) {\n\t\t\tvar resolvedPath = relPath + checkedExtensions[extensionIndex];\n\t\t\tif (modules[resolvedPath]) {\n\t\t\t\treturn resolvedPath;\n\t\t\t}\n\t\t}\n\t\tif (!shouldTryNodeModules) break;\n\t\tvar nextDir = normalize(originalModuleDir + '/..');\n\t\tif (nextDir === originalModuleDir) break;\n\t\toriginalModuleDir = nextDir;\n\t}\n\treturn null;\n}\n\nfunction isPossibleNodeModulesPath (modulePath) {\n\tvar c0 = modulePath[0];\n\tif (c0 === '/' || c0 === '\\\\\\\\') return false;\n\tvar c1 = modulePath[1], c2 = modulePath[2];\n\tif ((c0 === '.' && (!c1 || c1 === '/' || c1 === '\\\\\\\\')) ||\n\t\t(c0 === '.' && c1 === '.' && (!c2 || c2 === '/' || c2 === '\\\\\\\\'))) return false;\n\tif (c1 === ':' && (c2 === '/' || c2 === '\\\\\\\\')) return false;\n\treturn true;\n}\n\nfunction normalize (path) {\n\tpath = path.replace(/\\\\\\\\/g, '/');\n\tvar parts = path.split('/');\n\tvar slashed = parts[0] === '';\n\tfor (var i = 1; i < parts.length; i++) {\n\t\tif (parts[i] === '.' || parts[i] === '') {\n\t\t\tparts.splice(i--, 1);\n\t\t}\n\t}\n\tfor (var i = 1; i < parts.length; i++) {\n\t\tif (parts[i] !== '..') continue;\n\t\tif (i > 0 && parts[i - 1] !== '..' && parts[i - 1] !== '.') {\n\t\t\tparts.splice(--i, 2);\n\t\t\ti--;\n\t\t}\n\t}\n\tpath = parts.join('/');\n\tif (slashed && path[0] !== '/') path = '/' + path;\n\telse if (path.length === 0) path = '.';\n\treturn path;\n}`;\n}\n\nconst isWrappedId = (id, suffix) => id.endsWith(suffix);\nconst wrapId = (id, suffix) => `\\0${id}${suffix}`;\nconst unwrapId = (wrappedId, suffix) => wrappedId.slice(1, -suffix.length);\n\nconst PROXY_SUFFIX = '?commonjs-proxy';\nconst WRAPPED_SUFFIX = '?commonjs-wrapped';\nconst EXTERNAL_SUFFIX = '?commonjs-external';\nconst EXPORTS_SUFFIX = '?commonjs-exports';\nconst MODULE_SUFFIX = '?commonjs-module';\nconst ENTRY_SUFFIX = '?commonjs-entry';\nconst ES_IMPORT_SUFFIX = '?commonjs-es-import';\n\nconst DYNAMIC_MODULES_ID = '\\0commonjs-dynamic-modules';\nconst HELPERS_ID = '\\0commonjsHelpers.js';\n\nconst IS_WRAPPED_COMMONJS = 'withRequireFunction';\n\n// `x['default']` is used instead of `x.default` for backward compatibility with ES3 browsers.\n// Minifiers like uglify will usually transpile it back if compatibility with ES3 is not enabled.\n// This could be improved by inspecting Rollup's \"generatedCode\" option\n\nconst HELPERS = `\nexport var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nexport function getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nexport function getDefaultExportFromNamespaceIfPresent (n) {\n\treturn n && Object.prototype.hasOwnProperty.call(n, 'default') ? n['default'] : n;\n}\n\nexport function getDefaultExportFromNamespaceIfNotNamed (n) {\n\treturn n && Object.prototype.hasOwnProperty.call(n, 'default') && Object.keys(n).length === 1 ? n['default'] : n;\n}\n\nexport function getAugmentedNamespace(n) {\n if (n.__esModule) return n;\n var f = n.default;\n\tif (typeof f == \"function\") {\n\t\tvar a = function a () {\n var isInstance = false;\n try {\n isInstance = this instanceof a;\n } catch {}\n\t\t\tif (isInstance) {\n return Reflect.construct(f, arguments, this.constructor);\n\t\t\t}\n\t\t\treturn f.apply(this, arguments);\n\t\t};\n\t\ta.prototype = f.prototype;\n } else a = {};\n Object.defineProperty(a, '__esModule', {value: true});\n\tObject.keys(n).forEach(function (k) {\n\t\tvar d = Object.getOwnPropertyDescriptor(n, k);\n\t\tObject.defineProperty(a, k, d.get ? d : {\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\treturn n[k];\n\t\t\t}\n\t\t});\n\t});\n\treturn a;\n}\n`;\n\nfunction getHelpersModule() {\n return HELPERS;\n}\n\nfunction getUnknownRequireProxy(id, requireReturnsDefault) {\n if (requireReturnsDefault === true || id.endsWith('.json')) {\n return `export { default } from ${JSON.stringify(id)};`;\n }\n const name = getName(id);\n const exported =\n requireReturnsDefault === 'auto'\n ? `import { getDefaultExportFromNamespaceIfNotNamed } from \"${HELPERS_ID}\"; export default /*@__PURE__*/getDefaultExportFromNamespaceIfNotNamed(${name});`\n : requireReturnsDefault === 'preferred'\n ? `import { getDefaultExportFromNamespaceIfPresent } from \"${HELPERS_ID}\"; export default /*@__PURE__*/getDefaultExportFromNamespaceIfPresent(${name});`\n : !requireReturnsDefault\n ? `import { getAugmentedNamespace } from \"${HELPERS_ID}\"; export default /*@__PURE__*/getAugmentedNamespace(${name});`\n : `export default ${name};`;\n return `import * as ${name} from ${JSON.stringify(id)}; ${exported}`;\n}\n\nasync function getStaticRequireProxy(id, requireReturnsDefault, loadModule) {\n const name = getName(id);\n const {\n meta: { commonjs: commonjsMeta },\n } = await loadModule({ id });\n if (!commonjsMeta) {\n return getUnknownRequireProxy(id, requireReturnsDefault);\n }\n if (commonjsMeta.isCommonJS) {\n return `export { __moduleExports as default } from ${JSON.stringify(id)};`;\n }\n if (!requireReturnsDefault) {\n return `import { getAugmentedNamespace } from \"${HELPERS_ID}\"; import * as ${name} from ${JSON.stringify(\n id,\n )}; export default /*@__PURE__*/getAugmentedNamespace(${name});`;\n }\n if (\n requireReturnsDefault !== true &&\n (requireReturnsDefault === 'namespace' ||\n !commonjsMeta.hasDefaultExport ||\n (requireReturnsDefault === 'auto' && commonjsMeta.hasNamedExports))\n ) {\n return `import * as ${name} from ${JSON.stringify(id)}; export default ${name};`;\n }\n return `export { default } from ${JSON.stringify(id)};`;\n}\n\nfunction getEntryProxy(id, defaultIsModuleExports, getModuleInfo, shebang) {\n const {\n meta: { commonjs: commonjsMeta },\n hasDefaultExport,\n } = getModuleInfo(id);\n if (!commonjsMeta || commonjsMeta.isCommonJS !== IS_WRAPPED_COMMONJS) {\n const stringifiedId = JSON.stringify(id);\n let code = `export * from ${stringifiedId};`;\n if (hasDefaultExport) {\n code += `export { default } from ${stringifiedId};`;\n }\n return shebang + code;\n }\n const result = getEsImportProxy(id, defaultIsModuleExports);\n return {\n ...result,\n code: shebang + result.code,\n };\n}\n\nfunction getEsImportProxy(id, defaultIsModuleExports) {\n const name = getName(id);\n const exportsName = `${name}Exports`;\n const requireModule = `require${capitalize(name)}`;\n let code =\n `import { getDefaultExportFromCjs } from \"${HELPERS_ID}\";\\n` +\n `import { __require as ${requireModule} } from ${JSON.stringify(id)};\\n` +\n `var ${exportsName} = ${requireModule}();\\n` +\n `export { ${exportsName} as __moduleExports };`;\n if (defaultIsModuleExports === true) {\n code += `\\nexport { ${exportsName} as default };`;\n } else {\n code += `export default /*@__PURE__*/getDefaultExportFromCjs(${exportsName});`;\n }\n return {\n code,\n syntheticNamedExports: '__moduleExports',\n };\n}\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\nfunction resolveExtensions(importee, importer, extensions) {\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\nfunction getResolveId(extensions, isPossibleCjsId) {\n const currentlyResolving = new Map();\n\n return {\n /**\n * This is a Maps of importers to Sets of require sources being resolved at\n * the moment by resolveRequireSourcesAndUpdateMeta\n */\n currentlyResolving,\n async resolveId(importee, importer, resolveOptions) {\n const customOptions = resolveOptions.custom;\n // All logic below is specific to ES imports.\n // Also, if we do not skip this logic for requires that are resolved while\n // transforming a commonjs file, it can easily lead to deadlocks.\n if (customOptions && customOptions['node-resolve'] && customOptions['node-resolve'].isRequire) {\n return null;\n }\n const currentlyResolvingForParent = currentlyResolving.get(importer);\n if (currentlyResolvingForParent && currentlyResolvingForParent.has(importee)) {\n this.warn({\n code: 'THIS_RESOLVE_WITHOUT_OPTIONS',\n message:\n 'It appears a plugin has implemented a \"resolveId\" hook that uses \"this.resolve\" without forwarding the third \"options\" parameter of \"resolveId\". This is problematic as it can lead to wrong module resolutions especially for the node-resolve plugin and in certain cases cause early exit errors for the commonjs plugin.\\nIn rare cases, this warning can appear if the same file is both imported and required from the same mixed ES/CommonJS module, in which case it can be ignored.',\n url: 'https://rollupjs.org/guide/en/#resolveid',\n });\n return null;\n }\n\n if (isWrappedId(importee, WRAPPED_SUFFIX)) {\n return unwrapId(importee, WRAPPED_SUFFIX);\n }\n\n if (\n importee.endsWith(ENTRY_SUFFIX) ||\n isWrappedId(importee, MODULE_SUFFIX) ||\n isWrappedId(importee, EXPORTS_SUFFIX) ||\n isWrappedId(importee, PROXY_SUFFIX) ||\n isWrappedId(importee, ES_IMPORT_SUFFIX) ||\n isWrappedId(importee, EXTERNAL_SUFFIX) ||\n importee.startsWith(HELPERS_ID) ||\n importee === DYNAMIC_MODULES_ID\n ) {\n return importee;\n }\n\n if (importer) {\n if (\n importer === DYNAMIC_MODULES_ID ||\n // Proxies are only importing resolved ids, no need to resolve again\n isWrappedId(importer, PROXY_SUFFIX) ||\n isWrappedId(importer, ES_IMPORT_SUFFIX) ||\n importer.endsWith(ENTRY_SUFFIX)\n ) {\n return importee;\n }\n if (isWrappedId(importer, EXTERNAL_SUFFIX)) {\n // We need to return null for unresolved imports so that the proper warning is shown\n if (!(await this.resolve(importee, importer, Object.assign({ skipSelf: true }, resolveOptions)))) {\n return null;\n }\n // For other external imports, we need to make sure they are handled as external\n return { id: importee, external: true };\n }\n }\n\n if (importee.startsWith('\\0')) {\n return null;\n }\n\n // If this is an entry point or ESM import, we need to figure out if the importee is wrapped and\n // if that is the case, we need to add a proxy.\n const resolved =\n (await this.resolve(importee, importer, Object.assign({ skipSelf: true }, resolveOptions))) ||\n resolveExtensions(importee, importer, extensions);\n // Make sure that even if other plugins resolve again, we ignore our own proxies\n if (\n !resolved ||\n resolved.external ||\n resolved.id.endsWith(ENTRY_SUFFIX) ||\n isWrappedId(resolved.id, ES_IMPORT_SUFFIX) ||\n !isPossibleCjsId(resolved.id)\n ) {\n return resolved;\n }\n const moduleInfo = await this.load(resolved);\n const {\n meta: { commonjs: commonjsMeta },\n } = moduleInfo;\n if (commonjsMeta) {\n const { isCommonJS } = commonjsMeta;\n if (isCommonJS) {\n if (resolveOptions.isEntry) {\n moduleInfo.moduleSideEffects = true;\n // We must not precede entry proxies with a `\\0` as that will mess up relative external resolution\n return resolved.id + ENTRY_SUFFIX;\n }\n if (isCommonJS === IS_WRAPPED_COMMONJS) {\n return { id: wrapId(resolved.id, ES_IMPORT_SUFFIX), meta: { commonjs: { resolved } } };\n }\n }\n }\n return resolved;\n },\n };\n}\n\nfunction getRequireResolver(extensions, detectCyclesAndConditional, currentlyResolving) {\n const knownCjsModuleTypes = Object.create(null);\n const requiredIds = Object.create(null);\n const unconditionallyRequiredIds = Object.create(null);\n const dependencies = Object.create(null);\n const getDependencies = (id) => dependencies[id] || (dependencies[id] = new Set());\n\n const isCyclic = (id) => {\n const dependenciesToCheck = new Set(getDependencies(id));\n for (const dependency of dependenciesToCheck) {\n if (dependency === id) {\n return true;\n }\n for (const childDependency of getDependencies(dependency)) {\n dependenciesToCheck.add(childDependency);\n }\n }\n return false;\n };\n\n // Once a module is listed here, its type (wrapped or not) is fixed and may\n // not change for the rest of the current build, to not break already\n // transformed modules.\n const fullyAnalyzedModules = Object.create(null);\n\n const getTypeForFullyAnalyzedModule = (id) => {\n const knownType = knownCjsModuleTypes[id];\n if (knownType !== true || !detectCyclesAndConditional || fullyAnalyzedModules[id]) {\n return knownType;\n }\n if (isCyclic(id)) {\n return (knownCjsModuleTypes[id] = IS_WRAPPED_COMMONJS);\n }\n return knownType;\n };\n\n const setInitialParentType = (id, initialCommonJSType) => {\n // Fully analyzed modules may never change type\n if (fullyAnalyzedModules[id]) {\n return;\n }\n knownCjsModuleTypes[id] = initialCommonJSType;\n if (\n detectCyclesAndConditional &&\n knownCjsModuleTypes[id] === true &&\n requiredIds[id] &&\n !unconditionallyRequiredIds[id]\n ) {\n knownCjsModuleTypes[id] = IS_WRAPPED_COMMONJS;\n }\n };\n\n const analyzeRequiredModule = async (parentId, resolved, isConditional, loadModule) => {\n const childId = resolved.id;\n requiredIds[childId] = true;\n if (!(isConditional || knownCjsModuleTypes[parentId] === IS_WRAPPED_COMMONJS)) {\n unconditionallyRequiredIds[childId] = true;\n }\n\n getDependencies(parentId).add(childId);\n if (!isCyclic(childId)) {\n // This makes sure the current transform handler waits for all direct\n // dependencies to be loaded and transformed and therefore for all\n // transitive CommonJS dependencies to be loaded as well so that all\n // cycles have been found and knownCjsModuleTypes is reliable.\n await loadModule(resolved);\n }\n };\n\n const getTypeForImportedModule = async (resolved, loadModule) => {\n if (resolved.id in knownCjsModuleTypes) {\n // This handles cyclic ES dependencies\n return knownCjsModuleTypes[resolved.id];\n }\n const {\n meta: { commonjs },\n } = await loadModule(resolved);\n return (commonjs && commonjs.isCommonJS) || false;\n };\n\n return {\n getWrappedIds: () =>\n Object.keys(knownCjsModuleTypes).filter((id) => knownCjsModuleTypes[id] === IS_WRAPPED_COMMONJS),\n isRequiredId: (id) => requiredIds[id],\n async shouldTransformCachedModule({ id: parentId, resolvedSources, meta: { commonjs: parentMeta } }) {\n // We explicitly track ES modules to handle circular imports\n if (!(parentMeta && parentMeta.isCommonJS)) knownCjsModuleTypes[parentId] = false;\n if (isWrappedId(parentId, ES_IMPORT_SUFFIX)) return false;\n const parentRequires = parentMeta && parentMeta.requires;\n if (parentRequires) {\n setInitialParentType(parentId, parentMeta.initialCommonJSType);\n await Promise.all(\n parentRequires.map(({ resolved, isConditional }) =>\n analyzeRequiredModule(parentId, resolved, isConditional, this.load),\n ),\n );\n if (getTypeForFullyAnalyzedModule(parentId) !== parentMeta.isCommonJS) {\n return true;\n }\n for (const {\n resolved: { id },\n } of parentRequires) {\n if (getTypeForFullyAnalyzedModule(id) !== parentMeta.isRequiredCommonJS[id]) {\n return true;\n }\n }\n // Now that we decided to go with the cached copy, neither the parent\n // module nor any of its children may change types anymore\n fullyAnalyzedModules[parentId] = true;\n for (const {\n resolved: { id },\n } of parentRequires) {\n fullyAnalyzedModules[id] = true;\n }\n }\n const parentRequireSet = new Set((parentRequires || []).map(({ resolved: { id } }) => id));\n return (\n await Promise.all(\n Object.keys(resolvedSources)\n .map((source) => resolvedSources[source])\n .filter(({ id, external }) => !(external || parentRequireSet.has(id)))\n .map(async (resolved) => {\n if (isWrappedId(resolved.id, ES_IMPORT_SUFFIX)) {\n return (\n (await getTypeForImportedModule(\n (await this.load({ id: resolved.id })).meta.commonjs.resolved,\n this.load,\n )) !== IS_WRAPPED_COMMONJS\n );\n }\n return (await getTypeForImportedModule(resolved, this.load)) === IS_WRAPPED_COMMONJS;\n }),\n )\n ).some((shouldTransform) => shouldTransform);\n },\n /* eslint-disable no-param-reassign */\n resolveRequireSourcesAndUpdateMeta: (rollupContext) => async (parentId, isParentCommonJS, parentMeta, sources) => {\n parentMeta.initialCommonJSType = isParentCommonJS;\n parentMeta.requires = [];\n parentMeta.isRequiredCommonJS = Object.create(null);\n setInitialParentType(parentId, isParentCommonJS);\n const currentlyResolvingForParent = currentlyResolving.get(parentId) || new Set();\n currentlyResolving.set(parentId, currentlyResolvingForParent);\n const requireTargets = await Promise.all(\n sources.map(async ({ source, isConditional }) => {\n // Never analyze or proxy internal modules\n if (source.startsWith('\\0')) {\n return { id: source, allowProxy: false };\n }\n currentlyResolvingForParent.add(source);\n const resolved =\n (await rollupContext.resolve(source, parentId, {\n skipSelf: false,\n custom: { 'node-resolve': { isRequire: true } },\n })) || resolveExtensions(source, parentId, extensions);\n currentlyResolvingForParent.delete(source);\n if (!resolved) {\n return { id: wrapId(source, EXTERNAL_SUFFIX), allowProxy: false };\n }\n const childId = resolved.id;\n if (resolved.external) {\n return { id: wrapId(childId, EXTERNAL_SUFFIX), allowProxy: false };\n }\n parentMeta.requires.push({ resolved, isConditional });\n await analyzeRequiredModule(parentId, resolved, isConditional, rollupContext.load);\n return { id: childId, allowProxy: true };\n }),\n );\n parentMeta.isCommonJS = getTypeForFullyAnalyzedModule(parentId);\n fullyAnalyzedModules[parentId] = true;\n return requireTargets.map(({ id: dependencyId, allowProxy }, index) => {\n // eslint-disable-next-line no-multi-assign\n const isCommonJS = (parentMeta.isRequiredCommonJS[dependencyId] = getTypeForFullyAnalyzedModule(dependencyId));\n fullyAnalyzedModules[dependencyId] = true;\n return {\n source: sources[index].source,\n id: allowProxy\n ? isCommonJS === IS_WRAPPED_COMMONJS\n ? wrapId(dependencyId, WRAPPED_SUFFIX)\n : wrapId(dependencyId, PROXY_SUFFIX)\n : dependencyId,\n isCommonJS,\n };\n });\n },\n isCurrentlyResolving(source, parentId) {\n const currentlyResolvingForParent = currentlyResolving.get(parentId);\n return currentlyResolvingForParent && currentlyResolvingForParent.has(source);\n },\n };\n}\n\nfunction validateVersion(actualVersion, peerDependencyVersion, name) {\n const versionRegexp = /\\^(\\d+\\.\\d+\\.\\d+)/g;\n let minMajor = Infinity;\n let minMinor = Infinity;\n let minPatch = Infinity;\n let foundVersion;\n // eslint-disable-next-line no-cond-assign\n while ((foundVersion = versionRegexp.exec(peerDependencyVersion))) {\n const [foundMajor, foundMinor, foundPatch] = foundVersion[1].split('.').map(Number);\n if (foundMajor < minMajor) {\n minMajor = foundMajor;\n minMinor = foundMinor;\n minPatch = foundPatch;\n }\n }\n if (!actualVersion) {\n throw new Error(\n `Insufficient ${name} version: \"@rollup/plugin-commonjs\" requires at least ${name}@${minMajor}.${minMinor}.${minPatch}.`,\n );\n }\n const [major, minor, patch] = actualVersion.split('.').map(Number);\n if (major < minMajor || (major === minMajor && (minor < minMinor || (minor === minMinor && patch < minPatch)))) {\n throw new Error(\n `Insufficient ${name} version: \"@rollup/plugin-commonjs\" requires at least ${name}@${minMajor}.${minMinor}.${minPatch} but found ${name}@${actualVersion}.`,\n );\n }\n}\n\nconst operators = {\n '==': (x) => equals(x.left, x.right, false),\n\n '!=': (x) => not(operators['=='](x)),\n\n '===': (x) => equals(x.left, x.right, true),\n\n '!==': (x) => not(operators['==='](x)),\n\n '!': (x) => isFalsy(x.argument),\n\n '&&': (x) => isTruthy(x.left) && isTruthy(x.right),\n\n '||': (x) => isTruthy(x.left) || isTruthy(x.right),\n};\n\nfunction not(value) {\n return value === null ? value : !value;\n}\n\nfunction equals(a, b, strict) {\n if (a.type !== b.type) return null;\n // eslint-disable-next-line eqeqeq\n if (a.type === 'Literal') return strict ? a.value === b.value : a.value == b.value;\n return null;\n}\n\nfunction isTruthy(node) {\n if (!node) return false;\n if (node.type === 'Literal') return !!node.value;\n if (node.type === 'ParenthesizedExpression') return isTruthy(node.expression);\n if (node.operator in operators) return operators[node.operator](node);\n return null;\n}\n\nfunction isFalsy(node) {\n return not(isTruthy(node));\n}\n\nfunction getKeypath(node) {\n const parts = [];\n\n while (node.type === 'MemberExpression') {\n if (node.computed) return null;\n\n parts.unshift(node.property.name);\n // eslint-disable-next-line no-param-reassign\n node = node.object;\n }\n\n if (node.type !== 'Identifier') return null;\n\n const { name } = node;\n parts.unshift(name);\n\n return { name, keypath: parts.join('.') };\n}\n\nconst KEY_COMPILED_ESM = '__esModule';\n\nfunction getDefineCompiledEsmType(node) {\n const definedPropertyWithExports = getDefinePropertyCallName(node, 'exports');\n const definedProperty = definedPropertyWithExports || getDefinePropertyCallName(node, 'module.exports');\n if (definedProperty && definedProperty.key === KEY_COMPILED_ESM) {\n return isTruthy(definedProperty.value) ? (definedPropertyWithExports ? 'exports' : 'module') : false;\n }\n return false;\n}\n\nfunction getDefinePropertyCallName(node, targetName) {\n const {\n callee: { object, property },\n } = node;\n if (!object || object.type !== 'Identifier' || object.name !== 'Object') return;\n if (!property || property.type !== 'Identifier' || property.name !== 'defineProperty') return;\n if (node.arguments.length !== 3) return;\n\n const targetNames = targetName.split('.');\n const [target, key, value] = node.arguments;\n if (targetNames.length === 1) {\n if (target.type !== 'Identifier' || target.name !== targetNames[0]) {\n return;\n }\n }\n\n if (targetNames.length === 2) {\n if (\n target.type !== 'MemberExpression' ||\n target.object.name !== targetNames[0] ||\n target.property.name !== targetNames[1]\n ) {\n return;\n }\n }\n\n if (value.type !== 'ObjectExpression' || !value.properties) return;\n\n const valueProperty = value.properties.find((p) => p.key && p.key.name === 'value');\n if (!valueProperty || !valueProperty.value) return;\n\n // eslint-disable-next-line consistent-return\n return { key: key.value, value: valueProperty.value };\n}\n\nfunction isShorthandProperty(parent) {\n return parent && parent.type === 'Property' && parent.shorthand;\n}\n\nfunction wrapCode(magicString, uses, moduleName, exportsName, indentExclusionRanges) {\n const args = [];\n const passedArgs = [];\n if (uses.module) {\n args.push('module');\n passedArgs.push(moduleName);\n }\n if (uses.exports) {\n args.push('exports');\n passedArgs.push(uses.module ? `${moduleName}.exports` : exportsName);\n }\n magicString\n .trim()\n .indent('\\t', { exclude: indentExclusionRanges })\n .prepend(`(function (${args.join(', ')}) {\\n`)\n // For some reason, this line is only indented correctly when using a\n // require-wrapper if we have this leading space\n .append(` \\n} (${passedArgs.join(', ')}));`);\n}\n\nfunction rewriteExportsAndGetExportsBlock(\n magicString,\n moduleName,\n exportsName,\n exportedExportsName,\n wrapped,\n moduleExportsAssignments,\n firstTopLevelModuleExportsAssignment,\n exportsAssignmentsByName,\n topLevelAssignments,\n defineCompiledEsmExpressions,\n deconflictedExportNames,\n code,\n HELPERS_NAME,\n exportMode,\n defaultIsModuleExports,\n usesRequireWrapper,\n requireName,\n) {\n const exports = [];\n const exportDeclarations = [];\n\n if (usesRequireWrapper) {\n getExportsWhenUsingRequireWrapper(\n magicString,\n wrapped,\n exportMode,\n exports,\n moduleExportsAssignments,\n exportsAssignmentsByName,\n moduleName,\n exportsName,\n requireName,\n defineCompiledEsmExpressions,\n );\n } else if (exportMode === 'replace') {\n getExportsForReplacedModuleExports(\n magicString,\n exports,\n exportDeclarations,\n moduleExportsAssignments,\n firstTopLevelModuleExportsAssignment,\n exportsName,\n defaultIsModuleExports,\n HELPERS_NAME,\n );\n } else {\n if (exportMode === 'module') {\n exportDeclarations.push(`var ${exportedExportsName} = ${moduleName}.exports`);\n exports.push(`${exportedExportsName} as __moduleExports`);\n } else {\n exports.push(`${exportsName} as __moduleExports`);\n }\n if (wrapped) {\n exportDeclarations.push(getDefaultExportDeclaration(exportedExportsName, defaultIsModuleExports, HELPERS_NAME));\n } else {\n getExports(\n magicString,\n exports,\n exportDeclarations,\n moduleExportsAssignments,\n exportsAssignmentsByName,\n deconflictedExportNames,\n topLevelAssignments,\n moduleName,\n exportsName,\n exportedExportsName,\n defineCompiledEsmExpressions,\n HELPERS_NAME,\n defaultIsModuleExports,\n exportMode,\n );\n }\n }\n if (exports.length) {\n exportDeclarations.push(`export { ${exports.join(', ')} }`);\n }\n\n return `\\n\\n${exportDeclarations.join(';\\n')};`;\n}\n\nfunction getExportsWhenUsingRequireWrapper(\n magicString,\n wrapped,\n exportMode,\n exports,\n moduleExportsAssignments,\n exportsAssignmentsByName,\n moduleName,\n exportsName,\n requireName,\n defineCompiledEsmExpressions,\n) {\n exports.push(`${requireName} as __require`);\n if (wrapped) return;\n if (exportMode === 'replace') {\n rewriteModuleExportsAssignments(magicString, moduleExportsAssignments, exportsName);\n } else {\n rewriteModuleExportsAssignments(magicString, moduleExportsAssignments, `${moduleName}.exports`);\n // Collect and rewrite named exports\n for (const [exportName, { nodes }] of exportsAssignmentsByName) {\n for (const { node, type } of nodes) {\n magicString.overwrite(\n node.start,\n node.left.end,\n `${exportMode === 'module' && type === 'module' ? `${moduleName}.exports` : exportsName}.${exportName}`,\n );\n }\n }\n replaceDefineCompiledEsmExpressionsAndGetIfRestorable(\n defineCompiledEsmExpressions,\n magicString,\n exportMode,\n moduleName,\n exportsName,\n );\n }\n}\n\nfunction getExportsForReplacedModuleExports(\n magicString,\n exports,\n exportDeclarations,\n moduleExportsAssignments,\n firstTopLevelModuleExportsAssignment,\n exportsName,\n defaultIsModuleExports,\n HELPERS_NAME,\n) {\n for (const { left } of moduleExportsAssignments) {\n magicString.overwrite(left.start, left.end, exportsName);\n }\n magicString.prependRight(firstTopLevelModuleExportsAssignment.left.start, 'var ');\n exports.push(`${exportsName} as __moduleExports`);\n exportDeclarations.push(getDefaultExportDeclaration(exportsName, defaultIsModuleExports, HELPERS_NAME));\n}\n\nfunction getDefaultExportDeclaration(exportedExportsName, defaultIsModuleExports, HELPERS_NAME) {\n return `export default ${\n defaultIsModuleExports === true\n ? exportedExportsName\n : defaultIsModuleExports === false\n ? `${exportedExportsName}.default`\n : `/*@__PURE__*/${HELPERS_NAME}.getDefaultExportFromCjs(${exportedExportsName})`\n }`;\n}\n\nfunction getExports(\n magicString,\n exports,\n exportDeclarations,\n moduleExportsAssignments,\n exportsAssignmentsByName,\n deconflictedExportNames,\n topLevelAssignments,\n moduleName,\n exportsName,\n exportedExportsName,\n defineCompiledEsmExpressions,\n HELPERS_NAME,\n defaultIsModuleExports,\n exportMode,\n) {\n let deconflictedDefaultExportName;\n // Collect and rewrite module.exports assignments\n for (const { left } of moduleExportsAssignments) {\n magicString.overwrite(left.start, left.end, `${moduleName}.exports`);\n }\n\n // Collect and rewrite named exports\n for (const [exportName, { nodes }] of exportsAssignmentsByName) {\n const deconflicted = deconflictedExportNames[exportName];\n let needsDeclaration = true;\n for (const { node, type } of nodes) {\n let replacement = `${deconflicted} = ${\n exportMode === 'module' && type === 'module' ? `${moduleName}.exports` : exportsName\n }.${exportName}`;\n if (needsDeclaration && topLevelAssignments.has(node)) {\n replacement = `var ${replacement}`;\n needsDeclaration = false;\n }\n magicString.overwrite(node.start, node.left.end, replacement);\n }\n if (needsDeclaration) {\n magicString.prepend(`var ${deconflicted};\\n`);\n }\n\n if (exportName === 'default') {\n deconflictedDefaultExportName = deconflicted;\n } else {\n exports.push(exportName === deconflicted ? exportName : `${deconflicted} as ${exportName}`);\n }\n }\n\n const isRestorableCompiledEsm = replaceDefineCompiledEsmExpressionsAndGetIfRestorable(\n defineCompiledEsmExpressions,\n magicString,\n exportMode,\n moduleName,\n exportsName,\n );\n\n if (\n defaultIsModuleExports === false ||\n (defaultIsModuleExports === 'auto' && isRestorableCompiledEsm && moduleExportsAssignments.length === 0)\n ) {\n // If there is no deconflictedDefaultExportName, then we use the namespace as\n // fallback because there can be no \"default\" property on the namespace\n exports.push(`${deconflictedDefaultExportName || exportedExportsName} as default`);\n } else if (defaultIsModuleExports === true || (!isRestorableCompiledEsm && moduleExportsAssignments.length === 0)) {\n exports.push(`${exportedExportsName} as default`);\n } else {\n exportDeclarations.push(getDefaultExportDeclaration(exportedExportsName, defaultIsModuleExports, HELPERS_NAME));\n }\n}\n\nfunction rewriteModuleExportsAssignments(magicString, moduleExportsAssignments, exportsName) {\n for (const { left } of moduleExportsAssignments) {\n magicString.overwrite(left.start, left.end, exportsName);\n }\n}\n\nfunction replaceDefineCompiledEsmExpressionsAndGetIfRestorable(\n defineCompiledEsmExpressions,\n magicString,\n exportMode,\n moduleName,\n exportsName,\n) {\n let isRestorableCompiledEsm = false;\n for (const { node, type } of defineCompiledEsmExpressions) {\n isRestorableCompiledEsm = true;\n const moduleExportsExpression = node.type === 'CallExpression' ? node.arguments[0] : node.left.object;\n magicString.overwrite(\n moduleExportsExpression.start,\n moduleExportsExpression.end,\n exportMode === 'module' && type === 'module' ? `${moduleName}.exports` : exportsName,\n );\n }\n return isRestorableCompiledEsm;\n}\n\nfunction isRequireExpression(node, scope) {\n if (!node) return false;\n if (node.type !== 'CallExpression') return false;\n\n // Weird case of `require()` or `module.require()` without arguments\n if (node.arguments.length === 0) return false;\n\n return isRequire(node.callee, scope);\n}\n\nfunction isRequire(node, scope) {\n return (\n (node.type === 'Identifier' && node.name === 'require' && !scope.contains('require')) ||\n (node.type === 'MemberExpression' && isModuleRequire(node, scope))\n );\n}\n\nfunction isModuleRequire({ object, property }, scope) {\n return (\n object.type === 'Identifier' &&\n object.name === 'module' &&\n property.type === 'Identifier' &&\n property.name === 'require' &&\n !scope.contains('module')\n );\n}\n\nfunction hasDynamicArguments(node) {\n return (\n node.arguments.length > 1 ||\n (node.arguments[0].type !== 'Literal' &&\n (node.arguments[0].type !== 'TemplateLiteral' || node.arguments[0].expressions.length > 0))\n );\n}\n\nconst reservedMethod = { resolve: true, cache: true, main: true };\n\nfunction isNodeRequirePropertyAccess(parent) {\n return parent && parent.property && reservedMethod[parent.property.name];\n}\n\nfunction getRequireStringArg(node) {\n return node.arguments[0].type === 'Literal' ? node.arguments[0].value : node.arguments[0].quasis[0].value.cooked;\n}\n\nfunction getRequireHandlers() {\n const requireExpressions = [];\n\n function addRequireExpression(\n sourceId,\n node,\n scope,\n usesReturnValue,\n isInsideTryBlock,\n isInsideConditional,\n toBeRemoved,\n ) {\n requireExpressions.push({\n sourceId,\n node,\n scope,\n usesReturnValue,\n isInsideTryBlock,\n isInsideConditional,\n toBeRemoved,\n });\n }\n\n async function rewriteRequireExpressionsAndGetImportBlock(\n magicString,\n topLevelDeclarations,\n reassignedNames,\n helpersName,\n dynamicRequireName,\n moduleName,\n exportsName,\n id,\n exportMode,\n resolveRequireSourcesAndUpdateMeta,\n needsRequireWrapper,\n isEsModule,\n isDynamicRequireModulesEnabled,\n getIgnoreTryCatchRequireStatementMode,\n commonjsMeta,\n ) {\n const imports = [];\n imports.push(`import * as ${helpersName} from \"${HELPERS_ID}\"`);\n if (dynamicRequireName) {\n imports.push(\n `import { ${\n isDynamicRequireModulesEnabled ? CREATE_COMMONJS_REQUIRE_EXPORT : COMMONJS_REQUIRE_EXPORT\n } as ${dynamicRequireName} } from \"${DYNAMIC_MODULES_ID}\"`,\n );\n }\n if (exportMode === 'module') {\n imports.push(\n `import { __module as ${moduleName} } from ${JSON.stringify(wrapId(id, MODULE_SUFFIX))}`,\n `var ${exportsName} = ${moduleName}.exports`,\n );\n } else if (exportMode === 'exports') {\n imports.push(`import { __exports as ${exportsName} } from ${JSON.stringify(wrapId(id, EXPORTS_SUFFIX))}`);\n }\n const requiresBySource = collectSources(requireExpressions);\n const requireTargets = await resolveRequireSourcesAndUpdateMeta(\n id,\n needsRequireWrapper ? IS_WRAPPED_COMMONJS : !isEsModule,\n commonjsMeta,\n Object.keys(requiresBySource).map((source) => {\n return {\n source,\n isConditional: requiresBySource[source].every((require) => require.isInsideConditional),\n };\n }),\n );\n processRequireExpressions(\n imports,\n requireTargets,\n requiresBySource,\n getIgnoreTryCatchRequireStatementMode,\n magicString,\n );\n return imports.length ? `${imports.join(';\\n')};\\n\\n` : '';\n }\n\n return {\n addRequireExpression,\n rewriteRequireExpressionsAndGetImportBlock,\n };\n}\n\nfunction collectSources(requireExpressions) {\n const requiresBySource = Object.create(null);\n for (const requireExpression of requireExpressions) {\n const { sourceId } = requireExpression;\n if (!requiresBySource[sourceId]) {\n requiresBySource[sourceId] = [];\n }\n const requires = requiresBySource[sourceId];\n requires.push(requireExpression);\n }\n return requiresBySource;\n}\n\nfunction processRequireExpressions(\n imports,\n requireTargets,\n requiresBySource,\n getIgnoreTryCatchRequireStatementMode,\n magicString,\n) {\n const generateRequireName = getGenerateRequireName();\n for (const { source, id: resolvedId, isCommonJS } of requireTargets) {\n const requires = requiresBySource[source];\n const name = generateRequireName(requires);\n let usesRequired = false;\n let needsImport = false;\n for (const { node, usesReturnValue, toBeRemoved, isInsideTryBlock } of requires) {\n const { canConvertRequire, shouldRemoveRequire } =\n isInsideTryBlock && isWrappedId(resolvedId, EXTERNAL_SUFFIX)\n ? getIgnoreTryCatchRequireStatementMode(source)\n : { canConvertRequire: true, shouldRemoveRequire: false };\n if (shouldRemoveRequire) {\n if (usesReturnValue) {\n magicString.overwrite(node.start, node.end, 'undefined');\n } else {\n magicString.remove(toBeRemoved.start, toBeRemoved.end);\n }\n } else if (canConvertRequire) {\n needsImport = true;\n if (isCommonJS === IS_WRAPPED_COMMONJS) {\n magicString.overwrite(node.start, node.end, `${name}()`);\n } else if (usesReturnValue) {\n usesRequired = true;\n magicString.overwrite(node.start, node.end, name);\n } else {\n magicString.remove(toBeRemoved.start, toBeRemoved.end);\n }\n }\n }\n if (needsImport) {\n if (isCommonJS === IS_WRAPPED_COMMONJS) {\n imports.push(`import { __require as ${name} } from ${JSON.stringify(resolvedId)}`);\n } else {\n imports.push(`import ${usesRequired ? `${name} from ` : ''}${JSON.stringify(resolvedId)}`);\n }\n }\n }\n}\n\nfunction getGenerateRequireName() {\n let uid = 0;\n return (requires) => {\n let name;\n const hasNameConflict = ({ scope }) => scope.contains(name);\n do {\n name = `require$$${uid}`;\n uid += 1;\n } while (requires.some(hasNameConflict));\n return name;\n };\n}\n\n/* eslint-disable no-param-reassign, no-shadow, no-underscore-dangle, no-continue */\n\nconst exportsPattern = /^(?:module\\.)?exports(?:\\.([a-zA-Z_$][a-zA-Z_$0-9]*))?$/;\n\nconst functionType = /^(?:FunctionDeclaration|FunctionExpression|ArrowFunctionExpression)$/;\n\n// There are three different types of CommonJS modules, described by their\n// \"exportMode\":\n// - exports: Only assignments to (module.)exports properties\n// - replace: A single assignment to module.exports itself\n// - module: Anything else\n// Special cases:\n// - usesRequireWrapper\n// - isWrapped\nasync function transformCommonjs(\n parse,\n code,\n id,\n isEsModule,\n ignoreGlobal,\n ignoreRequire,\n ignoreDynamicRequires,\n getIgnoreTryCatchRequireStatementMode,\n sourceMap,\n isDynamicRequireModulesEnabled,\n dynamicRequireModules,\n commonDir,\n astCache,\n defaultIsModuleExports,\n needsRequireWrapper,\n resolveRequireSourcesAndUpdateMeta,\n isRequired,\n checkDynamicRequire,\n commonjsMeta,\n) {\n const ast = astCache || tryParse(parse, code, id);\n const magicString = new MagicString(code);\n const uses = {\n module: false,\n exports: false,\n global: false,\n require: false,\n };\n const virtualDynamicRequirePath =\n isDynamicRequireModulesEnabled && getVirtualPathForDynamicRequirePath(dirname(id), commonDir);\n let scope = attachScopes(ast, 'scope');\n let lexicalDepth = 0;\n let programDepth = 0;\n let classBodyDepth = 0;\n let currentTryBlockEnd = null;\n let shouldWrap = false;\n\n const globals = new Set();\n // A conditionalNode is a node for which execution is not guaranteed. If such a node is a require\n // or contains nested requires, those should be handled as function calls unless there is an\n // unconditional require elsewhere.\n let currentConditionalNodeEnd = null;\n const conditionalNodes = new Set();\n const { addRequireExpression, rewriteRequireExpressionsAndGetImportBlock } = getRequireHandlers();\n\n // See which names are assigned to. This is necessary to prevent\n // illegally replacing `var foo = require('foo')` with `import foo from 'foo'`,\n // where `foo` is later reassigned. (This happens in the wild. CommonJS, sigh)\n const reassignedNames = new Set();\n const topLevelDeclarations = [];\n const skippedNodes = new Set();\n const moduleAccessScopes = new Set([scope]);\n const exportsAccessScopes = new Set([scope]);\n const moduleExportsAssignments = [];\n let firstTopLevelModuleExportsAssignment = null;\n const exportsAssignmentsByName = new Map();\n const topLevelAssignments = new Set();\n const topLevelDefineCompiledEsmExpressions = [];\n const replacedGlobal = [];\n const replacedDynamicRequires = [];\n const importedVariables = new Set();\n const indentExclusionRanges = [];\n\n walk(ast, {\n enter(node, parent) {\n if (skippedNodes.has(node)) {\n this.skip();\n return;\n }\n\n if (currentTryBlockEnd !== null && node.start > currentTryBlockEnd) {\n currentTryBlockEnd = null;\n }\n if (currentConditionalNodeEnd !== null && node.start > currentConditionalNodeEnd) {\n currentConditionalNodeEnd = null;\n }\n if (currentConditionalNodeEnd === null && conditionalNodes.has(node)) {\n currentConditionalNodeEnd = node.end;\n }\n\n programDepth += 1;\n if (node.scope) ({ scope } = node);\n if (functionType.test(node.type)) lexicalDepth += 1;\n if (sourceMap) {\n magicString.addSourcemapLocation(node.start);\n magicString.addSourcemapLocation(node.end);\n }\n\n // eslint-disable-next-line default-case\n switch (node.type) {\n case 'AssignmentExpression':\n if (node.left.type === 'MemberExpression') {\n const flattened = getKeypath(node.left);\n if (!flattened || scope.contains(flattened.name)) return;\n\n const exportsPatternMatch = exportsPattern.exec(flattened.keypath);\n if (!exportsPatternMatch || flattened.keypath === 'exports') return;\n\n const [, exportName] = exportsPatternMatch;\n uses[flattened.name] = true;\n\n // we're dealing with `module.exports = ...` or `[module.]exports.foo = ...` –\n if (flattened.keypath === 'module.exports') {\n moduleExportsAssignments.push(node);\n if (programDepth > 3) {\n moduleAccessScopes.add(scope);\n } else if (!firstTopLevelModuleExportsAssignment) {\n firstTopLevelModuleExportsAssignment = node;\n }\n } else if (exportName === KEY_COMPILED_ESM) {\n if (programDepth > 3) {\n shouldWrap = true;\n } else {\n // The \"type\" is either \"module\" or \"exports\" to discern\n // assignments to module.exports vs exports if needed\n topLevelDefineCompiledEsmExpressions.push({ node, type: flattened.name });\n }\n } else {\n const exportsAssignments = exportsAssignmentsByName.get(exportName) || {\n nodes: [],\n scopes: new Set(),\n };\n exportsAssignments.nodes.push({ node, type: flattened.name });\n exportsAssignments.scopes.add(scope);\n exportsAccessScopes.add(scope);\n exportsAssignmentsByName.set(exportName, exportsAssignments);\n if (programDepth <= 3) {\n topLevelAssignments.add(node);\n }\n }\n\n skippedNodes.add(node.left);\n } else {\n for (const name of extractAssignedNames(node.left)) {\n reassignedNames.add(name);\n }\n }\n return;\n case 'CallExpression': {\n const defineCompiledEsmType = getDefineCompiledEsmType(node);\n if (defineCompiledEsmType) {\n if (programDepth === 3 && parent.type === 'ExpressionStatement') {\n // skip special handling for [module.]exports until we know we render this\n skippedNodes.add(node.arguments[0]);\n topLevelDefineCompiledEsmExpressions.push({ node, type: defineCompiledEsmType });\n } else {\n shouldWrap = true;\n }\n return;\n }\n\n // Transform require.resolve\n if (\n isDynamicRequireModulesEnabled &&\n node.callee.object &&\n isRequire(node.callee.object, scope) &&\n node.callee.property.name === 'resolve'\n ) {\n checkDynamicRequire(node.start);\n uses.require = true;\n const requireNode = node.callee.object;\n replacedDynamicRequires.push(requireNode);\n skippedNodes.add(node.callee);\n return;\n }\n\n if (!isRequireExpression(node, scope)) {\n const keypath = getKeypath(node.callee);\n if (keypath && importedVariables.has(keypath.name)) {\n // Heuristic to deoptimize requires after a required function has been called\n currentConditionalNodeEnd = Infinity;\n }\n return;\n }\n\n skippedNodes.add(node.callee);\n uses.require = true;\n\n if (hasDynamicArguments(node)) {\n if (isDynamicRequireModulesEnabled) {\n checkDynamicRequire(node.start);\n }\n if (!ignoreDynamicRequires) {\n replacedDynamicRequires.push(node.callee);\n }\n return;\n }\n\n const requireStringArg = getRequireStringArg(node);\n if (!ignoreRequire(requireStringArg)) {\n const usesReturnValue = parent.type !== 'ExpressionStatement';\n const toBeRemoved =\n parent.type === 'ExpressionStatement' &&\n (!currentConditionalNodeEnd ||\n // We should completely remove requires directly in a try-catch\n // so that Rollup can remove up the try-catch\n (currentTryBlockEnd !== null && currentTryBlockEnd < currentConditionalNodeEnd))\n ? parent\n : node;\n addRequireExpression(\n requireStringArg,\n node,\n scope,\n usesReturnValue,\n currentTryBlockEnd !== null,\n currentConditionalNodeEnd !== null,\n toBeRemoved,\n );\n if (parent.type === 'VariableDeclarator' && parent.id.type === 'Identifier') {\n for (const name of extractAssignedNames(parent.id)) {\n importedVariables.add(name);\n }\n }\n }\n return;\n }\n case 'ClassBody':\n classBodyDepth += 1;\n return;\n case 'ConditionalExpression':\n case 'IfStatement':\n // skip dead branches\n if (isFalsy(node.test)) {\n skippedNodes.add(node.consequent);\n } else if (isTruthy(node.test)) {\n if (node.alternate) {\n skippedNodes.add(node.alternate);\n }\n } else {\n conditionalNodes.add(node.consequent);\n if (node.alternate) {\n conditionalNodes.add(node.alternate);\n }\n }\n return;\n case 'ArrowFunctionExpression':\n case 'FunctionDeclaration':\n case 'FunctionExpression':\n // requires in functions should be conditional unless it is an IIFE\n if (currentConditionalNodeEnd === null && !(parent.type === 'CallExpression' && parent.callee === node)) {\n currentConditionalNodeEnd = node.end;\n }\n return;\n case 'Identifier': {\n const { name } = node;\n if (!isReference(node, parent) || scope.contains(name)) return;\n switch (name) {\n case 'require':\n uses.require = true;\n if (isNodeRequirePropertyAccess(parent)) {\n return;\n }\n if (!ignoreDynamicRequires) {\n if (isShorthandProperty(parent)) {\n // as key and value are the same object, isReference regards\n // both as references, so we need to skip now\n skippedNodes.add(parent.value);\n magicString.prependRight(node.start, 'require: ');\n }\n replacedDynamicRequires.push(node);\n }\n return;\n case 'module':\n case 'exports':\n shouldWrap = true;\n uses[name] = true;\n return;\n case 'global':\n uses.global = true;\n if (!ignoreGlobal) {\n replacedGlobal.push(node);\n }\n return;\n case 'define':\n magicString.overwrite(node.start, node.end, 'undefined', {\n storeName: true,\n });\n return;\n default:\n globals.add(name);\n return;\n }\n }\n case 'LogicalExpression':\n // skip dead branches\n if (node.operator === '&&') {\n if (isFalsy(node.left)) {\n skippedNodes.add(node.right);\n } else if (!isTruthy(node.left)) {\n conditionalNodes.add(node.right);\n }\n } else if (node.operator === '||') {\n if (isTruthy(node.left)) {\n skippedNodes.add(node.right);\n } else if (!isFalsy(node.left)) {\n conditionalNodes.add(node.right);\n }\n }\n return;\n case 'MemberExpression':\n if (!isDynamicRequireModulesEnabled && isModuleRequire(node, scope)) {\n uses.require = true;\n replacedDynamicRequires.push(node);\n skippedNodes.add(node.object);\n skippedNodes.add(node.property);\n }\n return;\n case 'ReturnStatement':\n // if top-level return, we need to wrap it\n if (lexicalDepth === 0) {\n shouldWrap = true;\n }\n return;\n case 'ThisExpression':\n // rewrite top-level `this` as `commonjsHelpers.commonjsGlobal`\n if (lexicalDepth === 0 && !classBodyDepth) {\n uses.global = true;\n if (!ignoreGlobal) {\n replacedGlobal.push(node);\n }\n }\n return;\n case 'TryStatement':\n if (currentTryBlockEnd === null) {\n currentTryBlockEnd = node.block.end;\n }\n if (currentConditionalNodeEnd === null) {\n currentConditionalNodeEnd = node.end;\n }\n return;\n case 'UnaryExpression':\n // rewrite `typeof module`, `typeof module.exports` and `typeof exports` (https://github.com/rollup/rollup-plugin-commonjs/issues/151)\n if (node.operator === 'typeof') {\n const flattened = getKeypath(node.argument);\n if (!flattened) return;\n\n if (scope.contains(flattened.name)) return;\n\n if (\n !isEsModule &&\n (flattened.keypath === 'module.exports' ||\n flattened.keypath === 'module' ||\n flattened.keypath === 'exports')\n ) {\n magicString.overwrite(node.start, node.end, `'object'`, {\n storeName: false,\n });\n }\n }\n return;\n case 'VariableDeclaration':\n if (!scope.parent) {\n topLevelDeclarations.push(node);\n }\n return;\n case 'TemplateElement':\n if (node.value.raw.includes('\\n')) {\n indentExclusionRanges.push([node.start, node.end]);\n }\n }\n },\n\n leave(node) {\n programDepth -= 1;\n if (node.scope) scope = scope.parent;\n if (functionType.test(node.type)) lexicalDepth -= 1;\n if (node.type === 'ClassBody') classBodyDepth -= 1;\n },\n });\n\n const nameBase = getName(id);\n const exportsName = deconflict([...exportsAccessScopes], globals, nameBase);\n const moduleName = deconflict([...moduleAccessScopes], globals, `${nameBase}Module`);\n const requireName = deconflict([scope], globals, `require${capitalize(nameBase)}`);\n const isRequiredName = deconflict([scope], globals, `hasRequired${capitalize(nameBase)}`);\n const helpersName = deconflict([scope], globals, 'commonjsHelpers');\n const dynamicRequireName =\n replacedDynamicRequires.length > 0 &&\n deconflict(\n [scope],\n globals,\n isDynamicRequireModulesEnabled ? CREATE_COMMONJS_REQUIRE_EXPORT : COMMONJS_REQUIRE_EXPORT,\n );\n const deconflictedExportNames = Object.create(null);\n for (const [exportName, { scopes }] of exportsAssignmentsByName) {\n deconflictedExportNames[exportName] = deconflict([...scopes], globals, exportName);\n }\n\n for (const node of replacedGlobal) {\n magicString.overwrite(node.start, node.end, `${helpersName}.commonjsGlobal`, {\n storeName: true,\n });\n }\n for (const node of replacedDynamicRequires) {\n magicString.overwrite(\n node.start,\n node.end,\n isDynamicRequireModulesEnabled\n ? `${dynamicRequireName}(${JSON.stringify(virtualDynamicRequirePath)})`\n : dynamicRequireName,\n {\n contentOnly: true,\n storeName: true,\n },\n );\n }\n\n // We cannot wrap ES/mixed modules\n shouldWrap = !isEsModule && (shouldWrap || (uses.exports && moduleExportsAssignments.length > 0));\n\n if (\n !(\n shouldWrap ||\n isRequired ||\n needsRequireWrapper ||\n uses.module ||\n uses.exports ||\n uses.require ||\n topLevelDefineCompiledEsmExpressions.length > 0\n ) &&\n (ignoreGlobal || !uses.global)\n ) {\n return { meta: { commonjs: { isCommonJS: false } } };\n }\n\n let leadingComment = '';\n if (code.startsWith('/*')) {\n const commentEnd = code.indexOf('*/', 2) + 2;\n leadingComment = `${code.slice(0, commentEnd)}\\n`;\n magicString.remove(0, commentEnd).trim();\n }\n\n let shebang = '';\n if (code.startsWith('#!')) {\n const shebangEndPosition = code.indexOf('\\n') + 1;\n shebang = code.slice(0, shebangEndPosition);\n magicString.remove(0, shebangEndPosition).trim();\n }\n\n const exportMode = isEsModule\n ? 'none'\n : shouldWrap\n ? uses.module\n ? 'module'\n : 'exports'\n : firstTopLevelModuleExportsAssignment\n ? exportsAssignmentsByName.size === 0 && topLevelDefineCompiledEsmExpressions.length === 0\n ? 'replace'\n : 'module'\n : moduleExportsAssignments.length === 0\n ? 'exports'\n : 'module';\n\n const exportedExportsName = exportMode === 'module' ? deconflict([], globals, `${nameBase}Exports`) : exportsName;\n\n const importBlock = await rewriteRequireExpressionsAndGetImportBlock(\n magicString,\n topLevelDeclarations,\n reassignedNames,\n helpersName,\n dynamicRequireName,\n moduleName,\n exportsName,\n id,\n exportMode,\n resolveRequireSourcesAndUpdateMeta,\n needsRequireWrapper,\n isEsModule,\n isDynamicRequireModulesEnabled,\n getIgnoreTryCatchRequireStatementMode,\n commonjsMeta,\n );\n const usesRequireWrapper = commonjsMeta.isCommonJS === IS_WRAPPED_COMMONJS;\n const exportBlock = isEsModule\n ? ''\n : rewriteExportsAndGetExportsBlock(\n magicString,\n moduleName,\n exportsName,\n exportedExportsName,\n shouldWrap,\n moduleExportsAssignments,\n firstTopLevelModuleExportsAssignment,\n exportsAssignmentsByName,\n topLevelAssignments,\n topLevelDefineCompiledEsmExpressions,\n deconflictedExportNames,\n code,\n helpersName,\n exportMode,\n defaultIsModuleExports,\n usesRequireWrapper,\n requireName,\n );\n\n if (shouldWrap) {\n wrapCode(magicString, uses, moduleName, exportsName, indentExclusionRanges);\n }\n\n if (usesRequireWrapper) {\n magicString.trim().indent('\\t', {\n exclude: indentExclusionRanges,\n });\n const exported = exportMode === 'module' ? `${moduleName}.exports` : exportsName;\n magicString.prepend(\n `var ${isRequiredName};\n\nfunction ${requireName} () {\n\\tif (${isRequiredName}) return ${exported};\n\\t${isRequiredName} = 1;\n`,\n ).append(`\n\\treturn ${exported};\n}`);\n if (exportMode === 'replace') {\n magicString.prepend(`var ${exportsName};\\n`);\n }\n }\n\n magicString\n .trim()\n .prepend(shebang + leadingComment + importBlock)\n .append(exportBlock);\n\n return {\n code: magicString.toString(),\n map: sourceMap ? magicString.generateMap() : null,\n syntheticNamedExports: isEsModule || usesRequireWrapper ? false : '__moduleExports',\n meta: { commonjs: { ...commonjsMeta, shebang } },\n };\n}\n\nconst PLUGIN_NAME = 'commonjs';\n\nfunction commonjs(options = {}) {\n const {\n ignoreGlobal,\n ignoreDynamicRequires,\n requireReturnsDefault: requireReturnsDefaultOption,\n defaultIsModuleExports: defaultIsModuleExportsOption,\n esmExternals,\n } = options;\n const extensions = options.extensions || ['.js'];\n const filter = createFilter(options.include, options.exclude);\n const isPossibleCjsId = (id) => {\n const extName = extname(id);\n return extName === '.cjs' || (extensions.includes(extName) && filter(id));\n };\n\n const { strictRequiresFilter, detectCyclesAndConditional } = getStrictRequiresFilter(options);\n\n const getRequireReturnsDefault =\n typeof requireReturnsDefaultOption === 'function' ? requireReturnsDefaultOption : () => requireReturnsDefaultOption;\n\n let esmExternalIds;\n const isEsmExternal =\n typeof esmExternals === 'function'\n ? esmExternals\n : Array.isArray(esmExternals)\n ? ((esmExternalIds = new Set(esmExternals)), (id) => esmExternalIds.has(id))\n : () => esmExternals;\n\n const getDefaultIsModuleExports =\n typeof defaultIsModuleExportsOption === 'function'\n ? defaultIsModuleExportsOption\n : () => (typeof defaultIsModuleExportsOption === 'boolean' ? defaultIsModuleExportsOption : 'auto');\n\n const dynamicRequireRoot =\n typeof options.dynamicRequireRoot === 'string' ? resolve(options.dynamicRequireRoot) : process.cwd();\n const { commonDir, dynamicRequireModules } = getDynamicRequireModules(\n options.dynamicRequireTargets,\n dynamicRequireRoot,\n );\n const isDynamicRequireModulesEnabled = dynamicRequireModules.size > 0;\n\n const ignoreRequire =\n typeof options.ignore === 'function'\n ? options.ignore\n : Array.isArray(options.ignore)\n ? (id) => options.ignore.includes(id)\n : () => false;\n\n const getIgnoreTryCatchRequireStatementMode = (id) => {\n const mode =\n typeof options.ignoreTryCatch === 'function'\n ? options.ignoreTryCatch(id)\n : Array.isArray(options.ignoreTryCatch)\n ? options.ignoreTryCatch.includes(id)\n : typeof options.ignoreTryCatch !== 'undefined'\n ? options.ignoreTryCatch\n : true;\n\n return {\n canConvertRequire: mode !== 'remove' && mode !== true,\n shouldRemoveRequire: mode === 'remove',\n };\n };\n\n const { currentlyResolving, resolveId } = getResolveId(extensions, isPossibleCjsId);\n\n const sourceMap = options.sourceMap !== false;\n\n // Initialized in buildStart\n let requireResolver;\n\n function transformAndCheckExports(code, id) {\n const normalizedId = normalizePathSlashes(id);\n const { isEsModule, hasDefaultExport, hasNamedExports, ast } = analyzeTopLevelStatements(this.parse, code, id);\n\n const commonjsMeta = this.getModuleInfo(id).meta.commonjs || {};\n if (hasDefaultExport) {\n commonjsMeta.hasDefaultExport = true;\n }\n if (hasNamedExports) {\n commonjsMeta.hasNamedExports = true;\n }\n\n if (\n !dynamicRequireModules.has(normalizedId) &&\n (!(hasCjsKeywords(code, ignoreGlobal) || requireResolver.isRequiredId(id)) ||\n (isEsModule && !options.transformMixedEsModules))\n ) {\n commonjsMeta.isCommonJS = false;\n return { meta: { commonjs: commonjsMeta } };\n }\n\n const needsRequireWrapper = !isEsModule && (dynamicRequireModules.has(normalizedId) || strictRequiresFilter(id));\n\n const checkDynamicRequire = (position) => {\n const normalizedDynamicRequireRoot = normalizePathSlashes(dynamicRequireRoot);\n\n if (normalizedId.indexOf(normalizedDynamicRequireRoot) !== 0) {\n this.error(\n {\n code: 'DYNAMIC_REQUIRE_OUTSIDE_ROOT',\n normalizedId,\n normalizedDynamicRequireRoot,\n message: `\"${normalizedId}\" contains dynamic require statements but it is not within the current dynamicRequireRoot \"${normalizedDynamicRequireRoot}\". You should set dynamicRequireRoot to \"${dirname(\n normalizedId,\n )}\" or one of its parent directories.`,\n },\n position,\n );\n }\n };\n\n return transformCommonjs(\n this.parse,\n code,\n id,\n isEsModule,\n ignoreGlobal || isEsModule,\n ignoreRequire,\n ignoreDynamicRequires && !isDynamicRequireModulesEnabled,\n getIgnoreTryCatchRequireStatementMode,\n sourceMap,\n isDynamicRequireModulesEnabled,\n dynamicRequireModules,\n commonDir,\n ast,\n getDefaultIsModuleExports(id),\n needsRequireWrapper,\n requireResolver.resolveRequireSourcesAndUpdateMeta(this),\n requireResolver.isRequiredId(id),\n checkDynamicRequire,\n commonjsMeta,\n );\n }\n\n return {\n name: PLUGIN_NAME,\n\n version,\n\n options(rawOptions) {\n // We inject the resolver in the beginning so that \"catch-all-resolver\" like node-resolver\n // do not prevent our plugin from resolving entry points ot proxies.\n const plugins = Array.isArray(rawOptions.plugins)\n ? [...rawOptions.plugins]\n : rawOptions.plugins\n ? [rawOptions.plugins]\n : [];\n plugins.unshift({\n name: 'commonjs--resolver',\n resolveId,\n });\n return { ...rawOptions, plugins };\n },\n\n buildStart({ plugins }) {\n validateVersion(this.meta.rollupVersion, peerDependencies.rollup, 'rollup');\n const nodeResolve = plugins.find(({ name }) => name === 'node-resolve');\n if (nodeResolve) {\n validateVersion(nodeResolve.version, '^13.0.6', '@rollup/plugin-node-resolve');\n }\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 requireResolver = getRequireResolver(extensions, detectCyclesAndConditional, currentlyResolving);\n },\n\n buildEnd() {\n if (options.strictRequires === 'debug') {\n const wrappedIds = requireResolver.getWrappedIds();\n if (wrappedIds.length) {\n this.warn({\n code: 'WRAPPED_IDS',\n ids: wrappedIds,\n message: `The commonjs plugin automatically wrapped the following files:\\n[\\n${wrappedIds\n .map((id) => `\\t${JSON.stringify(relative(process.cwd(), id))}`)\n .join(',\\n')}\\n]`,\n });\n } else {\n this.warn({\n code: 'WRAPPED_IDS',\n ids: wrappedIds,\n message: 'The commonjs plugin did not wrap any files.',\n });\n }\n }\n },\n\n load(id) {\n if (id === HELPERS_ID) {\n return getHelpersModule();\n }\n\n if (isWrappedId(id, MODULE_SUFFIX)) {\n const name = getName(unwrapId(id, MODULE_SUFFIX));\n return {\n code: `var ${name} = {exports: {}}; export {${name} as __module}`,\n meta: { commonjs: { isCommonJS: false } },\n };\n }\n\n if (isWrappedId(id, EXPORTS_SUFFIX)) {\n const name = getName(unwrapId(id, EXPORTS_SUFFIX));\n return {\n code: `var ${name} = {}; export {${name} as __exports}`,\n meta: { commonjs: { isCommonJS: false } },\n };\n }\n\n if (isWrappedId(id, EXTERNAL_SUFFIX)) {\n const actualId = unwrapId(id, EXTERNAL_SUFFIX);\n return getUnknownRequireProxy(actualId, isEsmExternal(actualId) ? getRequireReturnsDefault(actualId) : true);\n }\n\n // entry suffix is just appended to not mess up relative external resolution\n if (id.endsWith(ENTRY_SUFFIX)) {\n const acutalId = id.slice(0, -ENTRY_SUFFIX.length);\n const {\n meta: { commonjs: commonjsMeta },\n } = this.getModuleInfo(acutalId);\n const shebang = commonjsMeta?.shebang ?? '';\n return getEntryProxy(acutalId, getDefaultIsModuleExports(acutalId), this.getModuleInfo, shebang);\n }\n\n if (isWrappedId(id, ES_IMPORT_SUFFIX)) {\n const actualId = unwrapId(id, ES_IMPORT_SUFFIX);\n return getEsImportProxy(actualId, getDefaultIsModuleExports(actualId));\n }\n\n if (id === DYNAMIC_MODULES_ID) {\n return getDynamicModuleRegistry(\n isDynamicRequireModulesEnabled,\n dynamicRequireModules,\n commonDir,\n ignoreDynamicRequires,\n );\n }\n\n if (isWrappedId(id, PROXY_SUFFIX)) {\n const actualId = unwrapId(id, PROXY_SUFFIX);\n return getStaticRequireProxy(actualId, getRequireReturnsDefault(actualId), this.load);\n }\n\n return null;\n },\n\n shouldTransformCachedModule(...args) {\n return requireResolver.shouldTransformCachedModule.call(this, ...args);\n },\n\n transform(code, id) {\n if (!isPossibleCjsId(id)) return null;\n\n try {\n return transformAndCheckExports.call(this, code, id);\n } catch (err) {\n return this.error(err, err.pos);\n }\n },\n };\n}\n\nexport { commonjs as default };\n//# sourceMappingURL=index.js.map\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/commonjs/index.js"],"names":[],"mappings":"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","sourcesContent":["// Fork of @rollup/plugin-commonjs to fix missing try/catch around instanceof checks.\n// More info: https://github.com/microsoft/cloudpack/pull/1707\n/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n\nimport { basename, extname, dirname, relative, resolve, join, sep } from 'path';\nimport { makeLegalIdentifier, createFilter, attachScopes, extractAssignedNames } from '@rollup/pluginutils';\nimport { existsSync, readFileSync, statSync } from 'fs';\nimport getCommonDir from 'commondir';\nimport { fdir } from 'fdir';\nimport { walk } from 'estree-walker';\nimport MagicString from 'magic-string';\nimport isReference from 'is-reference';\n\nvar version = '28.0.2';\nvar peerDependencies = {\n rollup: '^2.68.0||^3.0.0||^4.0.0',\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\nconst firstpassGlobal = /\\b(?:require|module|exports|global)\\b/;\n\nconst firstpassNoGlobal = /\\b(?:require|module|exports)\\b/;\n\nfunction hasCjsKeywords(code, ignoreGlobal) {\n const firstpass = ignoreGlobal ? firstpassNoGlobal : firstpassGlobal;\n return firstpass.test(code);\n}\n\nfunction analyzeTopLevelStatements(parse, code, id) {\n const ast = tryParse(parse, code, id);\n\n let isEsModule = false;\n let hasDefaultExport = false;\n let hasNamedExports = false;\n\n for (const node of ast.body) {\n switch (node.type) {\n case 'ExportDefaultDeclaration':\n isEsModule = true;\n hasDefaultExport = true;\n break;\n case 'ExportNamedDeclaration':\n isEsModule = true;\n if (node.declaration) {\n hasNamedExports = true;\n } else {\n for (const specifier of node.specifiers) {\n if (specifier.exported.name === 'default') {\n hasDefaultExport = true;\n } else {\n hasNamedExports = true;\n }\n }\n }\n break;\n case 'ExportAllDeclaration':\n isEsModule = true;\n if (node.exported && node.exported.name === 'default') {\n hasDefaultExport = true;\n } else {\n hasNamedExports = true;\n }\n break;\n case 'ImportDeclaration':\n isEsModule = true;\n break;\n }\n }\n\n return { isEsModule, hasDefaultExport, hasNamedExports, ast };\n}\n\nfunction deconflict(scopes, globals, identifier) {\n let i = 1;\n let deconflicted = makeLegalIdentifier(identifier);\n const hasConflicts = () => scopes.some((scope) => scope.contains(deconflicted)) || globals.has(deconflicted);\n\n while (hasConflicts()) {\n deconflicted = makeLegalIdentifier(`${identifier}_${i}`);\n i += 1;\n }\n\n for (const scope of scopes) {\n scope.declarations[deconflicted] = true;\n }\n\n return deconflicted;\n}\n\nfunction getName(id) {\n const name = makeLegalIdentifier(basename(id, extname(id)));\n if (name !== 'index') {\n return name;\n }\n return makeLegalIdentifier(basename(dirname(id)));\n}\n\nfunction normalizePathSlashes(path) {\n return path.replace(/\\\\/g, '/');\n}\n\nconst getVirtualPathForDynamicRequirePath = (path, commonDir) => `/${normalizePathSlashes(relative(commonDir, path))}`;\n\nfunction capitalize(name) {\n return name[0].toUpperCase() + name.slice(1);\n}\n\nfunction getStrictRequiresFilter({ strictRequires }) {\n switch (strictRequires) {\n case undefined:\n case true:\n return { strictRequiresFilter: () => true, detectCyclesAndConditional: false };\n case 'auto':\n case 'debug':\n case null:\n return { strictRequiresFilter: () => false, detectCyclesAndConditional: true };\n case false:\n return { strictRequiresFilter: () => false, detectCyclesAndConditional: false };\n default:\n if (typeof strictRequires === 'string' || Array.isArray(strictRequires)) {\n return {\n strictRequiresFilter: createFilter(strictRequires),\n detectCyclesAndConditional: false,\n };\n }\n throw new Error('Unexpected value for \"strictRequires\" option.');\n }\n}\n\nfunction getPackageEntryPoint(dirPath) {\n let entryPoint = 'index.js';\n\n try {\n if (existsSync(join(dirPath, 'package.json'))) {\n entryPoint = JSON.parse(readFileSync(join(dirPath, 'package.json'), { encoding: 'utf8' })).main || entryPoint;\n }\n } catch (ignored) {\n // ignored\n }\n\n return entryPoint;\n}\n\nfunction isDirectory(path) {\n try {\n if (statSync(path).isDirectory()) return true;\n } catch (ignored) {\n // Nothing to do here\n }\n return false;\n}\n\nfunction getDynamicRequireModules(patterns, dynamicRequireRoot) {\n const dynamicRequireModules = new Map();\n const dirNames = new Set();\n for (const pattern of !patterns || Array.isArray(patterns) ? patterns || [] : [patterns]) {\n const isNegated = pattern.startsWith('!');\n const modifyMap = (targetPath, resolvedPath) =>\n isNegated ? dynamicRequireModules.delete(targetPath) : dynamicRequireModules.set(targetPath, resolvedPath);\n for (const path of new fdir()\n .withBasePath()\n .withDirs()\n .glob(isNegated ? pattern.substr(1) : pattern)\n .crawl()\n .sync()\n .sort((a, b) => a.localeCompare(b, 'en'))) {\n const resolvedPath = resolve(path);\n const requirePath = normalizePathSlashes(resolvedPath);\n if (isDirectory(resolvedPath)) {\n dirNames.add(resolvedPath);\n const modulePath = resolve(join(resolvedPath, getPackageEntryPoint(path)));\n modifyMap(requirePath, modulePath);\n modifyMap(normalizePathSlashes(modulePath), modulePath);\n } else {\n dirNames.add(dirname(resolvedPath));\n modifyMap(requirePath, resolvedPath);\n }\n }\n }\n return {\n commonDir: dirNames.size ? getCommonDir([...dirNames, dynamicRequireRoot]) : null,\n dynamicRequireModules,\n };\n}\n\nconst FAILED_REQUIRE_ERROR = `throw new Error('Could not dynamically require \"' + path + '\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');`;\n\nconst COMMONJS_REQUIRE_EXPORT = 'commonjsRequire';\nconst CREATE_COMMONJS_REQUIRE_EXPORT = 'createCommonjsRequire';\n\nfunction getDynamicModuleRegistry(\n isDynamicRequireModulesEnabled,\n dynamicRequireModules,\n commonDir,\n ignoreDynamicRequires,\n) {\n if (!isDynamicRequireModulesEnabled) {\n return `export function ${COMMONJS_REQUIRE_EXPORT}(path) {\n\t${FAILED_REQUIRE_ERROR}\n}`;\n }\n const dynamicModuleImports = [...dynamicRequireModules.values()]\n .map(\n (id, index) =>\n `import ${id.endsWith('.json') ? `json${index}` : `{ __require as require${index} }`} from ${JSON.stringify(\n id,\n )};`,\n )\n .join('\\n');\n const dynamicModuleProps = [...dynamicRequireModules.keys()]\n .map(\n (id, index) =>\n `\\t\\t${JSON.stringify(getVirtualPathForDynamicRequirePath(id, commonDir))}: ${\n id.endsWith('.json') ? `function () { return json${index}; }` : `require${index}`\n }`,\n )\n .join(',\\n');\n return `${dynamicModuleImports}\n\nvar dynamicModules;\n\nfunction getDynamicModules() {\n\treturn dynamicModules || (dynamicModules = {\n${dynamicModuleProps}\n\t});\n}\n\nexport function ${CREATE_COMMONJS_REQUIRE_EXPORT}(originalModuleDir) {\n\tfunction handleRequire(path) {\n\t\tvar resolvedPath = commonjsResolve(path, originalModuleDir);\n\t\tif (resolvedPath !== null) {\n\t\t\treturn getDynamicModules()[resolvedPath]();\n\t\t}\n\t\t${ignoreDynamicRequires ? 'return require(path);' : FAILED_REQUIRE_ERROR}\n\t}\n\thandleRequire.resolve = function (path) {\n\t\tvar resolvedPath = commonjsResolve(path, originalModuleDir);\n\t\tif (resolvedPath !== null) {\n\t\t\treturn resolvedPath;\n\t\t}\n\t\treturn require.resolve(path);\n\t}\n\treturn handleRequire;\n}\n\nfunction commonjsResolve (path, originalModuleDir) {\n\tvar shouldTryNodeModules = isPossibleNodeModulesPath(path);\n\tpath = normalize(path);\n\tvar relPath;\n\tif (path[0] === '/') {\n\t\toriginalModuleDir = '';\n\t}\n\tvar modules = getDynamicModules();\n\tvar checkedExtensions = ['', '.js', '.json'];\n\twhile (true) {\n\t\tif (!shouldTryNodeModules) {\n\t\t\trelPath = normalize(originalModuleDir + '/' + path);\n\t\t} else {\n\t\t\trelPath = normalize(originalModuleDir + '/node_modules/' + path);\n\t\t}\n\n\t\tif (relPath.endsWith('/..')) {\n\t\t\tbreak; // Travelled too far up, avoid infinite loop\n\t\t}\n\n\t\tfor (var extensionIndex = 0; extensionIndex < checkedExtensions.length; extensionIndex++) {\n\t\t\tvar resolvedPath = relPath + checkedExtensions[extensionIndex];\n\t\t\tif (modules[resolvedPath]) {\n\t\t\t\treturn resolvedPath;\n\t\t\t}\n\t\t}\n\t\tif (!shouldTryNodeModules) break;\n\t\tvar nextDir = normalize(originalModuleDir + '/..');\n\t\tif (nextDir === originalModuleDir) break;\n\t\toriginalModuleDir = nextDir;\n\t}\n\treturn null;\n}\n\nfunction isPossibleNodeModulesPath (modulePath) {\n\tvar c0 = modulePath[0];\n\tif (c0 === '/' || c0 === '\\\\\\\\') return false;\n\tvar c1 = modulePath[1], c2 = modulePath[2];\n\tif ((c0 === '.' && (!c1 || c1 === '/' || c1 === '\\\\\\\\')) ||\n\t\t(c0 === '.' && c1 === '.' && (!c2 || c2 === '/' || c2 === '\\\\\\\\'))) return false;\n\tif (c1 === ':' && (c2 === '/' || c2 === '\\\\\\\\')) return false;\n\treturn true;\n}\n\nfunction normalize (path) {\n\tpath = path.replace(/\\\\\\\\/g, '/');\n\tvar parts = path.split('/');\n\tvar slashed = parts[0] === '';\n\tfor (var i = 1; i < parts.length; i++) {\n\t\tif (parts[i] === '.' || parts[i] === '') {\n\t\t\tparts.splice(i--, 1);\n\t\t}\n\t}\n\tfor (var i = 1; i < parts.length; i++) {\n\t\tif (parts[i] !== '..') continue;\n\t\tif (i > 0 && parts[i - 1] !== '..' && parts[i - 1] !== '.') {\n\t\t\tparts.splice(--i, 2);\n\t\t\ti--;\n\t\t}\n\t}\n\tpath = parts.join('/');\n\tif (slashed && path[0] !== '/') path = '/' + path;\n\telse if (path.length === 0) path = '.';\n\treturn path;\n}`;\n}\n\nconst isWrappedId = (id, suffix) => id.endsWith(suffix);\nconst wrapId = (id, suffix) => `\\0${id}${suffix}`;\nconst unwrapId = (wrappedId, suffix) => wrappedId.slice(1, -suffix.length);\n\n// A proxy module when a module is required from non-wrapped CommonJS. Is different for ESM and CommonJS requires.\nconst PROXY_SUFFIX = '?commonjs-proxy';\n// Indicates that a required module is wrapped commonjs and needs special handling.\nconst WRAPPED_SUFFIX = '?commonjs-wrapped';\n// Indicates that a required module is external\nconst EXTERNAL_SUFFIX = '?commonjs-external';\n// A helper module that contains the exports object of a module\nconst EXPORTS_SUFFIX = '?commonjs-exports';\n// A helper module that contains the module object of a module, e.g. when module.exports is reassigned\nconst MODULE_SUFFIX = '?commonjs-module';\n// A special proxy for CommonJS entry points\nconst ENTRY_SUFFIX = '?commonjs-entry';\n// A proxy when wrapped ESM is required from CommonJS\nconst ES_IMPORT_SUFFIX = '?commonjs-es-import';\n\nconst DYNAMIC_MODULES_ID = '\\0commonjs-dynamic-modules';\nconst HELPERS_ID = '\\0commonjsHelpers.js';\n\nconst IS_WRAPPED_COMMONJS = 'withRequireFunction';\n\n// `x['default']` is used instead of `x.default` for backward compatibility with ES3 browsers.\n// Minifiers like uglify will usually transpile it back if compatibility with ES3 is not enabled.\n// This could be improved by inspecting Rollup's \"generatedCode\" option\n\nconst HELPERS = `\nexport var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nexport function getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nexport function getDefaultExportFromNamespaceIfPresent (n) {\n\treturn n && Object.prototype.hasOwnProperty.call(n, 'default') ? n['default'] : n;\n}\n\nexport function getDefaultExportFromNamespaceIfNotNamed (n) {\n\treturn n && Object.prototype.hasOwnProperty.call(n, 'default') && Object.keys(n).length === 1 ? n['default'] : n;\n}\n\nexport function getAugmentedNamespace(n) {\n if (n.__esModule) return n;\n var f = n.default;\n\tif (typeof f == \"function\") {\n\t\tvar a = function a () {\n var isInstance = false;\n try {\n isInstance = this instanceof a;\n } catch {}\n\t\t\tif (isInstance) {\n return Reflect.construct(f, arguments, this.constructor);\n\t\t\t}\n\t\t\treturn f.apply(this, arguments);\n\t\t};\n\t\ta.prototype = f.prototype;\n } else a = {};\n Object.defineProperty(a, '__esModule', {value: true});\n\tObject.keys(n).forEach(function (k) {\n\t\tvar d = Object.getOwnPropertyDescriptor(n, k);\n\t\tObject.defineProperty(a, k, d.get ? d : {\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\treturn n[k];\n\t\t\t}\n\t\t});\n\t});\n\treturn a;\n}\n`;\n\nfunction getHelpersModule() {\n return HELPERS;\n}\n\nfunction getUnknownRequireProxy(id, requireReturnsDefault) {\n if (requireReturnsDefault === true || id.endsWith('.json')) {\n return `export { default } from ${JSON.stringify(id)};`;\n }\n const name = getName(id);\n const exported =\n requireReturnsDefault === 'auto'\n ? `import { getDefaultExportFromNamespaceIfNotNamed } from \"${HELPERS_ID}\"; export default /*@__PURE__*/getDefaultExportFromNamespaceIfNotNamed(${name});`\n : requireReturnsDefault === 'preferred'\n ? `import { getDefaultExportFromNamespaceIfPresent } from \"${HELPERS_ID}\"; export default /*@__PURE__*/getDefaultExportFromNamespaceIfPresent(${name});`\n : !requireReturnsDefault\n ? `import { getAugmentedNamespace } from \"${HELPERS_ID}\"; export default /*@__PURE__*/getAugmentedNamespace(${name});`\n : `export default ${name};`;\n return `import * as ${name} from ${JSON.stringify(id)}; ${exported}`;\n}\n\nasync function getStaticRequireProxy(id, requireReturnsDefault, loadModule) {\n const name = getName(id);\n const {\n meta: { commonjs: commonjsMeta },\n } = await loadModule({ id });\n if (!commonjsMeta) {\n return getUnknownRequireProxy(id, requireReturnsDefault);\n }\n if (commonjsMeta.isCommonJS) {\n return `export { __moduleExports as default } from ${JSON.stringify(id)};`;\n }\n if (!requireReturnsDefault) {\n return `import { getAugmentedNamespace } from \"${HELPERS_ID}\"; import * as ${name} from ${JSON.stringify(\n id,\n )}; export default /*@__PURE__*/getAugmentedNamespace(${name});`;\n }\n if (\n requireReturnsDefault !== true &&\n (requireReturnsDefault === 'namespace' ||\n !commonjsMeta.hasDefaultExport ||\n (requireReturnsDefault === 'auto' && commonjsMeta.hasNamedExports))\n ) {\n return `import * as ${name} from ${JSON.stringify(id)}; export default ${name};`;\n }\n return `export { default } from ${JSON.stringify(id)};`;\n}\n\nfunction getEntryProxy(id, defaultIsModuleExports, getModuleInfo, shebang) {\n const {\n meta: { commonjs: commonjsMeta },\n hasDefaultExport,\n } = getModuleInfo(id);\n if (!commonjsMeta || commonjsMeta.isCommonJS !== IS_WRAPPED_COMMONJS) {\n const stringifiedId = JSON.stringify(id);\n let code = `export * from ${stringifiedId};`;\n if (hasDefaultExport) {\n code += `export { default } from ${stringifiedId};`;\n }\n return shebang + code;\n }\n const result = getEsImportProxy(id, defaultIsModuleExports, true);\n return {\n ...result,\n code: shebang + result.code,\n };\n}\n\nfunction getEsImportProxy(id, defaultIsModuleExports, moduleSideEffects) {\n const name = getName(id);\n const exportsName = `${name}Exports`;\n const requireModule = `require${capitalize(name)}`;\n let code =\n `import { getDefaultExportFromCjs } from \"${HELPERS_ID}\";\\n` +\n `import { __require as ${requireModule} } from ${JSON.stringify(id)};\\n` +\n `var ${exportsName} = ${moduleSideEffects ? '' : '/*@__PURE__*/ '}${requireModule}();\\n` +\n `export { ${exportsName} as __moduleExports };`;\n if (defaultIsModuleExports === true) {\n code += `\\nexport { ${exportsName} as default };`;\n } else if (defaultIsModuleExports === false) {\n code += `\\nexport default ${exportsName}.default;`;\n } else {\n code += `\\nexport default /*@__PURE__*/getDefaultExportFromCjs(${exportsName});`;\n }\n return {\n code,\n syntheticNamedExports: '__moduleExports',\n };\n}\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\nfunction resolveExtensions(importee, importer, extensions) {\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\nfunction getResolveId(extensions, isPossibleCjsId) {\n const currentlyResolving = new Map();\n\n return {\n /**\n * This is a Maps of importers to Sets of require sources being resolved at\n * the moment by resolveRequireSourcesAndUpdateMeta\n */\n currentlyResolving,\n async resolveId(importee, importer, resolveOptions) {\n const customOptions = resolveOptions.custom;\n // All logic below is specific to ES imports.\n // Also, if we do not skip this logic for requires that are resolved while\n // transforming a commonjs file, it can easily lead to deadlocks.\n if (customOptions?.['node-resolve']?.isRequire) {\n return null;\n }\n const currentlyResolvingForParent = currentlyResolving.get(importer);\n if (currentlyResolvingForParent && currentlyResolvingForParent.has(importee)) {\n this.warn({\n code: 'THIS_RESOLVE_WITHOUT_OPTIONS',\n message:\n 'It appears a plugin has implemented a \"resolveId\" hook that uses \"this.resolve\" without forwarding the third \"options\" parameter of \"resolveId\". This is problematic as it can lead to wrong module resolutions especially for the node-resolve plugin and in certain cases cause early exit errors for the commonjs plugin.\\nIn rare cases, this warning can appear if the same file is both imported and required from the same mixed ES/CommonJS module, in which case it can be ignored.',\n url: 'https://rollupjs.org/guide/en/#resolveid',\n });\n return null;\n }\n\n if (isWrappedId(importee, WRAPPED_SUFFIX)) {\n return unwrapId(importee, WRAPPED_SUFFIX);\n }\n\n if (\n importee.endsWith(ENTRY_SUFFIX) ||\n isWrappedId(importee, MODULE_SUFFIX) ||\n isWrappedId(importee, EXPORTS_SUFFIX) ||\n isWrappedId(importee, PROXY_SUFFIX) ||\n isWrappedId(importee, ES_IMPORT_SUFFIX) ||\n isWrappedId(importee, EXTERNAL_SUFFIX) ||\n importee.startsWith(HELPERS_ID) ||\n importee === DYNAMIC_MODULES_ID\n ) {\n return importee;\n }\n\n if (importer) {\n if (\n importer === DYNAMIC_MODULES_ID ||\n // Proxies are only importing resolved ids, no need to resolve again\n isWrappedId(importer, PROXY_SUFFIX) ||\n isWrappedId(importer, ES_IMPORT_SUFFIX) ||\n importer.endsWith(ENTRY_SUFFIX)\n ) {\n return importee;\n }\n if (isWrappedId(importer, EXTERNAL_SUFFIX)) {\n // We need to return null for unresolved imports so that the proper warning is shown\n if (!(await this.resolve(importee, importer, Object.assign({ skipSelf: true }, resolveOptions)))) {\n return null;\n }\n // For other external imports, we need to make sure they are handled as external\n return { id: importee, external: true };\n }\n }\n\n if (importee.startsWith('\\0')) {\n return null;\n }\n\n // If this is an entry point or ESM import, we need to figure out if the importee is wrapped and\n // if that is the case, we need to add a proxy.\n const resolved =\n (await this.resolve(importee, importer, Object.assign({ skipSelf: true }, resolveOptions))) ||\n resolveExtensions(importee, importer, extensions);\n // Make sure that even if other plugins resolve again, we ignore our own proxies\n if (\n !resolved ||\n resolved.external ||\n resolved.id.endsWith(ENTRY_SUFFIX) ||\n isWrappedId(resolved.id, ES_IMPORT_SUFFIX) ||\n !isPossibleCjsId(resolved.id)\n ) {\n return resolved;\n }\n const moduleInfo = await this.load(resolved);\n const {\n meta: { commonjs: commonjsMeta },\n } = moduleInfo;\n if (commonjsMeta) {\n const { isCommonJS } = commonjsMeta;\n if (isCommonJS) {\n if (resolveOptions.isEntry) {\n moduleInfo.moduleSideEffects = true;\n // We must not precede entry proxies with a `\\0` as that will mess up relative external resolution\n return resolved.id + ENTRY_SUFFIX;\n }\n if (isCommonJS === IS_WRAPPED_COMMONJS) {\n return { id: wrapId(resolved.id, ES_IMPORT_SUFFIX), meta: { commonjs: { resolved } } };\n }\n }\n }\n return resolved;\n },\n };\n}\n\nfunction getRequireResolver(extensions, detectCyclesAndConditional, currentlyResolving) {\n const knownCjsModuleTypes = Object.create(null);\n const requiredIds = Object.create(null);\n const unconditionallyRequiredIds = Object.create(null);\n const dependencies = Object.create(null);\n const getDependencies = (id) => dependencies[id] || (dependencies[id] = new Set());\n\n const isCyclic = (id) => {\n const dependenciesToCheck = new Set(getDependencies(id));\n for (const dependency of dependenciesToCheck) {\n if (dependency === id) {\n return true;\n }\n for (const childDependency of getDependencies(dependency)) {\n dependenciesToCheck.add(childDependency);\n }\n }\n return false;\n };\n\n // Once a module is listed here, its type (wrapped or not) is fixed and may\n // not change for the rest of the current build, to not break already\n // transformed modules.\n const fullyAnalyzedModules = Object.create(null);\n\n const getTypeForFullyAnalyzedModule = (id) => {\n const knownType = knownCjsModuleTypes[id];\n if (knownType !== true || !detectCyclesAndConditional || fullyAnalyzedModules[id]) {\n return knownType;\n }\n if (isCyclic(id)) {\n return (knownCjsModuleTypes[id] = IS_WRAPPED_COMMONJS);\n }\n return knownType;\n };\n\n const setInitialParentType = (id, initialCommonJSType) => {\n // Fully analyzed modules may never change type\n if (fullyAnalyzedModules[id]) {\n return;\n }\n knownCjsModuleTypes[id] = initialCommonJSType;\n if (\n detectCyclesAndConditional &&\n knownCjsModuleTypes[id] === true &&\n requiredIds[id] &&\n !unconditionallyRequiredIds[id]\n ) {\n knownCjsModuleTypes[id] = IS_WRAPPED_COMMONJS;\n }\n };\n\n const analyzeRequiredModule = async (parentId, resolved, isConditional, loadModule) => {\n const childId = resolved.id;\n requiredIds[childId] = true;\n if (!(isConditional || knownCjsModuleTypes[parentId] === IS_WRAPPED_COMMONJS)) {\n unconditionallyRequiredIds[childId] = true;\n }\n\n getDependencies(parentId).add(childId);\n if (!isCyclic(childId)) {\n // This makes sure the current transform handler waits for all direct\n // dependencies to be loaded and transformed and therefore for all\n // transitive CommonJS dependencies to be loaded as well so that all\n // cycles have been found and knownCjsModuleTypes is reliable.\n await loadModule(resolved);\n }\n };\n\n const getTypeForImportedModule = async (resolved, loadModule) => {\n if (resolved.id in knownCjsModuleTypes) {\n // This handles cyclic ES dependencies\n return knownCjsModuleTypes[resolved.id];\n }\n const {\n meta: { commonjs },\n } = await loadModule(resolved);\n return (commonjs && commonjs.isCommonJS) || false;\n };\n\n return {\n getWrappedIds: () =>\n Object.keys(knownCjsModuleTypes).filter((id) => knownCjsModuleTypes[id] === IS_WRAPPED_COMMONJS),\n isRequiredId: (id) => requiredIds[id],\n async shouldTransformCachedModule({ id: parentId, resolvedSources, meta: { commonjs: parentMeta } }) {\n // We explicitly track ES modules to handle circular imports\n if (!(parentMeta && parentMeta.isCommonJS)) knownCjsModuleTypes[parentId] = false;\n if (isWrappedId(parentId, ES_IMPORT_SUFFIX)) return false;\n const parentRequires = parentMeta && parentMeta.requires;\n if (parentRequires) {\n setInitialParentType(parentId, parentMeta.initialCommonJSType);\n await Promise.all(\n parentRequires.map(({ resolved, isConditional }) =>\n analyzeRequiredModule(parentId, resolved, isConditional, this.load),\n ),\n );\n if (getTypeForFullyAnalyzedModule(parentId) !== parentMeta.isCommonJS) {\n return true;\n }\n for (const {\n resolved: { id },\n } of parentRequires) {\n if (getTypeForFullyAnalyzedModule(id) !== parentMeta.isRequiredCommonJS[id]) {\n return true;\n }\n }\n // Now that we decided to go with the cached copy, neither the parent\n // module nor any of its children may change types anymore\n fullyAnalyzedModules[parentId] = true;\n for (const {\n resolved: { id },\n } of parentRequires) {\n fullyAnalyzedModules[id] = true;\n }\n }\n const parentRequireSet = new Set((parentRequires || []).map(({ resolved: { id } }) => id));\n return (\n await Promise.all(\n Object.keys(resolvedSources)\n .map((source) => resolvedSources[source])\n .filter(({ id, external }) => !(external || parentRequireSet.has(id)))\n .map(async (resolved) => {\n if (isWrappedId(resolved.id, ES_IMPORT_SUFFIX)) {\n return (\n (await getTypeForImportedModule(\n (await this.load({ id: resolved.id })).meta.commonjs.resolved,\n this.load,\n )) !== IS_WRAPPED_COMMONJS\n );\n }\n return (await getTypeForImportedModule(resolved, this.load)) === IS_WRAPPED_COMMONJS;\n }),\n )\n ).some((shouldTransform) => shouldTransform);\n },\n /* eslint-disable no-param-reassign */\n resolveRequireSourcesAndUpdateMeta: (rollupContext) => async (parentId, isParentCommonJS, parentMeta, sources) => {\n parentMeta.initialCommonJSType = isParentCommonJS;\n parentMeta.requires = [];\n parentMeta.isRequiredCommonJS = Object.create(null);\n setInitialParentType(parentId, isParentCommonJS);\n const currentlyResolvingForParent = currentlyResolving.get(parentId) || new Set();\n currentlyResolving.set(parentId, currentlyResolvingForParent);\n const requireTargets = await Promise.all(\n sources.map(async ({ source, isConditional }) => {\n // Never analyze or proxy internal modules\n if (source.startsWith('\\0')) {\n return { id: source, allowProxy: false };\n }\n currentlyResolvingForParent.add(source);\n const resolved =\n (await rollupContext.resolve(source, parentId, {\n skipSelf: false,\n custom: { 'node-resolve': { isRequire: true } },\n })) || resolveExtensions(source, parentId, extensions);\n currentlyResolvingForParent.delete(source);\n if (!resolved) {\n return { id: wrapId(source, EXTERNAL_SUFFIX), allowProxy: false };\n }\n const childId = resolved.id;\n if (resolved.external) {\n return { id: wrapId(childId, EXTERNAL_SUFFIX), allowProxy: false };\n }\n parentMeta.requires.push({ resolved, isConditional });\n await analyzeRequiredModule(parentId, resolved, isConditional, rollupContext.load);\n return { id: childId, allowProxy: true };\n }),\n );\n parentMeta.isCommonJS = getTypeForFullyAnalyzedModule(parentId);\n fullyAnalyzedModules[parentId] = true;\n return requireTargets.map(({ id: dependencyId, allowProxy }, index) => {\n // eslint-disable-next-line no-multi-assign\n const isCommonJS = (parentMeta.isRequiredCommonJS[dependencyId] = getTypeForFullyAnalyzedModule(dependencyId));\n const isWrappedCommonJS = isCommonJS === IS_WRAPPED_COMMONJS;\n fullyAnalyzedModules[dependencyId] = true;\n return {\n wrappedModuleSideEffects: isWrappedCommonJS && rollupContext.getModuleInfo(dependencyId).moduleSideEffects,\n source: sources[index].source,\n id: allowProxy ? wrapId(dependencyId, isWrappedCommonJS ? WRAPPED_SUFFIX : PROXY_SUFFIX) : dependencyId,\n isCommonJS,\n };\n });\n },\n isCurrentlyResolving(source, parentId) {\n const currentlyResolvingForParent = currentlyResolving.get(parentId);\n return currentlyResolvingForParent && currentlyResolvingForParent.has(source);\n },\n };\n}\n\nfunction validateVersion(actualVersion, peerDependencyVersion, name) {\n const versionRegexp = /\\^(\\d+\\.\\d+\\.\\d+)/g;\n let minMajor = Infinity;\n let minMinor = Infinity;\n let minPatch = Infinity;\n let foundVersion;\n // eslint-disable-next-line no-cond-assign\n while ((foundVersion = versionRegexp.exec(peerDependencyVersion))) {\n const [foundMajor, foundMinor, foundPatch] = foundVersion[1].split('.').map(Number);\n if (foundMajor < minMajor) {\n minMajor = foundMajor;\n minMinor = foundMinor;\n minPatch = foundPatch;\n }\n }\n if (!actualVersion) {\n throw new Error(\n `Insufficient ${name} version: \"@rollup/plugin-commonjs\" requires at least ${name}@${minMajor}.${minMinor}.${minPatch}.`,\n );\n }\n const [major, minor, patch] = actualVersion.split('.').map(Number);\n if (major < minMajor || (major === minMajor && (minor < minMinor || (minor === minMinor && patch < minPatch)))) {\n throw new Error(\n `Insufficient ${name} version: \"@rollup/plugin-commonjs\" requires at least ${name}@${minMajor}.${minMinor}.${minPatch} but found ${name}@${actualVersion}.`,\n );\n }\n}\n\nconst operators = {\n '==': (x) => equals(x.left, x.right, false),\n\n '!=': (x) => not(operators['=='](x)),\n\n '===': (x) => equals(x.left, x.right, true),\n\n '!==': (x) => not(operators['==='](x)),\n\n '!': (x) => isFalsy(x.argument),\n\n '&&': (x) => isTruthy(x.left) && isTruthy(x.right),\n\n '||': (x) => isTruthy(x.left) || isTruthy(x.right),\n};\n\nfunction not(value) {\n return value === null ? value : !value;\n}\n\nfunction equals(a, b, strict) {\n if (a.type !== b.type) return null;\n // eslint-disable-next-line eqeqeq\n if (a.type === 'Literal') return strict ? a.value === b.value : a.value == b.value;\n return null;\n}\n\nfunction isTruthy(node) {\n if (!node) return false;\n if (node.type === 'Literal') return !!node.value;\n if (node.type === 'ParenthesizedExpression') return isTruthy(node.expression);\n if (node.operator in operators) return operators[node.operator](node);\n return null;\n}\n\nfunction isFalsy(node) {\n return not(isTruthy(node));\n}\n\nfunction getKeypath(node) {\n const parts = [];\n\n while (node.type === 'MemberExpression') {\n if (node.computed) return null;\n\n parts.unshift(node.property.name);\n // eslint-disable-next-line no-param-reassign\n node = node.object;\n }\n\n if (node.type !== 'Identifier') return null;\n\n const { name } = node;\n parts.unshift(name);\n\n return { name, keypath: parts.join('.') };\n}\n\nconst KEY_COMPILED_ESM = '__esModule';\n\nfunction getDefineCompiledEsmType(node) {\n const definedPropertyWithExports = getDefinePropertyCallName(node, 'exports');\n const definedProperty = definedPropertyWithExports || getDefinePropertyCallName(node, 'module.exports');\n if (definedProperty && definedProperty.key === KEY_COMPILED_ESM) {\n return isTruthy(definedProperty.value) ? (definedPropertyWithExports ? 'exports' : 'module') : false;\n }\n return false;\n}\n\nfunction getDefinePropertyCallName(node, targetName) {\n const {\n callee: { object, property },\n } = node;\n if (!object || object.type !== 'Identifier' || object.name !== 'Object') return;\n if (!property || property.type !== 'Identifier' || property.name !== 'defineProperty') return;\n if (node.arguments.length !== 3) return;\n\n const targetNames = targetName.split('.');\n const [target, key, value] = node.arguments;\n if (targetNames.length === 1) {\n if (target.type !== 'Identifier' || target.name !== targetNames[0]) {\n return;\n }\n }\n\n if (targetNames.length === 2) {\n if (\n target.type !== 'MemberExpression' ||\n target.object.name !== targetNames[0] ||\n target.property.name !== targetNames[1]\n ) {\n return;\n }\n }\n\n if (value.type !== 'ObjectExpression' || !value.properties) return;\n\n const valueProperty = value.properties.find((p) => p.key && p.key.name === 'value');\n if (!valueProperty || !valueProperty.value) return;\n\n // eslint-disable-next-line consistent-return\n return { key: key.value, value: valueProperty.value };\n}\n\nfunction isShorthandProperty(parent) {\n return parent && parent.type === 'Property' && parent.shorthand;\n}\n\nfunction wrapCode(magicString, uses, moduleName, exportsName, indentExclusionRanges) {\n const args = [];\n const passedArgs = [];\n if (uses.module) {\n args.push('module');\n passedArgs.push(moduleName);\n }\n if (uses.exports) {\n args.push('exports');\n passedArgs.push(uses.module ? `${moduleName}.exports` : exportsName);\n }\n magicString\n .trim()\n .indent('\\t', { exclude: indentExclusionRanges })\n .prepend(`(function (${args.join(', ')}) {\\n`)\n // For some reason, this line is only indented correctly when using a\n // require-wrapper if we have this leading space\n .append(` \\n} (${passedArgs.join(', ')}));`);\n}\n\nfunction rewriteExportsAndGetExportsBlock(\n magicString,\n moduleName,\n exportsName,\n exportedExportsName,\n wrapped,\n moduleExportsAssignments,\n firstTopLevelModuleExportsAssignment,\n exportsAssignmentsByName,\n topLevelAssignments,\n defineCompiledEsmExpressions,\n deconflictedExportNames,\n code,\n HELPERS_NAME,\n exportMode,\n defaultIsModuleExports,\n usesRequireWrapper,\n requireName,\n) {\n const exports = [];\n const exportDeclarations = [];\n\n if (usesRequireWrapper) {\n getExportsWhenUsingRequireWrapper(\n magicString,\n wrapped,\n exportMode,\n exports,\n moduleExportsAssignments,\n exportsAssignmentsByName,\n moduleName,\n exportsName,\n requireName,\n defineCompiledEsmExpressions,\n );\n } else if (exportMode === 'replace') {\n getExportsForReplacedModuleExports(\n magicString,\n exports,\n exportDeclarations,\n moduleExportsAssignments,\n firstTopLevelModuleExportsAssignment,\n exportsName,\n defaultIsModuleExports,\n HELPERS_NAME,\n );\n } else {\n if (exportMode === 'module') {\n exportDeclarations.push(`var ${exportedExportsName} = ${moduleName}.exports`);\n exports.push(`${exportedExportsName} as __moduleExports`);\n } else {\n exports.push(`${exportsName} as __moduleExports`);\n }\n if (wrapped) {\n exportDeclarations.push(getDefaultExportDeclaration(exportedExportsName, defaultIsModuleExports, HELPERS_NAME));\n } else {\n getExports(\n magicString,\n exports,\n exportDeclarations,\n moduleExportsAssignments,\n exportsAssignmentsByName,\n deconflictedExportNames,\n topLevelAssignments,\n moduleName,\n exportsName,\n exportedExportsName,\n defineCompiledEsmExpressions,\n HELPERS_NAME,\n defaultIsModuleExports,\n exportMode,\n );\n }\n }\n if (exports.length) {\n exportDeclarations.push(`export { ${exports.join(', ')} }`);\n }\n\n return `\\n\\n${exportDeclarations.join(';\\n')};`;\n}\n\nfunction getExportsWhenUsingRequireWrapper(\n magicString,\n wrapped,\n exportMode,\n exports,\n moduleExportsAssignments,\n exportsAssignmentsByName,\n moduleName,\n exportsName,\n requireName,\n defineCompiledEsmExpressions,\n) {\n exports.push(`${requireName} as __require`);\n if (wrapped) return;\n if (exportMode === 'replace') {\n rewriteModuleExportsAssignments(magicString, moduleExportsAssignments, exportsName);\n } else {\n rewriteModuleExportsAssignments(magicString, moduleExportsAssignments, `${moduleName}.exports`);\n // Collect and rewrite named exports\n for (const [exportName, { nodes }] of exportsAssignmentsByName) {\n for (const { node, type } of nodes) {\n magicString.overwrite(\n node.start,\n node.left.end,\n `${exportMode === 'module' && type === 'module' ? `${moduleName}.exports` : exportsName}.${exportName}`,\n );\n }\n }\n replaceDefineCompiledEsmExpressionsAndGetIfRestorable(\n defineCompiledEsmExpressions,\n magicString,\n exportMode,\n moduleName,\n exportsName,\n );\n }\n}\n\nfunction getExportsForReplacedModuleExports(\n magicString,\n exports,\n exportDeclarations,\n moduleExportsAssignments,\n firstTopLevelModuleExportsAssignment,\n exportsName,\n defaultIsModuleExports,\n HELPERS_NAME,\n) {\n for (const { left } of moduleExportsAssignments) {\n magicString.overwrite(left.start, left.end, exportsName);\n }\n magicString.prependRight(firstTopLevelModuleExportsAssignment.left.start, 'var ');\n exports.push(`${exportsName} as __moduleExports`);\n exportDeclarations.push(getDefaultExportDeclaration(exportsName, defaultIsModuleExports, HELPERS_NAME));\n}\n\nfunction getDefaultExportDeclaration(exportedExportsName, defaultIsModuleExports, HELPERS_NAME) {\n return `export default ${\n defaultIsModuleExports === true\n ? exportedExportsName\n : defaultIsModuleExports === false\n ? `${exportedExportsName}.default`\n : `/*@__PURE__*/${HELPERS_NAME}.getDefaultExportFromCjs(${exportedExportsName})`\n }`;\n}\n\nfunction getExports(\n magicString,\n exports,\n exportDeclarations,\n moduleExportsAssignments,\n exportsAssignmentsByName,\n deconflictedExportNames,\n topLevelAssignments,\n moduleName,\n exportsName,\n exportedExportsName,\n defineCompiledEsmExpressions,\n HELPERS_NAME,\n defaultIsModuleExports,\n exportMode,\n) {\n let deconflictedDefaultExportName;\n // Collect and rewrite module.exports assignments\n for (const { left } of moduleExportsAssignments) {\n magicString.overwrite(left.start, left.end, `${moduleName}.exports`);\n }\n\n // Collect and rewrite named exports\n for (const [exportName, { nodes }] of exportsAssignmentsByName) {\n const deconflicted = deconflictedExportNames[exportName];\n let needsDeclaration = true;\n for (const { node, type } of nodes) {\n let replacement = `${deconflicted} = ${\n exportMode === 'module' && type === 'module' ? `${moduleName}.exports` : exportsName\n }.${exportName}`;\n if (needsDeclaration && topLevelAssignments.has(node)) {\n replacement = `var ${replacement}`;\n needsDeclaration = false;\n }\n magicString.overwrite(node.start, node.left.end, replacement);\n }\n if (needsDeclaration) {\n magicString.prepend(`var ${deconflicted};\\n`);\n }\n\n if (exportName === 'default') {\n deconflictedDefaultExportName = deconflicted;\n } else {\n exports.push(exportName === deconflicted ? exportName : `${deconflicted} as ${exportName}`);\n }\n }\n\n const isRestorableCompiledEsm = replaceDefineCompiledEsmExpressionsAndGetIfRestorable(\n defineCompiledEsmExpressions,\n magicString,\n exportMode,\n moduleName,\n exportsName,\n );\n\n if (\n defaultIsModuleExports === false ||\n (defaultIsModuleExports === 'auto' && isRestorableCompiledEsm && moduleExportsAssignments.length === 0)\n ) {\n // If there is no deconflictedDefaultExportName, then we use the namespace as\n // fallback because there can be no \"default\" property on the namespace\n exports.push(`${deconflictedDefaultExportName || exportedExportsName} as default`);\n } else if (defaultIsModuleExports === true || (!isRestorableCompiledEsm && moduleExportsAssignments.length === 0)) {\n exports.push(`${exportedExportsName} as default`);\n } else {\n exportDeclarations.push(getDefaultExportDeclaration(exportedExportsName, defaultIsModuleExports, HELPERS_NAME));\n }\n}\n\nfunction rewriteModuleExportsAssignments(magicString, moduleExportsAssignments, exportsName) {\n for (const { left } of moduleExportsAssignments) {\n magicString.overwrite(left.start, left.end, exportsName);\n }\n}\n\nfunction replaceDefineCompiledEsmExpressionsAndGetIfRestorable(\n defineCompiledEsmExpressions,\n magicString,\n exportMode,\n moduleName,\n exportsName,\n) {\n let isRestorableCompiledEsm = false;\n for (const { node, type } of defineCompiledEsmExpressions) {\n isRestorableCompiledEsm = true;\n const moduleExportsExpression = node.type === 'CallExpression' ? node.arguments[0] : node.left.object;\n magicString.overwrite(\n moduleExportsExpression.start,\n moduleExportsExpression.end,\n exportMode === 'module' && type === 'module' ? `${moduleName}.exports` : exportsName,\n );\n }\n return isRestorableCompiledEsm;\n}\n\nfunction isRequireExpression(node, scope) {\n if (!node) return false;\n if (node.type !== 'CallExpression') return false;\n\n // Weird case of `require()` or `module.require()` without arguments\n if (node.arguments.length === 0) return false;\n\n return isRequire(node.callee, scope);\n}\n\nfunction isRequire(node, scope) {\n return (\n (node.type === 'Identifier' && node.name === 'require' && !scope.contains('require')) ||\n (node.type === 'MemberExpression' && isModuleRequire(node, scope))\n );\n}\n\nfunction isModuleRequire({ object, property }, scope) {\n return (\n object.type === 'Identifier' &&\n object.name === 'module' &&\n property.type === 'Identifier' &&\n property.name === 'require' &&\n !scope.contains('module')\n );\n}\n\nfunction hasDynamicArguments(node) {\n return (\n node.arguments.length > 1 ||\n (node.arguments[0].type !== 'Literal' &&\n (node.arguments[0].type !== 'TemplateLiteral' || node.arguments[0].expressions.length > 0))\n );\n}\n\nconst reservedMethod = { resolve: true, cache: true, main: true };\n\nfunction isNodeRequirePropertyAccess(parent) {\n return parent && parent.property && reservedMethod[parent.property.name];\n}\n\nfunction getRequireStringArg(node) {\n return node.arguments[0].type === 'Literal' ? node.arguments[0].value : node.arguments[0].quasis[0].value.cooked;\n}\n\nfunction getRequireHandlers() {\n const requireExpressions = [];\n\n function addRequireExpression(\n sourceId,\n node,\n scope,\n usesReturnValue,\n isInsideTryBlock,\n isInsideConditional,\n toBeRemoved,\n ) {\n requireExpressions.push({\n sourceId,\n node,\n scope,\n usesReturnValue,\n isInsideTryBlock,\n isInsideConditional,\n toBeRemoved,\n });\n }\n\n async function rewriteRequireExpressionsAndGetImportBlock(\n magicString,\n topLevelDeclarations,\n reassignedNames,\n helpersName,\n dynamicRequireName,\n moduleName,\n exportsName,\n id,\n exportMode,\n resolveRequireSourcesAndUpdateMeta,\n needsRequireWrapper,\n isEsModule,\n isDynamicRequireModulesEnabled,\n getIgnoreTryCatchRequireStatementMode,\n commonjsMeta,\n ) {\n const imports = [];\n imports.push(`import * as ${helpersName} from \"${HELPERS_ID}\"`);\n if (dynamicRequireName) {\n imports.push(\n `import { ${\n isDynamicRequireModulesEnabled ? CREATE_COMMONJS_REQUIRE_EXPORT : COMMONJS_REQUIRE_EXPORT\n } as ${dynamicRequireName} } from \"${DYNAMIC_MODULES_ID}\"`,\n );\n }\n if (exportMode === 'module') {\n imports.push(\n `import { __module as ${moduleName} } from ${JSON.stringify(wrapId(id, MODULE_SUFFIX))}`,\n `var ${exportsName} = ${moduleName}.exports`,\n );\n } else if (exportMode === 'exports') {\n imports.push(`import { __exports as ${exportsName} } from ${JSON.stringify(wrapId(id, EXPORTS_SUFFIX))}`);\n }\n const requiresBySource = collectSources(requireExpressions);\n const requireTargets = await resolveRequireSourcesAndUpdateMeta(\n id,\n needsRequireWrapper ? IS_WRAPPED_COMMONJS : !isEsModule,\n commonjsMeta,\n Object.keys(requiresBySource).map((source) => {\n return {\n source,\n isConditional: requiresBySource[source].every((require) => require.isInsideConditional),\n };\n }),\n );\n processRequireExpressions(\n imports,\n requireTargets,\n requiresBySource,\n getIgnoreTryCatchRequireStatementMode,\n magicString,\n );\n return imports.length ? `${imports.join(';\\n')};\\n\\n` : '';\n }\n\n return {\n addRequireExpression,\n rewriteRequireExpressionsAndGetImportBlock,\n };\n}\n\nfunction collectSources(requireExpressions) {\n const requiresBySource = Object.create(null);\n for (const requireExpression of requireExpressions) {\n const { sourceId } = requireExpression;\n if (!requiresBySource[sourceId]) {\n requiresBySource[sourceId] = [];\n }\n const requires = requiresBySource[sourceId];\n requires.push(requireExpression);\n }\n return requiresBySource;\n}\n\nfunction processRequireExpressions(\n imports,\n requireTargets,\n requiresBySource,\n getIgnoreTryCatchRequireStatementMode,\n magicString,\n) {\n const generateRequireName = getGenerateRequireName();\n for (const { source, id: resolvedId, isCommonJS, wrappedModuleSideEffects } of requireTargets) {\n const requires = requiresBySource[source];\n const name = generateRequireName(requires);\n let usesRequired = false;\n let needsImport = false;\n for (const { node, usesReturnValue, toBeRemoved, isInsideTryBlock } of requires) {\n const { canConvertRequire, shouldRemoveRequire } =\n isInsideTryBlock && isWrappedId(resolvedId, EXTERNAL_SUFFIX)\n ? getIgnoreTryCatchRequireStatementMode(source)\n : { canConvertRequire: true, shouldRemoveRequire: false };\n if (shouldRemoveRequire) {\n if (usesReturnValue) {\n magicString.overwrite(node.start, node.end, 'undefined');\n } else {\n magicString.remove(toBeRemoved.start, toBeRemoved.end);\n }\n } else if (canConvertRequire) {\n needsImport = true;\n if (isCommonJS === IS_WRAPPED_COMMONJS) {\n magicString.overwrite(node.start, node.end, `${wrappedModuleSideEffects ? '' : '/*@__PURE__*/ '}${name}()`);\n } else if (usesReturnValue) {\n usesRequired = true;\n magicString.overwrite(node.start, node.end, name);\n } else {\n magicString.remove(toBeRemoved.start, toBeRemoved.end);\n }\n }\n }\n if (needsImport) {\n if (isCommonJS === IS_WRAPPED_COMMONJS) {\n imports.push(`import { __require as ${name} } from ${JSON.stringify(resolvedId)}`);\n } else {\n imports.push(`import ${usesRequired ? `${name} from ` : ''}${JSON.stringify(resolvedId)}`);\n }\n }\n }\n}\n\nfunction getGenerateRequireName() {\n let uid = 0;\n return (requires) => {\n let name;\n const hasNameConflict = ({ scope }) => scope.contains(name);\n do {\n name = `require$$${uid}`;\n uid += 1;\n } while (requires.some(hasNameConflict));\n return name;\n };\n}\n\n/* eslint-disable no-param-reassign, no-shadow, no-underscore-dangle, no-continue */\n\nconst exportsPattern = /^(?:module\\.)?exports(?:\\.([a-zA-Z_$][a-zA-Z_$0-9]*))?$/;\n\nconst functionType = /^(?:FunctionDeclaration|FunctionExpression|ArrowFunctionExpression)$/;\n\n// There are three different types of CommonJS modules, described by their\n// \"exportMode\":\n// - exports: Only assignments to (module.)exports properties\n// - replace: A single assignment to module.exports itself\n// - module: Anything else\n// Special cases:\n// - usesRequireWrapper\n// - isWrapped\nasync function transformCommonjs(\n parse,\n code,\n id,\n isEsModule,\n ignoreGlobal,\n ignoreRequire,\n ignoreDynamicRequires,\n getIgnoreTryCatchRequireStatementMode,\n sourceMap,\n isDynamicRequireModulesEnabled,\n dynamicRequireModules,\n commonDir,\n astCache,\n defaultIsModuleExports,\n needsRequireWrapper,\n resolveRequireSourcesAndUpdateMeta,\n isRequired,\n checkDynamicRequire,\n commonjsMeta,\n) {\n const ast = astCache || tryParse(parse, code, id);\n const magicString = new MagicString(code);\n const uses = {\n module: false,\n exports: false,\n global: false,\n require: false,\n };\n const virtualDynamicRequirePath =\n isDynamicRequireModulesEnabled && getVirtualPathForDynamicRequirePath(dirname(id), commonDir);\n let scope = attachScopes(ast, 'scope');\n let lexicalDepth = 0;\n let programDepth = 0;\n let classBodyDepth = 0;\n let currentTryBlockEnd = null;\n let shouldWrap = false;\n\n const globals = new Set();\n // A conditionalNode is a node for which execution is not guaranteed. If such a node is a require\n // or contains nested requires, those should be handled as function calls unless there is an\n // unconditional require elsewhere.\n let currentConditionalNodeEnd = null;\n const conditionalNodes = new Set();\n const { addRequireExpression, rewriteRequireExpressionsAndGetImportBlock } = getRequireHandlers();\n\n // See which names are assigned to. This is necessary to prevent\n // illegally replacing `var foo = require('foo')` with `import foo from 'foo'`,\n // where `foo` is later reassigned. (This happens in the wild. CommonJS, sigh)\n const reassignedNames = new Set();\n const topLevelDeclarations = [];\n const skippedNodes = new Set();\n const moduleAccessScopes = new Set([scope]);\n const exportsAccessScopes = new Set([scope]);\n const moduleExportsAssignments = [];\n let firstTopLevelModuleExportsAssignment = null;\n const exportsAssignmentsByName = new Map();\n const topLevelAssignments = new Set();\n const topLevelDefineCompiledEsmExpressions = [];\n const replacedGlobal = [];\n const replacedThis = [];\n const replacedDynamicRequires = [];\n const importedVariables = new Set();\n const indentExclusionRanges = [];\n\n walk(ast, {\n enter(node, parent) {\n if (skippedNodes.has(node)) {\n this.skip();\n return;\n }\n\n if (currentTryBlockEnd !== null && node.start > currentTryBlockEnd) {\n currentTryBlockEnd = null;\n }\n if (currentConditionalNodeEnd !== null && node.start > currentConditionalNodeEnd) {\n currentConditionalNodeEnd = null;\n }\n if (currentConditionalNodeEnd === null && conditionalNodes.has(node)) {\n currentConditionalNodeEnd = node.end;\n }\n\n programDepth += 1;\n if (node.scope) ({ scope } = node);\n if (functionType.test(node.type)) lexicalDepth += 1;\n if (sourceMap) {\n magicString.addSourcemapLocation(node.start);\n magicString.addSourcemapLocation(node.end);\n }\n\n // eslint-disable-next-line default-case\n switch (node.type) {\n case 'AssignmentExpression':\n if (node.left.type === 'MemberExpression') {\n const flattened = getKeypath(node.left);\n if (!flattened || scope.contains(flattened.name)) return;\n\n const exportsPatternMatch = exportsPattern.exec(flattened.keypath);\n if (!exportsPatternMatch || flattened.keypath === 'exports') return;\n\n const [, exportName] = exportsPatternMatch;\n uses[flattened.name] = true;\n\n // we're dealing with `module.exports = ...` or `[module.]exports.foo = ...` –\n if (flattened.keypath === 'module.exports') {\n moduleExportsAssignments.push(node);\n if (programDepth > 3) {\n moduleAccessScopes.add(scope);\n } else if (!firstTopLevelModuleExportsAssignment) {\n firstTopLevelModuleExportsAssignment = node;\n }\n } else if (exportName === KEY_COMPILED_ESM) {\n if (programDepth > 3) {\n shouldWrap = true;\n } else {\n // The \"type\" is either \"module\" or \"exports\" to discern\n // assignments to module.exports vs exports if needed\n topLevelDefineCompiledEsmExpressions.push({ node, type: flattened.name });\n }\n } else {\n const exportsAssignments = exportsAssignmentsByName.get(exportName) || {\n nodes: [],\n scopes: new Set(),\n };\n exportsAssignments.nodes.push({ node, type: flattened.name });\n exportsAssignments.scopes.add(scope);\n exportsAccessScopes.add(scope);\n exportsAssignmentsByName.set(exportName, exportsAssignments);\n if (programDepth <= 3) {\n topLevelAssignments.add(node);\n }\n }\n\n skippedNodes.add(node.left);\n } else {\n for (const name of extractAssignedNames(node.left)) {\n reassignedNames.add(name);\n }\n }\n return;\n case 'CallExpression': {\n const defineCompiledEsmType = getDefineCompiledEsmType(node);\n if (defineCompiledEsmType) {\n if (programDepth === 3 && parent.type === 'ExpressionStatement') {\n // skip special handling for [module.]exports until we know we render this\n skippedNodes.add(node.arguments[0]);\n topLevelDefineCompiledEsmExpressions.push({ node, type: defineCompiledEsmType });\n } else {\n shouldWrap = true;\n }\n return;\n }\n\n // Transform require.resolve\n if (\n isDynamicRequireModulesEnabled &&\n node.callee.object &&\n isRequire(node.callee.object, scope) &&\n node.callee.property.name === 'resolve'\n ) {\n checkDynamicRequire(node.start);\n uses.require = true;\n const requireNode = node.callee.object;\n replacedDynamicRequires.push(requireNode);\n skippedNodes.add(node.callee);\n return;\n }\n\n if (!isRequireExpression(node, scope)) {\n const keypath = getKeypath(node.callee);\n if (keypath && importedVariables.has(keypath.name)) {\n // Heuristic to deoptimize requires after a required function has been called\n currentConditionalNodeEnd = Infinity;\n }\n return;\n }\n\n skippedNodes.add(node.callee);\n uses.require = true;\n\n if (hasDynamicArguments(node)) {\n if (isDynamicRequireModulesEnabled) {\n checkDynamicRequire(node.start);\n }\n if (!ignoreDynamicRequires) {\n replacedDynamicRequires.push(node.callee);\n }\n return;\n }\n\n const requireStringArg = getRequireStringArg(node);\n if (!ignoreRequire(requireStringArg)) {\n const usesReturnValue = parent.type !== 'ExpressionStatement';\n const toBeRemoved =\n parent.type === 'ExpressionStatement' &&\n (!currentConditionalNodeEnd ||\n // We should completely remove requires directly in a try-catch\n // so that Rollup can remove up the try-catch\n (currentTryBlockEnd !== null && currentTryBlockEnd < currentConditionalNodeEnd))\n ? parent\n : node;\n addRequireExpression(\n requireStringArg,\n node,\n scope,\n usesReturnValue,\n currentTryBlockEnd !== null,\n currentConditionalNodeEnd !== null,\n toBeRemoved,\n );\n if (parent.type === 'VariableDeclarator' && parent.id.type === 'Identifier') {\n for (const name of extractAssignedNames(parent.id)) {\n importedVariables.add(name);\n }\n }\n }\n return;\n }\n case 'ClassBody':\n classBodyDepth += 1;\n return;\n case 'ConditionalExpression':\n case 'IfStatement':\n // skip dead branches\n if (isFalsy(node.test)) {\n skippedNodes.add(node.consequent);\n } else if (isTruthy(node.test)) {\n if (node.alternate) {\n skippedNodes.add(node.alternate);\n }\n } else {\n conditionalNodes.add(node.consequent);\n if (node.alternate) {\n conditionalNodes.add(node.alternate);\n }\n }\n return;\n case 'ArrowFunctionExpression':\n case 'FunctionDeclaration':\n case 'FunctionExpression':\n // requires in functions should be conditional unless it is an IIFE\n if (currentConditionalNodeEnd === null && !(parent.type === 'CallExpression' && parent.callee === node)) {\n currentConditionalNodeEnd = node.end;\n }\n return;\n case 'Identifier': {\n const { name } = node;\n if (\n !isReference(node, parent) ||\n scope.contains(name) ||\n (parent.type === 'PropertyDefinition' && parent.key === node)\n )\n return;\n switch (name) {\n case 'require':\n uses.require = true;\n if (isNodeRequirePropertyAccess(parent)) {\n return;\n }\n if (!ignoreDynamicRequires) {\n if (isShorthandProperty(parent)) {\n // as key and value are the same object, isReference regards\n // both as references, so we need to skip now\n skippedNodes.add(parent.value);\n magicString.prependRight(node.start, 'require: ');\n }\n replacedDynamicRequires.push(node);\n }\n return;\n case 'module':\n case 'exports':\n shouldWrap = true;\n uses[name] = true;\n return;\n case 'global':\n uses.global = true;\n if (!ignoreGlobal) {\n replacedGlobal.push(node);\n }\n return;\n case 'define':\n magicString.overwrite(node.start, node.end, 'undefined', {\n storeName: true,\n });\n return;\n default:\n globals.add(name);\n return;\n }\n }\n case 'LogicalExpression':\n // skip dead branches\n if (node.operator === '&&') {\n if (isFalsy(node.left)) {\n skippedNodes.add(node.right);\n } else if (!isTruthy(node.left)) {\n conditionalNodes.add(node.right);\n }\n } else if (node.operator === '||') {\n if (isTruthy(node.left)) {\n skippedNodes.add(node.right);\n } else if (!isFalsy(node.left)) {\n conditionalNodes.add(node.right);\n }\n }\n return;\n case 'MemberExpression':\n if (!isDynamicRequireModulesEnabled && isModuleRequire(node, scope)) {\n uses.require = true;\n replacedDynamicRequires.push(node);\n skippedNodes.add(node.object);\n skippedNodes.add(node.property);\n }\n return;\n case 'ReturnStatement':\n // if top-level return, we need to wrap it\n if (lexicalDepth === 0) {\n shouldWrap = true;\n }\n return;\n case 'ThisExpression':\n // rewrite top-level `this` as `commonjsHelpers.commonjsGlobal`\n if (lexicalDepth === 0 && !classBodyDepth) {\n uses.global = true;\n if (!ignoreGlobal) {\n replacedThis.push(node);\n }\n }\n return;\n case 'TryStatement':\n if (currentTryBlockEnd === null) {\n currentTryBlockEnd = node.block.end;\n }\n if (currentConditionalNodeEnd === null) {\n currentConditionalNodeEnd = node.end;\n }\n return;\n case 'UnaryExpression':\n // rewrite `typeof module`, `typeof module.exports` and `typeof exports` (https://github.com/rollup/rollup-plugin-commonjs/issues/151)\n if (node.operator === 'typeof') {\n const flattened = getKeypath(node.argument);\n if (!flattened) return;\n\n if (scope.contains(flattened.name)) return;\n\n if (\n !isEsModule &&\n (flattened.keypath === 'module.exports' ||\n flattened.keypath === 'module' ||\n flattened.keypath === 'exports')\n ) {\n magicString.overwrite(node.start, node.end, `'object'`, {\n storeName: false,\n });\n }\n }\n return;\n case 'VariableDeclaration':\n if (!scope.parent) {\n topLevelDeclarations.push(node);\n }\n return;\n case 'TemplateElement':\n if (node.value.raw.includes('\\n')) {\n indentExclusionRanges.push([node.start, node.end]);\n }\n }\n },\n\n leave(node) {\n programDepth -= 1;\n if (node.scope) scope = scope.parent;\n if (functionType.test(node.type)) lexicalDepth -= 1;\n if (node.type === 'ClassBody') classBodyDepth -= 1;\n },\n });\n\n const nameBase = getName(id);\n const exportsName = deconflict([...exportsAccessScopes], globals, nameBase);\n const moduleName = deconflict([...moduleAccessScopes], globals, `${nameBase}Module`);\n const requireName = deconflict([scope], globals, `require${capitalize(nameBase)}`);\n const isRequiredName = deconflict([scope], globals, `hasRequired${capitalize(nameBase)}`);\n const helpersName = deconflict([scope], globals, 'commonjsHelpers');\n const dynamicRequireName =\n replacedDynamicRequires.length > 0 &&\n deconflict(\n [scope],\n globals,\n isDynamicRequireModulesEnabled ? CREATE_COMMONJS_REQUIRE_EXPORT : COMMONJS_REQUIRE_EXPORT,\n );\n const deconflictedExportNames = Object.create(null);\n for (const [exportName, { scopes }] of exportsAssignmentsByName) {\n deconflictedExportNames[exportName] = deconflict([...scopes], globals, exportName);\n }\n\n for (const node of replacedGlobal) {\n magicString.overwrite(node.start, node.end, `${helpersName}.commonjsGlobal`, {\n storeName: true,\n });\n }\n for (const node of replacedThis) {\n magicString.overwrite(node.start, node.end, exportsName, {\n storeName: true,\n });\n }\n for (const node of replacedDynamicRequires) {\n magicString.overwrite(\n node.start,\n node.end,\n isDynamicRequireModulesEnabled\n ? `${dynamicRequireName}(${JSON.stringify(virtualDynamicRequirePath)})`\n : dynamicRequireName,\n {\n contentOnly: true,\n storeName: true,\n },\n );\n }\n\n // We cannot wrap ES/mixed modules\n shouldWrap = !isEsModule && (shouldWrap || (uses.exports && moduleExportsAssignments.length > 0));\n\n if (\n !(\n shouldWrap ||\n isRequired ||\n needsRequireWrapper ||\n uses.module ||\n uses.exports ||\n uses.require ||\n topLevelDefineCompiledEsmExpressions.length > 0\n ) &&\n (ignoreGlobal || !uses.global)\n ) {\n return { meta: { commonjs: { isCommonJS: false } } };\n }\n\n let leadingComment = '';\n if (code.startsWith('/*')) {\n const commentEnd = code.indexOf('*/', 2) + 2;\n leadingComment = `${code.slice(0, commentEnd)}\\n`;\n magicString.remove(0, commentEnd).trim();\n }\n\n let shebang = '';\n if (code.startsWith('#!')) {\n const shebangEndPosition = code.indexOf('\\n') + 1;\n shebang = code.slice(0, shebangEndPosition);\n magicString.remove(0, shebangEndPosition).trim();\n }\n\n const exportMode = isEsModule\n ? 'none'\n : shouldWrap\n ? uses.module\n ? 'module'\n : 'exports'\n : firstTopLevelModuleExportsAssignment\n ? exportsAssignmentsByName.size === 0 && topLevelDefineCompiledEsmExpressions.length === 0\n ? 'replace'\n : 'module'\n : moduleExportsAssignments.length === 0\n ? 'exports'\n : 'module';\n\n const exportedExportsName = exportMode === 'module' ? deconflict([], globals, `${nameBase}Exports`) : exportsName;\n\n const importBlock = await rewriteRequireExpressionsAndGetImportBlock(\n magicString,\n topLevelDeclarations,\n reassignedNames,\n helpersName,\n dynamicRequireName,\n moduleName,\n exportsName,\n id,\n exportMode,\n resolveRequireSourcesAndUpdateMeta,\n needsRequireWrapper,\n isEsModule,\n isDynamicRequireModulesEnabled,\n getIgnoreTryCatchRequireStatementMode,\n commonjsMeta,\n );\n const usesRequireWrapper = commonjsMeta.isCommonJS === IS_WRAPPED_COMMONJS;\n const exportBlock = isEsModule\n ? ''\n : rewriteExportsAndGetExportsBlock(\n magicString,\n moduleName,\n exportsName,\n exportedExportsName,\n shouldWrap,\n moduleExportsAssignments,\n firstTopLevelModuleExportsAssignment,\n exportsAssignmentsByName,\n topLevelAssignments,\n topLevelDefineCompiledEsmExpressions,\n deconflictedExportNames,\n code,\n helpersName,\n exportMode,\n defaultIsModuleExports,\n usesRequireWrapper,\n requireName,\n );\n\n if (shouldWrap) {\n wrapCode(magicString, uses, moduleName, exportsName, indentExclusionRanges);\n }\n\n if (usesRequireWrapper) {\n magicString.trim().indent('\\t', {\n exclude: indentExclusionRanges,\n });\n const exported = exportMode === 'module' ? `${moduleName}.exports` : exportsName;\n magicString.prepend(\n `var ${isRequiredName};\n\nfunction ${requireName} () {\n\\tif (${isRequiredName}) return ${exported};\n\\t${isRequiredName} = 1;\n`,\n ).append(`\n\\treturn ${exported};\n}`);\n if (exportMode === 'replace') {\n magicString.prepend(`var ${exportsName};\\n`);\n }\n }\n\n magicString\n .trim()\n .prepend(shebang + leadingComment + importBlock)\n .append(exportBlock);\n\n return {\n code: magicString.toString(),\n map: sourceMap ? magicString.generateMap() : null,\n syntheticNamedExports: isEsModule || usesRequireWrapper ? false : '__moduleExports',\n meta: { commonjs: { ...commonjsMeta, shebang } },\n };\n}\n\nconst PLUGIN_NAME = 'commonjs';\n\nfunction commonjs(options = {}) {\n const {\n ignoreGlobal,\n ignoreDynamicRequires,\n requireReturnsDefault: requireReturnsDefaultOption,\n defaultIsModuleExports: defaultIsModuleExportsOption,\n esmExternals,\n } = options;\n const extensions = options.extensions || ['.js'];\n const filter = createFilter(options.include, options.exclude);\n const isPossibleCjsId = (id) => {\n const extName = extname(id);\n return extName === '.cjs' || (extensions.includes(extName) && filter(id));\n };\n\n const { strictRequiresFilter, detectCyclesAndConditional } = getStrictRequiresFilter(options);\n\n const getRequireReturnsDefault =\n typeof requireReturnsDefaultOption === 'function' ? requireReturnsDefaultOption : () => requireReturnsDefaultOption;\n\n let esmExternalIds;\n const isEsmExternal =\n typeof esmExternals === 'function'\n ? esmExternals\n : Array.isArray(esmExternals)\n ? ((esmExternalIds = new Set(esmExternals)), (id) => esmExternalIds.has(id))\n : () => esmExternals;\n\n const getDefaultIsModuleExports =\n typeof defaultIsModuleExportsOption === 'function'\n ? defaultIsModuleExportsOption\n : () => (typeof defaultIsModuleExportsOption === 'boolean' ? defaultIsModuleExportsOption : 'auto');\n\n const dynamicRequireRoot =\n typeof options.dynamicRequireRoot === 'string' ? resolve(options.dynamicRequireRoot) : process.cwd();\n const { commonDir, dynamicRequireModules } = getDynamicRequireModules(\n options.dynamicRequireTargets,\n dynamicRequireRoot,\n );\n const isDynamicRequireModulesEnabled = dynamicRequireModules.size > 0;\n\n const ignoreRequire =\n typeof options.ignore === 'function'\n ? options.ignore\n : Array.isArray(options.ignore)\n ? (id) => options.ignore.includes(id)\n : () => false;\n\n const getIgnoreTryCatchRequireStatementMode = (id) => {\n const mode =\n typeof options.ignoreTryCatch === 'function'\n ? options.ignoreTryCatch(id)\n : Array.isArray(options.ignoreTryCatch)\n ? options.ignoreTryCatch.includes(id)\n : typeof options.ignoreTryCatch !== 'undefined'\n ? options.ignoreTryCatch\n : true;\n\n return {\n canConvertRequire: mode !== 'remove' && mode !== true,\n shouldRemoveRequire: mode === 'remove',\n };\n };\n\n const { currentlyResolving, resolveId } = getResolveId(extensions, isPossibleCjsId);\n\n const sourceMap = options.sourceMap !== false;\n\n // Initialized in buildStart\n let requireResolver;\n\n function transformAndCheckExports(code, id) {\n const normalizedId = normalizePathSlashes(id);\n const { isEsModule, hasDefaultExport, hasNamedExports, ast } = analyzeTopLevelStatements(this.parse, code, id);\n\n const commonjsMeta = this.getModuleInfo(id).meta.commonjs || {};\n if (hasDefaultExport) {\n commonjsMeta.hasDefaultExport = true;\n }\n if (hasNamedExports) {\n commonjsMeta.hasNamedExports = true;\n }\n\n if (\n !dynamicRequireModules.has(normalizedId) &&\n (!(hasCjsKeywords(code, ignoreGlobal) || requireResolver.isRequiredId(id)) ||\n (isEsModule && !options.transformMixedEsModules))\n ) {\n commonjsMeta.isCommonJS = false;\n return { meta: { commonjs: commonjsMeta } };\n }\n\n const needsRequireWrapper = !isEsModule && (dynamicRequireModules.has(normalizedId) || strictRequiresFilter(id));\n\n const checkDynamicRequire = (position) => {\n const normalizedDynamicRequireRoot = normalizePathSlashes(dynamicRequireRoot);\n\n if (normalizedId.indexOf(normalizedDynamicRequireRoot) !== 0) {\n this.error(\n {\n code: 'DYNAMIC_REQUIRE_OUTSIDE_ROOT',\n normalizedId,\n normalizedDynamicRequireRoot,\n message: `\"${normalizedId}\" contains dynamic require statements but it is not within the current dynamicRequireRoot \"${normalizedDynamicRequireRoot}\". You should set dynamicRequireRoot to \"${dirname(\n normalizedId,\n )}\" or one of its parent directories.`,\n },\n position,\n );\n }\n };\n\n return transformCommonjs(\n this.parse,\n code,\n id,\n isEsModule,\n ignoreGlobal || isEsModule,\n ignoreRequire,\n ignoreDynamicRequires && !isDynamicRequireModulesEnabled,\n getIgnoreTryCatchRequireStatementMode,\n sourceMap,\n isDynamicRequireModulesEnabled,\n dynamicRequireModules,\n commonDir,\n ast,\n getDefaultIsModuleExports(id),\n needsRequireWrapper,\n requireResolver.resolveRequireSourcesAndUpdateMeta(this),\n requireResolver.isRequiredId(id),\n checkDynamicRequire,\n commonjsMeta,\n );\n }\n\n return {\n name: PLUGIN_NAME,\n\n version,\n\n options(rawOptions) {\n // We inject the resolver in the beginning so that \"catch-all-resolver\" like node-resolver\n // do not prevent our plugin from resolving entry points ot proxies.\n const plugins = Array.isArray(rawOptions.plugins)\n ? [...rawOptions.plugins]\n : rawOptions.plugins\n ? [rawOptions.plugins]\n : [];\n plugins.unshift({\n name: 'commonjs--resolver',\n resolveId,\n });\n return { ...rawOptions, plugins };\n },\n\n buildStart({ plugins }) {\n validateVersion(this.meta.rollupVersion, peerDependencies.rollup, 'rollup');\n const nodeResolve = plugins.find(({ name }) => name === 'node-resolve');\n if (nodeResolve) {\n validateVersion(nodeResolve.version, '^13.0.6', '@rollup/plugin-node-resolve');\n }\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 requireResolver = getRequireResolver(extensions, detectCyclesAndConditional, currentlyResolving);\n },\n\n buildEnd() {\n if (options.strictRequires === 'debug') {\n const wrappedIds = requireResolver.getWrappedIds();\n if (wrappedIds.length) {\n this.warn({\n code: 'WRAPPED_IDS',\n ids: wrappedIds,\n message: `The commonjs plugin automatically wrapped the following files:\\n[\\n${wrappedIds\n .map((id) => `\\t${JSON.stringify(relative(process.cwd(), id))}`)\n .join(',\\n')}\\n]`,\n });\n } else {\n this.warn({\n code: 'WRAPPED_IDS',\n ids: wrappedIds,\n message: 'The commonjs plugin did not wrap any files.',\n });\n }\n }\n },\n\n async load(id) {\n if (id === HELPERS_ID) {\n return getHelpersModule();\n }\n\n if (isWrappedId(id, MODULE_SUFFIX)) {\n const name = getName(unwrapId(id, MODULE_SUFFIX));\n return {\n code: `var ${name} = {exports: {}}; export {${name} as __module}`,\n meta: { commonjs: { isCommonJS: false } },\n };\n }\n\n if (isWrappedId(id, EXPORTS_SUFFIX)) {\n const name = getName(unwrapId(id, EXPORTS_SUFFIX));\n return {\n code: `var ${name} = {}; export {${name} as __exports}`,\n meta: { commonjs: { isCommonJS: false } },\n };\n }\n\n if (isWrappedId(id, EXTERNAL_SUFFIX)) {\n const actualId = unwrapId(id, EXTERNAL_SUFFIX);\n return getUnknownRequireProxy(actualId, isEsmExternal(actualId) ? getRequireReturnsDefault(actualId) : true);\n }\n\n // entry suffix is just appended to not mess up relative external resolution\n if (id.endsWith(ENTRY_SUFFIX)) {\n const acutalId = id.slice(0, -ENTRY_SUFFIX.length);\n const {\n meta: { commonjs: commonjsMeta },\n } = this.getModuleInfo(acutalId);\n const shebang = commonjsMeta?.shebang ?? '';\n return getEntryProxy(acutalId, getDefaultIsModuleExports(acutalId), this.getModuleInfo, shebang);\n }\n\n if (isWrappedId(id, ES_IMPORT_SUFFIX)) {\n const actualId = unwrapId(id, ES_IMPORT_SUFFIX);\n return getEsImportProxy(\n actualId,\n getDefaultIsModuleExports(actualId),\n (await this.load({ id: actualId })).moduleSideEffects,\n );\n }\n\n if (id === DYNAMIC_MODULES_ID) {\n return getDynamicModuleRegistry(\n isDynamicRequireModulesEnabled,\n dynamicRequireModules,\n commonDir,\n ignoreDynamicRequires,\n );\n }\n\n if (isWrappedId(id, PROXY_SUFFIX)) {\n const actualId = unwrapId(id, PROXY_SUFFIX);\n return getStaticRequireProxy(actualId, getRequireReturnsDefault(actualId), this.load);\n }\n\n return null;\n },\n\n shouldTransformCachedModule(...args) {\n return requireResolver.shouldTransformCachedModule.call(this, ...args);\n },\n\n transform(code, id) {\n if (!isPossibleCjsId(id)) return null;\n\n try {\n return transformAndCheckExports.call(this, code, id);\n } catch (err) {\n return this.error(err, err.pos);\n }\n },\n };\n}\n\nexport { commonjs as default };\n//# sourceMappingURL=index.js.map\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/bundler-rollup",
3
- "version": "0.2.17",
3
+ "version": "0.2.19",
4
4
  "description": "A cloudpack plugin for abstracting rollup.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -22,7 +22,7 @@
22
22
  "@ms-cloudpack/bundler-capabilities": "^0.2.15",
23
23
  "@ms-cloudpack/bundler-utilities": "^0.2.4",
24
24
  "@ms-cloudpack/common-types": "^0.24.10",
25
- "@ms-cloudpack/esm-stub-utilities": "^0.14.11",
25
+ "@ms-cloudpack/esm-stub-utilities": "^0.14.12",
26
26
  "@ms-cloudpack/package-utilities": "^12.0.0",
27
27
  "@ms-cloudpack/path-string-parsing": "^1.2.6",
28
28
  "@ms-cloudpack/path-utilities": "^3.0.7",
@@ -33,13 +33,14 @@
33
33
  "@rollup/plugin-swc": "^0.3.0",
34
34
  "@rollup/plugin-terser": "^0.4.0",
35
35
  "@rollup/plugin-url": "^8.0.0",
36
- "@rollup/pluginutils": "^5.0.0",
36
+ "@rollup/pluginutils": "^5.0.1",
37
37
  "@swc/core": "^1.3.0",
38
38
  "commondir": "^1.0.1",
39
39
  "estree-walker": "^2.0.2",
40
- "glob": "^8.0.3",
40
+ "fdir": "^6.2.0",
41
41
  "is-reference": "1.2.1",
42
42
  "magic-string": "^0.30.5",
43
+ "picomatch": "^4.0.2",
43
44
  "postcss": "^8.0.0",
44
45
  "rollup": "^3.29.0",
45
46
  "rollup-plugin-polyfill-node": "^0.12.0",