@rolldown/browser 1.0.0-beta.52 → 1.0.0-beta.54

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.mjs +10 -12
  2. package/dist/config.d.mts +1 -3
  3. package/dist/config.mjs +6 -9
  4. package/dist/{constructors-DW3R_Jog.js → constructors-CPxFX1pF.js} +9 -10
  5. package/dist/experimental-index.browser.mjs +25 -13
  6. package/dist/experimental-index.d.mts +24 -12
  7. package/dist/experimental-index.mjs +27 -18
  8. package/dist/filter-index.d.mts +1 -3
  9. package/dist/index.browser.mjs +2 -2
  10. package/dist/index.d.mts +4 -4
  11. package/dist/index.mjs +6 -9
  12. package/dist/{normalize-string-or-regex-BcbPUrYo.js → normalize-string-or-regex-Crhxh-US.js} +43 -4
  13. package/dist/parallel-plugin-worker.mjs +3 -6
  14. package/dist/parallel-plugin.d.mts +2 -3
  15. package/dist/parse-ast-index.d.mts +1 -1
  16. package/dist/parse-ast-index.mjs +1 -2
  17. package/dist/plugins-index.browser.mjs +2 -2
  18. package/dist/plugins-index.d.mts +3 -3
  19. package/dist/plugins-index.mjs +2 -4
  20. package/dist/rolldown-binding.wasm32-wasi.wasm +0 -0
  21. package/dist/{rolldown-build-CUYnBV3u.js → rolldown-build-BEfycLl9.js} +348 -188
  22. package/dist/shared/{binding-BKL2JHoJ.d.mts → binding-yIBVkeOE.d.mts} +107 -21
  23. package/dist/shared/{bindingify-input-options-D4i1DYzt.mjs → bindingify-input-options-CxbvPG4D.mjs} +21 -8
  24. package/dist/shared/{constructors-XFp0WhK3.mjs → constructors-C4qFjfHR.mjs} +9 -10
  25. package/dist/shared/constructors-D9uR3o6d.d.mts +30 -0
  26. package/dist/shared/{define-config-Buedmg9e.d.mts → define-config-DkpMlrZ3.d.mts} +18 -5
  27. package/dist/shared/{load-config-C9CjEv2m.mjs → load-config-BqTtlue1.mjs} +1 -1
  28. package/dist/shared/{normalize-string-or-regex-D1mB67Iy.mjs → normalize-string-or-regex-B8NuOx7w.mjs} +43 -4
  29. package/dist/shared/{parse-ast-index-BSDTTjWT.mjs → parse-ast-index-C0k-VwRM.mjs} +1 -1
  30. package/dist/shared/{rolldown-0ID0Q4xL.mjs → rolldown-BeAWDsL_.mjs} +1 -1
  31. package/dist/shared/{rolldown-build-BWJGpMD0.mjs → rolldown-build-yjeMNdrl.mjs} +336 -189
  32. package/dist/shared/{utils-DKydZ4iH.d.mts → utils-mjPIk7Yj.d.mts} +3 -1
  33. package/dist/shared/{watch-CwnSQOS4.mjs → watch-C7zN9oTc.mjs} +16 -4
  34. package/package.json +1 -1
  35. package/dist/shared/constructors-BvaMwihu.d.mts +0 -32
@@ -185,7 +185,7 @@ interface Comment {
185
185
  end: number;
186
186
  }
187
187
  interface ErrorLabel {
188
- message?: string;
188
+ message: string | null;
189
189
  start: number;
190
190
  end: number;
191
191
  }
@@ -193,8 +193,8 @@ interface OxcError {
193
193
  severity: Severity;
194
194
  message: string;
195
195
  labels: Array<ErrorLabel>;
196
- helpMessage?: string;
197
- codeframe?: string;
196
+ helpMessage: string | null;
197
+ codeframe: string | null;
198
198
  }
199
199
  type Severity = 'Error' | 'Warning' | 'Advice';
