19 packages Node.js à connaître en tant que développeur JavaScript pour une vie productive et facile

Passez-vous trop de temps à essayer de créer du code JavaScript ? Lisez la suite pour découvrir les différents packages Node.js qui pourraient rendre la vie d’un développeur JavaScript productive et facile.

JavaScript est un langage monothread synchrone. C’est le langage de programmation le plus utilisé pour le développement de logiciels et d’applications. De nombreux frameworks comme Reactjs, Angularjs, Vuejs, Expressjs et Node.js ont été développés avec leur langage de base, JavaScript.

De nombreux développeurs rencontrent des problèmes lors du codage en JavaScript en raison de divers concepts complexes tels que les promesses, les boucles d’événements, les rappels, le levage, les fermetures, etc.

Pour faciliter le développement en JavaScript, de nombreux packages Node.js sont disponibles pour aider à gérer les erreurs, formater le code, supprimer des fichiers, déboguer le code, assurer la sécurité, etc. Certains fournissent également des interfaces utilisateur interactives en ligne de commande pour de meilleures représentations visuelles de la puissance du processeur, la capacité de traitement, la gravité des erreurs, etc.

Retire.js

Retire.js est une bibliothèque Javascript qui fournit une liste des vulnérabilités associées aux autres versions de la bibliothèque Javascript.

Il peut être utilisé comme extension Chrome, extension Firefox, scanner de ligne de commande, plugin Grunt, etc. Il peut être installé en utilisant la commande suivante :

$ npm install -g retire

Retire.js a diverses commandes pour analyser les fichiers JavaScript et de nœud. Il analyse les sites Web JavaScript et enregistre les avertissements dans la console du développeur. Retire.js génère le code de sortie 13 lorsqu’il trouve des vulnérabilités. La tâche Gulp analyse automatiquement les fichiers et signale les vulnérabilités.

Np

Np est un package JavaScript qui fournit diverses fonctionnalités telles que le nettoyage du code, l’installation des dépendances, la publication des packages et des balises, etc. Il garantit que le code est poussé vers la branche principale et fournit une interface utilisateur interactive.

L’authentification à deux facteurs est utilisée pour assurer la sécurité des nouveaux référentiels. Il garantit que le travail est effectué sur la dernière version en réinstallant les dépendances. La dernière version est poussée vers npm. Il peut être installé à l’aide de la commande suivante :

$ npm install --global np

Ses diverses fonctionnalités incluent la publication de code à partir de n’importe quelle branche, la création de sous-répertoires pour la publication, l’omission du nettoyage du code et des tests, etc. La configuration de np peut être effectuée globalement et localement par des indicateurs CLI dans les fichiers de configuration de np comme np-config.js et no -config.json.

ESLint

ESLint est un outil de package JavaScript qui analyse JavaScript et identifie les modèles dans le code ECMA/JavaScript. Il évalue les modèles dans le code à l’aide d’AST. Toutes les règles de l’outil sont définies sous forme de plugins, et elles peuvent être ajoutées dynamiquement au moment de l’exécution. ESLint peut être installé à l’aide de la commande ci-dessous :

$ npm init @eslint/config

Après l’avoir installé à l’aide de la commande ci-dessus, un fichier .eslintrc est généré avec un ensemble de règles avec des définitions d’erreur et leurs conditions respectives. ESLint permet à toutes les dépendances d’être définies dans le fichier .lock de l’utilisateur et n’utilise pas son propre fichier .lock. Il est également hautement sécurisé.

Shelljs

Shelljs est un environnement dans lequel les commandes UNIX peuvent être exécutées sur n’importe quel système d’exploitation via l’API Node.js. Shelljs est portable et prend également en charge les plugins tiers. Les différentes commandes pouvant être utilisées sont echo, exec, chmod, pushd, popd, cd, cat, etc. La commande suivante peut être utilisée pour installer Shelljs.

$ npm install [-g] shelljs

Il a été testé dans divers projets tels que Firefox, JSHint, ESLint, Zepto, etc. L’importation locale de packages Shelljs est préférée aux importations globales. Il peut également être configuré comme silencieux, fatal, verbeux, etc.

