speccore 8.3.59 → 8.3.61
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/.agents/skills/spec-deploy/SKILL.md +311 -0
- package/.agents/skills/spec-verify/SKILL.md +226 -0
- package/README.md +60 -3
- package/dist/cli.js +52 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/about.d.ts.map +1 -1
- package/dist/commands/about.js +9 -2
- package/dist/commands/about.js.map +1 -1
- package/dist/commands/build.d.ts +9 -0
- package/dist/commands/build.d.ts.map +1 -0
- package/dist/commands/build.js +180 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/deploy.d.ts +11 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +118 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +2 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/iteration/split.d.ts.map +1 -1
- package/dist/commands/iteration/split.js +28 -0
- package/dist/commands/iteration/split.js.map +1 -1
- package/dist/commands/pipeline.d.ts +10 -0
- package/dist/commands/pipeline.d.ts.map +1 -0
- package/dist/commands/pipeline.js +365 -0
- package/dist/commands/pipeline.js.map +1 -0
- package/dist/commands/pr.d.ts +3 -0
- package/dist/commands/pr.d.ts.map +1 -1
- package/dist/commands/pr.js +218 -0
- package/dist/commands/pr.js.map +1 -1
- package/dist/commands/update-env-configs.d.ts +3 -0
- package/dist/commands/update-env-configs.d.ts.map +1 -0
- package/dist/commands/update-env-configs.js +252 -0
- package/dist/commands/update-env-configs.js.map +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +13 -0
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/verify.d.ts +3 -0
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +330 -3
- package/dist/commands/verify.js.map +1 -1
- package/dist/core/deploy/engine.d.ts +25 -0
- package/dist/core/deploy/engine.d.ts.map +1 -0
- package/dist/core/deploy/engine.js +348 -0
- package/dist/core/deploy/engine.js.map +1 -0
- package/dist/core/environment-config.d.ts +61 -0
- package/dist/core/environment-config.d.ts.map +1 -0
- package/dist/core/environment-config.js +178 -0
- package/dist/core/environment-config.js.map +1 -0
- package/dist/core/pipeline-test.d.ts +83 -0
- package/dist/core/pipeline-test.d.ts.map +1 -0
- package/dist/core/pipeline-test.js +467 -0
- package/dist/core/pipeline-test.js.map +1 -0
- package/dist/core/test-config.d.ts +39 -0
- package/dist/core/test-config.d.ts.map +1 -0
- package/dist/core/test-config.js +162 -0
- package/dist/core/test-config.js.map +1 -0
- package/dist/core/ui-verify/spec-generator.d.ts.map +1 -1
- package/dist/core/ui-verify/spec-generator.js +27 -0
- package/dist/core/ui-verify/spec-generator.js.map +1 -1
- package/dist/core/unified-config.d.ts +49 -0
- package/dist/core/unified-config.d.ts.map +1 -1
- package/dist/core/unified-config.js +89 -0
- package/dist/core/unified-config.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface PipelineOptions {
|
|
2
|
+
platforms?: string;
|
|
3
|
+
all?: boolean;
|
|
4
|
+
env?: string;
|
|
5
|
+
envFile?: string;
|
|
6
|
+
skipBuild?: boolean;
|
|
7
|
+
dryRun?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function pipelineCommand(options: PipelineOptions): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/commands/pipeline.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAyCD,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAiV7E"}
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pipelineCommand = pipelineCommand;
|
|
4
|
+
/**
|
|
5
|
+
* pipeline — 环境驱动流水线:合并 → 构建 → [测试] → 部署 → [测试]
|
|
6
|
+
*
|
|
7
|
+
* 工作流:
|
|
8
|
+
* 1. 读取环境配置(--env 或 --env-file)
|
|
9
|
+
* 2. 获取当前 Git 分支作为源分支
|
|
10
|
+
* 3. 从环境配置读取 branch(目标分支)
|
|
11
|
+
* 4. checkout → pull → merge → build → [pre-deploy 测试] → deploy → [post-deploy 测试]
|
|
12
|
+
*
|
|
13
|
+
* 测试时机由 pipeline.test.stage 控制:
|
|
14
|
+
* - pre-deploy: build 后 deploy 前(默认,可阻断部署)
|
|
15
|
+
* - post-deploy: deploy 后(已上线,只报告不阻断)
|
|
16
|
+
* - both: 前后都测
|
|
17
|
+
*
|
|
18
|
+
* 支持单端/多端批量执行,失败不阻断其他端。
|
|
19
|
+
*/
|
|
20
|
+
const child_process_1 = require("child_process");
|
|
21
|
+
const logger_1 = require("../utils/logger");
|
|
22
|
+
const unified_config_1 = require("../core/unified-config");
|
|
23
|
+
const environment_config_1 = require("../core/environment-config");
|
|
24
|
+
const build_1 = require("./build");
|
|
25
|
+
const deploy_1 = require("./deploy");
|
|
26
|
+
const pipeline_test_1 = require("../core/pipeline-test");
|
|
27
|
+
function execGit(cwd, cmd, dryRun) {
|
|
28
|
+
if (dryRun) {
|
|
29
|
+
logger_1.logger.info(` [DRY-RUN] ${cmd}`);
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
(0, child_process_1.execSync)(cmd, { stdio: 'pipe', cwd });
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
logger_1.logger.error(` ❌ git 失败: ${e.message || e}`);
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** 获取当前 Git 分支名 */
|
|
42
|
+
function getCurrentBranch(cwd) {
|
|
43
|
+
try {
|
|
44
|
+
const branch = (0, child_process_1.execSync)('git rev-parse --abbrev-ref HEAD', { cwd, encoding: 'utf-8' }).trim();
|
|
45
|
+
return branch || null;
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
async function pipelineCommand(options) {
|
|
52
|
+
const env = options.env || 'staging';
|
|
53
|
+
const dryRun = options.dryRun || false;
|
|
54
|
+
// 读取环境配置,获取目标分支
|
|
55
|
+
const envConfig = await (0, environment_config_1.loadEnvironmentByNameOrPath)(options.envFile || env);
|
|
56
|
+
const targetBranch = envConfig?.branch;
|
|
57
|
+
if (!targetBranch) {
|
|
58
|
+
logger_1.logger.error(`❌ 环境 "${env}" 未配置 branch 字段`);
|
|
59
|
+
logger_1.logger.info(' 请在环境配置文件中添加 branch,例如:');
|
|
60
|
+
logger_1.logger.info(` .speccore/environments/${env}.yaml`);
|
|
61
|
+
logger_1.logger.info(' ──');
|
|
62
|
+
logger_1.logger.info(` env: ${env}`);
|
|
63
|
+
logger_1.logger.info(` branch: ${env === 'staging' ? 'develop' : env === 'production' ? 'main' : 'your-branch'}`);
|
|
64
|
+
logger_1.logger.info(' ──');
|
|
65
|
+
logger_1.logger.info(' 然后重试: speccore pipeline --env ' + env + ' --all');
|
|
66
|
+
process.exitCode = 1;
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
// 加载项目配置(含环境覆盖)
|
|
70
|
+
const config = await (0, unified_config_1.loadProjectConfigWithEnv)(options.envFile || env);
|
|
71
|
+
if (!config.platforms || config.platforms.length === 0) {
|
|
72
|
+
logger_1.logger.warn('⚠️ PROJECT.yaml 中未配置任何平台');
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
let targets;
|
|
76
|
+
if (options.platforms) {
|
|
77
|
+
const names = options.platforms.split(',').map((n) => n.trim());
|
|
78
|
+
targets = config.platforms.filter((p) => names.includes(p.name));
|
|
79
|
+
if (targets.length === 0) {
|
|
80
|
+
logger_1.logger.error(`❌ 未找到匹配平台: ${options.platforms}`);
|
|
81
|
+
process.exitCode = 1;
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else if (options.all) {
|
|
86
|
+
targets = config.platforms;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
logger_1.logger.info('💡 请指定目标平台:');
|
|
90
|
+
logger_1.logger.info(` speccore pipeline --env ${env} --platforms h5,api`);
|
|
91
|
+
logger_1.logger.info(` speccore pipeline --env ${env} --all`);
|
|
92
|
+
logger_1.logger.info(` 可用平台: ${config.platforms.map((p) => p.name).join(', ')}`);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
// 获取当前分支(作为源分支)
|
|
96
|
+
const firstCwd = targets[0]?.code_path || process.cwd();
|
|
97
|
+
const sourceBranch = getCurrentBranch(firstCwd);
|
|
98
|
+
if (!sourceBranch) {
|
|
99
|
+
logger_1.logger.error('❌ 无法获取当前 Git 分支');
|
|
100
|
+
process.exitCode = 1;
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (sourceBranch === targetBranch) {
|
|
104
|
+
logger_1.logger.warn(`⚠️ 当前分支 (${sourceBranch}) 与目标分支 (${targetBranch}) 相同,跳过 merge`);
|
|
105
|
+
}
|
|
106
|
+
logger_1.logger.info('');
|
|
107
|
+
logger_1.logger.info('┌──────────────────────────────────────────┐');
|
|
108
|
+
logger_1.logger.info('│ Pipeline 执行计划 │');
|
|
109
|
+
logger_1.logger.info('├──────────────────────────────────────────┤');
|
|
110
|
+
logger_1.logger.info(`│ 源分支: ${sourceBranch.padEnd(32)}│`);
|
|
111
|
+
logger_1.logger.info(`│ 目标分支: ${targetBranch.padEnd(30)}│`);
|
|
112
|
+
logger_1.logger.info(`│ 部署环境: ${env.padEnd(30)}│`);
|
|
113
|
+
logger_1.logger.info(`│ 平台数: ${String(targets.length).padEnd(31)}│`);
|
|
114
|
+
logger_1.logger.info(`│ 模式: ${(dryRun ? '预览' : '执行').padEnd(33)}│`);
|
|
115
|
+
logger_1.logger.info('└──────────────────────────────────────────┘');
|
|
116
|
+
logger_1.logger.info('');
|
|
117
|
+
if (dryRun) {
|
|
118
|
+
logger_1.logger.info('📋 涉及平台:');
|
|
119
|
+
for (const p of targets) {
|
|
120
|
+
logger_1.logger.info(` • ${p.name} (${p.type})`);
|
|
121
|
+
}
|
|
122
|
+
logger_1.logger.info('');
|
|
123
|
+
}
|
|
124
|
+
const results = [];
|
|
125
|
+
for (const platform of targets) {
|
|
126
|
+
const cwd = platform.code_path || process.cwd();
|
|
127
|
+
logger_1.logger.info(`🔹 [${platform.name}] 开始处理...`);
|
|
128
|
+
const result = {
|
|
129
|
+
platform: platform.name,
|
|
130
|
+
success: true,
|
|
131
|
+
steps: { checkout: false, merge: false, build: false, test: false, deploy: false },
|
|
132
|
+
};
|
|
133
|
+
// Step 1: checkout to target branch
|
|
134
|
+
logger_1.logger.info(` 1. 切换到 ${targetBranch}...`);
|
|
135
|
+
result.steps.checkout = execGit(cwd, `git checkout "${targetBranch}"`, dryRun);
|
|
136
|
+
if (!result.steps.checkout) {
|
|
137
|
+
result.success = false;
|
|
138
|
+
result.message = 'checkout 失败';
|
|
139
|
+
results.push(result);
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
if (!dryRun) {
|
|
143
|
+
result.steps.checkout = execGit(cwd, `git pull origin "${targetBranch}"`, dryRun);
|
|
144
|
+
if (!result.steps.checkout) {
|
|
145
|
+
result.success = false;
|
|
146
|
+
result.message = 'pull 失败';
|
|
147
|
+
results.push(result);
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// Step 2: merge source branch into target
|
|
152
|
+
if (sourceBranch !== targetBranch) {
|
|
153
|
+
logger_1.logger.info(` 2. 合并 ${sourceBranch} → ${targetBranch}...`);
|
|
154
|
+
result.steps.merge = execGit(cwd, `git merge "${sourceBranch}" --no-edit`, dryRun);
|
|
155
|
+
if (!result.steps.merge) {
|
|
156
|
+
result.success = false;
|
|
157
|
+
result.message = 'merge 失败';
|
|
158
|
+
results.push(result);
|
|
159
|
+
continue;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
logger_1.logger.info(` 2. 跳过 merge(已在目标分支)`);
|
|
164
|
+
result.steps.merge = true;
|
|
165
|
+
}
|
|
166
|
+
// Step 3: build
|
|
167
|
+
if (!options.skipBuild) {
|
|
168
|
+
logger_1.logger.info(` 3. 构建 ${platform.name}...`);
|
|
169
|
+
if (dryRun) {
|
|
170
|
+
logger_1.logger.info(' [DRY-RUN] 将执行构建');
|
|
171
|
+
result.steps.build = true;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
try {
|
|
175
|
+
await (0, build_1.buildCommand)({
|
|
176
|
+
platform: platform.name,
|
|
177
|
+
env,
|
|
178
|
+
envFile: options.envFile,
|
|
179
|
+
});
|
|
180
|
+
result.steps.build = true;
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
result.steps.build = false;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
if (!result.steps.build) {
|
|
187
|
+
result.success = false;
|
|
188
|
+
result.message = '构建失败';
|
|
189
|
+
results.push(result);
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
logger_1.logger.info(' 3. 跳过构建 (--skip-build)');
|
|
195
|
+
result.steps.build = true;
|
|
196
|
+
}
|
|
197
|
+
// Step 4/5: test + deploy(根据 stage 配置决定顺序)
|
|
198
|
+
const pipelineTestConfig = envConfig?.pipeline?.test;
|
|
199
|
+
const testEnabled = pipelineTestConfig?.enabled ?? false;
|
|
200
|
+
const testType = pipelineTestConfig?.type || 'build-check';
|
|
201
|
+
const testStage = pipelineTestConfig?.stage || 'pre-deploy';
|
|
202
|
+
const failOnError = pipelineTestConfig?.fail_on_error ?? true;
|
|
203
|
+
const autoFix = pipelineTestConfig?.auto_fix ?? true;
|
|
204
|
+
// 辅助:执行 pipeline 测试
|
|
205
|
+
async function executePipelineTest(stage) {
|
|
206
|
+
if (!testEnabled)
|
|
207
|
+
return { passed: true, shouldContinue: true };
|
|
208
|
+
if (testStage !== stage && testStage !== 'both')
|
|
209
|
+
return { passed: true, shouldContinue: true };
|
|
210
|
+
const stepNum = stage === 'pre-deploy' ? '4' : '6';
|
|
211
|
+
logger_1.logger.info(` ${stepNum}. 测试 ${platform.name} [${testType}] (${stage})...`);
|
|
212
|
+
if (dryRun) {
|
|
213
|
+
logger_1.logger.info(' [DRY-RUN] 将执行测试');
|
|
214
|
+
return { passed: true, shouldContinue: true };
|
|
215
|
+
}
|
|
216
|
+
const testResult = await (0, pipeline_test_1.runPipelineTest)({
|
|
217
|
+
platform,
|
|
218
|
+
env,
|
|
219
|
+
type: testType,
|
|
220
|
+
envConfig: envConfig || undefined,
|
|
221
|
+
dryRun: false,
|
|
222
|
+
});
|
|
223
|
+
result.steps.test = testResult.passed;
|
|
224
|
+
result.testReport = (0, pipeline_test_1.formatPipelineTestReport)(testResult);
|
|
225
|
+
if (!testResult.passed) {
|
|
226
|
+
logger_1.logger.error(` ❌ 测试失败: ${testResult.error || '未知错误'}`);
|
|
227
|
+
logger_1.logger.info('');
|
|
228
|
+
logger_1.logger.info(result.testReport);
|
|
229
|
+
if (stage === 'post-deploy') {
|
|
230
|
+
// 部署后测试失败:已部署,不能阻断,只报告
|
|
231
|
+
logger_1.logger.warn(` ⚠️ 部署后测试失败,服务已上线,请关注`);
|
|
232
|
+
if (autoFix) {
|
|
233
|
+
logger_1.logger.info('');
|
|
234
|
+
logger_1.logger.info('[SPECCORE_PIPELINE_TEST_POST_DEPLOY_FAIL]');
|
|
235
|
+
logger_1.logger.info(`platform: ${platform.name}`);
|
|
236
|
+
logger_1.logger.info(`env: ${env}`);
|
|
237
|
+
logger_1.logger.info(`type: ${testType}`);
|
|
238
|
+
logger_1.logger.info(`severity: ${testResult.severity}`);
|
|
239
|
+
logger_1.logger.info(`error: ${testResult.error || ''}`);
|
|
240
|
+
logger_1.logger.info('---');
|
|
241
|
+
logger_1.logger.info(result.testReport);
|
|
242
|
+
logger_1.logger.info('[/SPECCORE_PIPELINE_TEST_POST_DEPLOY_FAIL]');
|
|
243
|
+
}
|
|
244
|
+
if (testResult.severity === 'critical') {
|
|
245
|
+
logger_1.logger.warn(` 🚨 严重错误!建议考虑回滚: speccore deploy --env ${env} --platform ${platform.name}`);
|
|
246
|
+
}
|
|
247
|
+
return { passed: false, shouldContinue: true };
|
|
248
|
+
}
|
|
249
|
+
// 部署前测试失败:按严重程度决定是否阻断
|
|
250
|
+
const isCritical = testResult.severity === 'critical';
|
|
251
|
+
const shouldBlock = failOnError && (isCritical || !autoFix);
|
|
252
|
+
if (shouldBlock) {
|
|
253
|
+
result.success = false;
|
|
254
|
+
const blockReason = isCritical
|
|
255
|
+
? '严重错误,必须修复后才能部署'
|
|
256
|
+
: '测试失败(未启用自动修复)';
|
|
257
|
+
result.message = `${blockReason}: ${testResult.error || ''}`;
|
|
258
|
+
if (autoFix) {
|
|
259
|
+
logger_1.logger.info('');
|
|
260
|
+
logger_1.logger.info('[SPECCORE_PIPELINE_TEST_FAIL]');
|
|
261
|
+
logger_1.logger.info(`platform: ${platform.name}`);
|
|
262
|
+
logger_1.logger.info(`env: ${env}`);
|
|
263
|
+
logger_1.logger.info(`type: ${testType}`);
|
|
264
|
+
logger_1.logger.info(`severity: ${testResult.severity}`);
|
|
265
|
+
logger_1.logger.info(`error: ${testResult.error || ''}`);
|
|
266
|
+
logger_1.logger.info('---');
|
|
267
|
+
logger_1.logger.info(result.testReport);
|
|
268
|
+
logger_1.logger.info('[/SPECCORE_PIPELINE_TEST_FAIL]');
|
|
269
|
+
}
|
|
270
|
+
return { passed: false, shouldContinue: false };
|
|
271
|
+
}
|
|
272
|
+
else if (!failOnError) {
|
|
273
|
+
logger_1.logger.warn(` ⚠️ 测试失败,但 fail_on_error=false,继续部署`);
|
|
274
|
+
return { passed: false, shouldContinue: true };
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
// 非严重错误 + 自动修复模式 → 先部署,同时触发修复
|
|
278
|
+
logger_1.logger.warn(` ⚠️ 测试失败(${testResult.severity}),但自动修复已启用,先部署后修复`);
|
|
279
|
+
result.steps.test = true;
|
|
280
|
+
logger_1.logger.info('');
|
|
281
|
+
logger_1.logger.info('[SPECCORE_PIPELINE_TEST_DEFERRED]');
|
|
282
|
+
logger_1.logger.info(`platform: ${platform.name}`);
|
|
283
|
+
logger_1.logger.info(`env: ${env}`);
|
|
284
|
+
logger_1.logger.info(`type: ${testType}`);
|
|
285
|
+
logger_1.logger.info(`severity: ${testResult.severity}`);
|
|
286
|
+
logger_1.logger.info(`error: ${testResult.error || ''}`);
|
|
287
|
+
logger_1.logger.info('---');
|
|
288
|
+
logger_1.logger.info(result.testReport);
|
|
289
|
+
logger_1.logger.info('[/SPECCORE_PIPELINE_TEST_DEFERRED]');
|
|
290
|
+
return { passed: false, shouldContinue: true };
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
logger_1.logger.success(` ✅ 测试通过: ${testResult.summary.passed}/${testResult.summary.total}`);
|
|
295
|
+
return { passed: true, shouldContinue: true };
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
// Pre-deploy 测试
|
|
299
|
+
const preTest = await executePipelineTest('pre-deploy');
|
|
300
|
+
if (!preTest.shouldContinue) {
|
|
301
|
+
results.push(result);
|
|
302
|
+
continue;
|
|
303
|
+
}
|
|
304
|
+
// Step 5: deploy
|
|
305
|
+
logger_1.logger.info(` 5. 部署 ${platform.name} → ${env}...`);
|
|
306
|
+
if (dryRun) {
|
|
307
|
+
logger_1.logger.info(' [DRY-RUN] 将执行部署');
|
|
308
|
+
result.steps.deploy = true;
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
try {
|
|
312
|
+
await (0, deploy_1.deployCommand)({
|
|
313
|
+
platform: platform.name,
|
|
314
|
+
env,
|
|
315
|
+
envFile: options.envFile,
|
|
316
|
+
});
|
|
317
|
+
result.steps.deploy = true;
|
|
318
|
+
}
|
|
319
|
+
catch {
|
|
320
|
+
result.steps.deploy = false;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
if (!result.steps.deploy) {
|
|
324
|
+
result.success = false;
|
|
325
|
+
result.message = '部署失败';
|
|
326
|
+
results.push(result);
|
|
327
|
+
continue;
|
|
328
|
+
}
|
|
329
|
+
// Post-deploy 测试
|
|
330
|
+
await executePipelineTest('post-deploy');
|
|
331
|
+
logger_1.logger.success(` ✅ [${platform.name}] 完成`);
|
|
332
|
+
results.push(result);
|
|
333
|
+
}
|
|
334
|
+
// 汇总报告
|
|
335
|
+
const successCount = results.filter((r) => r.success).length;
|
|
336
|
+
const failCount = results.length - successCount;
|
|
337
|
+
logger_1.logger.info('');
|
|
338
|
+
logger_1.logger.info('┌──────────────────────────────────────────┐');
|
|
339
|
+
logger_1.logger.info('│ Pipeline 执行汇总 │');
|
|
340
|
+
logger_1.logger.info('├──────────────────────────────────────────┤');
|
|
341
|
+
for (const r of results) {
|
|
342
|
+
const icon = r.success ? '✅' : '❌';
|
|
343
|
+
const steps = [
|
|
344
|
+
r.steps.checkout ? 'C' : 'c',
|
|
345
|
+
r.steps.merge ? 'M' : 'm',
|
|
346
|
+
r.steps.build ? 'B' : 'b',
|
|
347
|
+
r.steps.test ? 'T' : 't',
|
|
348
|
+
r.steps.deploy ? 'D' : 'd',
|
|
349
|
+
].join('');
|
|
350
|
+
logger_1.logger.info(`│ ${icon} ${r.platform.padEnd(12)} [${steps}] ${(r.message || '').padEnd(14)} │`);
|
|
351
|
+
}
|
|
352
|
+
logger_1.logger.info('├──────────────────────────────────────────┤');
|
|
353
|
+
logger_1.logger.info(`│ 成功: ${String(successCount).padEnd(3)} 失败: ${String(failCount).padEnd(3)} 总计: ${String(results.length).padEnd(3)} │`);
|
|
354
|
+
logger_1.logger.info('└──────────────────────────────────────────┘');
|
|
355
|
+
// 分支状态提示
|
|
356
|
+
if (sourceBranch !== targetBranch && !dryRun) {
|
|
357
|
+
logger_1.logger.info('');
|
|
358
|
+
logger_1.logger.info(`💡 Pipeline 已完成,当前在 ${targetBranch} 分支`);
|
|
359
|
+
logger_1.logger.info(` 如需回到原分支: git checkout ${sourceBranch}`);
|
|
360
|
+
}
|
|
361
|
+
if (failCount > 0) {
|
|
362
|
+
process.exitCode = 1;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
//# sourceMappingURL=pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/commands/pipeline.ts"],"names":[],"mappings":";;AAyEA,0CAiVC;AA1ZD;;;;;;;;;;;;;;;GAeG;AACH,iDAAyC;AACzC,4CAAyC;AACzC,2DAAkE;AAClE,mEAAyE;AACzE,mCAAuC;AACvC,qCAAyC;AAEzC,yDAAkF;AA0BlF,SAAS,OAAO,CAAC,GAAW,EAAE,GAAW,EAAE,MAAe;IACxD,IAAI,MAAM,EAAE,CAAC;QACX,eAAM,CAAC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,IAAA,wBAAQ,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,mBAAmB;AACnB,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9F,OAAO,MAAM,IAAI,IAAI,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,OAAwB;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IAEvC,gBAAgB;IAChB,MAAM,SAAS,GAAG,MAAM,IAAA,gDAA2B,EAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,SAAS,EAAE,MAAM,CAAC;IAEvC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAAC;QAC5C,eAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACzC,eAAM,CAAC,IAAI,CAAC,6BAA6B,GAAG,OAAO,CAAC,CAAC;QACrD,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,eAAM,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;QAC9B,eAAM,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3G,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,eAAM,CAAC,IAAI,CAAC,mCAAmC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC;QAClE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,gBAAgB;IAChB,MAAM,MAAM,GAAG,MAAM,IAAA,yCAAwB,EAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IAEtE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,eAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,IAAI,OAAyB,CAAC;IAE9B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,eAAM,CAAC,KAAK,CAAC,cAAc,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,eAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,eAAM,CAAC,IAAI,CAAC,8BAA8B,GAAG,qBAAqB,CAAC,CAAC;QACpE,eAAM,CAAC,IAAI,CAAC,8BAA8B,GAAG,QAAQ,CAAC,CAAC;QACvD,eAAM,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,gBAAgB;IAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;QAClC,eAAM,CAAC,IAAI,CAAC,YAAY,YAAY,YAAY,YAAY,eAAe,CAAC,CAAC;IAC/E,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,eAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC5D,eAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACxD,eAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC5D,eAAM,CAAC,IAAI,CAAC,UAAU,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClD,eAAM,CAAC,IAAI,CAAC,WAAW,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACnD,eAAM,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1C,eAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5D,eAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC3D,eAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC5D,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,MAAM,EAAE,CAAC;QACX,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC5C,CAAC;QACD,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAqB,EAAE,CAAC;IAErC,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChD,eAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAmB;YAC7B,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;SACnF,CAAC;QAEF,oCAAoC;QACpC,eAAM,CAAC,IAAI,CAAC,aAAa,YAAY,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,iBAAiB,YAAY,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,oBAAoB,YAAY,GAAG,EAAE,MAAM,CAAC,CAAC;YAClF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;YAClC,eAAM,CAAC,IAAI,CAAC,YAAY,YAAY,MAAM,YAAY,KAAK,CAAC,CAAC;YAC7D,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,cAAc,YAAY,aAAa,EAAE,MAAM,CAAC,CAAC;YACnF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACxB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,eAAM,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,eAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAClC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,IAAA,oBAAY,EAAC;wBACjB,QAAQ,EAAE,QAAQ,CAAC,IAAI;wBACvB,GAAG;wBACH,OAAO,EAAE,OAAO,CAAC,OAAO;qBACzB,CAAC,CAAC;oBACH,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBAC5B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACxB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,2CAA2C;QAC3C,MAAM,kBAAkB,GAAG,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC;QACrD,MAAM,WAAW,GAAG,kBAAkB,EAAE,OAAO,IAAI,KAAK,CAAC;QACzD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,IAAI,IAAI,aAAa,CAAC;QAC3D,MAAM,SAAS,GAAG,kBAAkB,EAAE,KAAK,IAAI,YAAY,CAAC;QAC5D,MAAM,WAAW,GAAG,kBAAkB,EAAE,aAAa,IAAI,IAAI,CAAC;QAC9D,MAAM,OAAO,GAAG,kBAAkB,EAAE,QAAQ,IAAI,IAAI,CAAC;QAErD,oBAAoB;QACpB,KAAK,UAAU,mBAAmB,CAAC,KAAmC;YACpE,IAAI,CAAC,WAAW;gBAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YAChE,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM;gBAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YAE/F,MAAM,OAAO,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACnD,eAAM,CAAC,IAAI,CAAC,MAAM,OAAO,QAAQ,QAAQ,CAAC,IAAI,KAAK,QAAQ,MAAM,KAAK,MAAM,CAAC,CAAC;YAE9E,IAAI,MAAM,EAAE,CAAC;gBACX,eAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAClC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YAChD,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,IAAA,+BAAe,EAAC;gBACvC,QAAQ;gBACR,GAAG;gBACH,IAAI,EAAE,QAAe;gBACrB,SAAS,EAAE,SAAS,IAAI,SAAS;gBACjC,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC;YACtC,MAAM,CAAC,UAAU,GAAG,IAAA,wCAAwB,EAAC,UAAU,CAAC,CAAC;YAEzD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACvB,eAAM,CAAC,KAAK,CAAC,cAAc,UAAU,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;gBACzD,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAE/B,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;oBAC5B,uBAAuB;oBACvB,eAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;oBACvC,IAAI,OAAO,EAAE,CAAC;wBACZ,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAChB,eAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;wBACzD,eAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC1C,eAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;wBAC3B,eAAM,CAAC,IAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;wBACjC,eAAM,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAChD,eAAM,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;wBAChD,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACnB,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBAC/B,eAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;oBAC5D,CAAC;oBACD,IAAI,UAAU,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;wBACvC,eAAM,CAAC,IAAI,CAAC,4CAA4C,GAAG,eAAe,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7F,CAAC;oBACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;gBACjD,CAAC;gBAED,sBAAsB;gBACtB,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,KAAK,UAAU,CAAC;gBACtD,MAAM,WAAW,GAAG,WAAW,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,CAAC;gBAE5D,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;oBACvB,MAAM,WAAW,GAAG,UAAU;wBAC5B,CAAC,CAAC,gBAAgB;wBAClB,CAAC,CAAC,eAAe,CAAC;oBACpB,MAAM,CAAC,OAAO,GAAG,GAAG,WAAW,KAAK,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;oBAE7D,IAAI,OAAO,EAAE,CAAC;wBACZ,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAChB,eAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;wBAC7C,eAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC1C,eAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;wBAC3B,eAAM,CAAC,IAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;wBACjC,eAAM,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAChD,eAAM,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;wBAChD,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACnB,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBAC/B,eAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;oBAChD,CAAC;oBACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;gBAClD,CAAC;qBAAM,IAAI,CAAC,WAAW,EAAE,CAAC;oBACxB,eAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;oBACrD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,8BAA8B;oBAC9B,eAAM,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,QAAQ,mBAAmB,CAAC,CAAC;oBAClE,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;oBAEzB,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAChB,eAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;oBACjD,eAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC1C,eAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;oBAC3B,eAAM,CAAC,IAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;oBACjC,eAAM,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAChD,eAAM,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;oBAChD,eAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC/B,eAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;oBAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;gBACjD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,eAAM,CAAC,OAAO,CAAC,cAAc,UAAU,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YAChD,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,iBAAiB;QACjB,eAAM,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC;QACrD,IAAI,MAAM,EAAE,CAAC;YACX,eAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,IAAA,sBAAa,EAAC;oBAClB,QAAQ,EAAE,QAAQ,CAAC,IAAI;oBACvB,GAAG;oBACH,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,iBAAiB;QACjB,MAAM,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAEzC,eAAM,CAAC,OAAO,CAAC,SAAS,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,OAAO;IACP,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC;IAEhD,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,eAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC5D,eAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IACxD,eAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC5D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACnC,MAAM,KAAK,GAAG;YACZ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YAC5B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACzB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACzB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACxB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;SAC3B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACX,eAAM,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACjG,CAAC;IACD,eAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC5D,eAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtI,eAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAE5D,SAAS;IACT,IAAI,YAAY,KAAK,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7C,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,eAAM,CAAC,IAAI,CAAC,uBAAuB,YAAY,KAAK,CAAC,CAAC;QACtD,eAAM,CAAC,IAAI,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
package/dist/commands/pr.d.ts
CHANGED
|
@@ -10,6 +10,9 @@ export interface PrOptions {
|
|
|
10
10
|
confirm?: boolean;
|
|
11
11
|
commit?: boolean;
|
|
12
12
|
force?: boolean;
|
|
13
|
+
createPr?: boolean;
|
|
14
|
+
merge?: boolean;
|
|
15
|
+
autoMerge?: boolean;
|
|
13
16
|
}
|
|
14
17
|
export declare function prCommand(options: PrOptions): Promise<void>;
|
|
15
18
|
//# sourceMappingURL=pr.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAiMD,wBAAsB,SAAS,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAmZjE"}
|