rollup 4.61.1 → 4.62.1

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/dist/bin/rollup CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  /*
3
3
  @license
4
- Rollup.js v4.61.1
5
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
4
+ Rollup.js v4.62.1
5
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
6
6
 
7
7
  https://github.com/rollup/rollup
8
8
 
@@ -13,10 +13,10 @@
13
13
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
14
14
 
15
15
  const process$1 = require('node:process');
16
- const rollup = require('../shared/rollup.js');
17
16
  const require$$2 = require('util');
18
17
  const require$$0 = require('path');
19
18
  const require$$0$1 = require('fs');
19
+ const rollup = require('../shared/rollup.js');
20
20
  const parseAst_js = require('../shared/parseAst.js');
21
21
  const fseventsImporter = require('../shared/fsevents-importer.js');
22
22
  const promises = require('node:fs/promises');
@@ -27,7 +27,7 @@ require('node:perf_hooks');
27
27
  require('node:url');
28
28
  require('../getLogFilter.js');
29
29
 
30
- const help = "rollup version 4.61.1\n=====================================\n\nUsage: rollup [options] <entry file>\n\nOptions:\n\n-c, --config <filename> Use this config file (if argument is used but value\n is unspecified, Rollup will try to load configuration files in\n the following order:\n rollup.config.mjs -> rollup.config.cjs -> rollup.config.js)\n-d, --dir <dirname> Directory for chunks (if absent, prints to stdout)\n-e, --external <ids> Comma-separate list of module IDs to exclude\n-f, --format <format> Type of output (amd, cjs, es, iife, umd, system)\n-g, --globals <pairs> Comma-separate list of `moduleID:Global` pairs\n-h, --help Show this help message\n-i, --input <filename> Input (alternative to <entry file>)\n-m, --sourcemap Generate sourcemap (`-m inline` for inline map)\n-n, --name <name> Name for UMD export\n-o, --file <output> Single output file (if absent, prints to stdout)\n-p, --plugin <plugin> Use the plugin specified (may be repeated)\n-v, --version Show version number\n-w, --watch Watch files in bundle and rebuild on changes\n--amd.autoId Generate the AMD ID based off the chunk name\n--amd.basePath <prefix> Path to prepend to auto generated AMD ID\n--amd.define <name> Function to use in place of `define`\n--amd.forceJsExtensionForImports Use `.js` extension in AMD imports\n--amd.id <id> ID for AMD module (default is anonymous)\n--assetFileNames <pattern> Name pattern for emitted assets\n--banner <text> Code to insert at top of bundle (outside wrapper)\n--chunkFileNames <pattern> Name pattern for emitted secondary chunks\n--compact Minify wrapper code\n--context <variable> Specify top-level `this` value\n--no-dynamicImportInCjs Write external dynamic CommonJS imports as require\n--entryFileNames <pattern> Name pattern for emitted entry chunks\n--environment <values> Settings passed to config file (see example)\n--no-esModule Do not add __esModule property\n--exports <mode> Specify export mode (auto, default, named, none)\n--extend Extend global variable defined by --name\n--no-externalImportAttributes Omit import attributes in \"es\" output\n--no-externalLiveBindings Do not generate code to support live bindings\n--failAfterWarnings Exit with an error if the build produced warnings\n--filterLogs <filter> Filter log messages\n--footer <text> Code to insert at end of bundle (outside wrapper)\n--forceExit Force exit the process when done\n--no-freeze Do not freeze namespace objects\n--generatedCode <preset> Which code features to use (es5/es2015)\n--generatedCode.arrowFunctions Use arrow functions in generated code\n--generatedCode.constBindings Use \"const\" in generated code\n--generatedCode.objectShorthand Use shorthand properties in generated code\n--no-generatedCode.reservedNamesAsProps Always quote reserved names as props\n--generatedCode.symbols Use symbols in generated code\n--hashCharacters <name> Use the specified character set for file hashes\n--no-hoistTransitiveImports Do not hoist transitive imports into entry chunks\n--importAttributesKey <name> Use the specified keyword for import attributes\n--no-indent Don't indent result\n--inlineDynamicImports Create single bundle when using dynamic imports\n--no-interop Do not include interop block\n--intro <text> Code to insert at top of bundle (inside wrapper)\n--logLevel <level> Which kind of logs to display\n--no-makeAbsoluteExternalsRelative Prevent normalization of external imports\n--maxParallelFileOps <value> How many files to read in parallel\n--minifyInternalExports Force or disable minification of internal exports\n--noConflict Generate a noConflict method for UMD globals\n--outro <text> Code to insert at end of bundle (inside wrapper)\n--perf Display performance timings\n--no-preserveEntrySignatures Avoid facade chunks for entry points\n--preserveModules Preserve module structure\n--preserveModulesRoot Put preserved modules under this path at root level\n--preserveSymlinks Do not follow symlinks when resolving files\n--no-reexportProtoFromExternal Ignore `__proto__` in star re-exports\n--no-sanitizeFileName Do not replace invalid characters in file names\n--shimMissingExports Create shim variables for missing exports\n--silent Don't print warnings\n--sourcemapBaseUrl <url> Emit absolute sourcemap URLs with given base\n--sourcemapDebugIds Emit unique debug ids in source and sourcemaps\n--sourcemapExcludeSources Do not include source code in source maps\n--sourcemapFile <file> Specify bundle position for source maps\n--sourcemapFileNames <pattern> Name pattern for emitted sourcemaps\n--stdin=ext Specify file extension used for stdin input\n--no-stdin Do not read \"-\" from stdin\n--no-strict Don't emit `\"use strict\";` in the generated modules\n--strictDeprecations Throw errors for deprecated features\n--no-systemNullSetters Do not replace empty SystemJS setters with `null`\n--no-treeshake Disable tree-shaking optimisations\n--no-treeshake.annotations Ignore pure call annotations\n--treeshake.correctVarValueBeforeDeclaration Deoptimize variables until declared\n--treeshake.manualPureFunctions <names> Manually declare functions as pure\n--no-treeshake.moduleSideEffects Assume modules have no side effects\n--no-treeshake.propertyReadSideEffects Ignore property access side effects\n--no-treeshake.tryCatchDeoptimization Do not turn off try-catch-tree-shaking\n--no-treeshake.unknownGlobalSideEffects Assume unknown globals do not throw\n--validate Validate output\n--waitForBundleInput Wait for bundle input files\n--watch.allowInputInsideOutputPath Whether the input path is allowed to be a\n subpath of the output path\n--watch.buildDelay <number> Throttle watch rebuilds\n--no-watch.clearScreen Do not clear the screen when rebuilding\n--watch.exclude <files> Exclude files from being watched\n--watch.include <files> Limit watching to specified files\n--watch.onBundleEnd <cmd> Shell command to run on `\"BUNDLE_END\"` event\n--watch.onBundleStart <cmd> Shell command to run on `\"BUNDLE_START\"` event\n--watch.onEnd <cmd> Shell command to run on `\"END\"` event\n--watch.onError <cmd> Shell command to run on `\"ERROR\"` event\n--watch.onStart <cmd> Shell command to run on `\"START\"` event\n--watch.skipWrite Do not write files to disk when watching\n\nExamples:\n\n# use settings in config file\nrollup -c\n\n# in config file, process.env.INCLUDE_DEPS === 'true'\n# and process.env.BUILD === 'production'\nrollup -c --environment INCLUDE_DEPS,BUILD:production\n\n# create CommonJS bundle.js from src/main.js\nrollup --format=cjs --file=bundle.js -- src/main.js\n\n# create self-executing IIFE using `window.jQuery`\n# and `window._` as external globals\nrollup -f iife --globals jquery:jQuery,lodash:_ \\\n -i src/app.js -o build/app.js -m build/app.js.map\n\nNotes:\n\n* When piping to stdout, only inline sourcemaps are permitted\n\nFor more information visit https://rollupjs.org\n";
30
+ const help = "rollup version 4.62.1\n=====================================\n\nUsage: rollup [options] <entry file>\n\nOptions:\n\n-c, --config <filename> Use this config file (if argument is used but value\n is unspecified, Rollup will try to load configuration files in\n the following order:\n rollup.config.mjs -> rollup.config.cjs -> rollup.config.js)\n-d, --dir <dirname> Directory for chunks (if absent, prints to stdout)\n-e, --external <ids> Comma-separate list of module IDs to exclude\n-f, --format <format> Type of output (amd, cjs, es, iife, umd, system)\n-g, --globals <pairs> Comma-separate list of `moduleID:Global` pairs\n-h, --help Show this help message\n-i, --input <filename> Input (alternative to <entry file>)\n-m, --sourcemap Generate sourcemap (`-m inline` for inline map)\n-n, --name <name> Name for UMD export\n-o, --file <output> Single output file (if absent, prints to stdout)\n-p, --plugin <plugin> Use the plugin specified (may be repeated)\n-v, --version Show version number\n-w, --watch Watch files in bundle and rebuild on changes\n--amd.autoId Generate the AMD ID based off the chunk name\n--amd.basePath <prefix> Path to prepend to auto generated AMD ID\n--amd.define <name> Function to use in place of `define`\n--amd.forceJsExtensionForImports Use `.js` extension in AMD imports\n--amd.id <id> ID for AMD module (default is anonymous)\n--assetFileNames <pattern> Name pattern for emitted assets\n--banner <text> Code to insert at top of bundle (outside wrapper)\n--chunkFileNames <pattern> Name pattern for emitted secondary chunks\n--compact Minify wrapper code\n--context <variable> Specify top-level `this` value\n--no-dynamicImportInCjs Write external dynamic CommonJS imports as require\n--entryFileNames <pattern> Name pattern for emitted entry chunks\n--environment <values> Settings passed to config file (see example)\n--no-esModule Do not add __esModule property\n--exports <mode> Specify export mode (auto, default, named, none)\n--extend Extend global variable defined by --name\n--no-externalImportAttributes Omit import attributes in \"es\" output\n--no-externalLiveBindings Do not generate code to support live bindings\n--failAfterWarnings Exit with an error if the build produced warnings\n--filterLogs <filter> Filter log messages\n--footer <text> Code to insert at end of bundle (outside wrapper)\n--forceExit Force exit the process when done\n--no-freeze Do not freeze namespace objects\n--generatedCode <preset> Which code features to use (es5/es2015)\n--generatedCode.arrowFunctions Use arrow functions in generated code\n--generatedCode.constBindings Use \"const\" in generated code\n--generatedCode.objectShorthand Use shorthand properties in generated code\n--no-generatedCode.reservedNamesAsProps Always quote reserved names as props\n--generatedCode.symbols Use symbols in generated code\n--hashCharacters <name> Use the specified character set for file hashes\n--no-hoistTransitiveImports Do not hoist transitive imports into entry chunks\n--importAttributesKey <name> Use the specified keyword for import attributes\n--no-indent Don't indent result\n--inlineDynamicImports Create single bundle when using dynamic imports\n--no-interop Do not include interop block\n--intro <text> Code to insert at top of bundle (inside wrapper)\n--logLevel <level> Which kind of logs to display\n--no-makeAbsoluteExternalsRelative Prevent normalization of external imports\n--maxParallelFileOps <value> How many files to read in parallel\n--minifyInternalExports Force or disable minification of internal exports\n--noConflict Generate a noConflict method for UMD globals\n--outro <text> Code to insert at end of bundle (inside wrapper)\n--perf Display performance timings\n--no-preserveEntrySignatures Avoid facade chunks for entry points\n--preserveModules Preserve module structure\n--preserveModulesRoot Put preserved modules under this path at root level\n--preserveSymlinks Do not follow symlinks when resolving files\n--no-reexportProtoFromExternal Ignore `__proto__` in star re-exports\n--no-sanitizeFileName Do not replace invalid characters in file names\n--shimMissingExports Create shim variables for missing exports\n--silent Don't print warnings\n--sourcemapBaseUrl <url> Emit absolute sourcemap URLs with given base\n--sourcemapDebugIds Emit unique debug ids in source and sourcemaps\n--sourcemapExcludeSources Do not include source code in source maps\n--sourcemapFile <file> Specify bundle position for source maps\n--sourcemapFileNames <pattern> Name pattern for emitted sourcemaps\n--stdin=ext Specify file extension used for stdin input\n--no-stdin Do not read \"-\" from stdin\n--no-strict Don't emit `\"use strict\";` in the generated modules\n--strictDeprecations Throw errors for deprecated features\n--no-systemNullSetters Do not replace empty SystemJS setters with `null`\n--no-treeshake Disable tree-shaking optimisations\n--no-treeshake.annotations Ignore pure call annotations\n--treeshake.correctVarValueBeforeDeclaration Deoptimize variables until declared\n--treeshake.manualPureFunctions <names> Manually declare functions as pure\n--no-treeshake.moduleSideEffects Assume modules have no side effects\n--no-treeshake.propertyReadSideEffects Ignore property access side effects\n--no-treeshake.tryCatchDeoptimization Do not turn off try-catch-tree-shaking\n--no-treeshake.unknownGlobalSideEffects Assume unknown globals do not throw\n--validate Validate output\n--waitForBundleInput Wait for bundle input files\n--watch.allowInputInsideOutputPath Whether the input path is allowed to be a\n subpath of the output path\n--watch.buildDelay <number> Throttle watch rebuilds\n--no-watch.clearScreen Do not clear the screen when rebuilding\n--watch.exclude <files> Exclude files from being watched\n--watch.include <files> Limit watching to specified files\n--watch.onBundleEnd <cmd> Shell command to run on `\"BUNDLE_END\"` event\n--watch.onBundleStart <cmd> Shell command to run on `\"BUNDLE_START\"` event\n--watch.onEnd <cmd> Shell command to run on `\"END\"` event\n--watch.onError <cmd> Shell command to run on `\"ERROR\"` event\n--watch.onStart <cmd> Shell command to run on `\"START\"` event\n--watch.skipWrite Do not write files to disk when watching\n\nExamples:\n\n# use settings in config file\nrollup -c\n\n# in config file, process.env.INCLUDE_DEPS === 'true'\n# and process.env.BUILD === 'production'\nrollup -c --environment INCLUDE_DEPS,BUILD:production\n\n# create CommonJS bundle.js from src/main.js\nrollup --format=cjs --file=bundle.js -- src/main.js\n\n# create self-executing IIFE using `window.jQuery`\n# and `window._` as external globals\nrollup -f iife --globals jquery:jQuery,lodash:_ \\\n -i src/app.js -o build/app.js -m build/app.js.map\n\nNotes:\n\n* When piping to stdout, only inline sourcemaps are permitted\n\nFor more information visit https://rollupjs.org\n";
31
31
 
32
32
  /**
33
33
  * @license
@@ -1889,7 +1889,7 @@ if (command.help || (process$1.argv.length <= 2 && process$1.stdin.isTTY)) {
1889
1889
  console.log(`\n${help}\n`);
1890
1890
  }
1891
1891
  else if (command.version) {
1892
- console.log(`rollup v${rollup.version}`);
1892
+ console.log(`rollup v${rollup.package_.version}`);
1893
1893
  }
1894
1894
  else {
1895
1895
  try {
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -49,6 +49,7 @@ const testFilter = (log, key, parts) => {
49
49
  if (!value.startsWith(parts[0])) {
50
50
  return false;
51
51
  }
52
+ value = value.slice(parts[0].length);
52
53
  const lastPartIndex = parts.length - 1;
53
54
  for (let index = 1; index < lastPartIndex; index++) {
54
55
  const part = parts[index];
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
package/dist/es/rollup.js CHANGED
@@ -1,13 +1,13 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
8
8
  Released under the MIT License.
9
9
  */
