@longzai-intelligence-builder/core 0.0.1 → 0.0.3

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.
@@ -1,2 +1,2 @@
1
- export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, ExternalOption, Plugin, PresetDefinition } from './types.js';
1
+ export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, PresetDefinition, } from './types.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"","sourcesContent":["export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, ExternalOption, Plugin, PresetDefinition } from './types.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"","sourcesContent":["export type {\n BuildFormat,\n BuilderConfig,\n ConfigOptions,\n DepsOptions,\n DtsOptions,\n EntryConfig,\n PresetDefinition,\n} from './types.js';\n"]}
@@ -1,130 +1,2 @@
1
- import type { ExternalOption, InputOptions, ModuleFormat, OutputOptions, Plugin } from 'rolldown';
2
- /**
3
- * 构建格式类型
4
- */
5
- type BuildFormat = ModuleFormat | 'es' | 'cjs';
6
- /**
7
- * dts 配置选项
8
- */
9
- type DtsOptions = {
10
- /**
11
- * 是否生成声明文件
12
- */
13
- enabled?: boolean;
14
- /**
15
- * tsconfig 文件路径,未指定时由 resolveTsconfig 自动检测
16
- */
17
- tsconfig?: string;
18
- /**
19
- * 是否生成 sourcemap
20
- */
21
- sourcemap?: boolean;
22
- };
23
- /**
24
- * 依赖处理选项
25
- */
26
- type DepsOptions = {
27
- /**
28
- * 始终打包进产物的依赖
29
- */
30
- alwaysBundle?: (string | RegExp)[];
31
- /**
32
- * 始终外部化的依赖
33
- */
34
- neverBundle?: ExternalOption;
35
- /**
36
- * 是否跳过 node_modules 打包(库包默认 true,应用默认 false)
37
- */
38
- skipNodeModulesBundle?: boolean;
39
- };
40
- /**
41
- * builder 构建配置,基于 rolldown 的输入输出选项扩展
42
- */
43
- type BuilderConfig = {
44
- /**
45
- * 入口配置,字符串或记录对象
46
- */
47
- entry?: string | Record<string, string>;
48
- /**
49
- * 输出格式
50
- */
51
- format?: BuildFormat[] | BuildFormat;
52
- /**
53
- * 输出目录
54
- */
55
- outdir?: string;
56
- /**
57
- * 是否生成 dts 声明文件
58
- */
59
- dts?: DtsOptions | boolean;
60
- /**
61
- * tsconfig 文件路径
62
- */
63
- tsconfig?: string;
64
- /**
65
- * 是否压缩产物
66
- */
67
- minify?: boolean;
68
- /**
69
- * 是否生成 sourcemap
70
- */
71
- sourcemap?: boolean | 'inline';
72
- /**
73
- * 构建前是否清理输出目录
74
- */
75
- clean?: boolean;
76
- /**
77
- * 输出文件扩展名
78
- */
79
- outExtensions?: () => {
80
- js?: string;
81
- dts?: string;
82
- };
83
- /**
84
- * 依赖处理选项
85
- */
86
- deps?: DepsOptions;
87
- /**
88
- * 额外的 rolldown 输入选项
89
- */
90
- inputOptions?: InputOptions;
91
- /**
92
- * 额外的 rolldown 输出选项
93
- */
94
- outputOptions?: OutputOptions;
95
- /**
96
- * 额外的 rolldown 插件
97
- */
98
- plugins?: Plugin[];
99
- /**
100
- * 外部依赖声明
101
- */
102
- external?: InputOptions['external'];
103
- };
104
- /**
105
- * 配置选项类型,消费方传入 defineConfig 的参数
106
- */
107
- type ConfigOptions = Partial<BuilderConfig>;
108
- /**
109
- * 入口配置类型
110
- */
111
- type EntryConfig = string | Record<string, string>;
112
- /**
113
- * 预设配置定义
114
- */
115
- type PresetDefinition = {
116
- /**
117
- * 入口配置
118
- */
119
- entry: EntryConfig;
120
- /**
121
- * 外部依赖
122
- */
123
- external?: string[];
124
- /**
125
- * 额外配置
126
- */
127
- extraConfig?: Partial<BuilderConfig>;
128
- };
129
- export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, ExternalOption, Plugin, PresetDefinition };
1
+ export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, PresetDefinition, } from '@longzai-intelligence-builder/config';
130
2
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/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;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,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,gBAAgB,GACjB,MAAM,sCAAsC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/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 * 配置选项类型,消费方传入 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, ExternalOption, Plugin, PresetDefinition };\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"","sourcesContent":["export type {\n BuildFormat,\n BuilderConfig,\n ConfigOptions,\n DepsOptions,\n DtsOptions,\n EntryConfig,\n PresetDefinition,\n} from '@longzai-intelligence-builder/config';\n"]}
@@ -0,0 +1,23 @@
1
+ import type { ConfigOptions, BuilderConfig } from '../core/types';
2
+ /**
3
+ * 获取基础配置的函数类型
4
+ */
5
+ type GetBaseConfigFn = () => Partial<BuilderConfig>;
6
+ /**
7
+ * 通用配置创建工厂
8
+ *
9
+ * 接收一个获取基础配置的函数,返回 defineConfig 和 defineBundleConfig。
10
+ * esm 和 dual 各自提供不同的 getBaseConfig 即可复用此逻辑。
11
+ *
12
+ * - defineConfig: 库包,生成 dts,外部化依赖
13
+ * - defineBundleConfig: CLI/应用,不生成 dts,自动 bundle 所有依赖
14
+ *
15
+ * @param getBaseConfig - 获取基础配置的函数
16
+ * @returns 包含 defineConfig 和 defineBundleConfig 的对象
17
+ */
18
+ declare function createConfigFactory(getBaseConfig: GetBaseConfigFn): {
19
+ defineConfig: (options?: ConfigOptions) => BuilderConfig;
20
+ defineBundleConfig: (options?: ConfigOptions) => BuilderConfig;
21
+ };
22
+ export { createConfigFactory };
23
+ //# sourceMappingURL=create-config.factory.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { createConfigFactory } from './create-config.factory.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { createConfigFactory } from './create-config.factory.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC","sourcesContent":["export { createConfigFactory } from './create-config.factory.js';\n"]}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, ExternalOption, Plugin, PresetDefinition } from './core/types.js';
1
+ export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, PresetDefinition } from './core/types.js';
2
2
  export { resolveTsconfig, mergeArrayConfig, normalizeExternal, mergeExternalConfig, } from './utils/index.js';
