rollup 4.56.0 → 4.57.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/dist/bin/rollup CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  /*
3
3
  @license
4
- Rollup.js v4.56.0
5
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
4
+ Rollup.js v4.57.0
5
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
6
6
 
7
7
  https://github.com/rollup/rollup
8
8
 
@@ -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.56.0\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.57.0\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
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
package/dist/es/rollup.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,13 +1,13 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
8
8
  Released under the MIT License.
9
9
  */
10
- import { EMPTY_OBJECT, ExportDefaultDeclaration as ExportDefaultDeclaration$1, CallExpression as CallExpression$1, EMPTY_ARRAY, LOGLEVEL_WARN, logUnusedExternalImports, ANNOTATION_KEY, INVALID_ANNOTATION_KEY, ExpressionStatement as ExpressionStatement$1, AwaitExpression as AwaitExpression$1, MemberExpression as MemberExpression$1, Identifier as Identifier$1, FunctionExpression as FunctionExpression$1, ArrowFunctionExpression as ArrowFunctionExpression$1, ObjectExpression as ObjectExpression$1, Property as Property$1, Program as Program$1, logIllegalImportReassignment, BLANK, logRedeclarationError, StaticBlock as StaticBlock$1, CatchClause as CatchClause$1, logDuplicateArgumentNameError, logModuleLevelDirective, ReturnStatement as ReturnStatement$1, VariableDeclarator as VariableDeclarator$1, logMissingExport, normalize, getImportPath, logMissingNodeBuiltins, logReservedNamespace, error, logIllegalIdentifierAsName, logMissingNameOptionForIifeExport, logMissingNameOptionForUmdExport, RestElement as RestElement$1, logConstVariableReassignError, EMPTY_SET, logCannotCallNamespace, logEval, BlockStatement as BlockStatement$1, getRollupError, logModuleParseError, logParseError, LOGLEVEL_INFO, logFirstSideEffect, locate, logInvalidAnnotation, logThisIsUndefined, getAstBuffer, convertAnnotations, FIXED_STRINGS, convertNode as convertNode$1, logImportAttributeIsInvalid, logImportOptionsAreInvalid, logMissingEntryExport, logSyntheticNamedExportsNeedNamespaceExport, logDuplicateExportError, logInvalidSourcemapForError, augmentCodeLocation, logInconsistentImportAttributes, logMissingJsxExport, logNamespaceConflict, logAmbiguousExternalNamespaces, logShimmedExport, parseAst, TemplateLiteral as TemplateLiteral$1, Literal as Literal$1, logCircularReexport, logInvalidFormatForTopLevelAwait, logAddonNotGenerated, logIncompatibleExportOptionValue, logMixedExport, logFailedValidation, isPathFragment, logCyclicCrossChunkReexport, getAliasName, logUnexpectedNamedImport, isAbsolute as isAbsolute$1, relative as relative$1, logUnexpectedNamespaceReexport, logEmptyChunk, logMissingGlobalName, logOptimizeChunkStatus, logSourcemapBroken, logConflictingSourcemapSources, logChunkInvalid, logInvalidOption, URL_OUTPUT_FORMAT, URL_OUTPUT_DIR, URL_OUTPUT_SOURCEMAPFILE, URL_OUTPUT_AMD_ID, logCannotAssignModuleToChunk, logCircularChunk, logAnonymousPluginCache, logDuplicatePluginName, logUnknownOption, printQuotedStringList, LOGLEVEL_ERROR, logLevelPriority, LOGLEVEL_DEBUG, logInvalidSetAssetSourceCall, logPluginError, logNoTransformMapOrAstWithoutCode, relativeId, logBadLoader, logInternalIdCannotBeExternal, isRelative, logUnresolvedImport, logUnresolvedImportTreatedAsExternal, logExternalSyntheticExports, logUnresolvedEntry, logUnresolvedImplicitDependant, logExternalModulesCannotBeIncludedInManualChunks, logEntryCannotBeExternal, logImplicitDependantCannotBeExternal, logExternalModulesCannotBeTransformedToModules, logNoAssetSourceSet, logFileReferenceIdNotFoundForFilename, logAssetReferenceIdNotFoundForSetSource, logAssetSourceAlreadySet, logInvalidRollupPhaseForChunkEmission, warnDeprecation, logChunkNotGeneratedForFileName, logAssetNotFinalisedForFileName, logFileNameConflict, URL_GENERATEBUNDLE, logInvalidLogPosition, logInputHookInOutputPlugin, logInvalidAddonPluginHook, logInvalidFunctionPluginHook, logImplicitDependantIsNotIncluded, logCircularDependency, augmentLogMessage, URL_JSX, URL_TREESHAKE, URL_TREESHAKE_MODULESIDEEFFECTS, URL_OUTPUT_INLINEDYNAMICIMPORTS, URL_PRESERVEENTRYSIGNATURES, URL_OUTPUT_GENERATEDCODE, isValidUrl, addTrailingSlashIfMissed, URL_OUTPUT_SOURCEMAPBASEURL, URL_OUTPUT_MANUALCHUNKS, logInvalidExportOptionValue, URL_OUTPUT_AMD_BASEPATH, URL_OUTPUT_INTEROP, URL_OUTPUT_EXTERNALIMPORTATTRIBUTES, logAlreadyClosed, logMissingFileOrDirOption, logCannotEmitFromOptionsHook, URL_WATCH } from './parseAst.js';
10
+ import { EMPTY_OBJECT, ExportDefaultDeclaration as ExportDefaultDeclaration$1, CallExpression as CallExpression$1, EMPTY_ARRAY, LOGLEVEL_WARN, logUnusedExternalImports, ANNOTATION_KEY, INVALID_ANNOTATION_KEY, ExpressionStatement as ExpressionStatement$1, AwaitExpression as AwaitExpression$1, MemberExpression as MemberExpression$1, Identifier as Identifier$1, FunctionExpression as FunctionExpression$1, ArrowFunctionExpression as ArrowFunctionExpression$1, ObjectExpression as ObjectExpression$1, Property as Property$1, Program as Program$1, logIllegalImportReassignment, BLANK, logRedeclarationError, StaticBlock as StaticBlock$1, CatchClause as CatchClause$1, logDuplicateArgumentNameError, logModuleLevelDirective, ReturnStatement as ReturnStatement$1, VariableDeclarator as VariableDeclarator$1, logMissingExport, normalize, getImportPath, logMissingNodeBuiltins, logReservedNamespace, error, logIllegalIdentifierAsName, logMissingNameOptionForIifeExport, logMissingNameOptionForUmdExport, RestElement as RestElement$1, logConstVariableReassignError, EMPTY_SET, logCannotCallNamespace, logEval, BlockStatement as BlockStatement$1, getRollupError, logModuleParseError, logParseError, LOGLEVEL_INFO, logFirstSideEffect, locate, logInvalidAnnotation, logThisIsUndefined, getAstBuffer, convertAnnotations, FIXED_STRINGS, convertNode as convertNode$1, logImportAttributeIsInvalid, logImportOptionsAreInvalid, logMissingEntryExport, logSyntheticNamedExportsNeedNamespaceExport, logDuplicateExportError, logInvalidSourcemapForError, augmentCodeLocation, logInconsistentImportAttributes, logMissingJsxExport, logNamespaceConflict, logAmbiguousExternalNamespaces, logShimmedExport, parseAst, TemplateLiteral as TemplateLiteral$1, Literal as Literal$1, logCircularReexport, logInvalidFormatForTopLevelAwait, logAddonNotGenerated, logIncompatibleExportOptionValue, logMixedExport, logFailedValidation, isPathFragment, logCyclicCrossChunkReexport, getAliasName, logUnexpectedNamedImport, isAbsolute as isAbsolute$1, relative as relative$1, logUnexpectedNamespaceReexport, logEmptyChunk, logMissingGlobalName, logOptimizeChunkStatus, logSourcemapBroken, logConflictingSourcemapSources, logChunkInvalid, logInvalidOption, URL_OUTPUT_FORMAT, URL_OUTPUT_DIR, URL_OUTPUT_SOURCEMAPFILE, URL_OUTPUT_AMD_ID, logCannotAssignModuleToChunk, logCircularChunk, logUnknownOption, printQuotedStringList, LOGLEVEL_ERROR, logLevelPriority, LOGLEVEL_DEBUG, logAnonymousPluginCache, logDuplicatePluginName, logInvalidSetAssetSourceCall, logPluginError, logNoTransformMapOrAstWithoutCode, warnDeprecation, URL_TRANSFORM, relativeId, logBadLoader, logInternalIdCannotBeExternal, isRelative, logUnresolvedImport, logUnresolvedImportTreatedAsExternal, logExternalSyntheticExports, logUnresolvedEntry, logUnresolvedImplicitDependant, logExternalModulesCannotBeIncludedInManualChunks, logEntryCannotBeExternal, logImplicitDependantCannotBeExternal, logExternalModulesCannotBeTransformedToModules, URL_LOAD, logNoAssetSourceSet, logFileReferenceIdNotFoundForFilename, logAssetReferenceIdNotFoundForSetSource, logAssetSourceAlreadySet, logInvalidRollupPhaseForChunkEmission, logChunkNotGeneratedForFileName, logAssetNotFinalisedForFileName, logFileNameConflict, URL_GENERATEBUNDLE, logInvalidLogPosition, logInputHookInOutputPlugin, logInvalidAddonPluginHook, logInvalidFunctionPluginHook, logImplicitDependantIsNotIncluded, logCircularDependency, augmentLogMessage, URL_JSX, URL_TREESHAKE, URL_TREESHAKE_MODULESIDEEFFECTS, URL_OUTPUT_INLINEDYNAMICIMPORTS, URL_PRESERVEENTRYSIGNATURES, URL_OUTPUT_GENERATEDCODE, isValidUrl, addTrailingSlashIfMissed, URL_OUTPUT_SOURCEMAPBASEURL, URL_OUTPUT_MANUALCHUNKS, logInvalidExportOptionValue, URL_OUTPUT_AMD_BASEPATH, URL_OUTPUT_INTEROP, URL_OUTPUT_EXTERNALIMPORTATTRIBUTES, logAlreadyClosed, logMissingFileOrDirOption, logCannotEmitFromOptionsHook, URL_WATCH } from './parseAst.js';
11
11
  import { relative, dirname, basename, extname, resolve as resolve$1 } from 'node:path';