10
- export { version as VERSION, defineConfig, rollup, watch } from './shared/node-entry.js';
10
+ export { VERSION, defineConfig, rollup, watch } from './shared/node-entry.js';
11
11
  import './shared/parseAst.js';
12
12
  import '../native.js';
13
13
  import 'node:path';
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -27,7 +27,9 @@ function _mergeNamespaces(n, m) {
27
27
  return Object.defineProperty(n, Symbol.toStringTag, { value: 'Module' });
28
28
  }
29
29
 
30
- var version = "4.61.1";
30
+ var version = "4.62.1";
31
+ const package_ = {
32
+ version: version};
31
33
 
32
34
  // src/vlq.ts
33
35
  var comma = ",".charCodeAt(0);
@@ -9178,7 +9180,7 @@ function getAugmentedNamespace(n) {
9178
9180
  var isInstance = false;
9179
9181
  try {
9180
9182
  isInstance = this instanceof a;
9181
- } catch {}
9183
+ } catch (e) {}
9182
9184
  if (isInstance) {
9183
9185
  return Reflect.construct(f, arguments, this.constructor);
9184
9186
  }
@@ -18569,10 +18571,15 @@ function renderNamePattern(pattern, patternName, replacements) {
18569
18571
  function makeUnique(name, { [lowercaseBundleKeys]: reservedLowercaseBundleKeys }) {
18570
18572
  if (!reservedLowercaseBundleKeys.has(name.toLowerCase()))
18571
18573
  return name;
18572
- const extension = extname(name);
18573
- name = name.slice(0, Math.max(0, name.length - extension.length));
18574
+ const slashIndex = Math.max(name.lastIndexOf('/'), name.lastIndexOf('\\'));
18575
+ // This will also handle -1 correctly
18576
+ const directory = name.slice(0, slashIndex + 1);
18577
+ const fileName = name.slice(slashIndex + 1);
18578
+ const dotIndex = fileName.indexOf('.', 1);
18579
+ const base = directory + (dotIndex === -1 ? fileName : fileName.slice(0, dotIndex));
18580
+ const extension = dotIndex === -1 ? '' : fileName.slice(dotIndex);
18574
18581
  let uniqueName, uniqueIndex = 1;
18575
- while (reservedLowercaseBundleKeys.has((uniqueName = name + ++uniqueIndex + extension).toLowerCase()))
18582
+ while (reservedLowercaseBundleKeys.has((uniqueName = base + ++uniqueIndex + extension).toLowerCase()))
18576
18583
  ;
18577
18584
  return uniqueName;
18578
18585
  }
@@ -19849,15 +19856,15 @@ function* concatLazy(iterables) {
19849
19856
  * another round of chunks.
19850
19857
  */
19851
19858
  function getChunkAssignments(entries, manualChunkAliasByEntry, minChunkSize, log, isManualChunksFunctionForm, onlyExplicitManualChunks) {
19852
- const { chunkDefinitions, modulesInManualChunks } = getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry, isManualChunksFunctionForm, onlyExplicitManualChunks);
19853
- const { allEntries, dependentEntriesByModule, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, dynamicallyDependentEntriesByAwaitedDynamicEntry, awaitedDynamicImportsByEntry } = analyzeModuleGraph(entries);
19859
+ const { chunkDefinitions, manualChunkModules, manualChunkModulesByModule } = getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry, isManualChunksFunctionForm, onlyExplicitManualChunks);
19860
+ const { entriesAndManualChunksCount, dependentEntriesByModule, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, dynamicallyDependentEntriesByAwaitedDynamicEntry, awaitedDynamicImportsByEntry } = analyzeModuleGraph(entries, manualChunkModules, manualChunkModulesByModule);
19854
19861
  // Each chunk is identified by its position in this array
19855
- const chunkAtoms = getChunksWithSameDependentEntries(getModulesWithDependentEntriesAndHandleTLACycles(dependentEntriesByModule, modulesInManualChunks, chunkDefinitions));
19856
- const staticDependencyAtomsByEntry = getStaticDependencyAtomsByEntry(allEntries, chunkAtoms);
19862
+ const chunkAtoms = getChunksWithSameDependentEntries(getModulesWithDependentEntriesAndHandleTLACycles(dependentEntriesByModule, manualChunkModulesByModule, chunkDefinitions));
19863
+ const staticDependencyAtomsByEntry = getStaticDependencyAtomsByEntry(entriesAndManualChunksCount, chunkAtoms);
19857
19864
  // Warning: This will consume dynamicallyDependentEntriesByDynamicEntry.
19858
19865
  // If we no longer want this, we should make a copy here.
19859
- const alreadyLoadedAtomsByEntry = getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, allEntries);
19860
- const awaitedAlreadyLoadedAtomsByEntry = getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByAwaitedDynamicEntry, awaitedDynamicImportsByEntry, allEntries);
19866
+ const alreadyLoadedAtomsByEntry = getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, entriesAndManualChunksCount);
19867
+ const awaitedAlreadyLoadedAtomsByEntry = getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByAwaitedDynamicEntry, awaitedDynamicImportsByEntry, entriesAndManualChunksCount);
19861
19868
  // This mutates the dependentEntries in chunkAtoms
