rolldown 1.0.0-beta.32 → 1.0.0-beta.34

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 (35) hide show
  1. package/dist/cli.cjs +5 -5
  2. package/dist/cli.mjs +5 -5
  3. package/dist/config.cjs +3 -3
  4. package/dist/config.d.cts +2 -2
  5. package/dist/config.d.mts +2 -2
  6. package/dist/config.mjs +3 -3
  7. package/dist/experimental-index.cjs +36 -2
  8. package/dist/experimental-index.d.cts +36 -4
  9. package/dist/experimental-index.d.mts +36 -4
  10. package/dist/experimental-index.mjs +34 -3
  11. package/dist/filter-index.d.cts +2 -2
  12. package/dist/filter-index.d.mts +2 -2
  13. package/dist/index.cjs +2 -2
  14. package/dist/index.d.cts +2 -2
  15. package/dist/index.d.mts +2 -2
  16. package/dist/index.mjs +2 -2
  17. package/dist/parallel-plugin-worker.cjs +2 -2
  18. package/dist/parallel-plugin-worker.mjs +2 -2
  19. package/dist/parallel-plugin.d.cts +2 -2
  20. package/dist/parallel-plugin.d.mts +2 -2
  21. package/dist/parse-ast-index.cjs +1 -1
  22. package/dist/parse-ast-index.d.cts +1 -1
  23. package/dist/parse-ast-index.d.mts +1 -1
  24. package/dist/parse-ast-index.mjs +1 -1
  25. package/dist/shared/{binding-BEeJNtY4.d.mts → binding-9k0egz6L.d.mts} +110 -10
  26. package/dist/shared/{binding-CRMJJtol.d.cts → binding-D13M6Llu.d.cts} +110 -10
  27. package/dist/shared/{define-config-Cf8iQFTl.d.mts → define-config-D5AluabE.d.cts} +70 -25
  28. package/dist/shared/{define-config-Dw9PP95x.d.cts → define-config-DVSr6Unb.d.mts} +70 -25
  29. package/dist/shared/{load-config-BF8LOHEy.mjs → load-config-CXpGBNqp.mjs} +1 -1
  30. package/dist/shared/{load-config-Dl9pIpnr.cjs → load-config-CefxSUnT.cjs} +1 -1
  31. package/dist/shared/{parse-ast-index-Cn-35Vbp.cjs → parse-ast-index-BCv3Y1TT.cjs} +31 -25
  32. package/dist/shared/{parse-ast-index-Ch2Zs4Nn.mjs → parse-ast-index-DjojK-Vf.mjs} +26 -26
  33. package/dist/shared/{src-p50l1OMU.mjs → src-Chn1S4O2.mjs} +114 -95
  34. package/dist/shared/{src-CsEb-TS_.cjs → src-djpzntWm.cjs} +125 -94
  35. package/package.json +21 -21
@@ -1,4 +1,4 @@
1
- import { BindingAttachDebugInfo, BindingBundler, BindingCallableBuiltinPlugin, BindingChunkModuleOrderBy, BindingJsx, BindingLogLevel, BindingPluginOrder, BindingWatcher, ParallelJsPluginRegistry, augmentCodeLocation, error, logCycleLoading, logDuplicateJsxConfig, logInputHookInOutputPlugin, logInvalidLogPosition, logMultiplyNotifyOption, logPluginError, parseAst, shutdownAsyncRuntime, startAsyncRuntime } from "./parse-ast-index-Ch2Zs4Nn.mjs";
1
+ import { BindingAttachDebugInfo, BindingBundler, BindingCallableBuiltinPlugin, BindingChunkModuleOrderBy, BindingJsx, BindingLogLevel, BindingPluginOrder, BindingWatcher, ParallelJsPluginRegistry, augmentCodeLocation, error, logCycleLoading, logDuplicateJsxConfig, logInputHookInOutputPlugin, logInvalidLogPosition, logMultiplyNotifyOption, logPluginError, parseAst, shutdownAsyncRuntime, startAsyncRuntime } from "./parse-ast-index-DjojK-Vf.mjs";
2
2
  import { arraify, noop, unimplemented, unreachable, unsupported } from "./misc-CQeo-AFx.mjs";
