Finalement, contraiment à ce que j’avais décidé ici, je n’ai pas utilisé Convict dans mon application Value Props propulsé par SvelteKit.

J’ai “simplement” utilisé la vite-plugin-environment pour définir la valeur par défaut des variables d’environnement de configuration utilisées par l’application.

Exemple :

// vite.config.js
import { defineConfig } from "vite";
import EnvironmentPlugin from 'vite-plugin-environment'
import { sveltekit } from "@sveltejs/kit/vite";
 
export default defineConfig({
    plugins: [
        EnvironmentPlugin({
            POSTGRES_URL: "postgres://webapp:password@localhost:5432/myapp",
            Y_WEBSOCKET_URL: "ws://localhost:1234",
            SMTP_HOST: "127.0.0.1",
            SMTP_POST: 1025,
            SECRET: "secret"
        }),
        sveltekit()
    ]
});;

Et voici un exemple d’utilisation de ces paramètres de configuration :

// src/lib/server/db.js
import postgres from "postgres";
 
const sql = postgres(process.env.POSTGRES_URL);
 
export default sql;

Rien de plus, je n’ai ni utilisé Convict ni dotenv, j’ai pu suivre le principe KISS.


Tous les tags présents dans la note :