@followthecode/cli 1.2.42 → 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/README.md +32 -103
- 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 +104 -104
package/README.md
CHANGED
|
@@ -52,7 +52,7 @@ docker run --rm -v "%cd%:/repo" ftc:latest collect code "/repo/meu-repo" --json
|
|
|
52
52
|
Você não precisa mapear volumes para repositórios remotos:
|
|
53
53
|
|
|
54
54
|
```sh
|
|
55
|
-
docker run --rm ftc:latest collect code "https://github.com/
|
|
55
|
+
docker run --rm ftc:latest collect code "https://github.com/exemplo/repositorio.git" --json
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
### 4. Exemplo com filtros de data
|
|
@@ -88,7 +88,7 @@ docker run --rm -v "%cd%:/repo" ftc:latest collect code "/repo/meu-repo" --json
|
|
|
88
88
|
|
|
89
89
|
### Repositório remoto
|
|
90
90
|
```sh
|
|
91
|
-
docker run --rm ftc:latest collect code "https://github.com/
|
|
91
|
+
docker run --rm ftc:latest collect code "https://github.com/exemplo/repositorio.git" --json
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
### Com filtros de data
|
|
@@ -115,10 +115,10 @@ Execute o script de correção como Administrador:
|
|
|
115
115
|
|
|
116
116
|
```powershell
|
|
117
117
|
# Abrir PowerShell como Administrador
|
|
118
|
-
.\scripts\fix-
|
|
118
|
+
.\scripts\fix-permissions.ps1
|
|
119
119
|
|
|
120
120
|
# Ou com limpeza forçada
|
|
121
|
-
.\scripts\fix-
|
|
121
|
+
.\scripts\fix-permissions.ps1 -Force
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
## 🧪 Testando a Instalação
|
|
@@ -159,7 +159,7 @@ cd ..
|
|
|
159
159
|
|
|
160
160
|
# Testar funcionalidades
|
|
161
161
|
bin/ftc collect code ./test-repo --json
|
|
162
|
-
bin/ftc collect code https://github.com/
|
|
162
|
+
bin/ftc collect code https://github.com/exemplo/repositorio.git --json
|
|
163
163
|
```
|
|
164
164
|
|
|
165
165
|
Para mais detalhes, consulte a seção de testes abaixo.
|
|
@@ -182,7 +182,7 @@ ftc collect code "./caminho/para/meu-repo" --json
|
|
|
182
182
|
Exemplo com repositório remoto e filtros:
|
|
183
183
|
|
|
184
184
|
```sh
|
|
185
|
-
ftc collect code "https://github.com/
|
|
185
|
+
ftc collect code "https://github.com/exemplo/repositorio.git" --startDate 2024-01-01 --endDate 2024-12-31 --json
|
|
186
186
|
```
|
|
187
187
|
|
|
188
188
|
Para ajuda:
|
|
@@ -202,7 +202,7 @@ dotnet run -- collect code /caminho/para/repositorio
|
|
|
202
202
|
|
|
203
203
|
#### Análise de repositório remoto
|
|
204
204
|
```bash
|
|
205
|
-
dotnet run -- collect code https://github.com/
|
|
205
|
+
dotnet run -- collect code https://github.com/exemplo/repositorio.git
|
|
206
206
|
```
|
|
207
207
|
|
|
208
208
|
#### Com filtros de data
|
|
@@ -239,10 +239,10 @@ scripts\docker-run.bat collect code C:\caminho\para\repositorio
|
|
|
239
239
|
#### Análise de repositório remoto
|
|
240
240
|
```bash
|
|
241
241
|
# Linux/macOS
|
|
242
|
-
./scripts/docker-run.sh code https://github.com/
|
|
242
|
+
./scripts/docker-run.sh collect code https://github.com/exemplo/repositorio.git
|
|
243
243
|
|
|
244
244
|
# Windows
|
|
245
|
-
scripts\docker-run.bat code https://github.com/
|
|
245
|
+
scripts\docker-run.bat collect code https://github.com/exemplo/repositorio.git
|
|
246
246
|
```
|
|
247
247
|
|
|
248
248
|
#### Com filtros e JSON
|
|
@@ -295,27 +295,27 @@ docker run --rm -v $(pwd)/repos:/repos:ro ftc:latest collect code /repos/meu-pro
|
|
|
295
295
|
- Caminhos relativos: `./repositorio`, `../repositorio`
|
|
296
296
|
|
|
297
297
|
### Remotos
|
|
298
|
-
- HTTPS: `https://github.com/
|
|
299
|
-
- HTTP: `http://github.com/
|
|
300
|
-
- SSH: `git@github.com/
|
|
301
|
-
- Git: `git://github.com/
|
|
298
|
+
- HTTPS: `https://github.com/exemplo/repositorio.git`
|
|
299
|
+
- HTTP: `http://github.com/exemplo/repositorio.git`
|
|
300
|
+
- SSH: `git@github.com/exemplo/repositorio.git`
|
|
301
|
+
- Git: `git://github.com/exemplo/repositorio.git`
|
|
302
302
|
|
|
303
303
|
## Exemplo de Saída
|
|
304
304
|
|
|
305
305
|
### Formato padrão
|
|
306
306
|
```
|
|
307
|
-
Analisando repositório: https://github.com/
|
|
307
|
+
Analisando repositório: https://github.com/exemplo/repositorio.git
|
|
308
308
|
Tipo: Remoto
|
|
309
|
-
Clonando repositório: https://github.com/
|
|
310
|
-
Pasta temporária:
|
|
309
|
+
Clonando repositório: https://github.com/exemplo/repositorio.git
|
|
310
|
+
Pasta temporária: /tmp/ftc-cli-12345678-1234-1234-1234-123456789abc
|
|
311
311
|
Repositório clonado com sucesso.
|
|
312
312
|
|
|
313
313
|
📊 Total de commits: 150
|
|
314
314
|
|
|
315
315
|
👥 Autores:
|
|
316
|
-
•
|
|
317
|
-
•
|
|
318
|
-
•
|
|
316
|
+
• Desenvolvedor A <dev.a@exemplo.com>: 45 commits
|
|
317
|
+
• Desenvolvedor B <dev.b@exemplo.com>: 38 commits
|
|
318
|
+
• Desenvolvedor C <dev.c@exemplo.com>: 27 commits
|
|
319
319
|
|
|
320
320
|
📁 Total de arquivos alterados: 89
|
|
321
321
|
📄 Arquivos alterados:
|
|
@@ -334,8 +334,8 @@ Repositório clonado com sucesso.
|
|
|
334
334
|
"totalCommits": 150,
|
|
335
335
|
"authors": [
|
|
336
336
|
{
|
|
337
|
-
"name": "
|
|
338
|
-
"email": "
|
|
337
|
+
"name": "Desenvolvedor A",
|
|
338
|
+
"email": "dev.a@exemplo.com",
|
|
339
339
|
"commits": 45
|
|
340
340
|
}
|
|
341
341
|
],
|
|
@@ -355,9 +355,9 @@ Repositório clonado com sucesso.
|
|
|
355
355
|
### Formato CSV
|
|
356
356
|
```csv
|
|
357
357
|
nomeRepositorio;idRepositorio;dataCommit;idCommit;nomeAutor;emailAutor;nomeArquivo;caminhoArquivo;linhasAdicionadas;linhasRemovidas
|
|
358
|
-
meu-repo;abc123;2024-01-15 10:30:00;def456;
|
|
359
|
-
meu-repo;abc123;2024-01-15 10:30:00;def456;
|
|
360
|
-
meu-repo;abc123;2024-01-16 14:20:00;ghi789;
|
|
358
|
+
meu-repo;abc123;2024-01-15 10:30:00;def456;Desenvolvedor A;dev.a@exemplo.com;Program.cs;src/Program.cs;120;45
|
|
359
|
+
meu-repo;abc123;2024-01-15 10:30:00;def456;Desenvolvedor A;dev.a@exemplo.com;Models.cs;src/Models.cs;89;12
|
|
360
|
+
meu-repo;abc123;2024-01-16 14:20:00;ghi789;Desenvolvedor B;dev.b@exemplo.com;README.md;README.md;15;3
|
|
361
361
|
```
|
|
362
362
|
|
|
363
363
|
O formato CSV inclui:
|
|
@@ -385,21 +385,7 @@ A CLI fornece mensagens de erro claras e específicas:
|
|
|
385
385
|
|
|
386
386
|
## Arquitetura
|
|
387
387
|
|
|
388
|
-
O projeto segue a arquitetura Vertical Slice do FTC
|
|
389
|
-
|
|
390
|
-
```
|
|
391
|
-
Features/
|
|
392
|
-
└── AnalyzeRepository/
|
|
393
|
-
├── Models.cs # Request/Response records
|
|
394
|
-
└── AnalyzeRepositorySlice.cs # Lógica de análise
|
|
395
|
-
|
|
396
|
-
Common/
|
|
397
|
-
└── RepositoryUtils.cs # Utilitários para repositórios
|
|
398
|
-
|
|
399
|
-
scripts/
|
|
400
|
-
├── docker-run.sh # Script Linux/macOS
|
|
401
|
-
└── docker-run.bat # Script Windows
|
|
402
|
-
```
|
|
388
|
+
O projeto segue a arquitetura Vertical Slice do FTC, organizando funcionalidades em slices independentes com suas próprias responsabilidades.
|
|
403
389
|
|
|
404
390
|
## Docker
|
|
405
391
|
|
|
@@ -408,9 +394,6 @@ scripts/
|
|
|
408
394
|
Dockerfile # Multi-stage build otimizado
|
|
409
395
|
.dockerignore # Exclusões para build
|
|
410
396
|
docker-compose.yml # Configuração do container
|
|
411
|
-
scripts/
|
|
412
|
-
├── docker-run.sh # Script Linux/macOS
|
|
413
|
-
└── docker-run.bat # Script Windows
|
|
414
397
|
```
|
|
415
398
|
|
|
416
399
|
### Características da Imagem
|
|
@@ -418,11 +401,11 @@ scripts/
|
|
|
418
401
|
- **Runtime .NET 8**: Imagem base leve
|
|
419
402
|
- **Git instalado**: Suporte a repositórios remotos
|
|
420
403
|
- **Volumes mapeados**: Acesso a repositórios locais
|
|
421
|
-
- **Timezone configurado**:
|
|
404
|
+
- **Timezone configurado**: UTC
|
|
422
405
|
|
|
423
406
|
### Volumes Docker
|
|
424
407
|
- `./repos:/repos:ro`: Mapeia repositórios locais (somente leitura)
|
|
425
|
-
- `./temp:/tmp
|
|
408
|
+
- `./temp:/tmp`: Pasta temporária para persistência
|
|
426
409
|
|
|
427
410
|
## Testes
|
|
428
411
|
|
|
@@ -430,10 +413,10 @@ O projeto inclui testes automatizados para validação de funcionalidades:
|
|
|
430
413
|
|
|
431
414
|
```bash
|
|
432
415
|
# Executar todos os testes
|
|
433
|
-
dotnet test
|
|
416
|
+
dotnet test
|
|
434
417
|
|
|
435
418
|
# Executar testes específicos
|
|
436
|
-
dotnet test
|
|
419
|
+
dotnet test --filter "RepositoryTests"
|
|
437
420
|
```
|
|
438
421
|
|
|
439
422
|
### Cobertura de Testes
|
|
@@ -441,14 +424,6 @@ dotnet test ../../ftc.cli.tests --filter "IsRemoteRepository"
|
|
|
441
424
|
- ✅ Validação de URLs HTTPS, HTTP, SSH, Git
|
|
442
425
|
- ✅ Validação de caminhos locais e relativos
|
|
443
426
|
|
|
444
|
-
## Dependências
|
|
445
|
-
|
|
446
|
-
- **System.CommandLine**: Para parsing de argumentos da CLI
|
|
447
|
-
- **LibGit2Sharp**: Para análise de repositórios Git
|
|
448
|
-
- **System.Text.Json**: Para serialização JSON
|
|
449
|
-
- **xUnit**: Para testes automatizados
|
|
450
|
-
- **Docker**: Para containerização
|
|
451
|
-
|
|
452
427
|
## Desenvolvimento
|
|
453
428
|
|
|
454
429
|
### Compilar
|
|
@@ -476,13 +451,13 @@ scripts\docker-run.bat [argumentos]
|
|
|
476
451
|
dotnet run -- collect code C:\caminho\para\repositorio
|
|
477
452
|
|
|
478
453
|
# Testar com repositório remoto
|
|
479
|
-
dotnet run -- collect code https://github.com/
|
|
454
|
+
dotnet run -- collect code https://github.com/exemplo/repositorio.git
|
|
480
455
|
|
|
481
456
|
# Testar com filtros
|
|
482
457
|
dotnet run -- collect code C:\caminho\para\repositorio --startDate 2024-01-01 --endDate 2024-12-31 --json
|
|
483
458
|
|
|
484
459
|
# Executar testes
|
|
485
|
-
dotnet test
|
|
460
|
+
dotnet test
|
|
486
461
|
|
|
487
462
|
# Testar com Docker
|
|
488
463
|
./scripts/docker-run.sh collect code C:\caminho\para\repositorio
|
|
@@ -550,53 +525,7 @@ ftc collect code "./meu-repo" --csv --export s3: --s3-bucket "meu-bucket"
|
|
|
550
525
|
ftc collect code "./meu-repo" --csv --export s3://meu-bucket/analises/resultado.csv
|
|
551
526
|
```
|
|
552
527
|
|
|
553
|
-
- Se `--s3-bucket` não for informado, será usado o bucket padrão
|
|
528
|
+
- Se `--s3-bucket` não for informado, será usado o bucket padrão configurado.
|
|
554
529
|
- Para JSON: Se `--s3-key` não for informado, será usado o padrão `analises/<nome_repositorio>-ano-mes-dia.json`.
|
|
555
530
|
- Para CSV: Se `--s3-key` não for informado, será usado o padrão `analises/<nome_repositorio>-ano-mes-dia.csv`.
|
|
556
531
|
- O parâmetro `--s3-region` pode ser usado para especificar a região AWS.
|
|
557
|
-
|
|
558
|
-
## Exportação via API HTTP (x-apikey)
|
|
559
|
-
|
|
560
|
-
Agora é possível exportar arquivos diretamente para uma API HTTP utilizando o header `x-apikey`.
|
|
561
|
-
|
|
562
|
-
**Exemplo de configuração:**
|
|
563
|
-
|
|
564
|
-
```
|
|
565
|
-
api:https://sua-api.com/upload?apikey=SEU_API_KEY
|
|
566
|
-
```
|
|
567
|
-
|
|
568
|
-
- O arquivo será compactado (gzip) e enviado via POST para a URL informada.
|
|
569
|
-
- O header `x-apikey` será preenchido automaticamente com o valor fornecido.
|
|
570
|
-
- O header `x-provider` será enviado se especificado na URL.
|
|
571
|
-
- O conteúdo enviado será do tipo `application/octet-stream` com encoding `gzip`.
|
|
572
|
-
|
|
573
|
-
**Uso no código:**
|
|
574
|
-
|
|
575
|
-
```csharp
|
|
576
|
-
await ExportHelper.ExportDataAsync(
|
|
577
|
-
dados,
|
|
578
|
-
"api:https://sua-api.com/upload?apikey=SEU_API_KEY",
|
|
579
|
-
repoPath,
|
|
580
|
-
serviceProvider,
|
|
581
|
-
ExportFormat.Json
|
|
582
|
-
);
|
|
583
|
-
```
|
|
584
|
-
|
|
585
|
-
### Exemplo: Envio de arquivo compactado para o endpoint de commit-files
|
|
586
|
-
|
|
587
|
-
```
|
|
588
|
-
api:https://ftc-api.eximia.co/collect/commit-files?apikey=xpt-apikey&provider=Azure
|
|
589
|
-
```
|
|
590
|
-
|
|
591
|
-
- O arquivo será compactado (gzip) e enviado via POST.
|
|
592
|
-
- Headers enviados: x-apikey, x-provider
|
|
593
|
-
- Suporta CSV ou JSON.
|
|
594
|
-
- Formato: application/octet-stream com encoding gzip
|
|
595
|
-
|
|
596
|
-
### Exemplo: Consulta do last-sync via GET
|
|
597
|
-
|
|
598
|
-
```csharp
|
|
599
|
-
var client = new ApiKeyHttpGetClient(serviceProvider.GetRequiredService<IHttpClientFactory>(), "xpt-apikey");
|
|
600
|
-
var lastSync = await client.GetLastSyncAsync("https://ftc-api.eximia.co/collect/repositories/repo01/last-sync");
|
|
601
|
-
Console.WriteLine($"Última sincronização: {lastSync}");
|
|
602
|
-
```
|
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
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@followthecode/cli",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "CLI tool for Git repository analysis and data collection",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"license": "UNLICENSED",
|
|
7
|
-
"publishConfig": {
|
|
8
|
-
"access": "public"
|
|
9
|
-
},
|
|
10
|
-
"bin": {
|
|
11
|
-
"ftc": "./bin/ftc.js",
|
|
12
|
-
"ftc-linux": "./bin/ftc"
|
|
13
|
-
},
|
|
14
|
-
"scripts": {
|
|
15
|
-
"build": "npm run build:all && npm run setup",
|
|
16
|
-
"build:all": "npm run build:win && npm run build:mac && npm run build:linux",
|
|
17
|
-
"build:win": "dotnet publish ftc.cli.csproj -c Release -r win-x64 -o ./bin/win-x64",
|
|
18
|
-
"build:mac": "dotnet publish ftc.cli.csproj -c Release -r osx-x64 -o ./bin/osx-x64",
|
|
19
|
-
"build:linux": "dotnet publish ftc.cli.csproj -c Release -r linux-x64 -o ./bin/linux-x64",
|
|
20
|
-
"setup": "npm run sync-version && npm run copy-config && npm run set-permissions",
|
|
21
|
-
"sync-version": "node scripts/sync-version.js",
|
|
22
|
-
"copy-config": "node scripts/copy-config.js",
|
|
23
|
-
"set-permissions": "node scripts/set-permissions.js",
|
|
24
|
-
"postinstall": "node scripts/post-install.js",
|
|
25
|
-
"test": "dotnet test",
|
|
26
|
-
"test:install": "npm run test:install:win",
|
|
27
|
-
"test:install:win": "powershell -ExecutionPolicy Bypass -File scripts/test-simple.ps1",
|
|
28
|
-
"test:install:linux": "bash scripts/test-installation.sh",
|
|
29
|
-
"test:install:wsl": "wsl bash scripts/test-installation.sh",
|
|
30
|
-
"clean": "dotnet clean",
|
|
31
|
-
"publish": "node scripts/publish.js",
|
|
32
|
-
"publish:patch": "node scripts/publish.js --patch",
|
|
33
|
-
"publish:minor": "node scripts/publish.js --minor",
|
|
34
|
-
"publish:major": "node scripts/publish.js --major"
|
|
35
|
-
},
|
|
36
|
-
"keywords": [
|
|
37
|
-
"git",
|
|
38
|
-
"analysis",
|
|
39
|
-
"repository",
|
|
40
|
-
"cli",
|
|
41
|
-
"follow-the-code",
|
|
42
|
-
"metrics",
|
|
43
|
-
"csv",
|
|
44
|
-
"json",
|
|
45
|
-
"s3"
|
|
46
|
-
],
|
|
47
|
-
"author": "Follow The Code Team",
|
|
48
|
-
"repository": {
|
|
49
|
-
"type": "git",
|
|
50
|
-
"url": "https://github.com/your-org/follow-the-code.git"
|
|
51
|
-
},
|
|
52
|
-
"bugs": {
|
|
53
|
-
"url": "https://github.com/your-org/follow-the-code/issues"
|
|
54
|
-
},
|
|
55
|
-
"homepage": "https://github.com/your-org/follow-the-code#readme",
|
|
56
|
-
"engines": {
|
|
57
|
-
"node": ">=14.0.0"
|
|
58
|
-
},
|
|
59
|
-
"os": [
|
|
60
|
-
"win32",
|
|
61
|
-
"darwin",
|
|
62
|
-
"linux"
|
|
63
|
-
],
|
|
64
|
-
"cpu": [
|
|
65
|
-
"x64",
|
|
66
|
-
"arm64"
|
|
67
|
-
],
|
|
68
|
-
"files": [
|
|
69
|
-
"bin/ftc.js",
|
|
70
|
-
"bin/ftc",
|
|
71
|
-
"bin/win-x64/ftc.cli.exe",
|
|
72
|
-
"bin/win-x64/appsettings.json",
|
|
73
|
-
"bin/win-x64/git2-3f4182d.dll",
|
|
74
|
-
"bin/osx-x64/ftc.cli",
|
|
75
|
-
"bin/osx-x64/appsettings.json",
|
|
76
|
-
"bin/osx-x64/libgit2-3f4182d.dylib",
|
|
77
|
-
"bin/linux-x64/ftc.cli",
|
|
78
|
-
"bin/linux-x64/appsettings.json",
|
|
79
|
-
"bin/linux-x64/libgit2-3f4182d.so",
|
|
80
|
-
"appsettings.json",
|
|
81
|
-
"scripts/sync-version.js",
|
|
82
|
-
"scripts/copy-config.js",
|
|
83
|
-
"scripts/set-permissions.js",
|
|
84
|
-
"scripts/install-wrapper.js",
|
|
85
|
-
"scripts/post-install.js",
|
|
86
|
-
"scripts/README.md",
|
|
87
|
-
"README.md",
|
|
88
|
-
"LICENSE",
|
|
89
|
-
"TESTING_INSTALLATION.md"
|
|
90
|
-
],
|
|
91
|
-
"dependencies": {
|
|
92
|
-
"node-fetch": "^3.3.0"
|
|
93
|
-
},
|
|
94
|
-
"devDependencies": {
|
|
95
|
-
"@types/node": "^18.0.0"
|
|
96
|
-
},
|
|
97
|
-
"overrides": {
|
|
98
|
-
"node-domexception": {
|
|
99
|
-
"node-domexception": "npm:undici@^5.0.0"
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
"resolutions": {
|
|
103
|
-
"node-domexception": "npm:undici@^5.0.0"
|
|
104
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@followthecode/cli",
|
|
3
|
+
"version": "2.0.1",
|
|
4
|
+
"description": "CLI tool for Git repository analysis and data collection",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"license": "UNLICENSED",
|
|
7
|
+
"publishConfig": {
|
|
8
|
+
"access": "public"
|
|
9
|
+
},
|
|
10
|
+
"bin": {
|
|
11
|
+
"ftc": "./bin/ftc.js",
|
|
12
|
+
"ftc-linux": "./bin/ftc"
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "npm run build:all && npm run setup",
|
|
16
|
+
"build:all": "npm run build:win && npm run build:mac && npm run build:linux",
|
|
17
|
+
"build:win": "dotnet publish ftc.cli.csproj -c Release -r win-x64 -o ./bin/win-x64",
|
|
18
|
+
"build:mac": "dotnet publish ftc.cli.csproj -c Release -r osx-x64 -o ./bin/osx-x64",
|
|
19
|
+
"build:linux": "dotnet publish ftc.cli.csproj -c Release -r linux-x64 -o ./bin/linux-x64",
|
|
20
|
+
"setup": "npm run sync-version && npm run copy-config && npm run set-permissions",
|
|
21
|
+
"sync-version": "node scripts/sync-version.js",
|
|
22
|
+
"copy-config": "node scripts/copy-config.js",
|
|
23
|
+
"set-permissions": "node scripts/set-permissions.js",
|
|
24
|
+
"postinstall": "node scripts/post-install.js",
|
|
25
|
+
"test": "dotnet test",
|
|
26
|
+
"test:install": "npm run test:install:win",
|
|
27
|
+
"test:install:win": "powershell -ExecutionPolicy Bypass -File scripts/test-simple.ps1",
|
|
28
|
+
"test:install:linux": "bash scripts/test-installation.sh",
|
|
29
|
+
"test:install:wsl": "wsl bash scripts/test-installation.sh",
|
|
30
|
+
"clean": "dotnet clean",
|
|
31
|
+
"publish": "node scripts/publish.js",
|
|
32
|
+
"publish:patch": "node scripts/publish.js --patch",
|
|
33
|
+
"publish:minor": "node scripts/publish.js --minor",
|
|
34
|
+
"publish:major": "node scripts/publish.js --major"
|
|
35
|
+
},
|
|
36
|
+
"keywords": [
|
|
37
|
+
"git",
|
|
38
|
+
"analysis",
|
|
39
|
+
"repository",
|
|
40
|
+
"cli",
|
|
41
|
+
"follow-the-code",
|
|
42
|
+
"metrics",
|
|
43
|
+
"csv",
|
|
44
|
+
"json",
|
|
45
|
+
"s3"
|
|
46
|
+
],
|
|
47
|
+
"author": "Follow The Code Team",
|
|
48
|
+
"repository": {
|
|
49
|
+
"type": "git",
|
|
50
|
+
"url": "https://github.com/your-org/follow-the-code.git"
|
|
51
|
+
},
|
|
52
|
+
"bugs": {
|
|
53
|
+
"url": "https://github.com/your-org/follow-the-code/issues"
|
|
54
|
+
},
|
|
55
|
+
"homepage": "https://github.com/your-org/follow-the-code#readme",
|
|
56
|
+
"engines": {
|
|
57
|
+
"node": ">=14.0.0"
|
|
58
|
+
},
|
|
59
|
+
"os": [
|
|
60
|
+
"win32",
|
|
61
|
+
"darwin",
|
|
62
|
+
"linux"
|
|
63
|
+
],
|
|
64
|
+
"cpu": [
|
|
65
|
+
"x64",
|
|
66
|
+
"arm64"
|
|
67
|
+
],
|
|
68
|
+
"files": [
|
|
69
|
+
"bin/ftc.js",
|
|
70
|
+
"bin/ftc",
|
|
71
|
+
"bin/win-x64/ftc.cli.exe",
|
|
72
|
+
"bin/win-x64/appsettings.json",
|
|
73
|
+
"bin/win-x64/git2-3f4182d.dll",
|
|
74
|
+
"bin/osx-x64/ftc.cli",
|
|
75
|
+
"bin/osx-x64/appsettings.json",
|
|
76
|
+
"bin/osx-x64/libgit2-3f4182d.dylib",
|
|
77
|
+
"bin/linux-x64/ftc.cli",
|
|
78
|
+
"bin/linux-x64/appsettings.json",
|
|
79
|
+
"bin/linux-x64/libgit2-3f4182d.so",
|
|
80
|
+
"appsettings.json",
|
|
81
|
+
"scripts/sync-version.js",
|
|
82
|
+
"scripts/copy-config.js",
|
|
83
|
+
"scripts/set-permissions.js",
|
|
84
|
+
"scripts/install-wrapper.js",
|
|
85
|
+
"scripts/post-install.js",
|
|
86
|
+
"scripts/README.md",
|
|
87
|
+
"README.md",
|
|
88
|
+
"LICENSE",
|
|
89
|
+
"TESTING_INSTALLATION.md"
|
|
90
|
+
],
|
|
91
|
+
"dependencies": {
|
|
92
|
+
"node-fetch": "^3.3.0"
|
|
93
|
+
},
|
|
94
|
+
"devDependencies": {
|
|
95
|
+
"@types/node": "^18.0.0"
|
|
96
|
+
},
|
|
97
|
+
"overrides": {
|
|
98
|
+
"node-domexception": {
|
|
99
|
+
"node-domexception": "npm:undici@^5.0.0"
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"resolutions": {
|
|
103
|
+
"node-domexception": "npm:undici@^5.0.0"
|
|
104
|
+
}
|
|
105
105
|
}
|