3
3
  import path from "node:path";
4
4
  import { fileURLToPath } from "node:url";
@@ -9,22 +9,17 @@ import os from "node:os";
9
9
  import { Worker } from "node:worker_threads";
10
10
 
11
11
  //#region package.json
12
- var version = "1.0.0-beta.32";
12
+ var version = "1.0.0-beta.34";
13
13
  var description$1 = "Fast JavaScript/TypeScript bundler in Rust with Rollup-compatible API.";
14
14
 
15
- //#endregion
16
- //#region src/utils/normalize-string-or-regex.ts
17
- function normalizedStringOrRegex(pattern) {
18
- if (!pattern) return void 0;
19
- if (!isReadonlyArray(pattern)) return [pattern];
20
- return pattern;
21
- }
22
- function isReadonlyArray(input) {
23
- return Array.isArray(input);
24
- }
25
-
26
15
  //#endregion
27
16
  //#region src/builtin-plugin/utils.ts
17
+ var BuiltinPlugin = class {
18
+ constructor(name, _options) {
19
+ this.name = name;
20
+ this._options = _options;
21
+ }
22
+ };
28
23
  function makeBuiltinPluginCallable(plugin) {
29
24
  let callablePlugin = new BindingCallableBuiltinPlugin(bindingifyBuiltInPlugin(plugin));
30
25
  const wrappedPlugin = plugin;
@@ -48,67 +43,6 @@ function bindingifyBuiltInPlugin(plugin) {
48
43
  };
49
44
  }
50
45
 
51
- //#endregion
52
- //#region src/builtin-plugin/constructors.ts
53
- var BuiltinPlugin = class {
54
- constructor(name, _options) {
55
- this.name = name;
56
- this._options = _options;
57
- }
58
- };
59
- function modulePreloadPolyfillPlugin(config) {
60
- return new BuiltinPlugin("builtin:module-preload-polyfill", config);
61
- }
62
- function dynamicImportVarsPlugin(config) {
63
- if (config) {
64
- config.include = normalizedStringOrRegex(config.include);
65
- config.exclude = normalizedStringOrRegex(config.exclude);
66
- }
67
- return new BuiltinPlugin("builtin:dynamic-import-vars", config);
68
- }
69
- function importGlobPlugin(config) {
70
- return new BuiltinPlugin("builtin:import-glob", config);
71
- }
72
- function reporterPlugin(config) {
73
- return new BuiltinPlugin("builtin:reporter", config);
74
- }
75
- function manifestPlugin(config) {
76
- return new BuiltinPlugin("builtin:manifest", config);
77
- }
78
- function wasmHelperPlugin(config) {
79
- return new BuiltinPlugin("builtin:wasm-helper", config);
80
- }
81
- function wasmFallbackPlugin() {
82
- const builtinPlugin = new BuiltinPlugin("builtin:wasm-fallback");
83
- return makeBuiltinPluginCallable(builtinPlugin);
84
- }
85
- function loadFallbackPlugin() {
86
- return new BuiltinPlugin("builtin:load-fallback");
87
- }
88
- function jsonPlugin(config) {
89
- const builtinPlugin = new BuiltinPlugin("builtin:json", config);
90
- return makeBuiltinPluginCallable(builtinPlugin);
91
- }
92
- function buildImportAnalysisPlugin(config) {
93
- return new BuiltinPlugin("builtin:build-import-analysis", config);
94
- }
95
- function viteResolvePlugin(config) {
96
- const builtinPlugin = new BuiltinPlugin("builtin:vite-resolve", config);
97
- return makeBuiltinPluginCallable(builtinPlugin);
98
- }
99
- function isolatedDeclarationPlugin(config) {
100
- return new BuiltinPlugin("builtin:isolated-declaration", config);
101
- }
102
- function assetPlugin(config) {
103
- return new BuiltinPlugin("builtin:asset", config);
104
- }
105
- function webWorkerPostPlugin() {
106
- return new BuiltinPlugin("builtin:web-worker-post");
107
- }
108
- function oxcRuntimePlugin(config) {
109
- return new BuiltinPlugin("builtin:oxc-runtime", config);
110
- }
111
-
112
46
  //#endregion
