@followthecode/cli 1.2.3 → 1.2.4
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/bin/linux-x64/ftc.cli +0 -0
- package/bin/osx-x64/ftc.cli +0 -0
- package/bin/win-x64/ftc.cli.exe +0 -0
- package/package.json +1 -1
- package/bin/ftc +0 -85
- package/bin/ftc.js +0 -124
package/bin/linux-x64/ftc.cli
CHANGED
|
Binary file
|
package/bin/osx-x64/ftc.cli
CHANGED
|
Binary file
|
package/bin/win-x64/ftc.cli.exe
CHANGED
|
Binary file
|
package/package.json
CHANGED
package/bin/ftc
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Follow The Code CLI - Wrapper Shell Script
|
|
4
|
-
# Este script executa o binário .NET diretamente sem depender do Node.js
|
|
5
|
-
|
|
6
|
-
# Detecta a plataforma
|
|
7
|
-
PLATFORM=$(uname -s | tr '[:upper:]' '[:lower:]')
|
|
8
|
-
ARCH=$(uname -m)
|
|
9
|
-
|
|
10
|
-
# Mapeia a plataforma para o diretório correto
|
|
11
|
-
case "$PLATFORM" in
|
|
12
|
-
"linux")
|
|
13
|
-
PLATFORM_DIR="linux-x64"
|
|
14
|
-
EXECUTABLE="ftc.cli"
|
|
15
|
-
;;
|
|
16
|
-
"darwin")
|
|
17
|
-
PLATFORM_DIR="osx-x64"
|
|
18
|
-
EXECUTABLE="ftc.cli"
|
|
19
|
-
;;
|
|
20
|
-
*)
|
|
21
|
-
echo "❌ Plataforma não suportada: $PLATFORM"
|
|
22
|
-
echo "💡 Plataformas suportadas: Linux, macOS"
|
|
23
|
-
exit 1
|
|
24
|
-
;;
|
|
25
|
-
esac
|
|
26
|
-
|
|
27
|
-
# Obtém o diretório do script
|
|
28
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
29
|
-
EXECUTABLE_PATH="$SCRIPT_DIR/$PLATFORM_DIR/$EXECUTABLE"
|
|
30
|
-
|
|
31
|
-
# Verifica se o executável existe
|
|
32
|
-
if [ ! -f "$EXECUTABLE_PATH" ]; then
|
|
33
|
-
echo "❌ Erro: Executável .NET não encontrado em: $EXECUTABLE_PATH"
|
|
34
|
-
echo "💡 Certifique-se de que o projeto foi compilado para todas as plataformas."
|
|
35
|
-
exit 1
|
|
36
|
-
fi
|
|
37
|
-
|
|
38
|
-
# Verifica permissões de execução
|
|
39
|
-
if [ ! -x "$EXECUTABLE_PATH" ]; then
|
|
40
|
-
echo "❌ Erro: Arquivo não tem permissões de execução: $EXECUTABLE_PATH"
|
|
41
|
-
echo "💡 Execute: chmod +x $EXECUTABLE_PATH"
|
|
42
|
-
exit 1
|
|
43
|
-
fi
|
|
44
|
-
|
|
45
|
-
# Se não há argumentos ou é --help, mostra o help
|
|
46
|
-
if [ $# -eq 0 ] || [[ "$*" == *"--help"* ]] || [[ "$*" == *"-h"* ]]; then
|
|
47
|
-
echo "
|
|
48
|
-
🚀 Follow The Code CLI - Ferramenta de Análise de Repositórios Git
|
|
49
|
-
|
|
50
|
-
📋 USO:
|
|
51
|
-
ftc <comando> [opções]
|
|
52
|
-
|
|
53
|
-
📝 COMANDOS:
|
|
54
|
-
collect code <repo> Analisa um repositório Git e coleta dados
|
|
55
|
-
|
|
56
|
-
📊 OPÇÕES DE EXPORTAÇÃO:
|
|
57
|
-
--csv Exporta resultados em formato CSV
|
|
58
|
-
--json Exporta resultados em formato JSON
|
|
59
|
-
--export <destino> Define o destino da exportação
|
|
60
|
-
|
|
61
|
-
🎯 DESTINOS DE EXPORTAÇÃO:
|
|
62
|
-
local:<caminho> Salva arquivo local (ex: local:./output.csv)
|
|
63
|
-
s3:<bucket>/<key> Envia para AWS S3 (ex: s3:meu-bucket/resultado.csv)
|
|
64
|
-
|
|
65
|
-
📖 EXEMPLOS:
|
|
66
|
-
ftc collect code https://github.com/user/repo --csv --export local:./resultado.csv
|
|
67
|
-
ftc collect code https://github.com/user/repo --json --export s3:meu-bucket/analise.json
|
|
68
|
-
ftc collect code https://github.com/user/repo --csv
|
|
69
|
-
|
|
70
|
-
🔧 OPÇÕES GLOBAIS:
|
|
71
|
-
--help, -h Mostra esta ajuda
|
|
72
|
-
--version, -v Mostra a versão
|
|
73
|
-
|
|
74
|
-
🌍 PLATAFORMAS SUPORTADAS:
|
|
75
|
-
Windows (x64), macOS (x64), Linux (x64)
|
|
76
|
-
|
|
77
|
-
📚 MAIS INFORMAÇÕES:
|
|
78
|
-
Visite: https://github.com/your-org/follow-the-code
|
|
79
|
-
"
|
|
80
|
-
exit 0
|
|
81
|
-
fi
|
|
82
|
-
|
|
83
|
-
# Executa o binário .NET
|
|
84
|
-
cd "$(dirname "$EXECUTABLE_PATH")"
|
|
85
|
-
exec "$EXECUTABLE_PATH" "$@"
|
package/bin/ftc.js
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const { spawn } = require('child_process');
|
|
4
|
-
const path = require('path');
|
|
5
|
-
const fs = require('fs');
|
|
6
|
-
|
|
7
|
-
// Verifica se o Node.js está disponível
|
|
8
|
-
function checkNodeAvailability() {
|
|
9
|
-
try {
|
|
10
|
-
// Tenta executar node --version
|
|
11
|
-
const { execSync } = require('child_process');
|
|
12
|
-
execSync('node --version', { stdio: 'pipe' });
|
|
13
|
-
return true;
|
|
14
|
-
} catch (error) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Detecta a plataforma e arquitetura
|
|
20
|
-
const platform = process.platform;
|
|
21
|
-
const arch = process.arch;
|
|
22
|
-
|
|
23
|
-
// Mapeia a plataforma para o diretório correto
|
|
24
|
-
const platformMap = {
|
|
25
|
-
'win32': 'win-x64',
|
|
26
|
-
'darwin': 'osx-x64', // macOS
|
|
27
|
-
'linux': 'linux-x64'
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
// Obtém o diretório da plataforma
|
|
31
|
-
const platformDir = platformMap[platform];
|
|
32
|
-
if (!platformDir) {
|
|
33
|
-
console.error('❌ Plataforma não suportada:', platform);
|
|
34
|
-
console.error('💡 Plataformas suportadas: Windows, macOS, Linux');
|
|
35
|
-
process.exit(1);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Define o nome do executável baseado na plataforma
|
|
39
|
-
const executableName = platform === 'win32' ? 'ftc.cli.exe' : 'ftc.cli';
|
|
40
|
-
const executablePath = path.join(__dirname, platformDir, executableName);
|
|
41
|
-
|
|
42
|
-
// Argumentos passados para o comando
|
|
43
|
-
const args = process.argv.slice(2);
|
|
44
|
-
|
|
45
|
-
// Se não há argumentos ou é --help, mostra o help customizado
|
|
46
|
-
if (args.length === 0 || args.includes('--help') || args.includes('-h')) {
|
|
47
|
-
console.log(`
|
|
48
|
-
🚀 Follow The Code CLI - Ferramenta de Análise de Repositórios Git
|
|
49
|
-
|
|
50
|
-
📋 USO:
|
|
51
|
-
ftc <comando> [opções]
|
|
52
|
-
|
|
53
|
-
📝 COMANDOS:
|
|
54
|
-
collect code <repo> Analisa um repositório Git e coleta dados
|
|
55
|
-
|
|
56
|
-
📊 OPÇÕES DE EXPORTAÇÃO:
|
|
57
|
-
--csv Exporta resultados em formato CSV
|
|
58
|
-
--json Exporta resultados em formato JSON
|
|
59
|
-
--export <destino> Define o destino da exportação
|
|
60
|
-
|
|
61
|
-
🎯 DESTINOS DE EXPORTAÇÃO:
|
|
62
|
-
local:<caminho> Salva arquivo local (ex: local:./output.csv)
|
|
63
|
-
s3:<bucket>/<key> Envia para AWS S3 (ex: s3:meu-bucket/resultado.csv)
|
|
64
|
-
|
|
65
|
-
📖 EXEMPLOS:
|
|
66
|
-
ftc collect code https://github.com/user/repo --csv --export local:./resultado.csv
|
|
67
|
-
ftc collect code https://github.com/user/repo --json --export s3:meu-bucket/analise.json
|
|
68
|
-
ftc collect code https://github.com/user/repo --csv
|
|
69
|
-
|
|
70
|
-
🔧 OPÇÕES GLOBAIS:
|
|
71
|
-
--help, -h Mostra esta ajuda
|
|
72
|
-
--version, -v Mostra a versão
|
|
73
|
-
|
|
74
|
-
🌍 PLATAFORMAS SUPORTADAS:
|
|
75
|
-
Windows (x64), macOS (x64), Linux (x64)
|
|
76
|
-
|
|
77
|
-
📚 MAIS INFORMAÇÕES:
|
|
78
|
-
Visite: https://github.com/your-org/follow-the-code
|
|
79
|
-
`);
|
|
80
|
-
process.exit(0);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// Verifica se o executável existe
|
|
84
|
-
if (!fs.existsSync(executablePath)) {
|
|
85
|
-
console.error('❌ Erro: Executável .NET não encontrado para', platform, 'em:', executablePath);
|
|
86
|
-
console.error('💡 Certifique-se de que o projeto foi compilado para todas as plataformas.');
|
|
87
|
-
process.exit(1);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// Verifica permissões de execução no Linux/macOS
|
|
91
|
-
if (platform !== 'win32') {
|
|
92
|
-
try {
|
|
93
|
-
const stats = fs.statSync(executablePath);
|
|
94
|
-
const isExecutable = (stats.mode & fs.constants.S_IXUSR) !== 0;
|
|
95
|
-
|
|
96
|
-
if (!isExecutable) {
|
|
97
|
-
console.error('❌ Erro: Arquivo não tem permissões de execução:', executablePath);
|
|
98
|
-
console.error('💡 Execute: npm run fix-permissions');
|
|
99
|
-
console.error('💡 Ou manualmente: chmod +x', executablePath);
|
|
100
|
-
process.exit(1);
|
|
101
|
-
}
|
|
102
|
-
} catch (error) {
|
|
103
|
-
console.error('❌ Erro ao verificar permissões:', error.message);
|
|
104
|
-
process.exit(1);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// Executa o binário .NET
|
|
109
|
-
const executableDir = path.dirname(executablePath);
|
|
110
|
-
const child = spawn(executablePath, args, {
|
|
111
|
-
stdio: 'inherit',
|
|
112
|
-
cwd: executableDir
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
// Aguarda o processo terminar
|
|
116
|
-
child.on('close', (code) => {
|
|
117
|
-
process.exit(code);
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
// Trata erros
|
|
121
|
-
child.on('error', (error) => {
|
|
122
|
-
console.error('❌ Erro ao executar o CLI:', error.message);
|
|
123
|
-
process.exit(1);
|
|
124
|
-
});
|