rolldown 1.1.5 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/THIRD-PARTY-LICENSE +33 -0
  2. package/dist/cli.mjs +9 -10
  3. package/dist/config.d.mts +16 -17
  4. package/dist/config.mjs +2 -2
  5. package/dist/experimental-default-runtime.mjs +116 -0
  6. package/dist/experimental-index.d.mts +170 -155
  7. package/dist/experimental-index.mjs +47 -22
  8. package/dist/experimental-runtime-base.mjs +95 -0
  9. package/dist/experimental-runtime-types.d.ts +111 -41
  10. package/dist/experimental-runtime.d.ts +177 -0
  11. package/dist/experimental-runtime.mjs +257 -0
  12. package/dist/filter-index.d.mts +6 -5
  13. package/dist/filter-index.mjs +1 -3
  14. package/dist/get-log-filter.d.mts +2 -2
  15. package/dist/index.d.mts +4 -4
  16. package/dist/index.mjs +4 -4
  17. package/dist/parallel-plugin-worker.mjs +2 -2
  18. package/dist/parallel-plugin.d.mts +3 -4
  19. package/dist/parse-ast-index.d.mts +19 -20
  20. package/dist/parse-ast-index.mjs +2 -2
  21. package/dist/plugins-index.d.mts +27 -28
  22. package/dist/plugins-index.mjs +2 -2
  23. package/dist/shared/{binding-D26QphWG.d.mts → binding-CVtkJvyl.d.mts} +48 -25
  24. package/dist/shared/{binding-TuFFIE_J.mjs → binding-Cv62mM1i.mjs} +124 -50
  25. package/dist/shared/{bindingify-input-options-XPJLJOD0.mjs → bindingify-input-options-EnUlEF0T.mjs} +209 -252
  26. package/dist/shared/{constructors-BbWPse2X.d.mts → constructors-ALilxAii.d.mts} +9 -10
  27. package/dist/shared/{constructors-D_3i7dpX.mjs → constructors-CuqzPFxJ.mjs} +10 -6
  28. package/dist/shared/{rolldown-build-CtPvmZgJ.mjs → create-bundler-option-4QtiLLuz.mjs} +39 -156
  29. package/dist/shared/define-config-DSMNXceb.d.mts +4066 -0
  30. package/dist/shared/{error-BHRSI0R7.mjs → error-BgfXq0Tb.mjs} +1 -1
  31. package/dist/shared/get-log-filter-AjBknEEO.d.mts +34 -0
  32. package/dist/shared/{load-config-BL_FI6dc.mjs → load-config-DsMzOVzu.mjs} +2 -2
  33. package/dist/shared/{logging-BSNejiLS.d.mts → logging-xuHO4mAy.d.mts} +6 -6
  34. package/dist/shared/{logs-ZGEh6uhb.mjs → logs-DmYCAKcW.mjs} +8 -1
  35. package/dist/shared/{misc-CoQm4NHO.mjs → misc-DOSKtd97.mjs} +9 -1
  36. package/dist/shared/{normalize-string-or-regex-dnh67V_w.mjs → normalize-string-or-regex-BVNGzRe4.mjs} +2 -2
  37. package/dist/shared/{parse-D4dtlfWy.mjs → parse-DQIYJwT4.mjs} +2 -2
  38. package/dist/shared/{prompt--dNycKSZ.mjs → prompt-CH6TK0bC.mjs} +2 -6
  39. package/dist/shared/{resolve-tsconfig-DxqIJB3x.mjs → resolve-tsconfig-CQndqeLj.mjs} +2 -2
  40. package/dist/shared/rolldown-DP_p9pd3.mjs +178 -0
  41. package/dist/shared/transform-WmU_cI8e.d.mts +148 -0
  42. package/dist/shared/{watch-B1b0gmVh.mjs → watch-Cwq-cFUy.mjs} +16 -13
  43. package/dist/utils-index.d.mts +29 -30
  44. package/dist/utils-index.mjs +6 -8
  45. package/package.json +32 -25
  46. package/dist/shared/define-config-BhJ90aEv.d.mts +0 -3978
  47. package/dist/shared/get-log-filter-BpNVNJ5-.d.mts +0 -35
  48. package/dist/shared/rolldown-ChpIlMRm.mjs +0 -40
  49. package/dist/shared/transform-BPrUvqEZ.d.mts +0 -149
