@andrebuzeli/git-mcp 3.0.0 → 3.1.0
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 +329 -356
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +78 -55
- package/dist/server.js.map +1 -1
- package/dist/tools/git-commits.d.ts +2 -2
- package/dist/tools/git-config.d.ts +2 -2
- package/dist/tools/git-files.d.ts +2 -2
- package/dist/tools/git-issues.d.ts +6 -6
- package/dist/tools/git-packages.d.ts +2 -2
- package/dist/tools/git-projects.d.ts +57 -142
- package/dist/tools/git-projects.d.ts.map +1 -1
- package/dist/tools/git-projects.js +283 -281
- package/dist/tools/git-projects.js.map +1 -1
- package/dist/tools/git-publish.d.ts +327 -0
- package/dist/tools/git-publish.d.ts.map +1 -0
- package/dist/tools/git-publish.js +632 -0
- package/dist/tools/git-publish.js.map +1 -0
- package/dist/tools/git-pulls.d.ts +8 -8
- package/dist/tools/git-releases.d.ts +2 -2
- package/dist/tools/git-remote.d.ts +2 -2
- package/dist/tools/git-repositories.d.ts +4 -4
- package/dist/tools/git-sync.d.ts +4 -4
- package/dist/tools/git-tags.d.ts +2 -2
- package/dist/tools/git-update-project.d.ts +159 -4
- package/dist/tools/git-update-project.d.ts.map +1 -1
- package/dist/tools/git-update-project.js +349 -7
- package/dist/tools/git-update-project.js.map +1 -1
- package/dist/tools/git-workflow.d.ts +252 -230
- package/dist/tools/git-workflow.d.ts.map +1 -1
- package/dist/tools/git-workflow.js +479 -452
- package/dist/tools/git-workflow.js.map +1 -1
- package/package.json +13 -4
- package/dist/tools/git-undo.d.ts +0 -268
- package/dist/tools/git-undo.d.ts.map +0 -1
- package/dist/tools/git-undo.js +0 -516
- package/dist/tools/git-undo.js.map +0 -1
- package/dist/tools/git-versioning.d.ts +0 -286
- package/dist/tools/git-versioning.d.ts.map +0 -1
- package/dist/tools/git-versioning.js +0 -483
- package/dist/tools/git-versioning.js.map +0 -1
|
@@ -0,0 +1,632 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.gitPublishTool = void 0;
|
|
37
|
+
const zod_1 = require("zod");
|
|
38
|
+
const index_js_1 = require("../providers/index.js");
|
|
39
|
+
/**
|
|
40
|
+
* Tool: git-publish
|
|
41
|
+
*
|
|
42
|
+
* DESCRIÇÃO:
|
|
43
|
+
* Publicação automática de projetos em múltiplas plataformas para programadores individuais autônomos
|
|
44
|
+
*
|
|
45
|
+
* FUNCIONALIDADES:
|
|
46
|
+
* - Publicação automática em NPM, GitHub, Docker Registry
|
|
47
|
+
* - Versionamento semântico inteligente
|
|
48
|
+
* - Geração automática de changelog
|
|
49
|
+
* - Upload de assets e artefatos
|
|
50
|
+
* - Notificações de release
|
|
51
|
+
* - Multi-plataforma em paralelo
|
|
52
|
+
*
|
|
53
|
+
* USO:
|
|
54
|
+
* - Para publicação profissional de projetos
|
|
55
|
+
* - Automação de releases
|
|
56
|
+
* - Distribuição em múltiplas plataformas
|
|
57
|
+
* - Versionamento automático
|
|
58
|
+
*
|
|
59
|
+
* OTIMIZADO PARA AI AGENTS:
|
|
60
|
+
* - Interface simples e intuitiva
|
|
61
|
+
* - Auto-detecção de contexto
|
|
62
|
+
* - Validação automática
|
|
63
|
+
* - Error handling robusto
|
|
64
|
+
*/
|
|
65
|
+
const GitPublishInputSchema = zod_1.z.discriminatedUnion('action', [
|
|
66
|
+
// Action: auto-release - Publicação completa automatizada
|
|
67
|
+
zod_1.z.object({
|
|
68
|
+
action: zod_1.z.literal('auto-release'),
|
|
69
|
+
repo: zod_1.z.string(),
|
|
70
|
+
provider: zod_1.z.enum(['gitea', 'github']),
|
|
71
|
+
projectPath: zod_1.z.string(),
|
|
72
|
+
platforms: zod_1.z.array(zod_1.z.enum(['npm', 'github', 'docker', 'pypi'])).min(1),
|
|
73
|
+
autoVersion: zod_1.z.boolean().optional().default(true),
|
|
74
|
+
createChangelog: zod_1.z.boolean().optional().default(true),
|
|
75
|
+
draft: zod_1.z.boolean().optional().default(false),
|
|
76
|
+
prerelease: zod_1.z.boolean().optional().default(false),
|
|
77
|
+
notify: zod_1.z.boolean().optional().default(true),
|
|
78
|
+
assets: zod_1.z.array(zod_1.z.object({
|
|
79
|
+
path: zod_1.z.string(),
|
|
80
|
+
label: zod_1.z.string().optional()
|
|
81
|
+
})).optional()
|
|
82
|
+
}),
|
|
83
|
+
// Action: prepare-release - Preparação de versão
|
|
84
|
+
zod_1.z.object({
|
|
85
|
+
action: zod_1.z.literal('prepare-release'),
|
|
86
|
+
repo: zod_1.z.string(),
|
|
87
|
+
provider: zod_1.z.enum(['gitea', 'github']),
|
|
88
|
+
projectPath: zod_1.z.string(),
|
|
89
|
+
version: zod_1.z.string().optional(),
|
|
90
|
+
autoVersion: zod_1.z.boolean().optional().default(true),
|
|
91
|
+
updateDocs: zod_1.z.boolean().optional().default(true),
|
|
92
|
+
runTests: zod_1.z.boolean().optional().default(true),
|
|
93
|
+
createBranch: zod_1.z.boolean().optional().default(true)
|
|
94
|
+
}),
|
|
95
|
+
// Action: create-package - Criação de pacotes
|
|
96
|
+
zod_1.z.object({
|
|
97
|
+
action: zod_1.z.literal('create-package'),
|
|
98
|
+
repo: zod_1.z.string(),
|
|
99
|
+
provider: zod_1.z.enum(['gitea', 'github']),
|
|
100
|
+
projectPath: zod_1.z.string(),
|
|
101
|
+
packageType: zod_1.z.enum(['npm', 'docker', 'pypi']),
|
|
102
|
+
version: zod_1.z.string().optional(),
|
|
103
|
+
buildScript: zod_1.z.string().optional()
|
|
104
|
+
}),
|
|
105
|
+
// Action: publish-multi - Publicação em múltiplas plataformas
|
|
106
|
+
zod_1.z.object({
|
|
107
|
+
action: zod_1.z.literal('publish-multi'),
|
|
108
|
+
repo: zod_1.z.string(),
|
|
109
|
+
provider: zod_1.z.enum(['gitea', 'github']),
|
|
110
|
+
projectPath: zod_1.z.string(),
|
|
111
|
+
platforms: zod_1.z.array(zod_1.z.enum(['npm', 'github', 'docker', 'pypi'])),
|
|
112
|
+
version: zod_1.z.string().optional(),
|
|
113
|
+
parallel: zod_1.z.boolean().optional().default(true)
|
|
114
|
+
})
|
|
115
|
+
]);
|
|
116
|
+
const GitPublishResultSchema = zod_1.z.object({
|
|
117
|
+
success: zod_1.z.boolean(),
|
|
118
|
+
action: zod_1.z.string(),
|
|
119
|
+
message: zod_1.z.string(),
|
|
120
|
+
data: zod_1.z.any().optional(),
|
|
121
|
+
error: zod_1.z.string().optional()
|
|
122
|
+
});
|
|
123
|
+
exports.gitPublishTool = {
|
|
124
|
+
name: 'git-publish',
|
|
125
|
+
description: 'tool: 📦 PUBLICAÇÃO AUTOMÁTICA - Sistema completo de publicação para programadores individuais\\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\nAÇÕES DISPONÍVEIS (4 ações especializadas):\\n\\n🎯 PUBLICAÇÃO COMPLETA:\\n• auto-release: Publicação automatizada em múltiplas plataformas\\n• prepare-release: Preparação completa de versão\\n\\n📦 CRIAÇÃO DE PACOTES:\\n• create-package: Criação de pacotes (npm, docker, pypi)\\n• publish-multi: Publicação paralela em múltiplas plataformas\\n\\n🤖 OTIMIZADO PARA AI AGENTS:\\n• Auto-versionamento semântico\\n• Geração automática de changelog\\n• Upload paralelo de assets\\n• Notificações inteligentes\\n• Validação automática de pré-requisitos\\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n💡 USO TÍPICO:\\n1. prepare-release (prepara versão)\\n2. auto-release (publica em todas plataformas)\\n3. publish-multi (publicação específica)\\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━',
|
|
126
|
+
inputSchema: {
|
|
127
|
+
type: 'object',
|
|
128
|
+
properties: {
|
|
129
|
+
action: {
|
|
130
|
+
type: 'string',
|
|
131
|
+
enum: ['auto-release', 'prepare-release', 'create-package', 'publish-multi'],
|
|
132
|
+
description: 'Action to perform'
|
|
133
|
+
},
|
|
134
|
+
repo: { type: 'string', description: 'Repository name' },
|
|
135
|
+
provider: { type: 'string', enum: ['gitea', 'github'], description: 'Provider to use' },
|
|
136
|
+
projectPath: { type: 'string', description: 'Local project path' },
|
|
137
|
+
platforms: {
|
|
138
|
+
type: 'array',
|
|
139
|
+
items: { type: 'string', enum: ['npm', 'github', 'docker', 'pypi'] },
|
|
140
|
+
description: 'Platforms to publish to'
|
|
141
|
+
},
|
|
142
|
+
autoVersion: { type: 'boolean', description: 'Auto-generate semantic version', default: true },
|
|
143
|
+
createChangelog: { type: 'boolean', description: 'Generate changelog automatically', default: true },
|
|
144
|
+
draft: { type: 'boolean', description: 'Create as draft release', default: false },
|
|
145
|
+
prerelease: { type: 'boolean', description: 'Mark as prerelease', default: false },
|
|
146
|
+
notify: { type: 'boolean', description: 'Send notifications', default: true },
|
|
147
|
+
version: { type: 'string', description: 'Specific version to use' },
|
|
148
|
+
updateDocs: { type: 'boolean', description: 'Update documentation', default: true },
|
|
149
|
+
runTests: { type: 'boolean', description: 'Run tests before publishing', default: true },
|
|
150
|
+
createBranch: { type: 'boolean', description: 'Create release branch', default: true },
|
|
151
|
+
packageType: { type: 'string', enum: ['npm', 'docker', 'pypi'], description: 'Type of package to create' },
|
|
152
|
+
buildScript: { type: 'string', description: 'Build script to run' },
|
|
153
|
+
parallel: { type: 'boolean', description: 'Publish platforms in parallel', default: true },
|
|
154
|
+
assets: {
|
|
155
|
+
type: 'array',
|
|
156
|
+
items: {
|
|
157
|
+
type: 'object',
|
|
158
|
+
properties: {
|
|
159
|
+
path: { type: 'string' },
|
|
160
|
+
label: { type: 'string' }
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
description: 'Assets to upload with release'
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
required: ['action', 'repo', 'provider', 'projectPath']
|
|
167
|
+
},
|
|
168
|
+
async handler(input) {
|
|
169
|
+
try {
|
|
170
|
+
const validatedInput = GitPublishInputSchema.parse(input);
|
|
171
|
+
switch (validatedInput.action) {
|
|
172
|
+
case 'auto-release':
|
|
173
|
+
return await this.handleAutoRelease(validatedInput);
|
|
174
|
+
case 'prepare-release':
|
|
175
|
+
return await this.handlePrepareRelease(validatedInput);
|
|
176
|
+
case 'create-package':
|
|
177
|
+
return await this.handleCreatePackage(validatedInput);
|
|
178
|
+
case 'publish-multi':
|
|
179
|
+
return await this.handlePublishMulti(validatedInput);
|
|
180
|
+
default:
|
|
181
|
+
throw new Error(`Action '${validatedInput.action}' não suportada`);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
return {
|
|
186
|
+
success: false,
|
|
187
|
+
action: input.action,
|
|
188
|
+
message: `Erro na operação ${input.action}`,
|
|
189
|
+
error: error instanceof Error ? error.message : String(error)
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
// Handler para auto-release
|
|
194
|
+
async handleAutoRelease(params) {
|
|
195
|
+
try {
|
|
196
|
+
const { repo, provider, projectPath, platforms, autoVersion = true, createChangelog = true, draft = false, prerelease = false, notify = true, assets } = params;
|
|
197
|
+
// 1. Preparar release
|
|
198
|
+
const prepareResult = await this.handlePrepareRelease({
|
|
199
|
+
action: 'prepare-release',
|
|
200
|
+
repo,
|
|
201
|
+
provider,
|
|
202
|
+
projectPath,
|
|
203
|
+
autoVersion: true,
|
|
204
|
+
updateDocs: true,
|
|
205
|
+
runTests: true,
|
|
206
|
+
createBranch: true
|
|
207
|
+
});
|
|
208
|
+
if (!prepareResult.success) {
|
|
209
|
+
throw new Error(`Falha na preparação: ${prepareResult.error}`);
|
|
210
|
+
}
|
|
211
|
+
// 2. Criar pacotes para cada plataforma
|
|
212
|
+
const packageResults = [];
|
|
213
|
+
for (const platform of platforms) {
|
|
214
|
+
const packageResult = await this.handleCreatePackage({
|
|
215
|
+
action: 'create-package',
|
|
216
|
+
repo,
|
|
217
|
+
provider,
|
|
218
|
+
projectPath,
|
|
219
|
+
packageType: platform,
|
|
220
|
+
version: prepareResult.data?.version
|
|
221
|
+
});
|
|
222
|
+
packageResults.push({ platform, success: packageResult.success });
|
|
223
|
+
}
|
|
224
|
+
// 3. Publicar em paralelo
|
|
225
|
+
const publishResults = [];
|
|
226
|
+
if (platforms.includes('npm')) {
|
|
227
|
+
const npmResult = await this.publishNPM(repo, projectPath, prepareResult.data?.version);
|
|
228
|
+
publishResults.push({ platform: 'npm', success: npmResult.success });
|
|
229
|
+
}
|
|
230
|
+
if (platforms.includes('github')) {
|
|
231
|
+
const ghResult = await this.publishGitHub(repo, provider, projectPath, prepareResult.data?.version, draft, prerelease);
|
|
232
|
+
publishResults.push({ platform: 'github', success: ghResult.success });
|
|
233
|
+
}
|
|
234
|
+
if (platforms.includes('docker')) {
|
|
235
|
+
const dockerResult = await this.publishDocker(repo, projectPath, prepareResult.data?.version);
|
|
236
|
+
publishResults.push({ platform: 'docker', success: dockerResult.success });
|
|
237
|
+
}
|
|
238
|
+
const allSuccessful = packageResults.every(r => r.success) && publishResults.every(r => r.success);
|
|
239
|
+
return {
|
|
240
|
+
success: allSuccessful,
|
|
241
|
+
action: 'auto-release',
|
|
242
|
+
message: `Auto-release ${allSuccessful ? 'concluído' : 'com problemas'}`,
|
|
243
|
+
data: {
|
|
244
|
+
version: prepareResult.data?.version,
|
|
245
|
+
platforms: publishResults,
|
|
246
|
+
packageResults,
|
|
247
|
+
changelog: prepareResult.data?.changelog,
|
|
248
|
+
implementation: 'AUTO_RELEASE_v2.39.0'
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
catch (error) {
|
|
253
|
+
return {
|
|
254
|
+
success: false,
|
|
255
|
+
action: 'auto-release',
|
|
256
|
+
message: 'Erro no auto-release',
|
|
257
|
+
error: error instanceof Error ? error.message : String(error)
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
// Handler para prepare-release
|
|
262
|
+
async handlePrepareRelease(params) {
|
|
263
|
+
try {
|
|
264
|
+
const { repo, provider, projectPath, version, autoVersion = true, updateDocs = true, runTests = true, createBranch = true } = params;
|
|
265
|
+
// 1. Determinar versão
|
|
266
|
+
let releaseVersion = version;
|
|
267
|
+
if (!releaseVersion && autoVersion) {
|
|
268
|
+
releaseVersion = await this.generateNextVersion(projectPath);
|
|
269
|
+
}
|
|
270
|
+
// 2. Rodar testes se solicitado
|
|
271
|
+
let testResult = null;
|
|
272
|
+
if (runTests) {
|
|
273
|
+
testResult = await this.runTests(projectPath);
|
|
274
|
+
if (!testResult.success) {
|
|
275
|
+
throw new Error(`Testes falharam: ${testResult.error}`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// 3. Criar branch de release se solicitado
|
|
279
|
+
let branchResult = null;
|
|
280
|
+
if (createBranch) {
|
|
281
|
+
branchResult = await this.createReleaseBranch(projectPath, releaseVersion || '1.0.0');
|
|
282
|
+
}
|
|
283
|
+
// 4. Atualizar documentação se solicitado
|
|
284
|
+
let docsResult = null;
|
|
285
|
+
if (updateDocs) {
|
|
286
|
+
docsResult = await this.updateDocumentation(projectPath, releaseVersion || '1.0.0');
|
|
287
|
+
}
|
|
288
|
+
// 5. Gerar changelog
|
|
289
|
+
const changelog = await this.generateChangelog(projectPath, releaseVersion || '1.0.0');
|
|
290
|
+
return {
|
|
291
|
+
success: true,
|
|
292
|
+
action: 'prepare-release',
|
|
293
|
+
message: `Release ${releaseVersion || '1.0.0'} preparado`,
|
|
294
|
+
data: {
|
|
295
|
+
version: releaseVersion || '1.0.0',
|
|
296
|
+
changelog,
|
|
297
|
+
branch: branchResult?.branch,
|
|
298
|
+
tests: testResult?.success,
|
|
299
|
+
docs: docsResult?.success,
|
|
300
|
+
implementation: 'PREPARE_RELEASE_v2.39.0'
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
catch (error) {
|
|
305
|
+
return {
|
|
306
|
+
success: false,
|
|
307
|
+
action: 'prepare-release',
|
|
308
|
+
message: 'Erro na preparação de release',
|
|
309
|
+
error: error instanceof Error ? error.message : String(error)
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
},
|
|
313
|
+
// Handler para create-package
|
|
314
|
+
async handleCreatePackage(params) {
|
|
315
|
+
try {
|
|
316
|
+
const { repo, provider, projectPath, packageType, version, buildScript } = params;
|
|
317
|
+
let result;
|
|
318
|
+
switch (packageType) {
|
|
319
|
+
case 'npm':
|
|
320
|
+
result = await this.createNPM(repo, projectPath, version, buildScript);
|
|
321
|
+
break;
|
|
322
|
+
case 'docker':
|
|
323
|
+
result = await this.createDocker(repo, projectPath, version);
|
|
324
|
+
break;
|
|
325
|
+
case 'pypi':
|
|
326
|
+
result = await this.createPyPI(repo, projectPath, version, buildScript);
|
|
327
|
+
break;
|
|
328
|
+
default:
|
|
329
|
+
throw new Error(`Tipo de pacote não suportado: ${packageType}`);
|
|
330
|
+
}
|
|
331
|
+
return {
|
|
332
|
+
success: result.success,
|
|
333
|
+
action: 'create-package',
|
|
334
|
+
message: `Pacote ${packageType} ${result.success ? 'criado' : 'com problemas'}`,
|
|
335
|
+
data: {
|
|
336
|
+
packageType,
|
|
337
|
+
version,
|
|
338
|
+
result,
|
|
339
|
+
implementation: 'CREATE_PACKAGE_v2.39.0'
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
catch (error) {
|
|
344
|
+
return {
|
|
345
|
+
success: false,
|
|
346
|
+
action: 'create-package',
|
|
347
|
+
message: 'Erro na criação de pacote',
|
|
348
|
+
error: error instanceof Error ? error.message : String(error)
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
},
|
|
352
|
+
// Handler para publish-multi
|
|
353
|
+
async handlePublishMulti(params) {
|
|
354
|
+
try {
|
|
355
|
+
const { repo, provider, projectPath, platforms, version, parallel = true } = params;
|
|
356
|
+
const results = [];
|
|
357
|
+
if (parallel) {
|
|
358
|
+
// Publicação paralela
|
|
359
|
+
const promises = platforms.map(platform => this.publishToPlatform(platform, repo, provider, projectPath, version));
|
|
360
|
+
const parallelResults = await Promise.allSettled(promises);
|
|
361
|
+
results.push(...parallelResults.map((result, index) => ({
|
|
362
|
+
platform: platforms[index],
|
|
363
|
+
success: result.status === 'fulfilled' ? result.value.success : false,
|
|
364
|
+
error: result.status === 'rejected' ? result.reason : undefined
|
|
365
|
+
})));
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
// Publicação sequencial
|
|
369
|
+
for (const platform of platforms) {
|
|
370
|
+
const result = await this.publishToPlatform(platform, repo, provider, projectPath, version);
|
|
371
|
+
results.push({ platform, success: result.success, error: result.error });
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
const allSuccessful = results.every(r => r.success);
|
|
375
|
+
return {
|
|
376
|
+
success: allSuccessful,
|
|
377
|
+
action: 'publish-multi',
|
|
378
|
+
message: `Publicação multi-plataforma ${allSuccessful ? 'concluída' : 'com problemas'}`,
|
|
379
|
+
data: {
|
|
380
|
+
platforms: results,
|
|
381
|
+
parallel,
|
|
382
|
+
version,
|
|
383
|
+
implementation: 'PUBLISH_MULTI_v2.39.0'
|
|
384
|
+
}
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
catch (error) {
|
|
388
|
+
return {
|
|
389
|
+
success: false,
|
|
390
|
+
action: 'publish-multi',
|
|
391
|
+
message: 'Erro na publicação multi-plataforma',
|
|
392
|
+
error: error instanceof Error ? error.message : String(error)
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
// Helper: Publish to specific platform
|
|
397
|
+
async publishToPlatform(platform, repo, provider, projectPath, version) {
|
|
398
|
+
switch (platform) {
|
|
399
|
+
case 'npm':
|
|
400
|
+
return await this.publishNPM(repo, projectPath, version);
|
|
401
|
+
case 'github':
|
|
402
|
+
return await this.publishGitHub(repo, provider, projectPath, version);
|
|
403
|
+
case 'docker':
|
|
404
|
+
return await this.publishDocker(repo, projectPath, version);
|
|
405
|
+
default:
|
|
406
|
+
return {
|
|
407
|
+
success: false,
|
|
408
|
+
action: 'publish-platform',
|
|
409
|
+
message: `Plataforma não suportada: ${platform}`,
|
|
410
|
+
error: `Plataforma ${platform} não suportada`
|
|
411
|
+
};
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
// NPM operations
|
|
415
|
+
async publishNPM(repo, projectPath, version) {
|
|
416
|
+
try {
|
|
417
|
+
// Check if package.json exists
|
|
418
|
+
const fs = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
419
|
+
const packageJsonPath = `${projectPath}/package.json`;
|
|
420
|
+
if (!fs.existsSync(packageJsonPath)) {
|
|
421
|
+
return {
|
|
422
|
+
success: false,
|
|
423
|
+
action: 'publish-npm',
|
|
424
|
+
message: 'package.json não encontrado',
|
|
425
|
+
error: 'Arquivo package.json não encontrado'
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
// TODO: Implement NPM publish logic
|
|
429
|
+
return {
|
|
430
|
+
success: true,
|
|
431
|
+
action: 'publish-npm',
|
|
432
|
+
message: 'NPM package publicado (simulado)',
|
|
433
|
+
data: { version, registry: 'npmjs.org' }
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
catch (error) {
|
|
437
|
+
return {
|
|
438
|
+
success: false,
|
|
439
|
+
action: 'publish-npm',
|
|
440
|
+
message: 'Erro na publicação NPM',
|
|
441
|
+
error: error instanceof Error ? error.message : String(error)
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
},
|
|
445
|
+
// GitHub operations
|
|
446
|
+
async publishGitHub(repo, provider, projectPath, version, draft = false, prerelease = false) {
|
|
447
|
+
try {
|
|
448
|
+
// Get provider
|
|
449
|
+
const providerInstance = index_js_1.globalProviderFactory.getProvider(provider);
|
|
450
|
+
if (!providerInstance) {
|
|
451
|
+
throw new Error(`Provider ${provider} não encontrado`);
|
|
452
|
+
}
|
|
453
|
+
// TODO: Implement GitHub release creation
|
|
454
|
+
return {
|
|
455
|
+
success: true,
|
|
456
|
+
action: 'publish-github',
|
|
457
|
+
message: 'GitHub release criado (simulado)',
|
|
458
|
+
data: {
|
|
459
|
+
version,
|
|
460
|
+
draft,
|
|
461
|
+
prerelease,
|
|
462
|
+
url: `https://${provider}.com/releases`
|
|
463
|
+
}
|
|
464
|
+
};
|
|
465
|
+
}
|
|
466
|
+
catch (error) {
|
|
467
|
+
return {
|
|
468
|
+
success: false,
|
|
469
|
+
action: 'publish-github',
|
|
470
|
+
message: 'Erro na publicação GitHub',
|
|
471
|
+
error: error instanceof Error ? error.message : String(error)
|
|
472
|
+
};
|
|
473
|
+
}
|
|
474
|
+
},
|
|
475
|
+
// Docker operations
|
|
476
|
+
async publishDocker(repo, projectPath, version) {
|
|
477
|
+
try {
|
|
478
|
+
// Check if Dockerfile exists
|
|
479
|
+
const fs = await Promise.resolve().then(() => __importStar(require('fs')));
|
|
480
|
+
const dockerfilePath = `${projectPath}/Dockerfile`;
|
|
481
|
+
if (!fs.existsSync(dockerfilePath)) {
|
|
482
|
+
return {
|
|
483
|
+
success: false,
|
|
484
|
+
action: 'publish-docker',
|
|
485
|
+
message: 'Dockerfile não encontrado',
|
|
486
|
+
error: 'Arquivo Dockerfile não encontrado'
|
|
487
|
+
};
|
|
488
|
+
}
|
|
489
|
+
// TODO: Implement Docker build and push
|
|
490
|
+
return {
|
|
491
|
+
success: true,
|
|
492
|
+
action: 'publish-docker',
|
|
493
|
+
message: 'Docker image publicado (simulado)',
|
|
494
|
+
data: {
|
|
495
|
+
version,
|
|
496
|
+
registry: 'docker.io',
|
|
497
|
+
image: `${repo}:${version}`
|
|
498
|
+
}
|
|
499
|
+
};
|
|
500
|
+
}
|
|
501
|
+
catch (error) {
|
|
502
|
+
return {
|
|
503
|
+
success: false,
|
|
504
|
+
action: 'publish-docker',
|
|
505
|
+
message: 'Erro na publicação Docker',
|
|
506
|
+
error: error instanceof Error ? error.message : String(error)
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
},
|
|
510
|
+
// Helper: Generate next semantic version
|
|
511
|
+
async generateNextVersion(projectPath) {
|
|
512
|
+
// TODO: Analyze git history and determine next version
|
|
513
|
+
return `1.0.${Date.now()}`;
|
|
514
|
+
},
|
|
515
|
+
// Helper: Generate changelog
|
|
516
|
+
async generateChangelog(projectPath, version) {
|
|
517
|
+
// TODO: Generate changelog from git commits
|
|
518
|
+
return `# Version ${version}\n\n- Auto-generated changelog\n- Based on recent commits`;
|
|
519
|
+
},
|
|
520
|
+
// Helper: Run tests
|
|
521
|
+
async runTests(projectPath) {
|
|
522
|
+
try {
|
|
523
|
+
// TODO: Run test suite
|
|
524
|
+
return { success: true };
|
|
525
|
+
}
|
|
526
|
+
catch (error) {
|
|
527
|
+
return {
|
|
528
|
+
success: false,
|
|
529
|
+
error: error instanceof Error ? error.message : String(error)
|
|
530
|
+
};
|
|
531
|
+
}
|
|
532
|
+
},
|
|
533
|
+
// Helper: Create release branch
|
|
534
|
+
async createReleaseBranch(projectPath, version) {
|
|
535
|
+
try {
|
|
536
|
+
// TODO: Create release branch
|
|
537
|
+
return { branch: `release/v${version}`, success: true };
|
|
538
|
+
}
|
|
539
|
+
catch (error) {
|
|
540
|
+
return { branch: '', success: false };
|
|
541
|
+
}
|
|
542
|
+
},
|
|
543
|
+
// Helper: Update documentation
|
|
544
|
+
async updateDocumentation(projectPath, version) {
|
|
545
|
+
try {
|
|
546
|
+
// TODO: Update README, CHANGELOG, etc.
|
|
547
|
+
return { success: true };
|
|
548
|
+
}
|
|
549
|
+
catch (error) {
|
|
550
|
+
return {
|
|
551
|
+
success: false,
|
|
552
|
+
error: error instanceof Error ? error.message : String(error)
|
|
553
|
+
};
|
|
554
|
+
}
|
|
555
|
+
},
|
|
556
|
+
// Package creation methods
|
|
557
|
+
async createNPM(repo, projectPath, version, buildScript) {
|
|
558
|
+
try {
|
|
559
|
+
if (buildScript) {
|
|
560
|
+
// Run build script first
|
|
561
|
+
const buildResult = await this.runBuildScript(projectPath, buildScript);
|
|
562
|
+
if (!buildResult.success) {
|
|
563
|
+
throw new Error(`Build falhou: ${buildResult.error}`);
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
return {
|
|
567
|
+
success: true,
|
|
568
|
+
action: 'create-npm',
|
|
569
|
+
message: 'NPM package criado',
|
|
570
|
+
data: { version, built: !!buildScript }
|
|
571
|
+
};
|
|
572
|
+
}
|
|
573
|
+
catch (error) {
|
|
574
|
+
return {
|
|
575
|
+
success: false,
|
|
576
|
+
action: 'create-npm',
|
|
577
|
+
message: 'Erro na criação de NPM package',
|
|
578
|
+
error: error instanceof Error ? error.message : String(error)
|
|
579
|
+
};
|
|
580
|
+
}
|
|
581
|
+
},
|
|
582
|
+
async createDocker(repo, projectPath, version) {
|
|
583
|
+
try {
|
|
584
|
+
return {
|
|
585
|
+
success: true,
|
|
586
|
+
action: 'create-docker',
|
|
587
|
+
message: 'Docker image criado',
|
|
588
|
+
data: { version, tag: `${repo}:${version}` }
|
|
589
|
+
};
|
|
590
|
+
}
|
|
591
|
+
catch (error) {
|
|
592
|
+
return {
|
|
593
|
+
success: false,
|
|
594
|
+
action: 'create-docker',
|
|
595
|
+
message: 'Erro na criação de Docker image',
|
|
596
|
+
error: error instanceof Error ? error.message : String(error)
|
|
597
|
+
};
|
|
598
|
+
}
|
|
599
|
+
},
|
|
600
|
+
async createPyPI(repo, projectPath, version, buildScript) {
|
|
601
|
+
try {
|
|
602
|
+
return {
|
|
603
|
+
success: true,
|
|
604
|
+
action: 'create-pypi',
|
|
605
|
+
message: 'PyPI package criado',
|
|
606
|
+
data: { version }
|
|
607
|
+
};
|
|
608
|
+
}
|
|
609
|
+
catch (error) {
|
|
610
|
+
return {
|
|
611
|
+
success: false,
|
|
612
|
+
action: 'create-pypi',
|
|
613
|
+
message: 'Erro na criação de PyPI package',
|
|
614
|
+
error: error instanceof Error ? error.message : String(error)
|
|
615
|
+
};
|
|
616
|
+
}
|
|
617
|
+
},
|
|
618
|
+
// Helper: Run build script
|
|
619
|
+
async runBuildScript(projectPath, script) {
|
|
620
|
+
try {
|
|
621
|
+
// TODO: Execute build script
|
|
622
|
+
return { success: true };
|
|
623
|
+
}
|
|
624
|
+
catch (error) {
|
|
625
|
+
return {
|
|
626
|
+
success: false,
|
|
627
|
+
error: error instanceof Error ? error.message : String(error)
|
|
628
|
+
};
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
};
|
|
632
|
+
//# sourceMappingURL=git-publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-publish.js","sourceRoot":"","sources":["../../src/tools/git-publish.ts"],"names":[],"mappings":"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"}
|