Zod 4

Advanced Ecosystem 🟡 Mid

Définition

Bibliothèque TypeScript de validation de schémas avec inférence de types. Zod 4, désormais stable, annonce un parsing de chaînés 14 fois plus rapide et de tableaux 7 fois plus rapide que Zod 3, une empreinte de bundle divisée par plus de deux, une conversion JSON Schema de première classe (z.toJSONSchema), un paramètre d'erreur unifié « error », des registres de métadonnées et une variante Zod Mini (API fonctionnelle, très compacte). Zod 4 a d'abord été publié sous le sous-chemin « zod/v4 » pour laisser l'écosystème migrer.

Analogie

Le même contrôleur aux frontières, mais qui lit les passeports dix fois plus vite et tient dans une valise deux fois plus petite.

Exemple de code

import * as z from 'zod';   // Zod 4

const Order = z.object({
  email: z.email(),                          // validateurs au niveau racine
  qty:   z.int().positive({ error: 'Quantité invalide' }), // erreur unifiée
  tags:  z.array(z.string()).max(5).default([]),
});
type Order = z.infer<typeof Order>;

const r = Order.safeParse(await req.json());
if (!r.success) return res.status(400).json(z.treeifyError(r.error));

// OpenAPI / outils : schéma JSON généré nativement
export const orderJsonSchema = z.toJSONSchema(Order);

Cas d'usage

Valider les entrées d'API, les variables d'environnement, les formulaires, et générer l'OpenAPI depuis la même source.

Anti-pattern

Importer « zod/v3 » et « zod/v4 » dans le même module et mélanger leurs types : les schémas ne sont pas interchangeables.
#typescript#validation#tooling

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre