rolldown 1.0.0-beta.4-commit.308f68b → 1.0.0-beta.41

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 (133) hide show
  1. package/bin/cli.mjs +2 -0
  2. package/dist/cli.d.mts +1 -0
  3. package/dist/cli.mjs +579 -0
  4. package/dist/config.d.mts +10 -0
  5. package/dist/config.mjs +10 -0
  6. package/dist/experimental-index.d.mts +146 -0
  7. package/dist/experimental-index.mjs +215 -0
  8. package/dist/experimental-runtime-types.d.ts +77 -0
  9. package/dist/filter-index.d.mts +4 -0
  10. package/dist/filter-index.mjs +44 -0
  11. package/dist/index.d.mts +3 -0
  12. package/dist/index.mjs +5 -0
  13. package/dist/parallel-plugin-worker.d.mts +1 -0
  14. package/dist/{esm/parallel-plugin-worker.mjs → parallel-plugin-worker.mjs} +8 -16
  15. package/dist/parallel-plugin.d.mts +14 -0
  16. package/dist/{esm/parallel-plugin.mjs → parallel-plugin.mjs} +0 -1
  17. package/dist/parse-ast-index.d.mts +8 -0
  18. package/dist/parse-ast-index.mjs +3 -0
  19. package/dist/shared/binding-DOpOtI1J.d.mts +1404 -0
  20. package/dist/shared/define-config-BZ_n3PjJ.d.mts +1475 -0
  21. package/dist/shared/load-config-DkgIoWHl.mjs +117 -0
  22. package/dist/{esm/cli.mjs → shared/logger-ClMekpHZ.mjs} +107 -868
  23. package/dist/shared/misc-CQeo-AFx.mjs +22 -0
  24. package/dist/shared/parse-ast-index-D2PcAmXE.mjs +10975 -0
  25. package/dist/shared/{prompt-CxK9euq3.mjs → prompt-R6XhwkxA.mjs} +253 -255
  26. package/dist/shared/src-DkvlJJsC.mjs +4277 -0
  27. package/package.json +63 -77
  28. package/bin/cli.js +0 -2
  29. package/dist/cjs/cli.cjs +0 -1753
  30. package/dist/cjs/experimental-index.cjs +0 -85
  31. package/dist/cjs/index.cjs +0 -8
  32. package/dist/cjs/parallel-plugin-worker.cjs +0 -41
  33. package/dist/cjs/parallel-plugin.cjs +0 -9
  34. package/dist/cjs/parse-ast-index.cjs +0 -4
  35. package/dist/esm/experimental-index.mjs +0 -57
  36. package/dist/esm/index.mjs +0 -4
  37. package/dist/esm/parse-ast-index.mjs +0 -3
  38. package/dist/shared/chunk-qZFfknuJ.cjs +0 -40
  39. package/dist/shared/parse-ast-index-CyX8MVZE.mjs +0 -674
  40. package/dist/shared/parse-ast-index-D7XtMFo4.cjs +0 -719
  41. package/dist/shared/prompt-ZZScCEWI.cjs +0 -854
  42. package/dist/shared/src-DB6mZNTU.mjs +0 -2875
  43. package/dist/shared/src-y8hk77fd.cjs +0 -3056
  44. package/dist/types/api/build.d.ts +0 -18
  45. package/dist/types/api/experimental.d.ts +0 -7
  46. package/dist/types/api/rolldown/index.d.ts +0 -3
  47. package/dist/types/api/rolldown/rolldown-build.d.ts +0 -13
  48. package/dist/types/api/watch/index.d.ts +0 -3
  49. package/dist/types/api/watch/watch-emitter.d.ts +0 -31
  50. package/dist/types/api/watch/watcher.d.ts +0 -13
  51. package/dist/types/binding.d.ts +0 -1456
  52. package/dist/types/builtin-plugin/alias-plugin.d.ts +0 -10
  53. package/dist/types/builtin-plugin/constructors.d.ts +0 -21
  54. package/dist/types/builtin-plugin/replace-plugin.d.ts +0 -28
  55. package/dist/types/builtin-plugin/transform-plugin.d.ts +0 -9
  56. package/dist/types/builtin-plugin/utils.d.ts +0 -8
  57. package/dist/types/cli/arguments/alias.d.ts +0 -16
  58. package/dist/types/cli/arguments/index.d.ts +0 -15
  59. package/dist/types/cli/arguments/normalize.d.ts +0 -12
  60. package/dist/types/cli/arguments/utils.d.ts +0 -8
  61. package/dist/types/cli/colors.d.ts +0 -11
  62. package/dist/types/cli/commands/bundle.d.ts +0 -3
  63. package/dist/types/cli/commands/help.d.ts +0 -1
  64. package/dist/types/cli/index.d.ts +0 -1
  65. package/dist/types/cli/load-config.d.ts +0 -5
  66. package/dist/types/cli/logger.d.ts +0 -5
  67. package/dist/types/constants/plugin-context.d.ts +0 -7
  68. package/dist/types/constants/plugin.d.ts +0 -45
  69. package/dist/types/experimental-index.d.ts +0 -9
  70. package/dist/types/index.d.ts +0 -30
  71. package/dist/types/log/log-handler.d.ts +0 -4
  72. package/dist/types/log/logger.d.ts +0 -6
  73. package/dist/types/log/logging.d.ts +0 -12
  74. package/dist/types/log/logs.d.ts +0 -18
  75. package/dist/types/options/generated/checks-options.d.ts +0 -57
  76. package/dist/types/options/input-options.d.ts +0 -177
  77. package/dist/types/options/normalized-input-options.d.ts +0 -18
  78. package/dist/types/options/normalized-output-options.d.ts +0 -70
  79. package/dist/types/options/output-options.d.ts +0 -182
  80. package/dist/types/options/watch-options.d.ts +0 -5
  81. package/dist/types/parallel-plugin-worker.d.ts +0 -1
  82. package/dist/types/parallel-plugin.d.ts +0 -1
  83. package/dist/types/parse-ast-index.d.ts +0 -5
  84. package/dist/types/plugin/bindingify-build-hooks.d.ts +0 -10
  85. package/dist/types/plugin/bindingify-hook-filter.d.ts +0 -7
  86. package/dist/types/plugin/bindingify-output-hooks.d.ts +0 -14
  87. package/dist/types/plugin/bindingify-plugin-hook-meta.d.ts +0 -8
  88. package/dist/types/plugin/bindingify-plugin.d.ts +0 -16
  89. package/dist/types/plugin/bindingify-watch-hooks.d.ts +0 -5
  90. package/dist/types/plugin/hook-filter.d.ts +0 -48
  91. package/dist/types/plugin/index.d.ts +0 -134
  92. package/dist/types/plugin/minimal-plugin-context.d.ts +0 -23
  93. package/dist/types/plugin/parallel-plugin-implementation.d.ts +0 -10
  94. package/dist/types/plugin/parallel-plugin.d.ts +0 -9
  95. package/dist/types/plugin/plugin-context-data.d.ts +0 -17
  96. package/dist/types/plugin/plugin-context.d.ts +0 -67
  97. package/dist/types/plugin/plugin-driver.d.ts +0 -8
  98. package/dist/types/plugin/transform-plugin-context.d.ts +0 -28
  99. package/dist/types/types/assert.d.ts +0 -14
  100. package/dist/types/types/config-export.d.ts +0 -5
  101. package/dist/types/types/misc.d.ts +0 -40
  102. package/dist/types/types/module-info.d.ts +0 -15
  103. package/dist/types/types/module-side-effects.d.ts +0 -12
  104. package/dist/types/types/output-bundle.d.ts +0 -4
  105. package/dist/types/types/rolldown-options.d.ts +0 -5
  106. package/dist/types/types/rolldown-output.d.ts +0 -66
  107. package/dist/types/types/schema.d.ts +0 -33
  108. package/dist/types/types/sourcemap.d.ts +0 -14
  109. package/dist/types/types/utils.d.ts +0 -13
  110. package/dist/types/utils/asset-source.d.ts +0 -4
  111. package/dist/types/utils/async-flatten.d.ts +0 -1
  112. package/dist/types/utils/bindingify-input-options.d.ts +0 -7
  113. package/dist/types/utils/bindingify-output-options.d.ts +0 -5
  114. package/dist/types/utils/code-frame.d.ts +0 -1
  115. package/dist/types/utils/compose-js-plugins.d.ts +0 -2
  116. package/dist/types/utils/create-bundler-option.d.ts +0 -11
  117. package/dist/types/utils/create-bundler.d.ts +0 -8
  118. package/dist/types/utils/define-config.d.ts +0 -5
  119. package/dist/types/utils/error.d.ts +0 -2
  120. package/dist/types/utils/initialize-parallel-plugins.d.ts +0 -19
  121. package/dist/types/utils/misc.d.ts +0 -6
  122. package/dist/types/utils/normalize-hook.d.ts +0 -7
  123. package/dist/types/utils/normalize-plugin-option.d.ts +0 -13
  124. package/dist/types/utils/normalize-string-or-regex.d.ts +0 -2
  125. package/dist/types/utils/plugin/index.d.ts +0 -2
  126. package/dist/types/utils/resolved-external.d.ts +0 -4
  127. package/dist/types/utils/transform-module-info.d.ts +0 -4
  128. package/dist/types/utils/transform-rendered-chunk.d.ts +0 -4
  129. package/dist/types/utils/transform-rendered-module.d.ts +0 -3
  130. package/dist/types/utils/transform-side-effects.d.ts +0 -3
  131. package/dist/types/utils/transform-sourcemap.d.ts +0 -3
  132. package/dist/types/utils/transform-to-rollup-output.d.ts +0 -11
  133. package/dist/types/utils/validator.d.ts +0 -6
