Aller au contenu

Valeurs brutes expérimentales des variables d'environnement

Type : boolean
Par défaut : false

Ajouté à la version : astro@5.12.0 Nouveau

Astro vous permet de configurer un schéma avec sûreté du typage pour vos variables d’environnement, et convertit les variables importées via astro:env dans le type attendu.

Cependant, Astro convertit également vos variables d’environnement utilisées via import.meta.env dans certains cas, ce qui peut empêcher l’accès à certaines valeurs telles que les chaînes de caractères "true" (qui est convertie en valeur booléenne) et "1" (qui est convertie en nombre).

L’option experimental.rawEnvValues désactive la coercition des valeurs d’import.meta.env qui sont renseignées à partir de process.env, vous permettant d’utiliser la valeur brute.

Pour désactiver la coercition d’Astro sur les valeurs utilisées via import.meta.env, définissez l’option experimental.rawEnvValues sur true dans votre configuration Astro :

astro.config.mjs
import { defineConfig } from "astro/config"
export default defineConfig({
experimental: {
rawEnvValues: true,
}
})

L’activation de cette option expérimentale ne convertira plus les valeurs de chaîne de caractères en booléens ou en nombres. Cela aligne le comportement de import.meta.env dans Astro avec celui de Vite.

Dans une future version majeure, Astro passera à la non-contrainte des valeurs d’import.meta.env par défaut, mais vous pouvez opter pour le comportement futur plus tôt en utilisant l’option experimental.rawEnvValues et si nécessaire, mettre à jour votre projet en conséquence.

Si vous vous appuyiez sur cette coercition, vous devrez peut-être mettre à jour le code de votre projet pour l’appliquer manuellement :

src/components/MyComponent.astro
const enabled: boolean = import.meta.env.ENABLED
const enabled: boolean = import.meta.env.ENABLED === "true"

Si vous avez besoin de coercition dans Astro, nous vous recommandons d’utiliser astro:env.

Contribuer Communauté Parrainer