@longzai-intelligence-builder/core 0.0.1 → 0.0.2
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/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/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 +1 -1
|
@@ -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"]}
|
|
@@ -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"]}
|