Este guia ajuda a extrair integrações SIP implementadas dentro de aplicações
consumidoras para o pacote @anpdgovbr/sip-client.
A aplicação consumidora deve manter apenas uma fachada local para:
SipConfig;O pacote @anpdgovbr/sip-client deve receber somente configuração explícita:
import { createSipClient, type SipConfig } from "@anpdgovbr/sip-client"
export const loadSipConfig = (): SipConfig => ({
endpointUrl: process.env.SIP_SOAP_ENDPOINT!,
accessKey: process.env.SIP_ACCESS_KEY!,
systemId: process.env.SIP_SYSTEM_ID!,
requestTimeoutMs: Number(process.env.SIP_REQUEST_TIMEOUT_MS ?? 30_000),
})
export const getSipClient = () => createSipClient(loadSipConfig())
Mova para @anpdgovbr/sip-client:
Mantenha na aplicação consumidora:
.env e nomes reais das variáveis;client.consultas.* para código novo.client.replicacao.* como operação sensível.@anpdgovbr/sei-client.
Veja sei-client.md.No repositório da lib:
pnpm format:check
pnpm lint
pnpm typecheck
pnpm test
pnpm test:coverage
pnpm build
No consumidor, instale as dependências de forma reprodutível com o gerenciador de pacotes do projeto:
npm ci
# ou
yarn install --frozen-lockfile
# ou
pnpm install --frozen-lockfile
E rode os scripts de qualidade já configurados no projeto consumidor (nomes podem variar, mas normalmente incluem):
<seu-gerenciador> run typecheck
<seu-gerenciador> run lint
<seu-gerenciador> run test
Quando houver acesso ao ambiente SIP, faça um smoke test server-side usando um usuário de teste anonimizado ou controlado e valide apenas contagens/IDs necessários, sem registrar dados sensíveis em logs permanentes.