rollup 2.64.0 → 2.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +77 -0
- package/LICENSE.md +0 -7
- package/dist/bin/rollup +13 -55
- package/dist/es/rollup.browser.js +3 -3
- package/dist/es/rollup.js +2 -2
- package/dist/es/shared/rollup.js +8624 -8592
- package/dist/es/shared/watch.js +26 -18
- package/dist/loadConfigFile.js +2 -2
- package/dist/rollup.browser.js +3 -3
- package/dist/rollup.browser.js.map +1 -1
- package/dist/rollup.d.ts +8 -4
- package/dist/rollup.js +2 -2
- package/dist/shared/index.js +26 -18
- package/dist/shared/loadConfigFile.js +4 -4
- package/dist/shared/mergeOptions.js +2 -2
- package/dist/shared/rollup.js +321 -289
- package/dist/shared/watch-cli.js +15 -16
- package/dist/shared/watch.js +2 -2
- package/package.json +21 -23
package/dist/shared/rollup.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
@license
|
|
3
|
-
Rollup.js v2.
|
|
4
|
-
|
|
3
|
+
Rollup.js v2.67.0
|
|
4
|
+
Wed, 02 Feb 2022 06:19:08 GMT - commit 61d772ba59be605e53e72613ae51cee4b72aee64
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
https://github.com/rollup/rollup
|
|
@@ -14,8 +14,8 @@ const require$$0 = require('path');
|
|
|
14
14
|
const process$1 = require('process');
|
|
15
15
|
const perf_hooks = require('perf_hooks');
|
|
16
16
|
const crypto = require('crypto');
|
|
17
|
-
const
|
|
18
|
-
const require$$0$
|
|
17
|
+
const require$$0$1 = require('fs');
|
|
18
|
+
const require$$0$2 = require('events');
|
|
19
19
|
|
|
20
20
|
function _interopNamespaceDefault(e) {
|
|
21
21
|
const n = Object.create(null);
|
|
@@ -28,7 +28,7 @@ function _interopNamespaceDefault(e) {
|
|
|
28
28
|
return n;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
var version$1 = "2.
|
|
31
|
+
var version$1 = "2.67.0";
|
|
32
32
|
|
|
33
33
|
function ensureArray$1(items) {
|
|
34
34
|
if (Array.isArray(items)) {
|
|
@@ -381,22 +381,22 @@ function errMixedExport(facadeModuleId, name) {
|
|
|
381
381
|
url: `https://rollupjs.org/guide/en/#outputexports`
|
|
382
382
|
};
|
|
383
383
|
}
|
|
384
|
-
function errNamespaceConflict(name,
|
|
384
|
+
function errNamespaceConflict(name, reexportingModuleId, sources) {
|
|
385
385
|
return {
|
|
386
386
|
code: Errors.NAMESPACE_CONFLICT,
|
|
387
|
-
message: `Conflicting namespaces: "${relativeId(
|
|
387
|
+
message: `Conflicting namespaces: "${relativeId(reexportingModuleId)}" re-exports "${name}" from one of the modules ${printQuotedStringList(sources.map(moduleId => relativeId(moduleId)))} (will be ignored)`,
|
|
388
388
|
name,
|
|
389
|
-
reexporter:
|
|
390
|
-
sources
|
|
389
|
+
reexporter: reexportingModuleId,
|
|
390
|
+
sources
|
|
391
391
|
};
|
|
392
392
|
}
|
|
393
|
-
function errAmbiguousExternalNamespaces(name, reexportingModule,
|
|
393
|
+
function errAmbiguousExternalNamespaces(name, reexportingModule, usedModule, sources) {
|
|
394
394
|
return {
|
|
395
395
|
code: Errors.AMBIGUOUS_EXTERNAL_NAMESPACES,
|
|
396
|
-
message: `Ambiguous external namespace resolution: "${relativeId(reexportingModule)}" re-exports "${name}" from one of the external modules ${printQuotedStringList(
|
|
396
|
+
message: `Ambiguous external namespace resolution: "${relativeId(reexportingModule)}" re-exports "${name}" from one of the external modules ${printQuotedStringList(sources.map(module => relativeId(module)))}, guessing "${relativeId(usedModule)}".`,
|
|
397
397
|
name,
|
|
398
398
|
reexporter: reexportingModule,
|
|
399
|
-
sources
|
|
399
|
+
sources
|
|
400
400
|
};
|
|
401
401
|
}
|
|
402
402
|
function errNoTransformMapOrAstWithoutCode(pluginName) {
|
|
@@ -420,7 +420,7 @@ function errSyntheticNamedExportsNeedNamespaceExport(id, syntheticNamedExportsOp
|
|
|
420
420
|
code: Errors.SYNTHETIC_NAMED_EXPORTS_NEED_NAMESPACE_EXPORT,
|
|
421
421
|
id,
|
|
422
422
|
message: `Module "${relativeId(id)}" that is marked with 'syntheticNamedExports: ${JSON.stringify(syntheticNamedExportsOption)}' needs ${typeof syntheticNamedExportsOption === 'string' && syntheticNamedExportsOption !== 'default'
|
|
423
|
-
? `an export named "${syntheticNamedExportsOption}"`
|
|
423
|
+
? `an explicit export named "${syntheticNamedExportsOption}"`
|
|
424
424
|
: 'a default export'} that does not reexport an unresolved named export of the same module.`
|
|
425
425
|
};
|
|
426
426
|
}
|
|
@@ -586,9 +586,8 @@ const getHashFromObjectOption = (optionName) => optionName.split('.').join('').t
|
|
|
586
586
|
let fsEvents;
|
|
587
587
|
let fsEventsImportError;
|
|
588
588
|
async function loadFsEvents() {
|
|
589
|
-
const moduleName = 'fsevents';
|
|
590
589
|
try {
|
|
591
|
-
({ default: fsEvents } = await Promise.resolve().then(() => /*#__PURE__*/_interopNamespaceDefault(require(
|
|
590
|
+
({ default: fsEvents } = await Promise.resolve().then(() => /*#__PURE__*/_interopNamespaceDefault(require('fsevents'))));
|
|
592
591
|
}
|
|
593
592
|
catch (err) {
|
|
594
593
|
fsEventsImportError = err;
|
|
@@ -626,8 +625,8 @@ function getAugmentedNamespace(n) {
|
|
|
626
625
|
|
|
627
626
|
var charToInteger = {};
|
|
628
627
|
var chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
|
|
629
|
-
for (var i = 0; i < chars$1.length; i++) {
|
|
630
|
-
charToInteger[chars$1.charCodeAt(i)] = i;
|
|
628
|
+
for (var i$1 = 0; i$1 < chars$1.length; i$1++) {
|
|
629
|
+
charToInteger[chars$1.charCodeAt(i$1)] = i$1;
|
|
631
630
|
}
|
|
632
631
|
function decode(mappings) {
|
|
633
632
|
var decoded = [];
|
|
@@ -2323,7 +2322,7 @@ function makeLegal(str) {
|
|
|
2323
2322
|
}
|
|
2324
2323
|
|
|
2325
2324
|
class ExternalModule {
|
|
2326
|
-
constructor(options, id,
|
|
2325
|
+
constructor(options, id, moduleSideEffects, meta, renormalizeRenderPath) {
|
|
2327
2326
|
this.options = options;
|
|
2328
2327
|
this.id = id;
|
|
2329
2328
|
this.renormalizeRenderPath = renormalizeRenderPath;
|
|
@@ -2342,17 +2341,23 @@ class ExternalModule {
|
|
|
2342
2341
|
this.variableName = '';
|
|
2343
2342
|
this.suggestedVariableName = makeLegal(id.split(/[\\/]/).pop());
|
|
2344
2343
|
const { importers, dynamicImporters } = this;
|
|
2345
|
-
this.info = {
|
|
2344
|
+
const info = (this.info = {
|
|
2346
2345
|
ast: null,
|
|
2347
2346
|
code: null,
|
|
2347
|
+
dynamicallyImportedIdResolutions: EMPTY_ARRAY,
|
|
2348
2348
|
dynamicallyImportedIds: EMPTY_ARRAY,
|
|
2349
2349
|
get dynamicImporters() {
|
|
2350
2350
|
return dynamicImporters.sort();
|
|
2351
2351
|
},
|
|
2352
|
-
|
|
2352
|
+
hasDefaultExport: null,
|
|
2353
|
+
get hasModuleSideEffects() {
|
|
2354
|
+
warnDeprecation('Accessing ModuleInfo.hasModuleSideEffects from plugins is deprecated. Please use ModuleInfo.moduleSideEffects instead.', false, options);
|
|
2355
|
+
return info.moduleSideEffects;
|
|
2356
|
+
},
|
|
2353
2357
|
id,
|
|
2354
2358
|
implicitlyLoadedAfterOneOf: EMPTY_ARRAY,
|
|
2355
2359
|
implicitlyLoadedBefore: EMPTY_ARRAY,
|
|
2360
|
+
importedIdResolutions: EMPTY_ARRAY,
|
|
2356
2361
|
importedIds: EMPTY_ARRAY,
|
|
2357
2362
|
get importers() {
|
|
2358
2363
|
return importers.sort();
|
|
@@ -2361,16 +2366,22 @@ class ExternalModule {
|
|
|
2361
2366
|
isExternal: true,
|
|
2362
2367
|
isIncluded: null,
|
|
2363
2368
|
meta,
|
|
2369
|
+
moduleSideEffects,
|
|
2364
2370
|
syntheticNamedExports: false
|
|
2365
|
-
};
|
|
2371
|
+
});
|
|
2372
|
+
// Hide the deprecated key so that it only warns when accessed explicitly
|
|
2373
|
+
Object.defineProperty(this.info, 'hasModuleSideEffects', {
|
|
2374
|
+
...Object.getOwnPropertyDescriptor(this.info, 'hasModuleSideEffects'),
|
|
2375
|
+
enumerable: false
|
|
2376
|
+
});
|
|
2366
2377
|
}
|
|
2367
2378
|
getVariableForExportName(name) {
|
|
2368
2379
|
let declaration = this.declarations[name];
|
|
2369
2380
|
if (declaration)
|
|
2370
|
-
return declaration;
|
|
2381
|
+
return [declaration];
|
|
2371
2382
|
this.declarations[name] = declaration = new ExternalVariable(this, name);
|
|
2372
2383
|
this.exportedVariables.set(declaration, name);
|
|
2373
|
-
return declaration;
|
|
2384
|
+
return [declaration];
|
|
2374
2385
|
}
|
|
2375
2386
|
setRenderPath(options, inputBase) {
|
|
2376
2387
|
this.renderPath =
|
|
@@ -3297,7 +3308,14 @@ const parse$1 = (input, options) => {
|
|
|
3297
3308
|
}
|
|
3298
3309
|
|
|
3299
3310
|
if (token.inner.includes('*') && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
|
|
3300
|
-
|
|
3311
|
+
// Any non-magical string (`.ts`) or even nested expression (`.{ts,tsx}`) can follow after the closing parenthesis.
|
|
3312
|
+
// In this case, we need to parse the string and use it in the output of the original pattern.
|
|
3313
|
+
// Suitable patterns: `/!(*.d).ts`, `/!(*.d).{ts,tsx}`, `**/!(*-dbg).@(js)`.
|
|
3314
|
+
//
|
|
3315
|
+
// Disabling the `fastpaths` option due to a problem with parsing strings as `.ts` in the pattern like `**/!(*.d).ts`.
|
|
3316
|
+
const expression = parse$1(rest, { ...options, fastpaths: false }).output;
|
|
3317
|
+
|
|
3318
|
+
output = token.close = `)${expression})${extglobStar})`;
|
|
3301
3319
|
}
|
|
3302
3320
|
|
|
3303
3321
|
if (token.prev.type === 'bos') {
|
|
@@ -4892,20 +4910,11 @@ const SequenceExpression$1 = 'SequenceExpression';
|
|
|
4892
4910
|
|
|
4893
4911
|
// this looks ridiculous, but it prevents sourcemap tooling from mistaking
|
|
4894
4912
|
// this for an actual sourceMappingURL
|
|
4895
|
-
|
|
4896
|
-
SOURCEMAPPING_URL += 'ppingURL';
|
|
4913
|
+
exports.SOURCEMAPPING_URL = 'sourceMa';
|
|
4914
|
+
exports.SOURCEMAPPING_URL += 'ppingURL';
|
|
4897
4915
|
const whiteSpaceNoNewline = '[ \\f\\r\\t\\v\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]';
|
|
4898
|
-
const SOURCEMAPPING_URL_RE = new RegExp(`^#${whiteSpaceNoNewline}+${SOURCEMAPPING_URL}=.+`);
|
|
4916
|
+
const SOURCEMAPPING_URL_RE = new RegExp(`^#${whiteSpaceNoNewline}+${exports.SOURCEMAPPING_URL}=.+`);
|
|
4899
4917
|
|
|
4900
|
-
// patch up acorn-walk until class-fields are officially supported
|
|
4901
|
-
base$1.PropertyDefinition = function (node, st, c) {
|
|
4902
|
-
if (node.computed) {
|
|
4903
|
-
c(node.key, st, 'Expression');
|
|
4904
|
-
}
|
|
4905
|
-
if (node.value) {
|
|
4906
|
-
c(node.value, st, 'Expression');
|
|
4907
|
-
}
|
|
4908
|
-
};
|
|
4909
4918
|
const ANNOTATION_KEY = '_rollupAnnotations';
|
|
4910
4919
|
const INVALID_COMMENT_KEY = '_rollupRemoved';
|
|
4911
4920
|
function handlePureAnnotationsOfNode(node, state, type = node.type) {
|
|
@@ -8634,6 +8643,8 @@ const ARRAY_PROTOTYPE = new ObjectEntity({
|
|
|
8634
8643
|
flat: METHOD_DEOPTS_SELF_RETURNS_NEW_ARRAY,
|
|
8635
8644
|
flatMap: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_NEW_ARRAY,
|
|
8636
8645
|
forEach: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN,
|
|
8646
|
+
groupBy: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN,
|
|
8647
|
+
groupByToMap: METHOD_CALLS_ARG_DEOPTS_SELF_RETURNS_UNKNOWN,
|
|
8637
8648
|
includes: METHOD_RETURNS_BOOLEAN,
|
|
8638
8649
|
indexOf: METHOD_RETURNS_NUMBER,
|
|
8639
8650
|
join: METHOD_RETURNS_STRING,
|
|
@@ -12198,7 +12209,6 @@ let timeStart = NOOP;
|
|
|
12198
12209
|
let timeEnd = NOOP;
|
|
12199
12210
|
const TIMED_PLUGIN_HOOKS = ['load', 'resolveDynamicImport', 'resolveId', 'transform'];
|
|
12200
12211
|
function getPluginWithTimers(plugin, index) {
|
|
12201
|
-
const timedPlugin = {};
|
|
12202
12212
|
for (const hook of TIMED_PLUGIN_HOOKS) {
|
|
12203
12213
|
if (hook in plugin) {
|
|
12204
12214
|
let timerLabel = `plugin ${index}`;
|
|
@@ -12206,9 +12216,10 @@ function getPluginWithTimers(plugin, index) {
|
|
|
12206
12216
|
timerLabel += ` (${plugin.name})`;
|
|
12207
12217
|
}
|
|
12208
12218
|
timerLabel += ` - ${hook}`;
|
|
12209
|
-
|
|
12219
|
+
const func = plugin[hook];
|
|
12220
|
+
plugin[hook] = function (...args) {
|
|
12210
12221
|
timeStart(timerLabel, 4);
|
|
12211
|
-
const result =
|
|
12222
|
+
const result = func.apply(this, args);
|
|
12212
12223
|
timeEnd(timerLabel, 4);
|
|
12213
12224
|
if (result && typeof result.then === 'function') {
|
|
12214
12225
|
timeStart(`${timerLabel} (async)`, 4);
|
|
@@ -12221,10 +12232,7 @@ function getPluginWithTimers(plugin, index) {
|
|
|
12221
12232
|
};
|
|
12222
12233
|
}
|
|
12223
12234
|
}
|
|
12224
|
-
return
|
|
12225
|
-
...plugin,
|
|
12226
|
-
...timedPlugin
|
|
12227
|
-
};
|
|
12235
|
+
return plugin;
|
|
12228
12236
|
}
|
|
12229
12237
|
function initialiseTimers(inputOptions) {
|
|
12230
12238
|
if (inputOptions.perf) {
|
|
@@ -12247,7 +12255,7 @@ function markModuleAndImpureDependenciesAsExecuted(baseModule) {
|
|
|
12247
12255
|
for (const dependency of [...module.dependencies, ...module.implicitlyLoadedBefore]) {
|
|
12248
12256
|
if (!(dependency instanceof ExternalModule) &&
|
|
12249
12257
|
!dependency.isExecuted &&
|
|
12250
|
-
(dependency.info.
|
|
12258
|
+
(dependency.info.moduleSideEffects || module.implicitlyLoadedBefore.has(dependency)) &&
|
|
12251
12259
|
!visitedModules.has(dependency.id)) {
|
|
12252
12260
|
dependency.isExecuted = true;
|
|
12253
12261
|
visitedModules.add(dependency.id);
|
|
@@ -12261,11 +12269,11 @@ const MISSING_EXPORT_SHIM_DESCRIPTION = {
|
|
|
12261
12269
|
identifier: null,
|
|
12262
12270
|
localName: MISSING_EXPORT_SHIM_VARIABLE
|
|
12263
12271
|
};
|
|
12264
|
-
function getVariableForExportNameRecursive(target, name, importerForSideEffects, isExportAllSearch, searchedNamesAndModules = new Map()
|
|
12272
|
+
function getVariableForExportNameRecursive(target, name, importerForSideEffects, isExportAllSearch, searchedNamesAndModules = new Map()) {
|
|
12265
12273
|
const searchedModules = searchedNamesAndModules.get(name);
|
|
12266
12274
|
if (searchedModules) {
|
|
12267
12275
|
if (searchedModules.has(target)) {
|
|
12268
|
-
return isExportAllSearch ? null : error(errCircularReexport(name, target.id));
|
|
12276
|
+
return isExportAllSearch ? [null] : error(errCircularReexport(name, target.id));
|
|
12269
12277
|
}
|
|
12270
12278
|
searchedModules.add(target);
|
|
12271
12279
|
}
|
|
@@ -12275,8 +12283,7 @@ function getVariableForExportNameRecursive(target, name, importerForSideEffects,
|
|
|
12275
12283
|
return target.getVariableForExportName(name, {
|
|
12276
12284
|
importerForSideEffects,
|
|
12277
12285
|
isExportAllSearch,
|
|
12278
|
-
searchedNamesAndModules
|
|
12279
|
-
skipExternalNamespaceReexports
|
|
12286
|
+
searchedNamesAndModules
|
|
12280
12287
|
});
|
|
12281
12288
|
}
|
|
12282
12289
|
function getAndExtendSideEffectModules(variable, module) {
|
|
@@ -12306,7 +12313,7 @@ function getAndExtendSideEffectModules(variable, module) {
|
|
|
12306
12313
|
return sideEffectModules;
|
|
12307
12314
|
}
|
|
12308
12315
|
class Module {
|
|
12309
|
-
constructor(graph, id, options, isEntry,
|
|
12316
|
+
constructor(graph, id, options, isEntry, moduleSideEffects, syntheticNamedExports, meta) {
|
|
12310
12317
|
this.graph = graph;
|
|
12311
12318
|
this.id = id;
|
|
12312
12319
|
this.options = options;
|
|
@@ -12322,7 +12329,6 @@ class Module {
|
|
|
12322
12329
|
this.execIndex = Infinity;
|
|
12323
12330
|
this.exportAllSources = new Set();
|
|
12324
12331
|
this.exports = Object.create(null);
|
|
12325
|
-
this.exportsAll = Object.create(null);
|
|
12326
12332
|
this.implicitlyLoadedAfter = new Set();
|
|
12327
12333
|
this.implicitlyLoadedBefore = new Set();
|
|
12328
12334
|
this.importDescriptions = Object.create(null);
|
|
@@ -12354,12 +12360,18 @@ class Module {
|
|
|
12354
12360
|
this.preserveSignature = this.options.preserveEntrySignatures;
|
|
12355
12361
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
12356
12362
|
const module = this;
|
|
12363
|
+
const { dynamicImports, dynamicImporters, reexportDescriptions, implicitlyLoadedAfter, implicitlyLoadedBefore, sources, importers } = this;
|
|
12357
12364
|
this.info = {
|
|
12358
12365
|
ast: null,
|
|
12359
12366
|
code: null,
|
|
12367
|
+
get dynamicallyImportedIdResolutions() {
|
|
12368
|
+
return dynamicImports
|
|
12369
|
+
.map(({ argument }) => typeof argument === 'string' && module.resolvedIds[argument])
|
|
12370
|
+
.filter(Boolean);
|
|
12371
|
+
},
|
|
12360
12372
|
get dynamicallyImportedIds() {
|
|
12361
12373
|
const dynamicallyImportedIds = [];
|
|
12362
|
-
for (const { id } of
|
|
12374
|
+
for (const { id } of dynamicImports) {
|
|
12363
12375
|
if (id) {
|
|
12364
12376
|
dynamicallyImportedIds.push(id);
|
|
12365
12377
|
}
|
|
@@ -12367,33 +12379,52 @@ class Module {
|
|
|
12367
12379
|
return dynamicallyImportedIds;
|
|
12368
12380
|
},
|
|
12369
12381
|
get dynamicImporters() {
|
|
12370
|
-
return
|
|
12382
|
+
return dynamicImporters.sort();
|
|
12383
|
+
},
|
|
12384
|
+
get hasDefaultExport() {
|
|
12385
|
+
// This information is only valid after parsing
|
|
12386
|
+
if (!module.ast) {
|
|
12387
|
+
return null;
|
|
12388
|
+
}
|
|
12389
|
+
return 'default' in module.exports || 'default' in reexportDescriptions;
|
|
12390
|
+
},
|
|
12391
|
+
get hasModuleSideEffects() {
|
|
12392
|
+
warnDeprecation('Accessing ModuleInfo.hasModuleSideEffects from plugins is deprecated. Please use ModuleInfo.moduleSideEffects instead.', false, options);
|
|
12393
|
+
return module.info.moduleSideEffects;
|
|
12371
12394
|
},
|
|
12372
|
-
hasModuleSideEffects,
|
|
12373
12395
|
id,
|
|
12374
12396
|
get implicitlyLoadedAfterOneOf() {
|
|
12375
|
-
return Array.from(
|
|
12397
|
+
return Array.from(implicitlyLoadedAfter, getId).sort();
|
|
12376
12398
|
},
|
|
12377
12399
|
get implicitlyLoadedBefore() {
|
|
12378
|
-
return Array.from(
|
|
12400
|
+
return Array.from(implicitlyLoadedBefore, getId).sort();
|
|
12401
|
+
},
|
|
12402
|
+
get importedIdResolutions() {
|
|
12403
|
+
return Array.from(sources, source => module.resolvedIds[source]).filter(Boolean);
|
|
12379
12404
|
},
|
|
12380
12405
|
get importedIds() {
|
|
12381
|
-
return Array.from(
|
|
12406
|
+
return Array.from(sources, source => { var _a; return (_a = module.resolvedIds[source]) === null || _a === void 0 ? void 0 : _a.id; }).filter(Boolean);
|
|
12382
12407
|
},
|
|
12383
12408
|
get importers() {
|
|
12384
|
-
return
|
|
12409
|
+
return importers.sort();
|
|
12385
12410
|
},
|
|
12386
12411
|
isEntry,
|
|
12387
12412
|
isExternal: false,
|
|
12388
12413
|
get isIncluded() {
|
|
12389
|
-
if (
|
|
12414
|
+
if (graph.phase !== BuildPhase.GENERATE) {
|
|
12390
12415
|
return null;
|
|
12391
12416
|
}
|
|
12392
12417
|
return module.isIncluded();
|
|
12393
12418
|
},
|
|
12394
12419
|
meta: { ...meta },
|
|
12420
|
+
moduleSideEffects,
|
|
12395
12421
|
syntheticNamedExports
|
|
12396
12422
|
};
|
|
12423
|
+
// Hide the deprecated key so that it only warns when accessed explicitly
|
|
12424
|
+
Object.defineProperty(this.info, 'hasModuleSideEffects', {
|
|
12425
|
+
...Object.getOwnPropertyDescriptor(this.info, 'hasModuleSideEffects'),
|
|
12426
|
+
enumerable: false
|
|
12427
|
+
});
|
|
12397
12428
|
}
|
|
12398
12429
|
basename() {
|
|
12399
12430
|
const base = require$$0.basename(this.id);
|
|
@@ -12428,6 +12459,11 @@ class Module {
|
|
|
12428
12459
|
allExportNames.add(name);
|
|
12429
12460
|
}
|
|
12430
12461
|
}
|
|
12462
|
+
// We do not count the synthetic namespace as a regular export to hide it
|
|
12463
|
+
// from entry signatures and namespace objects
|
|
12464
|
+
if (typeof this.info.syntheticNamedExports === 'string') {
|
|
12465
|
+
allExportNames.delete(this.info.syntheticNamedExports);
|
|
12466
|
+
}
|
|
12431
12467
|
return allExportNames;
|
|
12432
12468
|
}
|
|
12433
12469
|
getDependenciesToBeIncluded() {
|
|
@@ -12442,7 +12478,7 @@ class Module {
|
|
|
12442
12478
|
this.namespace.included ||
|
|
12443
12479
|
this.implicitlyLoadedAfter.size > 0) {
|
|
12444
12480
|
for (const exportName of [...this.getReexports(), ...this.getExports()]) {
|
|
12445
|
-
const exportedVariable = this.getVariableForExportName(exportName);
|
|
12481
|
+
const [exportedVariable] = this.getVariableForExportName(exportName);
|
|
12446
12482
|
if (exportedVariable) {
|
|
12447
12483
|
dependencyVariables.add(exportedVariable);
|
|
12448
12484
|
}
|
|
@@ -12463,7 +12499,7 @@ class Module {
|
|
|
12463
12499
|
}
|
|
12464
12500
|
necessaryDependencies.add(variable.module);
|
|
12465
12501
|
}
|
|
12466
|
-
if (!this.options.treeshake || this.info.
|
|
12502
|
+
if (!this.options.treeshake || this.info.moduleSideEffects === 'no-treeshake') {
|
|
12467
12503
|
for (const dependency of this.dependencies) {
|
|
12468
12504
|
relevantDependencies.add(dependency);
|
|
12469
12505
|
}
|
|
@@ -12482,9 +12518,7 @@ class Module {
|
|
|
12482
12518
|
}
|
|
12483
12519
|
const exportNamesByVariable = new Map();
|
|
12484
12520
|
for (const exportName of this.getAllExportNames()) {
|
|
12485
|
-
|
|
12486
|
-
continue;
|
|
12487
|
-
let tracedVariable = this.getVariableForExportName(exportName);
|
|
12521
|
+
let [tracedVariable] = this.getVariableForExportName(exportName);
|
|
12488
12522
|
if (tracedVariable instanceof ExportDefaultVariable) {
|
|
12489
12523
|
tracedVariable = tracedVariable.getOriginalVariable();
|
|
12490
12524
|
}
|
|
@@ -12533,7 +12567,7 @@ class Module {
|
|
|
12533
12567
|
const renderedExports = [];
|
|
12534
12568
|
const removedExports = [];
|
|
12535
12569
|
for (const exportName in this.exports) {
|
|
12536
|
-
const variable = this.getVariableForExportName(exportName);
|
|
12570
|
+
const [variable] = this.getVariableForExportName(exportName);
|
|
12537
12571
|
(variable && variable.included ? renderedExports : removedExports).push(exportName);
|
|
12538
12572
|
}
|
|
12539
12573
|
return { removedExports, renderedExports };
|
|
@@ -12541,20 +12575,20 @@ class Module {
|
|
|
12541
12575
|
getSyntheticNamespace() {
|
|
12542
12576
|
if (this.syntheticNamespace === null) {
|
|
12543
12577
|
this.syntheticNamespace = undefined;
|
|
12544
|
-
this.syntheticNamespace = this.getVariableForExportName(typeof this.info.syntheticNamedExports === 'string'
|
|
12578
|
+
[this.syntheticNamespace] = this.getVariableForExportName(typeof this.info.syntheticNamedExports === 'string'
|
|
12545
12579
|
? this.info.syntheticNamedExports
|
|
12546
|
-
: 'default');
|
|
12580
|
+
: 'default', { onlyExplicit: true });
|
|
12547
12581
|
}
|
|
12548
12582
|
if (!this.syntheticNamespace) {
|
|
12549
12583
|
return error(errSyntheticNamedExportsNeedNamespaceExport(this.id, this.info.syntheticNamedExports));
|
|
12550
12584
|
}
|
|
12551
12585
|
return this.syntheticNamespace;
|
|
12552
12586
|
}
|
|
12553
|
-
getVariableForExportName(name, { importerForSideEffects, isExportAllSearch,
|
|
12587
|
+
getVariableForExportName(name, { importerForSideEffects, isExportAllSearch, onlyExplicit, searchedNamesAndModules } = EMPTY_OBJECT) {
|
|
12554
12588
|
if (name[0] === '*') {
|
|
12555
12589
|
if (name.length === 1) {
|
|
12556
12590
|
// export * from './other'
|
|
12557
|
-
return this.namespace;
|
|
12591
|
+
return [this.namespace];
|
|
12558
12592
|
}
|
|
12559
12593
|
else {
|
|
12560
12594
|
// export * from 'external'
|
|
@@ -12565,19 +12599,19 @@ class Module {
|
|
|
12565
12599
|
// export { foo } from './other'
|
|
12566
12600
|
const reexportDeclaration = this.reexportDescriptions[name];
|
|
12567
12601
|
if (reexportDeclaration) {
|
|
12568
|
-
const variable = getVariableForExportNameRecursive(reexportDeclaration.module, reexportDeclaration.localName, importerForSideEffects, false, searchedNamesAndModules
|
|
12602
|
+
const [variable] = getVariableForExportNameRecursive(reexportDeclaration.module, reexportDeclaration.localName, importerForSideEffects, false, searchedNamesAndModules);
|
|
12569
12603
|
if (!variable) {
|
|
12570
12604
|
return this.error(errMissingExport(reexportDeclaration.localName, this.id, reexportDeclaration.module.id), reexportDeclaration.start);
|
|
12571
12605
|
}
|
|
12572
12606
|
if (importerForSideEffects) {
|
|
12573
12607
|
setAlternativeExporterIfCyclic(variable, importerForSideEffects, this);
|
|
12574
12608
|
}
|
|
12575
|
-
return variable;
|
|
12609
|
+
return [variable];
|
|
12576
12610
|
}
|
|
12577
12611
|
const exportDeclaration = this.exports[name];
|
|
12578
12612
|
if (exportDeclaration) {
|
|
12579
12613
|
if (exportDeclaration === MISSING_EXPORT_SHIM_DESCRIPTION) {
|
|
12580
|
-
return this.exportShimVariable;
|
|
12614
|
+
return [this.exportShimVariable];
|
|
12581
12615
|
}
|
|
12582
12616
|
const name = exportDeclaration.localName;
|
|
12583
12617
|
const variable = this.traceVariable(name, importerForSideEffects);
|
|
@@ -12585,41 +12619,37 @@ class Module {
|
|
|
12585
12619
|
getOrCreate(importerForSideEffects.sideEffectDependenciesByVariable, variable, () => new Set()).add(this);
|
|
12586
12620
|
setAlternativeExporterIfCyclic(variable, importerForSideEffects, this);
|
|
12587
12621
|
}
|
|
12588
|
-
return variable;
|
|
12622
|
+
return [variable];
|
|
12623
|
+
}
|
|
12624
|
+
if (onlyExplicit) {
|
|
12625
|
+
return [null];
|
|
12589
12626
|
}
|
|
12590
12627
|
if (name !== 'default') {
|
|
12591
12628
|
const foundNamespaceReexport = name in this.namespaceReexportsByName
|
|
12592
12629
|
? this.namespaceReexportsByName[name]
|
|
12593
|
-
: this.getVariableFromNamespaceReexports(name, importerForSideEffects, searchedNamesAndModules
|
|
12594
|
-
|
|
12595
|
-
|
|
12596
|
-
}
|
|
12597
|
-
if (foundNamespaceReexport) {
|
|
12630
|
+
: this.getVariableFromNamespaceReexports(name, importerForSideEffects, searchedNamesAndModules);
|
|
12631
|
+
this.namespaceReexportsByName[name] = foundNamespaceReexport;
|
|
12632
|
+
if (foundNamespaceReexport[0]) {
|
|
12598
12633
|
return foundNamespaceReexport;
|
|
12599
12634
|
}
|
|
12600
12635
|
}
|
|
12601
12636
|
if (this.info.syntheticNamedExports) {
|
|
12602
|
-
|
|
12603
|
-
|
|
12604
|
-
|
|
12605
|
-
syntheticExport = new SyntheticNamedExportVariable(this.astContext, name, syntheticNamespace);
|
|
12606
|
-
this.syntheticExports.set(name, syntheticExport);
|
|
12607
|
-
return syntheticExport;
|
|
12608
|
-
}
|
|
12609
|
-
return syntheticExport;
|
|
12637
|
+
return [
|
|
12638
|
+
getOrCreate(this.syntheticExports, name, () => new SyntheticNamedExportVariable(this.astContext, name, this.getSyntheticNamespace()))
|
|
12639
|
+
];
|
|
12610
12640
|
}
|
|
12611
12641
|
// we don't want to create shims when we are just
|
|
12612
12642
|
// probing export * modules for exports
|
|
12613
12643
|
if (!isExportAllSearch) {
|
|
12614
12644
|
if (this.options.shimMissingExports) {
|
|
12615
12645
|
this.shimMissingExport(name);
|
|
12616
|
-
return this.exportShimVariable;
|
|
12646
|
+
return [this.exportShimVariable];
|
|
12617
12647
|
}
|
|
12618
12648
|
}
|
|
12619
|
-
return null;
|
|
12649
|
+
return [null];
|
|
12620
12650
|
}
|
|
12621
12651
|
hasEffects() {
|
|
12622
|
-
return (this.info.
|
|
12652
|
+
return (this.info.moduleSideEffects === 'no-treeshake' ||
|
|
12623
12653
|
(this.ast.included && this.ast.hasEffects(createHasEffectsContext())));
|
|
12624
12654
|
}
|
|
12625
12655
|
include() {
|
|
@@ -12634,7 +12664,7 @@ class Module {
|
|
|
12634
12664
|
}
|
|
12635
12665
|
for (const exportName of this.getExports()) {
|
|
12636
12666
|
if (includeNamespaceMembers || exportName !== this.info.syntheticNamedExports) {
|
|
12637
|
-
const variable = this.getVariableForExportName(exportName);
|
|
12667
|
+
const variable = this.getVariableForExportName(exportName)[0];
|
|
12638
12668
|
variable.deoptimizePath(UNKNOWN_PATH);
|
|
12639
12669
|
if (!variable.included) {
|
|
12640
12670
|
this.includeVariable(variable);
|
|
@@ -12642,7 +12672,7 @@ class Module {
|
|
|
12642
12672
|
}
|
|
12643
12673
|
}
|
|
12644
12674
|
for (const name of this.getReexports()) {
|
|
12645
|
-
const variable = this.getVariableForExportName(name);
|
|
12675
|
+
const [variable] = this.getVariableForExportName(name);
|
|
12646
12676
|
if (variable) {
|
|
12647
12677
|
variable.deoptimizePath(UNKNOWN_PATH);
|
|
12648
12678
|
if (!variable.included) {
|
|
@@ -12667,11 +12697,6 @@ class Module {
|
|
|
12667
12697
|
linkImports() {
|
|
12668
12698
|
this.addModulesToImportDescriptions(this.importDescriptions);
|
|
12669
12699
|
this.addModulesToImportDescriptions(this.reexportDescriptions);
|
|
12670
|
-
for (const name in this.exports) {
|
|
12671
|
-
if (name !== 'default' && name !== this.info.syntheticNamedExports) {
|
|
12672
|
-
this.exportsAll[name] = this.id;
|
|
12673
|
-
}
|
|
12674
|
-
}
|
|
12675
12700
|
const externalExportAllModules = [];
|
|
12676
12701
|
for (const source of this.exportAllSources) {
|
|
12677
12702
|
const module = this.graph.modulesById.get(this.resolvedIds[source].id);
|
|
@@ -12680,14 +12705,6 @@ class Module {
|
|
|
12680
12705
|
continue;
|
|
12681
12706
|
}
|
|
12682
12707
|
this.exportAllModules.push(module);
|
|
12683
|
-
for (const name in module.exportsAll) {
|
|
12684
|
-
if (name in this.exportsAll) {
|
|
12685
|
-
this.options.onwarn(errNamespaceConflict(name, this, module));
|
|
12686
|
-
}
|
|
12687
|
-
else {
|
|
12688
|
-
this.exportsAll[name] = module.exportsAll[name];
|
|
12689
|
-
}
|
|
12690
|
-
}
|
|
12691
12708
|
}
|
|
12692
12709
|
this.exportAllModules.push(...externalExportAllModules);
|
|
12693
12710
|
}
|
|
@@ -12745,7 +12762,7 @@ class Module {
|
|
|
12745
12762
|
moduleContext: this.context,
|
|
12746
12763
|
options: this.options,
|
|
12747
12764
|
requestTreeshakingPass: () => (this.graph.needsTreeshakingPass = true),
|
|
12748
|
-
traceExport: this.getVariableForExportName
|
|
12765
|
+
traceExport: (name) => this.getVariableForExportName(name)[0],
|
|
12749
12766
|
traceVariable: this.traceVariable.bind(this),
|
|
12750
12767
|
usesTopLevelAwait: false,
|
|
12751
12768
|
warn: this.warn.bind(this)
|
|
@@ -12764,7 +12781,7 @@ class Module {
|
|
|
12764
12781
|
dependencies: Array.from(this.dependencies, getId),
|
|
12765
12782
|
id: this.id,
|
|
12766
12783
|
meta: this.info.meta,
|
|
12767
|
-
moduleSideEffects: this.info.
|
|
12784
|
+
moduleSideEffects: this.info.moduleSideEffects,
|
|
12768
12785
|
originalCode: this.originalCode,
|
|
12769
12786
|
originalSourcemap: this.originalSourcemap,
|
|
12770
12787
|
resolvedIds: this.resolvedIds,
|
|
@@ -12785,7 +12802,7 @@ class Module {
|
|
|
12785
12802
|
if (otherModule instanceof Module && importDeclaration.name === '*') {
|
|
12786
12803
|
return otherModule.namespace;
|
|
12787
12804
|
}
|
|
12788
|
-
const declaration = otherModule.getVariableForExportName(importDeclaration.name, {
|
|
12805
|
+
const [declaration] = otherModule.getVariableForExportName(importDeclaration.name, {
|
|
12789
12806
|
importerForSideEffects: importerForSideEffects || this
|
|
12790
12807
|
});
|
|
12791
12808
|
if (!declaration) {
|
|
@@ -12816,7 +12833,7 @@ class Module {
|
|
|
12816
12833
|
}
|
|
12817
12834
|
updateOptions({ meta, moduleSideEffects, syntheticNamedExports }) {
|
|
12818
12835
|
if (moduleSideEffects != null) {
|
|
12819
|
-
this.info.
|
|
12836
|
+
this.info.moduleSideEffects = moduleSideEffects;
|
|
12820
12837
|
}
|
|
12821
12838
|
if (syntheticNamedExports != null) {
|
|
12822
12839
|
this.info.syntheticNamedExports = syntheticNamedExports;
|
|
@@ -12970,7 +12987,7 @@ class Module {
|
|
|
12970
12987
|
relevantDependencies.add(dependency);
|
|
12971
12988
|
continue;
|
|
12972
12989
|
}
|
|
12973
|
-
if (!(dependency.info.
|
|
12990
|
+
if (!(dependency.info.moduleSideEffects || alwaysCheckedDependencies.has(dependency))) {
|
|
12974
12991
|
continue;
|
|
12975
12992
|
}
|
|
12976
12993
|
if (dependency instanceof ExternalModule || dependency.hasEffects()) {
|
|
@@ -12983,58 +13000,57 @@ class Module {
|
|
|
12983
13000
|
addSideEffectDependencies(this.dependencies);
|
|
12984
13001
|
addSideEffectDependencies(alwaysCheckedDependencies);
|
|
12985
13002
|
}
|
|
12986
|
-
getVariableFromNamespaceReexports(name, importerForSideEffects, searchedNamesAndModules
|
|
13003
|
+
getVariableFromNamespaceReexports(name, importerForSideEffects, searchedNamesAndModules) {
|
|
12987
13004
|
let foundSyntheticDeclaration = null;
|
|
12988
|
-
const
|
|
12989
|
-
|
|
12990
|
-
|
|
12991
|
-
|
|
12992
|
-
|
|
12993
|
-
|
|
12994
|
-
skipExternalNamespaceValues.push({
|
|
12995
|
-
searchedNamesAndModules: clonedSearchedNamesAndModules,
|
|
12996
|
-
skipExternalNamespaces: false
|
|
12997
|
-
});
|
|
12998
|
-
}
|
|
12999
|
-
for (const { skipExternalNamespaces, searchedNamesAndModules } of skipExternalNamespaceValues) {
|
|
13000
|
-
const foundDeclarations = new Set();
|
|
13001
|
-
for (const module of this.exportAllModules) {
|
|
13002
|
-
if (module instanceof Module || !skipExternalNamespaces) {
|
|
13003
|
-
const declaration = getVariableForExportNameRecursive(module, name, importerForSideEffects, true, searchedNamesAndModules, skipExternalNamespaces);
|
|
13004
|
-
if (declaration) {
|
|
13005
|
-
if (!(declaration instanceof SyntheticNamedExportVariable)) {
|
|
13006
|
-
foundDeclarations.add(declaration);
|
|
13007
|
-
}
|
|
13008
|
-
else if (!foundSyntheticDeclaration) {
|
|
13009
|
-
foundSyntheticDeclaration = declaration;
|
|
13010
|
-
}
|
|
13011
|
-
}
|
|
13012
|
-
}
|
|
13005
|
+
const foundInternalDeclarations = new Map();
|
|
13006
|
+
const foundExternalDeclarations = new Set();
|
|
13007
|
+
for (const module of this.exportAllModules) {
|
|
13008
|
+
// Synthetic namespaces should not hide "regular" exports of the same name
|
|
13009
|
+
if (module.info.syntheticNamedExports === name) {
|
|
13010
|
+
continue;
|
|
13013
13011
|
}
|
|
13014
|
-
|
|
13015
|
-
|
|
13012
|
+
const [variable, indirectExternal] = getVariableForExportNameRecursive(module, name, importerForSideEffects, true, searchedNamesAndModules);
|
|
13013
|
+
if (module instanceof ExternalModule || indirectExternal) {
|
|
13014
|
+
foundExternalDeclarations.add(variable);
|
|
13016
13015
|
}
|
|
13017
|
-
if (
|
|
13018
|
-
if (
|
|
13019
|
-
|
|
13016
|
+
else if (variable instanceof SyntheticNamedExportVariable) {
|
|
13017
|
+
if (!foundSyntheticDeclaration) {
|
|
13018
|
+
foundSyntheticDeclaration = variable;
|
|
13020
13019
|
}
|
|
13021
|
-
|
|
13022
|
-
|
|
13020
|
+
}
|
|
13021
|
+
else if (variable) {
|
|
13022
|
+
foundInternalDeclarations.set(variable, module);
|
|
13023
|
+
}
|
|
13024
|
+
}
|
|
13025
|
+
if (foundInternalDeclarations.size > 0) {
|
|
13026
|
+
const foundDeclarationList = [...foundInternalDeclarations];
|
|
13027
|
+
const usedDeclaration = foundDeclarationList[0][0];
|
|
13028
|
+
if (foundDeclarationList.length === 1) {
|
|
13029
|
+
return [usedDeclaration];
|
|
13030
|
+
}
|
|
13031
|
+
this.options.onwarn(errNamespaceConflict(name, this.id, foundDeclarationList.map(([, module]) => module.id)));
|
|
13032
|
+
// TODO we are pretending it was not found while it should behave like "undefined"
|
|
13033
|
+
return [null];
|
|
13034
|
+
}
|
|
13035
|
+
if (foundExternalDeclarations.size > 0) {
|
|
13036
|
+
const foundDeclarationList = [...foundExternalDeclarations];
|
|
13037
|
+
const usedDeclaration = foundDeclarationList[0];
|
|
13038
|
+
if (foundDeclarationList.length > 1) {
|
|
13023
13039
|
this.options.onwarn(errAmbiguousExternalNamespaces(name, this.id, usedDeclaration.module.id, foundDeclarationList.map(declaration => declaration.module.id)));
|
|
13024
|
-
return usedDeclaration;
|
|
13025
13040
|
}
|
|
13041
|
+
return [usedDeclaration, true];
|
|
13026
13042
|
}
|
|
13027
13043
|
if (foundSyntheticDeclaration) {
|
|
13028
|
-
return foundSyntheticDeclaration;
|
|
13044
|
+
return [foundSyntheticDeclaration];
|
|
13029
13045
|
}
|
|
13030
|
-
return null;
|
|
13046
|
+
return [null];
|
|
13031
13047
|
}
|
|
13032
13048
|
includeAndGetAdditionalMergedNamespaces() {
|
|
13033
13049
|
const externalNamespaces = new Set();
|
|
13034
13050
|
const syntheticNamespaces = new Set();
|
|
13035
13051
|
for (const module of [this, ...this.exportAllModules]) {
|
|
13036
13052
|
if (module instanceof ExternalModule) {
|
|
13037
|
-
const externalVariable = module.getVariableForExportName('*');
|
|
13053
|
+
const [externalVariable] = module.getVariableForExportName('*');
|
|
13038
13054
|
externalVariable.include();
|
|
13039
13055
|
this.imports.add(externalVariable);
|
|
13040
13056
|
externalNamespaces.add(externalVariable);
|
|
@@ -14022,10 +14038,8 @@ function collapseSourcemaps(file, map, modules, bundleSourcemapChain, excludeCon
|
|
|
14022
14038
|
const moduleSources = modules
|
|
14023
14039
|
.filter(module => !module.excludeFromSourcemap)
|
|
14024
14040
|
.map(module => getCollapsedSourcemap(module.id, module.originalCode, module.originalSourcemap, module.sourcemapChain, linkMap));
|
|
14025
|
-
|
|
14026
|
-
|
|
14027
|
-
let source = new Link(map, moduleSources);
|
|
14028
|
-
source = bundleSourcemapChain.reduce(linkMap, source);
|
|
14041
|
+
const link = new Link(map, moduleSources);
|
|
14042
|
+
const source = bundleSourcemapChain.reduce(linkMap, link);
|
|
14029
14043
|
let { sources, sourcesContent, names, mappings } = source.traceMappings();
|
|
14030
14044
|
if (file) {
|
|
14031
14045
|
const directory = require$$0.dirname(file);
|
|
@@ -14177,7 +14191,7 @@ function assignExportsToMangledNames(exports, exportsByName, exportNamesByVariab
|
|
|
14177
14191
|
let nameIndex = 0;
|
|
14178
14192
|
for (const variable of exports) {
|
|
14179
14193
|
let [exportName] = variable.name;
|
|
14180
|
-
if (exportsByName
|
|
14194
|
+
if (exportsByName.has(exportName)) {
|
|
14181
14195
|
do {
|
|
14182
14196
|
exportName = toBase64(++nameIndex);
|
|
14183
14197
|
// skip past leading number identifiers
|
|
@@ -14185,9 +14199,9 @@ function assignExportsToMangledNames(exports, exportsByName, exportNamesByVariab
|
|
|
14185
14199
|
nameIndex += 9 * 64 ** (exportName.length - 1);
|
|
14186
14200
|
exportName = toBase64(nameIndex);
|
|
14187
14201
|
}
|
|
14188
|
-
} while (RESERVED_NAMES$1.has(exportName) || exportsByName
|
|
14202
|
+
} while (RESERVED_NAMES$1.has(exportName) || exportsByName.has(exportName));
|
|
14189
14203
|
}
|
|
14190
|
-
exportsByName
|
|
14204
|
+
exportsByName.set(exportName, variable);
|
|
14191
14205
|
exportNamesByVariable.set(variable, [exportName]);
|
|
14192
14206
|
}
|
|
14193
14207
|
}
|
|
@@ -14195,10 +14209,10 @@ function assignExportsToNames(exports, exportsByName, exportNamesByVariable) {
|
|
|
14195
14209
|
for (const variable of exports) {
|
|
14196
14210
|
let nameIndex = 0;
|
|
14197
14211
|
let exportName = variable.name;
|
|
14198
|
-
while (exportsByName
|
|
14212
|
+
while (exportsByName.has(exportName)) {
|
|
14199
14213
|
exportName = variable.name + '$' + ++nameIndex;
|
|
14200
14214
|
}
|
|
14201
|
-
exportsByName
|
|
14215
|
+
exportsByName.set(exportName, variable);
|
|
14202
14216
|
exportNamesByVariable.set(variable, [exportName]);
|
|
14203
14217
|
}
|
|
14204
14218
|
}
|
|
@@ -14316,13 +14330,7 @@ function decodedSourcemap(map) {
|
|
|
14316
14330
|
version: 3
|
|
14317
14331
|
};
|
|
14318
14332
|
}
|
|
14319
|
-
|
|
14320
|
-
if (typeof map.mappings === 'string') {
|
|
14321
|
-
mappings = decode(map.mappings);
|
|
14322
|
-
}
|
|
14323
|
-
else {
|
|
14324
|
-
mappings = map.mappings;
|
|
14325
|
-
}
|
|
14333
|
+
const mappings = typeof map.mappings === 'string' ? decode(map.mappings) : map.mappings;
|
|
14326
14334
|
return { ...map, mappings };
|
|
14327
14335
|
}
|
|
14328
14336
|
|
|
@@ -14412,7 +14420,7 @@ class Chunk {
|
|
|
14412
14420
|
this.dynamicName = null;
|
|
14413
14421
|
this.exportNamesByVariable = new Map();
|
|
14414
14422
|
this.exports = new Set();
|
|
14415
|
-
this.exportsByName =
|
|
14423
|
+
this.exportsByName = new Map();
|
|
14416
14424
|
this.fileName = null;
|
|
14417
14425
|
this.implicitEntryModules = [];
|
|
14418
14426
|
this.implicitlyLoadedBefore = new Set();
|
|
@@ -14468,7 +14476,7 @@ class Chunk {
|
|
|
14468
14476
|
chunk.dependencies.add(dependency instanceof Module ? chunkByModule.get(dependency) : dependency);
|
|
14469
14477
|
}
|
|
14470
14478
|
if (!chunk.dependencies.has(chunkByModule.get(facadedModule)) &&
|
|
14471
|
-
facadedModule.info.
|
|
14479
|
+
facadedModule.info.moduleSideEffects &&
|
|
14472
14480
|
facadedModule.hasEffects()) {
|
|
14473
14481
|
chunk.dependencies.add(chunkByModule.get(facadedModule));
|
|
14474
14482
|
}
|
|
@@ -14511,7 +14519,7 @@ class Chunk {
|
|
|
14511
14519
|
for (const [variable, exportNames] of exportNamesByVariable) {
|
|
14512
14520
|
this.exportNamesByVariable.set(variable, [...exportNames]);
|
|
14513
14521
|
for (const exportName of exportNames) {
|
|
14514
|
-
this.exportsByName
|
|
14522
|
+
this.exportsByName.set(exportName, variable);
|
|
14515
14523
|
}
|
|
14516
14524
|
remainingExports.delete(variable);
|
|
14517
14525
|
}
|
|
@@ -14605,15 +14613,15 @@ class Chunk {
|
|
|
14605
14613
|
}
|
|
14606
14614
|
generateIdPreserveModules(preserveModulesRelativeDir, options, existingNames, unsetOptions) {
|
|
14607
14615
|
const [{ id }] = this.orderedModules;
|
|
14608
|
-
const sanitizedId = this.outputOptions.sanitizeFileName(id);
|
|
14616
|
+
const sanitizedId = this.outputOptions.sanitizeFileName(id.split(QUERY_HASH_REGEX, 1)[0]);
|
|
14609
14617
|
let path;
|
|
14610
14618
|
const patternOpt = unsetOptions.has('entryFileNames')
|
|
14611
14619
|
? '[name][assetExtname].js'
|
|
14612
14620
|
: options.entryFileNames;
|
|
14613
14621
|
const pattern = typeof patternOpt === 'function' ? patternOpt(this.getChunkInfo()) : patternOpt;
|
|
14614
|
-
if (isAbsolute(
|
|
14622
|
+
if (isAbsolute(sanitizedId)) {
|
|
14615
14623
|
const currentDir = require$$0.dirname(sanitizedId);
|
|
14616
|
-
const extension = require$$0.extname(
|
|
14624
|
+
const extension = require$$0.extname(sanitizedId);
|
|
14617
14625
|
const fileName = renderNamePattern(pattern, 'output.entryFileNames', {
|
|
14618
14626
|
assetExtname: () => (NON_ASSET_EXTENSIONS.includes(extension) ? '' : extension),
|
|
14619
14627
|
ext: () => extension.substr(1),
|
|
@@ -14672,10 +14680,12 @@ class Chunk {
|
|
|
14672
14680
|
});
|
|
14673
14681
|
}
|
|
14674
14682
|
getChunkName() {
|
|
14675
|
-
|
|
14683
|
+
var _a;
|
|
14684
|
+
return ((_a = this.name) !== null && _a !== void 0 ? _a : (this.name = this.outputOptions.sanitizeFileName(this.getFallbackChunkName())));
|
|
14676
14685
|
}
|
|
14677
14686
|
getExportNames() {
|
|
14678
|
-
|
|
14687
|
+
var _a;
|
|
14688
|
+
return ((_a = this.sortedExportNames) !== null && _a !== void 0 ? _a : (this.sortedExportNames = Array.from(this.exportsByName.keys()).sort()));
|
|
14679
14689
|
}
|
|
14680
14690
|
getRenderedHash() {
|
|
14681
14691
|
if (this.renderedHash)
|
|
@@ -14691,7 +14701,7 @@ class Chunk {
|
|
|
14691
14701
|
hash.update(this.renderedSource.toString());
|
|
14692
14702
|
hash.update(this.getExportNames()
|
|
14693
14703
|
.map(exportName => {
|
|
14694
|
-
const variable = this.exportsByName
|
|
14704
|
+
const variable = this.exportsByName.get(exportName);
|
|
14695
14705
|
return `${relativeId(variable.module.id).replace(/\\/g, '/')}:${variable.name}:${exportName}`;
|
|
14696
14706
|
})
|
|
14697
14707
|
.join(','));
|
|
@@ -14950,12 +14960,12 @@ class Chunk {
|
|
|
14950
14960
|
}
|
|
14951
14961
|
computeContentHashWithDependencies(addons, options, existingNames) {
|
|
14952
14962
|
const hash = createHash();
|
|
14953
|
-
hash.update([addons.intro, addons.outro, addons.banner, addons.footer].
|
|
14963
|
+
hash.update([addons.intro, addons.outro, addons.banner, addons.footer].join(':'));
|
|
14954
14964
|
hash.update(options.format);
|
|
14955
14965
|
const dependenciesForHashing = new Set([this]);
|
|
14956
14966
|
for (const current of dependenciesForHashing) {
|
|
14957
14967
|
if (current instanceof ExternalModule) {
|
|
14958
|
-
hash.update(
|
|
14968
|
+
hash.update(`:${current.renderPath}`);
|
|
14959
14969
|
}
|
|
14960
14970
|
else {
|
|
14961
14971
|
hash.update(current.getRenderedHash());
|
|
@@ -15062,7 +15072,7 @@ class Chunk {
|
|
|
15062
15072
|
for (const exportName of this.getExportNames()) {
|
|
15063
15073
|
if (exportName[0] === '*')
|
|
15064
15074
|
continue;
|
|
15065
|
-
const variable = this.exportsByName
|
|
15075
|
+
const variable = this.exportsByName.get(exportName);
|
|
15066
15076
|
if (!(variable instanceof SyntheticNamedExportVariable)) {
|
|
15067
15077
|
const module = variable.module;
|
|
15068
15078
|
if (module && this.chunkByModule.get(module) !== this)
|
|
@@ -15210,7 +15220,7 @@ class Chunk {
|
|
|
15210
15220
|
imported = exportName = '*';
|
|
15211
15221
|
}
|
|
15212
15222
|
else {
|
|
15213
|
-
const variable = this.exportsByName
|
|
15223
|
+
const variable = this.exportsByName.get(exportName);
|
|
15214
15224
|
if (variable instanceof SyntheticNamedExportVariable)
|
|
15215
15225
|
continue;
|
|
15216
15226
|
const module = variable.module;
|
|
@@ -15311,7 +15321,7 @@ class Chunk {
|
|
|
15311
15321
|
setIdentifierRenderResolutions({ format, interop, namespaceToStringTag }) {
|
|
15312
15322
|
const syntheticExports = new Set();
|
|
15313
15323
|
for (const exportName of this.getExportNames()) {
|
|
15314
|
-
const exportVariable = this.exportsByName
|
|
15324
|
+
const exportVariable = this.exportsByName.get(exportName);
|
|
15315
15325
|
if (format !== 'es' &&
|
|
15316
15326
|
format !== 'system' &&
|
|
15317
15327
|
exportVariable.isReassigned &&
|
|
@@ -15403,6 +15413,7 @@ class Chunk {
|
|
|
15403
15413
|
function getChunkNameFromModule(module) {
|
|
15404
15414
|
return module.chunkName || getAliasName(module.id);
|
|
15405
15415
|
}
|
|
15416
|
+
const QUERY_HASH_REGEX = /[?#]/;
|
|
15406
15417
|
|
|
15407
15418
|
function generateAssetFileName(name, source, outputOptions, bundle) {
|
|
15408
15419
|
const emittedName = outputOptions.sanitizeFileName(name || 'asset');
|
|
@@ -16179,8 +16190,8 @@ var keywordRelationalOperator = /^in(stanceof)?$/;
|
|
|
16179
16190
|
// are only applied when a character is found to actually have a
|
|
16180
16191
|
// code point above 128.
|
|
16181
16192
|
// Generated by `bin/generate-identifier-regex.js`.
|
|
16182
|
-
var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\
|
|
16183
|
-
var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\
|
|
16193
|
+
var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
|
|
16194
|
+
var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";
|
|
16184
16195
|
|
|
16185
16196
|
var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
|
|
16186
16197
|
var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
|
|
@@ -16194,10 +16205,10 @@ nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
|
|
|
16194
16205
|
// generated by bin/generate-identifier-regex.js
|
|
16195
16206
|
|
|
16196
16207
|
// eslint-disable-next-line comma-spacing
|
|
16197
|
-
var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,
|
|
16208
|
+
var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938];
|
|
16198
16209
|
|
|
16199
16210
|
// eslint-disable-next-line comma-spacing
|
|
16200
|
-
var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,
|
|
16211
|
+
var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239];
|
|
16201
16212
|
|
|
16202
16213
|
// This has a complexity linear to the value of the code. The
|
|
16203
16214
|
// assumption is that looking up astral identifier characters is
|
|
@@ -16402,6 +16413,17 @@ function isNewLine(code) {
|
|
|
16402
16413
|
return code === 10 || code === 13 || code === 0x2028 || code === 0x2029
|
|
16403
16414
|
}
|
|
16404
16415
|
|
|
16416
|
+
function nextLineBreak(code, from, end) {
|
|
16417
|
+
if ( end === void 0 ) end = code.length;
|
|
16418
|
+
|
|
16419
|
+
for (var i = from; i < end; i++) {
|
|
16420
|
+
var next = code.charCodeAt(i);
|
|
16421
|
+
if (isNewLine(next))
|
|
16422
|
+
{ return i < end - 1 && next === 13 && code.charCodeAt(i + 1) === 10 ? i + 2 : i + 1 }
|
|
16423
|
+
}
|
|
16424
|
+
return -1
|
|
16425
|
+
}
|
|
16426
|
+
|
|
16405
16427
|
var nonASCIIwhitespace = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/;
|
|
16406
16428
|
|
|
16407
16429
|
var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;
|
|
@@ -16410,11 +16432,9 @@ var ref = Object.prototype;
|
|
|
16410
16432
|
var hasOwnProperty = ref.hasOwnProperty;
|
|
16411
16433
|
var toString = ref.toString;
|
|
16412
16434
|
|
|
16413
|
-
|
|
16414
|
-
|
|
16415
|
-
|
|
16416
|
-
return hasOwnProperty.call(obj, propName)
|
|
16417
|
-
}
|
|
16435
|
+
var hasOwn = Object.hasOwn || (function (obj, propName) { return (
|
|
16436
|
+
hasOwnProperty.call(obj, propName)
|
|
16437
|
+
); });
|
|
16418
16438
|
|
|
16419
16439
|
var isArray = Array.isArray || (function (obj) { return (
|
|
16420
16440
|
toString.call(obj) === "[object Array]"
|
|
@@ -16424,6 +16444,8 @@ function wordsRegexp(words) {
|
|
|
16424
16444
|
return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$")
|
|
16425
16445
|
}
|
|
16426
16446
|
|
|
16447
|
+
var loneSurrogate = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/;
|
|
16448
|
+
|
|
16427
16449
|
// These are used when `options.locations` is on, for the
|
|
16428
16450
|
// `startLoc` and `endLoc` properties.
|
|
16429
16451
|
|
|
@@ -16450,14 +16472,10 @@ var SourceLocation = function SourceLocation(p, start, end) {
|
|
|
16450
16472
|
|
|
16451
16473
|
function getLineInfo(input, offset) {
|
|
16452
16474
|
for (var line = 1, cur = 0;;) {
|
|
16453
|
-
|
|
16454
|
-
|
|
16455
|
-
|
|
16456
|
-
|
|
16457
|
-
cur = match.index + match[0].length;
|
|
16458
|
-
} else {
|
|
16459
|
-
return new Position(line, offset - cur)
|
|
16460
|
-
}
|
|
16475
|
+
var nextBreak = nextLineBreak(input, cur, offset);
|
|
16476
|
+
if (nextBreak < 0) { return new Position(line, offset - cur) }
|
|
16477
|
+
++line;
|
|
16478
|
+
cur = nextBreak;
|
|
16461
16479
|
}
|
|
16462
16480
|
}
|
|
16463
16481
|
|
|
@@ -16563,7 +16581,7 @@ function getOptions(opts) {
|
|
|
16563
16581
|
var options = {};
|
|
16564
16582
|
|
|
16565
16583
|
for (var opt in defaultOptions)
|
|
16566
|
-
{ options[opt] = opts &&
|
|
16584
|
+
{ options[opt] = opts && hasOwn(opts, opt) ? opts[opt] : defaultOptions[opt]; }
|
|
16567
16585
|
|
|
16568
16586
|
if (options.ecmaVersion === "latest") {
|
|
16569
16587
|
options.ecmaVersion = 1e8;
|
|
@@ -17729,7 +17747,7 @@ pp$8.exitClassBody = function() {
|
|
|
17729
17747
|
var parent = len === 0 ? null : this.privateNameStack[len - 1];
|
|
17730
17748
|
for (var i = 0; i < used.length; ++i) {
|
|
17731
17749
|
var id = used[i];
|
|
17732
|
-
if (!
|
|
17750
|
+
if (!hasOwn(declared, id.name)) {
|
|
17733
17751
|
if (parent) {
|
|
17734
17752
|
parent.used.push(id);
|
|
17735
17753
|
} else {
|
|
@@ -17782,7 +17800,7 @@ pp$8.parseExport = function(node, exports) {
|
|
|
17782
17800
|
if (this.eat(types$1.star)) {
|
|
17783
17801
|
if (this.options.ecmaVersion >= 11) {
|
|
17784
17802
|
if (this.eatContextual("as")) {
|
|
17785
|
-
node.exported = this.
|
|
17803
|
+
node.exported = this.parseModuleExportName();
|
|
17786
17804
|
this.checkExport(exports, node.exported.name, this.lastTokStart);
|
|
17787
17805
|
} else {
|
|
17788
17806
|
node.exported = null;
|
|
@@ -17834,6 +17852,10 @@ pp$8.parseExport = function(node, exports) {
|
|
|
17834
17852
|
this.checkUnreserved(spec.local);
|
|
17835
17853
|
// check if export is defined
|
|
17836
17854
|
this.checkLocalExport(spec.local);
|
|
17855
|
+
|
|
17856
|
+
if (spec.local.type === "Literal") {
|
|
17857
|
+
this.raise(spec.local.start, "A string literal cannot be used as an exported binding without `from`.");
|
|
17858
|
+
}
|
|
17837
17859
|
}
|
|
17838
17860
|
|
|
17839
17861
|
node.source = null;
|
|
@@ -17845,7 +17867,7 @@ pp$8.parseExport = function(node, exports) {
|
|
|
17845
17867
|
|
|
17846
17868
|
pp$8.checkExport = function(exports, name, pos) {
|
|
17847
17869
|
if (!exports) { return }
|
|
17848
|
-
if (
|
|
17870
|
+
if (hasOwn(exports, name))
|
|
17849
17871
|
{ this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
|
|
17850
17872
|
exports[name] = true;
|
|
17851
17873
|
};
|
|
@@ -17909,9 +17931,13 @@ pp$8.parseExportSpecifiers = function(exports) {
|
|
|
17909
17931
|
} else { first = false; }
|
|
17910
17932
|
|
|
17911
17933
|
var node = this.startNode();
|
|
17912
|
-
node.local = this.
|
|
17913
|
-
node.exported = this.eatContextual("as") ? this.
|
|
17914
|
-
this.checkExport(
|
|
17934
|
+
node.local = this.parseModuleExportName();
|
|
17935
|
+
node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
|
|
17936
|
+
this.checkExport(
|
|
17937
|
+
exports,
|
|
17938
|
+
node.exported[node.exported.type === "Identifier" ? "name" : "value"],
|
|
17939
|
+
node.exported.start
|
|
17940
|
+
);
|
|
17915
17941
|
nodes.push(this.finishNode(node, "ExportSpecifier"));
|
|
17916
17942
|
}
|
|
17917
17943
|
return nodes
|
|
@@ -17963,7 +17989,7 @@ pp$8.parseImportSpecifiers = function() {
|
|
|
17963
17989
|
} else { first = false; }
|
|
17964
17990
|
|
|
17965
17991
|
var node$2 = this.startNode();
|
|
17966
|
-
node$2.imported = this.
|
|
17992
|
+
node$2.imported = this.parseModuleExportName();
|
|
17967
17993
|
if (this.eatContextual("as")) {
|
|
17968
17994
|
node$2.local = this.parseIdent();
|
|
17969
17995
|
} else {
|
|
@@ -17976,6 +18002,17 @@ pp$8.parseImportSpecifiers = function() {
|
|
|
17976
18002
|
return nodes
|
|
17977
18003
|
};
|
|
17978
18004
|
|
|
18005
|
+
pp$8.parseModuleExportName = function() {
|
|
18006
|
+
if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
|
|
18007
|
+
var stringLiteral = this.parseLiteral(this.value);
|
|
18008
|
+
if (loneSurrogate.test(stringLiteral.value)) {
|
|
18009
|
+
this.raise(stringLiteral.start, "An export name cannot include a lone surrogate.");
|
|
18010
|
+
}
|
|
18011
|
+
return stringLiteral
|
|
18012
|
+
}
|
|
18013
|
+
return this.parseIdent(true)
|
|
18014
|
+
};
|
|
18015
|
+
|
|
17979
18016
|
// Set `ExpressionStatement#directive` property for directive prologues.
|
|
17980
18017
|
pp$8.adaptDirectivePrologue = function(statements) {
|
|
17981
18018
|
for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {
|
|
@@ -18249,7 +18286,7 @@ pp$7.checkLValSimple = function(expr, bindingType, checkClashes) {
|
|
|
18249
18286
|
if (bindingType === BIND_LEXICAL && expr.name === "let")
|
|
18250
18287
|
{ this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); }
|
|
18251
18288
|
if (checkClashes) {
|
|
18252
|
-
if (
|
|
18289
|
+
if (hasOwn(checkClashes, expr.name))
|
|
18253
18290
|
{ this.raiseRecoverable(expr.start, "Argument name clash"); }
|
|
18254
18291
|
checkClashes[expr.name] = true;
|
|
18255
18292
|
}
|
|
@@ -19744,26 +19781,30 @@ var ecma9BinaryProperties = "ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Ass
|
|
|
19744
19781
|
var ecma10BinaryProperties = ecma9BinaryProperties + " Extended_Pictographic";
|
|
19745
19782
|
var ecma11BinaryProperties = ecma10BinaryProperties;
|
|
19746
19783
|
var ecma12BinaryProperties = ecma11BinaryProperties + " EBase EComp EMod EPres ExtPict";
|
|
19784
|
+
var ecma13BinaryProperties = ecma12BinaryProperties;
|
|
19747
19785
|
var unicodeBinaryProperties = {
|
|
19748
19786
|
9: ecma9BinaryProperties,
|
|
19749
19787
|
10: ecma10BinaryProperties,
|
|
19750
19788
|
11: ecma11BinaryProperties,
|
|
19751
|
-
12: ecma12BinaryProperties
|
|
19789
|
+
12: ecma12BinaryProperties,
|
|
19790
|
+
13: ecma13BinaryProperties
|
|
19752
19791
|
};
|
|
19753
19792
|
|
|
19754
19793
|
// #table-unicode-general-category-values
|
|
19755
19794
|
var unicodeGeneralCategoryValues = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu";
|
|
19756
19795
|
|
|
19757
19796
|
// #table-unicode-script-values
|
|
19758
|
-
var ecma9ScriptValues = "Adlam Adlm Ahom
|
|
19797
|
+
var ecma9ScriptValues = "Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb";
|
|
19759
19798
|
var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd";
|
|
19760
19799
|
var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
|
|
19761
19800
|
var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
|
|
19801
|
+
var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
|
|
19762
19802
|
var unicodeScriptValues = {
|
|
19763
19803
|
9: ecma9ScriptValues,
|
|
19764
19804
|
10: ecma10ScriptValues,
|
|
19765
19805
|
11: ecma11ScriptValues,
|
|
19766
|
-
12: ecma12ScriptValues
|
|
19806
|
+
12: ecma12ScriptValues,
|
|
19807
|
+
13: ecma13ScriptValues
|
|
19767
19808
|
};
|
|
19768
19809
|
|
|
19769
19810
|
var data = {};
|
|
@@ -19781,17 +19822,19 @@ function buildUnicodeData(ecmaVersion) {
|
|
|
19781
19822
|
d.nonBinary.sc = d.nonBinary.Script;
|
|
19782
19823
|
d.nonBinary.scx = d.nonBinary.Script_Extensions;
|
|
19783
19824
|
}
|
|
19784
|
-
|
|
19785
|
-
|
|
19786
|
-
|
|
19787
|
-
|
|
19825
|
+
|
|
19826
|
+
for (var i = 0, list = [9, 10, 11, 12, 13]; i < list.length; i += 1) {
|
|
19827
|
+
var ecmaVersion = list[i];
|
|
19828
|
+
|
|
19829
|
+
buildUnicodeData(ecmaVersion);
|
|
19830
|
+
}
|
|
19788
19831
|
|
|
19789
19832
|
var pp$1 = Parser.prototype;
|
|
19790
19833
|
|
|
19791
19834
|
var RegExpValidationState = function RegExpValidationState(parser) {
|
|
19792
19835
|
this.parser = parser;
|
|
19793
19836
|
this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : "");
|
|
19794
|
-
this.unicodeProperties = data[parser.options.ecmaVersion >=
|
|
19837
|
+
this.unicodeProperties = data[parser.options.ecmaVersion >= 13 ? 13 : parser.options.ecmaVersion];
|
|
19795
19838
|
this.source = "";
|
|
19796
19839
|
this.flags = "";
|
|
19797
19840
|
this.start = 0;
|
|
@@ -20590,7 +20633,7 @@ pp$1.regexp_eatUnicodePropertyValueExpression = function(state) {
|
|
|
20590
20633
|
return false
|
|
20591
20634
|
};
|
|
20592
20635
|
pp$1.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {
|
|
20593
|
-
if (!
|
|
20636
|
+
if (!hasOwn(state.unicodeProperties.nonBinary, name))
|
|
20594
20637
|
{ state.raise("Invalid property name"); }
|
|
20595
20638
|
if (!state.unicodeProperties.nonBinary[name].test(value))
|
|
20596
20639
|
{ state.raise("Invalid property value"); }
|
|
@@ -20942,11 +20985,9 @@ pp.skipBlockComment = function() {
|
|
|
20942
20985
|
if (end === -1) { this.raise(this.pos - 2, "Unterminated comment"); }
|
|
20943
20986
|
this.pos = end + 2;
|
|
20944
20987
|
if (this.options.locations) {
|
|
20945
|
-
|
|
20946
|
-
var match;
|
|
20947
|
-
while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {
|
|
20988
|
+
for (var nextBreak = (void 0), pos = start; (nextBreak = nextLineBreak(this.input, pos, this.pos)) > -1;) {
|
|
20948
20989
|
++this.curLine;
|
|
20949
|
-
this.lineStart =
|
|
20990
|
+
pos = this.lineStart = nextBreak;
|
|
20950
20991
|
}
|
|
20951
20992
|
}
|
|
20952
20993
|
if (this.options.onComment)
|
|
@@ -21657,7 +21698,7 @@ pp.readWord = function() {
|
|
|
21657
21698
|
|
|
21658
21699
|
// Acorn is a tiny, fast JavaScript parser written in JavaScript.
|
|
21659
21700
|
|
|
21660
|
-
var version = "8.
|
|
21701
|
+
var version = "8.7.0";
|
|
21661
21702
|
|
|
21662
21703
|
Parser.acorn = {
|
|
21663
21704
|
Parser: Parser,
|
|
@@ -21681,25 +21722,6 @@ Parser.acorn = {
|
|
|
21681
21722
|
nonASCIIwhitespace: nonASCIIwhitespace
|
|
21682
21723
|
};
|
|
21683
21724
|
|
|
21684
|
-
const readFile = (file) => new Promise((fulfil, reject) => fs.readFile(file, 'utf-8', (err, contents) => (err ? reject(err) : fulfil(contents))));
|
|
21685
|
-
function mkdirpath(path) {
|
|
21686
|
-
const dir = require$$0.dirname(path);
|
|
21687
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
21688
|
-
}
|
|
21689
|
-
function writeFile(dest, data) {
|
|
21690
|
-
return new Promise((fulfil, reject) => {
|
|
21691
|
-
mkdirpath(dest);
|
|
21692
|
-
fs.writeFile(dest, data, err => {
|
|
21693
|
-
if (err) {
|
|
21694
|
-
reject(err);
|
|
21695
|
-
}
|
|
21696
|
-
else {
|
|
21697
|
-
fulfil();
|
|
21698
|
-
}
|
|
21699
|
-
});
|
|
21700
|
-
});
|
|
21701
|
-
}
|
|
21702
|
-
|
|
21703
21725
|
class Queue {
|
|
21704
21726
|
constructor(maxParallel) {
|
|
21705
21727
|
this.maxParallel = maxParallel;
|
|
@@ -21766,25 +21788,19 @@ async function resolveId(source, importer, preserveSymlinks, pluginDriver, modul
|
|
|
21766
21788
|
return addJsExtensionIfNecessary(importer ? require$$0.resolve(require$$0.dirname(importer), source) : require$$0.resolve(source), preserveSymlinks);
|
|
21767
21789
|
}
|
|
21768
21790
|
function addJsExtensionIfNecessary(file, preserveSymlinks) {
|
|
21769
|
-
|
|
21770
|
-
|
|
21771
|
-
return found;
|
|
21772
|
-
found = findFile(file + '.mjs', preserveSymlinks);
|
|
21773
|
-
if (found)
|
|
21774
|
-
return found;
|
|
21775
|
-
found = findFile(file + '.js', preserveSymlinks);
|
|
21776
|
-
return found;
|
|
21791
|
+
var _a, _b;
|
|
21792
|
+
return ((_b = (_a = findFile(file, preserveSymlinks)) !== null && _a !== void 0 ? _a : findFile(file + '.mjs', preserveSymlinks)) !== null && _b !== void 0 ? _b : findFile(file + '.js', preserveSymlinks));
|
|
21777
21793
|
}
|
|
21778
21794
|
function findFile(file, preserveSymlinks) {
|
|
21779
21795
|
try {
|
|
21780
|
-
const stats =
|
|
21796
|
+
const stats = require$$0$1.lstatSync(file);
|
|
21781
21797
|
if (!preserveSymlinks && stats.isSymbolicLink())
|
|
21782
|
-
return findFile(
|
|
21798
|
+
return findFile(require$$0$1.realpathSync(file), preserveSymlinks);
|
|
21783
21799
|
if ((preserveSymlinks && stats.isSymbolicLink()) || stats.isFile()) {
|
|
21784
21800
|
// check case
|
|
21785
21801
|
const name = require$$0.basename(file);
|
|
21786
|
-
const files =
|
|
21787
|
-
if (files.
|
|
21802
|
+
const files = require$$0$1.readdirSync(require$$0.dirname(file));
|
|
21803
|
+
if (files.includes(name))
|
|
21788
21804
|
return file;
|
|
21789
21805
|
}
|
|
21790
21806
|
}
|
|
@@ -22041,6 +22057,7 @@ async function transform(source, module, pluginDriver, warn) {
|
|
|
22041
22057
|
};
|
|
22042
22058
|
}
|
|
22043
22059
|
|
|
22060
|
+
const RESOLVE_DEPENDENCIES = 'resolveDependencies';
|
|
22044
22061
|
class ModuleLoader {
|
|
22045
22062
|
constructor(graph, modulesById, options, pluginDriver) {
|
|
22046
22063
|
this.graph = graph;
|
|
@@ -22054,7 +22071,7 @@ class ModuleLoader {
|
|
|
22054
22071
|
this.modulesWithLoadedDependencies = new Set();
|
|
22055
22072
|
this.nextEntryModuleIndex = 0;
|
|
22056
22073
|
this.resolveId = async (source, importer, customOptions, isEntry, skip = null) => {
|
|
22057
|
-
return this.
|
|
22074
|
+
return this.getResolvedIdWithDefaults(this.getNormalizedResolvedIdWithoutDefaults(this.options.external(source, importer, false)
|
|
22058
22075
|
? false
|
|
22059
22076
|
: await resolveId(source, importer, this.options.preserveSymlinks, this.pluginDriver, this.resolveId, skip, customOptions, typeof isEntry === 'boolean' ? isEntry : !importer), importer, source));
|
|
22060
22077
|
};
|
|
@@ -22113,23 +22130,9 @@ class ModuleLoader {
|
|
|
22113
22130
|
return module;
|
|
22114
22131
|
}
|
|
22115
22132
|
async preloadModule(resolvedId) {
|
|
22116
|
-
const module = await this.fetchModule(this.
|
|
22133
|
+
const module = await this.fetchModule(this.getResolvedIdWithDefaults(resolvedId), undefined, false, resolvedId.resolveDependencies ? RESOLVE_DEPENDENCIES : true);
|
|
22117
22134
|
return module.info;
|
|
22118
22135
|
}
|
|
22119
|
-
addDefaultsToResolvedId(resolvedId) {
|
|
22120
|
-
var _a, _b;
|
|
22121
|
-
if (!resolvedId) {
|
|
22122
|
-
return null;
|
|
22123
|
-
}
|
|
22124
|
-
const external = resolvedId.external || false;
|
|
22125
|
-
return {
|
|
22126
|
-
external,
|
|
22127
|
-
id: resolvedId.id,
|
|
22128
|
-
meta: resolvedId.meta || {},
|
|
22129
|
-
moduleSideEffects: (_a = resolvedId.moduleSideEffects) !== null && _a !== void 0 ? _a : this.hasModuleSideEffects(resolvedId.id, !!external),
|
|
22130
|
-
syntheticNamedExports: (_b = resolvedId.syntheticNamedExports) !== null && _b !== void 0 ? _b : false
|
|
22131
|
-
};
|
|
22132
|
-
}
|
|
22133
22136
|
addEntryWithImplicitDependants(unresolvedModule, implicitlyLoadedAfter) {
|
|
22134
22137
|
return this.extendLoadModulesPromise(this.loadEntryModule(unresolvedModule.id, false, unresolvedModule.importer, null).then(async (entryModule) => {
|
|
22135
22138
|
addChunkNamesToModule(entryModule, unresolvedModule, false);
|
|
@@ -22150,7 +22153,7 @@ class ModuleLoader {
|
|
|
22150
22153
|
timeStart('load modules', 3);
|
|
22151
22154
|
let source;
|
|
22152
22155
|
try {
|
|
22153
|
-
source = await this.readQueue.run(async () => { var _a; return (_a = (await this.pluginDriver.hookFirst('load', [id]))) !== null && _a !== void 0 ? _a : (await readFile(id)); });
|
|
22156
|
+
source = await this.readQueue.run(async () => { var _a; return (_a = (await this.pluginDriver.hookFirst('load', [id]))) !== null && _a !== void 0 ? _a : (await require$$0$1.promises.readFile(id, 'utf8')); });
|
|
22154
22157
|
}
|
|
22155
22158
|
catch (err) {
|
|
22156
22159
|
timeEnd('load modules', 3);
|
|
@@ -22243,9 +22246,7 @@ class ModuleLoader {
|
|
|
22243
22246
|
this.getResolveDynamicImportPromises(module),
|
|
22244
22247
|
loadAndResolveDependenciesPromise
|
|
22245
22248
|
]);
|
|
22246
|
-
const loadAndResolveDependenciesPromise = loadPromise
|
|
22247
|
-
.then(([resolveStaticDependencyPromises, resolveDynamicImportPromises]) => Promise.all([...resolveStaticDependencyPromises, ...resolveDynamicImportPromises]))
|
|
22248
|
-
.then(() => this.pluginDriver.hookParallel('moduleParsed', [module.info]));
|
|
22249
|
+
const loadAndResolveDependenciesPromise = waitForDependencyResolution(loadPromise).then(() => this.pluginDriver.hookParallel('moduleParsed', [module.info]));
|
|
22249
22250
|
loadAndResolveDependenciesPromise.catch(() => {
|
|
22250
22251
|
/* avoid unhandled promise rejections */
|
|
22251
22252
|
});
|
|
@@ -22254,6 +22255,9 @@ class ModuleLoader {
|
|
|
22254
22255
|
if (!isPreload) {
|
|
22255
22256
|
await this.fetchModuleDependencies(module, ...resolveDependencyPromises);
|
|
22256
22257
|
}
|
|
22258
|
+
else if (isPreload === RESOLVE_DEPENDENCIES) {
|
|
22259
|
+
await loadAndResolveDependenciesPromise;
|
|
22260
|
+
}
|
|
22257
22261
|
return module;
|
|
22258
22262
|
}
|
|
22259
22263
|
async fetchModuleDependencies(module, resolveStaticDependencyPromises, resolveDynamicDependencyPromises, loadAndResolveDependenciesPromise) {
|
|
@@ -22290,7 +22294,7 @@ class ModuleLoader {
|
|
|
22290
22294
|
module.dependencies.add(dependency);
|
|
22291
22295
|
dependency.importers.push(module.id);
|
|
22292
22296
|
}
|
|
22293
|
-
if (!this.options.treeshake || module.info.
|
|
22297
|
+
if (!this.options.treeshake || module.info.moduleSideEffects === 'no-treeshake') {
|
|
22294
22298
|
for (const dependency of module.dependencies) {
|
|
22295
22299
|
if (dependency instanceof Module) {
|
|
22296
22300
|
dependency.importedFromNotTreeshaken = true;
|
|
@@ -22353,10 +22357,26 @@ class ModuleLoader {
|
|
|
22353
22357
|
this.handleResolveId(await this.resolveId(source, module.id, EMPTY_OBJECT, false), source, module.id))
|
|
22354
22358
|
]);
|
|
22355
22359
|
}
|
|
22360
|
+
getResolvedIdWithDefaults(resolvedId) {
|
|
22361
|
+
var _a, _b;
|
|
22362
|
+
if (!resolvedId) {
|
|
22363
|
+
return null;
|
|
22364
|
+
}
|
|
22365
|
+
const external = resolvedId.external || false;
|
|
22366
|
+
return {
|
|
22367
|
+
external,
|
|
22368
|
+
id: resolvedId.id,
|
|
22369
|
+
meta: resolvedId.meta || {},
|
|
22370
|
+
moduleSideEffects: (_a = resolvedId.moduleSideEffects) !== null && _a !== void 0 ? _a : this.hasModuleSideEffects(resolvedId.id, !!external),
|
|
22371
|
+
syntheticNamedExports: (_b = resolvedId.syntheticNamedExports) !== null && _b !== void 0 ? _b : false
|
|
22372
|
+
};
|
|
22373
|
+
}
|
|
22356
22374
|
async handleExistingModule(module, isEntry, isPreload) {
|
|
22357
22375
|
const loadPromise = this.moduleLoadPromises.get(module);
|
|
22358
22376
|
if (isPreload) {
|
|
22359
|
-
return
|
|
22377
|
+
return isPreload === RESOLVE_DEPENDENCIES
|
|
22378
|
+
? waitForDependencyResolution(loadPromise)
|
|
22379
|
+
: loadPromise;
|
|
22360
22380
|
}
|
|
22361
22381
|
if (isEntry) {
|
|
22362
22382
|
module.info.isEntry = true;
|
|
@@ -22382,10 +22402,8 @@ class ModuleLoader {
|
|
|
22382
22402
|
syntheticNamedExports: false
|
|
22383
22403
|
};
|
|
22384
22404
|
}
|
|
22385
|
-
else {
|
|
22386
|
-
|
|
22387
|
-
this.options.onwarn(errExternalSyntheticExports(source, importer));
|
|
22388
|
-
}
|
|
22405
|
+
else if (resolvedId.external && resolvedId.syntheticNamedExports) {
|
|
22406
|
+
this.options.onwarn(errExternalSyntheticExports(source, importer));
|
|
22389
22407
|
}
|
|
22390
22408
|
return resolvedId;
|
|
22391
22409
|
}
|
|
@@ -22402,7 +22420,7 @@ class ModuleLoader {
|
|
|
22402
22420
|
? errEntryCannotBeExternal(unresolvedId)
|
|
22403
22421
|
: errImplicitDependantCannotBeExternal(unresolvedId, implicitlyLoadedBefore));
|
|
22404
22422
|
}
|
|
22405
|
-
return this.fetchModule(this.
|
|
22423
|
+
return this.fetchModule(this.getResolvedIdWithDefaults(typeof resolveIdResult === 'object'
|
|
22406
22424
|
? resolveIdResult
|
|
22407
22425
|
: { id: resolveIdResult }), undefined, isEntry, false);
|
|
22408
22426
|
}
|
|
@@ -22429,7 +22447,7 @@ class ModuleLoader {
|
|
|
22429
22447
|
module.resolvedIds[specifier] ||
|
|
22430
22448
|
this.handleResolveId(await this.resolveId(specifier, module.id, EMPTY_OBJECT, false), specifier, module.id));
|
|
22431
22449
|
}
|
|
22432
|
-
return this.handleResolveId(this.
|
|
22450
|
+
return this.handleResolveId(this.getResolvedIdWithDefaults(this.getNormalizedResolvedIdWithoutDefaults(resolution, importer, specifier)), specifier, importer);
|
|
22433
22451
|
}
|
|
22434
22452
|
}
|
|
22435
22453
|
function normalizeRelativeExternalId(source, importer) {
|
|
@@ -22457,6 +22475,10 @@ function isNotAbsoluteExternal(id, source, makeAbsoluteExternalsRelative) {
|
|
|
22457
22475
|
(makeAbsoluteExternalsRelative === 'ifRelativeSource' && isRelative(source)) ||
|
|
22458
22476
|
!isAbsolute(id));
|
|
22459
22477
|
}
|
|
22478
|
+
async function waitForDependencyResolution(loadPromise) {
|
|
22479
|
+
const [resolveStaticDependencyPromises, resolveDynamicImportPromises] = await loadPromise;
|
|
22480
|
+
return Promise.all([...resolveStaticDependencyPromises, ...resolveDynamicImportPromises]);
|
|
22481
|
+
}
|
|
22460
22482
|
|
|
22461
22483
|
class GlobalScope extends Scope$1 {
|
|
22462
22484
|
constructor() {
|
|
@@ -22631,7 +22653,6 @@ class PluginDriver {
|
|
|
22631
22653
|
constructor(graph, options, userPlugins, pluginCache, basePluginDriver) {
|
|
22632
22654
|
this.graph = graph;
|
|
22633
22655
|
this.options = options;
|
|
22634
|
-
this.pluginContexts = new Map();
|
|
22635
22656
|
warnDeprecatedHooks(userPlugins, options);
|
|
22636
22657
|
this.pluginCache = pluginCache;
|
|
22637
22658
|
this.fileEmitter = new FileEmitter(graph, options, basePluginDriver && basePluginDriver.fileEmitter);
|
|
@@ -22641,9 +22662,10 @@ class PluginDriver {
|
|
|
22641
22662
|
this.setOutputBundle = this.fileEmitter.setOutputBundle.bind(this.fileEmitter);
|
|
22642
22663
|
this.plugins = userPlugins.concat(basePluginDriver ? basePluginDriver.plugins : []);
|
|
22643
22664
|
const existingPluginNames = new Set();
|
|
22644
|
-
|
|
22645
|
-
|
|
22646
|
-
|
|
22665
|
+
this.pluginContexts = new Map(this.plugins.map(plugin => [
|
|
22666
|
+
plugin,
|
|
22667
|
+
getPluginContext(plugin, pluginCache, graph, options, this.fileEmitter, existingPluginNames)
|
|
22668
|
+
]));
|
|
22647
22669
|
if (basePluginDriver) {
|
|
22648
22670
|
for (const plugin of userPlugins) {
|
|
22649
22671
|
for (const hook of inputHooks) {
|
|
@@ -22976,7 +22998,7 @@ class Graph {
|
|
|
22976
22998
|
this.needsTreeshakingPass = false;
|
|
22977
22999
|
for (const module of this.modules) {
|
|
22978
23000
|
if (module.isExecuted) {
|
|
22979
|
-
if (module.info.
|
|
23001
|
+
if (module.info.moduleSideEffects === 'no-treeshake') {
|
|
22980
23002
|
module.includeAllInBundle();
|
|
22981
23003
|
}
|
|
22982
23004
|
else {
|
|
@@ -23031,7 +23053,7 @@ class Graph {
|
|
|
23031
23053
|
for (const module of this.modules) {
|
|
23032
23054
|
for (const importDescription of Object.values(module.importDescriptions)) {
|
|
23033
23055
|
if (importDescription.name !== '*' &&
|
|
23034
|
-
!importDescription.module.getVariableForExportName(importDescription.name)) {
|
|
23056
|
+
!importDescription.module.getVariableForExportName(importDescription.name)[0]) {
|
|
23035
23057
|
module.warn({
|
|
23036
23058
|
code: 'NON_EXISTENT_EXPORT',
|
|
23037
23059
|
message: `Non-existent export '${importDescription.name}' is imported from ${relativeId(importDescription.module.id)}`,
|
|
@@ -23226,13 +23248,14 @@ const getHasModuleSideEffects = (moduleSideEffectsOption, pureExternalModules) =
|
|
|
23226
23248
|
|
|
23227
23249
|
// https://datatracker.ietf.org/doc/html/rfc2396
|
|
23228
23250
|
// eslint-disable-next-line no-control-regex
|
|
23229
|
-
const
|
|
23251
|
+
const INVALID_CHAR_REGEX = /[\x00-\x1F\x7F<>*#"{}|^[\]`;?:&=+$,]/g;
|
|
23252
|
+
const DRIVE_LETTER_REGEX = /^[a-z]:/i;
|
|
23230
23253
|
function sanitizeFileName(name) {
|
|
23231
|
-
const match =
|
|
23254
|
+
const match = DRIVE_LETTER_REGEX.exec(name);
|
|
23232
23255
|
const driveLetter = match ? match[0] : '';
|
|
23233
23256
|
// A `:` is only allowed as part of a windows drive letter (ex: C:\foo)
|
|
23234
23257
|
// Otherwise, avoid them because they can refer to NTFS alternate data streams.
|
|
23235
|
-
return driveLetter + name.substr(driveLetter.length).replace(
|
|
23258
|
+
return driveLetter + name.substr(driveLetter.length).replace(INVALID_CHAR_REGEX, '_');
|
|
23236
23259
|
}
|
|
23237
23260
|
|
|
23238
23261
|
function normalizeOutputOptions(config, inputOptions, unsetInputOptions) {
|
|
@@ -23453,7 +23476,14 @@ const getIndent = (config, compact) => {
|
|
|
23453
23476
|
const configIndent = config.indent;
|
|
23454
23477
|
return configIndent === false ? '' : configIndent !== null && configIndent !== void 0 ? configIndent : true;
|
|
23455
23478
|
};
|
|
23456
|
-
const ALLOWED_INTEROP_TYPES = new Set([
|
|
23479
|
+
const ALLOWED_INTEROP_TYPES = new Set([
|
|
23480
|
+
'auto',
|
|
23481
|
+
'esModule',
|
|
23482
|
+
'default',
|
|
23483
|
+
'defaultOnly',
|
|
23484
|
+
true,
|
|
23485
|
+
false
|
|
23486
|
+
]);
|
|
23457
23487
|
const getInterop = (config, inputOptions) => {
|
|
23458
23488
|
const configInterop = config.interop;
|
|
23459
23489
|
const validatedInteropTypes = new Set();
|
|
@@ -23638,8 +23668,10 @@ function getSortingFileType(file) {
|
|
|
23638
23668
|
}
|
|
23639
23669
|
return SortingFileType.SECONDARY_CHUNK;
|
|
23640
23670
|
}
|
|
23641
|
-
function writeOutputFile(outputFile, outputOptions) {
|
|
23671
|
+
async function writeOutputFile(outputFile, outputOptions) {
|
|
23642
23672
|
const fileName = require$$0.resolve(outputOptions.dir || require$$0.dirname(outputOptions.file), outputFile.fileName);
|
|
23673
|
+
// 'recursive: true' does not throw if the folder structure, or parts of it, already exist
|
|
23674
|
+
await require$$0$1.promises.mkdir(require$$0.dirname(fileName), { recursive: true });
|
|
23643
23675
|
let writeSourceMapPromise;
|
|
23644
23676
|
let source;
|
|
23645
23677
|
if (outputFile.type === 'asset') {
|
|
@@ -23654,14 +23686,14 @@ function writeOutputFile(outputFile, outputOptions) {
|
|
|
23654
23686
|
}
|
|
23655
23687
|
else {
|
|
23656
23688
|
url = `${require$$0.basename(outputFile.fileName)}.map`;
|
|
23657
|
-
writeSourceMapPromise = writeFile(`${fileName}.map`, outputFile.map.toString());
|
|
23689
|
+
writeSourceMapPromise = require$$0$1.promises.writeFile(`${fileName}.map`, outputFile.map.toString());
|
|
23658
23690
|
}
|
|
23659
23691
|
if (outputOptions.sourcemap !== 'hidden') {
|
|
23660
|
-
source += `//# ${SOURCEMAPPING_URL}=${url}\n`;
|
|
23692
|
+
source += `//# ${exports.SOURCEMAPPING_URL}=${url}\n`;
|
|
23661
23693
|
}
|
|
23662
23694
|
}
|
|
23663
23695
|
}
|
|
23664
|
-
return Promise.all([writeFile(fileName, source), writeSourceMapPromise]);
|
|
23696
|
+
return Promise.all([require$$0$1.promises.writeFile(fileName, source), writeSourceMapPromise]);
|
|
23665
23697
|
}
|
|
23666
23698
|
/**
|
|
23667
23699
|
* Auxiliary function for defining rollup configuration
|
|
@@ -23672,7 +23704,7 @@ function defineConfig(options) {
|
|
|
23672
23704
|
return options;
|
|
23673
23705
|
}
|
|
23674
23706
|
|
|
23675
|
-
class WatchEmitter extends require$$0$
|
|
23707
|
+
class WatchEmitter extends require$$0$2.EventEmitter {
|
|
23676
23708
|
constructor() {
|
|
23677
23709
|
super();
|
|
23678
23710
|
// Allows more than 10 bundles to be watched without
|