@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/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
@@ -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
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};