Valibot
Advanced Ecosystem 🟡 MidDéfinition
Bibliothèque de validation TypeScript modulaire et entièrement « tree-shakable » : chaque validateur est une fonction importée séparément, si bien qu'un schéma simple pèse environ 1 ko dans le bundle. Né en juillet 2023 d'un mémoire de fin d'études visant à réduire la taille des bibliothèques de plus de 90 %, Valibot a atteint la version 1.0 le 19 mars 2025. Alternative à Zod quand le poids côté client compte (edge, mobile, formulaires).
Analogie
Au lieu d'emporter toute la boîte à outils, on ne glisse dans la poche que le tournevis et la clé dont on a besoin.
Exemple de code
import * as v from 'valibot';
// Composition par fonctions : seul ce qui est importé est embarqué
const Login = v.object({
email: v.pipe(v.string(), v.email(), v.maxLength(120)),
password: v.pipe(v.string(), v.minLength(12, '12 caractères minimum')),
});
type Login = v.InferOutput<typeof Login>;
const result = v.safeParse(Login, await req.json());
if (!result.success) {
return res.status(400).json(v.flatten(result.issues));
}
await auth(result.output);
Cas d'usage
Validation côté client ou en edge runtime où chaque kilo-octet compte ; compatible avec la spécification Standard Schema utilisée par tRPC, TanStack et autres.
Anti-pattern
Termes liés
Sources
Fiche mise à jour le 2026-09-27