"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Validez vos variables d'environnement avec Zod

Validez vos variables d'environnement avec Zod

Publié le 2024-08-20
Parcourir:633

Validate your environment variables with Zod

Zod est la bibliothèque de validation la plus célèbre de l'écosystème TypeScript. Avec Zod, vous créez un schéma et validez vos données selon le schéma. Observez le schéma ci-dessous :

import { z } from 'zod'

const UserSchema = z.object({
  name: z.string().min(1),
  age: z.number({ coerce: true }).min(18),
  email: z.string().email(),
})

Ce schéma peut être utilisé pour valider un objet comme suit :

const data = {
  name: 'John Doe',
  age: 18,
  email: '[email protected]',
}

// If there is a validation error, it throws an error
const validatedData = UserSchema.parse(data)

// If there is a validation error, it returns an error object for you to handle later
const safeValidatedData = UserSchema.safeParse(data)
// => { success: false; error: ZodError }
// => { success: true; data: 'billie' }

Zod est capable d'effectuer différents types de validations sur vos données, alors assurez-vous de lire la documentation pour plus de détails.

Validation des variables d'environnement

Nous pouvons utiliser Zod pour valider les valeurs présentes dans process.env et même les traiter avant d'utiliser les variables d'environnement dans notre application. Habituellement, j'aime créer un fichier environnement.ts, comme dans l'exemple ci-dessous :

import { z } from 'zod'

const environmentSchema = z.object({
  // Define the possible values for NODE_ENV, always leaving a default value:
  NODE_ENV: z.enum(['test', 'development', 'production']).default('production'),
  // Environment variables are always defined as strings. Here, convert the string to a number and set a default value:
  PORT: z.number({ coerce: true }).default(3000),
})

export const env = environmentSchema.parse(process.env)

Ensuite, importez simplement la variable et utilisez-la dans toute mon application :

import Fastify from 'fastify'
import { env } from './environment.js'

const app = Fastify({ logger: true })
app.listen({ port: env.PORT }, (err) => {
  if (err) {
    app.log.error(err)
    process.exit(1)
  }
})
Déclaration de sortie Cet article est reproduit sur : https://dev.to/douglasdemoura/validate-your-environment-variables-with-zod-2gna?1 En cas de violation, veuillez contacter [email protected] pour le supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3