@longzai-intelligence-builder/config 0.0.9 → 0.2.0

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.
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, PresetDefinition } from './types.js';
1
+ export type { Arrayable, AttwOptions, BuildContext, BuildFormat, BuilderConfig, BuilderConfigExport, BuilderConfigFn, BuilderHooks, CIOption, ConfigLoader, ConfigOptions, CopyEntry, CopyOptions, CopyOptionsFn, DepsOptions, DevtoolsOptions, DtsOptions, EntryConfig, ExportsOptions, Logger, LoggerOptions, LogLevel, LogType, NoExternalFn, PresetDefinition, PublintOptions, ReportOptions, ResolvedBuilderConfig, RolldownChunk, RolldownContext, TsdownInputOption, WithEnabled, Workspace } from './types.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,qBAAqB,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"","sourcesContent":["export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, PresetDefinition } from './types.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"","sourcesContent":["export type { Arrayable, AttwOptions, BuildContext, BuildFormat, BuilderConfig, BuilderConfigExport, BuilderConfigFn, BuilderHooks, CIOption, ConfigLoader, ConfigOptions, CopyEntry, CopyOptions, CopyOptionsFn, DepsOptions, DevtoolsOptions, DtsOptions, EntryConfig, ExportsOptions, Logger, LoggerOptions, LogLevel, LogType, NoExternalFn, PresetDefinition, PublintOptions, ReportOptions, ResolvedBuilderConfig, RolldownChunk, RolldownContext, TsdownInputOption, WithEnabled, Workspace } from './types.js';\n"]}
package/dist/types.d.ts CHANGED
@@ -1,8 +1,291 @@
1
- import type { ExternalOption, InputOptions, ModuleFormat, OutputOptions, Plugin } from 'rolldown';
1
+ import type { Hookable } from 'hookable';
2
+ import type { BuildOptions, ExternalOption, InputOptions, ModuleFormat, OutputAsset, OutputChunk, OutputOptions, Plugin } from 'rolldown';
3
+ /**
4
+ * 日志类型
5
+ *
6
+ * 对齐 tsdown `LogType`(`src/utils/logger.ts`)。
7
+ */
8
+ type LogType = 'error' | 'warn' | 'info';
9
+ /**
10
+ * 日志级别
11
+ *
12
+ * 对齐 tsdown `LogLevel`(`src/utils/logger.ts`)。
13
+ */
14
+ type LogLevel = LogType | 'silent';
15
+ /**
16
+ * Logger 接口
17
+ *
18
+ * 对齐 tsdown `Logger`(`src/utils/logger.ts`)。
19
+ * config 包不依赖 core,故在此独立声明结构兼容的接口;
20
+ * core 的 `createLogger` 返回值与此接口结构兼容(TS 结构类型)。
21
+ */
22
+ interface Logger {
23
+ level: LogLevel;
24
+ options?: LoggerOptions;
25
+ info: (...args: any[]) => void;
26
+ warn: (...args: any[]) => void;
27
+ warnOnce: (...args: any[]) => void;
28
+ error: (...args: any[]) => void;
29
+ success: (...args: any[]) => void;
30
+ clearScreen: (type: LogType) => void;
31
+ }
32
+ /**
33
+ * Logger 选项
34
+ *
35
+ * 对齐 tsdown `LoggerOptions`(`src/utils/logger.ts`)。
36
+ */
37
+ interface LoggerOptions {
38
+ allowClearScreen?: boolean;
39
+ customLogger?: Logger;
40
+ console?: Console;
41
+ failOnWarn?: boolean | CIOption;
42
+ }
43
+ /**
44
+ * rolldown 产物 chunk(附加 outDir)
45
+ *
46
+ * 对齐 tsdown `RolldownChunk`(`src/utils/chunks.ts`)。
47
+ */
48
+ type RolldownChunk = (OutputChunk | OutputAsset) & {
49
+ outDir: string;
50
+ };
51
+ /**
52
+ * 构建上下文(对齐 tsdown BuildContext)
53
+ */
54
+ interface BuildContext {
55
+ options: BuilderConfig;
56
+ hooks: Hookable<BuilderHooks>;
57
+ }
58
+ /**
59
+ * rolldown 构建上下文(对齐 tsdown RolldownContext)
60
+ */
61
+ interface RolldownContext {
62
+ buildOptions: BuildOptions;
63
+ }
64
+ /**
65
+ * builder 构建生命周期 hooks(对齐 tsdown TsdownHooks)
66
+ */
67
+ interface BuilderHooks {
68
+ 'build:prepare': (ctx: BuildContext) => void | Promise<void>;
69
+ 'build:before': (ctx: BuildContext & RolldownContext) => void | Promise<void>;
70
+ 'build:done': (ctx: BuildContext & {
71
+ chunks: RolldownChunk[];
72
+ }) => void | Promise<void>;
73
+ }
74
+ /**
75
+ * Awaitable 类型(对齐 tsdown utils/types.ts)
76
+ */
77
+ type Awaitable<T> = T | Promise<T>;
78
+ /**
79
+ * @vitejs/devtools start 选项的最小类型
80
+ */
81
+ interface DevtoolsStartOptions {
82
+ host?: string;
83
+ open?: boolean;
84
+ }
85
+ /**
86
+ * Devtools 选项(对齐 tsdown DevtoolsOptions)
87
+ *
88
+ * 扩展 rolldown 的 inputOptions.devtools,新增 ui / clean 字段。
89
+ */
90
+ interface DevtoolsOptions extends NonNullable<InputOptions['devtools']> {
91
+ /**
92
+ * **[experimental]** Enable devtools integration. `@vitejs/devtools` must be installed as a dependency.
93
+ *
94
+ * Defaults to true, if `@vitejs/devtools` is installed.
95
+ */
96
+ ui?: boolean | Partial<DevtoolsStartOptions>;
97
+ /**
98
+ * Clean devtools stale sessions.
99
+ *
100
+ * @default true
101
+ */
102
+ clean?: boolean;
103
+ }
104
+ /**
105
+ * Workspace 配置(对齐 tsdown Workspace)
106
+ *
107
+ * monorepo 多包构建配置。
108
+ */
109
+ interface Workspace {
110
+ /**
111
+ * Workspace 目录,支持 glob 模式
112
+ *
113
+ * - `auto`:自动检测 package.json 文件
114
+ *
115
+ * @default 'auto'
116
+ */
117
+ include?: 'auto' | (string & {}) | string[];
118
+ /**
119
+ * 排除目录
120
+ *
121
+ * @default ['**\/node_modules/**', '**\/dist/**', '**\/test?(s)/**', '**\/t?(e)mp/**']
122
+ */
123
+ exclude?: Arrayable<string>;
124
+ /**
125
+ * Workspace 配置文件路径
126
+ */
127
+ config?: boolean | string;
128
+ }
129
+ /**
130
+ * copy 条目(对齐 tsdown CopyEntry)
131
+ */
132
+ interface CopyEntry {
133
+ /**
134
+ * 源路径或 glob 模式
135
+ */
136
+ from: string | string[];
137
+ /**
138
+ * 目标路径(未指定时默认为输出目录)
139
+ */
140
+ to?: string;
141
+ /**
142
+ * 是否展平(不保留目录结构)
143
+ *
144
+ * @default true
145
+ */
146
+ flatten?: boolean;
147
+ /**
148
+ * 是否输出复制项到控制台
149
+ *
150
+ * @default false
151
+ */
152
+ verbose?: boolean;
153
+ /**
154
+ * 修改目标文件或文件夹名
155
+ */
156
+ rename?: string | ((name: string, extension: string, fullPath: string) => string);
157
+ }
158
+ /**
159
+ * copy 选项(对齐 tsdown CopyOptions)
160
+ */
161
+ type CopyOptions = Arrayable<string | CopyEntry>;
162
+ /**
163
+ * copy 选项函数(对齐 tsdown CopyOptionsFn)
164
+ */
165
+ type CopyOptionsFn = (options: BuilderConfig) => Awaitable<CopyOptions>;
166
+ /**
167
+ * report 选项(对齐 tsdown ReportOptions)
168
+ */
169
+ interface ReportOptions {
170
+ /**
171
+ * 是否报告 gzip 压缩大小
172
+ *
173
+ * @default true
174
+ */
175
+ gzip?: boolean;
176
+ /**
177
+ * 是否报告 brotli 压缩大小
178
+ *
179
+ * @default false
180
+ */
181
+ brotli?: boolean;
182
+ /**
183
+ * 超过此大小的文件跳过压缩计算
184
+ *
185
+ * @default 1000000 (1 MB)
186
+ */
187
+ maxCompressSize?: number;
188
+ }
189
+ /**
190
+ * exports 选项(对齐 tsdown ExportsOptions)
191
+ *
192
+ * package.json exports 字段自动生成配置。
193
+ */
194
+ interface ExportsOptions {
195
+ /** 开发模式下 exports 指向源码 */
196
+ devExports?: boolean | string;
197
+ /** 是否生成 package.json 的 exports 字段 */
198
+ packageJson?: boolean;
199
+ /** 是否为所有文件生成 exports */
200
+ all?: boolean;
201
+ /** 排除的文件模式 */
202
+ exclude?: (RegExp | string)[];
203
+ /** 是否生成 legacy 字段(main/module) */
204
+ legacy?: boolean;
205
+ /** 自定义追加的 exports */
206
+ customExports?: Record<string, unknown> | ((exports: Record<string, unknown>, context: {
207
+ pkg: Record<string, unknown>;
208
+ chunks: unknown;
209
+ isPublish: boolean;
210
+ }) => Promise<Record<string, unknown>> | Record<string, unknown>);
211
+ /** 是否生成 inlinedDependencies 字段 */
212
+ inlinedDependencies?: boolean;
213
+ /** 子路径导出键是否加 .js 扩展名 */
214
+ extensions?: boolean;
215
+ /** bin 字段生成(auto-detect / string / Record / boolean) */
216
+ bin?: boolean | string | Record<string, string>;
217
+ }
218
+ /**
219
+ * publint 选项(对齐 tsdown PublintOptions)
220
+ *
221
+ * 包质量检查。需安装 publint。
222
+ */
223
+ interface PublintOptions {
224
+ /** 预加载的 publint 模块 */
225
+ module?: unknown;
226
+ [key: string]: unknown;
227
+ }
228
+ /**
229
+ * attw 选项(对齐 tsdown AttwOptions)
230
+ *
231
+ * 类型导出正确性检查。需安装 @arethetypeswrong/core。
232
+ */
233
+ interface AttwOptions {
234
+ /** 预加载的 attw 模块 */
235
+ module?: unknown;
236
+ /** 解析模式 */
237
+ profile?: 'strict' | 'node16' | 'esm-only';
238
+ /** 检查级别 */
239
+ level?: 'error' | 'warn';
240
+ /** 忽略的规则 */
241
+ ignoreRules?: string[];
242
+ [key: string]: unknown;
243
+ }
244
+ /**
245
+ * CI 条件选项(对齐 tsdown CIOption)
246
+ *
247
+ * - `'ci-only'`:仅在 CI 环境启用
248
+ * - `'local-only'`:仅在本地(非 CI)环境启用
249
+ */
250
+ type CIOption = 'ci-only' | 'local-only';
251
+ /**
252
+ * 带 enabled 开关的选项类型(对齐 tsdown WithEnabled)
253
+ *
254
+ * 支持以下形态:
255
+ * - `boolean`:true 用默认值,false 关闭
256
+ * - `undefined`:同 true
257
+ * - `CIOption`:按 CI 环境条件判定
258
+ * - `T & { enabled?: boolean | CIOption }`:对象配置,enabled 控制开关
259
+ */
260
+ type WithEnabled<T> = boolean | undefined | CIOption | (T & {
261
+ enabled?: boolean | CIOption;
262
+ });
2
263
  /**
3
264
  * 构建格式类型
4
265
  */