3
3
  export { createConfigFactory } from './factories/index.js';
4
4
  //# 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,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEjK,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
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,iBAAiB,CAAC;AAEzI,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, ExternalOption, Plugin, PresetDefinition } from './core/types.js';\n\nexport {\n resolveTsconfig,\n mergeArrayConfig,\n normalizeExternal,\n mergeExternalConfig,\n} from './utils/index.js';\n\nexport { createConfigFactory } from './factories/index.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, PresetDefinition } from './core/types.js';\n\nexport {\n resolveTsconfig,\n mergeArrayConfig,\n normalizeExternal,\n mergeExternalConfig,\n} from './utils/index.js';\n\nexport { createConfigFactory } from './factories/index.js';\n"]}
@@ -0,0 +1,4 @@
1
+ export { resolveTsconfig } from './resolve-tsconfig.utils.js';
2
+ export { mergeArrayConfig } from './merge-array-config.utils.js';
3
+ export { mergeExternalConfig, normalizeExternal } from './merge-external-config.utils.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { resolveTsconfig } from './resolve-tsconfig.utils.js';
2
+ export { mergeArrayConfig } from './merge-array-config.utils.js';
3
+ export { mergeExternalConfig, normalizeExternal } from './merge-external-config.utils.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC","sourcesContent":["export { resolveTsconfig } from './resolve-tsconfig.utils.js';\n\nexport { mergeArrayConfig } from './merge-array-config.utils.js';\n\nexport { mergeExternalConfig, normalizeExternal } from './merge-external-config.utils.js';\n"]}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 可数组化类型,值为单值或数组的联合
3
+ *
4
+ * @typeParam T - 数组元素类型
5
+ */
6
+ type Arrayable<T> = T | T[];
7
+ /**
8
+ * 合并两个 alwaysBundle 配置
9
+ *
10
+ * 用于合并 deps.alwaysBundle。两个来源的元素都会保留,不会去重。
11
+ *
12
+ * @param base - 基础配置
13
+ * @param override - 需要合并的配置
14
+ * @returns 合并后的新数组
15
+ */
16
+ declare function mergeArrayConfig(base: Arrayable<string | RegExp> | undefined, override: Arrayable<string | RegExp> | undefined): (string | RegExp)[];
17
+ export { mergeArrayConfig };
18
+ //# sourceMappingURL=merge-array-config.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-array-config.utils.d.ts","sourceRoot":"","sources":["../../src/utils/merge-array-config.utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAiB5B;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CACvB,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,EAC5C,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,GAC/C,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAErB;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 将 alwaysBundle 配置规范化为数组
3
+ *
4
+ * @param value - alwaysBundle 配置
5
+ * @returns 规范化后的数组
6
+ */
7
+ function normalizeArrayConfig(value) {
8
+ if (value === undefined)
9
+ return [];
10
+ if (Array.isArray(value))
11
+ return value;
12
+ return [value];
13
+ }
14
+ /**
15
+ * 合并两个 alwaysBundle 配置
16
+ *
17
+ * 用于合并 deps.alwaysBundle。两个来源的元素都会保留,不会去重。
18
+ *
19
+ * @param base - 基础配置
20
+ * @param override - 需要合并的配置
21
+ * @returns 合并后的新数组
22
+ */
23
+ function mergeArrayConfig(base, override) {
24
+ return [...normalizeArrayConfig(base), ...normalizeArrayConfig(override)];
25
+ }
26
+ export { mergeArrayConfig };
27
+ //# sourceMappingURL=merge-array-config.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-array-config.utils.js","sourceRoot":"","sources":["../../src/utils/merge-array-config.utils.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,KAA6C;IAE7C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CACvB,IAA4C,EAC5C,QAAgD;IAEhD,OAAO,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["/**\n * 可数组化类型,值为单值或数组的联合\n *\n * @typeParam T - 数组元素类型\n */\ntype Arrayable<T> = T | T[];\n\n/**\n * 将 alwaysBundle 配置规范化为数组\n *\n * @param value - alwaysBundle 配置\n * @returns 规范化后的数组\n */\nfunction normalizeArrayConfig(\n value: Arrayable<string | RegExp> | undefined,\n): (string | RegExp)[] {\n if (value === undefined) return [];\n if (Array.isArray(value)) return value;\n\n return [value];\n}\n\n/**\n * 合并两个 alwaysBundle 配置\n *\n * 用于合并 deps.alwaysBundle。两个来源的元素都会保留,不会去重。\n *\n * @param base - 基础配置\n * @param override - 需要合并的配置\n * @returns 合并后的新数组\n */\nfunction mergeArrayConfig(\n base: Arrayable<string | RegExp> | undefined,\n override: Arrayable<string | RegExp> | undefined,\n): (string | RegExp)[] {\n return [...normalizeArrayConfig(base), ...normalizeArrayConfig(override)];\n}\n\nexport { mergeArrayConfig };\n"]}
@@ -0,0 +1,21 @@
1
+ import type { ExternalOption } from 'rolldown';
2
+ /**
3
+ * 将 ExternalOption 规范化为数组
4
+ *
5
+ * @param external - 外部依赖配置选项
6
+ * @returns 规范化后的外部依赖数组
7
+ */
8
+ declare function normalizeExternal(external: ExternalOption | undefined): (string | RegExp)[];
9
+ /**
10
+ * 合并两个 ExternalOption 配置
11
+ *
12
+ * 用于合并 deps.neverBundle 等外部依赖配置。
13
+ * 如果任一参数是函数,则直接返回 override(因为函数无法合并)。
14
+ *
15
+ * @param base - 基础外部依赖配置
16
+ * @param override - 覆盖的外部依赖配置
17
+ * @returns 合并后的外部依赖配置
18
+ */
19
+ declare function mergeExternalConfig(base: ExternalOption | undefined, override: ExternalOption | undefined): ExternalOption | undefined;
20
+ export { mergeExternalConfig, normalizeExternal };
21
+ //# sourceMappingURL=merge-external-config.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-external-config.utils.d.ts","sourceRoot":"","sources":["../../src/utils/merge-external-config.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;GAKG;AACH,iBAAS,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAcpF;AAED;;;;;;;;;GASG;AACH,iBAAS,mBAAmB,CAC1B,IAAI,EAAE,cAAc,GAAG,SAAS,EAChC,QAAQ,EAAE,cAAc,GAAG,SAAS,GACnC,cAAc,GAAG,SAAS,CAyB5B;AAED,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * 将 ExternalOption 规范化为数组
3
+ *
4
+ * @param external - 外部依赖配置选项
5
+ * @returns 规范化后的外部依赖数组
6
+ */
7
+ function normalizeExternal(external) {
8
+ if (!external) {
9
+ return [];
10
+ }
11
+ if (typeof external === 'function') {
12
+ return [];
13
+ }
14
+ if (Array.isArray(external)) {
15
+ return external;
16
+ }
17
+ return [external];
18
+ }
19
+ /**
20
+ * 合并两个 ExternalOption 配置
21
+ *
22
+ * 用于合并 deps.neverBundle 等外部依赖配置。
23
+ * 如果任一参数是函数,则直接返回 override(因为函数无法合并)。
24
+ *
25
+ * @param base - 基础外部依赖配置
26
+ * @param override - 覆盖的外部依赖配置
27
+ * @returns 合并后的外部依赖配置
28
+ */
29
+ function mergeExternalConfig(base, override) {
30
+ if (typeof override === 'function') {
31
+ return override;
32
+ }
33
+ if (typeof base === 'function') {
34
+ return override;
35
+ }
36
+ /**
37
+ * 规范化基础外部依赖配置
38
+ */
39
+ const baseArray = normalizeExternal(base);
40
+ /**
41
+ * 规范化覆盖外部依赖配置
42
+ */
43
+ const overrideArray = normalizeExternal(override);
44
+ /**
45
+ * 合并后的外部依赖数组
46
+ */
47
+ const merged = [...baseArray, ...overrideArray];
48
+ return merged.length > 0 ? merged : undefined;
49
+ }
50
+ export { mergeExternalConfig, normalizeExternal };
51
+ //# sourceMappingURL=merge-external-config.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-external-config.utils.js","sourceRoot":"","sources":["../../src/utils/merge-external-config.utils.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,QAAoC;IAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,mBAAmB,CAC1B,IAAgC,EAChC,QAAoC;IAEpC,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE1C;;OAEG;IACH,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAElD;;OAEG;IACH,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,aAAa,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import type { ExternalOption } from 'rolldown';\n\n/**\n * 将 ExternalOption 规范化为数组\n *\n * @param external - 外部依赖配置选项\n * @returns 规范化后的外部依赖数组\n */\nfunction normalizeExternal(external: ExternalOption | undefined): (string | RegExp)[] {\n if (!external) {\n return [];\n }\n\n if (typeof external === 'function') {\n return [];\n }\n\n if (Array.isArray(external)) {\n return external;\n }\n\n return [external];\n}\n\n/**\n * 合并两个 ExternalOption 配置\n *\n * 用于合并 deps.neverBundle 等外部依赖配置。\n * 如果任一参数是函数,则直接返回 override(因为函数无法合并)。\n *\n * @param base - 基础外部依赖配置\n * @param override - 覆盖的外部依赖配置\n * @returns 合并后的外部依赖配置\n */\nfunction mergeExternalConfig(\n base: ExternalOption | undefined,\n override: ExternalOption | undefined,\n): ExternalOption | undefined {\n if (typeof override === 'function') {\n return override;\n }\n\n if (typeof base === 'function') {\n return override;\n }\n\n /**\n * 规范化基础外部依赖配置\n */\n const baseArray = normalizeExternal(base);\n\n /**\n * 规范化覆盖外部依赖配置\n */\n const overrideArray = normalizeExternal(override);\n\n /**\n * 合并后的外部依赖数组\n */\n const merged = [...baseArray, ...overrideArray];\n\n return merged.length > 0 ? merged : undefined;\n}\n\nexport { mergeExternalConfig, normalizeExternal };\n"]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 检测并返回正确的 tsconfig 路径
3
+ *
4
+ * 按优先级检测并返回 tsconfig 文件路径:
5
+ * 1. tsconfig/build.json(构建配置,tsgo --build 专用)
6
+ * 2. tsconfig/app.json(IDE/类型检查配置)
7
+ * 3. tsconfig.app.json(根目录模式)
8
+ * 4. tsconfig.json(默认)
9
+ *
10
+ * @param cwd - 当前工作目录,默认为 process.cwd()
11
+ * @returns tsconfig 文件绝对路径
12
+ */
13
+ declare function resolveTsconfig(cwd?: string): string;
14
+ export { resolveTsconfig };
15
+ //# sourceMappingURL=resolve-tsconfig.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-tsconfig.utils.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-tsconfig.utils.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AACH,iBAAS,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CA0B5D;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { resolve } from 'node:path';
3
+ /**
4
+ * 检测并返回正确的 tsconfig 路径
5
+ *
6
+ * 按优先级检测并返回 tsconfig 文件路径:
7
+ * 1. tsconfig/build.json(构建配置,tsgo --build 专用)
8
+ * 2. tsconfig/app.json(IDE/类型检查配置)
9
+ * 3. tsconfig.app.json(根目录模式)
10
+ * 4. tsconfig.json(默认)
11
+ *
12
+ * @param cwd - 当前工作目录,默认为 process.cwd()
13
+ * @returns tsconfig 文件绝对路径
14
+ */
15
+ function resolveTsconfig(cwd = process.cwd()) {
16
+ /**
17
+ * 构建配置路径 tsconfig/build.json
18
+ */
19
+ const buildConfigPath = resolve(cwd, 'tsconfig/build.json');
20
+ if (existsSync(buildConfigPath)) {
21
+ return buildConfigPath;
22
+ }
23
+ /**
24
+ * 应用配置路径 tsconfig/app.json
25
+ */
26
+ const appConfigPath = resolve(cwd, 'tsconfig/app.json');
27
+ if (existsSync(appConfigPath)) {
28
+ return appConfigPath;
29
+ }
30
+ /**
31
+ * 根目录应用配置路径 tsconfig.app.json
32
+ */
33
+ const rootAppConfigPath = resolve(cwd, 'tsconfig.app.json');
34
+ if (existsSync(rootAppConfigPath)) {
35
+ return rootAppConfigPath;
36
+ }
37
+ return resolve(cwd, 'tsconfig.json');
38
+ }
39
+ export { resolveTsconfig };
40
+ //# sourceMappingURL=resolve-tsconfig.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-tsconfig.utils.js","sourceRoot":"","sources":["../../src/utils/resolve-tsconfig.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;;;;;;;;;GAWG;AACH,SAAS,eAAe,CAAC,GAAG,GAAW,OAAO,CAAC,GAAG,EAAE;IAClD;;OAEG;IACH,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IAC5D,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAC5D,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAClC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AACvC,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,CAAC","sourcesContent":["import { existsSync } from 'node:fs';\nimport { resolve } from 'node:path';\n\n/**\n * 检测并返回正确的 tsconfig 路径\n *\n * 按优先级检测并返回 tsconfig 文件路径:\n * 1. tsconfig/build.json(构建配置,tsgo --build 专用)\n * 2. tsconfig/app.json(IDE/类型检查配置)\n * 3. tsconfig.app.json(根目录模式)\n * 4. tsconfig.json(默认)\n *\n * @param cwd - 当前工作目录,默认为 process.cwd()\n * @returns tsconfig 文件绝对路径\n */\nfunction resolveTsconfig(cwd: string = process.cwd()): string {\n /**\n * 构建配置路径 tsconfig/build.json\n */\n const buildConfigPath = resolve(cwd, 'tsconfig/build.json');\n if (existsSync(buildConfigPath)) {\n return buildConfigPath;\n }\n\n /**\n * 应用配置路径 tsconfig/app.json\n */\n const appConfigPath = resolve(cwd, 'tsconfig/app.json');\n if (existsSync(appConfigPath)) {\n return appConfigPath;\n }\n\n /**\n * 根目录应用配置路径 tsconfig.app.json\n */\n const rootAppConfigPath = resolve(cwd, 'tsconfig.app.json');\n if (existsSync(rootAppConfigPath)) {\n return rootAppConfigPath;\n }\n\n return resolve(cwd, 'tsconfig.json');\n}\n\nexport { resolveTsconfig };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@longzai-intelligence-builder/core",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "private": false,
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -30,7 +30,9 @@
30
30
  "test:coverage": "bun test --coverage",
31
31
  "clean": "rimraf dist out .cache"
32
32
  },
33
- "dependencies": {},
33
+ "dependencies": {
34
+ "@longzai-intelligence-builder/config": "0.0.3"
35
+ },
34
36
  "devDependencies": {
35
37
  "@typescript/native-preview": "^7.0.0-dev.20260707.2"
36
38
  },