@@ -0,0 +1,146 @@
1
+ import { BindingAssetPluginConfig, BindingBuildImportAnalysisPluginConfig, BindingClientHmrUpdate, BindingDynamicImportVarsPluginConfig, BindingEsmExternalRequirePluginConfig, BindingImportGlobPluginConfig, BindingIsolatedDeclarationPluginConfig, BindingJsonPluginConfig, BindingManifestPluginConfig, BindingModulePreloadPolyfillPluginConfig, BindingReactRefreshWrapperPluginConfig, BindingReplacePluginConfig, BindingReporterPluginConfig, BindingTransformPluginConfig, BindingViteResolvePluginConfig, BindingWasmHelperPluginConfig, IsolatedDeclarationsOptions, IsolatedDeclarationsResult, NapiResolveOptions, ResolveResult, ResolverFactory, TransformOptions, TransformResult, isolatedDeclaration, moduleRunnerTransform, transform } from "./shared/binding-DOpOtI1J.mjs";
2
+ import { BuiltinPlugin, InputOptions, OutputOptions, StringOrRegExp, defineParallelPlugin } from "./shared/define-config-BZ_n3PjJ.mjs";
3
+
4
+ //#region src/api/dev/dev-options.d.ts
5
+ interface DevWatchOptions {
6
+ /**
7
+ * If `true`, files are not written to disk.
8
+ * @default false
9
+ */
10
+ skipWrite?: boolean;
11
+ /**
12
+ * If `true`, use polling instead of native file system events for watching.
13
+ * @default false
14
+ */
15
+ usePolling?: boolean;
16
+ /**
17
+ * Poll interval in milliseconds (only used when usePolling is true).
18
+ * @default 100
19
+ */
20
+ pollInterval?: number;
21
+ /**
22
+ * If `true`, use debounced watcher. If `false`, use non-debounced watcher for immediate responses.
23
+ * @default true
24
+ */
25
+ useDebounce?: boolean;
26
+ /**
27
+ * Debounce duration in milliseconds (only used when useDebounce is true).
28
+ * @default 10
29
+ */
30
+ debounceDuration?: number;
31
+ /**
32
+ * Whether to compare file contents for poll-based watchers (only used when usePolling is true).
33
+ * When enabled, poll watchers will check file contents to determine if they actually changed.
34
+ * @default false
35
+ */
36
+ compareContentsForPolling?: boolean;
37
+ /**
38
+ * Tick rate in milliseconds for debounced watchers (only used when useDebounce is true).
39
+ * Controls how frequently the debouncer checks for events to process.
40
+ * When not specified, the debouncer will auto-select an appropriate tick rate (1/4 of the debounce duration).
41
+ * @default undefined (auto-select)
42
+ */
43
+ debounceTickRate?: number;
44
+ }
45
+ interface DevOptions {
46
+ onHmrUpdates?: (updates: BindingClientHmrUpdate[], changedFiles: string[]) => void | Promise<void>;
47
+ watch?: DevWatchOptions;
48
+ }
49
+ //#endregion
50
+ //#region src/api/dev/dev-engine.d.ts
51
+ declare class DevEngine {
52
+ #private;
53
+ static create(inputOptions: InputOptions, outputOptions?: OutputOptions, devOptions?: DevOptions): Promise<DevEngine>;
54
+ private constructor();
55
+ run(): Promise<void>;
56
+ ensureCurrentBuildFinish(): Promise<void>;
57
+ hasLatestBuildOutput(): Promise<boolean>;
58
+ ensureLatestBuildOutput(): Promise<void>;
59
+ invalidate(file: string, firstInvalidatedBy?: string): Promise<BindingClientHmrUpdate[]>;
60
+ registerModules(clientId: string, modules: string[]): void;
61
+ removeClient(clientId: string): void;
62
+ }
63
+ //#endregion
64
+ //#region src/api/dev/index.d.ts
65
+ declare var dev: typeof DevEngine.create;
66
+ //#endregion
67
+ //#region src/api/experimental.d.ts
68
+ /**
69
+ * This is an experimental API. It's behavior may change in the future.
70
+ *
71
+ * Calling this API will only execute the scan stage of rolldown.
72
+ */
73
+ declare const scan: (input: InputOptions) => Promise<void>;
74
+ //#endregion
75
+ //#region src/builtin-plugin/constructors.d.ts
76
+ declare function modulePreloadPolyfillPlugin(config?: BindingModulePreloadPolyfillPluginConfig): BuiltinPlugin;
77
+ type DynamicImportVarsPluginConfig = Omit<BindingDynamicImportVarsPluginConfig, "include" | "exclude"> & {
78
+ include?: StringOrRegExp | StringOrRegExp[];
79
+ exclude?: StringOrRegExp | StringOrRegExp[];
80
+ };
81
+ declare function dynamicImportVarsPlugin(config?: DynamicImportVarsPluginConfig): BuiltinPlugin;
82
+ declare function importGlobPlugin(config?: BindingImportGlobPluginConfig): BuiltinPlugin;
83
+ declare function reporterPlugin(config?: BindingReporterPluginConfig): BuiltinPlugin;
84
+ declare function manifestPlugin(config?: BindingManifestPluginConfig): BuiltinPlugin;
85
+ declare function wasmHelperPlugin(config?: BindingWasmHelperPluginConfig): BuiltinPlugin;
86
+ declare function wasmFallbackPlugin(): BuiltinPlugin;
87
+ declare function loadFallbackPlugin(): BuiltinPlugin;
88
+ declare function jsonPlugin(config?: BindingJsonPluginConfig): BuiltinPlugin;
89
+ declare function buildImportAnalysisPlugin(config: BindingBuildImportAnalysisPluginConfig): BuiltinPlugin;
90
+ declare function viteResolvePlugin(config: BindingViteResolvePluginConfig): BuiltinPlugin;
91
+ declare function isolatedDeclarationPlugin(config?: BindingIsolatedDeclarationPluginConfig): BuiltinPlugin;
92
+ declare function assetPlugin(config?: BindingAssetPluginConfig): BuiltinPlugin;
93
+ declare function webWorkerPostPlugin(): BuiltinPlugin;
94
+ declare function esmExternalRequirePlugin(config?: BindingEsmExternalRequirePluginConfig): BuiltinPlugin;
95
+ type ReactRefreshWrapperPluginConfig = Omit<BindingReactRefreshWrapperPluginConfig, "include" | "exclude"> & {
96
+ include?: StringOrRegExp | StringOrRegExp[];
97
+ exclude?: StringOrRegExp | StringOrRegExp[];
98
+ };
99
+ declare function reactRefreshWrapperPlugin(config: ReactRefreshWrapperPluginConfig): BuiltinPlugin;
100
+ //#endregion
101
+ //#region src/builtin-plugin/alias-plugin.d.ts
102
+ type AliasPluginAlias = {
103
+ find: string | RegExp;
104
+ replacement: string;
105
+ };
106
+ type AliasPluginConfig = {
107
+ entries: AliasPluginAlias[];
108
+ };
109
+ declare function aliasPlugin(config: AliasPluginConfig): BuiltinPlugin;
110
+ //#endregion
111
+ //#region src/builtin-plugin/replace-plugin.d.ts
112
+ /**
113
+ * Replaces targeted strings in files while bundling.
114
+ *
115
+ * @example
116
+ * // Basic usage
117
+ * ```js
118
+ * replacePlugin({
119
+ * 'process.env.NODE_ENV': JSON.stringify('production'),
120
+ * __buildVersion: 15
121
+ * })
122
+ * ```
123
+ * @example
124
+ * // With options
125
+ * ```js
126
+ * replacePlugin({
127
+ * 'process.env.NODE_ENV': JSON.stringify('production'),
128
+ * __buildVersion: 15
129
+ * }, {
130
+ * preventAssignment: false,
131
+ * })
132
+ * ```
133
+ */
134
+ declare function replacePlugin(values?: BindingReplacePluginConfig["values"], options?: Omit<BindingReplacePluginConfig, "values">): BuiltinPlugin;
135
+ //#endregion
136
+ //#region src/builtin-plugin/transform-plugin.d.ts
137
+ type TransformPattern = string | RegExp | readonly (RegExp | string)[];
138
+ type TransformPluginConfig = Omit<BindingTransformPluginConfig, "include" | "exclude" | "jsxRefreshInclude" | "jsxRefreshExclude"> & {
139
+ include?: TransformPattern;
140
+ exclude?: TransformPattern;
141
+ jsxRefreshInclude?: TransformPattern;
142
+ jsxRefreshExclude?: TransformPattern;
143
+ };
144
+ declare function transformPlugin(config?: TransformPluginConfig): BuiltinPlugin;
145
+ //#endregion
146
+ export { BindingClientHmrUpdate, DevEngine, type DevOptions, type DevWatchOptions, type IsolatedDeclarationsOptions, type IsolatedDeclarationsResult, type NapiResolveOptions as ResolveOptions, type ResolveResult, ResolverFactory, type TransformOptions, type TransformResult, aliasPlugin, assetPlugin, buildImportAnalysisPlugin, defineParallelPlugin, dev, dynamicImportVarsPlugin, esmExternalRequirePlugin, importGlobPlugin, isolatedDeclaration, isolatedDeclarationPlugin, jsonPlugin, loadFallbackPlugin, manifestPlugin, modulePreloadPolyfillPlugin, moduleRunnerTransform, reactRefreshWrapperPlugin, replacePlugin, reporterPlugin, scan, transform, transformPlugin, viteResolvePlugin, wasmFallbackPlugin, wasmHelperPlugin, webWorkerPostPlugin };
@@ -0,0 +1,215 @@
1
+ import { BindingClientHmrUpdate, BindingDevEngine, ResolverFactory, isolatedDeclaration, moduleRunnerTransform, transform } from "./shared/parse-ast-index-D2PcAmXE.mjs";
2
+ import { BuiltinPlugin, PluginDriver, RolldownBuild, createBundlerOptions, makeBuiltinPluginCallable, normalizedStringOrRegex } from "./shared/src-DkvlJJsC.mjs";
3
+ import "./shared/misc-CQeo-AFx.mjs";
4
+ import { logger } from "./shared/logger-ClMekpHZ.mjs";
5
+ import { pathToFileURL } from "node:url";
6
+
7
+ //#region src/api/dev/dev-engine.ts
8
+ var DevEngine = class DevEngine {
9
+ #inner;
10
+ #cachedBuildFinishPromise = null;
11
+ static async create(inputOptions, outputOptions = {}, devOptions = {}) {
12
+ inputOptions = await PluginDriver.callOptionsHook(inputOptions);
13
+ const options = await createBundlerOptions(inputOptions, outputOptions, false);
14
+ const bindingDevOptions = {
15
+ onHmrUpdates: devOptions.onHmrUpdates,
16
+ watch: devOptions.watch && {
17
+ skipWrite: devOptions.watch.skipWrite,
18
+ usePolling: devOptions.watch.usePolling,
19
+ pollInterval: devOptions.watch.pollInterval,
20
+ useDebounce: devOptions.watch.useDebounce,
21
+ debounceDuration: devOptions.watch.debounceDuration,
22
+ compareContentsForPolling: devOptions.watch.compareContentsForPolling,
23
+ debounceTickRate: devOptions.watch.debounceTickRate
24
+ }
25
+ };
26
+ const inner = new BindingDevEngine(options.bundlerOptions, bindingDevOptions);
27
+ return new DevEngine(inner);
28
+ }
29
+ constructor(inner) {
30
+ this.#inner = inner;
31
+ }
32
+ async run() {
33
+ await this.#inner.run();
34
+ }
35
+ async ensureCurrentBuildFinish() {
36
+ if (this.#cachedBuildFinishPromise) return this.#cachedBuildFinishPromise;
37
+ const promise = this.#inner.ensureCurrentBuildFinish().then(() => {
38
+ this.#cachedBuildFinishPromise = null;
39
+ });
40
+ this.#cachedBuildFinishPromise = promise;
41
+ return promise;
42
+ }
43
+ async hasLatestBuildOutput() {
44
+ return this.#inner.hasLatestBuildOutput();
45
+ }
46
+ async ensureLatestBuildOutput() {
47
+ await this.#inner.ensureLatestBuildOutput();
48
+ }
49
+ async invalidate(file, firstInvalidatedBy) {
50
+ return this.#inner.invalidate(file, firstInvalidatedBy);
51
+ }
52
+ registerModules(clientId, modules) {
53
+ this.#inner.registerModules(clientId, modules);
54
+ }
55
+ removeClient(clientId) {
56
+ this.#inner.removeClient(clientId);
57
+ }
58
+ };
59
+
60
+ //#endregion
61
+ //#region src/api/dev/index.ts
62
+ var dev = DevEngine.create;
63
+
64
+ //#endregion
65
+ //#region src/api/experimental.ts
66
+ /**
67
+ * This is an experimental API. It's behavior may change in the future.
68
+ *
69
+ * Calling this API will only execute the scan stage of rolldown.
70
+ */
71
+ const scan = async (input) => {
72
+ const inputOptions = await PluginDriver.callOptionsHook(input);
73
+ const build = new RolldownBuild(inputOptions);
74
+ try {
75
+ await build.scan();
76
+ } finally {
77
+ await build.close();
78
+ }
79
+ };
80
+
81
+ //#endregion
82
+ //#region src/plugin/parallel-plugin.ts
83
+ function defineParallelPlugin(pluginPath) {
84
+ return (options) => {
85
+ return { _parallel: {
86
+ fileUrl: pathToFileURL(pluginPath).href,
87
+ options
88
+ } };
89
+ };
90
+ }
91
+
92
+ //#endregion
93
+ //#region src/builtin-plugin/constructors.ts
94
+ function modulePreloadPolyfillPlugin(config) {
95
+ return new BuiltinPlugin("builtin:module-preload-polyfill", config);
96
+ }
97
+ function dynamicImportVarsPlugin(config) {
98
+ if (config) {
99
+ config.include = normalizedStringOrRegex(config.include);
100
+ config.exclude = normalizedStringOrRegex(config.exclude);
101
+ }
102
+ return new BuiltinPlugin("builtin:dynamic-import-vars", config);
103
+ }
104
+ function importGlobPlugin(config) {
105
+ return new BuiltinPlugin("builtin:import-glob", config);
106
+ }
107
+ function reporterPlugin(config) {
108
+ return new BuiltinPlugin("builtin:reporter", config);
109
+ }
110
+ function manifestPlugin(config) {
111
+ return new BuiltinPlugin("builtin:manifest", config);
112
+ }
113
+ function wasmHelperPlugin(config) {
114
+ return new BuiltinPlugin("builtin:wasm-helper", config);
115
+ }
116
+ function wasmFallbackPlugin() {
117
+ const builtinPlugin = new BuiltinPlugin("builtin:wasm-fallback");
118
+ return makeBuiltinPluginCallable(builtinPlugin);
119
+ }
120
+ function loadFallbackPlugin() {
121
+ return new BuiltinPlugin("builtin:load-fallback");
122
+ }
123
+ function jsonPlugin(config) {
124
+ const builtinPlugin = new BuiltinPlugin("builtin:json", config);
125
+ return makeBuiltinPluginCallable(builtinPlugin);
126
+ }
127
+ function buildImportAnalysisPlugin(config) {
128
+ return new BuiltinPlugin("builtin:build-import-analysis", config);
129
+ }
130
+ function viteResolvePlugin(config) {
131
+ const builtinPlugin = new BuiltinPlugin("builtin:vite-resolve", config);
132
+ return makeBuiltinPluginCallable(builtinPlugin);
133
+ }
134
+ function isolatedDeclarationPlugin(config) {
135
+ return new BuiltinPlugin("builtin:isolated-declaration", config);
136
+ }
137
+ function assetPlugin(config) {
138
+ return new BuiltinPlugin("builtin:asset", config);
139
+ }
140
+ function webWorkerPostPlugin() {
141
+ return new BuiltinPlugin("builtin:web-worker-post");
142
+ }
143
+ function esmExternalRequirePlugin(config) {
144
+ return new BuiltinPlugin("builtin:esm-external-require", config);
145
+ }
146
+ function reactRefreshWrapperPlugin(config) {
147
+ if (config) {
148
+ config.include = normalizedStringOrRegex(config.include);
149
+ config.exclude = normalizedStringOrRegex(config.exclude);
150
+ }
151
+ const builtinPlugin = new BuiltinPlugin("builtin:react-refresh-wrapper", config);
152
+ return makeBuiltinPluginCallable(builtinPlugin);
153
+ }
154
+
155
+ //#endregion
156
+ //#region src/builtin-plugin/alias-plugin.ts
157
+ function aliasPlugin(config) {
158
+ return new BuiltinPlugin("builtin:alias", config);
159
+ }
160
+
161
+ //#endregion
162
+ //#region src/builtin-plugin/replace-plugin.ts
163
+ /**
164
+ * Replaces targeted strings in files while bundling.
165
+ *
166
+ * @example
167
+ * // Basic usage
168
+ * ```js
169
+ * replacePlugin({
170
+ * 'process.env.NODE_ENV': JSON.stringify('production'),
171
+ * __buildVersion: 15
172
+ * })
173
+ * ```
174
+ * @example
175
+ * // With options
176
+ * ```js
177
+ * replacePlugin({
178
+ * 'process.env.NODE_ENV': JSON.stringify('production'),
179
+ * __buildVersion: 15
180
+ * }, {
181
+ * preventAssignment: false,
182
+ * })
183
+ * ```
184
+ */
185
+ function replacePlugin(values = {}, options = {}) {
186
+ let hasNonStringValues = false;
187
+ Object.keys(values).forEach((key) => {
188
+ const value = values[key];
189
+ if (typeof value !== "string") {
190
+ hasNonStringValues = true;
191
+ values[key] = String(value);
192
+ }
193
+ });
194
+ if (hasNonStringValues) logger.warn("Some values provided to `replacePlugin` are not strings. They will be converted to strings, but for better performance consider converting them manually.");
195
+ return new BuiltinPlugin("builtin:replace", {
196
+ ...options,
197
+ values
198
+ });
199
+ }
200
+
201
+ //#endregion
202
+ //#region src/builtin-plugin/transform-plugin.ts
203
+ function transformPlugin(config) {
204
+ if (config) config = {
205
+ ...config,
206
+ include: normalizedStringOrRegex(config.include),
207
+ exclude: normalizedStringOrRegex(config.exclude),
208
+ jsxRefreshInclude: normalizedStringOrRegex(config.jsxRefreshInclude),
209
+ jsxRefreshExclude: normalizedStringOrRegex(config.jsxRefreshExclude)
210
+ };
211
+ return new BuiltinPlugin("builtin:transform", config);
212
+ }
213
+
214
+ //#endregion
215
+ export { BindingClientHmrUpdate, DevEngine, ResolverFactory, aliasPlugin, assetPlugin, buildImportAnalysisPlugin, defineParallelPlugin, dev, dynamicImportVarsPlugin, esmExternalRequirePlugin, importGlobPlugin, isolatedDeclaration, isolatedDeclarationPlugin, jsonPlugin, loadFallbackPlugin, manifestPlugin, modulePreloadPolyfillPlugin, moduleRunnerTransform, reactRefreshWrapperPlugin, replacePlugin, reporterPlugin, scan, transform, transformPlugin, viteResolvePlugin, wasmFallbackPlugin, wasmHelperPlugin, webWorkerPostPlugin };
@@ -0,0 +1,77 @@
1
+ export class DevRuntime {
2
+ /**
3
+ * @param {WebSocket} socket
4
+ */
5
+ constructor(socket: WebSocket);
6
+ socket: WebSocket;
7
+ /**
8
+ * @type {Record<string, Module>}
9
+ */
10
+ modules: Record<string, Module>;
11
+ /**
12
+ * @param {string} _moduleId
13
+ */
14
+ createModuleHotContext(_moduleId: string): void;
15
+ /**
16
+ * @param {string[]} _boundaries
17
+ */
18
+ applyUpdates(_boundaries: string[]): void;
19
+ /**
20
+ * @param {string} id
21
+ * @param {{ exports: any }} exportsHolder
22
+ */
23
+ registerModule(id: string, exportsHolder: {
24
+ exports: any;
25
+ }): void;
26
+ /**
27
+ * @param {string} id
28
+ */
29
+ loadExports(id: string): any;
30
+ /**
31
+ * __esmMin
32
+ *
33
+ * @type {<T>(fn: any, res: T) => () => T}
34
+ * @internal
35
+ */
36
+ createEsmInitializer: <T>(fn: any, res: T) => () => T;
37
+ /**
38
+ * __commonJSMin
39
+ *
40
+ * @type {<T extends { exports: any }>(cb: any, mod: { exports: any }) => () => T}
41
+ * @internal
42
+ */
43
+ createCjsInitializer: <T extends {
44
+ exports: any;
45
+ }>(cb: any, mod: {
46
+ exports: any;
47
+ }) => () => T;
48
+ /** @internal */
49
+ __toESM: any;
50
+ /** @internal */
51
+ __toCommonJS: any;
52
+ /** @internal */
53
+ __export: any;
54
+ /** @internal */
55
+ __toDynamicImportESM: any;
56
+ /** @internal */
57
+ __reExport: any;
58
+ sendModuleRegisteredMessage: (module: string) => void;
59
+ }
60
+ declare class Module {
61
+ /**
62
+ * @param {string} id
63
+ */
64
+ constructor(id: string);
65
+ /**
66
+ * @type {{ exports: any }}
67
+ */
68
+ exportsHolder: {
69
+ exports: any;
70
+ };
71
+ /**
72
+ * @type {string}
73
+ */
74
+ id: string;
75
+ get exports(): any;
76
+ }
77
+ export {};
@@ -0,0 +1,4 @@
1
+ import "./shared/binding-DOpOtI1J.mjs";
2
+ import { withFilter } from "./shared/define-config-BZ_n3PjJ.mjs";
3
+ import { and, code, exclude, id, include, moduleType, not, or, queries, query } from "@rolldown/pluginutils";
4
+ export { and, code, exclude, id, include, moduleType, not, or, queries, query, withFilter };
@@ -0,0 +1,44 @@
1
+ import { arraify, isPromiseLike } from "./shared/misc-CQeo-AFx.mjs";
2
+ import { and, code, exclude, id, include, moduleType, not, or, queries, query } from "@rolldown/pluginutils";
3
+
4
+ //#region src/plugin/with-filter.ts
5
+ function withFilterImpl(pluginOption, filterObjectList) {
6
+ if (isPromiseLike(pluginOption)) return pluginOption.then((p) => withFilter(p, filterObjectList));
7
+ if (pluginOption == false || pluginOption == null) return pluginOption;
8
+ if (Array.isArray(pluginOption)) return pluginOption.map((p) => withFilter(p, filterObjectList));
9
+ let plugin = pluginOption;
10
+ let filterObjectIndex = findMatchedFilterObject(plugin.name, filterObjectList);
11
+ if (filterObjectIndex === -1) return plugin;
12
+ let filterObject = filterObjectList[filterObjectIndex];
13
+ Object.keys(plugin).forEach((key) => {
14
+ switch (key) {
15
+ case "transform":
16
+ case "resolveId":
17
+ case "load":
18
+ if (!plugin[key]) return;
19
+ if (typeof plugin[key] === "object") plugin[key].filter = filterObject[key] ?? plugin[key].filter;
20
+ else plugin[key] = {
21
+ handler: plugin[key],
22
+ filter: filterObject[key]
23
+ };
24
+ break;
25
+ default: break;
26
+ }
27
+ });
28
+ return plugin;
29
+ }
30
+ function withFilter(pluginOption, filterObject) {
31
+ return withFilterImpl(pluginOption, arraify(filterObject));
32
+ }
33
+ function findMatchedFilterObject(pluginName, overrideFilterObjectList) {
34
+ if (overrideFilterObjectList.length === 1 && overrideFilterObjectList[0].pluginNamePattern === void 0) return 0;
35
+ for (let i = 0; i < overrideFilterObjectList.length; i++) for (let j = 0; j < (overrideFilterObjectList[i].pluginNamePattern ?? []).length; j++) {
36
+ let pattern = overrideFilterObjectList[i].pluginNamePattern[j];
37
+ if (typeof pattern === "string" && pattern === pluginName) return i;
38
+ else if (pattern instanceof RegExp && pattern.test(pluginName)) return i;
39
+ }
40
+ return -1;
41
+ }
42
+
43
+ //#endregion
44
+ export { and, code, exclude, id, include, moduleType, not, or, queries, query, withFilter };
@@ -0,0 +1,3 @@
1
+ import { PreRenderedChunk } from "./shared/binding-DOpOtI1J.mjs";
2
+ import { AddonFunction, AsyncPluginHooks, BufferEncoding, BuildOptions, ChunkFileNamesFunction, ChunkingContext, ConfigExport, CustomPluginOptions, DefineParallelPluginResult, EmittedAsset, EmittedFile, ExistingRawSourceMap, ExternalOption, FunctionPluginHooks, GeneralHookFilter, GeneratedCodeOptions, GeneratedCodePreset, GetModuleInfo, GlobalsFunction, HookFilter, HookFilterExtension, ImportKind, InputOption, InputOptions, InternalModuleFormat, LoadResult, LogLevel, LogLevelOption, LogOrStringHandler, LoggingFunction, MinifyOptions, MinimalPluginContext, ModuleFormat, ModuleInfo, ModuleOptions, ModuleType, ModuleTypeFilter, ModuleTypes, NormalizedInputOptions, NormalizedOutputOptions, ObjectHook, OptimizationOptions, OutputAsset, OutputBundle, OutputChunk, OutputOptions, ParallelPluginHooks, PartialNull, PartialResolvedId, Plugin, PluginContext, PluginContextMeta, PreRenderedAsset, RenderedChunk, RenderedModule, ResolveIdExtraOptions, ResolveIdResult, ResolvedId, RolldownBuild, RolldownDirectoryEntry, RolldownFileStats, RolldownFsModule, RolldownOptions, RolldownOptionsFunction, RolldownOutput, RolldownPlugin, RolldownPluginOption, RolldownWatcher, RolldownWatcherEvent, RollupError, RollupLog, RollupLogWithString, SourceDescription, SourceMap, SourceMapInput, SourcemapIgnoreListOption, TransformPluginContext, TransformResult, TreeshakingOptions, VERSION, WarningHandlerWithDefault, WatchOptions, WatcherOptions, build, defineConfig, rolldown, watch } from "./shared/define-config-BZ_n3PjJ.mjs";
3
+ export { AddonFunction, AsyncPluginHooks, BufferEncoding, BuildOptions, ChunkFileNamesFunction, ChunkingContext, ConfigExport, CustomPluginOptions, DefineParallelPluginResult, EmittedAsset, EmittedFile, ExistingRawSourceMap, ExternalOption, FunctionPluginHooks, GeneralHookFilter, GeneratedCodeOptions, GeneratedCodePreset, GetModuleInfo, GlobalsFunction, HookFilter, HookFilterExtension, ImportKind, InputOption, InputOptions, InternalModuleFormat, LoadResult, LogLevel, LogLevelOption, LogOrStringHandler, LoggingFunction, MinifyOptions, MinimalPluginContext, ModuleFormat, ModuleInfo, ModuleOptions, ModuleType, ModuleTypeFilter, ModuleTypes, NormalizedInputOptions, NormalizedOutputOptions, ObjectHook, OptimizationOptions, OutputAsset, OutputBundle, OutputChunk, OutputOptions, ParallelPluginHooks, PartialNull, PartialResolvedId, Plugin, PluginContext, PluginContextMeta, PreRenderedAsset, PreRenderedChunk, RenderedChunk, RenderedModule, ResolveIdExtraOptions, ResolveIdResult, ResolvedId, RolldownBuild, RolldownDirectoryEntry, RolldownFileStats, RolldownFsModule, RolldownOptions, RolldownOptionsFunction, RolldownOutput, RolldownPlugin, RolldownPluginOption, RolldownWatcher, RolldownWatcherEvent, RollupError, RollupLog, RollupLogWithString, SourceDescription, SourceMap, SourceMapInput, SourcemapIgnoreListOption, TransformPluginContext, TransformResult, TreeshakingOptions, VERSION, WarningHandlerWithDefault, WatchOptions, WatcherOptions, build, defineConfig, rolldown, watch };
package/dist/index.mjs ADDED
@@ -0,0 +1,5 @@
1
+ import "./shared/parse-ast-index-D2PcAmXE.mjs";
2
+ import { VERSION, build, defineConfig, rolldown, watch } from "./shared/src-DkvlJJsC.mjs";
3
+ import "./shared/misc-CQeo-AFx.mjs";
4
+
5
+ export { VERSION, build, defineConfig, rolldown, watch };
@@ -0,0 +1 @@
1
+ export { };
@@ -1,5 +1,6 @@
1
- import { import_binding } from "../shared/parse-ast-index-CyX8MVZE.mjs";
2
- import { PluginContextData, bindingifyPlugin } from "../shared/src-DB6mZNTU.mjs";
1
+ import { registerPlugins } from "./shared/parse-ast-index-D2PcAmXE.mjs";
2
+ import { PluginContextData, bindingifyPlugin } from "./shared/src-DkvlJJsC.mjs";
3
+ import "./shared/misc-CQeo-AFx.mjs";
3
4
  import { parentPort, workerData } from "node:worker_threads";