5
266
  type BuildFormat = ModuleFormat | 'es' | 'cjs';
267
+ /**
268
+ * 单值或数组
269
+ *
270
+ * 对齐 tsdown `Arrayable`(`src/utils/types.ts`)。
271
+ */
272
+ type Arrayable<T> = T | T[];
273
+ /**
274
+ * 自定义"是否打包"判定函数
275
+ *
276
+ * 对齐 tsdown `NoExternalFn`(`src/features/deps.ts:25-28`)。返回真值表示
277
+ * 该依赖命中规则(如 alwaysBundle 命中则强制打包、onlyBundle 命中则允许打包)。
278
+ */
279
+ type NoExternalFn = (id: string, importer: string | undefined) => boolean | null | undefined | void;
280
+ /**
281
+ * 入口配置类型,支持 glob 与取反模式
282
+ *
283
+ * 对齐 tsdown `TsdownInputOption`:
284
+ * - 字符串:单个入口或 glob 模式
285
+ * - 数组:多个字符串/对象,支持 `!` 取反
286
+ * - 对象:键为入口名(可含 glob),值为路径或 glob 数组
287
+ */
288
+ type TsdownInputOption = Arrayable<string | Record<string, Arrayable<string>>>;
6
289
  /**
7
290
  * dts 配置选项
8
291
  */