19862
19869
  removeUnnecessaryDependentEntries(chunkAtoms, alreadyLoadedAtomsByEntry, awaitedAlreadyLoadedAtomsByEntry);
19863
19870
  const { chunks, sideEffectAtoms, sizeByAtom } = getChunksWithSameDependentEntriesAndCorrelatedAtoms(chunkAtoms, staticDependencyAtomsByEntry, alreadyLoadedAtomsByEntry, minChunkSize);
@@ -19872,20 +19879,28 @@ function getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry, isManualCh
19872
19879
  const manualChunkModulesByAlias = Object.create(null);
19873
19880
  const sortedEntriesWithAlias = [...manualChunkAliasByEntry].sort(([entryA], [entryB]) => entryA.execIndex - entryB.execIndex);
19874
19881
  for (const [entry, alias] of sortedEntriesWithAlias) {
19882
+ const chunkModules = (manualChunkModulesByAlias[alias] ||= []);
19875
19883
  if (isManualChunksFunctionForm && onlyExplicitManualChunks) {
19876
- (manualChunkModulesByAlias[alias] ||= []).push(entry);
19884
+ chunkModules.push(entry);
19877
19885
  }
19878
19886
  else {
19879
- addStaticDependenciesToManualChunk(entry, (manualChunkModulesByAlias[alias] ||= []), modulesInManualChunks);
19887
+ addStaticDependenciesToManualChunk(entry, chunkModules, modulesInManualChunks);
19880
19888
  }
19881
19889
  }
19882
19890
  const manualChunks = Object.entries(manualChunkModulesByAlias);
19891
+ const manualChunkModules = new Array(manualChunks.length);
19883
19892
  const chunkDefinitions = new Array(manualChunks.length);
19893
+ const manualChunkModulesByModule = new Map();
19884
19894
  let index = 0;
19885
19895
  for (const [alias, modules] of manualChunks) {
19886
- chunkDefinitions[index++] = { alias, modules };
19896
+ chunkDefinitions[index] = { alias, modules };
19897
+ manualChunkModules[index] = modules;
19898
+ for (const module of modules) {
19899
+ manualChunkModulesByModule.set(module, modules);
19900
+ }
19901
+ index++;
19887
19902
  }
19888
- return { chunkDefinitions, modulesInManualChunks };
19903
+ return { chunkDefinitions, manualChunkModules, manualChunkModulesByModule };
19889
19904
  }
19890
19905
  function addStaticDependenciesToManualChunk(entry, manualChunkModules, modulesInManualChunks) {
19891
19906
  const modulesToHandle = new Set([entry]);
@@ -19899,22 +19914,34 @@ function addStaticDependenciesToManualChunk(entry, manualChunkModules, modulesIn
19899
19914
  }
19900
19915
  }
19901
19916
  }
