@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.
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@followthecode/cli",
3
- "version": "1.2.3",
3
+ "version": "1.2.4",
4
4
  "description": "CLI tool for Git repository analysis and data collection",
5
5
  "main": "index.js",
6
6
  "license": "UNLICENSED",
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
- });