Omelette

Omelette fournit un modèle pour l’auto-complétion du code pour les projets Node et Deno. Il utilise une API super simple et prend également en charge l’API Async et l’API Tree. Un exemple d’extrait de code pour la mise en œuvre d’Omelette est présenté ci-dessous :

import * as omelette from 'omelette';

const firstArgument = ({ reply }) => {
  reply([ 'beautiful', 'cruel', 'far' ])
}

const planet = ({ reply }) => {
  reply([ 'world', 'mars', 'pluto' ])
}

omelette`hello|hi ${firstArgument} ${planet}`.init()

Après avoir importé Omelette, un objet Omelette doit être créé. Ensuite, diverses fonctions pour l’auto-complétion du code telles que setupShellInitFile() pour la configuration, cleanupShellInitFile() pour le nettoyage peuvent être appelées sur l’objet omelette pour l’auto-complétion du code. Il prend également en charge l’utilisation des fonctions Lambda pour créer des API littérales de modèles complexes.

Plus jolie

Plus joli est utilisé pour formater le code. Il aide à donner des espaces de tabulation, garde une trace du contenu maximum sur une ligne et garantit une indentation correcte dans les instructions conditionnelles et en boucle. Il convertit le code dans un format soigné et lisible. Par exemple:

L’extrait de code est donné ci-dessous,

foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());

est converti en celui ci-dessous lorsque l’extension Prettier est utilisée :

foo(
  reallyLongArg(),
  omgSoManyParameters(),
  IShouldRefactorThis(),
  isThereSeriouslyAnotherOne()
);

Il peut fonctionner dans des environnements CI, des environnements de développement intégrés (IDE), etc.

jscpd

jscpd est un service technique de gestion de la dette. Il s’agit d’un package JavaScript qui aide à trouver des extraits de code en double dans divers codes et documents numériques. Il utilise un algorithme de correspondance de chaînes appelé Rabin-Karp pour trouver les doublons de code.

jscpd/core a la capacité de détecter la duplication de code dans divers environnements, et jspd/tokenizer est utilisé pour tokeniser le code source du programme. En dehors de ceux-ci, de nombreux autres packages tels que html-reporter, badge-reporter, leveldb-store, etc. La commande pour installer jscpd est :

$ npm install -g jscpd

jscpd est utilisé par GitHub Super Linter, Code-Inspector, Mega-Linter, Codacy, etc. Chacun d’eux utilise jscpd dans un but différent. Ils l’utilisent pour le traitement du langage naturel, les agrégateurs de lignes, l’analyse de code, etc.

Vtop

Vtop est un moniteur qui donne une représentation graphique de l’activité de la ligne de commande. Il donne des informations sur l’utilisation du processeur en analysant les différents threads et processus en cours d’exécution et en les représentant graphiquement à l’aide de graphiques, de pics, etc. Il a été développé à l’aide de JavaScript, Makefile et Shell. La commande pour installer Vtop est :

$ npm install -g vtop

Divers thèmes et codes de couleur peuvent être utilisés pour rendre l’interface graphique plus attrayante selon les exigences. Divers raccourcis clavier comme « u » pour une mise à jour, « g » pour aller au processus supérieur de la liste, « G » pour aller à la fin de la liste, « dd » pour tuer les processus appartenant à un grp particulier, etc. peut être utilisé.

Standardjs

Standardjs est une bibliothèque JavaScript qui automatise la configuration des fichiers, formate le code et détecte rapidement les problèmes liés à la gestion des exceptions par les programmeurs. La commande pour installer Standardjs est donnée ci-dessous :

$ npm install standard --global

Après l’avoir installé, vous pouvez l’exécuter sur un extrait de fichier/code à l’aide de la commande « standard » dans l’interface de ligne de commande. Toutes les dépendances de Standardjs peuvent être ajoutées en définissant « standard : « * » dans l’objet dépendance du fichier package.json.

Il peut également être installé en tant que plug-in pour divers éditeurs de texte tels que Visual Studio Code, Sublime Text, Atom, Vim, Brackets, etc. Node.js, Expressjs, npm, Brave et GoDaddy utilisent Standardjs pour répondre aux besoins de leur entreprise.