19902
- function analyzeModuleGraph(entries) {
19917
+ function analyzeModuleGraph(entries, manualChunkModules, manualChunkModulesByModule) {
19903
19918
  const dynamicEntryModules = new Set();
19904
19919
  const awaitedDynamicEntryModules = new Set();
19905
19920
  const dependentEntriesByModule = new Map();
19906
19921
  const allEntriesSet = new Set(entries);
19907
- const dynamicImportModulesByEntry = new Array(allEntriesSet.size);
19908
- const awaitedDynamicImportModulesByEntry = new Array(allEntriesSet.size);
19909
- let entryIndex = 0;
19910
- for (const currentEntry of allEntriesSet) {
19922
+ // Each entry is defined by its position in this array
19923
+ const allEntriesAndManualChunks = entries.map(module => [module]).concat(manualChunkModules);
19924
+ const dynamicImportModulesByEntry = new Array(allEntriesAndManualChunks.length);
19925
+ const awaitedDynamicImportModulesByEntry = new Array(allEntriesAndManualChunks.length);
19926
+ let entryOrManualChunkIndex = 0;
19927
+ for (const currentEntryModules of allEntriesAndManualChunks) {
19911
19928
  const dynamicImportsForCurrentEntry = new Set();
19912
19929
  const awaitedDynamicImportsForCurrentEntry = new Set();
19913
- dynamicImportModulesByEntry[entryIndex] = dynamicImportsForCurrentEntry;
19914
- awaitedDynamicImportModulesByEntry[entryIndex] = awaitedDynamicImportsForCurrentEntry;
19915
- const staticDependencies = new Set([currentEntry]);
19930
+ dynamicImportModulesByEntry[entryOrManualChunkIndex] = dynamicImportsForCurrentEntry;
19931
+ awaitedDynamicImportModulesByEntry[entryOrManualChunkIndex] =
19932
+ awaitedDynamicImportsForCurrentEntry;
19933
+ const staticDependencies = new Set(currentEntryModules);
19934
+ // If we have a very large manual chunk, tracking if it is already added to the dependencies will improve performance
19935
+ const addedManualChunks = new Set();
19916
19936
  for (const module of staticDependencies) {
19917
- getOrCreate(dependentEntriesByModule, module, (getNewSet)).add(entryIndex);
19937
+ getOrCreate(dependentEntriesByModule, module, (getNewSet)).add(entryOrManualChunkIndex);
19938
+ const manualChunkMembers = manualChunkModulesByModule.get(module);
19939
+ if (manualChunkMembers && !addedManualChunks.has(manualChunkMembers)) {
19940
+ addedManualChunks.add(manualChunkMembers);
19941
+ for (const manualChunkMember of manualChunkMembers) {
19942
+ staticDependencies.add(manualChunkMember);
19943
+ }
19944
+ }
19918
19945
  for (const dependency of module.getDependenciesToBeIncluded()) {
19919
19946
  if (!(dependency instanceof ExternalModule)) {
19920
19947
  staticDependencies.add(dependency);
@@ -19926,6 +19953,7 @@ function analyzeModuleGraph(entries) {
19926
19953
  !allEntriesSet.has(resolution)) {
19927
19954
  dynamicEntryModules.add(resolution);
19928
19955
  allEntriesSet.add(resolution);
19956
+ allEntriesAndManualChunks.push([resolution]);
19929
19957
  dynamicImportsForCurrentEntry.add(resolution);
19930
19958
  for (const includedTopLevelAwaitingDynamicImporter of resolution.includedTopLevelAwaitingDynamicImporters) {
19931
19959
  if (staticDependencies.has(includedTopLevelAwaitingDynamicImporter)) {
@@ -19940,33 +19968,35 @@ function analyzeModuleGraph(entries) {
19940
19968
  if (!allEntriesSet.has(dependency)) {
19941
19969
  dynamicEntryModules.add(dependency);
19942
19970
  allEntriesSet.add(dependency);
19971
+ allEntriesAndManualChunks.push([dependency]);
19943
19972
  }
19944
19973
  }
19945
19974
  }
19946
- entryIndex++;
19975
+ entryOrManualChunkIndex++;
19947
19976
  }
19948
- const allEntries = [...allEntriesSet];
19949
- const { awaitedDynamicEntries, awaitedDynamicImportsByEntry, dynamicEntries, dynamicImportsByEntry } = getDynamicEntries(allEntries, dynamicEntryModules, dynamicImportModulesByEntry, awaitedDynamicEntryModules, awaitedDynamicImportModulesByEntry);
19977
+ const { awaitedDynamicEntries, awaitedDynamicImportsByEntry, dynamicEntries, dynamicImportsByEntry } = getDynamicEntries(allEntriesAndManualChunks, dynamicEntryModules, dynamicImportModulesByEntry, awaitedDynamicEntryModules, awaitedDynamicImportModulesByEntry);
19950
19978
  return {
19951
- allEntries,
19952
19979
  awaitedDynamicImportsByEntry,
19953
19980
  dependentEntriesByModule,
19954
- dynamicallyDependentEntriesByAwaitedDynamicEntry: getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, awaitedDynamicEntries, allEntries, dynamicEntry => dynamicEntry.includedTopLevelAwaitingDynamicImporters),
19955
- dynamicallyDependentEntriesByDynamicEntry: getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, dynamicEntries, allEntries, dynamicEntry => dynamicEntry.includedDynamicImporters),
19956
- dynamicImportsByEntry
19981
+ dynamicallyDependentEntriesByAwaitedDynamicEntry: getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, awaitedDynamicEntries, allEntriesAndManualChunks, dynamicEntry => dynamicEntry.includedTopLevelAwaitingDynamicImporters),
19982
+ dynamicallyDependentEntriesByDynamicEntry: getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, dynamicEntries, allEntriesAndManualChunks, dynamicEntry => dynamicEntry.includedDynamicImporters),
19983
+ dynamicImportsByEntry,
19984
+ entriesAndManualChunksCount: allEntriesAndManualChunks.length
19957
19985
  };
19958
19986
  }
19959
- function getDynamicEntries(allEntries, dynamicEntryModules, dynamicImportModulesByEntry, awaitedDynamicEntryModules, awaitedDynamicImportModulesByEntry) {
19987
+ function getDynamicEntries(allEntriesAndManualChunks, dynamicEntryModules, dynamicImportModulesByEntry, awaitedDynamicEntryModules, awaitedDynamicImportModulesByEntry) {
19960
19988
  const entryIndexByModule = new Map();
19961
19989
  const dynamicEntries = new Set();
19962
19990
  const awaitedDynamicEntries = new Set();
19963
- for (const [entryIndex, entry] of allEntries.entries()) {
19964
- entryIndexByModule.set(entry, entryIndex);
19965
- if (dynamicEntryModules.has(entry)) {
19966
- dynamicEntries.add(entryIndex);
19967
- }
19968
- if (awaitedDynamicEntryModules.has(entry)) {
19969
- awaitedDynamicEntries.add(entryIndex);
19991
+ for (const [entryIndex, entryModules] of allEntriesAndManualChunks.entries()) {
19992
+ for (const entryModule of entryModules) {
19993
+ entryIndexByModule.set(entryModule, entryIndex);
19994
+ if (dynamicEntryModules.has(entryModule)) {
19995
+ dynamicEntries.add(entryIndex);
19996
+ }
19997
+ if (awaitedDynamicEntryModules.has(entryModule)) {
19998
+ awaitedDynamicEntries.add(entryIndex);
19999
+ }
19970
20000
  }
19971
20001
  }
19972
20002
  const dynamicImportsByEntry = getDynamicImportsByEntry(dynamicImportModulesByEntry, entryIndexByModule);
@@ -19990,29 +20020,31 @@ function getDynamicImportsByEntry(dynamicImportModulesByEntry, entryIndexByModul
19990
20020
  }
19991
20021
  return dynamicImportsByEntry;
19992
20022
  }
19993
- function getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, dynamicEntries, allEntries, getDynamicImporters) {
20023
+ function getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, dynamicEntries, allEntriesAndManualChunks, getDynamicImporters) {
19994
20024
  const dynamicallyDependentEntriesByDynamicEntry = new Map();
19995
20025
  for (const dynamicEntryIndex of dynamicEntries) {
19996
20026
  const dynamicallyDependentEntries = getOrCreate(dynamicallyDependentEntriesByDynamicEntry, dynamicEntryIndex, (getNewSet));
19997
- const dynamicEntry = allEntries[dynamicEntryIndex];
19998
- for (const importer of concatLazy([
19999
- getDynamicImporters(dynamicEntry),
20000
- dynamicEntry.implicitlyLoadedAfter
20001
- ])) {
20002
- const importerEntries = dependentEntriesByModule.get(importer);
20003
- if (!importerEntries) {
20004
- continue;
20005
- }
20006
- for (const entry of importerEntries) {
20007
- dynamicallyDependentEntries.add(entry);
20027
+ const dynamicEntryModules = allEntriesAndManualChunks[dynamicEntryIndex];
20028
+ for (const dynamicEntryModule of dynamicEntryModules) {
20029
+ for (const importer of concatLazy([
20030
+ getDynamicImporters(dynamicEntryModule),
20031
+ dynamicEntryModule.implicitlyLoadedAfter
20032
+ ])) {
20033
+ const importerEntries = dependentEntriesByModule.get(importer);
20034
+ if (!importerEntries) {
20035
+ continue;
20036
+ }
20037
+ for (const entry of importerEntries) {
20038
+ dynamicallyDependentEntries.add(entry);
20039
+ }
20008
20040
  }
20009
20041
  }
20010
20042
  }
20011
20043
  return dynamicallyDependentEntriesByDynamicEntry;
20012
20044
  }
20013
- function getChunksWithSameDependentEntries(modulesWithDependentEntries) {
20045
+ function getChunksWithSameDependentEntries(moduleWithDependentEntries) {
20014
20046
  const chunkModules = Object.create(null);
20015
- for (const { dependentEntries, modules } of modulesWithDependentEntries) {
20047
+ for (const { dependentEntries, module } of moduleWithDependentEntries) {
20016
20048
  let chunkSignature = 0n;
20017
20049
  for (const entryIndex of dependentEntries) {
20018
20050
  chunkSignature |= 1n << BigInt(entryIndex);
@@ -20020,7 +20052,7 @@ function getChunksWithSameDependentEntries(modulesWithDependentEntries) {
20020
20052
  (chunkModules[String(chunkSignature)] ||= {
20021
20053
  dependentEntries: new Set(dependentEntries),
20022
20054
  modules: []
20023
- }).modules.push(...modules);
20055
+ }).modules.push(module);
20024
20056
  }
20025
20057
  return Object.values(chunkModules);
20026
20058
  }
@@ -20034,14 +20066,14 @@ function* getModulesWithDependentEntriesAndHandleTLACycles(dependentEntriesByMod
20034
20066
  });
20035
20067
  continue;
20036
20068
  }
20037
- yield { dependentEntries, modules: [module] };
20069
+ yield { dependentEntries, module };
20038
20070
  }
20039
20071
  }
20040
20072
  }
20041
- function getStaticDependencyAtomsByEntry(allEntries, chunkAtoms) {
20073
+ function getStaticDependencyAtomsByEntry(entriesAndManualChunksCount, chunkAtoms) {
20042
20074
  // The indices correspond to the indices in allEntries. The atoms correspond
20043
20075
  // to bits in the bigint values where chunk 0 is the lowest bit.
20044
- const staticDependencyAtomsByEntry = allEntries.map(() => 0n);
20076
+ const staticDependencyAtomsByEntry = new Array(entriesAndManualChunksCount).fill(0n);
20045
20077
  // This toggles the bits for each atom that is a dependency of an entry
20046
20078
  let atomMask = 1n;
20047
20079
  for (const { dependentEntries } of chunkAtoms) {
@@ -20053,11 +20085,11 @@ function getStaticDependencyAtomsByEntry(allEntries, chunkAtoms) {
20053
20085
  return staticDependencyAtomsByEntry;
20054
20086
  }
20055
20087
  // Warning: This will consume dynamicallyDependentEntriesByDynamicEntry.
20056
- function getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, allEntries) {
20088
+ function getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, allEntriesCount) {
20057
20089
  // Dynamic entries have all atoms as already loaded initially because we then
20058
20090
  // intersect with the static dependency atoms of all dynamic importers.
20059
20091
  // Static entries cannot have already loaded atoms.
20060
- const alreadyLoadedAtomsByEntry = allEntries.map((_entry, entryIndex) => dynamicallyDependentEntriesByDynamicEntry.has(entryIndex) ? -1n : 0n);
20092
+ const alreadyLoadedAtomsByEntry = Array.from({ length: allEntriesCount }, (_entry, entryIndex) => (dynamicallyDependentEntriesByDynamicEntry.has(entryIndex) ? -1n : 0n));
20061
20093
  for (const [dynamicEntryIndex, dynamicallyDependentEntries] of dynamicallyDependentEntriesByDynamicEntry) {
20062
20094
  // We delete here so that they can be added again if necessary to be handled
20063
20095
  // again by the loop
@@ -22620,6 +22652,7 @@ function getLogHandler(level, code, logger, pluginName, logLevel) {
22620
22652
  };
22621
22653
  }
22622
22654
 
22655
+ const rollupVersion$2 = package_.version;
22623
22656
  function getPluginContext(plugin, pluginCache, graph, options, fileEmitter, existingPluginNames) {
22624
22657
  const { logLevel, onLog } = options;
22625
22658
  let cacheable = true;
@@ -22664,7 +22697,7 @@ function getPluginContext(plugin, pluginCache, graph, options, fileEmitter, exis
22664
22697
  return graph.moduleLoader.preloadModule(resolvedId);
22665
22698
  },
22666
22699
  meta: {
22667
- rollupVersion: version,
22700
+ rollupVersion: rollupVersion$2,
22668
22701
  watchMode: graph.watchMode
22669
22702
  },
22670
22703
  parse: parseAst,
@@ -23341,6 +23374,7 @@ async function catchUnfinishedHookActions(pluginDriver, callback) {
23341
23374
 
23342
23375
  async function initWasm() { }
23343
23376
 
23377
+ const rollupVersion$1 = package_.version;
23344
23378
  function getLogger(plugins, onLog, watchMode, logLevel) {
23345
23379
  plugins = getSortedValidatedPlugins('onLog', plugins);
23346
23380
  const minimalPriority = logLevelPriority[logLevel];
@@ -23365,7 +23399,7 @@ function getLogger(plugins, onLog, watchMode, logLevel) {
23365
23399
  debug: getLogHandler(LOGLEVEL_DEBUG),
23366
23400
  error: (log) => error(normalizeLog(log)),
23367
23401
  info: getLogHandler(LOGLEVEL_INFO),
23368
- meta: { rollupVersion: version, watchMode },
23402
+ meta: { rollupVersion: rollupVersion$1, watchMode },
23369
23403
  warn: getLogHandler(LOGLEVEL_WARN)
23370
23404
  }, level, log) === false) {
23371
23405
  return;
@@ -23836,6 +23870,7 @@ const getSourcemapBaseUrl = (config) => {
23836
23870
  }
23837
23871
  };
23838
23872
 
23873
+ const rollupVersion = package_.version;
23839
23874
  // @ts-expect-error TS2540: the polyfill of `asyncDispose`.
23840
23875
  Symbol.asyncDispose ??= Symbol('Symbol.asyncDispose');
23841
23876
  function rollup(rawInputOptions) {
@@ -23941,7 +23976,7 @@ async function getProcessedInputOptions(inputOptions, watchMode) {
23941
23976
  debug: getLogHandler(LOGLEVEL_DEBUG, 'PLUGIN_LOG', logger, name, logLevel),
23942
23977
  error: (error_) => error(logPluginError(normalizeLog(error_), name, { hook: 'onLog' })),
23943
23978
  info: getLogHandler(LOGLEVEL_INFO, 'PLUGIN_LOG', logger, name, logLevel),
23944
- meta: { rollupVersion: version, watchMode },
23979
+ meta: { rollupVersion, watchMode },
23945
23980
  warn: getLogHandler(LOGLEVEL_WARN, 'PLUGIN_WARNING', logger, name, logLevel)
23946
23981
  }, inputOptions);
23947
23982
  if (processedOptions) {
@@ -24470,4 +24505,6 @@ async function watchInternal(configs, emitter) {
24470
24505
  new Watcher(watchOptionsList, emitter);
24471
24506
  }
24472
24507
 
24473
- export { createFilter$1 as createFilter, defineConfig, fseventsImporter, getAugmentedNamespace, getDefaultExportFromCjs, rollup, rollupInternal, version, watch };
24508
+ const VERSION = package_.version;
24509
+
24510
+ export { VERSION, createFilter$1 as createFilter, defineConfig, fseventsImporter, getAugmentedNamespace, getDefaultExportFromCjs, rollup, rollupInternal, watch };
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -460,7 +460,7 @@ function logCircularChunk(cyclePath, isManualChunkConflict) {
460
460
  ids: cyclePath,
461
461
  message: `Circular chunk: ${cyclePath.join(' -> ')}. ${isManualChunkConflict
462
462
  ? `Please adjust the manual chunk logic for these chunks.`
463
- : `Consider disabling the "output.onlyExplicitManualChunks" option, as enabling it causes the static dependencies of the manual chunk "${cyclePath.at(-2)}" to be bundled into the chunk "${cyclePath.at(-1)}".`}`
463
+ : `Please consider disabling the "output.onlyExplicitManualChunks" option, as enabling it causes modules located between the modules included in the manual chunk "${cyclePath.at(-2)}" to be extracted into the separate chunk "${cyclePath.at(-1)}".`}`
464
464
  };
465
465
  }
466
466
  function logCircularReexport(exportName, exporter) {
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -53,6 +53,7 @@ const testFilter = (log, key, parts) => {
53
53
  if (!value.startsWith(parts[0])) {
54
54
  return false;
55
55
  }
56
+ value = value.slice(parts[0].length);
56
57
  const lastPartIndex = parts.length - 1;
57
58
  for (let index = 1; index < lastPartIndex; index++) {
58
59
  const part = parts[index];
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
package/dist/parseAst.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
package/dist/rollup.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -120,8 +120,10 @@ async function watchInternal(configs, emitter) {
120
120
  new Watcher(watchOptionsList, emitter);
121
121
  }
122
122
 
123
- exports.VERSION = rollup.version;
123
+ const VERSION = rollup.package_.version;
124
+
124
125
  exports.defineConfig = rollup.defineConfig;
125
126
  exports.rollup = rollup.rollup;
127
+ exports.VERSION = VERSION;
126
128
  exports.watch = watch;
127
129
  //# sourceMappingURL=rollup.js.map
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -432,7 +432,7 @@ function logCircularChunk(cyclePath, isManualChunkConflict) {
432
432
  ids: cyclePath,
433
433
  message: `Circular chunk: ${cyclePath.join(' -> ')}. ${isManualChunkConflict
434
434
  ? `Please adjust the manual chunk logic for these chunks.`
435
- : `Consider disabling the "output.onlyExplicitManualChunks" option, as enabling it causes the static dependencies of the manual chunk "${cyclePath.at(-2)}" to be bundled into the chunk "${cyclePath.at(-1)}".`}`
435
+ : `Please consider disabling the "output.onlyExplicitManualChunks" option, as enabling it causes modules located between the modules included in the manual chunk "${cyclePath.at(-2)}" to be extracted into the separate chunk "${cyclePath.at(-1)}".`}`
436
436
  };
437
437
  }
438
438
  function logCircularReexport(exportName, exporter) {
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -42,7 +42,9 @@ function _mergeNamespaces(n, m) {
42
42
 
43
43
  const promises__namespace = /*#__PURE__*/_interopNamespaceDefault(promises);
44
44
 
45
- var version = "4.61.1";
45
+ var version = "4.62.1";
46
+ const package_ = {
47
+ version: version};
46
48
 
47
49
  function ensureArray$1(items) {
48
50
  if (Array.isArray(items)) {
@@ -210,10 +212,15 @@ function renderNamePattern(pattern, patternName, replacements) {
210
212
  function makeUnique(name, { [lowercaseBundleKeys]: reservedLowercaseBundleKeys }) {
211
213
  if (!reservedLowercaseBundleKeys.has(name.toLowerCase()))
212
214
  return name;
213
- const extension = path.extname(name);
214
- name = name.slice(0, Math.max(0, name.length - extension.length));
215
+ const slashIndex = Math.max(name.lastIndexOf('/'), name.lastIndexOf('\\'));
216
+ // This will also handle -1 correctly
217
+ const directory = name.slice(0, slashIndex + 1);
218
+ const fileName = name.slice(slashIndex + 1);
219
+ const dotIndex = fileName.indexOf('.', 1);
220
+ const base = directory + (dotIndex === -1 ? fileName : fileName.slice(0, dotIndex));
221
+ const extension = dotIndex === -1 ? '' : fileName.slice(dotIndex);
215
222
  let uniqueName, uniqueIndex = 1;
216
- while (reservedLowercaseBundleKeys.has((uniqueName = name + ++uniqueIndex + extension).toLowerCase()))
223
+ while (reservedLowercaseBundleKeys.has((uniqueName = base + ++uniqueIndex + extension).toLowerCase()))
217
224
  ;
218
225
  return uniqueName;
219
226
  }
@@ -878,6 +885,7 @@ function getCacheForUncacheablePlugin(pluginName) {
878
885
  };
879
886
  }
880
887
 
888
+ const rollupVersion$2 = package_.version;
881
889
  function getPluginContext(plugin, pluginCache, graph, options, fileEmitter, existingPluginNames) {
882
890
  const { logLevel, onLog } = options;
883
891
  let cacheable = true;
@@ -922,7 +930,7 @@ function getPluginContext(plugin, pluginCache, graph, options, fileEmitter, exis
922
930
  return graph.moduleLoader.preloadModule(resolvedId);
923
931
  },
924
932
  meta: {
925
- rollupVersion: version,
933
+ rollupVersion: rollupVersion$2,
926
934
  watchMode: graph.watchMode
927
935
  },
928
936
  parse: parseAst_js.parseAst,
@@ -947,7 +955,7 @@ function getAugmentedNamespace(n) {
947
955
  var isInstance = false;
948
956
  try {
949
957
  isInstance = this instanceof a;
950
- } catch {}
958
+ } catch (e) {}
951
959
  if (isInstance) {
952
960
  return Reflect.construct(f, arguments, this.constructor);
953
961
  }
@@ -3792,6 +3800,7 @@ function validateAddonPluginHandler(handler, hookName, plugin) {
3792
3800
  }
3793
3801
  function noReturn() { }
3794
3802
 
3803
+ const rollupVersion$1 = package_.version;
3795
3804
  function getLogger(plugins, onLog, watchMode, logLevel) {
3796
3805
  plugins = getSortedValidatedPlugins('onLog', plugins);
3797
3806
  const minimalPriority = parseAst_js.logLevelPriority[logLevel];
@@ -3816,7 +3825,7 @@ function getLogger(plugins, onLog, watchMode, logLevel) {
3816
3825
  debug: getLogHandler(parseAst_js.LOGLEVEL_DEBUG),
3817
3826
  error: (log) => parseAst_js.error(normalizeLog(log)),
3818
3827
  info: getLogHandler(parseAst_js.LOGLEVEL_INFO),
3819
- meta: { rollupVersion: version, watchMode },
3828
+ meta: { rollupVersion: rollupVersion$1, watchMode },
3820
3829
  warn: getLogHandler(parseAst_js.LOGLEVEL_WARN)
3821
3830
  }, level, log) === false) {
3822
3831
  return;
@@ -21343,15 +21352,15 @@ function* concatLazy(iterables) {
21343
21352
  * another round of chunks.
21344
21353
  */
21345
21354
  function getChunkAssignments(entries, manualChunkAliasByEntry, minChunkSize, log, isManualChunksFunctionForm, onlyExplicitManualChunks) {
21346
- const { chunkDefinitions, modulesInManualChunks } = getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry, isManualChunksFunctionForm, onlyExplicitManualChunks);
21347
- const { allEntries, dependentEntriesByModule, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, dynamicallyDependentEntriesByAwaitedDynamicEntry, awaitedDynamicImportsByEntry } = analyzeModuleGraph(entries);
21355
+ const { chunkDefinitions, manualChunkModules, manualChunkModulesByModule } = getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry, isManualChunksFunctionForm, onlyExplicitManualChunks);
21356
+ const { entriesAndManualChunksCount, dependentEntriesByModule, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, dynamicallyDependentEntriesByAwaitedDynamicEntry, awaitedDynamicImportsByEntry } = analyzeModuleGraph(entries, manualChunkModules, manualChunkModulesByModule);
21348
21357
  // Each chunk is identified by its position in this array
21349
- const chunkAtoms = getChunksWithSameDependentEntries(getModulesWithDependentEntriesAndHandleTLACycles(dependentEntriesByModule, modulesInManualChunks, chunkDefinitions));
21350
- const staticDependencyAtomsByEntry = getStaticDependencyAtomsByEntry(allEntries, chunkAtoms);
21358
+ const chunkAtoms = getChunksWithSameDependentEntries(getModulesWithDependentEntriesAndHandleTLACycles(dependentEntriesByModule, manualChunkModulesByModule, chunkDefinitions));
21359
+ const staticDependencyAtomsByEntry = getStaticDependencyAtomsByEntry(entriesAndManualChunksCount, chunkAtoms);
21351
21360
  // Warning: This will consume dynamicallyDependentEntriesByDynamicEntry.
21352
21361
  // If we no longer want this, we should make a copy here.
21353
- const alreadyLoadedAtomsByEntry = getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, allEntries);
21354
- const awaitedAlreadyLoadedAtomsByEntry = getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByAwaitedDynamicEntry, awaitedDynamicImportsByEntry, allEntries);
21362
+ const alreadyLoadedAtomsByEntry = getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, entriesAndManualChunksCount);
21363
+ const awaitedAlreadyLoadedAtomsByEntry = getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByAwaitedDynamicEntry, awaitedDynamicImportsByEntry, entriesAndManualChunksCount);
21355
21364
  // This mutates the dependentEntries in chunkAtoms
21356
21365
  removeUnnecessaryDependentEntries(chunkAtoms, alreadyLoadedAtomsByEntry, awaitedAlreadyLoadedAtomsByEntry);
21357
21366
  const { chunks, sideEffectAtoms, sizeByAtom } = getChunksWithSameDependentEntriesAndCorrelatedAtoms(chunkAtoms, staticDependencyAtomsByEntry, alreadyLoadedAtomsByEntry, minChunkSize);
@@ -21366,20 +21375,28 @@ function getChunkDefinitionsFromManualChunks(manualChunkAliasByEntry, isManualCh
21366
21375
  const manualChunkModulesByAlias = Object.create(null);
21367
21376
  const sortedEntriesWithAlias = [...manualChunkAliasByEntry].sort(([entryA], [entryB]) => entryA.execIndex - entryB.execIndex);
21368
21377
  for (const [entry, alias] of sortedEntriesWithAlias) {
21378
+ const chunkModules = (manualChunkModulesByAlias[alias] ||= []);
21369
21379
  if (isManualChunksFunctionForm && onlyExplicitManualChunks) {
21370
- (manualChunkModulesByAlias[alias] ||= []).push(entry);
21380
+ chunkModules.push(entry);
21371
21381
  }
21372
21382
  else {
21373
- addStaticDependenciesToManualChunk(entry, (manualChunkModulesByAlias[alias] ||= []), modulesInManualChunks);
21383
+ addStaticDependenciesToManualChunk(entry, chunkModules, modulesInManualChunks);
21374
21384
  }
21375
21385
  }
21376
21386
  const manualChunks = Object.entries(manualChunkModulesByAlias);
21387
+ const manualChunkModules = new Array(manualChunks.length);
21377
21388
  const chunkDefinitions = new Array(manualChunks.length);
21389
+ const manualChunkModulesByModule = new Map();
21378
21390
  let index = 0;
21379
21391
  for (const [alias, modules] of manualChunks) {
21380
- chunkDefinitions[index++] = { alias, modules };
21392
+ chunkDefinitions[index] = { alias, modules };
21393
+ manualChunkModules[index] = modules;
21394
+ for (const module of modules) {
21395
+ manualChunkModulesByModule.set(module, modules);
21396
+ }
21397
+ index++;
21381
21398
  }
21382
- return { chunkDefinitions, modulesInManualChunks };
21399
+ return { chunkDefinitions, manualChunkModules, manualChunkModulesByModule };
21383
21400
  }
21384
21401
  function addStaticDependenciesToManualChunk(entry, manualChunkModules, modulesInManualChunks) {
21385
21402
  const modulesToHandle = new Set([entry]);
@@ -21393,22 +21410,34 @@ function addStaticDependenciesToManualChunk(entry, manualChunkModules, modulesIn
21393
21410
  }
21394
21411
  }
21395
21412
  }
21396
- function analyzeModuleGraph(entries) {
21413
+ function analyzeModuleGraph(entries, manualChunkModules, manualChunkModulesByModule) {
21397
21414
  const dynamicEntryModules = new Set();
21398
21415
  const awaitedDynamicEntryModules = new Set();
21399
21416
  const dependentEntriesByModule = new Map();
21400
21417
  const allEntriesSet = new Set(entries);
21401
- const dynamicImportModulesByEntry = new Array(allEntriesSet.size);
21402
- const awaitedDynamicImportModulesByEntry = new Array(allEntriesSet.size);
21403
- let entryIndex = 0;
21404
- for (const currentEntry of allEntriesSet) {
21418
+ // Each entry is defined by its position in this array
21419
+ const allEntriesAndManualChunks = entries.map(module => [module]).concat(manualChunkModules);
21420
+ const dynamicImportModulesByEntry = new Array(allEntriesAndManualChunks.length);
21421
+ const awaitedDynamicImportModulesByEntry = new Array(allEntriesAndManualChunks.length);
21422
+ let entryOrManualChunkIndex = 0;
21423
+ for (const currentEntryModules of allEntriesAndManualChunks) {
21405
21424
  const dynamicImportsForCurrentEntry = new Set();
21406
21425
  const awaitedDynamicImportsForCurrentEntry = new Set();
21407
- dynamicImportModulesByEntry[entryIndex] = dynamicImportsForCurrentEntry;
21408
- awaitedDynamicImportModulesByEntry[entryIndex] = awaitedDynamicImportsForCurrentEntry;
21409
- const staticDependencies = new Set([currentEntry]);
21426
+ dynamicImportModulesByEntry[entryOrManualChunkIndex] = dynamicImportsForCurrentEntry;
21427
+ awaitedDynamicImportModulesByEntry[entryOrManualChunkIndex] =
21428
+ awaitedDynamicImportsForCurrentEntry;
21429
+ const staticDependencies = new Set(currentEntryModules);
21430
+ // If we have a very large manual chunk, tracking if it is already added to the dependencies will improve performance
21431
+ const addedManualChunks = new Set();
21410
21432
  for (const module of staticDependencies) {
21411
- getOrCreate(dependentEntriesByModule, module, (getNewSet)).add(entryIndex);
21433
+ getOrCreate(dependentEntriesByModule, module, (getNewSet)).add(entryOrManualChunkIndex);
21434
+ const manualChunkMembers = manualChunkModulesByModule.get(module);
21435
+ if (manualChunkMembers && !addedManualChunks.has(manualChunkMembers)) {
21436
+ addedManualChunks.add(manualChunkMembers);
21437
+ for (const manualChunkMember of manualChunkMembers) {
21438
+ staticDependencies.add(manualChunkMember);
21439
+ }
21440
+ }
21412
21441
  for (const dependency of module.getDependenciesToBeIncluded()) {
21413
21442
  if (!(dependency instanceof ExternalModule)) {
21414
21443
  staticDependencies.add(dependency);
@@ -21420,6 +21449,7 @@ function analyzeModuleGraph(entries) {
21420
21449
  !allEntriesSet.has(resolution)) {
21421
21450
  dynamicEntryModules.add(resolution);
21422
21451
  allEntriesSet.add(resolution);
21452
+ allEntriesAndManualChunks.push([resolution]);
21423
21453
  dynamicImportsForCurrentEntry.add(resolution);
21424
21454
  for (const includedTopLevelAwaitingDynamicImporter of resolution.includedTopLevelAwaitingDynamicImporters) {
21425
21455
  if (staticDependencies.has(includedTopLevelAwaitingDynamicImporter)) {
@@ -21434,33 +21464,35 @@ function analyzeModuleGraph(entries) {
21434
21464
  if (!allEntriesSet.has(dependency)) {
21435
21465
  dynamicEntryModules.add(dependency);
21436
21466
  allEntriesSet.add(dependency);
21467
+ allEntriesAndManualChunks.push([dependency]);
21437
21468
  }
21438
21469
  }
21439
21470
  }
21440
- entryIndex++;
21471
+ entryOrManualChunkIndex++;
21441
21472
  }
21442
- const allEntries = [...allEntriesSet];
21443
- const { awaitedDynamicEntries, awaitedDynamicImportsByEntry, dynamicEntries, dynamicImportsByEntry } = getDynamicEntries(allEntries, dynamicEntryModules, dynamicImportModulesByEntry, awaitedDynamicEntryModules, awaitedDynamicImportModulesByEntry);
21473
+ const { awaitedDynamicEntries, awaitedDynamicImportsByEntry, dynamicEntries, dynamicImportsByEntry } = getDynamicEntries(allEntriesAndManualChunks, dynamicEntryModules, dynamicImportModulesByEntry, awaitedDynamicEntryModules, awaitedDynamicImportModulesByEntry);
21444
21474
  return {
21445
- allEntries,
21446
21475
  awaitedDynamicImportsByEntry,
21447
21476
  dependentEntriesByModule,
21448
- dynamicallyDependentEntriesByAwaitedDynamicEntry: getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, awaitedDynamicEntries, allEntries, dynamicEntry => dynamicEntry.includedTopLevelAwaitingDynamicImporters),
21449
- dynamicallyDependentEntriesByDynamicEntry: getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, dynamicEntries, allEntries, dynamicEntry => dynamicEntry.includedDynamicImporters),
21450
- dynamicImportsByEntry
21477
+ dynamicallyDependentEntriesByAwaitedDynamicEntry: getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, awaitedDynamicEntries, allEntriesAndManualChunks, dynamicEntry => dynamicEntry.includedTopLevelAwaitingDynamicImporters),
21478
+ dynamicallyDependentEntriesByDynamicEntry: getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, dynamicEntries, allEntriesAndManualChunks, dynamicEntry => dynamicEntry.includedDynamicImporters),
21479
+ dynamicImportsByEntry,
21480
+ entriesAndManualChunksCount: allEntriesAndManualChunks.length
21451
21481
  };
21452
21482
  }
21453
- function getDynamicEntries(allEntries, dynamicEntryModules, dynamicImportModulesByEntry, awaitedDynamicEntryModules, awaitedDynamicImportModulesByEntry) {
21483
+ function getDynamicEntries(allEntriesAndManualChunks, dynamicEntryModules, dynamicImportModulesByEntry, awaitedDynamicEntryModules, awaitedDynamicImportModulesByEntry) {
21454
21484
  const entryIndexByModule = new Map();
21455
21485
  const dynamicEntries = new Set();
21456
21486
  const awaitedDynamicEntries = new Set();
21457
- for (const [entryIndex, entry] of allEntries.entries()) {
21458
- entryIndexByModule.set(entry, entryIndex);
21459
- if (dynamicEntryModules.has(entry)) {
21460
- dynamicEntries.add(entryIndex);
21461
- }
21462
- if (awaitedDynamicEntryModules.has(entry)) {
21463
- awaitedDynamicEntries.add(entryIndex);
21487
+ for (const [entryIndex, entryModules] of allEntriesAndManualChunks.entries()) {
21488
+ for (const entryModule of entryModules) {
21489
+ entryIndexByModule.set(entryModule, entryIndex);
21490
+ if (dynamicEntryModules.has(entryModule)) {
21491
+ dynamicEntries.add(entryIndex);
21492
+ }
21493
+ if (awaitedDynamicEntryModules.has(entryModule)) {
21494
+ awaitedDynamicEntries.add(entryIndex);
21495
+ }
21464
21496
  }
21465
21497
  }
21466
21498
  const dynamicImportsByEntry = getDynamicImportsByEntry(dynamicImportModulesByEntry, entryIndexByModule);
@@ -21484,29 +21516,31 @@ function getDynamicImportsByEntry(dynamicImportModulesByEntry, entryIndexByModul
21484
21516
  }
21485
21517
  return dynamicImportsByEntry;
21486
21518
  }
21487
- function getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, dynamicEntries, allEntries, getDynamicImporters) {
21519
+ function getDynamicallyDependentEntriesByDynamicEntry(dependentEntriesByModule, dynamicEntries, allEntriesAndManualChunks, getDynamicImporters) {
21488
21520
  const dynamicallyDependentEntriesByDynamicEntry = new Map();
21489
21521
  for (const dynamicEntryIndex of dynamicEntries) {
21490
21522
  const dynamicallyDependentEntries = getOrCreate(dynamicallyDependentEntriesByDynamicEntry, dynamicEntryIndex, (getNewSet));
21491
- const dynamicEntry = allEntries[dynamicEntryIndex];
21492
- for (const importer of concatLazy([
21493
- getDynamicImporters(dynamicEntry),
21494
- dynamicEntry.implicitlyLoadedAfter
21495
- ])) {
21496
- const importerEntries = dependentEntriesByModule.get(importer);
21497
- if (!importerEntries) {
21498
- continue;
21499
- }
21500
- for (const entry of importerEntries) {
21501
- dynamicallyDependentEntries.add(entry);
21523
+ const dynamicEntryModules = allEntriesAndManualChunks[dynamicEntryIndex];
21524
+ for (const dynamicEntryModule of dynamicEntryModules) {
21525
+ for (const importer of concatLazy([
21526
+ getDynamicImporters(dynamicEntryModule),
21527
+ dynamicEntryModule.implicitlyLoadedAfter
21528
+ ])) {
21529
+ const importerEntries = dependentEntriesByModule.get(importer);
21530
+ if (!importerEntries) {
21531
+ continue;
21532
+ }
21533
+ for (const entry of importerEntries) {
21534
+ dynamicallyDependentEntries.add(entry);
21535
+ }
21502
21536
  }
21503
21537
  }
21504
21538
  }
21505
21539
  return dynamicallyDependentEntriesByDynamicEntry;
21506
21540
  }
21507
- function getChunksWithSameDependentEntries(modulesWithDependentEntries) {
21541
+ function getChunksWithSameDependentEntries(moduleWithDependentEntries) {
21508
21542
  const chunkModules = Object.create(null);
21509
- for (const { dependentEntries, modules } of modulesWithDependentEntries) {
21543
+ for (const { dependentEntries, module } of moduleWithDependentEntries) {
21510
21544
  let chunkSignature = 0n;
21511
21545
  for (const entryIndex of dependentEntries) {
21512
21546
  chunkSignature |= 1n << BigInt(entryIndex);
@@ -21514,7 +21548,7 @@ function getChunksWithSameDependentEntries(modulesWithDependentEntries) {
21514
21548
  (chunkModules[String(chunkSignature)] ||= {
21515
21549
  dependentEntries: new Set(dependentEntries),
21516
21550
  modules: []
21517
- }).modules.push(...modules);
21551
+ }).modules.push(module);
21518
21552
  }
21519
21553
  return Object.values(chunkModules);
21520
21554
  }
@@ -21528,14 +21562,14 @@ function* getModulesWithDependentEntriesAndHandleTLACycles(dependentEntriesByMod
21528
21562
  });
21529
21563
  continue;
21530
21564
  }
21531
- yield { dependentEntries, modules: [module] };
21565
+ yield { dependentEntries, module };
21532
21566
  }
21533
21567
  }
21534
21568
  }
21535
- function getStaticDependencyAtomsByEntry(allEntries, chunkAtoms) {
21569
+ function getStaticDependencyAtomsByEntry(entriesAndManualChunksCount, chunkAtoms) {
21536
21570
  // The indices correspond to the indices in allEntries. The atoms correspond
21537
21571
  // to bits in the bigint values where chunk 0 is the lowest bit.
21538
- const staticDependencyAtomsByEntry = allEntries.map(() => 0n);
21572
+ const staticDependencyAtomsByEntry = new Array(entriesAndManualChunksCount).fill(0n);
21539
21573
  // This toggles the bits for each atom that is a dependency of an entry
21540
21574
  let atomMask = 1n;
21541
21575
  for (const { dependentEntries } of chunkAtoms) {
@@ -21547,11 +21581,11 @@ function getStaticDependencyAtomsByEntry(allEntries, chunkAtoms) {
21547
21581
  return staticDependencyAtomsByEntry;
21548
21582
  }
21549
21583
  // Warning: This will consume dynamicallyDependentEntriesByDynamicEntry.
21550
- function getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, allEntries) {
21584
+ function getAlreadyLoadedAtomsByEntry(staticDependencyAtomsByEntry, dynamicallyDependentEntriesByDynamicEntry, dynamicImportsByEntry, allEntriesCount) {
21551
21585
  // Dynamic entries have all atoms as already loaded initially because we then
21552
21586
  // intersect with the static dependency atoms of all dynamic importers.
21553
21587
  // Static entries cannot have already loaded atoms.
21554
- const alreadyLoadedAtomsByEntry = allEntries.map((_entry, entryIndex) => dynamicallyDependentEntriesByDynamicEntry.has(entryIndex) ? -1n : 0n);
21588
+ const alreadyLoadedAtomsByEntry = Array.from({ length: allEntriesCount }, (_entry, entryIndex) => (dynamicallyDependentEntriesByDynamicEntry.has(entryIndex) ? -1n : 0n));
21555
21589
  for (const [dynamicEntryIndex, dynamicallyDependentEntries] of dynamicallyDependentEntriesByDynamicEntry) {
21556
21590
  // We delete here so that they can be added again if necessary to be handled
21557
21591
  // again by the loop
@@ -24173,6 +24207,7 @@ const getSourcemapBaseUrl = (config) => {
24173
24207
  }
24174
24208
  };
24175
24209
 
24210
+ const rollupVersion = package_.version;
24176
24211
  // @ts-expect-error TS2540: the polyfill of `asyncDispose`.
24177
24212
  Symbol.asyncDispose ??= Symbol('Symbol.asyncDispose');
24178
24213
  function rollup(rawInputOptions) {
@@ -24278,7 +24313,7 @@ async function getProcessedInputOptions(inputOptions, watchMode) {
24278
24313
  debug: getLogHandler(parseAst_js.LOGLEVEL_DEBUG, 'PLUGIN_LOG', logger, name, logLevel),
24279
24314
  error: (error_) => parseAst_js.error(parseAst_js.logPluginError(normalizeLog(error_), name, { hook: 'onLog' })),
24280
24315
  info: getLogHandler(parseAst_js.LOGLEVEL_INFO, 'PLUGIN_LOG', logger, name, logLevel),
24281
- meta: { rollupVersion: version, watchMode },
24316
+ meta: { rollupVersion, watchMode },
24282
24317
  warn: getLogHandler(parseAst_js.LOGLEVEL_WARN, 'PLUGIN_WARNING', logger, name, logLevel)
24283
24318
  }, inputOptions);
24284
24319
  if (processedOptions) {
@@ -24385,11 +24420,11 @@ exports.handleError = handleError;
24385
24420
  exports.isWatchEnabled = isWatchEnabled;
24386
24421
  exports.mergeOptions = mergeOptions;
24387
24422
  exports.normalizePluginOption = normalizePluginOption;
24423
+ exports.package_ = package_;
24388
24424
  exports.pc = pc;
24389
24425
  exports.rollup = rollup;
24390
24426
  exports.rollupInternal = rollupInternal;
24391
24427
  exports.stderr = stderr;
24392
24428
  exports.underline = underline;
24393
- exports.version = version;
24394
24429
  exports.yellow = yellow;
24395
24430
  //# sourceMappingURL=rollup.js.map
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -15,11 +15,11 @@ const index = require('./index.js');
15
15
  const promises = require('node:fs/promises');
16
16
  const process$2 = require('node:process');
17
17
  const cli = require('../bin/rollup');
18
+ const rollup_js = require('../rollup.js');
18
19
  const rollup = require('./rollup.js');
19
20
  const parseAst_js = require('./parseAst.js');
20
21
  const loadConfigFile_js = require('./loadConfigFile.js');
21
22
  const node_child_process = require('node:child_process');
22
- const rollup_js = require('../rollup.js');
23
23
  require('path');
24
24
  require('fs');
25
25
  require('util');
@@ -478,7 +478,7 @@ async function watch(command) {
478
478
  if (!resetScreen) {
479
479
  resetScreen = getResetScreen(configs, isTTY);
480
480
  }
481
- resetScreen(rollup.underline(`rollup v${rollup.version}`));
481
+ resetScreen(rollup.underline(`rollup v${rollup_js.VERSION}`));
482
482
  }
483
483
  runWatchHook('onStart');
484
484
  break;
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.61.1
4
- Thu, 04 Jun 2026 05:21:21 GMT - commit b77daf0a97cf96e61870cc02de584e923bc70fad
3
+ Rollup.js v4.62.1
4
+ Fri, 19 Jun 2026 12:41:14 GMT - commit caacf701b89e5be4a94b3ffdbf70b51e5cfa3a1a
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rollup",
3
- "version": "4.61.1",
3
+ "version": "4.62.1",
4
4
  "description": "Next-generation ES module bundler",
5
5
  "main": "dist/rollup.js",
6
6
  "module": "dist/es/rollup.js",
@@ -114,31 +114,31 @@
114
114
  "homepage": "https://rollupjs.org/",
115
115
  "optionalDependencies": {
116
116
  "fsevents": "~2.3.2",
117
- "@rollup/rollup-darwin-arm64": "4.61.1",
118
- "@rollup/rollup-android-arm64": "4.61.1",
119
- "@rollup/rollup-win32-arm64-msvc": "4.61.1",
120
- "@rollup/rollup-freebsd-arm64": "4.61.1",
121
- "@rollup/rollup-linux-arm64-gnu": "4.61.1",
122
- "@rollup/rollup-linux-arm64-musl": "4.61.1",
123
- "@rollup/rollup-android-arm-eabi": "4.61.1",
124
- "@rollup/rollup-linux-arm-gnueabihf": "4.61.1",
125
- "@rollup/rollup-linux-arm-musleabihf": "4.61.1",
126
- "@rollup/rollup-win32-ia32-msvc": "4.61.1",
127
- "@rollup/rollup-linux-loong64-gnu": "4.61.1",
128
- "@rollup/rollup-linux-loong64-musl": "4.61.1",
129
- "@rollup/rollup-linux-riscv64-gnu": "4.61.1",
130
- "@rollup/rollup-linux-riscv64-musl": "4.61.1",
131
- "@rollup/rollup-linux-ppc64-gnu": "4.61.1",
132
- "@rollup/rollup-linux-ppc64-musl": "4.61.1",
133
- "@rollup/rollup-linux-s390x-gnu": "4.61.1",
134
- "@rollup/rollup-darwin-x64": "4.61.1",
135
- "@rollup/rollup-win32-x64-gnu": "4.61.1",
136
- "@rollup/rollup-win32-x64-msvc": "4.61.1",
137
- "@rollup/rollup-freebsd-x64": "4.61.1",
138
- "@rollup/rollup-linux-x64-gnu": "4.61.1",
139
- "@rollup/rollup-linux-x64-musl": "4.61.1",
140
- "@rollup/rollup-openbsd-x64": "4.61.1",
141
- "@rollup/rollup-openharmony-arm64": "4.61.1"
117
+ "@rollup/rollup-darwin-arm64": "4.62.1",
118
+ "@rollup/rollup-android-arm64": "4.62.1",
119
+ "@rollup/rollup-win32-arm64-msvc": "4.62.1",
120
+ "@rollup/rollup-freebsd-arm64": "4.62.1",
121
+ "@rollup/rollup-linux-arm64-gnu": "4.62.1",
122
+ "@rollup/rollup-linux-arm64-musl": "4.62.1",
123
+ "@rollup/rollup-android-arm-eabi": "4.62.1",
124
+ "@rollup/rollup-linux-arm-gnueabihf": "4.62.1",
125
+ "@rollup/rollup-linux-arm-musleabihf": "4.62.1",
126
+ "@rollup/rollup-win32-ia32-msvc": "4.62.1",
127
+ "@rollup/rollup-linux-loong64-gnu": "4.62.1",
128
+ "@rollup/rollup-linux-loong64-musl": "4.62.1",
129
+ "@rollup/rollup-linux-riscv64-gnu": "4.62.1",
130
+ "@rollup/rollup-linux-riscv64-musl": "4.62.1",
131
+ "@rollup/rollup-linux-ppc64-gnu": "4.62.1",
132
+ "@rollup/rollup-linux-ppc64-musl": "4.62.1",
133
+ "@rollup/rollup-linux-s390x-gnu": "4.62.1",
134
+ "@rollup/rollup-darwin-x64": "4.62.1",
135
+ "@rollup/rollup-win32-x64-gnu": "4.62.1",
136
+ "@rollup/rollup-win32-x64-msvc": "4.62.1",
137
+ "@rollup/rollup-freebsd-x64": "4.62.1",
138
+ "@rollup/rollup-linux-x64-gnu": "4.62.1",
139
+ "@rollup/rollup-linux-x64-musl": "4.62.1",
140
+ "@rollup/rollup-openbsd-x64": "4.62.1",
141
+ "@rollup/rollup-openharmony-arm64": "4.62.1"
142
142
  },
143
143
  "dependencies": {
144
144
  "@types/estree": "1.0.9"
@@ -152,9 +152,9 @@
152
152
  "@codemirror/language": "^6.12.3",
153
153
  "@codemirror/search": "^6.7.0",
154
154
  "@codemirror/state": "^6.6.0",
155
- "@codemirror/view": "^6.43.0",
156
- "@emnapi/core": "^1.10.0",
157
- "@emnapi/runtime": "^1.10.0",
155
+ "@codemirror/view": "^6.43.1",
156
+ "@emnapi/core": "^1.11.1",
157
+ "@emnapi/runtime": "^1.11.1",
158
158
  "@eslint/js": "^10.0.1",
159
159
  "@inquirer/prompts": "^7.10.1",
160
160
  "@jridgewell/sourcemap-codec": "^1.5.5",
@@ -162,21 +162,21 @@
162
162
  "@napi-rs/cli": "3.4.1",
163
163
  "@rollup/plugin-alias": "^6.0.0",
164
164
  "@rollup/plugin-buble": "^1.0.3",
165
- "@rollup/plugin-commonjs": "^29.0.2",
165
+ "@rollup/plugin-commonjs": "^29.0.3",
166
166
  "@rollup/plugin-json": "^6.1.0",
167
167
  "@rollup/plugin-node-resolve": "^16.0.3",
168
168
  "@rollup/plugin-replace": "^6.0.3",
169
169
  "@rollup/plugin-terser": "^0.4.4",
170
170
  "@rollup/plugin-typescript": "^12.3.0",
171
- "@rollup/pluginutils": "^5.3.0",
172
- "@shikijs/vitepress-twoslash": "^4.1.0",
171
+ "@rollup/pluginutils": "^5.4.0",
172
+ "@shikijs/vitepress-twoslash": "^4.2.0",
173
173
  "@types/mocha": "^10.0.10",
174
- "@types/node": "^20.19.41",
174
+ "@types/node": "^20.19.43",
175
175
  "@types/picomatch": "^4.0.3",
176
176
  "@types/semver": "^7.7.1",
177
177
  "@types/yargs-parser": "^21.0.3",
178
- "@vue/language-server": "^3.3.2",
179
- "acorn": "^8.16.0",
178
+ "@vue/language-server": "^3.3.5",
179
+ "acorn": "^8.17.0",
180
180
  "acorn-import-assertions": "^1.9.0",
181
181
  "acorn-import-phases": "^1.0.4",
182
182
  "acorn-jsx": "^5.3.2",
@@ -188,11 +188,11 @@
188
188
  "date-time": "^4.0.0",
189
189
  "es5-shim": "^4.6.7",
190
190
  "es6-shim": "^0.35.8",
191
- "eslint": "^10.4.0",
191
+ "eslint": "^10.5.0",
192
192
  "eslint-config-prettier": "^10.1.8",
193
- "eslint-plugin-prettier": "^5.5.5",
194
- "eslint-plugin-unicorn": "^64.0.0",
195
- "eslint-plugin-vue": "^10.9.1",
193
+ "eslint-plugin-prettier": "^5.5.6",
194
+ "eslint-plugin-unicorn": "^66.0.0",
195
+ "eslint-plugin-vue": "^10.9.2",
196
196
  "fixturify": "^3.0.0",
197
197
  "flru": "^1.0.2",
198
198
  "fs-extra": "^11.3.5",
@@ -200,10 +200,10 @@
200
200
  "globals": "^17.6.0",
201
201
  "husky": "^9.1.7",
202
202
  "is-reference": "^3.0.3",
203
- "lint-staged": "^17.0.5",
203
+ "lint-staged": "^17.0.7",
204
204
  "locate-character": "^3.0.0",
205
205
  "magic-string": "^0.30.21",
206
- "memfs": "^4.57.2",
206
+ "memfs": "^4.57.7",
207
207
  "mocha": "11.7.6",
208
208
  "nodemon": "^3.1.14",
209
209
  "npm-audit-resolver": "^3.0.0-RC.0",
@@ -212,14 +212,14 @@
212
212
  "picocolors": "^1.1.1",
213
213
  "picomatch": "^4.0.4",
214
214
  "pinia": "^3.0.4",
215
- "prettier": "^3.8.3",
215
+ "prettier": "^3.8.4",
216
216
  "prettier-plugin-organize-imports": "^4.3.0",
217
217
  "pretty-bytes": "^7.1.0",
218
218
  "pretty-ms": "^9.3.0",
219
219
  "requirejs": "^2.3.8",
220
- "rollup": "^4.60.4",
220
+ "rollup": "^4.62.0",
221
221
  "rollup-plugin-license": "^3.7.1",
222
- "semver": "^7.8.1",
222
+ "semver": "^7.8.4",
223
223
  "shx": "^0.4.0",
224
224
  "signal-exit": "^4.1.0",
225
225
  "source-map": "^0.7.6",
@@ -228,17 +228,17 @@
228
228
  "terser": "^5.48.0",
229
229
  "tslib": "^2.8.1",
230
230
  "typescript": "^5.9.3",
231
- "typescript-eslint": "^8.60.0",
232
- "vite": "^7.3.3",
231
+ "typescript-eslint": "^8.61.1",
232
+ "vite": "^7.3.5",
233
233
  "vitepress": "^1.6.4",
234
- "vue": "^3.5.34",
235
- "vue-eslint-parser": "^10.4.0",
236
- "vue-tsc": "^3.3.2",
234
+ "vue": "^3.5.38",
235
+ "vue-eslint-parser": "^10.4.1",
236
+ "vue-tsc": "^3.3.5",
237
237
  "wasm-pack": "^0.15.0",
238
238
  "yargs-parser": "^21.1.1"
239
239
  },
240
240
  "overrides": {
241
- "axios": "^1.16.1",
241
+ "axios": "^1.18.0",
242
242
  "esbuild": ">0.24.2",
243
243
  "lodash-es": ">4.17.22",
244
244
  "path-scurry": {
@@ -247,7 +247,7 @@
247
247
  "readable-stream": "npm:@built-in/readable-stream@1",
248
248
  "react": "^18.3.1",
249
249
  "react-dom": "^18.3.1",
250
- "semver": "^7.8.1",
250
+ "semver": "^7.8.4",
251
251
  "tar": ">7.5.6",
252
252
  "vite": "$vite"
253
253
  },