@benup/bensdk 1.13.5 → 1.13.9-0
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
CHANGED
|
@@ -1,103 +1,86 @@
|
|
|
1
|
-
# BenSDK
|
|
1
|
+
# BenSDK CLI
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
<img src="https://img.shields.io/badge/Status-Stable-green" alt="Status: Stable">
|
|
5
|
-
<img src="https://img.shields.io/badge/Version-1.12.
|
|
5
|
+
<img src="https://img.shields.io/badge/Version-1.12.2-blue" alt="Version: 1.12.2">
|
|
6
6
|
</div>
|
|
7
7
|
|
|
8
|
+
<br>
|
|
8
9
|
<br>
|
|
9
10
|
|
|
10
11
|
<div align="center">
|
|
11
12
|
<img src="resources/intro.gif" alt="BenSDK CLI Demo" width="800">
|
|
12
13
|
</div>
|
|
13
14
|
|
|
14
|
-
O BenSDK CLI
|
|
15
|
-
|
|
16
|
-
## 📋 O que é o BenSDK?
|
|
17
|
-
|
|
18
|
-
O BenSDK é um framework para a criação de integrações entre benefícios e o ecossistema Benup.
|
|
15
|
+
O BenSDK CLI gera o scaffolding de projetos de integração de benefícios para o ecossistema Benup. Com um único comando você tem um projeto TypeScript pronto com máquina de estados, handlers, testes unitários e servidor local para testar contra a API real do parceiro.
|
|
19
16
|
|
|
20
|
-
##
|
|
17
|
+
## Instalação
|
|
21
18
|
|
|
22
|
-
|
|
23
|
-
- ⚡ Configuração automática do ambiente de desenvolvimento
|
|
24
|
-
- 📦 Suporte a TypeScript
|
|
25
|
-
- 🎯 Interface de linha de comando
|
|
26
|
-
|
|
27
|
-
## 🛠️ Instalação
|
|
19
|
+
<br>
|
|
28
20
|
|
|
29
|
-
Instale o BenSDK CLI globalmente via npm:
|
|
30
21
|
```bash
|
|
31
|
-
npm i -g @benup/bensdk
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Após a instalação, o CLI estará disponível através do comando `ben`:
|
|
35
|
-
```
|
|
36
|
-
Usage: BenSDK Tool [options] [command]
|
|
37
|
-
|
|
38
|
-
CLI to create benefits integration
|
|
39
|
-
|
|
40
|
-
Options:
|
|
41
|
-
-V, --version output the version number
|
|
42
|
-
-h, --help display help for command
|
|
43
|
-
|
|
44
|
-
Commands:
|
|
45
|
-
init <string> New project
|
|
46
|
-
help [command] display help for command
|
|
22
|
+
npm i -g @benup/bensdk-cli
|
|
47
23
|
```
|
|
48
24
|
|
|
49
|
-
##
|
|
25
|
+
## Uso
|
|
50
26
|
|
|
51
|
-
Para criar um novo projeto benApp:
|
|
52
27
|
```bash
|
|
53
|
-
ben init <
|
|
28
|
+
ben init <BENEFIT-ID>
|
|
54
29
|
```
|
|
55
30
|
|
|
56
|
-
|
|
31
|
+
O CLI vai perguntar:
|
|
32
|
+
- Quais actions o benefício suporta (RECHARGE, DEDUCTION, GRANT_DEPENDENT, REVOKE_DEPENDENT)
|
|
33
|
+
- Categoria do benefício (opcional)
|
|
34
|
+
- Descrição curta (opcional)
|
|
35
|
+
- Configurar git + husky com pre-commit (recomendado)
|
|
57
36
|
|
|
58
|
-
|
|
59
|
-
2. Execute o comando para gerar os handlers baseados na máquina de estado:
|
|
60
|
-
```bash
|
|
61
|
-
npm run generate
|
|
62
|
-
```
|
|
63
|
-
3. Para rodar a integração localmente:
|
|
64
|
-
```bash
|
|
65
|
-
npm run start
|
|
66
|
-
```
|
|
37
|
+
Ao final, o projeto estará instalado e pronto para uso.
|
|
67
38
|
|
|
68
|
-
##
|
|
39
|
+
## O que é gerado
|
|
69
40
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
41
|
+
```
|
|
42
|
+
<BENEFIT-ID>/
|
|
43
|
+
├── src/
|
|
44
|
+
│ ├── benefit-definition.ts # Maquina de estados + schemas (ponto de entrada)
|
|
45
|
+
│ ├── handlers/ # Gerados via npm run generate
|
|
46
|
+
│ └── lib/ # Utilitarios e mocks
|
|
47
|
+
├── bin/
|
|
48
|
+
│ ├── cli/ # npm run generate
|
|
49
|
+
│ ├── server/ # npm run dev:start
|
|
50
|
+
│ └── docs/ # npm run docs:update
|
|
51
|
+
├── context.config.ts # Mock context para testes unitarios
|
|
52
|
+
├── ICON.png # Icone do beneficio
|
|
53
|
+
└── dev-test.example.json # Modelo de credenciais para testes locais
|
|
74
54
|
```
|
|
75
55
|
|
|
76
|
-
##
|
|
56
|
+
## Scripts do projeto gerado
|
|
77
57
|
|
|
78
|
-
|
|
58
|
+
| Comando | Descricao |
|
|
59
|
+
|---------|-----------|
|
|
60
|
+
| `npm run generate` | Gera handlers e testes baseados no `benefit-definition.ts` |
|
|
61
|
+
| `npm run dev:start` | Sobe servidor local para testar handlers contra a API real do parceiro |
|
|
62
|
+
| `npm run docs:update` | Regenera os diagramas Mermaid do README a partir do `benefit-definition.ts` atual |
|
|
63
|
+
| `npm run test` | Executa os testes unitarios com Vitest |
|
|
64
|
+
| `npm run start` | Abre o painel visual da maquina de estados |
|
|
65
|
+
| `npm run lint` | Valida tipos TypeScript, formatacao e linting |
|
|
79
66
|
|
|
80
|
-
|
|
81
|
-
- 📦 Estrutura básica para criação do módulo
|
|
82
|
-
- 📚 Dependências necessárias
|
|
83
|
-
- 🖼️ Simulador do Integrador para desenvolvimento local
|
|
84
|
-
- 🔄 Geração automática de handlers baseado na máquina de estado
|
|
67
|
+
## Testando localmente com `dev:start`
|
|
85
68
|
|
|
86
|
-
|
|
69
|
+
Copie `dev-test.example.json` para `dev-test.json`, preencha com as credenciais reais e suba o servidor:
|
|
87
70
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
71
|
+
```bash
|
|
72
|
+
npm run dev:start
|
|
73
|
+
```
|
|
91
74
|
|
|
92
|
-
|
|
75
|
+
Com isso voce consegue executar qualquer handler chamando `POST http://localhost:3000` com o payload da action, autenticando via o `auth.handler` definido no `benefit-definition.ts` e batendo na API real do parceiro. Veja `docs/DEV_SERVER.md` no projeto gerado para documentacao completa.
|
|
93
76
|
|
|
94
|
-
|
|
95
|
-
- `npm run generate`: Gera os handlers baseados na máquina de estado
|
|
96
|
-
- `npm run start`: Inicia a integração localmente
|
|
77
|
+
## Publicacao
|
|
97
78
|
|
|
98
|
-
|
|
79
|
+
Utilize o [maria-cli](https://github.com/benup-dev/maria) para publicar o beneficio:
|
|
99
80
|
|
|
100
|
-
|
|
81
|
+
```bash
|
|
82
|
+
maria benefit deploy -r <link-ssh-do-repositorio> -n <BENEFIT-ID>
|
|
83
|
+
```
|
|
101
84
|
|
|
102
85
|
---
|
|
103
86
|
|