4
5
 
5
6
  //#region src/parallel-plugin-worker.ts
@@ -7,24 +8,14 @@ const { registryId, pluginInfos, threadNumber } = workerData;
7
8
  (async () => {
8
9
  try {
9
10
  const plugins = await Promise.all(pluginInfos.map(async (pluginInfo) => {
10
- const pluginModule = await import(pluginInfo.fileUrl);
11
- const definePluginImpl = pluginModule.default;
11
+ const definePluginImpl = (await import(pluginInfo.fileUrl)).default;
12
12
  const plugin = await definePluginImpl(pluginInfo.options, { threadNumber });
13
13
  return {
14
14
  index: pluginInfo.index,
15
- plugin: bindingifyPlugin(
16
- plugin,
17
- {},
18
- {},
19
- // TODO need to find a way to share pluginContextData
20
- new PluginContextData(),
21
- [],
22
- () => {},
23
- "info"
24
- )
15
+ plugin: bindingifyPlugin(plugin, {}, {}, new PluginContextData(() => {}, {}, []), [], () => {}, "info", false)
25
16
  };
26
17
  }));
27
- (0, import_binding.registerPlugins)(registryId, plugins);
18
+ registerPlugins(registryId, plugins);
28
19
  parentPort.postMessage({ type: "success" });
29
20
  } catch (error) {
30
21
  parentPort.postMessage({
@@ -36,4 +27,5 @@ const { registryId, pluginInfos, threadNumber } = workerData;
36
27
  }
37
28
  })();
38
29
 
39
- //#endregion
30
+ //#endregion
31
+ export { };
@@ -0,0 +1,14 @@
1
+ import "./shared/binding-DOpOtI1J.mjs";
2
+ import { MaybePromise, Plugin } from "./shared/define-config-BZ_n3PjJ.mjs";
3
+
4
+ //#region src/plugin/parallel-plugin-implementation.d.ts
5
+ type ParallelPluginImplementation = Plugin;
6
+ type Context = {
7
+ /**
8
+ * Thread number
9
+ */
10
+ threadNumber: number;
11
+ };
12
+ declare function defineParallelPluginImplementation<Options>(plugin: (Options: Options, context: Context) => MaybePromise<ParallelPluginImplementation>): (Options: Options, context: Context) => MaybePromise<ParallelPluginImplementation>;
13
+ //#endregion
14
+ export { type Context, type ParallelPluginImplementation, defineParallelPluginImplementation };
@@ -1,4 +1,3 @@
1
-
2
1
  //#region src/plugin/parallel-plugin-implementation.ts
3
2
  function defineParallelPluginImplementation(plugin) {
4
3
  return plugin;
@@ -0,0 +1,8 @@
1
+ import { ParseResult, ParserOptions } from "./shared/binding-DOpOtI1J.mjs";
2
+ import { Program } from "@oxc-project/types";
3
+
4
+ //#region src/parse-ast-index.d.ts
5
+ declare function parseAst(sourceText: string, options?: ParserOptions | undefined | null, filename?: string): Program;
6
+ declare function parseAstAsync(sourceText: string, options?: ParserOptions | undefined | null, filename?: string): Promise<Program>;
7
+ //#endregion
8
+ export { type ParseResult, type ParserOptions, parseAst, parseAstAsync };
@@ -0,0 +1,3 @@
1
+ import { parseAst, parseAstAsync } from "./shared/parse-ast-index-D2PcAmXE.mjs";
2
+
3
+ export { parseAst, parseAstAsync };