1.0.2 • Published 12 months ago

@iquadras-dsv/sdk v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
12 months ago

SDK de Microserviços

SDK unificado para comunicação entre microserviços, com tipagem forte e gerenciamento de ambientes.

Instalação

npm install @iquadras-dsv/sdk

Configuração de Ambientes

O SDK suporta três ambientes:

  • development: Por padrão aponta para homologação, mas pode ser sobrescrito com variáveis de ambiente
  • homologation: Ambiente de homologação
  • production: Ambiente de produção

Variáveis de Ambiente (Desenvolvimento)

Para desenvolvimento local, você pode configurar as URLs dos serviços através de variáveis de ambiente:

  • SERVICE_A_URL: URL do serviço A
  • SERVICE_B_URL: URL do serviço B

Uso no Frontend (Cliente)

import { SDK } from '@iquadras-dsv/sdk';

// Inicializar o SDK
const sdk = SDK.getInstance('production');

// Exemplo de uso de um serviço
const response = await sdk.serviceA.users.create({
  name: 'Exemplo',
  description: 'Descrição do exemplo'
});

// Exemplo de busca
const item = await sdk.serviceB.products.get({
  id: '123'
});

Uso no Backend (Tipagem)

import { UsersRequest, UsersResponse } from '@iquadras-dsv/sdk';

// Usar os tipos nas rotas
app.post('/users', async (req: Request<{}, {}, UsersRequest>, res: Response<UsersResponse>) => {
  // Sua lógica aqui
});

Publicação no NPM

  1. Atualize a versão no package.json
  2. Faça login no NPM:
npm login
  1. Publique o pacote:
npm publish --access public

Estrutura de Pastas

src/
  clients/           # Clients HTTP por API
  services/          # Serviços por API e path
  types/             # Tipos por API e path
    serviceA/
      users.type.ts
      products.type.ts
    serviceB/
      orders.type.ts
      inventory.type.ts

Contribuição

  1. Faça o fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/nova-feature)
  3. Commit suas mudanças (git commit -m 'Adiciona nova feature')
  4. Push para a branch (git push origin feature/nova-feature)
  5. Abra um Pull Request
1.0.2

12 months ago

1.0.1

1 year ago

1.0.0

1 year ago