En 2024, quelle est la librairie JavaScript de configuration management la plus populaire ?

Journal du mercredi 01 mai 2024 à 14:51

Dans l'application web que je développe pour Value Props, je n'utilise actuellement aucune librairie de configuration pour l'app.

J'utilise uniquement process.env.CONFIG_PARAM || "default value".

En contexte, cela ressemble à ceci.

import nodemailer from "nodemailer";

let transporter;

if (process.env?.SMTP_USER && process.env?.SMTP_PASS) {
    transporter = nodemailer.createTransport({
        host: process.env.SMTP_HOST || "127.0.0.1",
        port: process.env.SMTP_POST || 1025,
        secure: true,
        auth: {
            user: process.env.SMTP_USER,
            pass: process.env.SMTP_PASS
        }
    });
} else {
    transporter = nodemailer.createTransport({
        host: process.env.SMTP_HOST || "127.0.0.1",
        port: process.env.SMTP_POST || 1025,
        secure: false
    });
}

export default transporter;

Je commence maintenant à utiliser des paramètres de configuration à différents endroits. Conséquence, je me dis que c'est peut-être maintenant le bon moment pour utiliser une librairie de configuration du type Convict.

Pourquoi j'ai cité Convict ? Parce que c'était le choix que j'avais fait en 2019, dans le projet gibbon-mail.

#JeMeDemande qu'elle est en 2024, la librairie [Javascript] de type environment-variables, configuration-management la plus populaire actuellement.

Pour répondre à cette question, j'ai commencé à faire une recherche sur npm trends et il m'a proposé la suggestion suivante config vs configstore vs convict vs cross-env vs dotenv

dotenv semble se détacher assez franchement.

dotenv et cross-env sont listés dans Delightful Node.js packages and resources.

Je constate que cross-env est abandonné et conseille ici de migrer vers env-cmd.

Je vais demander avis à des amis, mais pour le moment, je pense que je vais utiliser dotenv.


Quelque heure plus tard :


Journaux liées à cette note :

J'ai décidé de continuer à utiliser la lib Convict de configuration management #dotenv, #librairie, #configuration, #coding, #JaiDécidé

En 2024, quelle est la librairie JavaScript de configuration management la plus populaire ?

Après avoir parcouru la documentation de env-cmd et dotenv

Après avoir réalisé que je n'avais rencontré aucun problème avec node-convict et que j'avais même pris du plaisir à l'utiliser.

Suite au feedback d'un ami qui me dit :

J'aime beaucoup convict qu'on a utilisé dans gibbon-mail

Et qui me rappelle que dotenv est très orienté "fichier de conf" alors que lui comme moi suivons plutôt la doctrine "variable d'env" (The Twelve-Factors App).

#JaiDécidé que je n'allais suivre la mode, que je vais continuer à utiliser Convict.


Une heure plus tard, j'ai changé d'avis Comment définir la valeur par défaut des variables d'environement dans SvelteKit ?

Journal du mercredi 01 mai 2024 à 16:37 #IndieHacker, #dotenv, #SaaS

En étudiant le projet dotenvici, ici et ici — je découvre que son auteur est un Indie Hacker, qui opère à lui tout seul le service SaaS dotenv (partie payante "Vault").

C'est typiquement ce type de projet que j'aurais aimé créer ! Mais je n'ai pas eu l'idée, bien qu'elle semble tellement évidente après l'avoir observée !

Je me demande s'il a beaucoup d'utilisateurs 🤔.

J'ai trouvé son compte sur Indie Hackers, mais je ne trouve aucune information, cependant j'ai l'impression en lisant ce billet qu'il a lancé ce service en 2022, ce que semble confirmer la page contribution du repository dotenv-vault.

J'ai ensuite trouvé ce compte, il semble qu'en 2022, quelque temps après le lancement du projet, il générait 750$ de revenus par mois.

Mais, depuis, le projet semble avoir gagné beaucoup d'utilisateurs :