200
200
  declare class ParseResult {
@@ -228,9 +228,9 @@ interface EcmaScriptModule {
228
228
  }
229
229
  interface ExportExportName {
230
230
  kind: ExportExportNameKind;
231
- name?: string;
232
- start?: number;
233
- end?: number;
231
+ name: string | null;
232
+ start: number | null;
233
+ end: number | null;
234
234
  }
235
235
  type ExportExportNameKind = /** `export { name } */
236
236
  'Name' | /** `export default expression` */
@@ -238,9 +238,9 @@ type ExportExportNameKind = /** `export { name } */
238
238
  'None';
239
239
  interface ExportImportName {
240
240
  kind: ExportImportNameKind;
241
- name?: string;
242
- start?: number;
243
- end?: number;
241
+ name: string | null;
242
+ start: number | null;
243
+ end: number | null;
244
244
  }
245
245
  type ExportImportNameKind = /** `export { name } */
246
246
  'Name' | /** `export * as ns from "mod"` */
@@ -249,9 +249,9 @@ type ExportImportNameKind = /** `export { name } */
249
249
  'None';
250
250
  interface ExportLocalName {
251
251
  kind: ExportLocalNameKind;
252
- name?: string;
253
- start?: number;
254
- end?: number;
252
+ name: string | null;
253
+ start: number | null;
254
+ end: number | null;
255
255
  }
256
256
  type ExportLocalNameKind = /** `export { name } */
257
257
  'Name' | /** `export default expression` */
@@ -263,9 +263,9 @@ type ExportLocalNameKind = /** `export { name } */
263
263
  'None';
264
264
  interface ImportName {
265
265
  kind: ImportNameKind;
266
- name?: string;
267
- start?: number;
268
- end?: number;
266
+ name: string | null;
267
+ start: number | null;
268
+ end: number | null;
269
269
  }
270
270
  type ImportNameKind = /** `import { x } from "mod"` */
271
271
  'Name' | /** `import * as ns from "mod"` */
@@ -323,7 +323,7 @@ interface StaticExport {
323
323
  interface StaticExportEntry {
324
324
  start: number;
325
325
  end: number;
326
- moduleRequest?: ValueSpan;
326
+ moduleRequest: ValueSpan | null;
327
327
  /** The name under which the desired binding is exported by the module`. */
328
328
  importName: ExportImportName;
329
329
  /** The name used to export this binding by this module. */
@@ -415,6 +415,18 @@ declare class ResolverFactory {
415
415
  sync(directory: string, request: string): ResolveResult;
416
416
  /** Asynchronously resolve `specifier` at an absolute path to a `directory`. */
417
417
  async(directory: string, request: string): Promise<ResolveResult>;
418
+ /**
419
+ * Synchronously resolve `specifier` at an absolute path to a `file`.
420
+ *
421
+ * This method automatically discovers tsconfig.json by traversing parent directories.
422
+ */
423
+ resolveFileSync(file: string, request: string): ResolveResult;
424
+ /**
425
+ * Asynchronously resolve `specifier` at an absolute path to a `file`.
426
+ *
427
+ * This method automatically discovers tsconfig.json by traversing parent directories.
428
+ */
429
+ resolveFileAsync(file: string, request: string): Promise<ResolveResult>;
418
430
  }
419
431
  /** Node.js builtin module when `Options::builtin_modules` is enabled. */
420
432
  interface Builtin {
@@ -656,9 +668,8 @@ interface TsconfigOptions {
656
668
  * Support for Typescript Project References.
657
669
  *
658
670
  * * `'auto'`: use the `references` field from tsconfig of `config_file`.
659
- * * `string[]`: manually provided relative or absolute path.
660
671
  */
661
- references?: 'auto' | string[];
672
+ references?: 'auto';
662
673
  }
663
674
  interface SourceMap {
664
675
  file?: string;
@@ -1269,6 +1280,44 @@ declare class BindingMagicString {
1269
1280
  relocate(start: number, end: number, to: number): void;
1270
1281
  indent(indentor?: string | undefined | null): void;
1271
1282
  }
1283
+ declare class BindingNormalizedOptions {
1284
+ get input(): Array<string> | Record<string, string>;
1285
+ get cwd(): string;
1286
+ get platform(): 'node' | 'browser' | 'neutral';
1287
+ get shimMissingExports(): boolean;
1288
+ get name(): string | null;
1289
+ get cssEntryFilenames(): string | undefined;
1290
+ get cssChunkFilenames(): string | undefined;
1291
+ get entryFilenames(): string | undefined;
1292
+ get chunkFilenames(): string | undefined;
1293
+ get assetFilenames(): string | undefined;
1294
+ get dir(): string | null;
1295
+ get file(): string | null;
1296
+ get format(): 'es' | 'cjs' | 'iife' | 'umd';
1297
+ get exports(): 'default' | 'named' | 'none' | 'auto';
1298
+ get esModule(): boolean | 'if-default-prop';
1299
+ get inlineDynamicImports(): boolean;
1300
+ get sourcemap(): boolean | 'inline' | 'hidden';
1301
+ get sourcemapBaseUrl(): string | null;
1302
+ get banner(): string | undefined | null | undefined;
1303
+ get footer(): string | undefined | null | undefined;
1304
+ get intro(): string | undefined | null | undefined;
1305
+ get outro(): string | undefined | null | undefined;
1306
+ get externalLiveBindings(): boolean;
1307
+ get extend(): boolean;
1308
+ get globals(): Record<string, string> | undefined;
1309
+ get hashCharacters(): 'base64' | 'base36' | 'hex';
1310
+ get sourcemapDebugIds(): boolean;
1311
+ get polyfillRequire(): boolean;
1312
+ get minify(): false | 'dce-only' | MinifyOptions;
1313
+ get legalComments(): 'none' | 'inline';
1314
+ get preserveModules(): boolean;
1315
+ get preserveModulesRoot(): string | undefined;
1316
+ get virtualDirname(): string;
1317
+ get topLevelVar(): boolean;
1318
+ get minifyInternalExports(): boolean;
1319
+ get context(): string;
1320
+ }
1272
1321
  declare class BindingOutputAsset {
1273
1322
  dropInner(): ExternalMemoryStatus;
1274
1323
  getFileName(): string;
@@ -1504,14 +1553,19 @@ interface BindingViteCssPostPluginConfig {
1504
1553
  urlBase: string;
1505
1554
  decodedBase: string;
1506
1555
  libCssFilename?: string;
1507
- isLegacy?: () => boolean;
1556
+ isLegacy?: (args: BindingNormalizedOptions) => boolean;
1508
1557
  cssMinify?: (css: string, inline: boolean) => Promise<string>;
1509
1558
  renderBuiltUrl?: (filename: string, type: BindingRenderBuiltUrlConfig) => undefined | string | BindingRenderBuiltUrlRet;
1559
+ cssScopeTo: () => Record<string, readonly [string, string | undefined]>;
1510
1560
  }
1511
1561
  interface BindingViteDynamicImportVarsPluginConfig {
1512
1562
  include?: Array<BindingStringOrRegex>;
1513
1563
  exclude?: Array<BindingStringOrRegex>;
1514
1564
  resolver?: (id: string, importer: string) => MaybePromise<string | undefined>;
1565
+ isV2?: BindingViteDynamicImportVarsPluginV2Config;
1566
+ }
1567
+ interface BindingViteDynamicImportVarsPluginV2Config {
1568
+ sourcemap: boolean;
1515
1569
  }
1516
1570
  interface BindingViteHtmlInlineProxyPluginConfig {
1517
1571
  root: string;
@@ -1528,10 +1582,15 @@ interface BindingViteHtmlPluginConfig {
1528
1582
  assetInlineLimit: number | ((file: string, content: Buffer) => boolean | undefined);
1529
1583
  renderBuiltUrl?: (filename: string, type: BindingRenderBuiltUrlConfig) => undefined | string | BindingRenderBuiltUrlRet;
1530
1584
  transformIndexHtml: (html: string, path: string, filename: string, hook: 'transform' | 'generateBundle', output?: BindingOutputs, chunk?: BindingOutputChunk) => Promise<string>;
1585
+ setModuleSideEffects: (id: string) => void;
1531
1586
  }
1532
1587
  interface BindingViteImportGlobPluginConfig {
1533
1588
  root?: string;
1534
1589
  restoreQueryExtension?: boolean;
1590
+ isV2?: BindingViteImportGlobPluginV2Config;
1591
+ }
1592
+ interface BindingViteImportGlobPluginV2Config {
1593
+ sourcemap?: boolean;
1535
1594
  }
1536
1595
  interface BindingViteJsonPluginConfig {
1537
1596
  minify?: boolean;
@@ -1543,7 +1602,7 @@ interface BindingViteManifestPluginConfig {
1543
1602
  root: string;
1544
1603
  outPath: string;
1545
1604
  isEnableV2?: boolean;
1546
- isLegacy?: () => boolean;
1605
+ isLegacy?: (args: BindingNormalizedOptions) => boolean;
1547
1606
  cssEntries: () => Record<string, string>;
1548
1607
  }
1549
1608
  interface BindingViteModulePreloadPolyfillPluginConfig {
@@ -1574,12 +1633,14 @@ interface BindingViteResolvePluginConfig {
1574
1633
  external: true | string[];
1575
1634
  noExternal: true | Array<string | RegExp>;
1576
1635
  dedupe: Array<string>;
1636
+ disableCache?: boolean;
1577
1637
  legacyInconsistentCjsInterop?: boolean;
1578
1638
  finalizeBareSpecifier?: (resolvedId: string, rawId: string, importer: string | null | undefined) => VoidNullable<string>;
1579
1639
  finalizeOtherSpecifiers?: (resolvedId: string, rawId: string) => VoidNullable<string>;
1580
1640
  resolveSubpathImports: (id: string, importer: string, isRequire: boolean, scan: boolean) => VoidNullable<string>;
1581
1641
  onWarn?: (message: string) => void;
1582
1642
  onDebug?: (message: string) => void;
1643
+ yarnPnp: boolean;
1583
1644
  }
1584
1645
  interface BindingViteResolvePluginResolveOptions {
1585
1646
  isBuild: boolean;
@@ -1607,10 +1668,19 @@ interface BindingViteTransformPluginConfig {
1607
1668
  isServerConsumer?: boolean;
1608
1669
  jsxInject?: string;
1609
1670
  transformOptions?: TransformOptions;
1671
+ yarnPnp?: boolean;
1610
1672
  }
1611
1673
  interface BindingViteWasmHelperPluginConfig {
1612
1674
  decodedBase: string;
1675
+ v2?: BindingViteWasmHelperPluginV2Config;
1676
+ }
1677
+ interface BindingViteWasmHelperPluginV2Config {
1678
+ root: string;
1679
+ isLib: boolean;
1680
+ publicDir: string;
1681
+ assetInlineLimit: number | ((file: string, content: Buffer) => boolean | undefined);
1613
1682
  }
1683
+ declare function createTokioRuntime(blockingThreads?: number | undefined | null): void;
1614
1684
  interface ExternalMemoryStatus {
1615
1685
  freed: boolean;
1616
1686
  reason?: string;
@@ -1619,6 +1689,22 @@ interface ExternalMemoryStatus {
1619
1689
  interface NativeError {
1620
1690
  kind: string;
1621
1691
  message: string;
1692
+ /** The id of the file associated with the error */
1693
+ id?: string;
1694
+ /** The exporter associated with the error (for import/export errors) */
1695
+ exporter?: string;
1696
+ /** Location information (line, column, file) */
1697
+ loc?: NativeErrorLocation;
1698
+ /** Position in the source file in UTF-16 code units */
1699
+ pos?: number;
1700
+ }
1701
+ /** Location information for errors */
1702
+ interface NativeErrorLocation {
1703
+ /** 1-based */
1704
+ line: number;
1705
+ /** 0-based position in the line in UTF-16 code units */
1706
+ column: number;
1707
+ file?: string;
1622
1708
  }
1623
1709
  interface PreRenderedChunk {
1624
1710
  name: string;
@@ -1629,4 +1715,4 @@ interface PreRenderedChunk {
1629
1715
  exports: Array<string>;
1630
1716
  }
1631
1717
  //#endregion
1632
- export { BindingWatcherBundler as A, ParserOptions as B, BindingViteManifestPluginConfig as C, BindingViteResolvePluginConfig as D, BindingViteReporterPluginConfig as E, JsxOptions as F, TransformResult as G, ResolveResult as H, MinifyOptions as I, minify as J, isolatedDeclaration as K, MinifyResult as L, ExternalMemoryStatus as M, IsolatedDeclarationsOptions as N, BindingViteTransformPluginConfig as O, IsolatedDeclarationsResult as P, transformSync as Q, NapiResolveOptions as R, BindingViteJsonPluginConfig as S, BindingViteReactRefreshWrapperPluginConfig as T, ResolverFactory as U, PreRenderedChunk as V, TransformOptions as W, moduleRunnerTransform as X, minifySync as Y, transform as Z, BindingViteCssPostPluginConfig as _, BindingHookResolveIdExtraArgs as a, BindingViteHtmlPluginConfig as b, BindingRebuildStrategy as c, BindingTransformHookExtraArgs as d, BindingUrlResolver as f, BindingViteCssPluginConfig as g, BindingViteBuildImportAnalysisPluginConfig as h, BindingEsmExternalRequirePluginConfig as i, BindingWatcherEvent as j, BindingViteWasmHelperPluginConfig as k, BindingRenderedChunk as l, BindingViteAssetPluginConfig as m, BindingBundleState as n, BindingIsolatedDeclarationPluginConfig as o, BindingViteAssetImportMetaUrlPluginConfig as p, isolatedDeclarationSync as q, BindingClientHmrUpdate as r, BindingMagicString as s, BindingBuiltinPluginName as t, BindingReplacePluginConfig as u, BindingViteDynamicImportVarsPluginConfig as v, BindingViteModulePreloadPolyfillPluginConfig as w, BindingViteImportGlobPluginConfig as x, BindingViteHtmlInlineProxyPluginConfig as y, ParseResult as z };
1718
+ export { transformSync as $, BindingWatcherBundler as A, ParserOptions as B, BindingViteManifestPluginConfig as C, BindingViteResolvePluginConfig as D, BindingViteReporterPluginConfig as E, JsxOptions as F, TransformResult as G, ResolveResult as H, MinifyOptions as I, isolatedDeclarationSync as J, createTokioRuntime as K, MinifyResult as L, ExternalMemoryStatus as M, IsolatedDeclarationsOptions as N, BindingViteTransformPluginConfig as O, IsolatedDeclarationsResult as P, transform as Q, NapiResolveOptions as R, BindingViteJsonPluginConfig as S, BindingViteReactRefreshWrapperPluginConfig as T, ResolverFactory as U, PreRenderedChunk as V, TransformOptions as W, minifySync as X, minify as Y, moduleRunnerTransform as Z, BindingViteCssPostPluginConfig as _, BindingHookResolveIdExtraArgs as a, BindingViteHtmlPluginConfig as b, BindingRebuildStrategy as c, BindingTransformHookExtraArgs as d, BindingUrlResolver as f, BindingViteCssPluginConfig as g, BindingViteBuildImportAnalysisPluginConfig as h, BindingEsmExternalRequirePluginConfig as i, BindingWatcherEvent as j, BindingViteWasmHelperPluginConfig as k, BindingRenderedChunk as l, BindingViteAssetPluginConfig as m, BindingBundleState as n, BindingIsolatedDeclarationPluginConfig as o, BindingViteAssetImportMetaUrlPluginConfig as p, isolatedDeclaration as q, BindingClientHmrUpdate as r, BindingMagicString as s, BindingBuiltinPluginName as t, BindingReplacePluginConfig as u, BindingViteDynamicImportVarsPluginConfig as v, BindingViteModulePreloadPolyfillPluginConfig as w, BindingViteImportGlobPluginConfig as x, BindingViteHtmlInlineProxyPluginConfig as y, ParseResult as z };
@@ -1,7 +1,7 @@
1
1
  import { c as logPluginError, n as error, r as logCycleLoading, t as augmentCodeLocation } from "./logs-CPsamAuj.mjs";
2
- import { a as unreachable, i as unimplemented, o as unsupported, t as arraify } from "./misc-5GYLGQ20.mjs";
3
- import { b as normalizeLog, d as __decorate, f as bindingAssetSource, g as MinimalPluginContextImpl, h as PlainObjectLike, i as bindingifyViteHtmlPlugin, l as bindingifySourcemap, m as lazyProp, n as BuiltinPlugin, o as collectChangedBundle, r as bindingifyBuiltInPlugin, s as transformToOutputBundle, t as normalizedStringOrRegex, u as transformRenderedChunk, w as LOG_LEVEL_WARN } from "./normalize-string-or-regex-D1mB67Iy.mjs";
4
- import { t as parseAst } from "./parse-ast-index-BSDTTjWT.mjs";
2
+ import { a as unreachable, o as unsupported, t as arraify } from "./misc-5GYLGQ20.mjs";
3
+ import { E as LOG_LEVEL_WARN, S as normalizeLog, _ as PlainObjectLike, a as bindingifyManifestPlugin, c as collectChangedBundle, d as bindingifySourcemap, f as transformRenderedChunk, g as lazyProp, i as bindingifyCSSPostPlugin, l as transformToOutputBundle, m as bindingAssetSource, n as BuiltinPlugin, o as bindingifyViteHtmlPlugin, p as __decorate, r as bindingifyBuiltInPlugin, t as normalizedStringOrRegex, v as MinimalPluginContextImpl } from "./normalize-string-or-regex-B8NuOx7w.mjs";
4
+ import { t as parseAst } from "./parse-ast-index-C0k-VwRM.mjs";
5
5
  import { a as include, c as or, i as id, n as code, o as moduleType, r as exclude, t as and } from "./composable-filters-DZ5ToxRJ.mjs";
6
6
  import { BindingAttachDebugInfo, BindingChunkModuleOrderBy, BindingLogLevel, BindingMagicString, BindingPluginOrder, BindingPropertyReadSideEffects, BindingPropertyWriteSideEffects } from "../rolldown-binding.wasi.cjs";
7
7
  import path from "node:path";
@@ -37,8 +37,13 @@ function normalizeBindingResult(container) {
37
37
  }
38
38
  function normalizeBindingError(e$1) {
39
39
  return e$1.type === "JsError" ? e$1.field0 : Object.assign(/* @__PURE__ */ new Error(), {
40
+ code: e$1.field0.kind,
40
41
  kind: e$1.field0.kind,
41
42
  message: e$1.field0.message,
43
+ id: e$1.field0.id,
44
+ exporter: e$1.field0.exporter,
45
+ loc: e$1.field0.loc,
46
+ pos: e$1.field0.pos,
42
47
  stack: void 0
43
48
  });
44
49
  }
@@ -383,7 +388,13 @@ var PluginContextImpl = class extends MinimalPluginContextImpl {
383
388
  };
384
389
  }
385
390
  emitFile = (file) => {
386
- if (file.type === "prebuilt-chunk") return unimplemented("PluginContext.emitFile with type prebuilt-chunk");
391
+ if (file.type === "prebuilt-chunk") return this.context.emitPrebuiltChunk({
392
+ fileName: file.fileName,
393
+ code: file.code,
394
+ exports: file.exports,
395
+ map: bindingifySourcemap(file.map),
396
+ sourcemapFileName: file.sourcemapFileName
397
+ });
387
398
  if (file.type === "chunk") return this.context.emitChunk({
388
399
  preserveEntrySignatures: bindingifyPreserveEntrySignatures(file.preserveSignature),
389
400
  ...file
@@ -1031,7 +1042,7 @@ var NormalizedInputOptionsImpl = class extends PlainObjectLike {
1031
1042
  return this.inner.input;
1032
1043
  }
1033
1044
  get cwd() {
1034
- return this.inner.cwd ?? void 0;
1045
+ return this.inner.cwd;
1035
1046
  }
1036
1047
  get platform() {
1037
1048
  return this.inner.platform;
@@ -1342,9 +1353,11 @@ function bindingifyInputOptions(rawPlugins, inputOptions, outputOptions, normali
1342
1353
  const pluginContextData = new PluginContextData(onLog, outputOptions, normalizedOutputPlugins);
1343
1354
  const plugins = rawPlugins.map((plugin) => {
1344
1355
  if ("_parallel" in plugin) return;
1345
- if (plugin instanceof BuiltinPlugin) {
1346
- if (plugin.name === "builtin:vite-html") return bindingifyViteHtmlPlugin(plugin, onLog, logLevel, watchMode);
1347
- return bindingifyBuiltInPlugin(plugin);
1356
+ if (plugin instanceof BuiltinPlugin) switch (plugin.name) {
1357
+ case "builtin:vite-css-post": return bindingifyCSSPostPlugin(plugin, pluginContextData);
1358
+ case "builtin:vite-html": return bindingifyViteHtmlPlugin(plugin, onLog, logLevel, watchMode, pluginContextData);
1359
+ case "builtin:vite-manifest": return bindingifyManifestPlugin(plugin, pluginContextData);
1360
+ default: return bindingifyBuiltInPlugin(plugin);
1348
1361
  }
1349
1362
  return bindingifyPlugin(plugin, inputOptions, outputOptions, pluginContextData, normalizedOutputPlugins, onLog, logLevel, watchMode);
1350
1363
  });
@@ -1,4 +1,4 @@
1
- import { a as makeBuiltinPluginCallable, n as BuiltinPlugin, t as normalizedStringOrRegex } from "./normalize-string-or-regex-D1mB67Iy.mjs";
1
+ import { n as BuiltinPlugin, s as makeBuiltinPluginCallable, t as normalizedStringOrRegex } from "./normalize-string-or-regex-B8NuOx7w.mjs";
2
2
 
3
3
  //#region src/builtin-plugin/constructors.ts
4
4
  function viteModulePreloadPolyfillPlugin(config) {
@@ -17,9 +17,6 @@ function viteImportGlobPlugin(config) {
17
17
  function viteReporterPlugin(config) {
18
18
  return new BuiltinPlugin("builtin:vite-reporter", config);
19
19
  }
20
- function viteManifestPlugin(config) {
21
- return new BuiltinPlugin("builtin:vite-manifest", config);
22
- }
23
20
  function viteWasmHelperPlugin(config) {
24
21
  return new BuiltinPlugin("builtin:vite-wasm-helper", config);
25
22
  }
@@ -36,7 +33,10 @@ function viteBuildImportAnalysisPlugin(config) {
36
33
  return new BuiltinPlugin("builtin:vite-build-import-analysis", config);
37
34
  }
38
35
  function viteResolvePlugin(config) {
39
- return makeBuiltinPluginCallable(new BuiltinPlugin("builtin:vite-resolve", config));
36
+ return makeBuiltinPluginCallable(new BuiltinPlugin("builtin:vite-resolve", {
37
+ ...config,
38
+ yarnPnp: typeof process === "object" && !!process.versions?.pnp
39
+ }));
40
40
  }
41
41
  function isolatedDeclarationPlugin(config) {
42
42
  return new BuiltinPlugin("builtin:isolated-declaration", config);
@@ -45,7 +45,9 @@ function viteWebWorkerPostPlugin() {
45
45
  return new BuiltinPlugin("builtin:vite-web-worker-post");
46
46
  }
47
47
  function esmExternalRequirePlugin(config) {
48
- return new BuiltinPlugin("builtin:esm-external-require", config);
48
+ const plugin = new BuiltinPlugin("builtin:esm-external-require", config);
49
+ plugin.enforce = "pre";
50
+ return plugin;
49
51
  }
50
52
  function viteReactRefreshWrapperPlugin(config) {
51
53
  if (config) {
@@ -54,9 +56,6 @@ function viteReactRefreshWrapperPlugin(config) {
54
56
  }
55
57
  return makeBuiltinPluginCallable(new BuiltinPlugin("builtin:vite-react-refresh-wrapper", config));
56
58
  }
57
- function viteCSSPostPlugin(config) {
58
- return new BuiltinPlugin("builtin:vite-css-post", config);
59
- }
60
59
  function viteHtmlInlineProxyPlugin(config) {
61
60
  return new BuiltinPlugin("builtin:vite-html-inline-proxy", config);
62
61
  }
@@ -65,4 +64,4 @@ function viteAssetImportMetaUrlPlugin(config) {
65
64
  }
66
65
 
67
66
  //#endregion
68
- export { viteWasmHelperPlugin as _, viteCSSPostPlugin as a, viteImportGlobPlugin as c, viteManifestPlugin as d, viteModulePreloadPolyfillPlugin as f, viteWasmFallbackPlugin as g, viteResolvePlugin as h, viteBuildImportAnalysisPlugin as i, viteJsonPlugin as l, viteReporterPlugin as m, isolatedDeclarationPlugin as n, viteDynamicImportVarsPlugin as o, viteReactRefreshWrapperPlugin as p, viteAssetImportMetaUrlPlugin as r, viteHtmlInlineProxyPlugin as s, esmExternalRequirePlugin as t, viteLoadFallbackPlugin as u, viteWebWorkerPostPlugin as v };
67
+ export { viteDynamicImportVarsPlugin as a, viteJsonPlugin as c, viteReactRefreshWrapperPlugin as d, viteReporterPlugin as f, viteWebWorkerPostPlugin as g, viteWasmHelperPlugin as h, viteBuildImportAnalysisPlugin as i, viteLoadFallbackPlugin as l, viteWasmFallbackPlugin as m, isolatedDeclarationPlugin as n, viteHtmlInlineProxyPlugin as o, viteResolvePlugin as p, viteAssetImportMetaUrlPlugin as r, viteImportGlobPlugin as s, esmExternalRequirePlugin as t, viteModulePreloadPolyfillPlugin as u };
@@ -0,0 +1,30 @@
1
+ import { t as BuiltinPlugin, u as StringOrRegExp } from "./utils-mjPIk7Yj.mjs";
2
+ import { D as BindingViteResolvePluginConfig, E as BindingViteReporterPluginConfig, S as BindingViteJsonPluginConfig, T as BindingViteReactRefreshWrapperPluginConfig, h as BindingViteBuildImportAnalysisPluginConfig, i as BindingEsmExternalRequirePluginConfig, k as BindingViteWasmHelperPluginConfig, o as BindingIsolatedDeclarationPluginConfig, p as BindingViteAssetImportMetaUrlPluginConfig, v as BindingViteDynamicImportVarsPluginConfig, w as BindingViteModulePreloadPolyfillPluginConfig, x as BindingViteImportGlobPluginConfig, y as BindingViteHtmlInlineProxyPluginConfig } from "./binding-yIBVkeOE.mjs";
3
+
4
+ //#region src/builtin-plugin/constructors.d.ts
5
+ declare function viteModulePreloadPolyfillPlugin(config?: BindingViteModulePreloadPolyfillPluginConfig): BuiltinPlugin;
6
+ type DynamicImportVarsPluginConfig = Omit<BindingViteDynamicImportVarsPluginConfig, "include" | "exclude"> & {
7
+ include?: StringOrRegExp | StringOrRegExp[];
8
+ exclude?: StringOrRegExp | StringOrRegExp[];
9
+ };
10
+ declare function viteDynamicImportVarsPlugin(config?: DynamicImportVarsPluginConfig): BuiltinPlugin;
11
+ declare function viteImportGlobPlugin(config?: BindingViteImportGlobPluginConfig): BuiltinPlugin;
12
+ declare function viteReporterPlugin(config: BindingViteReporterPluginConfig): BuiltinPlugin;
13
+ declare function viteWasmHelperPlugin(config: BindingViteWasmHelperPluginConfig): BuiltinPlugin;
14
+ declare function viteWasmFallbackPlugin(): BuiltinPlugin;
15
+ declare function viteLoadFallbackPlugin(): BuiltinPlugin;
16
+ declare function viteJsonPlugin(config: BindingViteJsonPluginConfig): BuiltinPlugin;
17
+ declare function viteBuildImportAnalysisPlugin(config: BindingViteBuildImportAnalysisPluginConfig): BuiltinPlugin;
18
+ declare function viteResolvePlugin(config: Omit<BindingViteResolvePluginConfig, "yarnPnp">): BuiltinPlugin;
19
+ declare function isolatedDeclarationPlugin(config?: BindingIsolatedDeclarationPluginConfig): BuiltinPlugin;
20
+ declare function viteWebWorkerPostPlugin(): BuiltinPlugin;
21
+ declare function esmExternalRequirePlugin(config?: BindingEsmExternalRequirePluginConfig): BuiltinPlugin;
22
+ type ViteReactRefreshWrapperPluginConfig = Omit<BindingViteReactRefreshWrapperPluginConfig, "include" | "exclude"> & {
23
+ include?: StringOrRegExp | StringOrRegExp[];
24
+ exclude?: StringOrRegExp | StringOrRegExp[];
25
+ };
26
+ declare function viteReactRefreshWrapperPlugin(config: ViteReactRefreshWrapperPluginConfig): BuiltinPlugin;
27
+ declare function viteHtmlInlineProxyPlugin(config: BindingViteHtmlInlineProxyPluginConfig): BuiltinPlugin;
28
+ declare function viteAssetImportMetaUrlPlugin(config: BindingViteAssetImportMetaUrlPluginConfig): BuiltinPlugin;
29
+ //#endregion
30
+ export { viteDynamicImportVarsPlugin as a, viteJsonPlugin as c, viteReactRefreshWrapperPlugin as d, viteReporterPlugin as f, viteWebWorkerPostPlugin as g, viteWasmHelperPlugin as h, viteBuildImportAnalysisPlugin as i, viteLoadFallbackPlugin as l, viteWasmFallbackPlugin as m, isolatedDeclarationPlugin as n, viteHtmlInlineProxyPlugin as o, viteResolvePlugin as p, viteAssetImportMetaUrlPlugin as r, viteImportGlobPlugin as s, esmExternalRequirePlugin as t, viteModulePreloadPolyfillPlugin as u };
@@ -1,5 +1,5 @@
1
- import { a as MakeAsync, c as NullValue, d as LogLevel, f as LogLevelOption, g as RollupLogWithString, h as RollupLog, l as PartialNull, m as RollupError, n as LoggingFunction, o as MaybeArray, p as LogOrStringHandler, r as LoggingFunctionWithPosition, s as MaybePromise, t as BuiltinPlugin, u as StringOrRegExp } from "./utils-DKydZ4iH.mjs";
2
- 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 } from "./binding-BKL2JHoJ.mjs";
1
+ import { a as MakeAsync, c as NullValue, d as LogLevel, f as LogLevelOption, g as RollupLogWithString, h as RollupLog, l as PartialNull, m as RollupError, n as LoggingFunction, o as MaybeArray, p as LogOrStringHandler, r as LoggingFunctionWithPosition, s as MaybePromise, t as BuiltinPlugin, u as StringOrRegExp } from "./utils-mjPIk7Yj.mjs";
2
+ 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 } from "./binding-yIBVkeOE.mjs";
3
3
  import { Program } from "@oxc-project/types";
4
4
  import { TopLevelFilterExpression } from "@rolldown/pluginutils";
5
5
 
@@ -669,7 +669,7 @@ declare const watch: (input: WatchOptions | WatchOptions[]) => RolldownWatcher;
669
669
  //#region src/options/normalized-input-options.d.ts
670
670
  interface NormalizedInputOptions {
671
671
  input: string[] | Record<string, string>;
672
- cwd: string | undefined;
672
+ cwd: string;
673
673
  platform: InputOptions["platform"];
674
674
  shimMissingExports: boolean;
675
675
  context: string;
@@ -867,7 +867,15 @@ interface EmittedChunk {
867
867
  id: string;
868
868
  importer?: string;
869
869
  }
870
- type EmittedFile = EmittedAsset | EmittedChunk;
870
+ interface EmittedPrebuiltChunk {
871
+ type: "prebuilt-chunk";
872
+ fileName: string;
873
+ code: string;
874
+ exports?: string[];
875
+ map?: SourceMap;
876
+ sourcemapFileName?: string;
877
+ }
878
+ type EmittedFile = EmittedAsset | EmittedChunk | EmittedPrebuiltChunk;
871
879
  interface PluginContextResolveOptions {
872
880
  isEntry?: boolean;
873
881
  skipSelf?: boolean;
@@ -1174,6 +1182,11 @@ interface ChecksOptions {
1174
1182
  * @default true
1175
1183
  */
1176
1184
  couldNotCleanDirectory?: boolean;
1185
+ /**
1186
+ * Whether to emit warning when detecting plugin timings
1187
+ * @default true
1188
+ */
1189
+ pluginTimings?: boolean;
1177
1190
  }
1178
1191
  //#endregion
1179
1192
  //#region src/options/transform-options.d.ts
@@ -1618,4 +1631,4 @@ declare function defineConfig(config: RolldownOptions[]): RolldownOptions[];
1618
1631
  declare function defineConfig(config: RolldownOptionsFunction): RolldownOptionsFunction;
1619
1632
  declare function defineConfig(config: ConfigExport): ConfigExport;
1620
1633
  //#endregion
1621
- export { NormalizedOutputOptions as $, VERSION as A, PluginContext as B, ResolveIdResult as C, RolldownOutput as Ct, SourceDescription as D, SourcemapIgnoreListOption as Dt, RolldownPluginOption as E, ModuleInfo as Et, TreeshakingOptions as F, GeneralHookFilter as G, defineParallelPlugin as H, TransformPluginContext as I, BufferEncoding as J, HookFilter as K, EmittedAsset as L, SourceMapInput as M, RolldownOptionsFunction as N, TransformResult as O, OutputBundle as P, InternalModuleFormat as Q, EmittedFile as R, ResolveIdExtraOptions as S, RenderedModule as St, RolldownPlugin as T, freeExternalMemory as Tt, MinimalPluginContext as U, DefineParallelPluginResult as V, PluginContextMeta as W, RolldownFileStats as X, RolldownDirectoryEntry as Y, RolldownFsModule as Z, ModuleType as _, OutputOptions as _t, InputOption as a, rolldown as at, PartialResolvedId as b, OutputChunk as bt, OptimizationOptions as c, build as ct, CustomPluginOptions as d, ChunkingContext as dt, NormalizedInputOptions as et, FunctionPluginHooks as f, GeneratedCodeOptions as ft, ModuleOptions as g, ModuleFormat as gt, LoadResult as h, MinifyOptions as ht, ExternalOption as i, WatchOptions as it, ExistingRawSourceMap as j, withFilter as k, WatcherOptions as l, AddonFunction as lt, ImportKind as m, GlobalsFunction as mt, ConfigExport as n, RolldownWatcher as nt, InputOptions as o, RolldownBuild as ot, HookFilterExtension as p, GeneratedCodePreset as pt, ModuleTypeFilter as q, RolldownOptions as r, RolldownWatcherEvent as rt, ModuleTypes as s, BuildOptions as st, defineConfig as t, watch as tt, AsyncPluginHooks as u, ChunkFileNamesFunction as ut, ObjectHook as v, PreRenderedAsset as vt, ResolvedId as w, SourceMap as wt, Plugin as x, RenderedChunk as xt, ParallelPluginHooks as y, OutputAsset as yt, GetModuleInfo as z };
1634
+ export { InternalModuleFormat as $, VERSION as A, GetModuleInfo as B, ResolveIdResult as C, RenderedModule as Ct, SourceDescription as D, ModuleInfo as Dt, RolldownPluginOption as E, freeExternalMemory as Et, TreeshakingOptions as F, PluginContextMeta as G, DefineParallelPluginResult as H, TransformPluginContext as I, ModuleTypeFilter as J, GeneralHookFilter as K, EmittedAsset as L, SourceMapInput as M, RolldownOptionsFunction as N, TransformResult as O, SourcemapIgnoreListOption as Ot, OutputBundle as P, RolldownFsModule as Q, EmittedFile as R, ResolveIdExtraOptions as S, RenderedChunk as St, RolldownPlugin as T, SourceMap as Tt, defineParallelPlugin as U, PluginContext as V, MinimalPluginContext as W, RolldownDirectoryEntry as X, BufferEncoding as Y, RolldownFileStats as Z, ModuleType as _, ModuleFormat as _t, InputOption as a, WatchOptions as at, PartialResolvedId as b, OutputAsset as bt, OptimizationOptions as c, BuildOptions as ct, CustomPluginOptions as d, ChunkFileNamesFunction as dt, NormalizedOutputOptions as et, FunctionPluginHooks as f, ChunkingContext as ft, ModuleOptions as g, MinifyOptions as gt, LoadResult as h, GlobalsFunction as ht, ExternalOption as i, RolldownWatcherEvent as it, ExistingRawSourceMap as j, withFilter as k, WatcherOptions as l, build as lt, ImportKind as m, GeneratedCodePreset as mt, ConfigExport as n, watch as nt, InputOptions as o, rolldown as ot, HookFilterExtension as p, GeneratedCodeOptions as pt, HookFilter as q, RolldownOptions as r, RolldownWatcher as rt, ModuleTypes as s, RolldownBuild as st, defineConfig as t, NormalizedInputOptions as tt, AsyncPluginHooks as u, AddonFunction as ut, ObjectHook as v, OutputOptions as vt, ResolvedId as w, RolldownOutput as wt, Plugin as x, OutputChunk as xt, ParallelPluginHooks as y, PreRenderedAsset as yt, EmittedPrebuiltChunk as z };
@@ -1,4 +1,4 @@
1
- import { t as rolldown } from "./rolldown-0ID0Q4xL.mjs";
1
+ import { t as rolldown } from "./rolldown-BeAWDsL_.mjs";
2
2
  import path from "node:path";
3
3
  import { readdir } from "node:fs/promises";
4
4
  import { pathToFileURL } from "node:url";
@@ -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.52";
35
+ var version = "1.0.0-beta.54";
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.99.0/helpers/decorate.js
193
+ //#region \0@oxc-project+runtime@0.102.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);
@@ -557,6 +557,8 @@ function collectChangedBundle(changed, bundle) {
557
557
  //#endregion
558
558
  //#region src/builtin-plugin/utils.ts
559
559
  var BuiltinPlugin = class {
560
+ /** Vite-specific option to control plugin ordering */
561
+ enforce;
560
562
  constructor(name, _options) {
561
563
  this.name = name;
562
564
  this._options = _options;
@@ -584,7 +586,36 @@ function bindingifyBuiltInPlugin(plugin) {
584
586
  options: plugin._options
585
587
  };
586
588
  }
587
- function bindingifyViteHtmlPlugin(plugin, onLog, logLevel, watchMode) {
589
+ function bindingifyManifestPlugin(plugin, pluginContextData) {
590
+ const { isOutputOptionsForLegacyChunks, ...options } = plugin._options;
591
+ return {
592
+ __name: plugin.name,
593
+ options: {
594
+ ...options,
595
+ isLegacy: isOutputOptionsForLegacyChunks ? (opts) => {
596
+ return isOutputOptionsForLegacyChunks(pluginContextData.getOutputOptions(opts));
597
+ } : void 0
598
+ }
599
+ };
600
+ }
601
+ function bindingifyCSSPostPlugin(plugin, pluginContextData) {
602
+ const { isOutputOptionsForLegacyChunks, ...options } = plugin._options;
603
+ return {
604
+ __name: plugin.name,
605
+ options: {
606
+ ...options,
607
+ isLegacy: isOutputOptionsForLegacyChunks ? (opts) => {
608
+ return isOutputOptionsForLegacyChunks(pluginContextData.getOutputOptions(opts));
609
+ } : void 0,
610
+ cssScopeTo() {
611
+ const cssScopeTo = {};
612
+ for (const [id, opts] of pluginContextData.moduleOptionMap.entries()) if (opts?.meta.vite?.cssScopeTo) cssScopeTo[id] = opts.meta.vite.cssScopeTo;
613
+ return cssScopeTo;
614
+ }
615
+ }
616
+ };
617
+ }
618
+ function bindingifyViteHtmlPlugin(plugin, onLog, logLevel, watchMode, pluginContextData) {
588
619
  const { preHooks, normalHooks, postHooks, applyHtmlTransforms, ...options } = plugin._options;
589
620
  if (preHooks.length + normalHooks.length + postHooks.length > 0) return {
590
621
  __name: plugin.name,
@@ -605,6 +636,14 @@ function bindingifyViteHtmlPlugin(plugin, onLog, logLevel, watchMode) {
605
636
  case "transform": return await applyHtmlTransforms(html, preHooks, pluginContext, context);
606
637
  case "generateBundle": return await applyHtmlTransforms(html, [...normalHooks, ...postHooks], pluginContext, context);
607
638
  }
639
+ },
640
+ setModuleSideEffects(id) {
641
+ let opts = pluginContextData.getModuleOption(id);
642
+ pluginContextData.updateModuleOption(id, {
643
+ moduleSideEffects: true,
644
+ meta: opts.meta,
645
+ invalidate: true
646
+ });
608
647
  }
609
648
  }
610
649
  };
@@ -626,4 +665,4 @@ function isReadonlyArray(input) {
626
665
  }
627
666
 
628
667
  //#endregion
629
- export { LOG_LEVEL_INFO as C, LOG_LEVEL_ERROR as S, logLevelPriority as T, VERSION as _, makeBuiltinPluginCallable as a, normalizeLog as b, transformToRollupOutput as c, __decorate as d, bindingAssetSource as f, MinimalPluginContextImpl as g, PlainObjectLike as h, bindingifyViteHtmlPlugin as i, bindingifySourcemap as l, lazyProp as m, BuiltinPlugin as n, collectChangedBundle as o, transformAssetSource as p, bindingifyBuiltInPlugin as r, transformToOutputBundle as s, normalizedStringOrRegex as t, transformRenderedChunk as u, description as v, LOG_LEVEL_WARN as w, LOG_LEVEL_DEBUG as x, version as y };
668
+ 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
1
  import { l as locate, n as error, s as logParseError, u as getCodeFrame } from "./logs-CPsamAuj.mjs";
2
2
  import { parse, parseSync } from "../rolldown-binding.wasi.cjs";
3
3
 
4
- //#region ../../node_modules/.pnpm/oxc-parser@0.99.0/node_modules/oxc-parser/src-js/wrap.js
4
+ //#region ../../node_modules/.pnpm/oxc-parser@0.102.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 {
@@ -1,4 +1,4 @@
1
- import { l as PluginDriver, s as validateOption, t as RolldownBuild } from "./rolldown-build-BWJGpMD0.mjs";
1
+ import { l as PluginDriver, s as validateOption, t as RolldownBuild } from "./rolldown-build-yjeMNdrl.mjs";
2
2
 
3
3
  //#region src/api/rolldown/index.ts
4
4
  const rolldown = async (input) => {