@@ -1,6 +1,5 @@
1
- import { D as BindingViteResolvePluginConfig, E as BindingViteReporterPluginConfig, S as BindingViteJsonPluginConfig, T as BindingViteReactRefreshWrapperPluginConfig, b as BindingViteDynamicImportVarsPluginConfig, l as BindingIsolatedDeclarationPluginConfig, s as BindingEsmExternalRequirePluginConfig, w as BindingViteModulePreloadPolyfillPluginConfig, x as BindingViteImportGlobPluginConfig, y as BindingViteBuildImportAnalysisPluginConfig } from "./binding-D26QphWG.mjs";
2
- import { F as BuiltinPlugin, Wt as StringOrRegExp } from "./define-config-BhJ90aEv.mjs";
3
-
1
+ import { C as BindingViteJsonPluginConfig, D as BindingViteReporterPluginConfig, E as BindingViteReactRefreshWrapperPluginConfig, O as BindingViteResolvePluginConfig, S as BindingViteImportGlobPluginConfig, T as BindingViteModulePreloadPolyfillPluginConfig, b as BindingViteBuildImportAnalysisPluginConfig, l as BindingIsolatedDeclarationPluginConfig, s as BindingEsmExternalRequirePluginConfig, x as BindingViteDynamicImportVarsPluginConfig } from "./binding-CVtkJvyl.mjs";
2
+ import { Gt as StringOrRegExp, I as BuiltinPlugin } from "./define-config-DSMNXceb.mjs";
4
3
  //#region src/builtin-plugin/constructors.d.ts
5
4
  declare function viteModulePreloadPolyfillPlugin(config?: BindingViteModulePreloadPolyfillPluginConfig): BuiltinPlugin;