12
12
  import { posix, isAbsolute, resolve, win32 } from 'path';
13
13
  import { parseAsync, xxhashBase16, xxhashBase64Url, xxhashBase36 } from '../../native.js';
@@ -27,7 +27,7 @@ function _mergeNamespaces(n, m) {
27
27
  return Object.defineProperty(n, Symbol.toStringTag, { value: 'Module' });
28
28
  }
29
29
 
30
- var version = "4.56.0";
30
+ var version = "4.57.0";
31
31
 
32
32
  // src/vlq.ts
33
33
  var comma = ",".charCodeAt(0);
@@ -7781,7 +7781,7 @@ class MetaProperty extends NodeBase {
7781
7781
  render(code, renderOptions) {
7782
7782
  const { format, pluginDriver, snippets } = renderOptions;
7783
7783
  const { scope: { context: { module } }, meta: { name }, metaProperty, parent, preliminaryChunkId, referenceId, start, end } = this;
7784
- const { id: moduleId } = module;
7784
+ const { id: moduleId, info: { attributes } } = module;
7785
7785
  if (name !== IMPORT)
7786
7786
  return;
7787
7787
  const chunkId = preliminaryChunkId;
@@ -7790,14 +7790,14 @@ class MetaProperty extends NodeBase {
7790
7790
  const relativePath = normalize(relative(dirname(chunkId), fileName));
7791
7791
  const isUrlObject = !!metaProperty?.startsWith(FILE_OBJ_PREFIX);
7792
7792
  const replacement = pluginDriver.hookFirstSync('resolveFileUrl', [
7793
- { chunkId, fileName, format, moduleId, referenceId, relativePath }
7793
+ { attributes, chunkId, fileName, format, moduleId, referenceId, relativePath }
7794
7794
  ]) || relativeUrlMechanisms[format](relativePath, isUrlObject);
7795
7795
  code.overwrite(parent.start, parent.end, replacement, { contentOnly: true });
7796
7796
  return;
7797
7797
  }
7798
7798
  let replacement = pluginDriver.hookFirstSync('resolveImportMeta', [
7799
7799
  metaProperty,
7800
- { chunkId, format, moduleId }
7800
+ { attributes, chunkId, format, moduleId }
7801
7801
  ]);
7802
7802
  if (!replacement) {
7803
7803
  replacement = importMetaMechanisms[format]?.(metaProperty, { chunkId, snippets });
@@ -13353,6 +13353,7 @@ class ImportExpression extends NodeBase {
13353
13353
  },
13354
13354
  moduleId: scope.context.module.id,
13355
13355
  targetChunk: targetChunk ? getChunkInfoWithPath(targetChunk) : null,
13356
+ targetModuleAttributes: resolution && typeof resolution !== 'string' ? resolution.info.attributes : {},
13356
13357
  targetModuleId: resolution && typeof resolution !== 'string' ? resolution.id : null
13357
13358
  }
13358
13359
  ]);
@@ -20850,7 +20851,7 @@ class GlobalScope extends Scope {
20850
20851
  }
20851
20852
  }
20852
20853
 
