rolldown 1.0.0-beta.51 → 1.0.0-beta.53
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/cli-setup.mjs +1 -1
- package/dist/cli.mjs +9 -10
- package/dist/config.d.mts +2 -3
- package/dist/config.mjs +7 -9
- package/dist/experimental-index.d.mts +30 -9
- package/dist/experimental-index.mjs +26 -17
- package/dist/filter-index.d.mts +2 -3
- package/dist/index.d.mts +2 -3
- package/dist/index.mjs +7 -9
- package/dist/parallel-plugin-worker.mjs +4 -6
- package/dist/parallel-plugin.d.mts +2 -3
- package/dist/parse-ast-index.d.mts +1 -1
- package/dist/parse-ast-index.mjs +2 -3
- package/dist/plugins-index.d.mts +3 -3
- package/dist/plugins-index.mjs +3 -5
- package/dist/shared/{binding-JavE2bkj.mjs → binding-BJqdPU1r.mjs} +31 -34
- package/dist/shared/{binding-lSvYApx7.d.mts → binding-CY7Z709f.d.mts} +59 -12
- package/dist/shared/{bindingify-input-options-C8RwNEVu.mjs → bindingify-input-options-Bk0BBr2s.mjs} +8 -6
- package/dist/shared/{constructors-DgFF472b.d.mts → constructors-CMvFUBhn.d.mts} +4 -5
- package/dist/shared/{constructors-D1fHJKvO.mjs → constructors-LQ8mmhQE.mjs} +5 -8
- package/dist/shared/{define-config-CXCkQG1z.d.mts → define-config-BS8Bt-r8.d.mts} +82 -11
- package/dist/shared/{load-config-WNwAzWN-.mjs → load-config-JSXrnuaS.mjs} +1 -1
- package/dist/shared/{normalize-string-or-regex-Bu88lzEx.mjs → normalize-string-or-regex-BhaIG1rU.mjs} +42 -5
- package/dist/shared/{parse-ast-index-DPVqqR9w.mjs → parse-ast-index-BFX0oHaQ.mjs} +21 -7
- package/dist/shared/{rolldown-Do5qEfGl.mjs → rolldown-Cqalltnr.mjs} +1 -1
- package/dist/shared/{rolldown-build-MAIadGaX.mjs → rolldown-build-BEU8N80I.mjs} +335 -189
- package/dist/shared/{watch-CUl9f7JR.mjs → watch-DBnC-zol.mjs} +4 -4
- package/package.json +21 -23
- package/dist/shared/utils-BJWI2OzT.d.mts +0 -62
|
@@ -1,8 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { A as ExternalMemoryStatus, H as TransformOptions$1, N as JsxOptions, O as BindingWatcherBundler, P as MinifyOptions$1, R as ParserOptions, c as BindingRenderedChunk, i as BindingHookResolveIdExtraArgs, k as BindingWatcherEvent, o as BindingMagicString, u as BindingTransformHookExtraArgs, z as PreRenderedChunk } from "./binding-lSvYApx7.mjs";
|
|
1
|
+
import { A as BindingWatcherBundler, B as ParserOptions, F as JsxOptions, I as MinifyOptions$1, M as ExternalMemoryStatus, V as PreRenderedChunk, W as TransformOptions$1, a as BindingHookResolveIdExtraArgs, d as BindingTransformHookExtraArgs, j as BindingWatcherEvent, l as BindingRenderedChunk, s as BindingMagicString, t as BindingBuiltinPluginName } from "./binding-CY7Z709f.mjs";
|
|
3
2
|
import { TopLevelFilterExpression } from "@rolldown/pluginutils";
|
|
4
3
|
import { Program } from "@oxc-project/types";
|
|
5
4
|
|
|
5
|
+
//#region src/log/logging.d.ts
|
|
6
|
+
type LogLevel = "info" | "debug" | "warn";
|
|
7
|
+
type LogLevelOption = LogLevel | "silent";
|
|
8
|
+
type LogLevelWithError = LogLevel | "error";
|
|
9
|
+
interface RollupLog {
|
|
10
|
+
binding?: string;
|
|
11
|
+
cause?: unknown;
|
|
12
|
+
code?: string;
|
|
13
|
+
exporter?: string;
|
|
14
|
+
frame?: string;
|
|
15
|
+
hook?: string;
|
|
16
|
+
id?: string;
|
|
17
|
+
ids?: string[];
|
|
18
|
+
loc?: {
|
|
19
|
+
column: number;
|
|
20
|
+
file?: string;
|
|
21
|
+
line: number;
|
|
22
|
+
};
|
|
23
|
+
message: string;
|
|
24
|
+
meta?: any;
|
|
25
|
+
names?: string[];
|
|
26
|
+
plugin?: string;
|
|
27
|
+
pluginCode?: unknown;
|
|
28
|
+
pos?: number;
|
|
29
|
+
reexporter?: string;
|
|
30
|
+
stack?: string;
|
|
31
|
+
url?: string;
|
|
32
|
+
}
|
|
33
|
+
type RollupLogWithString = RollupLog | string;
|
|
34
|
+
interface RollupError extends RollupLog {
|
|
35
|
+
name?: string;
|
|
36
|
+
stack?: string;
|
|
37
|
+
watchFiles?: string[];
|
|
38
|
+
}
|
|
39
|
+
type LogOrStringHandler = (level: LogLevelWithError, log: RollupLogWithString) => void;
|
|
40
|
+
//#endregion
|
|
6
41
|
//#region src/types/misc.d.ts
|
|
7
42
|
type SourcemapPathTransformOption = (relativeSourcePath: string, sourcemapPath: string) => string;
|
|
8
43
|
type SourcemapIgnoreListOption = (relativeSourcePath: string, sourcemapPath: string) => boolean;
|
|
@@ -144,6 +179,14 @@ interface RolldownOutput extends ExternalMemoryHandle {
|
|
|
144
179
|
output: [OutputChunk, ...(OutputChunk | OutputAsset)[]];
|
|
145
180
|
}
|
|
146
181
|
//#endregion
|
|
182
|
+
//#region src/types/utils.d.ts
|
|
183
|
+
type MaybePromise<T> = T | Promise<T>;
|
|
184
|
+
type NullValue<T = void> = T | undefined | null | void;
|
|
185
|
+
type PartialNull<T> = { [P in keyof T]: T[P] | null };
|
|
186
|
+
type MakeAsync<Function_> = Function_ extends ((this: infer This, ...parameters: infer Arguments) => infer Return) ? (this: This, ...parameters: Arguments) => Return | Promise<Return> : never;
|
|
187
|
+
type MaybeArray<T> = T | T[];
|
|
188
|
+
type StringOrRegExp = string | RegExp;
|
|
189
|
+
//#endregion
|
|
147
190
|
//#region src/options/output-options.d.ts
|
|
148
191
|
type GeneratedCodePreset = "es5" | "es2015";
|
|
149
192
|
interface GeneratedCodeOptions {
|
|
@@ -173,7 +216,9 @@ interface GeneratedCodeOptions {
|
|
|
173
216
|
* When enabled, generated code will use descriptive variable names that correspond
|
|
174
217
|
* to the original module names, making it easier to profile and debug the bundled code.
|
|
175
218
|
*
|
|
176
|
-
*
|
|
219
|
+
* Note: Enabling this option makes the output more difficult to minify effectively.
|
|
220
|
+
*
|
|
221
|
+
* @default false
|
|
177
222
|
*/
|
|
178
223
|
profilerNames?: boolean;
|
|
179
224
|
}
|
|
@@ -664,6 +709,14 @@ type RolldownWatcher = WatcherEmitter;
|
|
|
664
709
|
//#region src/api/watch/index.d.ts
|
|
665
710
|
declare const watch: (input: WatchOptions | WatchOptions[]) => RolldownWatcher;
|
|
666
711
|
//#endregion
|
|
712
|
+
//#region src/log/log-handler.d.ts
|
|
713
|
+
type LoggingFunction = (log: RollupLog | string | (() => RollupLog | string)) => void;
|
|
714
|
+
type LoggingFunctionWithPosition = (log: RollupLog | string | (() => RollupLog | string), pos?: number | {
|
|
715
|
+
column: number;
|
|
716
|
+
line: number;
|
|
717
|
+
}) => void;
|
|
718
|
+
type WarningHandlerWithDefault = (warning: RollupLog, defaultHandler: LoggingFunction) => void;
|
|
719
|
+
//#endregion
|
|
667
720
|
//#region src/options/normalized-input-options.d.ts
|
|
668
721
|
interface NormalizedInputOptions {
|
|
669
722
|
input: string[] | Record<string, string>;
|
|
@@ -940,6 +993,13 @@ type SourceMapInput = ExistingRawSourceMap | string | null;
|
|
|
940
993
|
//#region src/version.d.ts
|
|
941
994
|
declare const VERSION: string;
|
|
942
995
|
//#endregion
|
|
996
|
+
//#region src/builtin-plugin/utils.d.ts
|
|
997
|
+
declare class BuiltinPlugin {
|
|
998
|
+
name: BindingBuiltinPluginName;
|
|
999
|
+
_options?: unknown;
|
|
1000
|
+
constructor(name: BindingBuiltinPluginName, _options?: unknown);
|
|
1001
|
+
}
|
|
1002
|
+
//#endregion
|
|
943
1003
|
//#region src/constants/plugin.d.ts
|
|
944
1004
|
declare const ENUMERATED_INPUT_PLUGIN_HOOK_NAMES: readonly ["options", "buildStart", "resolveId", "load", "transform", "moduleParsed", "buildEnd", "onLog", "resolveDynamicImport", "closeBundle", "closeWatcher", "watchChange"];
|
|
945
1005
|
declare const ENUMERATED_OUTPUT_PLUGIN_HOOK_NAMES: readonly ["augmentChunkHash", "outputOptions", "renderChunk", "renderStart", "renderError", "writeBundle", "generateBundle"];
|
|
@@ -1576,16 +1636,27 @@ interface InputOptions {
|
|
|
1576
1636
|
optimization?: OptimizationOptions;
|
|
1577
1637
|
context?: string;
|
|
1578
1638
|
/**
|
|
1579
|
-
*
|
|
1639
|
+
* Configures TypeScript configuration file resolution and usage.
|
|
1640
|
+
*
|
|
1641
|
+
* ## Options
|
|
1642
|
+
*
|
|
1643
|
+
* - `true`: Auto-discovery mode (similar to Vite). For each module, both resolver and transformer
|
|
1644
|
+
* will find the nearest tsconfig.json. If the tsconfig has `references`, the file extension is
|
|
1645
|
+
* allowed, and the tsconfig's `include`/`exclude` patterns don't match the file, the referenced
|
|
1646
|
+
* tsconfigs will be searched for a match. Falls back to the original tsconfig if no match is found.
|
|
1647
|
+
* - `string`: Path to a specific tsconfig.json file (relative to cwd or absolute path).
|
|
1648
|
+
*
|
|
1649
|
+
* ## What's used from tsconfig
|
|
1650
|
+
*
|
|
1651
|
+
* - **Resolver**: Uses `compilerOptions.paths` and `compilerOptions.baseUrl` for path mapping
|
|
1652
|
+
* - **Transformer**: Uses select compiler options (jsx, decorators, typescript, etc.)
|
|
1580
1653
|
*
|
|
1581
|
-
*
|
|
1582
|
-
*
|
|
1583
|
-
* - an absolute path to the configuration file.
|
|
1654
|
+
* > [!NOTE]
|
|
1655
|
+
* > Priority: Top-level `transform` options always take precedence over tsconfig settings.
|
|
1584
1656
|
*
|
|
1585
|
-
*
|
|
1586
|
-
* and the tsconfig options will be merged with the top-level `transform` options, with the `transform` options taking precedence.
|
|
1657
|
+
* @default undefined (no tsconfig resolution)
|
|
1587
1658
|
*/
|
|
1588
|
-
tsconfig?: string;
|
|
1659
|
+
tsconfig?: true | string;
|
|
1589
1660
|
}
|
|
1590
1661
|
//#endregion
|
|
1591
1662
|
//#region src/types/rolldown-options.d.ts
|
|
@@ -1605,4 +1676,4 @@ declare function defineConfig(config: RolldownOptions[]): RolldownOptions[];
|
|
|
1605
1676
|
declare function defineConfig(config: RolldownOptionsFunction): RolldownOptionsFunction;
|
|
1606
1677
|
declare function defineConfig(config: ConfigExport): ConfigExport;
|
|
1607
1678
|
//#endregion
|
|
1608
|
-
export {
|
|
1679
|
+
export { InternalModuleFormat as $, BuiltinPlugin as A, SourceMap as At, GetModuleInfo as B, ResolveIdResult as C, PartialNull as Ct, SourceDescription as D, RenderedChunk as Dt, RolldownPluginOption as E, OutputChunk as Et, OutputBundle as F, LogLevelOption as Ft, PluginContextMeta as G, DefineParallelPluginResult as H, TreeshakingOptions as I, LogOrStringHandler as It, ModuleTypeFilter as J, GeneralHookFilter as K, TransformPluginContext as L, RollupError as Lt, ExistingRawSourceMap as M, ModuleInfo as Mt, SourceMapInput as N, SourcemapIgnoreListOption as Nt, TransformResult as O, RenderedModule as Ot, RolldownOptionsFunction as P, LogLevel as Pt, RolldownFsModule as Q, EmittedAsset as R, RollupLog as Rt, ResolveIdExtraOptions as S, MaybePromise as St, RolldownPlugin as T, OutputAsset as Tt, defineParallelPlugin as U, PluginContext as V, MinimalPluginContext as W, RolldownDirectoryEntry as X, BufferEncoding as Y, RolldownFileStats as Z, ModuleType as _, GlobalsFunction as _t, InputOption as a, RolldownWatcher as at, PartialResolvedId as b, OutputOptions as bt, OptimizationOptions as c, rolldown as ct, CustomPluginOptions as d, build as dt, NormalizedOutputOptions as et, FunctionPluginHooks as f, AddonFunction as ft, ModuleOptions as g, GeneratedCodePreset as gt, LoadResult as h, GeneratedCodeOptions as ht, ExternalOption as i, watch as it, VERSION as j, freeExternalMemory as jt, withFilter as k, RolldownOutput as kt, WatcherOptions as l, RolldownBuild as lt, ImportKind as m, ChunkingContext as mt, ConfigExport as n, LoggingFunction as nt, InputOptions as o, RolldownWatcherEvent as ot, HookFilterExtension as p, ChunkFileNamesFunction as pt, HookFilter as q, RolldownOptions as r, WarningHandlerWithDefault as rt, ModuleTypes as s, WatchOptions as st, defineConfig as t, NormalizedInputOptions as tt, AsyncPluginHooks as u, BuildOptions as ut, ObjectHook as v, MinifyOptions as vt, ResolvedId as w, StringOrRegExp as wt, Plugin as x, PreRenderedAsset as xt, ParallelPluginHooks as y, ModuleFormat as yt, EmittedFile as z, RollupLogWithString as zt };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as require_binding } from "./binding-
|
|
1
|
+
import { t as require_binding } from "./binding-BJqdPU1r.mjs";
|
|
2
2
|
import { a as logInvalidLogPosition, c as logPluginError, n as error } from "./logs-CSQ_UMWp.mjs";
|
|
3
3
|
import { r as noop } from "./misc-CxyvWjTr.mjs";
|
|
4
4
|
|
|
@@ -32,7 +32,7 @@ function getLogHandler(level, code, logger, pluginName, logLevel) {
|
|
|
32
32
|
|
|
33
33
|
//#endregion
|
|
34
34
|
//#region package.json
|
|
35
|
-
var version = "1.0.0-beta.
|
|
35
|
+
var version = "1.0.0-beta.53";
|
|
36
36
|
var description = "Fast JavaScript/TypeScript bundler in Rust with Rollup-compatible API.";
|
|
37
37
|
|
|
38
38
|
//#endregion
|
|
@@ -190,7 +190,7 @@ function bindingAssetSource(source) {
|
|
|
190
190
|
}
|
|
191
191
|
|
|
192
192
|
//#endregion
|
|
193
|
-
//#region \0@oxc-project+runtime@0.
|
|
193
|
+
//#region \0@oxc-project+runtime@0.101.0/helpers/decorate.js
|
|
194
194
|
function __decorate(decorators, target, key, desc) {
|
|
195
195
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
196
196
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -585,7 +585,36 @@ function bindingifyBuiltInPlugin(plugin) {
|
|
|
585
585
|
options: plugin._options
|
|
586
586
|
};
|
|
587
587
|
}
|
|
588
|
-
function
|
|
588
|
+
function bindingifyManifestPlugin(plugin, pluginContextData) {
|
|
589
|
+
const { isOutputOptionsForLegacyChunks, ...options } = plugin._options;
|
|
590
|
+
return {
|
|
591
|
+
__name: plugin.name,
|
|
592
|
+
options: {
|
|
593
|
+
...options,
|
|
594
|
+
isLegacy: isOutputOptionsForLegacyChunks ? (opts) => {
|
|
595
|
+
return isOutputOptionsForLegacyChunks(pluginContextData.getOutputOptions(opts));
|
|
596
|
+
} : void 0
|
|
597
|
+
}
|
|
598
|
+
};
|
|
599
|
+
}
|
|
600
|
+
function bindingifyCSSPostPlugin(plugin, pluginContextData) {
|
|
601
|
+
const { isOutputOptionsForLegacyChunks, ...options } = plugin._options;
|
|
602
|
+
return {
|
|
603
|
+
__name: plugin.name,
|
|
604
|
+
options: {
|
|
605
|
+
...options,
|
|
606
|
+
isLegacy: isOutputOptionsForLegacyChunks ? (opts) => {
|
|
607
|
+
return isOutputOptionsForLegacyChunks(pluginContextData.getOutputOptions(opts));
|
|
608
|
+
} : void 0,
|
|
609
|
+
cssScopeTo() {
|
|
610
|
+
const cssScopeTo = {};
|
|
611
|
+
for (const [id, opts] of pluginContextData.moduleOptionMap.entries()) if (opts?.meta.vite?.cssScopeTo) cssScopeTo[id] = opts.meta.vite.cssScopeTo;
|
|
612
|
+
return cssScopeTo;
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
};
|
|
616
|
+
}
|
|
617
|
+
function bindingifyViteHtmlPlugin(plugin, onLog, logLevel, watchMode, pluginContextData) {
|
|
589
618
|
const { preHooks, normalHooks, postHooks, applyHtmlTransforms, ...options } = plugin._options;
|
|
590
619
|
if (preHooks.length + normalHooks.length + postHooks.length > 0) return {
|
|
591
620
|
__name: plugin.name,
|
|
@@ -606,6 +635,14 @@ function bindingifyViteHtmlPlugin(plugin, onLog, logLevel, watchMode) {
|
|
|
606
635
|
case "transform": return await applyHtmlTransforms(html, preHooks, pluginContext, context);
|
|
607
636
|
case "generateBundle": return await applyHtmlTransforms(html, [...normalHooks, ...postHooks], pluginContext, context);
|
|
608
637
|
}
|
|
638
|
+
},
|
|
639
|
+
setModuleSideEffects(id) {
|
|
640
|
+
let opts = pluginContextData.getModuleOption(id);
|
|
641
|
+
pluginContextData.updateModuleOption(id, {
|
|
642
|
+
moduleSideEffects: true,
|
|
643
|
+
meta: opts.meta,
|
|
644
|
+
invalidate: true
|
|
645
|
+
});
|
|
609
646
|
}
|
|
610
647
|
}
|
|
611
648
|
};
|
|
@@ -627,4 +664,4 @@ function isReadonlyArray(input) {
|
|
|
627
664
|
}
|
|
628
665
|
|
|
629
666
|
//#endregion
|
|
630
|
-
export {
|
|
667
|
+
export { LOG_LEVEL_DEBUG as C, logLevelPriority as D, LOG_LEVEL_WARN as E, normalizeLog as S, LOG_LEVEL_INFO as T, PlainObjectLike as _, bindingifyManifestPlugin as a, description as b, collectChangedBundle as c, bindingifySourcemap as d, transformRenderedChunk as f, lazyProp as g, transformAssetSource as h, bindingifyCSSPostPlugin as i, transformToOutputBundle as l, bindingAssetSource as m, BuiltinPlugin as n, bindingifyViteHtmlPlugin as o, __decorate as p, bindingifyBuiltInPlugin as r, makeBuiltinPluginCallable as s, normalizedStringOrRegex as t, transformToRollupOutput as u, MinimalPluginContextImpl as v, LOG_LEVEL_ERROR as w, version as x, VERSION as y };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as require_binding } from "./binding-
|
|
1
|
+
import { t as require_binding } from "./binding-BJqdPU1r.mjs";
|
|
2
2
|
import { l as locate, n as error, s as logParseError, u as getCodeFrame } from "./logs-CSQ_UMWp.mjs";
|
|
3
3
|
|
|
4
|
-
//#region ../../node_modules/.pnpm/oxc-parser@0.
|
|
4
|
+
//#region ../../node_modules/.pnpm/oxc-parser@0.101.0/node_modules/oxc-parser/src-js/wrap.js
|
|
5
5
|
function wrap$1(result) {
|
|
6
6
|
let program, module, comments, errors;
|
|
7
7
|
return {
|
|
@@ -38,10 +38,24 @@ function applyFix(program, fixPath) {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
//#endregion
|
|
41
|
-
//#region src/parse
|
|
41
|
+
//#region src/utils/parse.ts
|
|
42
42
|
var import_binding = require_binding();
|
|
43
|
+
/**
|
|
44
|
+
* Parse asynchronously.
|
|
45
|
+
*
|
|
46
|
+
* Note: This function can be slower than `parseSync` due to the overhead of spawning a thread.
|
|
47
|
+
*/
|
|
48
|
+
async function parse(filename, sourceText, options) {
|
|
49
|
+
return wrap$1(await (0, import_binding.parse)(filename, sourceText, options));
|
|
50
|
+
}
|
|
51
|
+
/** Parse synchronously. */
|
|
52
|
+
function parseSync(filename, sourceText, options) {
|
|
53
|
+
return wrap$1((0, import_binding.parseSync)(filename, sourceText, options));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region src/parse-ast-index.ts
|
|
43
58
|
function wrap(result, sourceText) {
|
|
44
|
-
result = wrap$1(result);
|
|
45
59
|
if (result.errors.length > 0) return normalizeParseError(sourceText, result.errors);
|
|
46
60
|
return result.program;
|
|
47
61
|
}
|
|
@@ -66,17 +80,17 @@ const defaultParserOptions = {
|
|
|
66
80
|
preserveParens: false
|
|
67
81
|
};
|
|
68
82
|
function parseAst(sourceText, options, filename) {
|
|
69
|
-
return wrap(
|
|
83
|
+
return wrap(parseSync(filename ?? "file.js", sourceText, {
|
|
70
84
|
...defaultParserOptions,
|
|
71
85
|
...options
|
|
72
86
|
}), sourceText);
|
|
73
87
|
}
|
|
74
88
|
async function parseAstAsync(sourceText, options, filename) {
|
|
75
|
-
return wrap(await
|
|
89
|
+
return wrap(await parse(filename ?? "file.js", sourceText, {
|
|
76
90
|
...defaultParserOptions,
|
|
77
91
|
...options
|
|
78
92
|
}), sourceText);
|
|
79
93
|
}
|
|
80
94
|
|
|
81
95
|
//#endregion
|
|
82
|
-
export { parseAstAsync as n, parseAst as t };
|
|
96
|
+
export { parseSync as i, parseAstAsync as n, parse as r, parseAst as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as PluginDriver, s as validateOption, t as RolldownBuild } from "./rolldown-build-
|
|
1
|
+
import { l as PluginDriver, s as validateOption, t as RolldownBuild } from "./rolldown-build-BEU8N80I.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/api/rolldown/index.ts
|
|
4
4
|
const rolldown = async (input) => {
|