6
5
  type DynamicImportVarsPluginConfig = Omit<BindingViteDynamicImportVarsPluginConfig, "include" | "exclude"> & {
@@ -17,19 +16,19 @@ declare function viteResolvePlugin(config: Omit<BindingViteResolvePluginConfig,
17
16
  declare function isolatedDeclarationPlugin(config?: BindingIsolatedDeclarationPluginConfig): BuiltinPlugin;
18
17
  declare function viteWebWorkerPostPlugin(): BuiltinPlugin;
19
18
  /**
20
- * A plugin that converts CommonJS require() calls for external dependencies into ESM import statements.
21
- *
22
- * @see https://rolldown.rs/builtin-plugins/esm-external-require
23
- * @category Builtin Plugins
24
- */
19
+ * A plugin that converts CommonJS require() calls for external dependencies into ESM import statements.
20
+ *
21
+ * @see https://rolldown.rs/builtin-plugins/esm-external-require
22
+ * @category Builtin Plugins
23
+ */
25
24
  declare function esmExternalRequirePlugin(config?: BindingEsmExternalRequirePluginConfig): BuiltinPlugin;
26
25
  type ViteReactRefreshWrapperPluginConfig = Omit<BindingViteReactRefreshWrapperPluginConfig, "include" | "exclude"> & {
27
26
  include?: StringOrRegExp | StringOrRegExp[];
28
27
  exclude?: StringOrRegExp | StringOrRegExp[];
29
28
  };
30
29
  /**
31
- * This plugin should not be used for Rolldown.
32
- */
30
+ * This plugin should not be used for Rolldown.
31
+ */
33
32
  declare function oxcRuntimePlugin(): BuiltinPlugin;
34
33
  declare function viteReactRefreshWrapperPlugin(config: ViteReactRefreshWrapperPluginConfig): BuiltinPlugin;
35
34
  //#endregion
@@ -1,4 +1,4 @@
1
- import { a as makeBuiltinPluginCallable, n as BuiltinPlugin, t as normalizedStringOrRegex } from "./normalize-string-or-regex-dnh67V_w.mjs";
1
+ import { a as makeBuiltinPluginCallable, n as BuiltinPlugin, t as normalizedStringOrRegex } from "./normalize-string-or-regex-BVNGzRe4.mjs";
2
2
  //#region src/builtin-plugin/constructors.ts
3
3
  function viteModulePreloadPolyfillPlugin(config) {
4
4
  return new BuiltinPlugin("builtin:vite-module-preload-polyfill", config);
@@ -20,16 +20,18 @@ function viteLoadFallbackPlugin() {
20
20
  return new BuiltinPlugin("builtin:vite-load-fallback");
21
21
  }
22
22
  function viteJsonPlugin(config) {
23
- return makeBuiltinPluginCallable(new BuiltinPlugin("builtin:vite-json", config));
23
+ const builtinPlugin = new BuiltinPlugin("builtin:vite-json", config);
24
+ return makeBuiltinPluginCallable(builtinPlugin);
24
25
  }
25
26
  function viteBuildImportAnalysisPlugin(config) {
26
27
  return new BuiltinPlugin("builtin:vite-build-import-analysis", config);
27
28
  }
28
29
  function viteResolvePlugin(config) {
29
- return makeBuiltinPluginCallable(new BuiltinPlugin("builtin:vite-resolve", {
30
+ const builtinPlugin = new BuiltinPlugin("builtin:vite-resolve", {
30
31
  ...config,
31
32
  yarnPnp: typeof process === "object" && !!process.versions?.pnp
32
- }));
33
+ });
34
+ return makeBuiltinPluginCallable(builtinPlugin);
33
35
  }
34
36
  function isolatedDeclarationPlugin(config) {
35
37
  return new BuiltinPlugin("builtin:isolated-declaration", config);
@@ -52,14 +54,16 @@ function esmExternalRequirePlugin(config) {
52
54
  * This plugin should not be used for Rolldown.
53
55
  */
54
56
  function oxcRuntimePlugin() {
55
- return makeBuiltinPluginCallable(new BuiltinPlugin("builtin:oxc-runtime"));
57
+ const builtinPlugin = new BuiltinPlugin("builtin:oxc-runtime");
58
+ return makeBuiltinPluginCallable(builtinPlugin);
56
59
  }
57
60
  function viteReactRefreshWrapperPlugin(config) {
58
61
  if (config) {
59
62
  config.include = normalizedStringOrRegex(config.include);
60
63
  config.exclude = normalizedStringOrRegex(config.exclude);
61
64
  }
62
- return makeBuiltinPluginCallable(new BuiltinPlugin("builtin:vite-react-refresh-wrapper", config));
65
+ const builtinPlugin = new BuiltinPlugin("builtin:vite-react-refresh-wrapper", config);
66
+ return makeBuiltinPluginCallable(builtinPlugin);
63
67
  }
64
68
  //#endregion
65
69
  export { viteDynamicImportVarsPlugin as a, viteLoadFallbackPlugin as c, viteReporterPlugin as d, viteResolvePlugin as f, viteBuildImportAnalysisPlugin as i, viteModulePreloadPolyfillPlugin as l, isolatedDeclarationPlugin as n, viteImportGlobPlugin as o, viteWebWorkerPostPlugin as p, oxcRuntimePlugin as r, viteJsonPlugin as s, esmExternalRequirePlugin as t, viteReactRefreshWrapperPlugin as u };
@@ -1,9 +1,8 @@
1
- import { n as __toESM, t as require_binding } from "./binding-TuFFIE_J.mjs";
2
- import { i as logInputHookInOutputPlugin, n as error } from "./logs-ZGEh6uhb.mjs";
3
- import { n as BuiltinPlugin } from "./normalize-string-or-regex-dnh67V_w.mjs";
4
- import { a as transformModuleInfo, b as VERSION, c as __decorate, d as PlainObjectLike, f as MinimalPluginContextImpl, h as LOG_LEVEL_DEBUG, i as PluginContextData, l as transformAssetSource, m as normalizeLog, o as transformToRollupOutput, p as normalizeHook, s as transformRenderedChunk, t as bindingifyInputOptions, u as lazyProp, v as LOG_LEVEL_WARN, y as logLevelPriority } from "./bindingify-input-options-XPJLJOD0.mjs";
5
- import { i as unimplemented } from "./misc-CoQm4NHO.mjs";
6
- import { i as unwrapBindingResult } from "./error-BHRSI0R7.mjs";
1
+ import { n as __toESM, t as require_binding } from "./binding-Cv62mM1i.mjs";
2
+ import { a as logInputHookInOutputPlugin, n as error } from "./logs-DmYCAKcW.mjs";
3
+ import { n as BuiltinPlugin } from "./normalize-string-or-regex-BVNGzRe4.mjs";
4
+ import { a as transformModuleInfo, b as logLevelPriority, f as MinimalPluginContextImpl, g as LOG_LEVEL_DEBUG, h as normalizeLog, i as PluginContextData, l as transformAssetSource, m as normalizeHook, p as getParallelPluginInfo, s as transformRenderedChunk, t as bindingifyInputOptions, x as VERSION, y as LOG_LEVEL_WARN } from "./bindingify-input-options-EnUlEF0T.mjs";
5
+ import { a as unimplemented } from "./misc-DOSKtd97.mjs";
7
6
  import { Worker } from "node:worker_threads";
8
7
  import path, { sep } from "node:path";
9
8
  import { formatWithOptions, styleText } from "node:util";
@@ -11,7 +10,6 @@ import g$1 from "node:process";
11
10
  import * as tty from "node:tty";
12
11
  import os from "node:os";
13
12
  //#region src/log/logger.ts
14
- var import_binding = /* @__PURE__ */ __toESM(require_binding(), 1);
15
13
  function getLogger(plugins, onLog, logLevel, watchMode) {
16
14
  const minimalPriority = logLevelPriority[logLevel];
17
15
  const logger = (level, log, skipped = /* @__PURE__ */ new Set()) => {
@@ -106,7 +104,8 @@ const ENUMERATED_OUTPUT_PLUGIN_HOOK_NAMES = [
106
104
  "renderStart",
107
105
  "renderError",
108
106
  "writeBundle",
109
- "generateBundle"
107
+ "generateBundle",
108
+ "resolveFileUrl"
110
109
  ];
111
110
  const ENUMERATED_PLUGIN_HOOK_NAMES = [
112
111
  ...ENUMERATED_INPUT_PLUGIN_HOOK_NAMES,
@@ -116,7 +115,15 @@ const ENUMERATED_PLUGIN_HOOK_NAMES = [
116
115
  "intro",
117
116
  "outro"
118
117
  ];
119
- ENUMERATED_PLUGIN_HOOK_NAMES[0], ENUMERATED_PLUGIN_HOOK_NAMES[0], ENUMERATED_PLUGIN_HOOK_NAMES[1], ENUMERATED_PLUGIN_HOOK_NAMES[1], ENUMERATED_PLUGIN_HOOK_NAMES[2], ENUMERATED_PLUGIN_HOOK_NAMES[2], ENUMERATED_PLUGIN_HOOK_NAMES[3], ENUMERATED_PLUGIN_HOOK_NAMES[3], ENUMERATED_PLUGIN_HOOK_NAMES[4], ENUMERATED_PLUGIN_HOOK_NAMES[4], ENUMERATED_PLUGIN_HOOK_NAMES[5], ENUMERATED_PLUGIN_HOOK_NAMES[5], ENUMERATED_PLUGIN_HOOK_NAMES[6], ENUMERATED_PLUGIN_HOOK_NAMES[6], ENUMERATED_PLUGIN_HOOK_NAMES[7], ENUMERATED_PLUGIN_HOOK_NAMES[7], ENUMERATED_PLUGIN_HOOK_NAMES[8], ENUMERATED_PLUGIN_HOOK_NAMES[8], ENUMERATED_PLUGIN_HOOK_NAMES[9], ENUMERATED_PLUGIN_HOOK_NAMES[9], ENUMERATED_PLUGIN_HOOK_NAMES[10], ENUMERATED_PLUGIN_HOOK_NAMES[10], ENUMERATED_PLUGIN_HOOK_NAMES[11], ENUMERATED_PLUGIN_HOOK_NAMES[11], ENUMERATED_PLUGIN_HOOK_NAMES[12], ENUMERATED_PLUGIN_HOOK_NAMES[12], ENUMERATED_PLUGIN_HOOK_NAMES[13], ENUMERATED_PLUGIN_HOOK_NAMES[13], ENUMERATED_PLUGIN_HOOK_NAMES[14], ENUMERATED_PLUGIN_HOOK_NAMES[14], ENUMERATED_PLUGIN_HOOK_NAMES[15], ENUMERATED_PLUGIN_HOOK_NAMES[15], ENUMERATED_PLUGIN_HOOK_NAMES[16], ENUMERATED_PLUGIN_HOOK_NAMES[16], ENUMERATED_PLUGIN_HOOK_NAMES[17], ENUMERATED_PLUGIN_HOOK_NAMES[17], ENUMERATED_PLUGIN_HOOK_NAMES[18], ENUMERATED_PLUGIN_HOOK_NAMES[18], ENUMERATED_PLUGIN_HOOK_NAMES[19], ENUMERATED_PLUGIN_HOOK_NAMES[19], ENUMERATED_PLUGIN_HOOK_NAMES[20], ENUMERATED_PLUGIN_HOOK_NAMES[20], ENUMERATED_PLUGIN_HOOK_NAMES[21], ENUMERATED_PLUGIN_HOOK_NAMES[21], ENUMERATED_PLUGIN_HOOK_NAMES[22], ENUMERATED_PLUGIN_HOOK_NAMES[22];
118
+ ENUMERATED_PLUGIN_HOOK_NAMES[0], ENUMERATED_PLUGIN_HOOK_NAMES[0], ENUMERATED_PLUGIN_HOOK_NAMES[1], ENUMERATED_PLUGIN_HOOK_NAMES[1], ENUMERATED_PLUGIN_HOOK_NAMES[2], ENUMERATED_PLUGIN_HOOK_NAMES[2], ENUMERATED_PLUGIN_HOOK_NAMES[3], ENUMERATED_PLUGIN_HOOK_NAMES[3], ENUMERATED_PLUGIN_HOOK_NAMES[4], ENUMERATED_PLUGIN_HOOK_NAMES[4], ENUMERATED_PLUGIN_HOOK_NAMES[5], ENUMERATED_PLUGIN_HOOK_NAMES[5], ENUMERATED_PLUGIN_HOOK_NAMES[6], ENUMERATED_PLUGIN_HOOK_NAMES[6], ENUMERATED_PLUGIN_HOOK_NAMES[7], ENUMERATED_PLUGIN_HOOK_NAMES[7], ENUMERATED_PLUGIN_HOOK_NAMES[8], ENUMERATED_PLUGIN_HOOK_NAMES[8], ENUMERATED_PLUGIN_HOOK_NAMES[9], ENUMERATED_PLUGIN_HOOK_NAMES[9], ENUMERATED_PLUGIN_HOOK_NAMES[10], ENUMERATED_PLUGIN_HOOK_NAMES[10], ENUMERATED_PLUGIN_HOOK_NAMES[11], ENUMERATED_PLUGIN_HOOK_NAMES[11], ENUMERATED_PLUGIN_HOOK_NAMES[12], ENUMERATED_PLUGIN_HOOK_NAMES[12], ENUMERATED_PLUGIN_HOOK_NAMES[13], ENUMERATED_PLUGIN_HOOK_NAMES[13], ENUMERATED_PLUGIN_HOOK_NAMES[14], ENUMERATED_PLUGIN_HOOK_NAMES[14], ENUMERATED_PLUGIN_HOOK_NAMES[15], ENUMERATED_PLUGIN_HOOK_NAMES[15], ENUMERATED_PLUGIN_HOOK_NAMES[16], ENUMERATED_PLUGIN_HOOK_NAMES[16], ENUMERATED_PLUGIN_HOOK_NAMES[17], ENUMERATED_PLUGIN_HOOK_NAMES[17], ENUMERATED_PLUGIN_HOOK_NAMES[18], ENUMERATED_PLUGIN_HOOK_NAMES[18], ENUMERATED_PLUGIN_HOOK_NAMES[19], ENUMERATED_PLUGIN_HOOK_NAMES[19], ENUMERATED_PLUGIN_HOOK_NAMES[20], ENUMERATED_PLUGIN_HOOK_NAMES[20], ENUMERATED_PLUGIN_HOOK_NAMES[21], ENUMERATED_PLUGIN_HOOK_NAMES[21], ENUMERATED_PLUGIN_HOOK_NAMES[22], ENUMERATED_PLUGIN_HOOK_NAMES[22], ENUMERATED_PLUGIN_HOOK_NAMES[23], ENUMERATED_PLUGIN_HOOK_NAMES[23];
119
+ //#endregion
120
+ //#region src/plugin/internal-hooks.ts
121
+ /**
122
+ * Names of the hidden hooks, alongside {@linkcode InternalFunctionPluginHooks}.
123
+ * Kept separate from `ENUMERATED_INPUT_PLUGIN_HOOK_NAMES` so the names stay out
124
+ * of the published `.d.ts` (that list's type is reachable from public types).
125
+ */
126
+ const INTERNAL_PLUGIN_HOOK_NAMES = ["hotUpdate"];
120
127
  //#endregion
121
128
  //#region src/utils/async-flatten.ts
122
129
  async function asyncFlatten(array) {
@@ -129,7 +136,7 @@ async function asyncFlatten(array) {
129
136
  //#region src/utils/normalize-plugin-option.ts
130
137
  const normalizePluginOption = async (plugins) => (await asyncFlatten([plugins])).filter(Boolean);
131
138
  function checkOutputPluginOption(plugins, onLog) {
132
- for (const plugin of plugins) for (const hook of ENUMERATED_INPUT_PLUGIN_HOOK_NAMES) if (hook in plugin) {
139
+ for (const plugin of plugins) for (const hook of [...ENUMERATED_INPUT_PLUGIN_HOOK_NAMES, ...INTERNAL_PLUGIN_HOOK_NAMES]) if (hook in plugin) {
133
140
  delete plugin[hook];
134
141
  onLog(LOG_LEVEL_WARN, logInputHookInOutputPlugin(plugin.name, hook));
135
142
  }
@@ -137,9 +144,10 @@ function checkOutputPluginOption(plugins, onLog) {
137
144
  }
138
145
  function normalizePlugins(plugins, anonymousPrefix) {
139
146
  for (const [index, plugin] of plugins.entries()) {
140
- if ("_parallel" in plugin) continue;
147
+ if (getParallelPluginInfo(plugin)) continue;
141
148
  if (plugin instanceof BuiltinPlugin) continue;
142
- if (!plugin.name) plugin.name = `${anonymousPrefix}${index + 1}`;
149
+ const objectPlugin = plugin;
150
+ if (!objectPlugin.name) objectPlugin.name = `${anonymousPrefix}${index + 1}`;
143
151
  }
144
152
  return plugins;
145
153
  }
@@ -180,7 +188,7 @@ var PluginDriver = class {
180
188
  function getObjectPlugins(plugins) {
181
189
  return plugins.filter((plugin) => {
182
190
  if (!plugin) return;
183
- if ("_parallel" in plugin) return;
191
+ if (getParallelPluginInfo(plugin)) return;
184
192
  if (plugin instanceof BuiltinPlugin) return;
185
193
  return plugin;
186
194
  });
@@ -1604,6 +1612,7 @@ const DevModeSchema = /* @__PURE__ */ union([/* @__PURE__ */ boolean(), /* @__PU
1604
1612
  port: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
1605
1613
  host: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
1606
1614
  implement: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
1615
+ skipCommonRuntimeInjection: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
1607
1616
  lazy: /* @__PURE__ */ optional(/* @__PURE__ */ boolean())
1608
1617
  })]);
1609
1618
  const InputOptionsSchema = /* @__PURE__ */ strictObject({
@@ -1805,7 +1814,7 @@ const OutputOptionsSchema = /* @__PURE__ */ strictObject({
1805
1814
  topLevelVar: /* @__PURE__ */ pipe(/* @__PURE__ */ optional(/* @__PURE__ */ boolean()), /* @__PURE__ */ description("Rewrite top-level declarations to use `var`.")),
1806
1815
  cleanDir: /* @__PURE__ */ pipe(/* @__PURE__ */ optional(/* @__PURE__ */ boolean()), /* @__PURE__ */ description("Clean output directory before emitting output")),
1807
1816
  keepNames: /* @__PURE__ */ pipe(/* @__PURE__ */ optional(/* @__PURE__ */ boolean()), /* @__PURE__ */ description("Keep function and class names after bundling")),
1808
- strictExecutionOrder: /* @__PURE__ */ pipe(/* @__PURE__ */ optional(/* @__PURE__ */ boolean()), /* @__PURE__ */ description("Lets modules be executed in the order they are declared.")),
1817
+ strictExecutionOrder: /* @__PURE__ */ pipe(/* @__PURE__ */ optional(/* @__PURE__ */ boolean()), /* @__PURE__ */ description("Preserve source module execution order across generated chunks.")),
1809
1818
  strict: /* @__PURE__ */ pipe(/* @__PURE__ */ optional(/* @__PURE__ */ union([/* @__PURE__ */ boolean(), /* @__PURE__ */ literal("auto")])), /* @__PURE__ */ description("Whether to always output `\"use strict\"` directive in non-ES module outputs."))
1810
1819
  });
1811
1820
  const getAddonDescription = (placement, wrapper) => {
@@ -1897,30 +1906,6 @@ function getCliSchemaInfo() {
1897
1906
  return flattenValibotSchema(CliOptionsSchema);
1898
1907
  }
1899
1908
  //#endregion
1900
- //#region src/types/rolldown-output-impl.ts
1901
- var RolldownOutputImpl = class extends PlainObjectLike {
1902
- bindingOutputs;
1903
- constructor(bindingOutputs) {
1904
- super();
1905
- this.bindingOutputs = bindingOutputs;
1906
- }
1907
- get output() {
1908
- return transformToRollupOutput(this.bindingOutputs).output;
1909
- }
1910
- __rolldown_external_memory_handle__(keepDataAlive) {
1911
- const results = this.output.map((item) => item.__rolldown_external_memory_handle__(keepDataAlive));
1912
- if (!results.every((r) => r.freed)) {
1913
- const reasons = results.filter((r) => !r.freed).map((r) => r.reason).filter(Boolean);
1914
- return {
1915
- freed: false,
1916
- reason: `Failed to free ${reasons.length} item(s): ${reasons.join("; ")}`
1917
- };
1918
- }
1919
- return { freed: true };
1920
- }
1921
- };
1922
- __decorate([lazyProp], RolldownOutputImpl.prototype, "output", null);
1923
- //#endregion
1924
1909
  //#region src/types/chunking-context.ts
1925
1910
  var ChunkingContextImpl = class {
1926
1911
  context;
@@ -2348,10 +2333,11 @@ ${indent}`);
2348
2333
  return causedPrefix + message + "\n" + stack + causedError;
2349
2334
  }
2350
2335
  formatArgs(args, opts) {
2351
- return formatWithOptions(opts, ...args.map((arg) => {
2336
+ const _args = args.map((arg) => {
2352
2337
  if (arg && typeof arg.stack === "string") return this.formatError(arg, opts);
2353
2338
  return arg;
2354
- }));
2339
+ });
2340
+ return formatWithOptions(opts, ..._args);
2355
2341
  }
2356
2342
  formatDate(date, opts) {
2357
2343
  return opts.date ? date.toLocaleTimeString() : "";
@@ -2887,7 +2873,7 @@ function createConsola(options = {}) {
2887
2873
  defaults: { level },
2888
2874
  stdout: process.stdout,
2889
2875
  stderr: process.stderr,
2890
- prompt: (...args) => import("./prompt--dNycKSZ.mjs").then((m) => m.prompt(...args)),
2876
+ prompt: (...args) => import("./prompt-CH6TK0bC.mjs").then((m) => m.prompt(...args)),
2891
2877
  reporters: options.reporters || [options.fancy ?? !(T || R) ? new FancyReporter() : new BasicReporter()],
2892
2878
  ...options
2893
2879
  });
@@ -3083,15 +3069,19 @@ function bindingifyCodeSplitting(codeSplitting, inlineDynamicImportsOption, adva
3083
3069
  }
3084
3070
  //#endregion
3085
3071
  //#region src/utils/initialize-parallel-plugins.ts
3072
+ var import_binding = /* @__PURE__ */ __toESM(require_binding(), 1);
3086
3073
  async function initializeParallelPlugins(plugins) {
3087
3074
  const pluginInfos = [];
3088
- for (const [index, plugin] of plugins.entries()) if ("_parallel" in plugin) {
3089
- const { fileUrl, options } = plugin._parallel;
3090
- pluginInfos.push({
3091
- index,
3092
- fileUrl,
3093
- options
3094
- });
3075
+ for (const [index, plugin] of plugins.entries()) {
3076
+ const parallel = getParallelPluginInfo(plugin);
3077
+ if (parallel) {
3078
+ const { fileUrl, options } = parallel;
3079
+ pluginInfos.push({
3080
+ index,
3081
+ fileUrl,
3082
+ options
3083
+ });
3084
+ }
3095
3085
  }
3096
3086
  if (pluginInfos.length <= 0) return;
3097
3087
  const count = availableParallelism();
@@ -3174,111 +3164,4 @@ async function createBundlerOptions(inputOptions, outputOptions, watchMode) {
3174
3164
  }
3175
3165
  }
3176
3166
  //#endregion
3177
- //#region src/api/rolldown/rolldown-build.ts
3178
- Symbol.asyncDispose ??= Symbol("Symbol.asyncDispose");
3179
- /**
3180
- * The bundle object returned by {@linkcode rolldown} function.
3181
- *
3182
- * @category Programmatic APIs
3183
- */
3184
- var RolldownBuild = class RolldownBuild {
3185
- #inputOptions;
3186
- #bundler;
3187
- #stopWorkers;
3188
- /** @internal */
3189
- static asyncRuntimeShutdown = false;
3190
- /** @hidden should not be used directly */
3191
- constructor(inputOptions) {
3192
- this.#inputOptions = inputOptions;
3193
- this.#bundler = new import_binding.BindingBundler();
3194
- }
3195
- /**
3196
- * Whether the bundle has been closed.
3197
- *
3198
- * If the bundle is closed, calling other methods will throw an error.
3199
- */
3200
- get closed() {
3201
- return this.#bundler.closed;
3202
- }
3203
- /**
3204
- * Generate bundles in-memory.
3205
- *
3206
- * If you directly want to write bundles to disk, use the {@linkcode write} method instead.
3207
- *
3208
- * @param outputOptions The output options.
3209
- * @returns The generated bundle.
3210
- * @throws {@linkcode BundleError} When an error occurs during the build.
3211
- */
3212
- async generate(outputOptions = {}) {
3213
- return this.#build(false, outputOptions);
3214
- }
3215
- /**
3216
- * Generate and write bundles to disk.
3217
- *
3218
- * If you want to generate bundles in-memory, use the {@linkcode generate} method instead.
3219
- *
3220
- * @param outputOptions The output options.
3221
- * @returns The generated bundle.
3222
- * @throws {@linkcode BundleError} When an error occurs during the build.
3223
- */
3224
- async write(outputOptions = {}) {
3225
- return this.#build(true, outputOptions);
3226
- }
3227
- /**
3228
- * Close the bundle and free resources.
3229
- *
3230
- * This method should be called even if the {@linkcode generate} method
3231
- * or the {@linkcode write} method threw an error. It should be called
3232
- * even if neither of the methods are called.
3233
- *
3234
- * This method is called automatically when using `using` syntax.
3235
- *
3236
- * @example
3237
- * ```js
3238
- * import { rolldown } from 'rolldown';
3239
- *
3240
- * {
3241
- * using bundle = await rolldown({ input: 'src/main.js' });
3242
- * const output = await bundle.generate({ format: 'esm' });
3243
- * console.log(output);
3244
- * // bundle.close() is called automatically here
3245
- * }
3246
- * ```
3247
- */
3248
- async close() {
3249
- await this.#stopWorkers?.();
3250
- await this.#bundler.close();
3251
- (0, import_binding.shutdownAsyncRuntime)();
3252
- RolldownBuild.asyncRuntimeShutdown = true;
3253
- this.#stopWorkers = void 0;
3254
- }
3255
- /** @hidden documented in close method */
3256
- async [Symbol.asyncDispose]() {
3257
- await this.close();
3258
- }
3259
- /**
3260
- * @experimental
3261
- * @hidden not ready for public usage yet
3262
- */
3263
- get watchFiles() {
3264
- return Promise.resolve(this.#bundler.getWatchFiles());
3265
- }
3266
- async #build(isWrite, outputOptions) {
3267
- validateOption("output", outputOptions);
3268
- await this.#stopWorkers?.();
3269
- const option = await createBundlerOptions(this.#inputOptions, outputOptions, false);
3270
- if (RolldownBuild.asyncRuntimeShutdown) (0, import_binding.startAsyncRuntime)();
3271
- try {
3272
- this.#stopWorkers = option.stopWorkers;
3273
- let output;
3274
- if (isWrite) output = await this.#bundler.write(option.bundlerOptions);
3275
- else output = await this.#bundler.generate(option.bundlerOptions);
3276
- return new RolldownOutputImpl(unwrapBindingResult(output));
3277
- } catch (e) {
3278
- await option.stopWorkers?.();
3279
- throw e;
3280
- }
3281
- }
3282
- };
3283
- //#endregion
3284
- export { getInputCliKeys as a, validateOption as c, getCliSchemaInfo as i, styleText$1 as l, createBundlerOptions as n, getOutputCliKeys as o, logger as r, validateCliOptions as s, RolldownBuild as t, PluginDriver as u };
3167
+ export { getOutputCliKeys as a, styleText$1 as c, getInputCliKeys as i, PluginDriver as l, logger as n, validateCliOptions as o, getCliSchemaInfo as r, validateOption as s, createBundlerOptions as t };