@followthecode/cli 1.2.11 → 1.2.13
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/package.json +3 -2
- package/scripts/install-wrapper.js +33 -7
- package/scripts/post-install.js +79 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@followthecode/cli",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.13",
|
|
4
4
|
"description": "CLI tool for Git repository analysis and data collection",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"setup": "npm run copy-config && npm run set-permissions",
|
|
21
21
|
"copy-config": "node scripts/copy-config.js",
|
|
22
22
|
"set-permissions": "node scripts/set-permissions.js",
|
|
23
|
-
"postinstall": "node scripts/install
|
|
23
|
+
"postinstall": "node scripts/post-install.js",
|
|
24
24
|
"test": "dotnet test",
|
|
25
25
|
"test:install": "npm run test:install:win",
|
|
26
26
|
"test:install:win": "powershell -ExecutionPolicy Bypass -File scripts/test-simple.ps1",
|
|
@@ -79,6 +79,7 @@
|
|
|
79
79
|
"scripts/copy-config.js",
|
|
80
80
|
"scripts/set-permissions.js",
|
|
81
81
|
"scripts/install-wrapper.js",
|
|
82
|
+
"scripts/post-install.js",
|
|
82
83
|
"scripts/README.md",
|
|
83
84
|
"README.md",
|
|
84
85
|
"LICENSE",
|
|
@@ -74,14 +74,40 @@ if (ftcShellExists) {
|
|
|
74
74
|
// Copia arquivo de configuração para o diretório de instalação global
|
|
75
75
|
function copyConfigFile() {
|
|
76
76
|
try {
|
|
77
|
-
|
|
78
|
-
const
|
|
77
|
+
// Tenta diferentes locais para o arquivo de configuração
|
|
78
|
+
const possibleSources = [
|
|
79
|
+
path.join(__dirname, '..', 'bin', 'linux-x64', 'appsettings.json'),
|
|
80
|
+
path.join(__dirname, '..', 'bin', 'win-x64', 'appsettings.json'),
|
|
81
|
+
path.join(__dirname, '..', 'bin', 'osx-x64', 'appsettings.json'),
|
|
82
|
+
path.join(__dirname, '..', 'appsettings.json')
|
|
83
|
+
];
|
|
79
84
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
+
let configSource = null;
|
|
86
|
+
for (const source of possibleSources) {
|
|
87
|
+
if (fs.existsSync(source)) {
|
|
88
|
+
configSource = source;
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (!configSource) {
|
|
94
|
+
console.warn('⚠️ Arquivo de configuração não encontrado em nenhum local');
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Copia para múltiplos locais para garantir que funcione
|
|
99
|
+
const destinations = [
|
|
100
|
+
path.join(__dirname, '..', 'appsettings.json'), // Raiz do pacote
|
|
101
|
+
path.join(process.cwd(), 'appsettings.json') // Diretório atual
|
|
102
|
+
];
|
|
103
|
+
|
|
104
|
+
for (const dest of destinations) {
|
|
105
|
+
try {
|
|
106
|
+
fs.copyFileSync(configSource, dest);
|
|
107
|
+
console.log(`✅ Arquivo de configuração copiado para: ${dest}`);
|
|
108
|
+
} catch (error) {
|
|
109
|
+
console.warn(`⚠️ Erro ao copiar para ${dest}:`, error.message);
|
|
110
|
+
}
|
|
85
111
|
}
|
|
86
112
|
} catch (error) {
|
|
87
113
|
console.warn('⚠️ Erro ao copiar arquivo de configuração:', error.message);
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
|
|
6
|
+
console.log('🔧 Configurando FTC CLI após instalação...');
|
|
7
|
+
|
|
8
|
+
// Função para copiar arquivo de configuração
|
|
9
|
+
function copyConfigFile() {
|
|
10
|
+
try {
|
|
11
|
+
// Tenta diferentes locais para o arquivo de configuração
|
|
12
|
+
const possibleSources = [
|
|
13
|
+
path.join(__dirname, '..', 'bin', 'linux-x64', 'appsettings.json'),
|
|
14
|
+
path.join(__dirname, '..', 'bin', 'win-x64', 'appsettings.json'),
|
|
15
|
+
path.join(__dirname, '..', 'bin', 'osx-x64', 'appsettings.json'),
|
|
16
|
+
path.join(__dirname, '..', 'appsettings.json')
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
let configSource = null;
|
|
20
|
+
for (const source of possibleSources) {
|
|
21
|
+
if (fs.existsSync(source)) {
|
|
22
|
+
configSource = source;
|
|
23
|
+
console.log(`📁 Arquivo de configuração encontrado em: ${source}`);
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (!configSource) {
|
|
29
|
+
console.error('❌ Arquivo de configuração não encontrado!');
|
|
30
|
+
console.error('💡 Verifique se o pacote foi compilado corretamente.');
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Copia para o diretório de instalação global
|
|
35
|
+
const globalDest = path.join(__dirname, '..', 'appsettings.json');
|
|
36
|
+
fs.copyFileSync(configSource, globalDest);
|
|
37
|
+
console.log(`✅ Arquivo de configuração copiado para: ${globalDest}`);
|
|
38
|
+
|
|
39
|
+
return true;
|
|
40
|
+
} catch (error) {
|
|
41
|
+
console.error('❌ Erro ao copiar arquivo de configuração:', error.message);
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Função para definir permissões
|
|
47
|
+
function setPermissions() {
|
|
48
|
+
try {
|
|
49
|
+
const ftcJsPath = path.join(__dirname, '..', 'bin', 'ftc.js');
|
|
50
|
+
const ftcShellPath = path.join(__dirname, '..', 'bin', 'ftc');
|
|
51
|
+
|
|
52
|
+
if (fs.existsSync(ftcJsPath)) {
|
|
53
|
+
fs.chmodSync(ftcJsPath, 0o755);
|
|
54
|
+
console.log('✅ Permissões definidas para ftc.js');
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (fs.existsSync(ftcShellPath)) {
|
|
58
|
+
fs.chmodSync(ftcShellPath, 0o755);
|
|
59
|
+
console.log('✅ Permissões definidas para ftc (shell)');
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return true;
|
|
63
|
+
} catch (error) {
|
|
64
|
+
console.warn('⚠️ Erro ao definir permissões:', error.message);
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Executa as configurações
|
|
70
|
+
const configSuccess = copyConfigFile();
|
|
71
|
+
const permissionsSuccess = setPermissions();
|
|
72
|
+
|
|
73
|
+
if (configSuccess && permissionsSuccess) {
|
|
74
|
+
console.log('🎉 FTC CLI configurado com sucesso!');
|
|
75
|
+
console.log('💡 Execute: ftc --help');
|
|
76
|
+
} else {
|
|
77
|
+
console.error('❌ Alguns problemas foram encontrados durante a configuração.');
|
|
78
|
+
process.exit(1);
|
|
79
|
+
}
|