NodeJsScan

NodeJsScan est un scanner de code de sécurité statique pour les applications Node.js. Il informe sur l’état de sécurité d’une application via une interface utilisateur interactive. Il peut être intégré à diverses applications telles que Slack pour les alertes/notifications, les alertes par e-mail en configurant les paramètres SMTP dans le fichier settings.py de NodeJsScan, le pipeline CI/CD, etc. Il aide également à créer des images docker.

Il enregistre les erreurs, les informations et les messages d’avertissement. Une description détaillée de l’erreur, comme la raison de son apparition, sa gravité, les numéros de ligne où les erreurs se sont produites, le nombre de fichiers analysés et les problèmes trouvés, etc. Des graphiques et des tableaux sont également tracés pour une meilleure lisibilité et analyse.

Poubelle

Trash est une bibliothèque JavaScript qui déplace les fichiers supprimés dans la corbeille au lieu de les supprimer définitivement. Il prend en charge Mac, Linux et Windows. La commande utilisée pour installer la corbeille est :

$ npm install trash

Trash est une API qui prend des entrées et des options comme paramètres de fonction lorsque la fonction trash() est invoquée. L’entrée peut être une chaîne ou un tableau de chaînes. Options pourrait être un objet. La fonction corbeille renvoie une promesse. Différentes commandes sont utilisées dans différents systèmes d’exploitation. macOS-trash est utilisé dans MacOs, XDG Spec sous Linux et la corbeille sous Windows.

Xo

Xo est un wrapper JavaScript et TypeScript qui utilise ESLint en dessous. Il aide à créer du code lisible en donnant une indentation au code, en ajoutant des points-virgules, des guillemets simples, des virgules, etc., partout où cela est nécessaire. De nombreux plugins ESLint comme unicorn, import, ava, n, etc. peuvent être utilisés avec Xo. La commande utilisée pour installer xo est :

$ npm install xo --save-dev

Les problèmes peuvent être résolus automatiquement à l’aide de la commande $xo –fix. Xo peut être configuré en utilisant la propriété xo dans le fichier package.json. Il peut être installé en tant que plugin pour divers éditeurs comme Vim, Visual Studio Code, Atom, Sublime Text, Emacs, etc.

diff2html

diff2html signifie « analyseur de différences et joli générateur HTML ». Il met en évidence les changements dans le code de la version actuelle par rapport à la version précédente. Il aide les développeurs à identifier et à comprendre facilement les modifications apportées. Il le fait en utilisant des codes de couleur.

Pour ce faire, il met en évidence les modifications ligne par ligne et côte à côte. Il met en évidence les modifications de la syntaxe du code et regroupe les lignes similaires pour suivre facilement les modifications du code. La commande pour installer diff2html est la suivante :

$ npm install diff2html

Il est également intégré à la ligne de commande. Certains projets utilisant diff2html sont Jenkins, Codacy, Ungit, git-explorer, code-annotation, etc.

Craie

Chalk est un module Node.js qui aide à formater et à styliser le code. Il aide également à créer et à ajouter des thèmes de couleur au texte. C’est une API expressive et ses performances sont excellentes. Il imbrique les styles et n’a aucune dépendance. L’utilisation de Chalk peut être vue dans l’extrait de code ci-dessous :

import chalk from 'chalk';

console.log(chalk.blue('Hello world!'));

chalk.level définit les couleurs prises en charge à chaque niveau. ‘0’ indique que toutes les couleurs sont désactivées, ‘1’ indique la prise en charge des couleurs de base, ‘2’ indique la prise en charge de 256 couleurs et ‘3’ indique la prise en charge de Truecolor. Les différents modificateurs de style pour formater le texte pris en charge par la craie sont inversés, masqués, visibles, barrés, gras, réinitialisés, italiques, soulignés, surlignés, estompés, etc.

NpKill

Npkill est un outil qui supprime les anciens et lourds dossiers de modules de nœuds. Cela aide à supprimer très rapidement les modules de nœud et à libérer de l’espace dans votre système. Il a été développé en utilisant TypeScript, JavaScript et Go. Il n’a aucune dépendance et est facile à utiliser. La commande utilisée pour installer Npkill est :

