rolldown 1.0.0-beta.8-commit.8951737 → 1.0.0-beta.8-commit.d95f99e

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 (36) hide show
  1. package/dist/cli.cjs +11 -124
  2. package/dist/cli.mjs +5 -122
  3. package/dist/config.cjs +13 -0
  4. package/dist/config.d.cts +12 -0
  5. package/dist/config.d.mts +12 -0
  6. package/dist/config.mjs +12 -0
  7. package/dist/experimental-index.cjs +20 -20
  8. package/dist/experimental-index.d.cts +2 -2
  9. package/dist/experimental-index.d.mts +2 -2
  10. package/dist/experimental-index.mjs +1 -1
  11. package/dist/filter-index.cjs +1 -1
  12. package/dist/filter-index.d.cts +2 -2
  13. package/dist/filter-index.d.mts +2 -2
  14. package/dist/index.cjs +6 -6
  15. package/dist/index.d.cts +3 -3
  16. package/dist/index.d.mts +3 -3
  17. package/dist/index.mjs +1 -1
  18. package/dist/parallel-plugin-worker.cjs +1 -1
  19. package/dist/parallel-plugin-worker.mjs +1 -1
  20. package/dist/parallel-plugin.cjs +1 -1
  21. package/dist/parallel-plugin.d.cts +2 -2
  22. package/dist/parallel-plugin.d.mts +2 -2
  23. package/dist/parse-ast-index.cjs +2 -2
  24. package/dist/parse-ast-index.d.cts +1 -1
  25. package/dist/parse-ast-index.d.mts +1 -1
  26. package/dist/shared/{binding.d-CIezRvPc.d.cts → binding.d-Da3YoPSu.d.mts} +1 -0
  27. package/dist/shared/{binding.d-Dzvdb9zV.d.mts → binding.d-Dzicu1RN.d.cts} +1 -0
  28. package/dist/shared/{input-options.d-C_cplVCl.d.cts → define-config.d-BmvkkUSo.d.cts} +26 -24
  29. package/dist/shared/{input-options.d-Eu4mqqAi.d.mts → define-config.d-DtRVBBH4.d.mts} +26 -24
  30. package/dist/shared/load-config-CudfTGGr.mjs +124 -0
  31. package/dist/shared/load-config-Dh5sBh9i.cjs +126 -0
  32. package/dist/shared/{prompt-At99RuKY.cjs → prompt-jvA1XQOy.cjs} +1 -1
  33. package/dist/shared/{src-BIHbNnlT.cjs → src-DYkvXVDC.cjs} +9 -4
  34. package/dist/shared/{src-OpVglm5Z.mjs → src-DeSv5_2X.mjs} +10 -5
  35. package/package.json +19 -15
  36. /package/dist/shared/{prompt-AXtOIn-r.mjs → prompt-uGrwvyp0.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- import { ParseResult, ParserOptions } from "./shared/binding.d-CIezRvPc.cjs";
1
+ import { ParseResult, ParserOptions } from "./shared/binding.d-Dzicu1RN.cjs";
2
2
  import { Program } from "@oxc-project/types";
3
3
 
4
4
  //#region src/parse-ast-index.d.ts
@@ -1,4 +1,4 @@
1
- import { ParseResult, ParserOptions } from "./shared/binding.d-Dzvdb9zV.mjs";
1
+ import { ParseResult, ParserOptions } from "./shared/binding.d-Da3YoPSu.mjs";
2
2
  import { Program } from "@oxc-project/types";
3
3
 
4
4
  //#region src/parse-ast-index.d.ts
@@ -481,6 +481,7 @@ interface BindingOutputOptions {
481
481
  advancedChunks?: BindingAdvancedChunksOptions
482
482
  comments?: 'none' | 'preserve-legal'
483
483
  polyfillRequire?: boolean
484
+ preserveModules?: boolean
484
485
  target?: string
485
486
  }
486
487
  interface BindingPluginContextResolvedId {
@@ -481,6 +481,7 @@ interface BindingOutputOptions {
481
481
  advancedChunks?: BindingAdvancedChunksOptions
482
482
  comments?: 'none' | 'preserve-legal'
483
483
  polyfillRequire?: boolean
484
+ preserveModules?: boolean
484
485
  target?: string
485
486
  }
486
487
  interface BindingPluginContextResolvedId {
@@ -1,4 +1,4 @@
1
- import { BindingBuildImportAnalysisPluginConfig, BindingBuiltinPluginName, BindingDynamicImportVarsPluginConfig, BindingGlobImportPluginConfig, BindingHmrOutput, BindingHookResolveIdExtraArgs, BindingIsolatedDeclarationPluginConfig, BindingJsonPluginConfig, BindingManifestPluginConfig, BindingMfManifest, BindingMinifyOptions, BindingModuleFederationPluginOption, BindingModulePreloadPolyfillPluginConfig, BindingRemote, BindingRenderedChunk, BindingReportPluginConfig, BindingTransformHookExtraArgs, BindingViteResolvePluginConfig, BindingWatcherEvent, Bundler, ParserOptions, PreRenderedChunk, TransformOptions } from "./binding.d-CIezRvPc.cjs";
1
+ import { BindingBuildImportAnalysisPluginConfig, BindingBuiltinPluginName, BindingDynamicImportVarsPluginConfig, BindingGlobImportPluginConfig, BindingHmrOutput, BindingHookResolveIdExtraArgs, BindingIsolatedDeclarationPluginConfig, BindingJsonPluginConfig, BindingManifestPluginConfig, BindingMfManifest, BindingMinifyOptions, BindingModuleFederationPluginOption, BindingModulePreloadPolyfillPluginConfig, BindingRemote, BindingRenderedChunk, BindingReportPluginConfig, BindingTransformHookExtraArgs, BindingViteResolvePluginConfig, BindingWatcherEvent, Bundler, ParserOptions, PreRenderedChunk, TransformOptions } from "./binding.d-Dzicu1RN.cjs";
2
2
  import { Program } from "@oxc-project/types";
3
3
  import { TopLevelFilterExpression } from "@rolldown/pluginutils";
4
4
 
@@ -284,6 +284,7 @@ interface OutputOptions {
284
284
  polyfillRequire?: boolean;
285
285
  target?: ESTarget;
286
286
  hoistTransitiveImports?: false;
287
+ preserveModules?: boolean;
287
288
  }
288
289
 
289
290
  //#endregion
@@ -421,6 +422,7 @@ interface NormalizedOutputOptions {
421
422
  comments: "none" | "preserve-legal";
422
423
  polyfillRequire: boolean;
423
424
  plugins: RolldownPlugin[];
425
+ preserveModules: boolean;
424
426
  }
425
427
 
426
428
  //#endregion
@@ -566,22 +568,6 @@ interface TransformPluginContext extends PluginContext {
566
568
  getCombinedSourcemap(): SourceMap;
567
569
  }
568
570
 
569
- //#endregion
570
- //#region src/types/rolldown-options.d.ts
571
- interface RolldownOptions extends InputOptions {
572
- output?: OutputOptions | OutputOptions[];
573
- }
574
-
575
- //#endregion
576
- //#region src/types/config-export.d.ts
577
- /**
578
- * Type for `default export` of `rolldown.config.js` file.
579
- */
580
- /**
581
- * Type for `default export` of `rolldown.config.js` file.
582
- */
583
- type ConfigExport = RolldownOptions | RolldownOptions[];
584
-
585
571
  //#endregion
586
572
  //#region src/types/module-side-effects.d.ts
587
573
  interface ModuleSideEffectsRule {
@@ -617,12 +603,6 @@ interface ExistingRawSourceMap {
617
603
  }
618
604
  type SourceMapInput = ExistingRawSourceMap | string | null;
619
605
 
620
- //#endregion
621
- //#region src/utils/define-config.d.ts
622
- declare function defineConfig(config: RolldownOptions): RolldownOptions;
623
- declare function defineConfig(config: RolldownOptions[]): RolldownOptions[];
624
- declare function defineConfig(config: ConfigExport): ConfigExport;
625
-
626
606
  //#endregion
627
607
  //#region src/index.d.ts
628
608
  declare const VERSION: string;
@@ -1076,4 +1056,26 @@ interface InputOptions {
1076
1056
  }
1077
1057
 
1078
1058
  //#endregion
1079
- export { AddonFunction, AsyncPluginHooks, BuildOptions, BuiltinPlugin, ChunkFileNamesFunction, ConfigExport, CustomPluginOptions, DefineParallelPluginResult, EmittedAsset, EmittedFile, ExistingRawSourceMap, ExternalOption, FunctionPluginHooks, GeneralHookFilter, GetModuleInfo, GlobalsFunction, HookFilter, HookFilterExtension, ImportKind, InputOption, InputOptions, InternalModuleFormat, JsxOptions, LoadResult, LogLevel, LogLevelOption, LogOrStringHandler, LoggingFunction, MaybePromise, MinifyOptions, MinimalPluginContext, ModuleFormat, ModuleInfo, ModuleOptions, ModuleType, ModuleTypeFilter, NormalizedInputOptions, NormalizedOutputOptions, ObjectHook, OutputAsset, OutputBundle, OutputChunk, OutputOptions, ParallelPluginHooks, PartialNull, PartialResolvedId, Plugin, PluginContext, PluginContextMeta, PreRenderedAsset, RenderedChunk, RenderedModule, ResolveIdExtraOptions, ResolveIdResult, ResolvedId, RolldownBuild, RolldownOptions, RolldownOutput, RolldownPlugin, RolldownPluginOption, RolldownWatcher, RolldownWatcherEvent, RollupError, RollupLog, RollupLogWithString, SourceDescription, SourceMap, SourceMapInput, SourcemapIgnoreListOption, TransformPluginContext, TransformResult, TreeshakingOptions, VERSION, WarningHandlerWithDefault, WatchOptions, WatcherOptions, build, buildImportAnalysisPlugin, defineConfig, defineParallelPlugin, dynamicImportVarsPlugin, importGlobPlugin, isolatedDeclarationPlugin, jsonPlugin, loadFallbackPlugin, manifestPlugin, moduleFederationPlugin, modulePreloadPolyfillPlugin, reportPlugin, rolldown, viteResolvePlugin, wasmFallbackPlugin, wasmHelperPlugin, watch, withFilter };
1059
+ //#region src/types/rolldown-options.d.ts
1060
+ interface RolldownOptions extends InputOptions {
1061
+ output?: OutputOptions | OutputOptions[];
1062
+ }
1063
+
1064
+ //#endregion
1065
+ //#region src/types/config-export.d.ts
1066
+ /**
1067
+ * Type for `default export` of `rolldown.config.js` file.
1068
+ */
1069
+ /**
1070
+ * Type for `default export` of `rolldown.config.js` file.
1071
+ */
1072
+ type ConfigExport = RolldownOptions | RolldownOptions[];
1073
+
1074
+ //#endregion
1075
+ //#region src/utils/define-config.d.ts
1076
+ declare function defineConfig(config: RolldownOptions): RolldownOptions;
1077
+ declare function defineConfig(config: RolldownOptions[]): RolldownOptions[];
1078
+ declare function defineConfig(config: ConfigExport): ConfigExport;
1079
+
1080
+ //#endregion
1081
+ export { AddonFunction, AsyncPluginHooks, BuildOptions, BuiltinPlugin, ChunkFileNamesFunction, ConfigExport, CustomPluginOptions, DefineParallelPluginResult, EmittedAsset, EmittedFile, ExistingRawSourceMap, ExternalOption, FunctionPluginHooks, GeneralHookFilter, GetModuleInfo, GlobalsFunction, HookFilter, HookFilterExtension, ImportKind, InputOption, InputOptions, InternalModuleFormat, JsxOptions, LoadResult, LogLevel, LogLevelOption, LogOrStringHandler, LoggingFunction, MaybePromise, MinifyOptions, MinimalPluginContext, ModuleFormat, ModuleInfo, ModuleOptions, ModuleType, ModuleTypeFilter, ModuleTypes, NormalizedInputOptions, NormalizedOutputOptions, ObjectHook, OutputAsset, OutputBundle, OutputChunk, OutputOptions, ParallelPluginHooks, PartialNull, PartialResolvedId, Plugin, PluginContext, PluginContextMeta, PreRenderedAsset, RenderedChunk, RenderedModule, ResolveIdExtraOptions, ResolveIdResult, ResolvedId, RolldownBuild, RolldownOptions, RolldownOutput, RolldownPlugin, RolldownPluginOption, RolldownWatcher, RolldownWatcherEvent, RollupError, RollupLog, RollupLogWithString, SourceDescription, SourceMap, SourceMapInput, SourcemapIgnoreListOption, TransformPluginContext, TransformResult, TreeshakingOptions, VERSION, WarningHandlerWithDefault, WatchOptions, WatcherOptions, build, buildImportAnalysisPlugin, defineConfig, defineParallelPlugin, dynamicImportVarsPlugin, importGlobPlugin, isolatedDeclarationPlugin, jsonPlugin, loadFallbackPlugin, manifestPlugin, moduleFederationPlugin, modulePreloadPolyfillPlugin, reportPlugin, rolldown, viteResolvePlugin, wasmFallbackPlugin, wasmHelperPlugin, watch, withFilter };
@@ -1,4 +1,4 @@
1
- import { BindingBuildImportAnalysisPluginConfig, BindingBuiltinPluginName, BindingDynamicImportVarsPluginConfig, BindingGlobImportPluginConfig, BindingHmrOutput, BindingHookResolveIdExtraArgs, BindingIsolatedDeclarationPluginConfig, BindingJsonPluginConfig, BindingManifestPluginConfig, BindingMfManifest, BindingMinifyOptions, BindingModuleFederationPluginOption, BindingModulePreloadPolyfillPluginConfig, BindingRemote, BindingRenderedChunk, BindingReportPluginConfig, BindingTransformHookExtraArgs, BindingViteResolvePluginConfig, BindingWatcherEvent, Bundler, ParserOptions, PreRenderedChunk, TransformOptions } from "./binding.d-Dzvdb9zV.mjs";
1
+ import { BindingBuildImportAnalysisPluginConfig, BindingBuiltinPluginName, BindingDynamicImportVarsPluginConfig, BindingGlobImportPluginConfig, BindingHmrOutput, BindingHookResolveIdExtraArgs, BindingIsolatedDeclarationPluginConfig, BindingJsonPluginConfig, BindingManifestPluginConfig, BindingMfManifest, BindingMinifyOptions, BindingModuleFederationPluginOption, BindingModulePreloadPolyfillPluginConfig, BindingRemote, BindingRenderedChunk, BindingReportPluginConfig, BindingTransformHookExtraArgs, BindingViteResolvePluginConfig, BindingWatcherEvent, Bundler, ParserOptions, PreRenderedChunk, TransformOptions } from "./binding.d-Da3YoPSu.mjs";
2
2
  import { TopLevelFilterExpression } from "@rolldown/pluginutils";
3
3
  import { Program } from "@oxc-project/types";
4
4
 
@@ -284,6 +284,7 @@ interface OutputOptions {
284
284
  polyfillRequire?: boolean;
285
285
  target?: ESTarget;
286
286
  hoistTransitiveImports?: false;
287
+ preserveModules?: boolean;
287
288
  }
288
289
 
289
290
  //#endregion
@@ -421,6 +422,7 @@ interface NormalizedOutputOptions {
421
422
  comments: "none" | "preserve-legal";
422
423
  polyfillRequire: boolean;
423
424
  plugins: RolldownPlugin[];
425
+ preserveModules: boolean;
424
426
  }
425
427
 
426
428
  //#endregion
@@ -566,22 +568,6 @@ interface TransformPluginContext extends PluginContext {
566
568
  getCombinedSourcemap(): SourceMap;
567
569
  }
568
570
 
569
- //#endregion
570
- //#region src/types/rolldown-options.d.ts
571
- interface RolldownOptions extends InputOptions {
572
- output?: OutputOptions | OutputOptions[];
573
- }
574
-
575
- //#endregion
576
- //#region src/types/config-export.d.ts
577
- /**
578
- * Type for `default export` of `rolldown.config.js` file.
579
- */
580
- /**
581
- * Type for `default export` of `rolldown.config.js` file.
582
- */
583
- type ConfigExport = RolldownOptions | RolldownOptions[];
584
-
585
571
  //#endregion
586
572
  //#region src/types/module-side-effects.d.ts
587
573
  interface ModuleSideEffectsRule {
@@ -617,12 +603,6 @@ interface ExistingRawSourceMap {
617
603
  }
618
604
  type SourceMapInput = ExistingRawSourceMap | string | null;
619
605
 
620
- //#endregion
621
- //#region src/utils/define-config.d.ts
622
- declare function defineConfig(config: RolldownOptions): RolldownOptions;
623
- declare function defineConfig(config: RolldownOptions[]): RolldownOptions[];
624
- declare function defineConfig(config: ConfigExport): ConfigExport;
625
-
626
606
  //#endregion
627
607
  //#region src/index.d.ts
628
608
  declare const VERSION: string;
@@ -1076,4 +1056,26 @@ interface InputOptions {
1076
1056
  }
1077
1057
 
1078
1058
  //#endregion
1079
- export { AddonFunction, AsyncPluginHooks, BuildOptions, BuiltinPlugin as BuiltinPlugin$1, ChunkFileNamesFunction, ConfigExport, CustomPluginOptions, DefineParallelPluginResult, EmittedAsset, EmittedFile, ExistingRawSourceMap, ExternalOption, FunctionPluginHooks, GeneralHookFilter, GetModuleInfo, GlobalsFunction, HookFilter, HookFilterExtension, ImportKind, InputOption, InputOptions, InternalModuleFormat, JsxOptions, LoadResult, LogLevel, LogLevelOption, LogOrStringHandler, LoggingFunction, MaybePromise, MinifyOptions, MinimalPluginContext, ModuleFormat, ModuleInfo, ModuleOptions, ModuleType, ModuleTypeFilter, NormalizedInputOptions, NormalizedOutputOptions, ObjectHook, OutputAsset, OutputBundle, OutputChunk, OutputOptions, ParallelPluginHooks, PartialNull, PartialResolvedId, Plugin, PluginContext, PluginContextMeta, PreRenderedAsset, RenderedChunk, RenderedModule, ResolveIdExtraOptions, ResolveIdResult, ResolvedId, RolldownBuild, RolldownOptions, RolldownOutput, RolldownPlugin, RolldownPluginOption, RolldownWatcher, RolldownWatcherEvent, RollupError, RollupLog, RollupLogWithString, SourceDescription, SourceMap, SourceMapInput, SourcemapIgnoreListOption, TransformPluginContext, TransformResult, TreeshakingOptions, VERSION as VERSION$1, WarningHandlerWithDefault, WatchOptions, WatcherOptions, build as build$1, buildImportAnalysisPlugin as buildImportAnalysisPlugin$1, defineConfig as defineConfig$1, defineParallelPlugin, dynamicImportVarsPlugin as dynamicImportVarsPlugin$1, importGlobPlugin as importGlobPlugin$1, isolatedDeclarationPlugin as isolatedDeclarationPlugin$1, jsonPlugin as jsonPlugin$1, loadFallbackPlugin as loadFallbackPlugin$1, manifestPlugin as manifestPlugin$1, moduleFederationPlugin as moduleFederationPlugin$1, modulePreloadPolyfillPlugin as modulePreloadPolyfillPlugin$1, reportPlugin as reportPlugin$1, rolldown as rolldown$1, viteResolvePlugin as viteResolvePlugin$1, wasmFallbackPlugin as wasmFallbackPlugin$1, wasmHelperPlugin as wasmHelperPlugin$1, watch as watch$1, withFilter };
1059
+ //#region src/types/rolldown-options.d.ts
1060
+ interface RolldownOptions extends InputOptions {
1061
+ output?: OutputOptions | OutputOptions[];
1062
+ }
1063
+
1064
+ //#endregion
1065
+ //#region src/types/config-export.d.ts
1066
+ /**
1067
+ * Type for `default export` of `rolldown.config.js` file.
1068
+ */
1069
+ /**
1070
+ * Type for `default export` of `rolldown.config.js` file.
1071
+ */
1072
+ type ConfigExport = RolldownOptions | RolldownOptions[];
1073
+
1074
+ //#endregion
1075
+ //#region src/utils/define-config.d.ts
1076
+ declare function defineConfig(config: RolldownOptions): RolldownOptions;
1077
+ declare function defineConfig(config: RolldownOptions[]): RolldownOptions[];
1078
+ declare function defineConfig(config: ConfigExport): ConfigExport;
1079
+
1080
+ //#endregion
1081
+ export { AddonFunction, AsyncPluginHooks, BuildOptions, BuiltinPlugin as BuiltinPlugin$1, ChunkFileNamesFunction, ConfigExport, CustomPluginOptions, DefineParallelPluginResult, EmittedAsset, EmittedFile, ExistingRawSourceMap, ExternalOption, FunctionPluginHooks, GeneralHookFilter, GetModuleInfo, GlobalsFunction, HookFilter, HookFilterExtension, ImportKind, InputOption, InputOptions, InternalModuleFormat, JsxOptions, LoadResult, LogLevel, LogLevelOption, LogOrStringHandler, LoggingFunction, MaybePromise, MinifyOptions, MinimalPluginContext, ModuleFormat, ModuleInfo, ModuleOptions, ModuleType, ModuleTypeFilter, ModuleTypes, NormalizedInputOptions, NormalizedOutputOptions, ObjectHook, OutputAsset, OutputBundle, OutputChunk, OutputOptions, ParallelPluginHooks, PartialNull, PartialResolvedId, Plugin, PluginContext, PluginContextMeta, PreRenderedAsset, RenderedChunk, RenderedModule, ResolveIdExtraOptions, ResolveIdResult, ResolvedId, RolldownBuild, RolldownOptions, RolldownOutput, RolldownPlugin, RolldownPluginOption, RolldownWatcher, RolldownWatcherEvent, RollupError, RollupLog, RollupLogWithString, SourceDescription, SourceMap, SourceMapInput, SourcemapIgnoreListOption, TransformPluginContext, TransformResult, TreeshakingOptions, VERSION as VERSION$1, WarningHandlerWithDefault, WatchOptions, WatcherOptions, build as build$1, buildImportAnalysisPlugin as buildImportAnalysisPlugin$1, defineConfig as defineConfig$1, defineParallelPlugin, dynamicImportVarsPlugin as dynamicImportVarsPlugin$1, importGlobPlugin as importGlobPlugin$1, isolatedDeclarationPlugin as isolatedDeclarationPlugin$1, jsonPlugin as jsonPlugin$1, loadFallbackPlugin as loadFallbackPlugin$1, manifestPlugin as manifestPlugin$1, moduleFederationPlugin as moduleFederationPlugin$1, modulePreloadPolyfillPlugin as modulePreloadPolyfillPlugin$1, reportPlugin as reportPlugin$1, rolldown as rolldown$1, viteResolvePlugin as viteResolvePlugin$1, wasmFallbackPlugin as wasmFallbackPlugin$1, wasmHelperPlugin as wasmHelperPlugin$1, watch as watch$1, withFilter };
@@ -0,0 +1,124 @@
1
+ import { __esm } from "./chunk--iN_1bjD.mjs";
2
+ import { init_rolldown, rolldown } from "./src-DeSv5_2X.mjs";
3
+ import fs from "node:fs";
4
+ import path from "node:path";
5
+ import { pathToFileURL } from "node:url";
6
+ import { cwd } from "node:process";
7
+ import { readdir } from "node:fs/promises";
8
+
9
+ //#region src/utils/load-config.ts
10
+ async function bundleTsConfig(configFile, isEsm) {
11
+ const dirnameVarName = "injected_original_dirname";
12
+ const filenameVarName = "injected_original_filename";
13
+ const importMetaUrlVarName = "injected_original_import_meta_url";
14
+ const bundle = await rolldown({
15
+ input: configFile,
16
+ platform: "node",
17
+ resolve: { mainFields: ["main"] },
18
+ define: {
19
+ __dirname: dirnameVarName,
20
+ __filename: filenameVarName,
21
+ "import.meta.url": importMetaUrlVarName,
22
+ "import.meta.dirname": dirnameVarName,
23
+ "import.meta.filename": filenameVarName
24
+ },
25
+ treeshake: false,
26
+ external: [/^[\w@][^:]/],
27
+ plugins: [{
28
+ name: "inject-file-scope-variables",
29
+ transform: {
30
+ filter: { id: /\.[cm]?[jt]s$/ },
31
+ async handler(code, id) {
32
+ const injectValues = `const ${dirnameVarName} = ${JSON.stringify(path.dirname(id))};const ${filenameVarName} = ${JSON.stringify(id)};const ${importMetaUrlVarName} = ${JSON.stringify(pathToFileURL(id).href)};`;
33
+ return {
34
+ code: injectValues + code,
35
+ map: null
36
+ };
37
+ }
38
+ }
39
+ }]
40
+ });
41
+ const outputDir = path.dirname(configFile);
42
+ const result = await bundle.write({
43
+ dir: outputDir,
44
+ format: isEsm ? "esm" : "cjs",
45
+ sourcemap: "inline",
46
+ entryFileNames: `rolldown.config.[hash]${path.extname(configFile).replace("ts", "js")}`
47
+ });
48
+ const fileName = result.output.find((chunk) => chunk.type === "chunk" && chunk.isEntry).fileName;
49
+ return path.join(outputDir, fileName);
50
+ }
51
+ async function findConfigFileNameInCwd() {
52
+ const filesInWorkingDirectory = new Set(await readdir(cwd()));
53
+ for (const extension of SUPPORTED_CONFIG_FORMATS) {
54
+ const fileName = `${DEFAULT_CONFIG_BASE}${extension}`;
55
+ if (filesInWorkingDirectory.has(fileName)) return fileName;
56
+ }
57
+ throw new Error("No `rolldown.config` configuration file found.");
58
+ }
59
+ async function loadTsConfig(configFile) {
60
+ const isEsm = isFilePathESM(configFile);
61
+ const file = await bundleTsConfig(configFile, isEsm);
62
+ try {
63
+ return (await import(pathToFileURL(file).href)).default;
64
+ } finally {
65
+ fs.unlink(file, () => {});
66
+ }
67
+ }
68
+ function isFilePathESM(filePath) {
69
+ if (/\.m[jt]s$/.test(filePath)) return true;
70
+ else if (/\.c[jt]s$/.test(filePath)) return false;
71
+ else {
72
+ const pkg = findNearestPackageData(path.dirname(filePath));
73
+ if (pkg) return pkg.type === "module";
74
+ return false;
75
+ }
76
+ }
77
+ function findNearestPackageData(basedir) {
78
+ while (basedir) {
79
+ const pkgPath = path.join(basedir, "package.json");
80
+ if (tryStatSync(pkgPath)?.isFile()) try {
81
+ return JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
82
+ } catch {}
83
+ const nextBasedir = path.dirname(basedir);
84
+ if (nextBasedir === basedir) break;
85
+ basedir = nextBasedir;
86
+ }
87
+ return null;
88
+ }
89
+ function tryStatSync(file) {
90
+ try {
91
+ return fs.statSync(file, { throwIfNoEntry: false });
92
+ } catch {}
93
+ }
94
+ async function loadConfig(configPath) {
95
+ const ext = path.extname(configPath = configPath || await findConfigFileNameInCwd());
96
+ try {
97
+ if (SUPPORTED_JS_CONFIG_FORMATS.includes(ext) || process.env.NODE_OPTIONS?.includes("--import=tsx") && SUPPORTED_TS_CONFIG_FORMATS.includes(ext)) return (await import(pathToFileURL(configPath).href)).default;
98
+ else if (SUPPORTED_TS_CONFIG_FORMATS.includes(ext)) {
99
+ const rawConfigPath = path.resolve(configPath);
100
+ return await loadTsConfig(rawConfigPath);
101
+ } else throw new Error(`Unsupported config format. Expected: \`${SUPPORTED_CONFIG_FORMATS.join(",")}\` but got \`${ext}\``);
102
+ } catch (err) {
103
+ throw new Error("Error happened while loading config.", { cause: err });
104
+ }
105
+ }
106
+ var SUPPORTED_JS_CONFIG_FORMATS, SUPPORTED_TS_CONFIG_FORMATS, SUPPORTED_CONFIG_FORMATS, DEFAULT_CONFIG_BASE;
107
+ var init_load_config = __esm({ "src/utils/load-config.ts"() {
108
+ init_rolldown();
109
+ SUPPORTED_JS_CONFIG_FORMATS = [
110
+ ".js",
111
+ ".mjs",
112
+ ".cjs"
113
+ ];
114
+ SUPPORTED_TS_CONFIG_FORMATS = [
115
+ ".ts",
116
+ ".mts",
117
+ ".cts"
118
+ ];
119
+ SUPPORTED_CONFIG_FORMATS = [...SUPPORTED_JS_CONFIG_FORMATS, ...SUPPORTED_TS_CONFIG_FORMATS];
120
+ DEFAULT_CONFIG_BASE = "rolldown.config";
121
+ } });
122
+
123
+ //#endregion
124
+ export { init_load_config, loadConfig };
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ const require_chunk = require('./chunk-qZFfknuJ.cjs');
3
+ const require_src = require('./src-DYkvXVDC.cjs');
4
+ const node_fs = require_chunk.__toESM(require("node:fs"));
5
+ const node_path = require_chunk.__toESM(require("node:path"));
6
+ const node_url = require_chunk.__toESM(require("node:url"));
7
+ const node_process = require_chunk.__toESM(require("node:process"));
8
+ const node_fs_promises = require_chunk.__toESM(require("node:fs/promises"));
9
+
10
+ //#region src/utils/load-config.ts
11
+ async function bundleTsConfig(configFile, isEsm) {
12
+ const dirnameVarName = "injected_original_dirname";
13
+ const filenameVarName = "injected_original_filename";
14
+ const importMetaUrlVarName = "injected_original_import_meta_url";
15
+ const bundle = await require_src.rolldown({
16
+ input: configFile,
17
+ platform: "node",
18
+ resolve: { mainFields: ["main"] },
19
+ define: {
20
+ __dirname: dirnameVarName,
21
+ __filename: filenameVarName,
22
+ "import.meta.url": importMetaUrlVarName,
23
+ "import.meta.dirname": dirnameVarName,
24
+ "import.meta.filename": filenameVarName
25
+ },
26
+ treeshake: false,
27
+ external: [/^[\w@][^:]/],
28
+ plugins: [{
29
+ name: "inject-file-scope-variables",
30
+ transform: {
31
+ filter: { id: /\.[cm]?[jt]s$/ },
32
+ async handler(code, id) {
33
+ const injectValues = `const ${dirnameVarName} = ${JSON.stringify(node_path.default.dirname(id))};const ${filenameVarName} = ${JSON.stringify(id)};const ${importMetaUrlVarName} = ${JSON.stringify((0, node_url.pathToFileURL)(id).href)};`;
34
+ return {
35
+ code: injectValues + code,
36
+ map: null
37
+ };
38
+ }
39
+ }
40
+ }]
41
+ });
42
+ const outputDir = node_path.default.dirname(configFile);
43
+ const result = await bundle.write({
44
+ dir: outputDir,
45
+ format: isEsm ? "esm" : "cjs",
46
+ sourcemap: "inline",
47
+ entryFileNames: `rolldown.config.[hash]${node_path.default.extname(configFile).replace("ts", "js")}`
48
+ });
49
+ const fileName = result.output.find((chunk) => chunk.type === "chunk" && chunk.isEntry).fileName;
50
+ return node_path.default.join(outputDir, fileName);
51
+ }
52
+ const SUPPORTED_JS_CONFIG_FORMATS = [
53
+ ".js",
54
+ ".mjs",
55
+ ".cjs"
56
+ ];
57
+ const SUPPORTED_TS_CONFIG_FORMATS = [
58
+ ".ts",
59
+ ".mts",
60
+ ".cts"
61
+ ];
62
+ const SUPPORTED_CONFIG_FORMATS = [...SUPPORTED_JS_CONFIG_FORMATS, ...SUPPORTED_TS_CONFIG_FORMATS];
63
+ const DEFAULT_CONFIG_BASE = "rolldown.config";
64
+ async function findConfigFileNameInCwd() {
65
+ const filesInWorkingDirectory = new Set(await (0, node_fs_promises.readdir)((0, node_process.cwd)()));
66
+ for (const extension of SUPPORTED_CONFIG_FORMATS) {
67
+ const fileName = `${DEFAULT_CONFIG_BASE}${extension}`;
68
+ if (filesInWorkingDirectory.has(fileName)) return fileName;
69
+ }
70
+ throw new Error("No `rolldown.config` configuration file found.");
71
+ }
72
+ async function loadTsConfig(configFile) {
73
+ const isEsm = isFilePathESM(configFile);
74
+ const file = await bundleTsConfig(configFile, isEsm);
75
+ try {
76
+ return (await import((0, node_url.pathToFileURL)(file).href)).default;
77
+ } finally {
78
+ node_fs.default.unlink(file, () => {});
79
+ }
80
+ }
81
+ function isFilePathESM(filePath) {
82
+ if (/\.m[jt]s$/.test(filePath)) return true;
83
+ else if (/\.c[jt]s$/.test(filePath)) return false;
84
+ else {
85
+ const pkg = findNearestPackageData(node_path.default.dirname(filePath));
86
+ if (pkg) return pkg.type === "module";
87
+ return false;
88
+ }
89
+ }
90
+ function findNearestPackageData(basedir) {
91
+ while (basedir) {
92
+ const pkgPath = node_path.default.join(basedir, "package.json");
93
+ if (tryStatSync(pkgPath)?.isFile()) try {
94
+ return JSON.parse(node_fs.default.readFileSync(pkgPath, "utf-8"));
95
+ } catch {}
96
+ const nextBasedir = node_path.default.dirname(basedir);
97
+ if (nextBasedir === basedir) break;
98
+ basedir = nextBasedir;
99
+ }
100
+ return null;
101
+ }
102
+ function tryStatSync(file) {
103
+ try {
104
+ return node_fs.default.statSync(file, { throwIfNoEntry: false });
105
+ } catch {}
106
+ }
107
+ async function loadConfig(configPath) {
108
+ const ext = node_path.default.extname(configPath = configPath || await findConfigFileNameInCwd());
109
+ try {
110
+ if (SUPPORTED_JS_CONFIG_FORMATS.includes(ext) || process.env.NODE_OPTIONS?.includes("--import=tsx") && SUPPORTED_TS_CONFIG_FORMATS.includes(ext)) return (await import((0, node_url.pathToFileURL)(configPath).href)).default;
111
+ else if (SUPPORTED_TS_CONFIG_FORMATS.includes(ext)) {
112
+ const rawConfigPath = node_path.default.resolve(configPath);
113
+ return await loadTsConfig(rawConfigPath);
114
+ } else throw new Error(`Unsupported config format. Expected: \`${SUPPORTED_CONFIG_FORMATS.join(",")}\` but got \`${ext}\``);
115
+ } catch (err) {
116
+ throw new Error("Error happened while loading config.", { cause: err });
117
+ }
118
+ }
119
+
120
+ //#endregion
121
+ Object.defineProperty(exports, 'loadConfig', {
122
+ enumerable: true,
123
+ get: function () {
124
+ return loadConfig;
125
+ }
126
+ });
@@ -852,4 +852,4 @@ async function prompt(message, opts = {}) {
852
852
  }
853
853
 
854
854
  //#endregion
855
- exports.prompt = prompt
855
+ exports.prompt = prompt;
@@ -9,7 +9,7 @@ const node_os = require_chunk.__toESM(require("node:os"));
9
9
  const node_worker_threads = require_chunk.__toESM(require("node:worker_threads"));
10
10
 
11
11
  //#region package.json
12
- var version = "1.0.0-beta.8-commit.8951737";
12
+ var version = "1.0.0-beta.8-commit.d95f99e";
13
13
  var description$1 = "Fast JavaScript/TypeScript bundler in Rust with Rollup-compatible API.";
14
14
 
15
15
  //#endregion
@@ -2000,7 +2000,8 @@ const OutputOptionsSchema = strictObject({
2000
2000
  hoistTransitiveImports: optional(custom((input) => {
2001
2001
  if (input) return false;
2002
2002
  return true;
2003
- }, () => `The 'true' value is not supported`))
2003
+ }, () => `The 'true' value is not supported`)),
2004
+ preserveModules: optional(boolean())
2004
2005
  });
2005
2006
  const getAddonDescription = (placement, wrapper) => {
2006
2007
  return `Code to insert the ${ansis.default.bold(placement)} of the bundled file (${ansis.default.bold(wrapper)} the wrapper function)`;
@@ -2775,7 +2776,7 @@ function transformChunkModules(modules) {
2775
2776
  //#endregion
2776
2777
  //#region src/utils/bindingify-output-options.ts
2777
2778
  function bindingifyOutputOptions(outputOptions) {
2778
- const { dir, format, exports: exports$1, hashCharacters, sourcemap, sourcemapDebugIds, sourcemapIgnoreList, sourcemapPathTransform, name, assetFileNames, entryFileNames, chunkFileNames, cssEntryFileNames, cssChunkFileNames, banner, footer, intro, outro, esModule, globals, file, sanitizeFileName } = outputOptions;
2779
+ const { dir, format, exports: exports$1, hashCharacters, sourcemap, sourcemapDebugIds, sourcemapIgnoreList, sourcemapPathTransform, name, assetFileNames, entryFileNames, chunkFileNames, cssEntryFileNames, cssChunkFileNames, banner, footer, intro, outro, esModule, globals, file, sanitizeFileName, preserveModules } = outputOptions;
2779
2780
  return {
2780
2781
  dir,
2781
2782
  file: file == null ? void 0 : file,
@@ -2806,7 +2807,8 @@ function bindingifyOutputOptions(outputOptions) {
2806
2807
  advancedChunks: outputOptions.advancedChunks,
2807
2808
  polyfillRequire: outputOptions.polyfillRequire,
2808
2809
  target: outputOptions.target,
2809
- sanitizeFileName
2810
+ sanitizeFileName,
2811
+ preserveModules
2810
2812
  };
2811
2813
  }
2812
2814
  function bindingifyAddon(configAddon) {
@@ -2949,6 +2951,9 @@ var NormalizedOutputOptionsImpl = class {
2949
2951
  get plugins() {
2950
2952
  return this.normalizedOutputPlugins;
2951
2953
  }
2954
+ get preserveModules() {
2955
+ return this.preserveModules;
2956
+ }
2952
2957
  };
2953
2958
  function normalizeAddon(value) {
2954
2959
  if (typeof value === "function") return value;
@@ -8,7 +8,7 @@ import { availableParallelism } from "node:os";
8
8
  import { Worker } from "node:worker_threads";
9
9
 
10
10
  //#region package.json
11
- var version = "1.0.0-beta.8-commit.8951737";
11
+ var version = "1.0.0-beta.8-commit.d95f99e";
12
12
  var description$1 = "Fast JavaScript/TypeScript bundler in Rust with Rollup-compatible API.";
13
13
 
14
14
  //#endregion
@@ -2089,7 +2089,8 @@ var init_validator = __esm({ "src/utils/validator.ts"() {
2089
2089
  hoistTransitiveImports: optional(custom((input) => {
2090
2090
  if (input) return false;
2091
2091
  return true;
2092
- }, () => `The 'true' value is not supported`))
2092
+ }, () => `The 'true' value is not supported`)),
2093
+ preserveModules: optional(boolean())
2093
2094
  });
2094
2095
  getAddonDescription = (placement, wrapper) => {
2095
2096
  return `Code to insert the ${colors.bold(placement)} of the bundled file (${colors.bold(wrapper)} the wrapper function)`;
@@ -4052,7 +4053,7 @@ var init_transform_rendered_chunk = __esm({ "src/utils/transform-rendered-chunk.
4052
4053
  //#endregion
4053
4054
  //#region src/utils/bindingify-output-options.ts
4054
4055
  function bindingifyOutputOptions(outputOptions) {
4055
- const { dir, format, exports, hashCharacters, sourcemap, sourcemapDebugIds, sourcemapIgnoreList, sourcemapPathTransform, name, assetFileNames, entryFileNames, chunkFileNames, cssEntryFileNames, cssChunkFileNames, banner, footer, intro, outro, esModule, globals, file, sanitizeFileName } = outputOptions;
4056
+ const { dir, format, exports, hashCharacters, sourcemap, sourcemapDebugIds, sourcemapIgnoreList, sourcemapPathTransform, name, assetFileNames, entryFileNames, chunkFileNames, cssEntryFileNames, cssChunkFileNames, banner, footer, intro, outro, esModule, globals, file, sanitizeFileName, preserveModules } = outputOptions;
4056
4057
  return {
4057
4058
  dir,
4058
4059
  file: file == null ? void 0 : file,
@@ -4083,7 +4084,8 @@ function bindingifyOutputOptions(outputOptions) {
4083
4084
  advancedChunks: outputOptions.advancedChunks,
4084
4085
  polyfillRequire: outputOptions.polyfillRequire,
4085
4086
  target: outputOptions.target,
4086
- sanitizeFileName
4087
+ sanitizeFileName,
4088
+ preserveModules
4087
4089
  };
4088
4090
  }
4089
4091
  function bindingifyAddon(configAddon) {
@@ -4238,6 +4240,9 @@ var init_normalized_output_options = __esm({ "src/options/normalized-output-opti
4238
4240
  get plugins() {
4239
4241
  return this.normalizedOutputPlugins;
4240
4242
  }
4243
+ get preserveModules() {
4244
+ return this.preserveModules;
4245
+ }
4241
4246
  };
4242
4247
  } });
4243
4248
 
@@ -5790,4 +5795,4 @@ var init_src = __esm({ "src/index.ts"() {
5790
5795
  } });
5791
5796
 
5792
5797
  //#endregion
5793
- export { BuiltinPlugin, PluginContextData, VERSION, bindingifyPlugin, build, buildImportAnalysisPlugin, composeJsPlugins, createBundler, defineConfig, description$1 as description, dynamicImportVarsPlugin, getInputCliKeys, getJsonSchema, getOutputCliKeys, handleOutputErrors, importGlobPlugin, init_bindingify_plugin, init_compose_js_plugins, init_constructors, init_create_bundler, init_normalize_string_or_regex, init_plugin_context_data, init_rolldown, init_src, init_transform_to_rollup_output, init_validator, init_watch, isolatedDeclarationPlugin, jsonPlugin, loadFallbackPlugin, manifestPlugin, moduleFederationPlugin, modulePreloadPolyfillPlugin, normalizedStringOrRegex, reportPlugin, rolldown, validateCliOptions, version, viteResolvePlugin, wasmFallbackPlugin, wasmHelperPlugin, watch };
5798
+ export { BuiltinPlugin, PluginContextData, VERSION, bindingifyPlugin, build, buildImportAnalysisPlugin, composeJsPlugins, createBundler, defineConfig, description$1 as description, dynamicImportVarsPlugin, getInputCliKeys, getJsonSchema, getOutputCliKeys, handleOutputErrors, importGlobPlugin, init_bindingify_plugin, init_compose_js_plugins, init_constructors, init_create_bundler, init_define_config, init_normalize_string_or_regex, init_plugin_context_data, init_rolldown, init_src, init_transform_to_rollup_output, init_validator, init_watch, isolatedDeclarationPlugin, jsonPlugin, loadFallbackPlugin, manifestPlugin, moduleFederationPlugin, modulePreloadPolyfillPlugin, normalizedStringOrRegex, reportPlugin, rolldown, validateCliOptions, version, viteResolvePlugin, wasmFallbackPlugin, wasmHelperPlugin, watch };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rolldown",
3
- "version": "1.0.0-beta.8-commit.8951737",
3
+ "version": "1.0.0-beta.8-commit.d95f99e",
4
4
  "description": "Fast JavaScript/TypeScript bundler in Rust with Rollup-compatible API.",
5
5
  "type": "commonjs",
6
6
  "homepage": "https://rolldown.rs/",
@@ -34,6 +34,10 @@
34
34
  "require": "./dist/index.cjs",
35
35
  "import": "./dist/index.mjs"
36
36
  },
37
+ "./config": {
38
+ "require": "./dist/config.cjs",
39
+ "import": "./dist/config.mjs"
40
+ },
37
41
  "./experimental": {
38
42
  "require": "./dist/experimental-index.cjs",
39
43
  "import": "./dist/experimental-index.mjs"
@@ -88,7 +92,7 @@
88
92
  "dependencies": {
89
93
  "@oxc-project/types": "0.69.0",
90
94
  "ansis": "^4.0.0",
91
- "@rolldown/pluginutils": "1.0.0-beta.8-commit.8951737"
95
+ "@rolldown/pluginutils": "1.0.0-beta.8-commit.d95f99e"
92
96
  },
93
97
  "peerDependencies": {
94
98
  "@oxc-project/runtime": "0.69.0"
@@ -124,21 +128,21 @@
124
128
  "unbuild": "^3.0.0",
125
129
  "valibot": "1.0.0",
126
130
  "@rolldown/testing": "0.0.1",
127
- "rolldown": "1.0.0-beta.8-commit.8951737"
131
+ "rolldown": "1.0.0-beta.8-commit.d95f99e"
128
132
  },
129
133
  "optionalDependencies": {
130
- "@rolldown/binding-darwin-arm64": "1.0.0-beta.8-commit.8951737",
131
- "@rolldown/binding-freebsd-x64": "1.0.0-beta.8-commit.8951737",
132
- "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.8-commit.8951737",
133
- "@rolldown/binding-darwin-x64": "1.0.0-beta.8-commit.8951737",
134
- "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.8-commit.8951737",
135
- "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.8-commit.8951737",
136
- "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.8-commit.8951737",
137
- "@rolldown/binding-linux-x64-musl": "1.0.0-beta.8-commit.8951737",
138
- "@rolldown/binding-wasm32-wasi": "1.0.0-beta.8-commit.8951737",
139
- "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.8-commit.8951737",
140
- "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.8-commit.8951737",
141
- "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.8-commit.8951737"
134
+ "@rolldown/binding-darwin-x64": "1.0.0-beta.8-commit.d95f99e",
135
+ "@rolldown/binding-freebsd-x64": "1.0.0-beta.8-commit.d95f99e",
136
+ "@rolldown/binding-darwin-arm64": "1.0.0-beta.8-commit.d95f99e",
137
+ "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.8-commit.d95f99e",
138
+ "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.8-commit.d95f99e",
139
+ "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.8-commit.d95f99e",
140
+ "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.8-commit.d95f99e",
141
+ "@rolldown/binding-linux-x64-musl": "1.0.0-beta.8-commit.d95f99e",
142
+ "@rolldown/binding-wasm32-wasi": "1.0.0-beta.8-commit.d95f99e",
143
+ "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.8-commit.d95f99e",
144
+ "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.8-commit.d95f99e",
145
+ "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.8-commit.d95f99e"
142
146
  },
143
147
  "scripts": {
144
148
  "# Scrips for binding #": "_",