trpcgo
Description du projet
trpcgo est une librairie Go implémentant le protocole tRPC qui apporte la sûreté de typage de bout en bout aux applications full-stack. Il permet de définir les types d’API une seule fois en Go et génère automatiquement un AppRouter TypeScript entièrement typé. Le frontend utilise directement @trpc/client et @trpc/react-query sans aucune modification : le backend Go est totalement transparent et interchangeable avec un backend tRPC TypeScript classique.
Fonctionnalités Clés
- Support des queries, mutations et subscriptions (streaming SSE) avec typage des entrées/sorties.
- Génération automatique de types TypeScript et de schémas Zod à partir du code Go via analyse statique et réflexion.
- Middleware global et par procédure, avec composition via des base procedures.
- CLI avec mode watch pour la régénération en temps réel pendant le développement, offrant la même expérience développeur que tRPC en TypeScript.
- Aucune dépendance de framework, basé sur
net/httpstandard. - Validation des entrées compatible avec go-playground/validator.
- Gestion d’erreurs conforme au protocole tRPC.
- Support des requêtes batch.
Développé avec
Go: net/http, golang.org/x/tools, fsnotify
TypeScript: @trpc/client, @trpc/react-query, Zod