@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.
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/types.d.ts +1 -129
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/factories/create-config.factory.d.ts +23 -0
- package/dist/factories/index.d.ts +2 -0
- package/dist/factories/index.js +2 -0
- package/dist/factories/index.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/merge-array-config.utils.d.ts +18 -0
- package/dist/utils/merge-array-config.utils.d.ts.map +1 -0
- package/dist/utils/merge-array-config.utils.js +27 -0
- package/dist/utils/merge-array-config.utils.js.map +1 -0
- package/dist/utils/merge-external-config.utils.d.ts +21 -0
- package/dist/utils/merge-external-config.utils.d.ts.map +1 -0
- package/dist/utils/merge-external-config.utils.js +51 -0
- package/dist/utils/merge-external-config.utils.js.map +1 -0
- package/dist/utils/resolve-tsconfig.utils.d.ts +15 -0
- package/dist/utils/resolve-tsconfig.utils.d.ts.map +1 -0
- package/dist/utils/resolve-tsconfig.utils.js +40 -0
- package/dist/utils/resolve-tsconfig.utils.js.map +1 -0
- package/package.json +4 -2
package/dist/core/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig,
|
|
1
|
+
export type { BuildFormat, BuilderConfig, ConfigOptions, DepsOptions, DtsOptions, EntryConfig, PresetDefinition, } from './types.js';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,
|
|
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"}
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"","sourcesContent":["export type {
|
|
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"]}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -1,130 +1,2 @@
|
|
|
1
|
-
|
|
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
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,
|
|
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"}
|
package/dist/core/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"","sourcesContent":["
|
|
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 @@
|
|
|
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,
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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 @@
|
|
|
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 @@
|
|
|
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.
|
|
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
|
},
|