@ms-cloudpack/bundler-rollup 0.2.18 → 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.
- package/lib/getRollupOptions.d.ts.map +1 -1
- package/lib/getRollupOptions.js +3 -0
- package/lib/getRollupOptions.js.map +1 -1
- package/lib/plugins/commonjs/index.d.ts +1 -11
- package/lib/plugins/commonjs/index.d.ts.map +1 -1
- package/lib/plugins/commonjs/index.js +43 -21
- package/lib/plugins/commonjs/index.js.map +1 -1
- package/package.json +4 -3
|
@@ -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,
|
|
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"}
|
package/lib/getRollupOptions.js
CHANGED
|
@@ -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;
|
|
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):
|
|
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":";
|
|
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
|
|
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 = '
|
|
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
|
|
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
|
-
|
|
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 +=
|
|
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
|
|
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) ||
|
|
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
|
-
|
|
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.
|
|
3
|
+
"version": "0.2.19",
|
|
4
4
|
"description": "A cloudpack plugin for abstracting rollup.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -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.
|
|
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
|
-
"
|
|
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",
|