$ npm i -g npkill

Tous les modules de nœud spécifiés dans le chemin avec la commande npkill seront supprimés. Cependant, il faut être prudent lors de la suppression des modules de nœud car c’est irréversible. Si les modules d’un projet actif sont supprimés au cours du processus, les fichiers sont corrompus et les modules de nœud doivent être réinstallés.

fkill-cli

fkill-cli est un outil de ligne de commande open source et interactif qui tue les processus et les ports Linux. Il a été développé avec Node.js. Il est simple, gratuit, sécurisé et compatible multiplateforme. Il fonctionne sous Windows, Linux et macOS. La commande utilisée pour installer fkill-cli est :

$ npm install --global fkill-cli

Le nom et l’ID du processus sont requis pour tuer le processus. « -f » force l’exécution de l’opération tandis que la commande « -v » affiche les arguments du processus. L’API fkill prend des entrées et des options comme arguments et renvoie un objet de promesse. Certaines options sont force, silent, ignoreCase, tree et forceAfterTimeout.

Localtunnel

Localtunnel est une plate-forme qui permet de partager des services Web à partir d’un environnement externe avec l’environnement local d’un ordinateur sans modifier les paramètres DNS et de pare-feu du système.

Les requêtes sont mandatées par Localtunnel et sont transmises au serveur déployé localement après lui avoir attribué une URL accessible au public. La commande utilisée pour installer Localtunnel est la suivante :

$ npm install -g localtunnel

Il est sécurisé et utilise des requêtes HTTPS. Ces API peuvent être utilisées pour tester les webhooks. L’interface utilisateur peut être testée dans les navigateurs cloud à l’aide de Localtunnel.

Inquirer.js

Inquirer.js est une interface utilisateur interactive en ligne de commande pour les applications Node.js. Il facilite le processus de recherche d’erreurs, d’analyse des entrées, de validation des réponses et de gestion des invites hiérarchiques. Il utilise des modules ESM natifs pour la mise en œuvre de ses fonctionnalités. La commande utilisée pour installer Inquirer.js est :

$ npm install --save inquirer

Les différentes méthodes utilisées incluent prompt, registerPrompt, createPromptModule, etc. prompt() est une fonction qui prend une question et une réponse comme entrées et renvoie une promesse lorsqu’elle est invoquée.

Question est un objet qui est une version hachée des valeurs liées à la question comme le type, le message, la valeur par défaut, les choix, le filtre, etc. La paire d’objets clé-valeur de réponse contient la version hachée des réponses du client. La clé est la propriété question, tandis que la valeur peut contenir confirm, input, number, rawlist, etc.

serveur http

http-server est un serveur http statique en ligne de commande. Il est simple et ne nécessite aucune configuration. Il se compose de 2 fichiers : à savoir, index.html et 404.html. index.html est le fichier par défaut qui serait rendu sur les requêtes. 404.html est rendu lorsqu’un fichier n’est pas trouvé. La commande utilisée pour installer http-server est comme indiqué ci-dessous :

$ npm install --global http-server

Il a été développé en utilisant HTML et JavaScript. Il assure la sécurité grâce aux certificats TLS/SSL. Il utilise l’algorithme RSA pour le chiffrement et le déchiffrement des clés. Il permet également de définir une phrase secrète avec une clé privée à des fins de sécurité.

Derniers mots

JavaScript est le langage de programmation le plus utilisé pour le développement de logiciels. Pour faciliter la vie des développeurs, différents packages Node.js ont été développés.

Les packages Node.js tels que Retire.js, Localtunnel, Xo, Inquirer.js, Shelljs, fpkill, NodeJsScan, Prettier, etc. peuvent être utilisés pour formater le code, assurer la sécurité, mettre en évidence les modifications de code, supprimer les modules de nœud lourds et indésirables, etc. Cela aide les développeurs à déboguer, écrire et gérer efficacement leur code.

Vous pouvez également lire comment installer Node.js et NPM sur Windows et macOS.