113
47
  //#region src/log/logging.ts
114
48
  const LOG_LEVEL_SILENT = "silent";
@@ -233,6 +167,75 @@ function normalizeHook(hook) {
233
167
  unreachable("Invalid hook type");
234
168
  }
235
169
 
170
+ //#endregion
171
+ //#region src/utils/normalize-string-or-regex.ts
172
+ function normalizedStringOrRegex(pattern) {
173
+ if (!pattern) return void 0;
174
+ if (!isReadonlyArray(pattern)) return [pattern];
175
+ return pattern;
176
+ }
177
+ function isReadonlyArray(input) {
178
+ return Array.isArray(input);
179
+ }
180
+
181
+ //#endregion
182
+ //#region src/builtin-plugin/constructors.ts
183
+ function modulePreloadPolyfillPlugin(config) {
184
+ return new BuiltinPlugin("builtin:module-preload-polyfill", config);
185
+ }
186
+ function dynamicImportVarsPlugin(config) {
187
+ if (config) {
188
+ config.include = normalizedStringOrRegex(config.include);
189
+ config.exclude = normalizedStringOrRegex(config.exclude);
190
+ }
191
+ return new BuiltinPlugin("builtin:dynamic-import-vars", config);
192
+ }
193
+ function importGlobPlugin(config) {
194
+ return new BuiltinPlugin("builtin:import-glob", config);
195
+ }
196
+ function reporterPlugin(config) {
197
+ return new BuiltinPlugin("builtin:reporter", config);
198
+ }
199
+ function manifestPlugin(config) {
200
+ return new BuiltinPlugin("builtin:manifest", config);
201
+ }
202
+ function wasmHelperPlugin(config) {
203
+ return new BuiltinPlugin("builtin:wasm-helper", config);
204
+ }
205
+ function wasmFallbackPlugin() {
206
+ const builtinPlugin = new BuiltinPlugin("builtin:wasm-fallback");
207
+ return makeBuiltinPluginCallable(builtinPlugin);
208
+ }
209
+ function loadFallbackPlugin() {
210
+ return new BuiltinPlugin("builtin:load-fallback");
211
+ }
212
+ function jsonPlugin(config) {
213
+ const builtinPlugin = new BuiltinPlugin("builtin:json", config);
214
+ return makeBuiltinPluginCallable(builtinPlugin);
215
+ }
216
+ function buildImportAnalysisPlugin(config) {
217
+ return new BuiltinPlugin("builtin:build-import-analysis", config);
218
+ }
219
+ function viteResolvePlugin(config) {
220
+ const builtinPlugin = new BuiltinPlugin("builtin:vite-resolve", config);
221
+ return makeBuiltinPluginCallable(builtinPlugin);
222
+ }
223
+ function isolatedDeclarationPlugin(config) {
224
+ return new BuiltinPlugin("builtin:isolated-declaration", config);
225
+ }
226
+ function assetPlugin(config) {
227
+ return new BuiltinPlugin("builtin:asset", config);
228
+ }
229
+ function webWorkerPostPlugin() {
230
+ return new BuiltinPlugin("builtin:web-worker-post");
231
+ }
232
+ function oxcRuntimePlugin(config) {
233
+ return new BuiltinPlugin("builtin:oxc-runtime", config);
234
+ }
235
+ function esmExternalRequirePlugin(config) {
236
+ return new BuiltinPlugin("builtin:esm-external-require", config);
237
+ }
238
+
236
239
  //#endregion
237
240
  //#region src/constants/plugin.ts
