@gilbert_oliveira/commit-wizard 1.2.2 → 2.0.1
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/.commit-wizardrc +17 -0
- package/LICENSE +3 -3
- package/README.md +374 -211
- package/bin/commit-wizard.ts +51 -0
- package/dist/commit-wizard.js +195 -0
- package/package.json +71 -64
- package/src/config/index.ts +237 -0
- package/src/core/cache.ts +210 -0
- package/src/core/index.ts +381 -0
- package/src/core/openai.ts +336 -0
- package/src/core/smart-split.ts +698 -0
- package/src/git/index.ts +177 -0
- package/src/ui/index.ts +204 -0
- package/src/ui/smart-split.ts +141 -0
- package/src/utils/args.ts +56 -0
- package/src/utils/polyfill.ts +82 -0
- package/dist/ai-service.d.ts +0 -44
- package/dist/ai-service.js +0 -287
- package/dist/ai-service.js.map +0 -1
- package/dist/commit-splitter.d.ts +0 -48
- package/dist/commit-splitter.js +0 -227
- package/dist/commit-splitter.js.map +0 -1
- package/dist/config.d.ts +0 -22
- package/dist/config.js +0 -84
- package/dist/config.js.map +0 -1
- package/dist/diff-processor.d.ts +0 -39
- package/dist/diff-processor.js +0 -156
- package/dist/diff-processor.js.map +0 -1
- package/dist/git-utils.d.ts +0 -72
- package/dist/git-utils.js +0 -373
- package/dist/git-utils.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -486
- package/dist/index.js.map +0 -1
package/dist/git-utils.js
DELETED
|
@@ -1,373 +0,0 @@
|
|
|
1
|
-
import { execSync } from 'child_process';
|
|
2
|
-
import fs from 'fs';
|
|
3
|
-
/**
|
|
4
|
-
* Utilitários para operações Git
|
|
5
|
-
*/
|
|
6
|
-
export class GitUtils {
|
|
7
|
-
constructor(excludePatterns = []) {
|
|
8
|
-
this.excludePatterns = excludePatterns;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Verifica se o diretório atual é um repositório Git
|
|
12
|
-
*/
|
|
13
|
-
isGitRepository() {
|
|
14
|
-
try {
|
|
15
|
-
execSync('git rev-parse --is-inside-work-tree', { stdio: 'ignore' });
|
|
16
|
-
return true;
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
return false;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Constrói argumentos de exclusão para comandos git
|
|
24
|
-
*/
|
|
25
|
-
buildExcludeArgs() {
|
|
26
|
-
if (this.excludePatterns.length === 0) {
|
|
27
|
-
return '';
|
|
28
|
-
}
|
|
29
|
-
return this.excludePatterns.map(pattern => `":(exclude)${pattern}"`).join(' ');
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Obtém status dos arquivos staged
|
|
33
|
-
*/
|
|
34
|
-
getStagedStatus() {
|
|
35
|
-
if (!this.isGitRepository()) {
|
|
36
|
-
throw new Error('Diretório atual não é um repositório Git');
|
|
37
|
-
}
|
|
38
|
-
const excludeArgs = this.buildExcludeArgs();
|
|
39
|
-
try {
|
|
40
|
-
// Verifica arquivos staged
|
|
41
|
-
const stagedFiles = execSync(`git diff --cached --name-only -- . ${excludeArgs}`, {
|
|
42
|
-
encoding: 'utf8',
|
|
43
|
-
stdio: ['pipe', 'pipe', 'pipe'], // Isola completamente os streams
|
|
44
|
-
})
|
|
45
|
-
.toString()
|
|
46
|
-
.trim();
|
|
47
|
-
if (!stagedFiles) {
|
|
48
|
-
return {
|
|
49
|
-
hasStagedFiles: false,
|
|
50
|
-
stagedFiles: [],
|
|
51
|
-
diff: '',
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
// Obtém o diff completo com isolamento de streams
|
|
55
|
-
const diff = execSync(`git diff --cached -- . ${excludeArgs}`, {
|
|
56
|
-
encoding: 'utf8',
|
|
57
|
-
stdio: ['pipe', 'pipe', 'pipe'], // Isola completamente os streams
|
|
58
|
-
});
|
|
59
|
-
// Limpa o diff de possíveis contaminações
|
|
60
|
-
const cleanDiff = this.cleanDiffOutput(diff);
|
|
61
|
-
return {
|
|
62
|
-
hasStagedFiles: true,
|
|
63
|
-
stagedFiles: stagedFiles.split('\n').filter(file => file.trim()),
|
|
64
|
-
diff: cleanDiff,
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
throw new Error(`Erro ao obter status Git: ${error}`);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Limpa o output do diff removendo possíveis contaminações
|
|
73
|
-
*/
|
|
74
|
-
cleanDiffOutput(diff) {
|
|
75
|
-
if (!diff || diff.trim().length === 0) {
|
|
76
|
-
return diff;
|
|
77
|
-
}
|
|
78
|
-
// Remove linhas que claramente não são parte do diff
|
|
79
|
-
const lines = diff.split('\n');
|
|
80
|
-
const cleanLines = lines.filter(line => {
|
|
81
|
-
const trimmed = line.trim();
|
|
82
|
-
// Preserva linhas vazias (são importantes para estrutura do diff)
|
|
83
|
-
if (!trimmed)
|
|
84
|
-
return true;
|
|
85
|
-
// Remove linhas que contêm comandos shell potenciais ou nomes de funções
|
|
86
|
-
if (trimmed.includes('cleanDiffOutput') ||
|
|
87
|
-
trimmed.includes('cleanCommitMessage') ||
|
|
88
|
-
trimmed.includes('cleanApiResponse') ||
|
|
89
|
-
trimmed.includes('AIService') ||
|
|
90
|
-
trimmed.includes('git-utils.test.ts') ||
|
|
91
|
-
trimmed.includes('execSync') ||
|
|
92
|
-
trimmed.includes('GitUtils')) {
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
// Preserva linhas que são claramente parte do diff (headers e modificações)
|
|
96
|
-
if (line.startsWith('diff ') ||
|
|
97
|
-
line.startsWith('index ') ||
|
|
98
|
-
line.startsWith('--- ') ||
|
|
99
|
-
line.startsWith('+++ ') ||
|
|
100
|
-
line.startsWith('@@')) {
|
|
101
|
-
return true;
|
|
102
|
-
}
|
|
103
|
-
// Para linhas que começam com +, -, ou espaço, verifica se não são dados de cobertura
|
|
104
|
-
if (line.startsWith('+') || line.startsWith('-') || line.startsWith(' ')) {
|
|
105
|
-
// Se contém caracteres de tabela de cobertura, remove
|
|
106
|
-
if (trimmed.includes('|') && (trimmed.includes('%') || trimmed.match(/\d+\.\d+/))) {
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
// Se contém nomes de arquivos com extensão seguidos de estatísticas, remove
|
|
110
|
-
if (trimmed.match(/\.(ts|js|tsx|jsx|py|java|c|cpp|h)\s*\|\s*\d+/)) {
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
// Se é uma linha de contexto ou modificação válida, preserva
|
|
114
|
-
return true;
|
|
115
|
-
}
|
|
116
|
-
// Remove linhas que são claramente tabelas de cobertura
|
|
117
|
-
if (trimmed.includes('|') && trimmed.includes('%') && trimmed.includes('Stmts'))
|
|
118
|
-
return false;
|
|
119
|
-
if (trimmed.includes('All files') && trimmed.includes('|'))
|
|
120
|
-
return false;
|
|
121
|
-
if (trimmed.match(/^[-|]+$/) && trimmed.length > 10)
|
|
122
|
-
return false; // Linhas separadoras longas
|
|
123
|
-
if (trimmed.includes('Uncovered Line #s'))
|
|
124
|
-
return false;
|
|
125
|
-
// Remove linhas que contêm nomes de arquivos com estatísticas
|
|
126
|
-
if (trimmed.match(/\.(ts|js|tsx|jsx|py|java|c|cpp|h)\s*\|\s*\d+\.\d+/))
|
|
127
|
-
return false;
|
|
128
|
-
// Remove linhas que são claramente cabeçalhos de tabelas
|
|
129
|
-
if (trimmed.includes('File') && trimmed.includes('% Stmts') && trimmed.includes('% Branch'))
|
|
130
|
-
return false;
|
|
131
|
-
// Remove linhas que começam com espaços seguidos de diretório e estatísticas
|
|
132
|
-
if (trimmed.match(/^(src|tests?|lib|dist|app|components)\s*\|\s*\d+\.\d+/))
|
|
133
|
-
return false;
|
|
134
|
-
// Remove linhas com apenas caracteres de tabela
|
|
135
|
-
if (trimmed.match(/^[\s\-|%]+$/) && trimmed.length > 5)
|
|
136
|
-
return false;
|
|
137
|
-
// Remove linhas que contêm caracteres potencialmente perigosos para shell
|
|
138
|
-
if (trimmed.match(/[;|&$`]/) && !trimmed.match(/^[+-].*[;|&$`]/)) {
|
|
139
|
-
return false;
|
|
140
|
-
}
|
|
141
|
-
// Se chegou até aqui, preserva a linha
|
|
142
|
-
return true;
|
|
143
|
-
});
|
|
144
|
-
return cleanLines.join('\n');
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Realiza commit com mensagem usando arquivo temporário (mais seguro)
|
|
148
|
-
*/
|
|
149
|
-
commit(message, additionalArgs = []) {
|
|
150
|
-
if (!this.isGitRepository()) {
|
|
151
|
-
throw new Error('Diretório atual não é um repositório Git');
|
|
152
|
-
}
|
|
153
|
-
// Limpa e valida a mensagem
|
|
154
|
-
const cleanMessage = this.cleanCommitMessage(message);
|
|
155
|
-
if (!cleanMessage) {
|
|
156
|
-
throw new Error('Mensagem de commit vazia após limpeza');
|
|
157
|
-
}
|
|
158
|
-
// Usa arquivo temporário para evitar problemas com caracteres especiais
|
|
159
|
-
const tempFile = '/tmp/commit-wizard-message.txt';
|
|
160
|
-
try {
|
|
161
|
-
fs.writeFileSync(tempFile, cleanMessage, 'utf8');
|
|
162
|
-
this.commitWithFile(tempFile, additionalArgs);
|
|
163
|
-
}
|
|
164
|
-
finally {
|
|
165
|
-
// Remove o arquivo temporário
|
|
166
|
-
try {
|
|
167
|
-
fs.unlinkSync(tempFile);
|
|
168
|
-
}
|
|
169
|
-
catch {
|
|
170
|
-
// Ignora erro se não conseguir remover
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Limpa a mensagem de commit removendo conteúdo inválido
|
|
176
|
-
*/
|
|
177
|
-
cleanCommitMessage(message) {
|
|
178
|
-
// Remove linhas que não deveriam estar na mensagem
|
|
179
|
-
const lines = message.split('\n');
|
|
180
|
-
const cleanLines = lines.filter(line => {
|
|
181
|
-
const trimmed = line.trim();
|
|
182
|
-
// Remove linhas vazias
|
|
183
|
-
if (!trimmed)
|
|
184
|
-
return false;
|
|
185
|
-
// Remove apenas comandos shell ou funções isoladas (mais específico)
|
|
186
|
-
// Não remove se faz parte de uma mensagem de commit válida
|
|
187
|
-
if ((trimmed === 'cleanDiffOutput' ||
|
|
188
|
-
trimmed === 'cleanCommitMessage' ||
|
|
189
|
-
trimmed === 'cleanApiResponse' ||
|
|
190
|
-
trimmed === 'AIService' ||
|
|
191
|
-
trimmed === 'git-utils.test.ts') &&
|
|
192
|
-
!trimmed.match(/^(feat|fix|docs|style|refactor|test|chore|perf|ci|build)/)) {
|
|
193
|
-
return false;
|
|
194
|
-
}
|
|
195
|
-
// Remove linhas que contêm tabelas de cobertura (mais rigoroso)
|
|
196
|
-
if (trimmed.includes('|') &&
|
|
197
|
-
(trimmed.includes('%') || trimmed.includes('Stmts') || trimmed.includes('Branch')))
|
|
198
|
-
return false;
|
|
199
|
-
if (trimmed.match(/^[-|]+$/))
|
|
200
|
-
return false;
|
|
201
|
-
if (trimmed.includes('File') && trimmed.includes('Stmts'))
|
|
202
|
-
return false;
|
|
203
|
-
if (trimmed.includes('All files') && trimmed.includes('|'))
|
|
204
|
-
return false;
|
|
205
|
-
if (trimmed.includes('Uncovered Line'))
|
|
206
|
-
return false;
|
|
207
|
-
// Remove linhas com apenas caracteres especiais
|
|
208
|
-
if (trimmed.match(/^[\s\-|%]+$/))
|
|
209
|
-
return false;
|
|
210
|
-
// Remove linhas que parecem output de ferramentas de cobertura
|
|
211
|
-
if (trimmed.includes('coverage') && trimmed.includes('|'))
|
|
212
|
-
return false;
|
|
213
|
-
if (trimmed.includes('----') && trimmed.includes('|'))
|
|
214
|
-
return false;
|
|
215
|
-
// Remove linhas que contêm nomes de arquivos com estatísticas (padrão específico)
|
|
216
|
-
if (trimmed.match(/\.(ts|js|tsx|jsx)\s*\|\s*\d+\.\d+\s*\|\s*\d+\.\d+/))
|
|
217
|
-
return false;
|
|
218
|
-
// Remove linhas que contêm "src" ou diretórios com estatísticas
|
|
219
|
-
if (trimmed.match(/^\s*(src|tests?|lib|dist)\s*\|\s*\d+\.\d+/))
|
|
220
|
-
return false;
|
|
221
|
-
// Remove linhas com números que parecem estatísticas de cobertura
|
|
222
|
-
if (trimmed.match(/\|\s*\d+\.\d+\s*\|\s*\d+\.\d+\s*\|\s*\d+\.\d+\s*\|\s*\d+\.\d+\s*\|/))
|
|
223
|
-
return false;
|
|
224
|
-
// Remove linhas que contêm caracteres potencialmente perigosos para shell
|
|
225
|
-
// MAS preserva mensagens de commit válidas
|
|
226
|
-
if (trimmed.match(/[;|&$`]/) &&
|
|
227
|
-
!trimmed.match(/^(feat|fix|docs|style|refactor|test|chore|perf|ci|build)[:(]/) &&
|
|
228
|
-
!trimmed.includes('test') && // Preserva mensagens sobre testes
|
|
229
|
-
!trimmed.includes('adiciona') && // Preserva mensagens normais
|
|
230
|
-
!trimmed.includes('atualiza') &&
|
|
231
|
-
!trimmed.includes('melhora')) {
|
|
232
|
-
return false;
|
|
233
|
-
}
|
|
234
|
-
return true;
|
|
235
|
-
});
|
|
236
|
-
// Reconstrói a mensagem
|
|
237
|
-
let result = cleanLines.join('\n').trim();
|
|
238
|
-
// Remove múltiplas linhas vazias
|
|
239
|
-
result = result.replace(/\n\s*\n\s*\n/g, '\n\n');
|
|
240
|
-
// Remove linhas vazias no início e fim
|
|
241
|
-
result = result.replace(/^\s*\n+/, '').replace(/\n+\s*$/, '');
|
|
242
|
-
// Sanitiza caracteres especiais que podem causar problemas (mais conservador)
|
|
243
|
-
result = result.replace(/[`\\]/g, '\\$&');
|
|
244
|
-
return result;
|
|
245
|
-
}
|
|
246
|
-
/**
|
|
247
|
-
* Realiza commit usando arquivo temporário para a mensagem
|
|
248
|
-
*/
|
|
249
|
-
commitWithFile(messageFile, additionalArgs = []) {
|
|
250
|
-
if (!this.isGitRepository()) {
|
|
251
|
-
throw new Error('Diretório atual não é um repositório Git');
|
|
252
|
-
}
|
|
253
|
-
// Valida se o arquivo de mensagem existe
|
|
254
|
-
if (!fs.existsSync(messageFile)) {
|
|
255
|
-
throw new Error(`Arquivo de mensagem não encontrado: ${messageFile}`);
|
|
256
|
-
}
|
|
257
|
-
// Valida o conteúdo do arquivo
|
|
258
|
-
try {
|
|
259
|
-
const content = fs.readFileSync(messageFile, 'utf8');
|
|
260
|
-
if (!content.trim()) {
|
|
261
|
-
throw new Error('Arquivo de mensagem está vazio');
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
catch (error) {
|
|
265
|
-
throw new Error(`Erro ao ler arquivo de mensagem: ${error}`);
|
|
266
|
-
}
|
|
267
|
-
try {
|
|
268
|
-
// Constrói o comando com sanitização dos argumentos
|
|
269
|
-
const baseCommand = 'git commit -F';
|
|
270
|
-
const sanitizedFile = messageFile.replace(/[;|&$`"'\\]/g, '\\$&');
|
|
271
|
-
const sanitizedArgs = additionalArgs.map(arg => arg.replace(/[;|&$`"'\\]/g, '\\$&'));
|
|
272
|
-
const args = sanitizedArgs.length > 0
|
|
273
|
-
? [baseCommand, `"${sanitizedFile}"`, ...sanitizedArgs]
|
|
274
|
-
: [baseCommand, `"${sanitizedFile}"`];
|
|
275
|
-
// Executa o comando de forma mais segura
|
|
276
|
-
execSync(args.join(' '), {
|
|
277
|
-
stdio: 'inherit',
|
|
278
|
-
shell: '/bin/bash', // Force bash para consistência
|
|
279
|
-
env: { ...process.env, LC_ALL: 'C' }, // Força locale C para evitar problemas de codificação
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
catch (error) {
|
|
283
|
-
throw new Error(`Erro ao realizar commit: ${error}`);
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* Obtém informações sobre o último commit
|
|
288
|
-
*/
|
|
289
|
-
getLastCommitInfo() {
|
|
290
|
-
if (!this.isGitRepository()) {
|
|
291
|
-
throw new Error('Diretório atual não é um repositório Git');
|
|
292
|
-
}
|
|
293
|
-
try {
|
|
294
|
-
const info = execSync('git log -1 --pretty=format:"%H|%s|%an|%ad" --date=short', {
|
|
295
|
-
encoding: 'utf8',
|
|
296
|
-
});
|
|
297
|
-
const [hash, message, author, date] = info.split('|');
|
|
298
|
-
return { hash, message, author, date };
|
|
299
|
-
}
|
|
300
|
-
catch (error) {
|
|
301
|
-
throw new Error(`Erro ao obter informações do último commit: ${error}`);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
/**
|
|
305
|
-
* Verifica se há arquivos não commitados
|
|
306
|
-
*/
|
|
307
|
-
hasUncommittedChanges() {
|
|
308
|
-
if (!this.isGitRepository()) {
|
|
309
|
-
return false;
|
|
310
|
-
}
|
|
311
|
-
try {
|
|
312
|
-
const status = execSync('git status --porcelain', { encoding: 'utf8' });
|
|
313
|
-
return status.trim().length > 0;
|
|
314
|
-
}
|
|
315
|
-
catch {
|
|
316
|
-
return false;
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
/**
|
|
320
|
-
* Lista branches disponíveis
|
|
321
|
-
*/
|
|
322
|
-
getBranches() {
|
|
323
|
-
if (!this.isGitRepository()) {
|
|
324
|
-
throw new Error('Diretório atual não é um repositório Git');
|
|
325
|
-
}
|
|
326
|
-
try {
|
|
327
|
-
const branchOutput = execSync('git branch', { encoding: 'utf8' });
|
|
328
|
-
const branches = branchOutput
|
|
329
|
-
.split('\n')
|
|
330
|
-
.map(line => line.trim())
|
|
331
|
-
.filter(line => line);
|
|
332
|
-
const current = branches
|
|
333
|
-
.find(branch => branch.startsWith('*'))
|
|
334
|
-
?.replace('*', '')
|
|
335
|
-
.trim() || '';
|
|
336
|
-
const all = branches.map(branch => branch.replace('*', '').trim());
|
|
337
|
-
return { current, all };
|
|
338
|
-
}
|
|
339
|
-
catch (error) {
|
|
340
|
-
throw new Error(`Erro ao obter branches: ${error}`);
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
/**
|
|
344
|
-
* Obtém lista de arquivos alterados (staged)
|
|
345
|
-
*/
|
|
346
|
-
getChangedFiles() {
|
|
347
|
-
const status = this.getStagedStatus();
|
|
348
|
-
return status.stagedFiles;
|
|
349
|
-
}
|
|
350
|
-
/**
|
|
351
|
-
* Obtém diff de um arquivo específico
|
|
352
|
-
*/
|
|
353
|
-
getFileDiff(filePath) {
|
|
354
|
-
if (!this.isGitRepository()) {
|
|
355
|
-
throw new Error('Diretório atual não é um repositório Git');
|
|
356
|
-
}
|
|
357
|
-
try {
|
|
358
|
-
const diff = execSync(`git diff --cached -- "${filePath}"`, { encoding: 'utf8' });
|
|
359
|
-
return diff;
|
|
360
|
-
}
|
|
361
|
-
catch {
|
|
362
|
-
return '';
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
/**
|
|
366
|
-
* Obtém diff completo dos arquivos staged
|
|
367
|
-
*/
|
|
368
|
-
getStagedDiff() {
|
|
369
|
-
const status = this.getStagedStatus();
|
|
370
|
-
return status.diff;
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
//# sourceMappingURL=git-utils.js.map
|
package/dist/git-utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-utils.js","sourceRoot":"","sources":["../src/git-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
DELETED