@@ -26,8 +309,10 @@ type DtsOptions = {
26
309
  type DepsOptions = {
27
310
  /**
28
311
  * 始终打包进产物的依赖
312
+ *
313
+ * 对齐 tsdown `deps.alwaysBundle`:接受单值或数组,或自定义判定函数。
29
314
  */
30
- alwaysBundle?: (string | RegExp)[];
315
+ alwaysBundle?: Arrayable<string | RegExp> | NoExternalFn;
31
316
  /**
32
317
  * 始终外部化的依赖
33
318
  */
@@ -36,15 +321,47 @@ type DepsOptions = {
36
321
  * 是否跳过 node_modules 打包(库包默认 true,应用默认 false)
37
322
  */
38
323
  skipNodeModulesBundle?: boolean;
324
+ /**
325
+ * 允许打包的依赖白名单
326
+ *
327
+ * 对齐 tsdown `deps.onlyBundle`:
328
+ * - `undefined`(默认):检测到内联依赖时打提示,建议配置白名单
329
+ * - 数组或单值:仅允许列出的依赖被打包,未列出的内联依赖触发构建错误;未使用的白名单项打提示
330
+ * - `false`:关闭内联依赖检测提示
331
+ */
332
+ onlyBundle?: Arrayable<string | RegExp> | false;
333
+ /**
334
+ * 仅作用于声明文件(.d.ts)生成的依赖处理覆盖
335
+ *
336
+ * 对齐 tsdown `deps.dts`:dts 产物里 `alwaysBundle` 强制打包、`neverBundle`
337
+ * 强制外部化的判定独立于 JS 产物。典型场景:应用/CLI 包 JS 全量打包但希望
338
+ * dts 保留对某依赖的外部引用(避免内联整个类型源码)。
339
+ */
340
+ dts?: {
341
+ /**
342
+ * 仅在生成 .d.ts 时强制打包的依赖(覆盖顶层的 alwaysBundle)
343
+ */
344
+ alwaysBundle?: Arrayable<string | RegExp> | NoExternalFn;
345
+ /**
346
+ * 仅在生成 .d.ts 时强制外部化的依赖(追加到顶层的 neverBundle)
347
+ */
348
+ neverBundle?: ExternalOption;
349
+ };
39
350
  };
40
351
  /**
41
352
  * builder 构建配置,基于 rolldown 的输入输出选项扩展
42
353
  */
43
354
  type BuilderConfig = {
44
355
  /**
45
- * 入口配置,字符串或记录对象
356
+ * 入口配置,支持 glob 与 `!` 取反(对齐 tsdown `TsdownInputOption`)
357
+ */
358
+ entry?: TsdownInputOption;
359
+ /**
360
+ * 当前工作目录
361
+ *
362
+ * 对齐 tsdown `cwd`(@default process.cwd())。配置解析与构建的基准目录。
46
363
  */
47
- entry?: string | Record<string, string>;
364
+ cwd?: string;
48
365
  /**
49
366
  * 输出格式
50
367
  */
@@ -63,16 +380,24 @@ type BuilderConfig = {
63
380
  tsconfig?: string;
64
381
  /**
65
382
  * 是否压缩产物
383
+ *
384
+ * 对齐 tsdown `minify`:`boolean` 开关、`'dce-only'` 仅死代码消除、或 MinifyOptions 精细配置。
385
+ * 透传至 rolldown `output.minify`。
66
386
  */
67
- minify?: boolean;
387
+ minify?: OutputOptions['minify'];
68
388
  /**
69
389
  * 是否生成 sourcemap
70
390
  */
71
391
  sourcemap?: boolean | 'inline';
72
392
  /**
73
- * 构建前是否清理输出目录
393
+ * 构建前清理
394
+ *
395
+ * 对齐 tsdown `clean`:
396
+ * - `true`(默认):清理输出目录
397
+ * - `false`:不清理
398
+ * - `string[]`:清理指定路径列表(glob 模式)
74
399
  */
75
- clean?: boolean;
400
+ clean?: boolean | string[];
76
401
  /**
77
402
  * 输出文件扩展名
78
403
  */
@@ -84,14 +409,6 @@ type BuilderConfig = {
84
409
  * 依赖处理选项
85
410
  */
86
411
  deps?: DepsOptions;
87
- /**
88
- * 额外的 rolldown 输入选项
89
- */
90
- inputOptions?: InputOptions;
91
- /**
92
- * 额外的 rolldown 输出选项
93
- */
94
- outputOptions?: OutputOptions;
95
412
  /**
96
413
  * 额外的 rolldown 插件
97
414
  */
@@ -111,6 +428,259 @@ type BuilderConfig = {
111
428
  * 透传至 rolldown 的 `inputOptions.platform`。
112
429
  */
113
430
  platform?: InputOptions['platform'];
431
+ /**
432
+ * 是否注入 ESM 下 `__dirname` / `__filename` 的 polyfill
433
+ *
434
+ * 对齐 tsdown `shims`(默认 false)。仅在 `format 含 es && platform === 'node'`
435
+ * 时生效:通过 rolldown 的 `transform.inject` 把源码里的 `__dirname` / `__filename`
436
+ * 替换为从 `@longzai-intelligence-builder/core/shims` 导入的导出,使其在 ESM + Node
437
+ * 下可用(CJS 全局在 ESM 运行时不存在)。
438
+ *
439
+ * @default false
440
+ */
441
+ shims?: boolean;
442
+ /**
443
+ * 控制 Node 内置模块的 `node:` 协议
444
+ *
445
+ * 对齐 tsdown `nodeProtocol`:
446
+ * - `'strip'`:移除 `node:` 前缀(`node:fs` → `fs`)
447
+ * - `true`:添加 `node:` 前缀(`fs` → `node:fs`)
448
+ * - `false`(默认):不转换
449
+ */
450
+ nodeProtocol?: 'strip' | boolean;
451
+ /**
452
+ * 构建成功后执行的回调
453
+ *
454
+ /**
455
+ * 构建成功后执行的回调
456
+ *
457
+ * 对齐 tsdown `onSuccess`:
458
+ * - string:以 shell 执行(tinyexec shell:true)
459
+ * - 函数:调用 `onSuccess(config, signal)`,传入 AbortSignal(watch 模式下可中断)
460
+ */
461
+ onSuccess?: string | ((config: BuilderConfig, signal: AbortSignal) => void | Promise<void>);
462
+ /**
463
+ * CommonJS 默认导出
464
+ *
465
+ * 对齐 tsdown `cjsDefault`:cjs 格式产物使用 `module.exports =` 默认导出。
466
+ * 透传至 rolldown `output.exports: 'auto'`。
467
+ *
468
+ * @default false
469
+ */
470
+ cjsDefault?: boolean;
471
+ /**
472
+ * dual 格式(esm + cjs)下,为 cjs 的 .d.cts 生成 re-export stub
473
+ *
474
+ * 对齐 tsdown `cjsReexport`:生成 `.d.cts` 文件,内容为 `export type * from './xxx.d.mts'`,
475
+ * 避免 TS2352 类型不重叠错误。仅 esm + cjs 同时输出时生效。
476
+ *
477
+ * @default false
478
+ */
479
+ cjsReexport?: boolean;
480
+ /**
481
+ * 编译目标(语法降级)
482
+ *
483
+ * 对齐 tsdown `target`,透传至 rolldown `transform.target`。
484
+ */
485
+ target?: string | string[] | false;
486
+ /**
487
+ * 编译期常量定义
488
+ *
489
+ * 对齐 tsdown `define`,透传至 rolldown `transform.define`。
490
+ */
491
+ define?: Record<string, string>;
492
+ /**
493
+ * 模块说明符别名
494
+ *
495
+ * 对齐 tsdown `alias`,透传至 rolldown `resolve.alias`。
496
+ */
497
+ alias?: Record<string, string>;
498
+ /**
499
+ * Tree shaking 配置
500
+ *
501
+ * 对齐 tsdown `treeshake`,透传至 rolldown `treeshake`。
502
+ */
503
+ treeshake?: InputOptions['treeshake'];
504
+ /**
505
+ * 文件 loader 映射
506
+ *
507
+ * 对齐 tsdown `loader`,透传至 rolldown `moduleTypes`。
508
+ */
509
+ loader?: InputOptions['moduleTypes'];
510
+ /**
511
+ * 输出 banner(注入到每个 chunk 头部)
512
+ *
513
+ * 对齐 tsdown `banner`,透传至 rolldown `output.postBanner`。
514
+ */
515
+ banner?: OutputOptions['postBanner'];
516
+ /**
517
+ * 输出 footer(注入到每个 chunk 尾部)
518
+ *
519
+ * 对齐 tsdown `footer`,透传至 rolldown `output.postFooter`。
520
+ */
521
+ footer?: OutputOptions['postFooter'];
522
+ /**
523
+ * IIFE/UMD 全局变量名
524
+ *
525
+ * 对齐 tsdown `globalName`,透传至 rolldown `output.name`。
526
+ */
527
+ globalName?: string;
528
+ /**
529
+ * 非打包模式(输出镜像源码结构)
530
+ *
531
+ * 对齐 tsdown `unbundle`,透传至 rolldown `output.preserveModules`。
532
+ *
533
+ * @default false
534
+ */
535
+ unbundle?: boolean;
536
+ /**
537
+ * 输入文件根目录(影响输出结构)
538
+ *
539
+ * 对齐 tsdown `root`,unbundle 时透传至 rolldown `output.preserveModulesRoot`。
540
+ */
541
+ root?: string;
542
+ /**
543
+ * chunk 文件名追加 hash
544
+ *
545
+ * 对齐 tsdown `hash`。
546
+ *
547
+ * @default false
548
+ */
549
+ hash?: boolean;
550
+ /**
551
+ * 使用固定扩展名(.cjs/.mjs)
552
+ *
553
+ * 对齐 tsdown `fixedExtension`。
554
+ */
555
+ fixedExtension?: boolean;
556
+ /**
557
+ * 额外的 rolldown 输入选项(支持函数形态按 format 分流,对齐 tsdown)
558
+ */
559
+ inputOptions?: InputOptions | ((options: InputOptions, format: BuildFormat) => InputOptions | void | null | Promise<InputOptions | void | null>);
560
+ /**
561
+ * 额外的 rolldown 输出选项(支持函数形态按 format 分流,对齐 tsdown)
562
+ */
563
+ outputOptions?: OutputOptions | ((options: OutputOptions, format: BuildFormat) => OutputOptions | void | null | Promise<OutputOptions | void | null>);
564
+ /**
565
+ * 日志级别
566
+ *
567
+ * 对齐 tsdown `logLevel`(@default 'info')。透传至 `createLogger` 的 level 参数。
568
+ */
569
+ logLevel?: LogLevel;
570
+ /**
571
+ * 自定义 logger 实例
572
+ *
573
+ * 对齐 tsdown `customLogger`。提供时直接使用该实例,绕过内部 logger 实现。
574
+ */
575
+ customLogger?: Logger;
576
+ /**
577
+ * 警告视为错误(构建失败)
578
+ *
579
+ * 对齐 tsdown `failOnWarn`(@default false)。开启时 warn/warnOnce 升级为 error,
580
+ * rolldown 的 onLog warn 也会被升级为构建错误。
581
+ */
582
+ failOnWarn?: boolean | CIOption;
583
+ /**
584
+ * CLI 输出中显示的包名标签
585
+ *
586
+ * 对齐 tsdown `name`。monorepo/workspace 场景下区分不同包的构建日志。
587
+ */
588
+ name?: string;
589
+ /**
590
+ * 构建生命周期 hooks
591
+ *
592
+ * 对齐 tsdown `hooks`。支持对象式(`{ 'build:prepare': fn }`)或函数式
593
+ *(`(hooks) => { hooks.hook('build:prepare', fn) }`)。
594
+ *
595
+ * 三个生命周期事件:
596
+ * - `build:prepare`:构建开始前
597
+ * - `build:before`:每次 rolldown 构建前(dual-format 每个 format 一次)
598
+ * - `build:done`:每次构建完成后
599
+ */
600
+ hooks?: Partial<BuilderHooks> | ((hooks: Hookable<BuilderHooks>) => Awaitable<void>);
601
+ /**
602
+ * Watch 模式
603
+ *
604
+ * 对齐 tsdown `watch`。boolean 启用监听;Arrayable<string> 指定额外监听路径。
605
+ *
606
+ * @default false
607
+ */
608
+ watch?: boolean | Arrayable<string>;
609
+ /**
610
+ * Watch 模式下不监听的文件/模式
611
+ *
612
+ * 对齐 tsdown `ignoreWatch`。
613
+ */
614
+ ignoreWatch?: Arrayable<string | RegExp>;
615
+ /**
616
+ * Devtools 集成
617
+ *
618
+ * 对齐 tsdown `devtools`。false 关闭;对象配置 ui/clean 等。
619
+ *
620
+ * @default false
621
+ */
622
+ devtools?: WithEnabled<DevtoolsOptions>;
623
+ /**
624
+ * Workspace 模式
625
+ *
626
+ * 对齐 tsdown `workspace`。启用 monorepo 多包构建:
627
+ * - true:自动检测所有含 package.json 的子包
628
+ * - string / string[]:glob 匹配子包目录
629
+ * - Workspace 对象:精细配置 include/exclude/config
630
+ *
631
+ * @default false
632
+ */
633
+ workspace?: Workspace | Arrayable<string> | true;
634
+ /**
635
+ * 构建后文件复制
636
+ *
637
+ * 对齐 tsdown `copy`。把静态资源(assets、css 等)复制到输出目录。
638
+ * 支持 string(glob)、CopyEntry 对象、数组、或函数。
639
+ *
640
+ * @default false
641
+ */
642
+ copy?: CopyOptions | CopyOptionsFn;
643
+ /**
644
+ * 构建后体积报告
645
+ *
646
+ * 对齐 tsdown `report`。输出产物大小汇总(raw/gzip/brotli)。
647
+ *
648
+ * @default true
649
+ */
650
+ report?: WithEnabled<ReportOptions>;
651
+ /**
652
+ * package.json exports 自动生成
653
+ *
654
+ * 对齐 tsdown `exports`。构建后根据产物入口、格式、types 自动生成 exports 字段。
655
+ *
656
+ * @default false
657
+ */
658
+ exports?: WithEnabled<ExportsOptions>;
659
+ /**
660
+ * publint 包质量检查
661
+ *
662
+ * 对齐 tsdown `publint`。构建后运行 publint 检查。
663
+ * 需安装 publint。
664
+ *
665
+ * @default false
666
+ */
667
+ publint?: WithEnabled<PublintOptions>;
668
+ /**
669
+ * attw 类型导出正确性检查
670
+ *
671
+ * 对齐 tsdown `attw`。构建后运行 @arethetypeswrong/core 检查。
672
+ * 需安装 @arethetypeswrong/core。
673
+ *
674
+ * @default false
675
+ */
676
+ attw?: WithEnabled<AttwOptions>;
677
+ /**
678
+ * import.meta.glob 支持
679
+ *
680
+ * 对齐 tsdown `globImport`(@default true)。启用后注入 rolldown 的 importGlobPlugin,
681
+ * 支持 Vite 风格的批量文件导入。
682
+ */
683
+ globImport?: boolean;
114
684
  };
115
685
  /**
116
686
  * 配置选项类型,消费方传入 defineConfig 的参数
@@ -137,5 +707,194 @@ type PresetDefinition = {
137
707
  */
138
708
  extraConfig?: Partial<BuilderConfig>;
139
709
  };
140
- export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, PresetDefinition };
710
+ /**
711
+ * 解析后的构建配置(对齐 tsdown ResolvedConfig 的概念)
712
+ *
713
+ * resolveConfig 把 BuilderConfig 的可选字段填充默认值后返回此类型。
714
+ * 核心字段变为 required(解析后保证有值),新增 formats(归一化后的格式数组)
715
+ * 与 dtsEnabled(dts 是否启用)。
716
+ */
717
+ type ResolvedBuilderConfig = Required<Omit<BuilderConfig, 'format' | 'dts' | 'tsconfig' | 'onSuccess' | 'name' | 'customLogger' | 'target' | 'banner' | 'footer' | 'globalName' | 'root' | 'inputOptions' | 'outputOptions' | 'define' | 'alias' | 'treeshake' | 'loader' | 'banner' | 'footer' | 'hooks' | 'ignoreWatch' | 'external' | 'platform' | 'outExtensions' | 'deps' | 'entry' | 'minify' | 'sourcemap' | 'workspace' | 'copy' | 'report' | 'exports' | 'devtools' | 'failOnWarn' | 'publint' | 'attw' | 'globImport' | 'clean'>> & {
718
+ /**
719
+ * 归一化后的格式数组(默认 ['es'])
720
+ */
721
+ formats: BuildFormat[];
722
+ /**
723
+ * dts 是否启用(dts !== false && dts !== undefined && dts.enabled !== false)
724
+ */
725
+ dtsEnabled: boolean;
726
+ /**
727
+ * dts 选项(dtsEnabled 时有值)
728
+ */
729
+ dts: DtsOptions | true | undefined;
730
+ /**
731
+ * tsconfig 路径(可能为 undefined)
732
+ */
733
+ tsconfig: string | undefined;
734
+ /**
735
+ * onSuccess 回调或 shell 命令(可能为 undefined)
736
+ */
737
+ onSuccess: BuilderConfig['onSuccess'];
738
+ /**
739
+ * 包名标签(可能为 undefined)
740
+ */
741
+ name: string | undefined;
742
+ /**
743
+ * 自定义 logger(可能为 undefined)
744
+ */
745
+ customLogger: Logger | undefined;
746
+ /**
747
+ * 编译目标(可能为 undefined 或 false)
748
+ */
749
+ target: BuilderConfig['target'];
750
+ /**
751
+ * 入口配置(可能为 undefined,runBuild 用 resolveEntry 处理)
752
+ */
753
+ entry: BuilderConfig['entry'];
754
+ /**
755
+ * 外部依赖(可能为 undefined)
756
+ */
757
+ external: BuilderConfig['external'];
758
+ /**
759
+ * 构建平台(可能为 undefined)
760
+ */
761
+ platform: BuilderConfig['platform'];
762
+ /**
763
+ * 输出扩展名函数(可能为 undefined)
764
+ */
765
+ outExtensions: BuilderConfig['outExtensions'];
766
+ /**
767
+ * deps 选项(可能为 undefined)
768
+ */
769
+ deps: BuilderConfig['deps'];
770
+ /**
771
+ * hooks(可能为 undefined)
772
+ */
773
+ hooks: BuilderConfig['hooks'];
774
+ /**
775
+ * ignoreWatch(可能为 undefined)
776
+ */
777
+ ignoreWatch: BuilderConfig['ignoreWatch'];
778
+ /**
779
+ * define 常量(可能为 undefined)
780
+ */
781
+ define: BuilderConfig['define'];
782
+ /**
783
+ * 模块别名(可能为 undefined)
784
+ */
785
+ alias: BuilderConfig['alias'];
786
+ /**
787
+ * treeshake 配置(可能为 undefined)
788
+ */
789
+ treeshake: BuilderConfig['treeshake'];
790
+ /**
791
+ * loader 映射(可能为 undefined)
792
+ */
793
+ loader: BuilderConfig['loader'];
794
+ /**
795
+ * banner(可能为 undefined)
796
+ */
797
+ banner: BuilderConfig['banner'];
798
+ /**
799
+ * footer(可能为 undefined)
800
+ */
801
+ footer: BuilderConfig['footer'];
802
+ /**
803
+ * IIFE/UMD 全局变量名(可能为 undefined)
804
+ */
805
+ globalName: BuilderConfig['globalName'];
806
+ /**
807
+ * 输入根目录(可能为 undefined)
808
+ */
809
+ root: BuilderConfig['root'];
810
+ /**
811
+ * 额外输入选项(可能为 undefined)
812
+ */
813
+ inputOptions: BuilderConfig['inputOptions'];
814
+ /**
815
+ * 额外输出选项(可能为 undefined)
816
+ */
817
+ outputOptions: BuilderConfig['outputOptions'];
818
+ /**
819
+ * 产物压缩(可能为 undefined,由 rolldown 默认处理)
820
+ */
821
+ minify: BuilderConfig['minify'];
822
+ /**
823
+ * sourcemap(可能为 undefined,由 rolldown 默认处理)
824
+ */
825
+ sourcemap: BuilderConfig['sourcemap'];
826
+ /**
827
+ * workspace 配置(可能为 undefined)
828
+ */
829
+ workspace: BuilderConfig['workspace'];
830
+ /**
831
+ * copy 选项(可能为 undefined)
832
+ */
833
+ copy: BuilderConfig['copy'];
834
+ /**
835
+ * report 选项(可能为 undefined 或 false)
836
+ */
837
+ report: ReportOptions | false;
838
+ /**
839
+ * exports 选项(可能为 undefined 或 false)
840
+ */
841
+ exports: ExportsOptions | false;
842
+ /**
843
+ * 解析后的 devtools 选项(false 关闭 / DevtoolsOptions)
844
+ */
845
+ devtools: DevtoolsOptions | false;
846
+ /**
847
+ * 解析后的 failOnWarn(boolean)
848
+ */
849
+ failOnWarn: boolean;
850
+ /**
851
+ * 解析后的 publint 选项(false 关闭 / PublintOptions)
852
+ */
853
+ publint: PublintOptions | false;
854
+ /**
855
+ * 解析后的 attw 选项(false 关闭 / AttwOptions)
856
+ */
857
+ attw: AttwOptions | false;
858
+ /**
859
+ * import.meta.glob 支持(boolean)
860
+ */
861
+ globImport: boolean;
862
+ /**
863
+ * 解析后的 clean 路径列表(glob 模式)
864
+ */
865
+ clean: string[];
866
+ };
867
+ /**
868
+ * 配置加载器策略(对齐 tsdown configLoader)
869
+ *
870
+ * - auto:自动选择(bun/native TS → native,否则 unrun)
871
+ * - native:原生 import()(通过 import-without-cache 追踪依赖)
872
+ * - tsx:tsx/esm/api 加载
873
+ * - unrun:unrun 加载(返回传递性依赖)
874
+ */
875
+ type ConfigLoader = 'auto' | 'native' | 'tsx' | 'unrun';
876
+ /**
877
+ * 配置函数(对齐 tsdown UserConfigFn)
878
+ *
879
+ * 配置文件可导出函数,接收 inlineConfig + CI 状态 + rootConfig(workspace 场景)。
880
+ *
881
+ * @param inlineConfig - 内联配置(CLI flags 等)
882
+ * @param context - CI 状态 + workspace 根配置
883
+ * @returns 单个或数组 BuilderConfig
884
+ */
885
+ type BuilderConfigFn = (inlineConfig?: {
886
+ config?: boolean | string;
887
+ configLoader?: ConfigLoader;
888
+ cwd?: string;
889
+ }, context?: {
890
+ ci: boolean;
891
+ rootConfig?: BuilderConfig;
892
+ }) => Awaitable<Arrayable<BuilderConfig>>;
893
+ /**
894
+ * 配置文件导出类型(对齐 tsdown UserConfigExport)
895
+ *
896
+ * 配置文件可导出:单个配置对象、数组、或配置函数。
897
+ */
898
+ type BuilderConfigExport = Awaitable<Arrayable<BuilderConfig> | BuilderConfigFn>;
899
+ export type { Arrayable, AttwOptions, BuildContext, BuildFormat, BuilderConfig, BuilderConfigExport, BuilderConfigFn, BuilderHooks, CIOption, ConfigLoader, ConfigOptions, CopyEntry, CopyOptions, CopyOptionsFn, DepsOptions, DevtoolsOptions, DtsOptions, EntryConfig, ExportsOptions, Logger, LoggerOptions, LogLevel, LogType, NoExternalFn, PresetDefinition, PublintOptions, ReportOptions, ResolvedBuilderConfig, RolldownChunk, RolldownContext, TsdownInputOption, WithEnabled, Workspace };
141
900
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElG;;GAEG;AACH,KAAK,WAAW,GAAG,YAAY,GAAG,IAAI,GAAG,KAAK,CAAC;AAE/C;;GAEG;AACH,KAAK,UAAU,GAAG;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,KAAK,WAAW,GAAG;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACnC;;OAEG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,KAAK,aAAa,GAAG;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC/B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD;;OAEG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACpC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,KAAK,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5C;;GAEG;AACH,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD;;GAEG;AACH,KAAK,gBAAgB,GAAG;IACtB;;OAEG;IACH,KAAK,EAAE,WAAW,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACtC,CAAC;AAEF,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ExternalOption, InputOptions, ModuleFormat, OutputOptions, Plugin } from 'rolldown';\n\n/**\n * 构建格式类型\n */\ntype BuildFormat = ModuleFormat | 'es' | 'cjs';\n\n/**\n * dts 配置选项\n */\ntype DtsOptions = {\n /**\n * 是否生成声明文件\n */\n enabled?: boolean;\n /**\n * tsconfig 文件路径,未指定时由 resolveTsconfig 自动检测\n */\n tsconfig?: string;\n /**\n * 是否生成 sourcemap\n */\n sourcemap?: boolean;\n};\n\n/**\n * 依赖处理选项\n */\ntype DepsOptions = {\n /**\n * 始终打包进产物的依赖\n */\n alwaysBundle?: (string | RegExp)[];\n /**\n * 始终外部化的依赖\n */\n neverBundle?: ExternalOption;\n /**\n * 是否跳过 node_modules 打包(库包默认 true,应用默认 false)\n */\n skipNodeModulesBundle?: boolean;\n};\n\n/**\n * builder 构建配置,基于 rolldown 的输入输出选项扩展\n */\ntype BuilderConfig = {\n /**\n * 入口配置,字符串或记录对象\n */\n entry?: string | Record<string, string>;\n /**\n * 输出格式\n */\n format?: BuildFormat[] | BuildFormat;\n /**\n * 输出目录\n */\n outdir?: string;\n /**\n * 是否生成 dts 声明文件\n */\n dts?: DtsOptions | boolean;\n /**\n * tsconfig 文件路径\n */\n tsconfig?: string;\n /**\n * 是否压缩产物\n */\n minify?: boolean;\n /**\n * 是否生成 sourcemap\n */\n sourcemap?: boolean | 'inline';\n /**\n * 构建前是否清理输出目录\n */\n clean?: boolean;\n /**\n * 输出文件扩展名\n */\n outExtensions?: () => { js?: string; dts?: string };\n /**\n * 依赖处理选项\n */\n deps?: DepsOptions;\n /**\n * 额外的 rolldown 输入选项\n */\n inputOptions?: InputOptions;\n /**\n * 额外的 rolldown 输出选项\n */\n outputOptions?: OutputOptions;\n /**\n * 额外的 rolldown 插件\n */\n plugins?: Plugin[];\n /**\n * 外部依赖声明\n */\n external?: InputOptions['external'];\n /**\n * 构建目标平台\n *\n * 决定 rolldown 如何处理 Node 内置模块(`node:fs` / `node:path` 等)与\n * 第三方包内部的裸名 `require('crypto')`。默认 `'node'`(builder 消费方\n * 当前均为 Node 运行时);设为 `'browser'` 或 `'neutral'` 时 rolldown\n * 会将 Node 内置模块标记为外部并可能逐条打 `UNRESOLVED_IMPORT` 警告。\n *\n * 透传至 rolldown 的 `inputOptions.platform`。\n */\n platform?: InputOptions['platform'];\n};\n\n/**\n * 配置选项类型,消费方传入 defineConfig 的参数\n */\ntype ConfigOptions = Partial<BuilderConfig>;\n\n/**\n * 入口配置类型\n */\ntype EntryConfig = string | Record<string, string>;\n\n/**\n * 预设配置定义\n */\ntype PresetDefinition = {\n /**\n * 入口配置\n */\n entry: EntryConfig;\n /**\n * 外部依赖\n */\n external?: string[];\n /**\n * 额外配置\n */\n extraConfig?: Partial<BuilderConfig>;\n};\n\nexport type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, PresetDefinition };\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Hookable } from 'hookable';\nimport type {\n BuildOptions,\n ExternalOption,\n InputOptions,\n ModuleFormat,\n OutputAsset,\n OutputChunk,\n OutputOptions,\n Plugin,\n} from 'rolldown';\n\n/**\n * 日志类型\n *\n * 对齐 tsdown `LogType`(`src/utils/logger.ts`)。\n */\ntype LogType = 'error' | 'warn' | 'info';\n\n/**\n * 日志级别\n *\n * 对齐 tsdown `LogLevel`(`src/utils/logger.ts`)。\n */\ntype LogLevel = LogType | 'silent';\n\n/**\n * Logger 接口\n *\n * 对齐 tsdown `Logger`(`src/utils/logger.ts`)。\n * config 包不依赖 core,故在此独立声明结构兼容的接口;\n * core 的 `createLogger` 返回值与此接口结构兼容(TS 结构类型)。\n */\ninterface Logger {\n level: LogLevel;\n options?: LoggerOptions;\n info: (...args: any[]) => void;\n warn: (...args: any[]) => void;\n warnOnce: (...args: any[]) => void;\n error: (...args: any[]) => void;\n success: (...args: any[]) => void;\n clearScreen: (type: LogType) => void;\n}\n\n/**\n * Logger 选项\n *\n * 对齐 tsdown `LoggerOptions`(`src/utils/logger.ts`)。\n */\ninterface LoggerOptions {\n allowClearScreen?: boolean;\n customLogger?: Logger;\n console?: Console;\n failOnWarn?: boolean | CIOption;\n}\n\n/**\n * rolldown 产物 chunk(附加 outDir)\n *\n * 对齐 tsdown `RolldownChunk`(`src/utils/chunks.ts`)。\n */\ntype RolldownChunk = (OutputChunk | OutputAsset) & { outDir: string };\n\n/**\n * 构建上下文(对齐 tsdown BuildContext)\n */\ninterface BuildContext {\n options: BuilderConfig;\n hooks: Hookable<BuilderHooks>;\n}\n\n/**\n * rolldown 构建上下文(对齐 tsdown RolldownContext)\n */\ninterface RolldownContext {\n buildOptions: BuildOptions;\n}\n\n/**\n * builder 构建生命周期 hooks(对齐 tsdown TsdownHooks)\n */\ninterface BuilderHooks {\n 'build:prepare': (ctx: BuildContext) => void | Promise<void>;\n 'build:before': (ctx: BuildContext & RolldownContext) => void | Promise<void>;\n 'build:done': (\n ctx: BuildContext & { chunks: RolldownChunk[] },\n ) => void | Promise<void>;\n}\n\n/**\n * Awaitable 类型(对齐 tsdown utils/types.ts)\n */\ntype Awaitable<T> = T | Promise<T>;\n\n/**\n * @vitejs/devtools start 选项的最小类型\n */\ninterface DevtoolsStartOptions {\n host?: string;\n open?: boolean;\n}\n\n/**\n * Devtools 选项(对齐 tsdown DevtoolsOptions)\n *\n * 扩展 rolldown 的 inputOptions.devtools,新增 ui / clean 字段。\n */\ninterface DevtoolsOptions extends NonNullable<InputOptions['devtools']> {\n /**\n * **[experimental]** Enable devtools integration. `@vitejs/devtools` must be installed as a dependency.\n *\n * Defaults to true, if `@vitejs/devtools` is installed.\n */\n ui?: boolean | Partial<DevtoolsStartOptions>;\n /**\n * Clean devtools stale sessions.\n *\n * @default true\n */\n clean?: boolean;\n}\n\n/**\n * Workspace 配置(对齐 tsdown Workspace)\n *\n * monorepo 多包构建配置。\n */\ninterface Workspace {\n /**\n * Workspace 目录,支持 glob 模式\n *\n * - `auto`:自动检测 package.json 文件\n *\n * @default 'auto'\n */\n include?: 'auto' | (string & {}) | string[];\n /**\n * 排除目录\n *\n * @default ['**\\/node_modules/**', '**\\/dist/**', '**\\/test?(s)/**', '**\\/t?(e)mp/**']\n */\n exclude?: Arrayable<string>;\n /**\n * Workspace 配置文件路径\n */\n config?: boolean | string;\n}\n\n/**\n * copy 条目(对齐 tsdown CopyEntry)\n */\ninterface CopyEntry {\n /**\n * 源路径或 glob 模式\n */\n from: string | string[];\n /**\n * 目标路径(未指定时默认为输出目录)\n */\n to?: string;\n /**\n * 是否展平(不保留目录结构)\n *\n * @default true\n */\n flatten?: boolean;\n /**\n * 是否输出复制项到控制台\n *\n * @default false\n */\n verbose?: boolean;\n /**\n * 修改目标文件或文件夹名\n */\n rename?:\n | string\n | ((name: string, extension: string, fullPath: string) => string);\n}\n\n/**\n * copy 选项(对齐 tsdown CopyOptions)\n */\ntype CopyOptions = Arrayable<string | CopyEntry>;\n\n/**\n * copy 选项函数(对齐 tsdown CopyOptionsFn)\n */\ntype CopyOptionsFn = (options: BuilderConfig) => Awaitable<CopyOptions>;\n\n/**\n * report 选项(对齐 tsdown ReportOptions)\n */\ninterface ReportOptions {\n /**\n * 是否报告 gzip 压缩大小\n *\n * @default true\n */\n gzip?: boolean;\n /**\n * 是否报告 brotli 压缩大小\n *\n * @default false\n */\n brotli?: boolean;\n /**\n * 超过此大小的文件跳过压缩计算\n *\n * @default 1000000 (1 MB)\n */\n maxCompressSize?: number;\n}\n\n/**\n * exports 选项(对齐 tsdown ExportsOptions)\n *\n * package.json exports 字段自动生成配置。\n */\ninterface ExportsOptions {\n /** 开发模式下 exports 指向源码 */\n devExports?: boolean | string;\n /** 是否生成 package.json 的 exports 字段 */\n packageJson?: boolean;\n /** 是否为所有文件生成 exports */\n all?: boolean;\n /** 排除的文件模式 */\n exclude?: (RegExp | string)[];\n /** 是否生成 legacy 字段(main/module) */\n legacy?: boolean;\n /** 自定义追加的 exports */\n customExports?:\n | Record<string, unknown>\n | ((\n exports: Record<string, unknown>,\n context: {\n pkg: Record<string, unknown>;\n chunks: unknown;\n isPublish: boolean;\n },\n ) => Promise<Record<string, unknown>> | Record<string, unknown>);\n /** 是否生成 inlinedDependencies 字段 */\n inlinedDependencies?: boolean;\n /** 子路径导出键是否加 .js 扩展名 */\n extensions?: boolean;\n /** bin 字段生成(auto-detect / string / Record / boolean) */\n bin?: boolean | string | Record<string, string>;\n}\n\n/**\n * publint 选项(对齐 tsdown PublintOptions)\n *\n * 包质量检查。需安装 publint。\n */\ninterface PublintOptions {\n /** 预加载的 publint 模块 */\n module?: unknown;\n [key: string]: unknown;\n}\n\n/**\n * attw 选项(对齐 tsdown AttwOptions)\n *\n * 类型导出正确性检查。需安装 @arethetypeswrong/core。\n */\ninterface AttwOptions {\n /** 预加载的 attw 模块 */\n module?: unknown;\n /** 解析模式 */\n profile?: 'strict' | 'node16' | 'esm-only';\n /** 检查级别 */\n level?: 'error' | 'warn';\n /** 忽略的规则 */\n ignoreRules?: string[];\n [key: string]: unknown;\n}\n\n/**\n * CI 条件选项(对齐 tsdown CIOption)\n *\n * - `'ci-only'`:仅在 CI 环境启用\n * - `'local-only'`:仅在本地(非 CI)环境启用\n */\ntype CIOption = 'ci-only' | 'local-only';\n\n/**\n * 带 enabled 开关的选项类型(对齐 tsdown WithEnabled)\n *\n * 支持以下形态:\n * - `boolean`:true 用默认值,false 关闭\n * - `undefined`:同 true\n * - `CIOption`:按 CI 环境条件判定\n * - `T & { enabled?: boolean | CIOption }`:对象配置,enabled 控制开关\n */\ntype WithEnabled<T> =\n | boolean\n | undefined\n | CIOption\n | (T & {\n enabled?: boolean | CIOption;\n });\n\n/**\n * 构建格式类型\n */\ntype BuildFormat = ModuleFormat | 'es' | 'cjs';\n\n/**\n * 单值或数组\n *\n * 对齐 tsdown `Arrayable`(`src/utils/types.ts`)。\n */\ntype Arrayable<T> = T | T[];\n\n/**\n * 自定义\"是否打包\"判定函数\n *\n * 对齐 tsdown `NoExternalFn`(`src/features/deps.ts:25-28`)。返回真值表示\n * 该依赖命中规则(如 alwaysBundle 命中则强制打包、onlyBundle 命中则允许打包)。\n */\ntype NoExternalFn = (id: string, importer: string | undefined) => boolean | null | undefined | void;\n\n/**\n * 入口配置类型,支持 glob 与取反模式\n *\n * 对齐 tsdown `TsdownInputOption`:\n * - 字符串:单个入口或 glob 模式\n * - 数组:多个字符串/对象,支持 `!` 取反\n * - 对象:键为入口名(可含 glob),值为路径或 glob 数组\n */\ntype TsdownInputOption = Arrayable<string | Record<string, Arrayable<string>>>;\n\n/**\n * dts 配置选项\n */\ntype DtsOptions = {\n /**\n * 是否生成声明文件\n */\n enabled?: boolean;\n /**\n * tsconfig 文件路径,未指定时由 resolveTsconfig 自动检测\n */\n tsconfig?: string;\n /**\n * 是否生成 sourcemap\n */\n sourcemap?: boolean;\n};\n\n/**\n * 依赖处理选项\n */\ntype DepsOptions = {\n /**\n * 始终打包进产物的依赖\n *\n * 对齐 tsdown `deps.alwaysBundle`:接受单值或数组,或自定义判定函数。\n */\n alwaysBundle?: Arrayable<string | RegExp> | NoExternalFn;\n /**\n * 始终外部化的依赖\n */\n neverBundle?: ExternalOption;\n /**\n * 是否跳过 node_modules 打包(库包默认 true,应用默认 false)\n */\n skipNodeModulesBundle?: boolean;\n /**\n * 允许打包的依赖白名单\n *\n * 对齐 tsdown `deps.onlyBundle`:\n * - `undefined`(默认):检测到内联依赖时打提示,建议配置白名单\n * - 数组或单值:仅允许列出的依赖被打包,未列出的内联依赖触发构建错误;未使用的白名单项打提示\n * - `false`:关闭内联依赖检测提示\n */\n onlyBundle?: Arrayable<string | RegExp> | false;\n /**\n * 仅作用于声明文件(.d.ts)生成的依赖处理覆盖\n *\n * 对齐 tsdown `deps.dts`:dts 产物里 `alwaysBundle` 强制打包、`neverBundle`\n * 强制外部化的判定独立于 JS 产物。典型场景:应用/CLI 包 JS 全量打包但希望\n * dts 保留对某依赖的外部引用(避免内联整个类型源码)。\n */\n dts?: {\n /**\n * 仅在生成 .d.ts 时强制打包的依赖(覆盖顶层的 alwaysBundle)\n */\n alwaysBundle?: Arrayable<string | RegExp> | NoExternalFn;\n /**\n * 仅在生成 .d.ts 时强制外部化的依赖(追加到顶层的 neverBundle)\n */\n neverBundle?: ExternalOption;\n };\n};\n\n/**\n * builder 构建配置,基于 rolldown 的输入输出选项扩展\n */\ntype BuilderConfig = {\n /**\n * 入口配置,支持 glob 与 `!` 取反(对齐 tsdown `TsdownInputOption`)\n */\n entry?: TsdownInputOption;\n /**\n * 当前工作目录\n *\n * 对齐 tsdown `cwd`(@default process.cwd())。配置解析与构建的基准目录。\n */\n cwd?: string;\n /**\n * 输出格式\n */\n format?: BuildFormat[] | BuildFormat;\n /**\n * 输出目录\n */\n outdir?: string;\n /**\n * 是否生成 dts 声明文件\n */\n dts?: DtsOptions | boolean;\n /**\n * tsconfig 文件路径\n */\n tsconfig?: string;\n /**\n * 是否压缩产物\n *\n * 对齐 tsdown `minify`:`boolean` 开关、`'dce-only'` 仅死代码消除、或 MinifyOptions 精细配置。\n * 透传至 rolldown `output.minify`。\n */\n minify?: OutputOptions['minify'];\n /**\n * 是否生成 sourcemap\n */\n sourcemap?: boolean | 'inline';\n /**\n * 构建前清理\n *\n * 对齐 tsdown `clean`:\n * - `true`(默认):清理输出目录\n * - `false`:不清理\n * - `string[]`:清理指定路径列表(glob 模式)\n */\n clean?: boolean | string[];\n /**\n * 输出文件扩展名\n */\n outExtensions?: () => { js?: string; dts?: string };\n /**\n * 依赖处理选项\n */\n deps?: DepsOptions;\n /**\n * 额外的 rolldown 插件\n */\n plugins?: Plugin[];\n /**\n * 外部依赖声明\n */\n external?: InputOptions['external'];\n /**\n * 构建目标平台\n *\n * 决定 rolldown 如何处理 Node 内置模块(`node:fs` / `node:path` 等)与\n * 第三方包内部的裸名 `require('crypto')`。默认 `'node'`(builder 消费方\n * 当前均为 Node 运行时);设为 `'browser'` 或 `'neutral'` 时 rolldown\n * 会将 Node 内置模块标记为外部并可能逐条打 `UNRESOLVED_IMPORT` 警告。\n *\n * 透传至 rolldown 的 `inputOptions.platform`。\n */\n platform?: InputOptions['platform'];\n /**\n * 是否注入 ESM 下 `__dirname` / `__filename` 的 polyfill\n *\n * 对齐 tsdown `shims`(默认 false)。仅在 `format 含 es && platform === 'node'`\n * 时生效:通过 rolldown 的 `transform.inject` 把源码里的 `__dirname` / `__filename`\n * 替换为从 `@longzai-intelligence-builder/core/shims` 导入的导出,使其在 ESM + Node\n * 下可用(CJS 全局在 ESM 运行时不存在)。\n *\n * @default false\n */\n shims?: boolean;\n /**\n * 控制 Node 内置模块的 `node:` 协议\n *\n * 对齐 tsdown `nodeProtocol`:\n * - `'strip'`:移除 `node:` 前缀(`node:fs` → `fs`)\n * - `true`:添加 `node:` 前缀(`fs` → `node:fs`)\n * - `false`(默认):不转换\n */\n nodeProtocol?: 'strip' | boolean;\n /**\n * 构建成功后执行的回调\n *\n /**\n * 构建成功后执行的回调\n *\n * 对齐 tsdown `onSuccess`:\n * - string:以 shell 执行(tinyexec shell:true)\n * - 函数:调用 `onSuccess(config, signal)`,传入 AbortSignal(watch 模式下可中断)\n */\n onSuccess?:\n | string\n | ((config: BuilderConfig, signal: AbortSignal) => void | Promise<void>);\n /**\n * CommonJS 默认导出\n *\n * 对齐 tsdown `cjsDefault`:cjs 格式产物使用 `module.exports =` 默认导出。\n * 透传至 rolldown `output.exports: 'auto'`。\n *\n * @default false\n */\n cjsDefault?: boolean;\n /**\n * dual 格式(esm + cjs)下,为 cjs 的 .d.cts 生成 re-export stub\n *\n * 对齐 tsdown `cjsReexport`:生成 `.d.cts` 文件,内容为 `export type * from './xxx.d.mts'`,\n * 避免 TS2352 类型不重叠错误。仅 esm + cjs 同时输出时生效。\n *\n * @default false\n */\n cjsReexport?: boolean;\n /**\n * 编译目标(语法降级)\n *\n * 对齐 tsdown `target`,透传至 rolldown `transform.target`。\n */\n target?: string | string[] | false;\n /**\n * 编译期常量定义\n *\n * 对齐 tsdown `define`,透传至 rolldown `transform.define`。\n */\n define?: Record<string, string>;\n /**\n * 模块说明符别名\n *\n * 对齐 tsdown `alias`,透传至 rolldown `resolve.alias`。\n */\n alias?: Record<string, string>;\n /**\n * Tree shaking 配置\n *\n * 对齐 tsdown `treeshake`,透传至 rolldown `treeshake`。\n */\n treeshake?: InputOptions['treeshake'];\n /**\n * 文件 loader 映射\n *\n * 对齐 tsdown `loader`,透传至 rolldown `moduleTypes`。\n */\n loader?: InputOptions['moduleTypes'];\n /**\n * 输出 banner(注入到每个 chunk 头部)\n *\n * 对齐 tsdown `banner`,透传至 rolldown `output.postBanner`。\n */\n banner?: OutputOptions['postBanner'];\n /**\n * 输出 footer(注入到每个 chunk 尾部)\n *\n * 对齐 tsdown `footer`,透传至 rolldown `output.postFooter`。\n */\n footer?: OutputOptions['postFooter'];\n /**\n * IIFE/UMD 全局变量名\n *\n * 对齐 tsdown `globalName`,透传至 rolldown `output.name`。\n */\n globalName?: string;\n /**\n * 非打包模式(输出镜像源码结构)\n *\n * 对齐 tsdown `unbundle`,透传至 rolldown `output.preserveModules`。\n *\n * @default false\n */\n unbundle?: boolean;\n /**\n * 输入文件根目录(影响输出结构)\n *\n * 对齐 tsdown `root`,unbundle 时透传至 rolldown `output.preserveModulesRoot`。\n */\n root?: string;\n /**\n * chunk 文件名追加 hash\n *\n * 对齐 tsdown `hash`。\n *\n * @default false\n */\n hash?: boolean;\n /**\n * 使用固定扩展名(.cjs/.mjs)\n *\n * 对齐 tsdown `fixedExtension`。\n */\n fixedExtension?: boolean;\n /**\n * 额外的 rolldown 输入选项(支持函数形态按 format 分流,对齐 tsdown)\n */\n inputOptions?:\n | InputOptions\n | ((\n options: InputOptions,\n format: BuildFormat,\n ) => InputOptions | void | null | Promise<InputOptions | void | null>);\n /**\n * 额外的 rolldown 输出选项(支持函数形态按 format 分流,对齐 tsdown)\n */\n outputOptions?:\n | OutputOptions\n | ((\n options: OutputOptions,\n format: BuildFormat,\n ) => OutputOptions | void | null | Promise<OutputOptions | void | null>);\n /**\n * 日志级别\n *\n * 对齐 tsdown `logLevel`(@default 'info')。透传至 `createLogger` 的 level 参数。\n */\n logLevel?: LogLevel;\n /**\n * 自定义 logger 实例\n *\n * 对齐 tsdown `customLogger`。提供时直接使用该实例,绕过内部 logger 实现。\n */\n customLogger?: Logger;\n /**\n * 警告视为错误(构建失败)\n *\n * 对齐 tsdown `failOnWarn`(@default false)。开启时 warn/warnOnce 升级为 error,\n * rolldown 的 onLog warn 也会被升级为构建错误。\n */\n failOnWarn?: boolean | CIOption;\n /**\n * CLI 输出中显示的包名标签\n *\n * 对齐 tsdown `name`。monorepo/workspace 场景下区分不同包的构建日志。\n */\n name?: string;\n /**\n * 构建生命周期 hooks\n *\n * 对齐 tsdown `hooks`。支持对象式(`{ 'build:prepare': fn }`)或函数式\n *(`(hooks) => { hooks.hook('build:prepare', fn) }`)。\n *\n * 三个生命周期事件:\n * - `build:prepare`:构建开始前\n * - `build:before`:每次 rolldown 构建前(dual-format 每个 format 一次)\n * - `build:done`:每次构建完成后\n */\n hooks?:\n | Partial<BuilderHooks>\n | ((hooks: Hookable<BuilderHooks>) => Awaitable<void>);\n /**\n * Watch 模式\n *\n * 对齐 tsdown `watch`。boolean 启用监听;Arrayable<string> 指定额外监听路径。\n *\n * @default false\n */\n watch?: boolean | Arrayable<string>;\n /**\n * Watch 模式下不监听的文件/模式\n *\n * 对齐 tsdown `ignoreWatch`。\n */\n ignoreWatch?: Arrayable<string | RegExp>;\n /**\n * Devtools 集成\n *\n * 对齐 tsdown `devtools`。false 关闭;对象配置 ui/clean 等。\n *\n * @default false\n */\n devtools?: WithEnabled<DevtoolsOptions>;\n /**\n * Workspace 模式\n *\n * 对齐 tsdown `workspace`。启用 monorepo 多包构建:\n * - true:自动检测所有含 package.json 的子包\n * - string / string[]:glob 匹配子包目录\n * - Workspace 对象:精细配置 include/exclude/config\n *\n * @default false\n */\n workspace?: Workspace | Arrayable<string> | true;\n /**\n * 构建后文件复制\n *\n * 对齐 tsdown `copy`。把静态资源(assets、css 等)复制到输出目录。\n * 支持 string(glob)、CopyEntry 对象、数组、或函数。\n *\n * @default false\n */\n copy?: CopyOptions | CopyOptionsFn;\n /**\n * 构建后体积报告\n *\n * 对齐 tsdown `report`。输出产物大小汇总(raw/gzip/brotli)。\n *\n * @default true\n */\n report?: WithEnabled<ReportOptions>;\n /**\n * package.json exports 自动生成\n *\n * 对齐 tsdown `exports`。构建后根据产物入口、格式、types 自动生成 exports 字段。\n *\n * @default false\n */\n exports?: WithEnabled<ExportsOptions>;\n /**\n * publint 包质量检查\n *\n * 对齐 tsdown `publint`。构建后运行 publint 检查。\n * 需安装 publint。\n *\n * @default false\n */\n publint?: WithEnabled<PublintOptions>;\n /**\n * attw 类型导出正确性检查\n *\n * 对齐 tsdown `attw`。构建后运行 @arethetypeswrong/core 检查。\n * 需安装 @arethetypeswrong/core。\n *\n * @default false\n */\n attw?: WithEnabled<AttwOptions>;\n /**\n * import.meta.glob 支持\n *\n * 对齐 tsdown `globImport`(@default true)。启用后注入 rolldown 的 importGlobPlugin,\n * 支持 Vite 风格的批量文件导入。\n */\n globImport?: boolean;\n};\n\n/**\n * 配置选项类型,消费方传入 defineConfig 的参数\n */\ntype ConfigOptions = Partial<BuilderConfig>;\n\n/**\n * 入口配置类型\n */\ntype EntryConfig = string | Record<string, string>;\n\n/**\n * 预设配置定义\n */\ntype PresetDefinition = {\n /**\n * 入口配置\n */\n entry: EntryConfig;\n /**\n * 外部依赖\n */\n external?: string[];\n /**\n * 额外配置\n */\n extraConfig?: Partial<BuilderConfig>;\n};\n\n/**\n * 解析后的构建配置(对齐 tsdown ResolvedConfig 的概念)\n *\n * resolveConfig 把 BuilderConfig 的可选字段填充默认值后返回此类型。\n * 核心字段变为 required(解析后保证有值),新增 formats(归一化后的格式数组)\n * 与 dtsEnabled(dts 是否启用)。\n */\ntype ResolvedBuilderConfig = Required<\n Omit<\n BuilderConfig,\n 'format' | 'dts' | 'tsconfig' | 'onSuccess' | 'name' | 'customLogger' | 'target' | 'banner' | 'footer' | 'globalName' | 'root' | 'inputOptions' | 'outputOptions' | 'define' | 'alias' | 'treeshake' | 'loader' | 'banner' | 'footer' | 'hooks' | 'ignoreWatch' | 'external' | 'platform' | 'outExtensions' | 'deps' | 'entry' | 'minify' | 'sourcemap' | 'workspace' | 'copy' | 'report' | 'exports' | 'devtools' | 'failOnWarn' | 'publint' | 'attw' | 'globImport' | 'clean'\n >\n> & {\n /**\n * 归一化后的格式数组(默认 ['es'])\n */\n formats: BuildFormat[];\n /**\n * dts 是否启用(dts !== false && dts !== undefined && dts.enabled !== false)\n */\n dtsEnabled: boolean;\n /**\n * dts 选项(dtsEnabled 时有值)\n */\n dts: DtsOptions | true | undefined;\n /**\n * tsconfig 路径(可能为 undefined)\n */\n tsconfig: string | undefined;\n /**\n * onSuccess 回调或 shell 命令(可能为 undefined)\n */\n onSuccess: BuilderConfig['onSuccess'];\n /**\n * 包名标签(可能为 undefined)\n */\n name: string | undefined;\n /**\n * 自定义 logger(可能为 undefined)\n */\n customLogger: Logger | undefined;\n /**\n * 编译目标(可能为 undefined 或 false)\n */\n target: BuilderConfig['target'];\n /**\n * 入口配置(可能为 undefined,runBuild 用 resolveEntry 处理)\n */\n entry: BuilderConfig['entry'];\n /**\n * 外部依赖(可能为 undefined)\n */\n external: BuilderConfig['external'];\n /**\n * 构建平台(可能为 undefined)\n */\n platform: BuilderConfig['platform'];\n /**\n * 输出扩展名函数(可能为 undefined)\n */\n outExtensions: BuilderConfig['outExtensions'];\n /**\n * deps 选项(可能为 undefined)\n */\n deps: BuilderConfig['deps'];\n /**\n * hooks(可能为 undefined)\n */\n hooks: BuilderConfig['hooks'];\n /**\n * ignoreWatch(可能为 undefined)\n */\n ignoreWatch: BuilderConfig['ignoreWatch'];\n /**\n * define 常量(可能为 undefined)\n */\n define: BuilderConfig['define'];\n /**\n * 模块别名(可能为 undefined)\n */\n alias: BuilderConfig['alias'];\n /**\n * treeshake 配置(可能为 undefined)\n */\n treeshake: BuilderConfig['treeshake'];\n /**\n * loader 映射(可能为 undefined)\n */\n loader: BuilderConfig['loader'];\n /**\n * banner(可能为 undefined)\n */\n banner: BuilderConfig['banner'];\n /**\n * footer(可能为 undefined)\n */\n footer: BuilderConfig['footer'];\n /**\n * IIFE/UMD 全局变量名(可能为 undefined)\n */\n globalName: BuilderConfig['globalName'];\n /**\n * 输入根目录(可能为 undefined)\n */\n root: BuilderConfig['root'];\n /**\n * 额外输入选项(可能为 undefined)\n */\n inputOptions: BuilderConfig['inputOptions'];\n /**\n * 额外输出选项(可能为 undefined)\n */\n outputOptions: BuilderConfig['outputOptions'];\n /**\n * 产物压缩(可能为 undefined,由 rolldown 默认处理)\n */\n minify: BuilderConfig['minify'];\n /**\n * sourcemap(可能为 undefined,由 rolldown 默认处理)\n */\n sourcemap: BuilderConfig['sourcemap'];\n /**\n * workspace 配置(可能为 undefined)\n */\n workspace: BuilderConfig['workspace'];\n /**\n * copy 选项(可能为 undefined)\n */\n copy: BuilderConfig['copy'];\n /**\n * report 选项(可能为 undefined 或 false)\n */\n report: ReportOptions | false;\n /**\n * exports 选项(可能为 undefined 或 false)\n */\n exports: ExportsOptions | false;\n /**\n * 解析后的 devtools 选项(false 关闭 / DevtoolsOptions)\n */\n devtools: DevtoolsOptions | false;\n /**\n * 解析后的 failOnWarn(boolean)\n */\n failOnWarn: boolean;\n /**\n * 解析后的 publint 选项(false 关闭 / PublintOptions)\n */\n publint: PublintOptions | false;\n /**\n * 解析后的 attw 选项(false 关闭 / AttwOptions)\n */\n attw: AttwOptions | false;\n /**\n * import.meta.glob 支持(boolean)\n */\n globImport: boolean;\n /**\n * 解析后的 clean 路径列表(glob 模式)\n */\n clean: string[];\n};\n\n/**\n * 配置加载器策略(对齐 tsdown configLoader)\n *\n * - auto:自动选择(bun/native TS → native,否则 unrun)\n * - native:原生 import()(通过 import-without-cache 追踪依赖)\n * - tsx:tsx/esm/api 加载\n * - unrun:unrun 加载(返回传递性依赖)\n */\ntype ConfigLoader = 'auto' | 'native' | 'tsx' | 'unrun';\n\n/**\n * 配置函数(对齐 tsdown UserConfigFn)\n *\n * 配置文件可导出函数,接收 inlineConfig + CI 状态 + rootConfig(workspace 场景)。\n *\n * @param inlineConfig - 内联配置(CLI flags 等)\n * @param context - CI 状态 + workspace 根配置\n * @returns 单个或数组 BuilderConfig\n */\ntype BuilderConfigFn = (\n inlineConfig?: {\n config?: boolean | string;\n configLoader?: ConfigLoader;\n cwd?: string;\n },\n context?: { ci: boolean; rootConfig?: BuilderConfig },\n) => Awaitable<Arrayable<BuilderConfig>>;\n\n/**\n * 配置文件导出类型(对齐 tsdown UserConfigExport)\n *\n * 配置文件可导出:单个配置对象、数组、或配置函数。\n */\ntype BuilderConfigExport = Awaitable<Arrayable<BuilderConfig> | BuilderConfigFn>;\n\nexport type { Arrayable, AttwOptions, BuildContext, BuildFormat, BuilderConfig, BuilderConfigExport, BuilderConfigFn, BuilderHooks, CIOption, ConfigLoader, ConfigOptions, CopyEntry, CopyOptions, CopyOptionsFn, DepsOptions, DevtoolsOptions, DtsOptions, EntryConfig, ExportsOptions, Logger, LoggerOptions, LogLevel, LogType, NoExternalFn, PresetDefinition, PublintOptions, ReportOptions, ResolvedBuilderConfig, RolldownChunk, RolldownContext, TsdownInputOption, WithEnabled, Workspace };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@longzai-intelligence-builder/config",
3
- "version": "0.0.9",
3
+ "version": "0.2.0",
4
4
  "private": false,
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -31,6 +31,7 @@
31
31
  },
32
32
  "dependencies": {},
33
33
  "peerDependencies": {
34
+ "hookable": "^6.1.1",
34
35
  "rolldown": "^1.0.0"
35
36
  }
36
37
  }