20853
- function resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes) {
20854
+ function resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes, importerAttributes) {
20854
20855
  let skipped = null;
20855
20856
  let replaceContext = null;
20856
20857
  if (skip) {
@@ -20862,7 +20863,7 @@ function resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolve
20862
20863
  }
20863
20864
  replaceContext = (pluginContext, plugin) => ({
20864
20865
  ...pluginContext,
20865
- resolve: (source, importer, { attributes, custom, isEntry, skipSelf } = BLANK) => {
20866
+ resolve: (source, importer, { attributes, custom, isEntry, skipSelf, importerAttributes } = BLANK) => {
20866
20867
  skipSelf ??= true;
20867
20868
  if (skipSelf &&
20868
20869
  skip.findIndex(skippedCall => {
@@ -20874,15 +20875,15 @@ function resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolve
20874
20875
  // Thus returning Promise.resolve(null) in purpose of fallback to default behavior of `resolveId` plugin hook.
20875
20876
  return Promise.resolve(null);
20876
20877
  }
20877
- return moduleLoaderResolveId(source, importer, custom, isEntry, attributes || EMPTY_OBJECT, skipSelf ? [...skip, { importer, plugin, source }] : skip);
20878
+ return moduleLoaderResolveId(source, importer, custom, isEntry, attributes || EMPTY_OBJECT, importerAttributes, skipSelf ? [...skip, { importer, plugin, source }] : skip);
20878
20879
  }
20879
20880
  });
20880
20881
  }
20881
- return pluginDriver.hookFirstAndGetPlugin('resolveId', [source, importer, { attributes, custom: customOptions, isEntry }], replaceContext, skipped);
20882
+ return pluginDriver.hookFirstAndGetPlugin('resolveId', [source, importer, { attributes, custom: customOptions, importerAttributes, isEntry }], replaceContext, skipped);
20882
20883
  }
20883
20884
 
20884
- async function resolveId(source, importer, preserveSymlinks, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes, fs) {
20885
- const pluginResult = await resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes);
20885
+ async function resolveId(source, importer, preserveSymlinks, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes, importerAttributes, fs) {
20886
+ const pluginResult = await resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes, importerAttributes);
20886
20887
  if (pluginResult != null) {
20887
20888
  const [resolveIdResult, plugin] = pluginResult;
20888
20889
  if (typeof resolveIdResult === 'object' && !resolveIdResult.resolvedBy) {
@@ -20939,89 +20940,6 @@ function stripBom(content) {
20939
20940
  return content;
20940
20941
  }
20941
20942
 
20942
- const ANONYMOUS_PLUGIN_PREFIX = 'at position ';
20943
- const ANONYMOUS_OUTPUT_PLUGIN_PREFIX = 'at output position ';
20944
-
20945
- function createPluginCache(cache) {
20946
- return {
20947
- delete(id) {
20948
- return delete cache[id];
20949
- },
20950
- get(id) {
20951
- const item = cache[id];
20952
- if (!item)
20953
- return;
20954
- item[0] = 0;
20955
- return item[1];
20956
- },
20957
- has(id) {
20958
- const item = cache[id];
20959
- if (!item)
20960
- return false;
20961
- item[0] = 0;
20962
- return true;
20963
- },
20964
- set(id, value) {
20965
- cache[id] = [0, value];
20966
- }
20967
- };
20968
- }
20969
- function getTrackedPluginCache(pluginCache, onUse) {
20970
- return {
20971
- delete(id) {
20972
- onUse();
20973
- return pluginCache.delete(id);
20974
- },
20975
- get(id) {
20976
- onUse();
20977
- return pluginCache.get(id);
20978
- },
20979
- has(id) {
20980
- onUse();
20981
- return pluginCache.has(id);
20982
- },
20983
- set(id, value) {
20984
- onUse();
20985
- return pluginCache.set(id, value);
20986
- }
20987
- };
20988
- }
20989
- const NO_CACHE = {
20990
- delete() {
20991
- return false;
20992
- },
20993
- get() {
20994
- return undefined;
20995
- },
20996
- has() {
20997
- return false;
20998
- },
20999
- set() { }
21000
- };
21001
- function uncacheablePluginError(pluginName) {
21002
- if (pluginName.startsWith(ANONYMOUS_PLUGIN_PREFIX) ||
21003
- pluginName.startsWith(ANONYMOUS_OUTPUT_PLUGIN_PREFIX)) {
21004
- return error(logAnonymousPluginCache());
21005
- }
21006
- return error(logDuplicatePluginName(pluginName));
21007
- }
21008
- function getCacheForUncacheablePlugin(pluginName) {
21009
- return {
21010
- delete() {
21011
- return uncacheablePluginError(pluginName);
21012
- },
21013
- get() {
21014
- return uncacheablePluginError(pluginName);
21015
- },
21016
- has() {
21017
- return uncacheablePluginError(pluginName);
21018
- },
21019
- set() {
21020
- return uncacheablePluginError(pluginName);
21021
- }
21022
- };
21023
- }
21024
-
21025
20943
  async function asyncFlatten(array) {
21026
20944
  do {
21027
20945
  array = (await Promise.all(array)).flat(Infinity);
@@ -21184,7 +21102,90 @@ const getOptionWithPreset = (value, presets, optionName, urlSnippet, additionalV
21184
21102
  };
21185
21103
  const normalizePluginOption = async (plugins) => (await asyncFlatten([plugins])).filter(Boolean);
21186
21104
 
21187
- async function transform(source, module, pluginDriver, log) {
21105
+ const ANONYMOUS_PLUGIN_PREFIX = 'at position ';
21106
+ const ANONYMOUS_OUTPUT_PLUGIN_PREFIX = 'at output position ';
21107
+
21108
+ function createPluginCache(cache) {
21109
+ return {
21110
+ delete(id) {
21111
+ return delete cache[id];
21112
+ },
21113
+ get(id) {
21114
+ const item = cache[id];
21115
+ if (!item)
21116
+ return;
21117
+ item[0] = 0;
21118
+ return item[1];
21119
+ },
21120
+ has(id) {
21121
+ const item = cache[id];
21122
+ if (!item)
21123
+ return false;
21124
+ item[0] = 0;
21125
+ return true;
21126
+ },
21127
+ set(id, value) {
21128
+ cache[id] = [0, value];
21129
+ }
21130
+ };
21131
+ }
21132
+ function getTrackedPluginCache(pluginCache, onUse) {
21133
+ return {
21134
+ delete(id) {
21135
+ onUse();
21136
+ return pluginCache.delete(id);
21137
+ },
21138
+ get(id) {
21139
+ onUse();
21140
+ return pluginCache.get(id);
21141
+ },
21142
+ has(id) {
21143
+ onUse();
21144
+ return pluginCache.has(id);
21145
+ },
21146
+ set(id, value) {
21147
+ onUse();
21148
+ return pluginCache.set(id, value);
21149
+ }
21150
+ };
21151
+ }
21152
+ const NO_CACHE = {
21153
+ delete() {
21154
+ return false;
21155
+ },
21156
+ get() {
21157
+ return undefined;
21158
+ },
21159
+ has() {
21160
+ return false;
21161
+ },
21162
+ set() { }
21163
+ };
21164
+ function uncacheablePluginError(pluginName) {
21165
+ if (pluginName.startsWith(ANONYMOUS_PLUGIN_PREFIX) ||
21166
+ pluginName.startsWith(ANONYMOUS_OUTPUT_PLUGIN_PREFIX)) {
21167
+ return error(logAnonymousPluginCache());
21168
+ }
21169
+ return error(logDuplicatePluginName(pluginName));
21170
+ }
21171
+ function getCacheForUncacheablePlugin(pluginName) {
21172
+ return {
21173
+ delete() {
21174
+ return uncacheablePluginError(pluginName);
21175
+ },
21176
+ get() {
21177
+ return uncacheablePluginError(pluginName);
21178
+ },
21179
+ has() {
21180
+ return uncacheablePluginError(pluginName);
21181
+ },
21182
+ set() {
21183
+ return uncacheablePluginError(pluginName);
21184
+ }
21185
+ };
21186
+ }
21187
+
21188
+ async function transform(source, module, pluginDriver, options) {
21188
21189
  const id = module.id;
21189
21190
  const sourcemapChain = [];
21190
21191
  let originalSourcemap = source.map === null ? null : decodedSourcemap(source.map);
@@ -21206,10 +21207,13 @@ async function transform(source, module, pluginDriver, log) {
21206
21207
  module.updateOptions(result);
21207
21208
  if (result.code == null) {
21208
21209
  if (result.map || result.ast) {
21209
- log(LOGLEVEL_WARN, logNoTransformMapOrAstWithoutCode(plugin.name));
21210
+ options.onLog(LOGLEVEL_WARN, logNoTransformMapOrAstWithoutCode(plugin.name));
21210
21211
  }
21211
21212
  return previousCode;
21212
21213
  }
21214
+ if (result.attributes) {
21215
+ warnDeprecation('Returning attributes from the "transform" hook is forbidden.', URL_TRANSFORM, false, options);
21216
+ }
21213
21217
  ({ code, map, ast } = result);
21214
21218
  }
21215
21219
  else {
@@ -21236,7 +21240,13 @@ async function transform(source, module, pluginDriver, log) {
21236
21240
  };
21237
21241
  let code;
21238
21242
  try {
21239
- code = await pluginDriver.hookReduceArg0('transform', [currentSource, id], transformReducer, (pluginContext, plugin) => {
21243
+ code = await pluginDriver.hookReduceArg0('transform', [
21244
+ currentSource,
21245
+ id,
21246
+ {
21247
+ attributes: module.info.attributes
21248
+ }
21249
+ ], transformReducer, (pluginContext, plugin) => {
21240
21250
  pluginName = plugin.name;
21241
21251
  return {
21242
21252
  ...pluginContext,
@@ -21262,7 +21272,7 @@ async function transform(source, module, pluginDriver, log) {
21262
21272
  return pluginContext.error(error_);
21263
21273
  },
21264
21274
  getCombinedSourcemap() {
21265
- const combinedMap = collapseSourcemap(id, originalCode, originalSourcemap, sourcemapChain, log);
21275
+ const combinedMap = collapseSourcemap(id, originalCode, originalSourcemap, sourcemapChain, options.onLog);
21266
21276
  if (!combinedMap) {
21267
21277
  const magicString = new MagicString(originalCode);
21268
21278
  return magicString.generateMap({ hires: true, includeContent: true, source: id });
@@ -21317,15 +21327,15 @@ class ModuleLoader {
21317
21327
  this.modulesWithLoadedDependencies = new Set();
21318
21328
  this.nextChunkNamePriority = 0;
21319
21329
  this.nextEntryModuleIndex = 0;
21320
- this.resolveId = async (source, importer, customOptions, isEntry, attributes, skip = null) => this.getResolvedIdWithDefaults(this.getNormalizedResolvedIdWithoutDefaults(this.options.external(source, importer, false)
21330
+ this.resolveId = async (source, importer, customOptions, isEntry, attributes, importerAttributes, skip = null) => this.getResolvedIdWithDefaults(this.getNormalizedResolvedIdWithoutDefaults(this.options.external(source, importer, false)
21321
21331
  ? false
21322
- : await resolveId(source, importer, this.options.preserveSymlinks, this.pluginDriver, this.resolveId, skip, customOptions, typeof isEntry === 'boolean' ? isEntry : !importer, attributes, this.options.fs), importer, source), attributes);
21332
+ : await resolveId(source, importer, this.options.preserveSymlinks, this.pluginDriver, this.resolveId, skip, customOptions, typeof isEntry === 'boolean' ? isEntry : !importer, attributes, importerAttributes, this.options.fs), importer, source), attributes);
21323
21333
  this.hasModuleSideEffects = options.treeshake
21324
21334
  ? options.treeshake.moduleSideEffects
21325
21335
  : () => true;
21326
21336
  }
21327
21337
  async addAdditionalModules(unresolvedModules, isAddForManualChunks) {
21328
- const result = this.extendLoadModulesPromise(Promise.all(unresolvedModules.map(id => this.loadEntryModule(id, false, undefined, null, isAddForManualChunks))));
21338
+ const result = this.extendLoadModulesPromise(Promise.all(unresolvedModules.map(id => this.loadEntryModule(id, false, undefined, null, isAddForManualChunks, undefined))));
21329
21339
  await this.awaitLoadModulesPromise();
21330
21340
  return result;
21331
21341
  }
@@ -21334,7 +21344,7 @@ class ModuleLoader {
21334
21344
  this.nextEntryModuleIndex += unresolvedEntryModules.length;
21335
21345
  const firstChunkNamePriority = this.nextChunkNamePriority;
21336
21346
  this.nextChunkNamePriority += unresolvedEntryModules.length;
21337
- const newEntryModules = await this.extendLoadModulesPromise(Promise.all(unresolvedEntryModules.map(({ id, importer }) => this.loadEntryModule(id, true, importer, null))).then(entryModules => {
21347
+ const newEntryModules = await this.extendLoadModulesPromise(Promise.all(unresolvedEntryModules.map(({ id, importer }) => this.loadEntryModule(id, true, importer, null, undefined, undefined))).then(entryModules => {
21338
21348
  for (const [index, entryModule] of entryModules.entries()) {
21339
21349
  entryModule.isUserDefinedEntryPoint =
21340
21350
  entryModule.isUserDefinedEntryPoint || isUserDefined;
@@ -21381,10 +21391,10 @@ class ModuleLoader {
21381
21391
  }
21382
21392
  addEntryWithImplicitDependants(unresolvedModule, implicitlyLoadedAfter) {
21383
21393
  const chunkNamePriority = this.nextChunkNamePriority++;
21384
- return this.extendLoadModulesPromise(this.loadEntryModule(unresolvedModule.id, false, unresolvedModule.importer, null).then(async (entryModule) => {
21394
+ return this.extendLoadModulesPromise(this.loadEntryModule(unresolvedModule.id, false, unresolvedModule.importer, null, undefined, undefined).then(async (entryModule) => {
21385
21395
  addChunkNamesToModule(entryModule, unresolvedModule, false, chunkNamePriority);
21386
21396
  if (!entryModule.info.isEntry) {
21387
- const implicitlyLoadedAfterModules = await Promise.all(implicitlyLoadedAfter.map(id => this.loadEntryModule(id, false, unresolvedModule.importer, entryModule.id)));
21397
+ const implicitlyLoadedAfterModules = await Promise.all(implicitlyLoadedAfter.map(id => this.loadEntryModule(id, false, unresolvedModule.importer, entryModule.id, undefined, undefined)));
21388
21398
  // We need to check again if this is still an entry module as these
21389
21399
  // changes need to be performed atomically to avoid race conditions
21390
21400
  // if the same module is re-emitted as an entry module.
@@ -21406,9 +21416,16 @@ class ModuleLoader {
21406
21416
  let source;
21407
21417
  try {
21408
21418
  source = await this.graph.fileOperationQueue.run(async () => {
21409
- const content = await this.pluginDriver.hookFirst('load', [id]);
21410
- if (content !== null)
21419
+ const content = await this.pluginDriver.hookFirst('load', [
21420
+ id,
21421
+ { attributes: module.info.attributes }
21422
+ ]);
21423
+ if (content !== null) {
21424
+ if (typeof content === 'object' && content.attributes) {
21425
+ warnDeprecation('Returning attributes from the "load" hook is forbidden.', URL_LOAD, false, this.options);
21426
+ }
21411
21427
  return content;
21428
+ }
21412
21429
  this.graph.watchFiles[id] = true;
21413
21430
  return (await this.options.fs.readFile(id, { encoding: 'utf8' }));
21414
21431
  });
@@ -21434,6 +21451,7 @@ class ModuleLoader {
21434
21451
  !(await this.pluginDriver.hookFirst('shouldTransformCachedModule', [
21435
21452
  {
21436
21453
  ast: cachedModule.ast,
21454
+ attributes: cachedModule.attributes,
21437
21455
  code: cachedModule.code,
21438
21456
  id: cachedModule.id,
21439
21457
  meta: cachedModule.meta,
@@ -21450,7 +21468,7 @@ class ModuleLoader {
21450
21468
  }
21451
21469
  else {
21452
21470
  module.updateOptions(sourceDescription);
21453
- await module.setSource(await transform(sourceDescription, module, this.pluginDriver, this.options.onLog));
21471
+ await module.setSource(await transform(sourceDescription, module, this.pluginDriver, this.options));
21454
21472
  }
21455
21473
  }
21456
21474
  async awaitLoadModulesPromise() {
@@ -21623,7 +21641,7 @@ class ModuleLoader {
21623
21641
  source,
21624
21642
  (module.resolvedIds[source] =
21625
21643
  module.resolvedIds[source] ||
21626
- this.handleInvalidResolvedId(await this.resolveId(source, module.id, EMPTY_OBJECT, false, attributes), source, module.id, attributes))
21644
+ this.handleInvalidResolvedId(await this.resolveId(source, module.id, EMPTY_OBJECT, false, attributes, module.info.attributes), source, module.id, attributes))
21627
21645
  ]);
21628
21646
  }
21629
21647
  getResolvedIdWithDefaults(resolvedId, attributes) {
@@ -21681,8 +21699,8 @@ class ModuleLoader {
21681
21699
  }
21682
21700
  return resolvedId;
21683
21701
  }
21684
- async loadEntryModule(unresolvedId, isEntry, importer, implicitlyLoadedBefore, isLoadForManualChunks = false) {
21685
- const resolveIdResult = await resolveId(unresolvedId, importer, this.options.preserveSymlinks, this.pluginDriver, this.resolveId, null, EMPTY_OBJECT, true, EMPTY_OBJECT, this.options.fs);
21702
+ async loadEntryModule(unresolvedId, isEntry, importer, implicitlyLoadedBefore, isLoadForManualChunks = false, importerAttributes) {
21703
+ const resolveIdResult = await resolveId(unresolvedId, importer, this.options.preserveSymlinks, this.pluginDriver, this.resolveId, null, EMPTY_OBJECT, true, EMPTY_OBJECT, importerAttributes, this.options.fs);
21686
21704
  if (resolveIdResult == null) {
21687
21705
  return error(implicitlyLoadedBefore === null
21688
21706
  ? logUnresolvedEntry(unresolvedId)
@@ -21704,7 +21722,7 @@ class ModuleLoader {
21704
21722
  const resolution = await this.pluginDriver.hookFirst('resolveDynamicImport', [
21705
21723
  specifier,
21706
21724
  importer,
21707
- { attributes }
21725
+ { attributes, importerAttributes: module.info.attributes }
21708
21726
  ]);
21709
21727
  if (typeof specifier !== 'string') {
21710
21728
  if (typeof resolution === 'string') {
@@ -21723,7 +21741,7 @@ class ModuleLoader {
21723
21741
  }
21724
21742
  return existingResolution;
21725
21743
  }
21726
- return (module.resolvedIds[specifier] = this.handleInvalidResolvedId(await this.resolveId(specifier, module.id, EMPTY_OBJECT, false, attributes), specifier, module.id, attributes));
21744
+ return (module.resolvedIds[specifier] = this.handleInvalidResolvedId(await this.resolveId(specifier, module.id, EMPTY_OBJECT, false, attributes, module.info.attributes), specifier, module.id, attributes));
21727
21745
  }
21728
21746
  return this.handleInvalidResolvedId(this.getResolvedIdWithDefaults(this.getNormalizedResolvedIdWithoutDefaults(resolution, importer, specifier), attributes), specifier, importer, attributes);
21729
21747
  }
@@ -22218,9 +22236,9 @@ function getPluginContext(plugin, pluginCache, graph, options, fileEmitter, exis
22218
22236
  watchMode: graph.watchMode
22219
22237
  },
22220
22238
  parse: parseAst,
22221
- resolve(source, importer, { attributes, custom, isEntry, skipSelf } = BLANK) {
22239
+ resolve(source, importer, { attributes, custom, isEntry, skipSelf, importerAttributes } = BLANK) {
22222
22240
  skipSelf ??= true;
22223
- return graph.moduleLoader.resolveId(source, importer, custom, isEntry, attributes || EMPTY_OBJECT, skipSelf ? [{ importer, plugin, source }] : null);
22241
+ return graph.moduleLoader.resolveId(source, importer, custom, isEntry, attributes || EMPTY_OBJECT, importerAttributes, skipSelf ? [{ importer, plugin, source }] : null);
22224
22242
  },
22225
22243
  setAssetSource: fileEmitter.setAssetSource,
22226
22244
  warn: getLogHandler(LOGLEVEL_WARN, 'PLUGIN_WARNING', onLog, plugin.name, logLevel)
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -391,6 +391,8 @@ const URL_TREESHAKE_NOSIDEEFFECTS = 'configuration-options/#no-side-effects';
391
391
  const URL_TREESHAKE_MODULESIDEEFFECTS = 'configuration-options/#treeshake-modulesideeffects';
392
392
  const URL_WATCH = 'configuration-options/#watch';
393
393
  const URL_GENERATEBUNDLE = 'plugin-development/#generatebundle';
394
+ const URL_LOAD = 'plugin-development/#load';
395
+ const URL_TRANSFORM = 'plugin-development/#transform';
394
396
 
395
397
  function error(base) {
396
398
  throw base instanceof Error ? base : getRollupError(base);
@@ -2091,4 +2093,4 @@ function getAstBuffer(astBuffer) {
2091
2093
  const parseAst = (input, { allowReturnOutsideFunction = false, jsx = false } = {}) => convertProgram(getAstBuffer(parse(input, allowReturnOutsideFunction, jsx)));
2092
2094
  const parseAstAsync = async (input, { allowReturnOutsideFunction = false, jsx = false, signal } = {}) => convertProgram(getAstBuffer(await parseAsync(input, allowReturnOutsideFunction, jsx, signal)));
2093
2095
 
2094
- export { ANNOTATION_KEY, ArrowFunctionExpression, AwaitExpression, BLANK, BlockStatement, CallExpression, CatchClause, EMPTY_ARRAY, EMPTY_OBJECT, EMPTY_SET, ExportDefaultDeclaration, ExpressionStatement, FIXED_STRINGS, FunctionExpression, INVALID_ANNOTATION_KEY, Identifier, LOGLEVEL_DEBUG, LOGLEVEL_ERROR, LOGLEVEL_INFO, LOGLEVEL_WARN, Literal, MemberExpression, ObjectExpression, Program, Property, RestElement, ReturnStatement, StaticBlock, TemplateLiteral, URL_GENERATEBUNDLE, URL_JSX, URL_OUTPUT_AMD_BASEPATH, URL_OUTPUT_AMD_ID, URL_OUTPUT_DIR, URL_OUTPUT_EXTERNALIMPORTATTRIBUTES, URL_OUTPUT_FORMAT, URL_OUTPUT_GENERATEDCODE, URL_OUTPUT_INLINEDYNAMICIMPORTS, URL_OUTPUT_INTEROP, URL_OUTPUT_MANUALCHUNKS, URL_OUTPUT_SOURCEMAPBASEURL, URL_OUTPUT_SOURCEMAPFILE, URL_PRESERVEENTRYSIGNATURES, URL_TREESHAKE, URL_TREESHAKE_MODULESIDEEFFECTS, URL_WATCH, VariableDeclarator, addTrailingSlashIfMissed, augmentCodeLocation, augmentLogMessage, convertAnnotations, convertNode, error, getAliasName, getAstBuffer, getImportPath, getRollupError, isAbsolute, isPathFragment, isRelative, isValidUrl, locate, logAddonNotGenerated, logAlreadyClosed, logAmbiguousExternalNamespaces, logAnonymousPluginCache, logAssetNotFinalisedForFileName, logAssetReferenceIdNotFoundForSetSource, logAssetSourceAlreadySet, logBadLoader, logCannotAssignModuleToChunk, logCannotCallNamespace, logCannotEmitFromOptionsHook, logChunkInvalid, logChunkNotGeneratedForFileName, logCircularChunk, logCircularDependency, logCircularReexport, logConflictingSourcemapSources, logConstVariableReassignError, logCyclicCrossChunkReexport, logDuplicateArgumentNameError, logDuplicateExportError, logDuplicatePluginName, logEmptyChunk, logEntryCannotBeExternal, logEval, logExternalModulesCannotBeIncludedInManualChunks, logExternalModulesCannotBeTransformedToModules, logExternalSyntheticExports, logFailedValidation, logFileNameConflict, logFileReferenceIdNotFoundForFilename, logFirstSideEffect, logIllegalIdentifierAsName, logIllegalImportReassignment, logImplicitDependantCannotBeExternal, logImplicitDependantIsNotIncluded, logImportAttributeIsInvalid, logImportOptionsAreInvalid, logIncompatibleExportOptionValue, logInconsistentImportAttributes, logInputHookInOutputPlugin, logInternalIdCannotBeExternal, logInvalidAddonPluginHook, logInvalidAnnotation, logInvalidExportOptionValue, logInvalidFormatForTopLevelAwait, logInvalidFunctionPluginHook, logInvalidLogPosition, logInvalidOption, logInvalidRollupPhaseForChunkEmission, logInvalidSetAssetSourceCall, logInvalidSourcemapForError, logLevelPriority, logMissingEntryExport, logMissingExport, logMissingFileOrDirOption, logMissingGlobalName, logMissingJsxExport, logMissingNameOptionForIifeExport, logMissingNameOptionForUmdExport, logMissingNodeBuiltins, logMixedExport, logModuleLevelDirective, logModuleParseError, logNamespaceConflict, logNoAssetSourceSet, logNoTransformMapOrAstWithoutCode, logOptimizeChunkStatus, logParseError, logPluginError, logRedeclarationError, logReservedNamespace, logShimmedExport, logSourcemapBroken, logSyntheticNamedExportsNeedNamespaceExport, logThisIsUndefined, logUnexpectedNamedImport, logUnexpectedNamespaceReexport, logUnknownOption, logUnresolvedEntry, logUnresolvedImplicitDependant, logUnresolvedImport, logUnresolvedImportTreatedAsExternal, logUnusedExternalImports, normalize, parseAst, parseAstAsync, printQuotedStringList, relative, relativeId, warnDeprecation };
2096
+ export { ANNOTATION_KEY, ArrowFunctionExpression, AwaitExpression, BLANK, BlockStatement, CallExpression, CatchClause, EMPTY_ARRAY, EMPTY_OBJECT, EMPTY_SET, ExportDefaultDeclaration, ExpressionStatement, FIXED_STRINGS, FunctionExpression, INVALID_ANNOTATION_KEY, Identifier, LOGLEVEL_DEBUG, LOGLEVEL_ERROR, LOGLEVEL_INFO, LOGLEVEL_WARN, Literal, MemberExpression, ObjectExpression, Program, Property, RestElement, ReturnStatement, StaticBlock, TemplateLiteral, URL_GENERATEBUNDLE, URL_JSX, URL_LOAD, URL_OUTPUT_AMD_BASEPATH, URL_OUTPUT_AMD_ID, URL_OUTPUT_DIR, URL_OUTPUT_EXTERNALIMPORTATTRIBUTES, URL_OUTPUT_FORMAT, URL_OUTPUT_GENERATEDCODE, URL_OUTPUT_INLINEDYNAMICIMPORTS, URL_OUTPUT_INTEROP, URL_OUTPUT_MANUALCHUNKS, URL_OUTPUT_SOURCEMAPBASEURL, URL_OUTPUT_SOURCEMAPFILE, URL_PRESERVEENTRYSIGNATURES, URL_TRANSFORM, URL_TREESHAKE, URL_TREESHAKE_MODULESIDEEFFECTS, URL_WATCH, VariableDeclarator, addTrailingSlashIfMissed, augmentCodeLocation, augmentLogMessage, convertAnnotations, convertNode, error, getAliasName, getAstBuffer, getImportPath, getRollupError, isAbsolute, isPathFragment, isRelative, isValidUrl, locate, logAddonNotGenerated, logAlreadyClosed, logAmbiguousExternalNamespaces, logAnonymousPluginCache, logAssetNotFinalisedForFileName, logAssetReferenceIdNotFoundForSetSource, logAssetSourceAlreadySet, logBadLoader, logCannotAssignModuleToChunk, logCannotCallNamespace, logCannotEmitFromOptionsHook, logChunkInvalid, logChunkNotGeneratedForFileName, logCircularChunk, logCircularDependency, logCircularReexport, logConflictingSourcemapSources, logConstVariableReassignError, logCyclicCrossChunkReexport, logDuplicateArgumentNameError, logDuplicateExportError, logDuplicatePluginName, logEmptyChunk, logEntryCannotBeExternal, logEval, logExternalModulesCannotBeIncludedInManualChunks, logExternalModulesCannotBeTransformedToModules, logExternalSyntheticExports, logFailedValidation, logFileNameConflict, logFileReferenceIdNotFoundForFilename, logFirstSideEffect, logIllegalIdentifierAsName, logIllegalImportReassignment, logImplicitDependantCannotBeExternal, logImplicitDependantIsNotIncluded, logImportAttributeIsInvalid, logImportOptionsAreInvalid, logIncompatibleExportOptionValue, logInconsistentImportAttributes, logInputHookInOutputPlugin, logInternalIdCannotBeExternal, logInvalidAddonPluginHook, logInvalidAnnotation, logInvalidExportOptionValue, logInvalidFormatForTopLevelAwait, logInvalidFunctionPluginHook, logInvalidLogPosition, logInvalidOption, logInvalidRollupPhaseForChunkEmission, logInvalidSetAssetSourceCall, logInvalidSourcemapForError, logLevelPriority, logMissingEntryExport, logMissingExport, logMissingFileOrDirOption, logMissingGlobalName, logMissingJsxExport, logMissingNameOptionForIifeExport, logMissingNameOptionForUmdExport, logMissingNodeBuiltins, logMixedExport, logModuleLevelDirective, logModuleParseError, logNamespaceConflict, logNoAssetSourceSet, logNoTransformMapOrAstWithoutCode, logOptimizeChunkStatus, logParseError, logPluginError, logRedeclarationError, logReservedNamespace, logShimmedExport, logSourcemapBroken, logSyntheticNamedExportsNeedNamespaceExport, logThisIsUndefined, logUnexpectedNamedImport, logUnexpectedNamespaceReexport, logUnknownOption, logUnresolvedEntry, logUnresolvedImplicitDependant, logUnresolvedImport, logUnresolvedImportTreatedAsExternal, logUnusedExternalImports, normalize, parseAst, parseAstAsync, printQuotedStringList, relative, relativeId, warnDeprecation };
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
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.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
package/dist/rollup.d.ts CHANGED
@@ -261,6 +261,7 @@ export interface PluginContext extends MinimalPluginContext {
261
261
  source: string,
262
262
  importer?: string,
263
263
  options?: {
264
+ importerAttributes?: Record<string, string>;
264
265
  attributes?: Record<string, string>;
265
266
  custom?: CustomPluginOptions;
266
267
  isEntry?: boolean;
@@ -312,13 +313,19 @@ export type ResolveIdHook = (
312
313
  this: PluginContext,
313
314
  source: string,
314
315
  importer: string | undefined,
315
- options: { attributes: Record<string, string>; custom?: CustomPluginOptions; isEntry: boolean }
316
+ options: {
317
+ attributes: Record<string, string>;
318
+ custom?: CustomPluginOptions;
319
+ importerAttributes?: Record<string, string> | undefined;
320
+ isEntry: boolean;
321
+ }
316
322
  ) => ResolveIdResult;
317
323
 
318
324
  export type ShouldTransformCachedModuleHook = (
319
325
  this: PluginContext,
320
326
  options: {
321
327
  ast: ProgramNode;
328
+ attributes: Record<string, string>;
322
329
  code: string;
323
330
  id: string;
324
331
  meta: CustomPluginOptions;
@@ -338,7 +345,19 @@ export type HasModuleSideEffects = (id: string, external: boolean) => boolean;
338
345
 
339
346
  export type LoadResult = SourceDescription | string | NullValue;
340
347
 
341
- export type LoadHook = (this: PluginContext, id: string) => LoadResult;
348
+ export type LoadHook = (
349
+ this: PluginContext,
350
+ id: string,
351
+ // temporarily marked as optional for better Vite type-compatibility
352
+ options?:
353
+ | {
354
+ // unused, temporarily added for better Vite type-compatibility
355
+ ssr?: boolean | undefined;
356
+ // temporarily marked as optional for better Vite type-compatibility
357
+ attributes?: Record<string, string>;
358
+ }
359
+ | undefined
360
+ ) => LoadResult;
342
361
 
343
362
  export interface TransformPluginContext extends PluginContext {
344
363
  debug: LoggingFunctionWithPosition;
@@ -353,7 +372,16 @@ export type TransformResult = string | NullValue | Partial<SourceDescription>;
353
372
  export type TransformHook = (
354
373
  this: TransformPluginContext,
355
374
  code: string,
356
- id: string
375
+ id: string,
376
+ // temporarily marked as optional for better Vite type-compatibility
377
+ options?:
378
+ | {
379
+ // unused, temporarily added for better Vite type-compatibility
380
+ ssr?: boolean | undefined;
381
+ // temporarily marked as optional for better Vite type-compatibility
382
+ attributes?: Record<string, string>;
383
+ }
384
+ | undefined
357
385
  ) => TransformResult;
358
386
 
359
387
  export type ModuleParsedHook = (this: PluginContext, info: ModuleInfo) => void;
@@ -370,18 +398,24 @@ export type ResolveDynamicImportHook = (
370
398
  this: PluginContext,
371
399
  specifier: string | AstNode,
372
400
  importer: string,
373
- options: { attributes: Record<string, string> }
401
+ options: { attributes: Record<string, string>; importerAttributes: Record<string, string> }
374
402
  ) => ResolveIdResult;
375
403
 
376
404
  export type ResolveImportMetaHook = (
377
405
  this: PluginContext,
378
406
  property: string | null,
379
- options: { chunkId: string; format: InternalModuleFormat; moduleId: string }
407
+ options: {
408
+ attributes: Record<string, string>;
409
+ chunkId: string;
410
+ format: InternalModuleFormat;
411
+ moduleId: string;
412
+ }
380
413
  ) => string | NullValue;
381
414
 
382
415
  export type ResolveFileUrlHook = (
383
416
  this: PluginContext,
384
417
  options: {
418
+ attributes: Record<string, string>;
385
419
  chunkId: string;
386
420
  fileName: string;
387
421
  format: InternalModuleFormat;
@@ -463,6 +497,7 @@ export interface FunctionPluginHooks {
463
497
  chunk: PreRenderedChunkWithFileName;
464
498
  targetChunk: PreRenderedChunkWithFileName | null;
465
499
  getTargetChunkImports: () => DynamicImportTargetChunk[] | null;
500
+ targetModuleAttributes: Record<string, string>;
466
501
  }
467
502
  ) => { left: string; right: string } | NullValue;
468
503
  renderError: (this: PluginContext, error?: Error) => void;
package/dist/rollup.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -276,6 +276,8 @@ const URL_WATCH = 'configuration-options/#watch';
276
276
  const URL_BUNDLE_CONFIG_AS_CJS = 'command-line-interface/#bundleconfigascjs';
277
277
  const URL_CONFIGURATION_FILES = 'command-line-interface/#configuration-files';
278
278
  const URL_GENERATEBUNDLE = 'plugin-development/#generatebundle';
279
+ const URL_LOAD = 'plugin-development/#load';
280
+ const URL_TRANSFORM = 'plugin-development/#transform';
279
281
 
280
282
  function error(base) {
281
283
  throw base instanceof Error ? base : getRollupError(base);
@@ -2186,6 +2188,7 @@ exports.TemplateLiteral = TemplateLiteral;
2186
2188
  exports.URL_AVOIDING_EVAL = URL_AVOIDING_EVAL;
2187
2189
  exports.URL_GENERATEBUNDLE = URL_GENERATEBUNDLE;
2188
2190
  exports.URL_JSX = URL_JSX;
2191
+ exports.URL_LOAD = URL_LOAD;
2189
2192
  exports.URL_NAME_IS_NOT_EXPORTED = URL_NAME_IS_NOT_EXPORTED;
2190
2193
  exports.URL_OUTPUT_AMD_BASEPATH = URL_OUTPUT_AMD_BASEPATH;
2191
2194
  exports.URL_OUTPUT_AMD_ID = URL_OUTPUT_AMD_ID;
@@ -2203,6 +2206,7 @@ exports.URL_OUTPUT_SOURCEMAPFILE = URL_OUTPUT_SOURCEMAPFILE;
2203
2206
  exports.URL_PRESERVEENTRYSIGNATURES = URL_PRESERVEENTRYSIGNATURES;
2204
2207
  exports.URL_SOURCEMAP_IS_LIKELY_TO_BE_INCORRECT = URL_SOURCEMAP_IS_LIKELY_TO_BE_INCORRECT;
2205
2208
  exports.URL_THIS_IS_UNDEFINED = URL_THIS_IS_UNDEFINED;
2209
+ exports.URL_TRANSFORM = URL_TRANSFORM;
2206
2210
  exports.URL_TREATING_MODULE_AS_EXTERNAL_DEPENDENCY = URL_TREATING_MODULE_AS_EXTERNAL_DEPENDENCY;
2207
2211
  exports.URL_TREESHAKE = URL_TREESHAKE;
2208
2212
  exports.URL_TREESHAKE_MODULESIDEEFFECTS = URL_TREESHAKE_MODULESIDEEFFECTS;
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -42,7 +42,7 @@ function _mergeNamespaces(n, m) {
42
42
 
43
43
  const promises__namespace = /*#__PURE__*/_interopNamespaceDefault(promises);
44
44
 
45
- var version = "4.56.0";
45
+ var version = "4.57.0";
46
46
 
47
47
  function ensureArray$1(items) {
48
48
  if (Array.isArray(items)) {
@@ -926,9 +926,9 @@ function getPluginContext(plugin, pluginCache, graph, options, fileEmitter, exis
926
926
  watchMode: graph.watchMode
927
927
  },
928
928
  parse: parseAst_js.parseAst,
929
- resolve(source, importer, { attributes, custom, isEntry, skipSelf } = parseAst_js.BLANK) {
929
+ resolve(source, importer, { attributes, custom, isEntry, skipSelf, importerAttributes } = parseAst_js.BLANK) {
930
930
  skipSelf ??= true;
931
- return graph.moduleLoader.resolveId(source, importer, custom, isEntry, attributes || parseAst_js.EMPTY_OBJECT, skipSelf ? [{ importer, plugin, source }] : null);
931
+ return graph.moduleLoader.resolveId(source, importer, custom, isEntry, attributes || parseAst_js.EMPTY_OBJECT, importerAttributes, skipSelf ? [{ importer, plugin, source }] : null);
932
932
  },
933
933
  setAssetSource: fileEmitter.setAssetSource,
934
934
  warn: getLogHandler(parseAst_js.LOGLEVEL_WARN, 'PLUGIN_WARNING', onLog, plugin.name, logLevel)
@@ -11558,7 +11558,7 @@ class MetaProperty extends NodeBase {
11558
11558
  render(code, renderOptions) {
11559
11559
  const { format, pluginDriver, snippets } = renderOptions;
11560
11560
  const { scope: { context: { module } }, meta: { name }, metaProperty, parent, preliminaryChunkId, referenceId, start, end } = this;
11561
- const { id: moduleId } = module;
11561
+ const { id: moduleId, info: { attributes } } = module;
11562
11562
  if (name !== IMPORT)
11563
11563
  return;
11564
11564
  const chunkId = preliminaryChunkId;
@@ -11567,14 +11567,14 @@ class MetaProperty extends NodeBase {
11567
11567
  const relativePath = parseAst_js.normalize(path.relative(path.dirname(chunkId), fileName));
11568
11568
  const isUrlObject = !!metaProperty?.startsWith(FILE_OBJ_PREFIX);
11569
11569
  const replacement = pluginDriver.hookFirstSync('resolveFileUrl', [
11570
- { chunkId, fileName, format, moduleId, referenceId, relativePath }
11570
+ { attributes, chunkId, fileName, format, moduleId, referenceId, relativePath }
11571
11571
  ]) || relativeUrlMechanisms[format](relativePath, isUrlObject);
11572
11572
  code.overwrite(parent.start, parent.end, replacement, { contentOnly: true });
11573
11573
  return;
11574
11574
  }
11575
11575
  let replacement = pluginDriver.hookFirstSync('resolveImportMeta', [
11576
11576
  metaProperty,
11577
- { chunkId, format, moduleId }
11577
+ { attributes, chunkId, format, moduleId }
11578
11578
  ]);
11579
11579
  if (!replacement) {
11580
11580
  replacement = importMetaMechanisms[format]?.(metaProperty, { chunkId, snippets });
@@ -14963,6 +14963,7 @@ class ImportExpression extends NodeBase {
14963
14963
  },
14964
14964
  moduleId: scope.context.module.id,
14965
14965
  targetChunk: targetChunk ? getChunkInfoWithPath(targetChunk) : null,
14966
+ targetModuleAttributes: resolution && typeof resolution !== 'string' ? resolution.info.attributes : {},
14966
14967
  targetModuleId: resolution && typeof resolution !== 'string' ? resolution.id : null
14967
14968
  }
14968
14969
  ]);
@@ -22324,7 +22325,7 @@ class GlobalScope extends Scope {
22324
22325
  }
22325
22326
  }
22326
22327
 
22327
- function resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes) {
22328
+ function resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes, importerAttributes) {
22328
22329
  let skipped = null;
22329
22330
  let replaceContext = null;
22330
22331
  if (skip) {
@@ -22336,7 +22337,7 @@ function resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolve
22336
22337
  }
22337
22338
  replaceContext = (pluginContext, plugin) => ({
22338
22339
  ...pluginContext,
22339
- resolve: (source, importer, { attributes, custom, isEntry, skipSelf } = parseAst_js.BLANK) => {
22340
+ resolve: (source, importer, { attributes, custom, isEntry, skipSelf, importerAttributes } = parseAst_js.BLANK) => {
22340
22341
  skipSelf ??= true;
22341
22342
  if (skipSelf &&
22342
22343
  skip.findIndex(skippedCall => {
@@ -22348,15 +22349,15 @@ function resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolve
22348
22349
  // Thus returning Promise.resolve(null) in purpose of fallback to default behavior of `resolveId` plugin hook.
22349
22350
  return Promise.resolve(null);
22350
22351
  }
22351
- return moduleLoaderResolveId(source, importer, custom, isEntry, attributes || parseAst_js.EMPTY_OBJECT, skipSelf ? [...skip, { importer, plugin, source }] : skip);
22352
+ return moduleLoaderResolveId(source, importer, custom, isEntry, attributes || parseAst_js.EMPTY_OBJECT, importerAttributes, skipSelf ? [...skip, { importer, plugin, source }] : skip);
22352
22353
  }
22353
22354
  });
22354
22355
  }
22355
- return pluginDriver.hookFirstAndGetPlugin('resolveId', [source, importer, { attributes, custom: customOptions, isEntry }], replaceContext, skipped);
22356
+ return pluginDriver.hookFirstAndGetPlugin('resolveId', [source, importer, { attributes, custom: customOptions, importerAttributes, isEntry }], replaceContext, skipped);
22356
22357
  }
22357
22358
 
22358
- async function resolveId(source, importer, preserveSymlinks, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes, fs) {
22359
- const pluginResult = await resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes);
22359
+ async function resolveId(source, importer, preserveSymlinks, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes, importerAttributes, fs) {
22360
+ const pluginResult = await resolveIdViaPlugins(source, importer, pluginDriver, moduleLoaderResolveId, skip, customOptions, isEntry, attributes, importerAttributes);
22360
22361
  if (pluginResult != null) {
22361
22362
  const [resolveIdResult, plugin] = pluginResult;
22362
22363
  if (typeof resolveIdResult === 'object' && !resolveIdResult.resolvedBy) {
@@ -22413,7 +22414,7 @@ function stripBom(content) {
22413
22414
  return content;
22414
22415
  }
22415
22416
 
22416
- async function transform(source, module, pluginDriver, log) {
22417
+ async function transform(source, module, pluginDriver, options) {
22417
22418
  const id = module.id;
22418
22419
  const sourcemapChain = [];
22419
22420
  let originalSourcemap = source.map === null ? null : decodedSourcemap(source.map);
@@ -22435,10 +22436,13 @@ async function transform(source, module, pluginDriver, log) {
22435
22436
  module.updateOptions(result);
22436
22437
  if (result.code == null) {
22437
22438
  if (result.map || result.ast) {
22438
- log(parseAst_js.LOGLEVEL_WARN, parseAst_js.logNoTransformMapOrAstWithoutCode(plugin.name));
22439
+ options.onLog(parseAst_js.LOGLEVEL_WARN, parseAst_js.logNoTransformMapOrAstWithoutCode(plugin.name));
22439
22440
  }
22440
22441
  return previousCode;
22441
22442
  }
22443
+ if (result.attributes) {
22444
+ parseAst_js.warnDeprecation('Returning attributes from the "transform" hook is forbidden.', parseAst_js.URL_TRANSFORM, false, options);
22445
+ }
22442
22446
  ({ code, map, ast } = result);
22443
22447
  }
22444
22448
  else {
@@ -22465,7 +22469,13 @@ async function transform(source, module, pluginDriver, log) {
22465
22469
  };
22466
22470
  let code;
22467
22471
  try {
22468
- code = await pluginDriver.hookReduceArg0('transform', [currentSource, id], transformReducer, (pluginContext, plugin) => {
22472
+ code = await pluginDriver.hookReduceArg0('transform', [
22473
+ currentSource,
22474
+ id,
22475
+ {
22476
+ attributes: module.info.attributes
22477
+ }
22478
+ ], transformReducer, (pluginContext, plugin) => {
22469
22479
  pluginName = plugin.name;
22470
22480
  return {
22471
22481
  ...pluginContext,
@@ -22491,7 +22501,7 @@ async function transform(source, module, pluginDriver, log) {
22491
22501
  return pluginContext.error(error_);
22492
22502
  },
22493
22503
  getCombinedSourcemap() {
22494
- const combinedMap = collapseSourcemap(id, originalCode, originalSourcemap, sourcemapChain, log);
22504
+ const combinedMap = collapseSourcemap(id, originalCode, originalSourcemap, sourcemapChain, options.onLog);
22495
22505
  if (!combinedMap) {
22496
22506
  const magicString = new MagicString(originalCode);
22497
22507
  return magicString.generateMap({ hires: true, includeContent: true, source: id });
@@ -22546,15 +22556,15 @@ class ModuleLoader {
22546
22556
  this.modulesWithLoadedDependencies = new Set();
22547
22557
  this.nextChunkNamePriority = 0;
22548
22558
  this.nextEntryModuleIndex = 0;
22549
- this.resolveId = async (source, importer, customOptions, isEntry, attributes, skip = null) => this.getResolvedIdWithDefaults(this.getNormalizedResolvedIdWithoutDefaults(this.options.external(source, importer, false)
22559
+ this.resolveId = async (source, importer, customOptions, isEntry, attributes, importerAttributes, skip = null) => this.getResolvedIdWithDefaults(this.getNormalizedResolvedIdWithoutDefaults(this.options.external(source, importer, false)
22550
22560
  ? false
22551
- : await resolveId(source, importer, this.options.preserveSymlinks, this.pluginDriver, this.resolveId, skip, customOptions, typeof isEntry === 'boolean' ? isEntry : !importer, attributes, this.options.fs), importer, source), attributes);
22561
+ : await resolveId(source, importer, this.options.preserveSymlinks, this.pluginDriver, this.resolveId, skip, customOptions, typeof isEntry === 'boolean' ? isEntry : !importer, attributes, importerAttributes, this.options.fs), importer, source), attributes);
22552
22562
  this.hasModuleSideEffects = options.treeshake
22553
22563
  ? options.treeshake.moduleSideEffects
22554
22564
  : () => true;
22555
22565
  }
22556
22566
  async addAdditionalModules(unresolvedModules, isAddForManualChunks) {
22557
- const result = this.extendLoadModulesPromise(Promise.all(unresolvedModules.map(id => this.loadEntryModule(id, false, undefined, null, isAddForManualChunks))));
22567
+ const result = this.extendLoadModulesPromise(Promise.all(unresolvedModules.map(id => this.loadEntryModule(id, false, undefined, null, isAddForManualChunks, undefined))));
22558
22568
  await this.awaitLoadModulesPromise();
22559
22569
  return result;
22560
22570
  }
@@ -22563,7 +22573,7 @@ class ModuleLoader {
22563
22573
  this.nextEntryModuleIndex += unresolvedEntryModules.length;
22564
22574
  const firstChunkNamePriority = this.nextChunkNamePriority;
22565
22575
  this.nextChunkNamePriority += unresolvedEntryModules.length;
22566
- const newEntryModules = await this.extendLoadModulesPromise(Promise.all(unresolvedEntryModules.map(({ id, importer }) => this.loadEntryModule(id, true, importer, null))).then(entryModules => {
22576
+ const newEntryModules = await this.extendLoadModulesPromise(Promise.all(unresolvedEntryModules.map(({ id, importer }) => this.loadEntryModule(id, true, importer, null, undefined, undefined))).then(entryModules => {
22567
22577
  for (const [index, entryModule] of entryModules.entries()) {
22568
22578
  entryModule.isUserDefinedEntryPoint =
22569
22579
  entryModule.isUserDefinedEntryPoint || isUserDefined;
@@ -22610,10 +22620,10 @@ class ModuleLoader {
22610
22620
  }
22611
22621
  addEntryWithImplicitDependants(unresolvedModule, implicitlyLoadedAfter) {
22612
22622
  const chunkNamePriority = this.nextChunkNamePriority++;
22613
- return this.extendLoadModulesPromise(this.loadEntryModule(unresolvedModule.id, false, unresolvedModule.importer, null).then(async (entryModule) => {
22623
+ return this.extendLoadModulesPromise(this.loadEntryModule(unresolvedModule.id, false, unresolvedModule.importer, null, undefined, undefined).then(async (entryModule) => {
22614
22624
  addChunkNamesToModule(entryModule, unresolvedModule, false, chunkNamePriority);
22615
22625
  if (!entryModule.info.isEntry) {
22616
- const implicitlyLoadedAfterModules = await Promise.all(implicitlyLoadedAfter.map(id => this.loadEntryModule(id, false, unresolvedModule.importer, entryModule.id)));
22626
+ const implicitlyLoadedAfterModules = await Promise.all(implicitlyLoadedAfter.map(id => this.loadEntryModule(id, false, unresolvedModule.importer, entryModule.id, undefined, undefined)));
22617
22627
  // We need to check again if this is still an entry module as these
22618
22628
  // changes need to be performed atomically to avoid race conditions
22619
22629
  // if the same module is re-emitted as an entry module.
@@ -22635,9 +22645,16 @@ class ModuleLoader {
22635
22645
  let source;
22636
22646
  try {
22637
22647
  source = await this.graph.fileOperationQueue.run(async () => {
22638
- const content = await this.pluginDriver.hookFirst('load', [id]);
22639
- if (content !== null)
22648
+ const content = await this.pluginDriver.hookFirst('load', [
22649
+ id,
22650
+ { attributes: module.info.attributes }
22651
+ ]);
22652
+ if (content !== null) {
22653
+ if (typeof content === 'object' && content.attributes) {
22654
+ parseAst_js.warnDeprecation('Returning attributes from the "load" hook is forbidden.', parseAst_js.URL_LOAD, false, this.options);
22655
+ }
22640
22656
  return content;
22657
+ }
22641
22658
  this.graph.watchFiles[id] = true;
22642
22659
  return (await this.options.fs.readFile(id, { encoding: 'utf8' }));
22643
22660
  });
@@ -22663,6 +22680,7 @@ class ModuleLoader {
22663
22680
  !(await this.pluginDriver.hookFirst('shouldTransformCachedModule', [
22664
22681
  {
22665
22682
  ast: cachedModule.ast,
22683
+ attributes: cachedModule.attributes,
22666
22684
  code: cachedModule.code,
22667
22685
  id: cachedModule.id,
22668
22686
  meta: cachedModule.meta,
@@ -22679,7 +22697,7 @@ class ModuleLoader {
22679
22697
  }
22680
22698
  else {
22681
22699
  module.updateOptions(sourceDescription);
22682
- await module.setSource(await transform(sourceDescription, module, this.pluginDriver, this.options.onLog));
22700
+ await module.setSource(await transform(sourceDescription, module, this.pluginDriver, this.options));
22683
22701
  }
22684
22702
  }
22685
22703
  async awaitLoadModulesPromise() {
@@ -22852,7 +22870,7 @@ class ModuleLoader {
22852
22870
  source,
22853
22871
  (module.resolvedIds[source] =
22854
22872
  module.resolvedIds[source] ||
22855
- this.handleInvalidResolvedId(await this.resolveId(source, module.id, parseAst_js.EMPTY_OBJECT, false, attributes), source, module.id, attributes))
22873
+ this.handleInvalidResolvedId(await this.resolveId(source, module.id, parseAst_js.EMPTY_OBJECT, false, attributes, module.info.attributes), source, module.id, attributes))
22856
22874
  ]);
22857
22875
  }
22858
22876
  getResolvedIdWithDefaults(resolvedId, attributes) {
@@ -22910,8 +22928,8 @@ class ModuleLoader {
22910
22928
  }
22911
22929
  return resolvedId;
22912
22930
  }
22913
- async loadEntryModule(unresolvedId, isEntry, importer, implicitlyLoadedBefore, isLoadForManualChunks = false) {
22914
- const resolveIdResult = await resolveId(unresolvedId, importer, this.options.preserveSymlinks, this.pluginDriver, this.resolveId, null, parseAst_js.EMPTY_OBJECT, true, parseAst_js.EMPTY_OBJECT, this.options.fs);
22931
+ async loadEntryModule(unresolvedId, isEntry, importer, implicitlyLoadedBefore, isLoadForManualChunks = false, importerAttributes) {
22932
+ const resolveIdResult = await resolveId(unresolvedId, importer, this.options.preserveSymlinks, this.pluginDriver, this.resolveId, null, parseAst_js.EMPTY_OBJECT, true, parseAst_js.EMPTY_OBJECT, importerAttributes, this.options.fs);
22915
22933
  if (resolveIdResult == null) {
22916
22934
  return parseAst_js.error(implicitlyLoadedBefore === null
22917
22935
  ? parseAst_js.logUnresolvedEntry(unresolvedId)
@@ -22933,7 +22951,7 @@ class ModuleLoader {
22933
22951
  const resolution = await this.pluginDriver.hookFirst('resolveDynamicImport', [
22934
22952
  specifier,
22935
22953
  importer,
22936
- { attributes }
22954
+ { attributes, importerAttributes: module.info.attributes }
22937
22955
  ]);
22938
22956
  if (typeof specifier !== 'string') {
22939
22957
  if (typeof resolution === 'string') {
@@ -22952,7 +22970,7 @@ class ModuleLoader {
22952
22970
  }
22953
22971
  return existingResolution;
22954
22972
  }
22955
- return (module.resolvedIds[specifier] = this.handleInvalidResolvedId(await this.resolveId(specifier, module.id, parseAst_js.EMPTY_OBJECT, false, attributes), specifier, module.id, attributes));
22973
+ return (module.resolvedIds[specifier] = this.handleInvalidResolvedId(await this.resolveId(specifier, module.id, parseAst_js.EMPTY_OBJECT, false, attributes, module.info.attributes), specifier, module.id, attributes));
22956
22974
  }
22957
22975
  return this.handleInvalidResolvedId(this.getResolvedIdWithDefaults(this.getNormalizedResolvedIdWithoutDefaults(resolution, importer, specifier), attributes), specifier, importer, attributes);
22958
22976
  }
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.56.0
4
- Thu, 22 Jan 2026 05:37:20 GMT - commit 1cbac18d9fb153db123d8f266947c5a5acfa387f
3
+ Rollup.js v4.57.0
4
+ Tue, 27 Jan 2026 07:16:05 GMT - commit 743d0546f59799a8f7e4e2f4e1ad167f7dae333d
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.56.0",
3
+ "version": "4.57.0",
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.56.0",
118
- "@rollup/rollup-android-arm64": "4.56.0",
119
- "@rollup/rollup-win32-arm64-msvc": "4.56.0",
120
- "@rollup/rollup-freebsd-arm64": "4.56.0",
121
- "@rollup/rollup-linux-arm64-gnu": "4.56.0",
122
- "@rollup/rollup-linux-arm64-musl": "4.56.0",
123
- "@rollup/rollup-android-arm-eabi": "4.56.0",
124
- "@rollup/rollup-linux-arm-gnueabihf": "4.56.0",
125
- "@rollup/rollup-linux-arm-musleabihf": "4.56.0",
126
- "@rollup/rollup-win32-ia32-msvc": "4.56.0",
127
- "@rollup/rollup-linux-loong64-gnu": "4.56.0",
128
- "@rollup/rollup-linux-loong64-musl": "4.56.0",
129
- "@rollup/rollup-linux-riscv64-gnu": "4.56.0",
130
- "@rollup/rollup-linux-riscv64-musl": "4.56.0",
131
- "@rollup/rollup-linux-ppc64-gnu": "4.56.0",
132
- "@rollup/rollup-linux-ppc64-musl": "4.56.0",
133
- "@rollup/rollup-linux-s390x-gnu": "4.56.0",
134
- "@rollup/rollup-darwin-x64": "4.56.0",
135
- "@rollup/rollup-win32-x64-gnu": "4.56.0",
136
- "@rollup/rollup-win32-x64-msvc": "4.56.0",
137
- "@rollup/rollup-freebsd-x64": "4.56.0",
138
- "@rollup/rollup-linux-x64-gnu": "4.56.0",
139
- "@rollup/rollup-linux-x64-musl": "4.56.0",
140
- "@rollup/rollup-openbsd-x64": "4.56.0",
141
- "@rollup/rollup-openharmony-arm64": "4.56.0"
117
+ "@rollup/rollup-darwin-arm64": "4.57.0",
118
+ "@rollup/rollup-android-arm64": "4.57.0",
119
+ "@rollup/rollup-win32-arm64-msvc": "4.57.0",
120
+ "@rollup/rollup-freebsd-arm64": "4.57.0",
121
+ "@rollup/rollup-linux-arm64-gnu": "4.57.0",
122
+ "@rollup/rollup-linux-arm64-musl": "4.57.0",
123
+ "@rollup/rollup-android-arm-eabi": "4.57.0",
124
+ "@rollup/rollup-linux-arm-gnueabihf": "4.57.0",
125
+ "@rollup/rollup-linux-arm-musleabihf": "4.57.0",
126
+ "@rollup/rollup-win32-ia32-msvc": "4.57.0",
127
+ "@rollup/rollup-linux-loong64-gnu": "4.57.0",
128
+ "@rollup/rollup-linux-loong64-musl": "4.57.0",
129
+ "@rollup/rollup-linux-riscv64-gnu": "4.57.0",
130
+ "@rollup/rollup-linux-riscv64-musl": "4.57.0",
131
+ "@rollup/rollup-linux-ppc64-gnu": "4.57.0",
132
+ "@rollup/rollup-linux-ppc64-musl": "4.57.0",
133
+ "@rollup/rollup-linux-s390x-gnu": "4.57.0",
134
+ "@rollup/rollup-darwin-x64": "4.57.0",
135
+ "@rollup/rollup-win32-x64-gnu": "4.57.0",
136
+ "@rollup/rollup-win32-x64-msvc": "4.57.0",
137
+ "@rollup/rollup-freebsd-x64": "4.57.0",
138
+ "@rollup/rollup-linux-x64-gnu": "4.57.0",
139
+ "@rollup/rollup-linux-x64-musl": "4.57.0",
140
+ "@rollup/rollup-openbsd-x64": "4.57.0",
141
+ "@rollup/rollup-openharmony-arm64": "4.57.0"
142
142
  },
143
143
  "dependencies": {
144
144
  "@types/estree": "1.0.8"
@@ -151,8 +151,8 @@
151
151
  "@codemirror/lang-javascript": "^6.2.4",
152
152
  "@codemirror/language": "^6.12.1",
153
153
  "@codemirror/search": "^6.6.0",
154
- "@codemirror/state": "^6.5.3",
155
- "@codemirror/view": "^6.39.10",
154
+ "@codemirror/state": "^6.5.4",
155
+ "@codemirror/view": "^6.39.11",
156
156
  "@eslint/js": "^9.39.2",
157
157
  "@inquirer/prompts": "^7.10.1",
158
158
  "@jridgewell/sourcemap-codec": "^1.5.5",
@@ -169,7 +169,7 @@
169
169
  "@rollup/pluginutils": "^5.3.0",
170
170
  "@shikijs/vitepress-twoslash": "^3.21.0",
171
171
  "@types/mocha": "^10.0.10",
172
- "@types/node": "^20.19.28",
172
+ "@types/node": "^20.19.30",
173
173
  "@types/picomatch": "^4.0.2",
174
174
  "@types/semver": "^7.7.1",
175
175
  "@types/yargs-parser": "^21.0.3",
@@ -188,9 +188,9 @@
188
188
  "es6-shim": "^0.35.8",
189
189
  "eslint": "^9.39.2",
190
190
  "eslint-config-prettier": "^10.1.8",
191
- "eslint-plugin-prettier": "^5.5.4",
191
+ "eslint-plugin-prettier": "^5.5.5",
192
192
  "eslint-plugin-unicorn": "^62.0.0",
193
- "eslint-plugin-vue": "^10.6.2",
193
+ "eslint-plugin-vue": "^10.7.0",
194
194
  "fixturify": "^3.0.0",
195
195
  "flru": "^1.0.2",
196
196
  "fs-extra": "^11.3.3",
@@ -201,7 +201,7 @@
201
201
  "lint-staged": "^16.2.7",
202
202
  "locate-character": "^3.0.0",
203
203
  "magic-string": "^0.30.21",
204
- "memfs": "^4.51.1",
204
+ "memfs": "^4.56.2",
205
205
  "mocha": "^11.7.5",
206
206
  "nodemon": "^3.1.11",
207
207
  "npm-audit-resolver": "^3.0.0-RC.0",
@@ -210,12 +210,12 @@
210
210
  "picocolors": "^1.1.1",
211
211
  "picomatch": "^4.0.3",
212
212
  "pinia": "^3.0.4",
213
- "prettier": "^3.7.4",
213
+ "prettier": "^3.8.0",
214
214
  "prettier-plugin-organize-imports": "^4.3.0",
215
215
  "pretty-bytes": "^7.1.0",
216
216
  "pretty-ms": "^9.3.0",
217
217
  "requirejs": "^2.3.8",
218
- "rollup": "^4.55.1",
218
+ "rollup": "^4.55.2",
219
219
  "rollup-plugin-license": "^3.6.0",
220
220
  "semver": "^7.7.3",
221
221
  "shx": "^0.4.0",
@@ -223,13 +223,13 @@
223
223
  "source-map": "^0.7.6",
224
224
  "source-map-support": "^0.5.21",
225
225
  "systemjs": "^6.15.1",
226
- "terser": "^5.44.1",
226
+ "terser": "^5.46.0",
227
227
  "tslib": "^2.8.1",
228
228
  "typescript": "^5.9.3",
229
- "typescript-eslint": "^8.53.0",
229
+ "typescript-eslint": "^8.53.1",
230
230
  "vite": "^7.3.1",
231
231
  "vitepress": "^1.6.4",
232
- "vue": "^3.5.26",
232
+ "vue": "^3.5.27",
233
233
  "vue-eslint-parser": "^10.2.0",
234
234
  "vue-tsc": "^3.2.2",
235
235
  "wasm-pack": "^0.13.1",