tanmi-dock 0.10.0-beta → 1.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/README.md +8 -5
- package/dist/commands/check.d.ts +36 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +61 -7
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/link.d.ts +3 -2
- package/dist/commands/link.d.ts.map +1 -1
- package/dist/commands/link.js +373 -98
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +46 -17
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +145 -20
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/unavailable.d.ts.map +1 -1
- package/dist/commands/unavailable.js +7 -2
- package/dist/commands/unavailable.js.map +1 -1
- package/dist/core/codepac.d.ts +44 -0
- package/dist/core/codepac.d.ts.map +1 -1
- package/dist/core/codepac.js +287 -5
- package/dist/core/codepac.js.map +1 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +1 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/linker.d.ts +7 -0
- package/dist/core/linker.d.ts.map +1 -1
- package/dist/core/linker.js +47 -0
- package/dist/core/linker.js.map +1 -1
- package/dist/core/parser.d.ts +30 -5
- package/dist/core/parser.d.ts.map +1 -1
- package/dist/core/parser.js +375 -56
- package/dist/core/parser.js.map +1 -1
- package/dist/core/store.d.ts +2 -0
- package/dist/core/store.d.ts.map +1 -1
- package/dist/core/store.js +32 -6
- package/dist/core/store.js.map +1 -1
- package/dist/types/index.d.ts +61 -10
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/git.d.ts +20 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +181 -4
- package/dist/utils/git.js.map +1 -1
- package/package.json +1 -1
package/dist/core/linker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linker.js","sourceRoot":"","sources":["../../src/core/linker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"linker.js","sourceRoot":"","sources":["../../src/core/linker.ts"],"names":[],"mappings":"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"}
|
package/dist/core/parser.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CodepacDep, ParsedDependency, ActionConfig, ParsedAction } from '../types/index.js';
|
|
1
|
+
import type { CodepacDep, ParsedDependency, ActionConfig, ParsedAction, ActionExecutionPlan } from '../types/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* 可选配置文件信息
|
|
4
4
|
*/
|
|
@@ -17,6 +17,23 @@ export interface ConfigDiscoveryResult {
|
|
|
17
17
|
/** 可选配置文件列表(不含主配置),按名称排序 */
|
|
18
18
|
optionalConfigs: OptionalConfigInfo[];
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* 依赖和 action 提取选项
|
|
22
|
+
*/
|
|
23
|
+
export interface CodepacExtractOptions {
|
|
24
|
+
/** codepac 平台 key,例如 mac、ios、android */
|
|
25
|
+
platforms?: string[];
|
|
26
|
+
/** 日志中展示的配置来源 */
|
|
27
|
+
configPath?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface BuildActionExecutionPlanOptions {
|
|
30
|
+
/** action 所在配置文件路径 */
|
|
31
|
+
parentConfigPath: string;
|
|
32
|
+
/** 父级目标目录,configdir 与 targetdir 都相对该目录解析 */
|
|
33
|
+
parentTargetDir: string;
|
|
34
|
+
/** 父级传入的 codepac 平台 key */
|
|
35
|
+
inheritedCodepacPlatforms?: string[];
|
|
36
|
+
}
|
|
20
37
|
/**
|
|
21
38
|
* 查找 codepac 配置文件
|
|
22
39
|
* @param projectPath 项目路径
|
|
@@ -50,15 +67,17 @@ export declare function parseCodepacDep(configPath: string): Promise<CodepacDep>
|
|
|
50
67
|
/**
|
|
51
68
|
* 从配置中提取依赖列表
|
|
52
69
|
* @param config 配置对象
|
|
70
|
+
* @param options 平台筛选选项
|
|
53
71
|
* @returns 依赖列表
|
|
54
72
|
*/
|
|
55
|
-
export declare function extractDependencies(config: CodepacDep): ParsedDependency[];
|
|
73
|
+
export declare function extractDependencies(config: CodepacDep, options?: CodepacExtractOptions): ParsedDependency[];
|
|
56
74
|
/**
|
|
57
75
|
* 从配置中提取 actions 列表
|
|
58
76
|
* @param config 配置对象
|
|
77
|
+
* @param options 平台筛选选项
|
|
59
78
|
* @returns actions 列表,如果没有则返回空数组
|
|
60
79
|
*/
|
|
61
|
-
export declare function extractActions(config: CodepacDep): ActionConfig[];
|
|
80
|
+
export declare function extractActions(config: CodepacDep, options?: CodepacExtractOptions): ActionConfig[];
|
|
62
81
|
/**
|
|
63
82
|
* 解析 action 命令字符串
|
|
64
83
|
* 支持两种格式:
|
|
@@ -68,13 +87,18 @@ export declare function extractActions(config: CodepacDep): ActionConfig[];
|
|
|
68
87
|
* @returns 解析后的 action 对象
|
|
69
88
|
*/
|
|
70
89
|
export declare function parseActionCommand(command: string): ParsedAction;
|
|
90
|
+
/**
|
|
91
|
+
* 生成 action 递归执行计划
|
|
92
|
+
* 与 CodePac 保持一致:configdir 与 targetdir 都相对当前 action 的父级目标目录解析。
|
|
93
|
+
*/
|
|
94
|
+
export declare function buildActionExecutionPlan(action: ActionConfig, options: BuildActionExecutionPlanOptions): ActionExecutionPlan;
|
|
71
95
|
/**
|
|
72
96
|
* 从嵌套配置中提取指定库的依赖
|
|
73
97
|
* @param nestedConfigPath 嵌套配置文件路径
|
|
74
98
|
* @param libraries 需要提取的库名列表
|
|
75
99
|
* @returns 依赖列表、变量定义和嵌套 actions
|
|
76
100
|
*/
|
|
77
|
-
export declare function extractNestedDependencies(nestedConfigPath: string, libraries: string[]): Promise<{
|
|
101
|
+
export declare function extractNestedDependencies(nestedConfigPath: string, libraries: string[], options?: CodepacExtractOptions): Promise<{
|
|
78
102
|
dependencies: ParsedDependency[];
|
|
79
103
|
vars?: Record<string, string>;
|
|
80
104
|
nestedActions: ActionConfig[];
|
|
@@ -85,7 +109,7 @@ export declare function extractNestedDependencies(nestedConfigPath: string, libr
|
|
|
85
109
|
* @returns 依赖列表、配置路径和变量定义
|
|
86
110
|
* @throws 找不到配置文件或解析失败时抛出异常
|
|
87
111
|
*/
|
|
88
|
-
export declare function parseProjectDependencies(projectPath: string): Promise<{
|
|
112
|
+
export declare function parseProjectDependencies(projectPath: string, options?: CodepacExtractOptions): Promise<{
|
|
89
113
|
dependencies: ParsedDependency[];
|
|
90
114
|
configPath: string;
|
|
91
115
|
vars?: Record<string, string>;
|
|
@@ -108,6 +132,7 @@ declare const _default: {
|
|
|
108
132
|
extractDependencies: typeof extractDependencies;
|
|
109
133
|
extractActions: typeof extractActions;
|
|
110
134
|
parseActionCommand: typeof parseActionCommand;
|
|
135
|
+
buildActionExecutionPlan: typeof buildActionExecutionPlan;
|
|
111
136
|
extractNestedDependencies: typeof extractNestedDependencies;
|
|
112
137
|
parseProjectDependencies: typeof parseProjectDependencies;
|
|
113
138
|
getRelativeConfigPath: typeof getRelativeConfigPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/core/parser.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/core/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/core/parser.js
CHANGED
|
@@ -103,45 +103,215 @@ function validateCodepacDep(config, configPath) {
|
|
|
103
103
|
if (!obj.repos || typeof obj.repos !== 'object') {
|
|
104
104
|
throw new Error(`配置文件格式错误: 缺少 repos 字段 (${configPath})`);
|
|
105
105
|
}
|
|
106
|
-
|
|
107
|
-
if (
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
// 验证每个 repo 配置
|
|
111
|
-
for (let i = 0; i < repos.common.length; i++) {
|
|
112
|
-
const repo = repos.common[i];
|
|
113
|
-
if (!repo || typeof repo !== 'object') {
|
|
114
|
-
throw new Error(`配置文件格式错误: repos.common[${i}] 必须是对象 (${configPath})`);
|
|
115
|
-
}
|
|
116
|
-
const required = ['url', 'commit', 'branch', 'dir'];
|
|
117
|
-
for (const field of required) {
|
|
118
|
-
if (typeof repo[field] !== 'string') {
|
|
119
|
-
throw new Error(`配置文件格式错误: repos.common[${i}].${field} 必须是字符串 (${configPath})`);
|
|
120
|
-
}
|
|
106
|
+
validateRepoGroups(obj.repos, configPath);
|
|
107
|
+
if (obj.actions !== undefined) {
|
|
108
|
+
if (!obj.actions || typeof obj.actions !== 'object' || Array.isArray(obj.actions)) {
|
|
109
|
+
throw new Error(`配置文件格式错误: actions 必须是对象 (${configPath})`);
|
|
121
110
|
}
|
|
111
|
+
validateActionGroups(obj.actions, configPath);
|
|
122
112
|
}
|
|
123
113
|
}
|
|
124
114
|
/**
|
|
125
115
|
* 从配置中提取依赖列表
|
|
126
116
|
* @param config 配置对象
|
|
117
|
+
* @param options 平台筛选选项
|
|
127
118
|
* @returns 依赖列表
|
|
128
119
|
*/
|
|
129
|
-
export function extractDependencies(config) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
sparse: repo.sparse,
|
|
136
|
-
}));
|
|
120
|
+
export function extractDependencies(config, options = {}) {
|
|
121
|
+
const result = filterByPlatform(config.repos, options.platforms);
|
|
122
|
+
const dependencies = result.items.map((repo) => normalizeRepoConfig(repo, config.vars, options.configPath));
|
|
123
|
+
assertUniqueDependencies(dependencies, options.configPath);
|
|
124
|
+
logger.debug(`CodePac 配置解析: repos 配置=${formatConfigPathForLog(options.configPath)}, 请求平台=${formatPlatformsForLog(options.platforms)}, 命中分组=${formatPlatformsForLog(result.matchedPlatforms)}, 输出依赖=${dependencies.length}`);
|
|
125
|
+
return dependencies;
|
|
137
126
|
}
|
|
138
127
|
/**
|
|
139
128
|
* 从配置中提取 actions 列表
|
|
140
129
|
* @param config 配置对象
|
|
130
|
+
* @param options 平台筛选选项
|
|
141
131
|
* @returns actions 列表,如果没有则返回空数组
|
|
142
132
|
*/
|
|
143
|
-
export function extractActions(config) {
|
|
144
|
-
|
|
133
|
+
export function extractActions(config, options = {}) {
|
|
134
|
+
const result = filterByPlatform(config.actions, options.platforms);
|
|
135
|
+
const actions = result.items.map((action) => ({
|
|
136
|
+
...action,
|
|
137
|
+
command: interpolateCodepacVars(action.command, config.vars),
|
|
138
|
+
dir: action.dir ? interpolateCodepacVars(action.dir, config.vars) : action.dir,
|
|
139
|
+
name: action.name ? interpolateCodepacVars(action.name, config.vars) : action.name,
|
|
140
|
+
}));
|
|
141
|
+
logger.debug(`CodePac 配置解析: actions 配置=${formatConfigPathForLog(options.configPath)}, 请求平台=${formatPlatformsForLog(options.platforms)}, 命中分组=${formatPlatformsForLog(result.matchedPlatforms)}, 输出动作=${actions.length}`);
|
|
142
|
+
return actions;
|
|
143
|
+
}
|
|
144
|
+
function validateRepoGroups(repos, configPath) {
|
|
145
|
+
for (const [platform, items] of Object.entries(repos)) {
|
|
146
|
+
if (!Array.isArray(items)) {
|
|
147
|
+
throw new Error(`配置文件格式错误: repos.${platform} 必须是数组 (${configPath})`);
|
|
148
|
+
}
|
|
149
|
+
items.forEach((item, index) => {
|
|
150
|
+
if (!item || typeof item !== 'object' || Array.isArray(item)) {
|
|
151
|
+
throw new Error(`配置文件格式错误: repos.${platform}[${index}] 必须是对象 (${configPath})`);
|
|
152
|
+
}
|
|
153
|
+
const repo = item;
|
|
154
|
+
const required = ['url', 'commit', 'branch', 'dir'];
|
|
155
|
+
for (const field of required) {
|
|
156
|
+
if (typeof repo[field] !== 'string') {
|
|
157
|
+
throw new Error(`配置文件格式错误: repos.${platform}[${index}].${field} 必须是字符串 (${configPath})`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (repo.name !== undefined && typeof repo.name !== 'string') {
|
|
161
|
+
throw new Error(`配置文件格式错误: repos.${platform}[${index}].name 必须是字符串 (${configPath})`);
|
|
162
|
+
}
|
|
163
|
+
if (repo.source !== undefined && (!repo.source || typeof repo.source !== 'object' || Array.isArray(repo.source))) {
|
|
164
|
+
throw new Error(`配置文件格式错误: repos.${platform}[${index}].source 必须是对象 (${configPath})`);
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
function validateActionGroups(actions, configPath) {
|
|
170
|
+
for (const [platform, items] of Object.entries(actions)) {
|
|
171
|
+
if (!Array.isArray(items)) {
|
|
172
|
+
throw new Error(`配置文件格式错误: actions.${platform} 必须是数组 (${configPath})`);
|
|
173
|
+
}
|
|
174
|
+
items.forEach((item, index) => {
|
|
175
|
+
if (!item || typeof item !== 'object' || Array.isArray(item)) {
|
|
176
|
+
throw new Error(`配置文件格式错误: actions.${platform}[${index}] 必须是对象 (${configPath})`);
|
|
177
|
+
}
|
|
178
|
+
const action = item;
|
|
179
|
+
if (typeof action.command !== 'string') {
|
|
180
|
+
throw new Error(`配置文件格式错误: actions.${platform}[${index}].command 必须是字符串 (${configPath})`);
|
|
181
|
+
}
|
|
182
|
+
if (action.dir !== undefined && typeof action.dir !== 'string') {
|
|
183
|
+
throw new Error(`配置文件格式错误: actions.${platform}[${index}].dir 必须是字符串 (${configPath})`);
|
|
184
|
+
}
|
|
185
|
+
if (action.name !== undefined && typeof action.name !== 'string') {
|
|
186
|
+
throw new Error(`配置文件格式错误: actions.${platform}[${index}].name 必须是字符串 (${configPath})`);
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function filterByPlatform(groups, platforms) {
|
|
192
|
+
if (!groups)
|
|
193
|
+
return { items: [], matchedPlatforms: [] };
|
|
194
|
+
const requestedPlatforms = platforms ?? [];
|
|
195
|
+
const includeEveryPlatform = requestedPlatforms.includes('all');
|
|
196
|
+
const selected = [];
|
|
197
|
+
const matchedPlatforms = [];
|
|
198
|
+
for (const [platform, items] of Object.entries(groups)) {
|
|
199
|
+
if (!Array.isArray(items))
|
|
200
|
+
continue;
|
|
201
|
+
if (requestedPlatforms.length === 0 ||
|
|
202
|
+
platform === 'common' ||
|
|
203
|
+
platform === 'all' ||
|
|
204
|
+
includeEveryPlatform ||
|
|
205
|
+
requestedPlatforms.includes(platform)) {
|
|
206
|
+
selected.push(...cloneConfigItems(items));
|
|
207
|
+
matchedPlatforms.push(platform);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return { items: selected, matchedPlatforms };
|
|
211
|
+
}
|
|
212
|
+
function cloneConfigItems(items) {
|
|
213
|
+
return items.map((item) => JSON.parse(JSON.stringify(item)));
|
|
214
|
+
}
|
|
215
|
+
function normalizeRepoConfig(repo, vars, configPath) {
|
|
216
|
+
const url = interpolateCodepacVars(repo.url, vars);
|
|
217
|
+
const commit = interpolateCodepacVars(repo.commit, vars);
|
|
218
|
+
const branch = interpolateCodepacVars(repo.branch, vars);
|
|
219
|
+
const dir = interpolateCodepacVars(repo.dir, vars);
|
|
220
|
+
const source = normalizeRepoSource(repo, { url, commit, branch, dir }, vars, configPath);
|
|
221
|
+
const name = repo.name
|
|
222
|
+
? interpolateCodepacVars(repo.name, vars)
|
|
223
|
+
: source.dir || dir;
|
|
224
|
+
return {
|
|
225
|
+
libName: name,
|
|
226
|
+
name,
|
|
227
|
+
dir,
|
|
228
|
+
commit,
|
|
229
|
+
branch,
|
|
230
|
+
url,
|
|
231
|
+
source: {
|
|
232
|
+
...source,
|
|
233
|
+
name: source.name ? interpolateCodepacVars(source.name, vars) : name,
|
|
234
|
+
},
|
|
235
|
+
sparse: interpolateSparse(repo.sparse, vars, configPath),
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
function normalizeRepoSource(repo, resolved, vars, configPath) {
|
|
239
|
+
if (!repo.source) {
|
|
240
|
+
return {
|
|
241
|
+
url: resolved.url,
|
|
242
|
+
commit: resolved.commit,
|
|
243
|
+
branch: resolved.branch,
|
|
244
|
+
dir: resolved.dir,
|
|
245
|
+
name: repo.name ? interpolateCodepacVars(repo.name, vars) : resolved.dir,
|
|
246
|
+
sparse: interpolateSparse(repo.sparse, vars, configPath),
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
return {
|
|
250
|
+
...repo.source,
|
|
251
|
+
url: repo.source.url ? interpolateCodepacVars(repo.source.url, vars) : repo.source.url,
|
|
252
|
+
commit: repo.source.commit ? interpolateCodepacVars(repo.source.commit, vars) : repo.source.commit,
|
|
253
|
+
branch: repo.source.branch ? interpolateCodepacVars(repo.source.branch, vars) : repo.source.branch,
|
|
254
|
+
dir: interpolateCodepacVars(repo.source.dir, vars),
|
|
255
|
+
name: repo.source.name ? interpolateCodepacVars(repo.source.name, vars) : repo.source.name,
|
|
256
|
+
sparse: interpolateSparse(repo.source.sparse, vars, configPath),
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
function interpolateSparse(sparse, vars, configPath) {
|
|
260
|
+
if (typeof sparse === 'string') {
|
|
261
|
+
const resolved = interpolateCodepacVars(sparse, vars);
|
|
262
|
+
try {
|
|
263
|
+
const parsed = JSON.parse(resolved);
|
|
264
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
265
|
+
throw new Error('sparse 必须解析为对象');
|
|
266
|
+
}
|
|
267
|
+
return parsed;
|
|
268
|
+
}
|
|
269
|
+
catch (err) {
|
|
270
|
+
const source = configPath ? ` (${configPath})` : '';
|
|
271
|
+
throw new Error(`配置文件格式错误: sparse 字符串必须是可解析的 JSON 对象${source}: ${err.message}`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
return sparse;
|
|
275
|
+
}
|
|
276
|
+
function interpolateCodepacVars(text, vars) {
|
|
277
|
+
if (!vars)
|
|
278
|
+
return text;
|
|
279
|
+
return text.replace(/\$\{([^}]+)\}/g, (_match, key) => vars[key] ?? `\${${key}}`);
|
|
280
|
+
}
|
|
281
|
+
function assertUniqueDependencies(dependencies, configPath) {
|
|
282
|
+
const names = new Set();
|
|
283
|
+
const dirs = new Set();
|
|
284
|
+
const duplicateNames = new Set();
|
|
285
|
+
const duplicateDirs = new Set();
|
|
286
|
+
for (const dependency of dependencies) {
|
|
287
|
+
if (names.has(dependency.name)) {
|
|
288
|
+
duplicateNames.add(dependency.name);
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
names.add(dependency.name);
|
|
292
|
+
}
|
|
293
|
+
if (dirs.has(dependency.dir)) {
|
|
294
|
+
duplicateDirs.add(dependency.dir);
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
dirs.add(dependency.dir);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
if (duplicateNames.size > 0 || duplicateDirs.size > 0) {
|
|
301
|
+
const source = configPath ? ` (${configPath})` : '';
|
|
302
|
+
const parts = [];
|
|
303
|
+
if (duplicateDirs.size > 0)
|
|
304
|
+
parts.push(`重复 dir: ${Array.from(duplicateDirs).join(', ')}`);
|
|
305
|
+
if (duplicateNames.size > 0)
|
|
306
|
+
parts.push(`重复 name: ${Array.from(duplicateNames).join(', ')}`);
|
|
307
|
+
throw new Error(`配置文件格式错误: ${parts.join(';')}${source}`);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
function formatPlatformsForLog(platforms) {
|
|
311
|
+
return platforms && platforms.length > 0 ? platforms.join(',') : 'common';
|
|
312
|
+
}
|
|
313
|
+
function formatConfigPathForLog(configPath) {
|
|
314
|
+
return configPath ?? 'unknown';
|
|
145
315
|
}
|
|
146
316
|
/**
|
|
147
317
|
* 解析 action 命令字符串
|
|
@@ -152,35 +322,179 @@ export function extractActions(config) {
|
|
|
152
322
|
* @returns 解析后的 action 对象
|
|
153
323
|
*/
|
|
154
324
|
export function parseActionCommand(command) {
|
|
325
|
+
const tokens = tokenizeActionCommand(command);
|
|
155
326
|
// 检查是否以 codepac install 开头
|
|
156
|
-
if (
|
|
327
|
+
if (tokens[0] !== 'codepac' || tokens[1] !== 'install') {
|
|
157
328
|
throw new Error(`无法解析 action 命令,期望 'codepac install' 开头: ${command}`);
|
|
158
329
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
330
|
+
const libraries = [];
|
|
331
|
+
let configDir;
|
|
332
|
+
let targetDir;
|
|
333
|
+
let disableAction = false;
|
|
334
|
+
let hasExplicitPlatform = false;
|
|
335
|
+
const platforms = [];
|
|
336
|
+
let hasExplicitFullGit = false;
|
|
337
|
+
let hasExplicitUnshallow = false;
|
|
338
|
+
let hasExplicitDisableSparse = false;
|
|
339
|
+
for (let index = 2; index < tokens.length; index++) {
|
|
340
|
+
const token = tokens[index];
|
|
341
|
+
if (token === '--disable_action' || token === '-dc') {
|
|
342
|
+
disableAction = true;
|
|
343
|
+
continue;
|
|
344
|
+
}
|
|
345
|
+
if (token === '--platform' || token === '-p') {
|
|
346
|
+
hasExplicitPlatform = true;
|
|
347
|
+
const { values, nextIndex } = readActionVariadicOptionValues(tokens, index, token, command);
|
|
348
|
+
platforms.push(...values);
|
|
349
|
+
index = nextIndex;
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
if (token === '--fullgit' || token === '-fg') {
|
|
353
|
+
hasExplicitFullGit = true;
|
|
354
|
+
continue;
|
|
355
|
+
}
|
|
356
|
+
if (token === '--unshallow' || token === '-us') {
|
|
357
|
+
hasExplicitUnshallow = true;
|
|
358
|
+
continue;
|
|
359
|
+
}
|
|
360
|
+
if (token === '--disable_sparse' || token === '-ds') {
|
|
361
|
+
hasExplicitDisableSparse = true;
|
|
362
|
+
continue;
|
|
363
|
+
}
|
|
364
|
+
if (token === '--configdir' || token === '-cd') {
|
|
365
|
+
configDir = readActionOptionValue(tokens, index, token, command);
|
|
366
|
+
index++;
|
|
367
|
+
continue;
|
|
368
|
+
}
|
|
369
|
+
if (token === '--targetdir' || token === '-td') {
|
|
370
|
+
const { value, consumed } = readOptionalActionOptionValue(tokens, index);
|
|
371
|
+
if (value !== undefined && value !== '') {
|
|
372
|
+
targetDir = value;
|
|
373
|
+
}
|
|
374
|
+
if (consumed)
|
|
375
|
+
index++;
|
|
376
|
+
continue;
|
|
377
|
+
}
|
|
378
|
+
if (token.startsWith('--') || token.startsWith('-')) {
|
|
379
|
+
const next = tokens[index + 1];
|
|
380
|
+
if (next && !next.startsWith('-')) {
|
|
381
|
+
index++;
|
|
382
|
+
}
|
|
383
|
+
continue;
|
|
384
|
+
}
|
|
385
|
+
libraries.push(token);
|
|
386
|
+
}
|
|
387
|
+
if (!configDir) {
|
|
162
388
|
throw new Error(`无法解析 action 命令,缺少 --configdir 参数: ${command}`);
|
|
163
389
|
}
|
|
164
|
-
const configDir = configDirMatch[1];
|
|
165
|
-
// 提取 --targetdir 参数(可选,默认为 configdir)
|
|
166
|
-
const targetDirMatch = command.match(/--targetdir\s+(\S+)/);
|
|
167
|
-
const targetDir = targetDirMatch ? targetDirMatch[1] : configDir;
|
|
168
|
-
// 检查 --disable_action 标志
|
|
169
|
-
const disableAction = command.includes('--disable_action');
|
|
170
|
-
// 提取库名列表(在 'codepac install ' 后,--configdir 前的部分)
|
|
171
|
-
const afterInstall = command.slice('codepac install '.length);
|
|
172
|
-
const beforeConfigDir = afterInstall.split('--configdir')[0].trim();
|
|
173
|
-
// 过滤掉任何以 -- 开头的参数
|
|
174
|
-
const libraries = beforeConfigDir
|
|
175
|
-
.split(/\s+/)
|
|
176
|
-
.filter(lib => lib && !lib.startsWith('--'));
|
|
177
390
|
// 旧格式兼容:如果没有指定库名,libraries 为空数组
|
|
178
391
|
// 调用方需要从 configDir 中读取 codepac-dep.json 来获取所有库
|
|
179
392
|
return {
|
|
180
393
|
libraries,
|
|
181
394
|
configDir,
|
|
182
|
-
targetDir,
|
|
395
|
+
targetDir: targetDir ?? configDir,
|
|
183
396
|
disableAction,
|
|
397
|
+
hasExplicitPlatform,
|
|
398
|
+
platforms,
|
|
399
|
+
hasExplicitFullGit,
|
|
400
|
+
hasExplicitUnshallow,
|
|
401
|
+
hasExplicitDisableSparse,
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
function readActionOptionValue(tokens, index, option, command) {
|
|
405
|
+
const value = tokens[index + 1];
|
|
406
|
+
if (!value || value.startsWith('-')) {
|
|
407
|
+
throw new Error(`无法解析 action 命令,${option} 缺少参数值: ${command}`);
|
|
408
|
+
}
|
|
409
|
+
return value;
|
|
410
|
+
}
|
|
411
|
+
function readOptionalActionOptionValue(tokens, index) {
|
|
412
|
+
const value = tokens[index + 1];
|
|
413
|
+
if (!value || value.startsWith('-')) {
|
|
414
|
+
return { consumed: false };
|
|
415
|
+
}
|
|
416
|
+
return { value, consumed: true };
|
|
417
|
+
}
|
|
418
|
+
function readActionVariadicOptionValues(tokens, index, option, command) {
|
|
419
|
+
const values = [];
|
|
420
|
+
let nextIndex = index;
|
|
421
|
+
for (let valueIndex = index + 1; valueIndex < tokens.length; valueIndex++) {
|
|
422
|
+
const value = tokens[valueIndex];
|
|
423
|
+
if (!value || value.startsWith('-'))
|
|
424
|
+
break;
|
|
425
|
+
values.push(value);
|
|
426
|
+
nextIndex = valueIndex;
|
|
427
|
+
}
|
|
428
|
+
if (values.length === 0) {
|
|
429
|
+
throw new Error(`无法解析 action 命令,${option} 缺少参数值: ${command}`);
|
|
430
|
+
}
|
|
431
|
+
return { values, nextIndex };
|
|
432
|
+
}
|
|
433
|
+
function tokenizeActionCommand(command) {
|
|
434
|
+
const tokens = [];
|
|
435
|
+
let current = '';
|
|
436
|
+
let quote = null;
|
|
437
|
+
let escaped = false;
|
|
438
|
+
for (const char of command) {
|
|
439
|
+
if (escaped) {
|
|
440
|
+
current += char;
|
|
441
|
+
escaped = false;
|
|
442
|
+
continue;
|
|
443
|
+
}
|
|
444
|
+
if (char === '\\') {
|
|
445
|
+
escaped = true;
|
|
446
|
+
continue;
|
|
447
|
+
}
|
|
448
|
+
if (quote) {
|
|
449
|
+
if (char === quote) {
|
|
450
|
+
quote = null;
|
|
451
|
+
}
|
|
452
|
+
else {
|
|
453
|
+
current += char;
|
|
454
|
+
}
|
|
455
|
+
continue;
|
|
456
|
+
}
|
|
457
|
+
if (char === '"' || char === "'") {
|
|
458
|
+
quote = char;
|
|
459
|
+
continue;
|
|
460
|
+
}
|
|
461
|
+
if (/\s/.test(char)) {
|
|
462
|
+
if (current.length > 0) {
|
|
463
|
+
tokens.push(current);
|
|
464
|
+
current = '';
|
|
465
|
+
}
|
|
466
|
+
continue;
|
|
467
|
+
}
|
|
468
|
+
current += char;
|
|
469
|
+
}
|
|
470
|
+
if (current.length > 0) {
|
|
471
|
+
tokens.push(current);
|
|
472
|
+
}
|
|
473
|
+
return tokens;
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* 生成 action 递归执行计划
|
|
477
|
+
* 与 CodePac 保持一致:configdir 与 targetdir 都相对当前 action 的父级目标目录解析。
|
|
478
|
+
*/
|
|
479
|
+
export function buildActionExecutionPlan(action, options) {
|
|
480
|
+
const parsed = parseActionCommand(action.command);
|
|
481
|
+
const inheritedPlatforms = options.inheritedCodepacPlatforms ?? [];
|
|
482
|
+
const effectiveCodepacPlatforms = parsed.hasExplicitPlatform
|
|
483
|
+
? [...new Set(parsed.platforms)]
|
|
484
|
+
: inheritedPlatforms;
|
|
485
|
+
const nestedConfigDir = path.resolve(options.parentTargetDir, parsed.configDir);
|
|
486
|
+
const nestedTargetDir = path.resolve(options.parentTargetDir, parsed.targetDir);
|
|
487
|
+
return {
|
|
488
|
+
actionName: action.name,
|
|
489
|
+
command: action.command,
|
|
490
|
+
parsed,
|
|
491
|
+
configDir: parsed.configDir,
|
|
492
|
+
targetDir: parsed.targetDir,
|
|
493
|
+
nestedConfigPath: path.join(nestedConfigDir, CONFIG_FILENAME),
|
|
494
|
+
nestedTargetDir,
|
|
495
|
+
inheritedPlatforms,
|
|
496
|
+
effectiveCodepacPlatforms,
|
|
497
|
+
libraries: parsed.libraries,
|
|
184
498
|
};
|
|
185
499
|
}
|
|
186
500
|
/**
|
|
@@ -189,20 +503,21 @@ export function parseActionCommand(command) {
|
|
|
189
503
|
* @param libraries 需要提取的库名列表
|
|
190
504
|
* @returns 依赖列表、变量定义和嵌套 actions
|
|
191
505
|
*/
|
|
192
|
-
export async function extractNestedDependencies(nestedConfigPath, libraries) {
|
|
506
|
+
export async function extractNestedDependencies(nestedConfigPath, libraries, options = {}) {
|
|
193
507
|
const config = await parseCodepacDep(nestedConfigPath);
|
|
194
508
|
// 提取库:如果指定了 libraries 则只提取指定的库,否则提取所有库(旧格式兼容)
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
.
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
sparse: repo.sparse,
|
|
203
|
-
}));
|
|
509
|
+
const allDependencies = extractDependencies(config, {
|
|
510
|
+
...options,
|
|
511
|
+
configPath: options.configPath ?? nestedConfigPath,
|
|
512
|
+
});
|
|
513
|
+
const dependencies = allDependencies.filter((repo) => {
|
|
514
|
+
return libraries.length === 0 || libraries.includes(repo.dir) || libraries.includes(repo.name);
|
|
515
|
+
});
|
|
204
516
|
// 提取嵌套的 actions(用于递归处理)
|
|
205
|
-
const nestedActions = extractActions(config
|
|
517
|
+
const nestedActions = extractActions(config, {
|
|
518
|
+
...options,
|
|
519
|
+
configPath: options.configPath ?? nestedConfigPath,
|
|
520
|
+
});
|
|
206
521
|
return {
|
|
207
522
|
dependencies,
|
|
208
523
|
vars: config.vars,
|
|
@@ -215,13 +530,16 @@ export async function extractNestedDependencies(nestedConfigPath, libraries) {
|
|
|
215
530
|
* @returns 依赖列表、配置路径和变量定义
|
|
216
531
|
* @throws 找不到配置文件或解析失败时抛出异常
|
|
217
532
|
*/
|
|
218
|
-
export async function parseProjectDependencies(projectPath) {
|
|
533
|
+
export async function parseProjectDependencies(projectPath, options = {}) {
|
|
219
534
|
const configPath = await findCodepacConfig(projectPath);
|
|
220
535
|
if (!configPath) {
|
|
221
536
|
throw new Error(`找不到 codepac-dep.json 配置文件,已搜索: ${SEARCH_DIRS.join(', ')}`);
|
|
222
537
|
}
|
|
223
538
|
const config = await parseCodepacDep(configPath);
|
|
224
|
-
const dependencies = extractDependencies(config
|
|
539
|
+
const dependencies = extractDependencies(config, {
|
|
540
|
+
...options,
|
|
541
|
+
configPath: options.configPath ?? configPath,
|
|
542
|
+
});
|
|
225
543
|
return { dependencies, configPath, vars: config.vars };
|
|
226
544
|
}
|
|
227
545
|
/**
|
|
@@ -306,6 +624,7 @@ export default {
|
|
|
306
624
|
extractDependencies,
|
|
307
625
|
extractActions,
|
|
308
626
|
parseActionCommand,
|
|
627
|
+
buildActionExecutionPlan,
|
|
309
628
|
extractNestedDependencies,
|
|
310
629
|
parseProjectDependencies,
|
|
311
630
|
getRelativeConfigPath,
|