238
241
  const ENUMERATED_INPUT_PLUGIN_HOOK_NAMES = [
@@ -1900,7 +1903,7 @@ const TransformOptionsSchema = object({
1900
1903
  typescript: optional(TypescriptSchema),
1901
1904
  helpers: optional(HelpersSchema),
1902
1905
  decorators: optional(DecoratorOptionSchema),
1903
- jsx: optional(JsxOptionsSchema),
1906
+ jsx: optional(union([literal("preserve"), JsxOptionsSchema])),
1904
1907
  target: pipe(optional(union([string(), array(string())])), description("The JavaScript target environment"))
1905
1908
  });
1906
1909
  const WatchOptionsSchema = strictObject({
@@ -1928,7 +1931,8 @@ const ChecksOptionsSchema = strictObject({
1928
1931
  commonJsVariableInEsm: pipe(optional(boolean()), description("Whether to emit warning when detecting common js variable in esm")),
1929
1932
  importIsUndefined: pipe(optional(boolean()), description("Whether to emit warning when detecting import is undefined")),
1930
1933
  emptyImportMeta: pipe(optional(boolean()), description("Whether to emit warning when detecting empty import meta")),
1931
- configurationFieldConflict: pipe(optional(boolean()), description("Whether to emit warning when detecting configuration field conflict"))
1934
+ configurationFieldConflict: pipe(optional(boolean()), description("Whether to emit warning when detecting configuration field conflict")),
1935
+ preferBuiltinFeature: pipe(optional(boolean()), description("Whether to emit warning when detecting prefer builtin feature"))
1932
1936
  });
1933
1937
  const MinifyOptionsSchema = strictObject({
1934
1938
  mangle: optional(boolean()),
@@ -1946,7 +1950,6 @@ const ResolveOptionsSchema = strictObject({
1946
1950
  mainFiles: optional(array(string())),
1947
1951
  modules: optional(array(string())),
1948
1952
  symlinks: optional(boolean()),
1949
- tsconfigFilename: optional(string()),
1950
1953
  yarnPnp: optional(boolean())
1951
1954
  });
1952
1955
  const TreeshakingOptionsSchema = union([boolean(), looseObject({
@@ -2030,7 +2033,8 @@ const InputOptionsSchema = strictObject({
2030
2033
  literal("allow-extension"),
2031
2034
  literal("exports-only"),
2032
2035
  literal(false)
2033
- ])))
2036
+ ]))),
2037
+ tsconfig: pipe(optional(string()), description("Path to the tsconfig.json file."))
2034
2038
  });
2035
2039
  const InputCliOverrideSchema = strictObject({
2036
2040
  input: pipe(optional(array(string())), description("Entry file")),
@@ -2152,7 +2156,8 @@ const OutputOptionsSchema = strictObject({
2152
2156
  preserveModules: pipe(optional(boolean()), description("Preserve module structure")),
2153
2157
  preserveModulesRoot: pipe(optional(string()), description("Put preserved modules under this path at root level")),
2154
2158
  virtualDirname: optional(string()),
2155
- minifyInternalExports: pipe(optional(boolean()), description("Minify internal exports"))
2159
+ minifyInternalExports: pipe(optional(boolean()), description("Minify internal exports")),
2160
+ topLevelVar: pipe(optional(boolean()), description("Rewrite top-level declarations to use `var`."))
2156
2161
  });
2157
2162
  const getAddonDescription = (placement, wrapper) => {
2158
2163
  return `Code to insert the ${colors.bold(placement)} of the bundled file (${colors.bold(wrapper)} the wrapper function)`;
@@ -2606,7 +2611,8 @@ var PluginContextImpl = class extends MinimalPluginContextImpl {
2606
2611
  ...res,
2607
2612
  external: res.external === "relative" ? unreachable(`The PluginContext resolve result external couldn't be 'relative'`) : res.external,
2608
2613
  ...info,
2609
- moduleSideEffects: info.moduleSideEffects ?? res.moduleSideEffects ?? null
2614
+ moduleSideEffects: info.moduleSideEffects ?? res.moduleSideEffects ?? null,
2615
+ packageJsonPath: res.packageJsonPath
2610
2616
  };
2611
2617
  }
2612
2618
  emitFile = (file) => {
@@ -2732,7 +2738,8 @@ function bindingifyResolveId(args$1) {
2732
2738
  id: ret.id,
2733
2739
  external: ret.external,
2734
2740
  normalizeExternalId: false,
2735
- moduleSideEffects: exist.moduleSideEffects ?? void 0
2741
+ moduleSideEffects: exist.moduleSideEffects ?? void 0,
2742
+ packageJsonPath: ret.packageJsonPath
2736
2743
  };
2737
2744
  },
2738
2745
  meta: bindingifyPluginHookMeta(meta),
@@ -3439,6 +3446,9 @@ var NormalizedInputOptionsImpl = class {
3439
3446
  get platform() {
3440
3447
  return this.inner.platform;
3441
3448
  }
3449
+ get context() {
3450
+ return this.inner.context;
3451
+ }
3442
3452
  };
3443
3453
 
3444
3454
  //#endregion
@@ -3655,7 +3665,13 @@ var NormalizedOutputOptionsImpl = class {
3655
3665
  return this.outputOptions.sourcemapPathTransform;
3656
3666
  }
3657
3667
  get minify() {
3658
- return this.inner.minify;
3668
+ let ret = this.inner.minify;
3669
+ if (typeof ret === "object" && ret !== null) {
3670
+ delete ret["codegen"];
3671
+ delete ret["module"];
3672
+ delete ret["sourcemap"];
3673
+ }
3674
+ return ret;
3659
3675
  }
3660
3676
  get legalComments() {
3661
3677
  return this.inner.legalComments;
@@ -3839,7 +3855,8 @@ function bindingifyInputOptions(rawPlugins, inputOptions, outputOptions, normali
3839
3855
  markModuleLoaded: pluginContextData.markModuleLoaded.bind(pluginContextData),
3840
3856
  preserveEntrySignatures: bindingifyPreserveEntrySignatures(inputOptions.preserveEntrySignatures),
3841
3857
  optimization: inputOptions.optimization,
3842
- context: inputOptions.context
3858
+ context: inputOptions.context,
3859
+ tsconfig: inputOptions.tsconfig
3843
3860
  };
3844
3861
  }
3845
3862
  function bindingifyHmr(hmr) {
@@ -4108,12 +4125,12 @@ const availableParallelism = () => {
4108
4125
 
4109
4126
  //#endregion
4110
4127
  //#region src/utils/create-bundler-option.ts
4111
- async function createBundlerOptions(inputOptions, outputOptions, watchMode, isClose) {
4128
+ async function createBundlerOptions(inputOptions, outputOptions, watchMode) {
4112
4129
  const inputPlugins = await normalizePluginOption(inputOptions.plugins);
4113
4130
  const outputPlugins = await normalizePluginOption(outputOptions.plugins);
4114
4131
  const logLevel = inputOptions.logLevel || LOG_LEVEL_INFO;
4115
4132
  const onLog = getLogger(getObjectPlugins(inputPlugins), getOnLog(inputOptions, logLevel), logLevel, watchMode);
4116
- if (!isClose) outputOptions = PluginDriver.callOutputOptionsHook([...inputPlugins, ...outputPlugins], outputOptions, onLog, logLevel, watchMode);
4133
+ outputOptions = PluginDriver.callOutputOptionsHook([...inputPlugins, ...outputPlugins], outputOptions, onLog, logLevel, watchMode);
4117
4134
  const normalizedOutputPlugins = await normalizePluginOption(outputOptions.plugins);
4118
4135
  let plugins = [
4119
4136
  ...BUILTIN_PLUGINS,
@@ -4143,8 +4160,8 @@ async function createBundlerOptions(inputOptions, outputOptions, watchMode, isCl
4143
4160
  //#endregion
4144
4161
  //#region src/utils/create-bundler.ts
4145
4162
  let asyncRuntimeShutdown = false;
4146
- async function createBundlerImpl(bundler, inputOptions, outputOptions, isClose) {
4147
- const option = await createBundlerOptions(inputOptions, outputOptions, false, isClose);
4163
+ async function createBundlerImpl(bundler, inputOptions, outputOptions) {
4164
+ const option = await createBundlerOptions(inputOptions, outputOptions, false);
4148
4165
  if (asyncRuntimeShutdown) startAsyncRuntime();
4149
4166
  try {
4150
4167
  return {
@@ -4185,11 +4202,11 @@ var RolldownBuild = class {
4185
4202
  this.#bundler = new BindingBundler();
4186
4203
  }
4187
4204
  get closed() {
4188
- return this.#bundlerImpl?.impl.closed ?? false;
4205
+ return this.#bundlerImpl?.impl.closed ?? true;
4189
4206
  }
4190
- async #getBundlerWithStopWorker(outputOptions, isClose) {
4207
+ async #getBundlerWithStopWorker(outputOptions) {
4191
4208
  if (this.#bundlerImpl) await this.#bundlerImpl.stopWorkers?.();
4192
- return this.#bundlerImpl = await createBundlerImpl(this.#bundler, this.#inputOptions, outputOptions, isClose);
4209
+ return this.#bundlerImpl = await createBundlerImpl(this.#bundler, this.#inputOptions, outputOptions);
4193
4210
  }
4194
4211
  async generate(outputOptions = {}) {
4195
4212
  validateOption("output", outputOptions);
@@ -4204,10 +4221,12 @@ var RolldownBuild = class {
4204
4221
  return transformToRollupOutput(output);
4205
4222
  }
4206
4223
  async close() {
4207
- const { impl, stopWorkers, shutdown } = await this.#getBundlerWithStopWorker({}, true);
4208
- await stopWorkers?.();
4209
- await impl.close();
4210
- shutdown();
4224
+ if (this.#bundlerImpl) {
4225
+ await this.#bundlerImpl.stopWorkers?.();
4226
+ await this.#bundlerImpl.impl.close();
4227
+ this.#bundlerImpl.shutdown();
4228
+ this.#bundlerImpl = void 0;
4229
+ }
4211
4230
  }
4212
4231
  async [Symbol.asyncDispose]() {
4213
4232
  await this.close();
@@ -4396,4 +4415,4 @@ function defineConfig(config) {
4396
4415
  const VERSION = version;
4397
4416
 
4398
4417
  //#endregion
4399
- export { BuiltinPlugin, PluginContextData, PluginDriver, VERSION, assetPlugin, bindingifyPlugin, build, buildImportAnalysisPlugin, createBundlerImpl, defineConfig, description$1 as description, dynamicImportVarsPlugin, getInputCliKeys, getJsonSchema, getOutputCliKeys, handleOutputErrors, importGlobPlugin, isolatedDeclarationPlugin, jsonPlugin, loadFallbackPlugin, manifestPlugin, modulePreloadPolyfillPlugin, normalizedStringOrRegex, reporterPlugin, rolldown, validateCliOptions, version, viteResolvePlugin, wasmFallbackPlugin, wasmHelperPlugin, watch, webWorkerPostPlugin };
4418
+ export { BuiltinPlugin, PluginContextData, PluginDriver, VERSION, assetPlugin, bindingifyPlugin, build, buildImportAnalysisPlugin, createBundlerImpl, createBundlerOptions, defineConfig, description$1 as description, dynamicImportVarsPlugin, esmExternalRequirePlugin, getInputCliKeys, getJsonSchema, getOutputCliKeys, handleOutputErrors, importGlobPlugin, isolatedDeclarationPlugin, jsonPlugin, loadFallbackPlugin, manifestPlugin, modulePreloadPolyfillPlugin, normalizedStringOrRegex, reporterPlugin, rolldown, validateCliOptions, version, viteResolvePlugin, wasmFallbackPlugin, wasmHelperPlugin, watch, webWorkerPostPlugin };