Filtre actif, cliquez pour en enlever un tag :

Cliquez sur un ou plusieurs tags pour appliquer un filtre sur la liste des notes de type "Journaux" :

Résultat de la recherche (7 notes) :

Jeudi 3 octobre 2024

Pour l'instant, Listr est mon choix par défaut pour implémenter un système affichant la progression d'un traitement en ligne de commande #javascript, ##sklein-pkm-engine, #librairie, #choix-technologique, #cli, #tui, #library

Je souhaite afficher une barre de progression d'importation dans le script import-to-es-database.js du projet sklein-pkm-engine.

Je souhaite afficher deux lignes :

  • Première ligne : barre de progression d'importation ;
  • Seconde ligne : action en cours de traitement.

Je viens d'étudier les librairies blessed, ora et cli-progress et je pense que cli-progress est celle qui conviendra de mieux pour atteindre mon objectif.

Par contre, cli-progress ne semble pas supporter la présence d'un retour à la ligne dans le paramètre format :

const bar = new cliProgress.SingleBar({
    format: "Progress | {bar} | {percentage}% || {value}/{total} items\nProcessing: {currentAction}",
    barCompleteChar: "\u2588",
    barIncompleteChar: "\u2591",
    hideCursor: true,
    clearOnComplete: false,
    linewrap: false
});

Finalement, non satisfait de cli-progress, je suis parti vers la #library listr2 (https://github.com/listr2/listr2).

Voici le résultat :

Voici le code source de ma mise en œuvre de Listr2 : https://github.com/stephane-klein/sklein-pkm-engine/blob/9bca16344dca075c595ceebb82b91bbbd3a267ff/import-to-es-database.js#L49.

J'ai trouvé la librairie très agréable à utiliser.

Pour l'instant, Listr sera mon choix par défaut pour implémenter un système affichant la progression d'un traitement en ligne de commande.

Lundi 19 août 2024

Mardi 21 mai 2024

Journal du mardi 21 mai 2024 à 23:09 #coding, #librairie, #javascript, #JaiDécouvert

Dans la page suivante Elkjs Tree – Svelte Flow #JaiDécouvert la librarie Javascript elkjs :

ELK's layout algorithms for JavaScript

Mercredi 1 mai 2024

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 ?

En 2024, quelle est la librairie JavaScript de configuration management la plus populaire ? #librairie, #JeMeDemande, #node, #javascript, #coding

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 :

Mercredi 10 janvier 2024

Fin de la liste des notes.