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 +3 -3
- package/dist/es/getLogFilter.js +2 -2
- package/dist/es/parseAst.js +2 -2
- package/dist/es/rollup.js +2 -2
- package/dist/es/shared/node-entry.js +134 -116
- package/dist/es/shared/parseAst.js +5 -3
- package/dist/es/shared/watch.js +2 -2
- package/dist/getLogFilter.js +2 -2
- package/dist/loadConfigFile.js +2 -2
- package/dist/parseAst.js +2 -2
- package/dist/rollup.d.ts +40 -5
- package/dist/rollup.js +2 -2
- package/dist/shared/fsevents-importer.js +2 -2
- package/dist/shared/index.js +2 -2
- package/dist/shared/loadConfigFile.js +2 -2
- package/dist/shared/parseAst.js +6 -2
- package/dist/shared/rollup.js +50 -32
- package/dist/shared/watch-cli.js +2 -2
- package/dist/shared/watch.js +2 -2
- package/package.json +37 -37
package/dist/bin/rollup
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/*
|
|
3
3
|
@license
|
|
4
|
-
Rollup.js v4.
|
|
5
|
-
|
|
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.
|
|
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
|
package/dist/es/getLogFilter.js
CHANGED
package/dist/es/parseAst.js
CHANGED
package/dist/es/rollup.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/*
|
|
2
2
|
@license
|
|
3
|
-
Rollup.js v4.
|
|
4
|
-
|
|
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,
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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', [
|
|
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,
|
|
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', [
|
|
21410
|
-
|
|
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
|
|
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.
|
|
4
|
-
|
|
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 };
|
package/dist/es/shared/watch.js
CHANGED
package/dist/getLogFilter.js
CHANGED
package/dist/loadConfigFile.js
CHANGED
package/dist/parseAst.js
CHANGED
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: {
|
|
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 = (
|
|
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: {
|
|
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
package/dist/shared/index.js
CHANGED
package/dist/shared/parseAst.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
@license
|
|
3
|
-
Rollup.js v4.
|
|
4
|
-
|
|
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;
|
package/dist/shared/rollup.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
@license
|
|
3
|
-
Rollup.js v4.
|
|
4
|
-
|
|
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.
|
|
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,
|
|
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
|
-
|
|
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', [
|
|
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,
|
|
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', [
|
|
22639
|
-
|
|
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
|
|
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
|
}
|
package/dist/shared/watch-cli.js
CHANGED
package/dist/shared/watch.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rollup",
|
|
3
|
-
"version": "4.
|
|
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.
|
|
118
|
-
"@rollup/rollup-android-arm64": "4.
|
|
119
|
-
"@rollup/rollup-win32-arm64-msvc": "4.
|
|
120
|
-
"@rollup/rollup-freebsd-arm64": "4.
|
|
121
|
-
"@rollup/rollup-linux-arm64-gnu": "4.
|
|
122
|
-
"@rollup/rollup-linux-arm64-musl": "4.
|
|
123
|
-
"@rollup/rollup-android-arm-eabi": "4.
|
|
124
|
-
"@rollup/rollup-linux-arm-gnueabihf": "4.
|
|
125
|
-
"@rollup/rollup-linux-arm-musleabihf": "4.
|
|
126
|
-
"@rollup/rollup-win32-ia32-msvc": "4.
|
|
127
|
-
"@rollup/rollup-linux-loong64-gnu": "4.
|
|
128
|
-
"@rollup/rollup-linux-loong64-musl": "4.
|
|
129
|
-
"@rollup/rollup-linux-riscv64-gnu": "4.
|
|
130
|
-
"@rollup/rollup-linux-riscv64-musl": "4.
|
|
131
|
-
"@rollup/rollup-linux-ppc64-gnu": "4.
|
|
132
|
-
"@rollup/rollup-linux-ppc64-musl": "4.
|
|
133
|
-
"@rollup/rollup-linux-s390x-gnu": "4.
|
|
134
|
-
"@rollup/rollup-darwin-x64": "4.
|
|
135
|
-
"@rollup/rollup-win32-x64-gnu": "4.
|
|
136
|
-
"@rollup/rollup-win32-x64-msvc": "4.
|
|
137
|
-
"@rollup/rollup-freebsd-x64": "4.
|
|
138
|
-
"@rollup/rollup-linux-x64-gnu": "4.
|
|
139
|
-
"@rollup/rollup-linux-x64-musl": "4.
|
|
140
|
-
"@rollup/rollup-openbsd-x64": "4.
|
|
141
|
-
"@rollup/rollup-openharmony-arm64": "4.
|
|
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.
|
|
155
|
-
"@codemirror/view": "^6.39.
|
|
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.
|
|
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.
|
|
191
|
+
"eslint-plugin-prettier": "^5.5.5",
|
|
192
192
|
"eslint-plugin-unicorn": "^62.0.0",
|
|
193
|
-
"eslint-plugin-vue": "^10.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
226
|
+
"terser": "^5.46.0",
|
|
227
227
|
"tslib": "^2.8.1",
|
|
228
228
|
"typescript": "^5.9.3",
|
|
229
|
-
"typescript-eslint": "^8.53.
|
|
229
|
+
"typescript-eslint": "^8.53.1",
|
|
230
230
|
"vite": "^7.3.1",
|
|
231
231
|
"vitepress": "^1.6.4",
|
|
232
|
-
"vue": "^3.5.
|
|
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",
|