19 paquetes de Node.js que debe conocer como desarrollador de JavaScript para una vida productiva y fácil

¿Pasas demasiado tiempo intentando crear código JavaScript? Siga leyendo para conocer los diversos paquetes de Node.js que podrían hacer que la vida de un desarrollador de JavaScript sea productiva y fácil.

JavaScript es un lenguaje síncrono de un solo subproceso. Es el lenguaje de programación más utilizado para el desarrollo de software y aplicaciones. Muchos marcos como Reactjs, Angularjs, Vuejs, Expressjs y Node.js se han desarrollado con su lenguaje base, JavaScript.

Muchos desarrolladores enfrentan problemas al codificar en JavaScript debido a varios conceptos complejos como promesas, bucle de eventos, devoluciones de llamada, elevación, cierres, etc.

Para facilitar el desarrollo en JavaScript, hay disponibles muchos paquetes de Node.js que ayudan a manejar errores, formatear código, eliminar archivos, depurar código, garantizar la seguridad, etc. capacidad de procesamiento, la gravedad de los errores, etc.

Retire.js

Retire.js es una biblioteca de Javascript que proporciona una lista de vulnerabilidades asociadas con otras versiones de la biblioteca de Javascript.

Se puede usar como una extensión de Chrome, una extensión de Firefox, un escáner de línea de comandos, un complemento de Grunt, etc. Se puede instalar con el siguiente comando:

$ npm install -g retire

Retire.js tiene varios comandos para escanear JavaScript y archivos de nodo. Escanea sitios web de JavaScript y registra las advertencias en la consola del desarrollador. Retire.js genera el código de salida 13 cuando encuentra vulnerabilidades. La tarea Gulp escanea automáticamente los archivos e informa las vulnerabilidades.

Notario público

Np es un paquete de JavaScript que proporciona varias funciones, como limpieza de código, instalación de dependencias, publicación de paquetes y etiquetas, etc. Garantiza que el código se envíe a la rama principal y proporciona una interfaz de usuario interactiva.

La autenticación de dos factores se utiliza para garantizar la seguridad de los nuevos repositorios. Asegura que el trabajo se realice en la última versión al reinstalar las dependencias. La última versión se envía a npm. Se puede instalar usando el siguiente comando:

$ npm install --global np

Sus diversas características incluyen la publicación de código desde cualquier rama, la creación de subdirectorios para la publicación, la omisión de la limpieza del código y las pruebas, etc. -config.json.

ESLint

ESLint es una herramienta de paquete JavaScript que analiza JavaScript e identifica patrones en código ECMA/JavaScript. Evalúa patrones en código usando AST. Todas las reglas de la herramienta se definen en forma de complementos y se pueden agregar dinámicamente en tiempo de ejecución. ESLint se puede instalar usando el siguiente comando:

$ npm init @eslint/config

Después de instalarlo usando el comando anterior, se genera un archivo .eslintrc con un conjunto de reglas con definiciones de error y sus respectivas condiciones. ESLint permite definir todas las dependencias en el archivo .lock del usuario y no utiliza un archivo .lock propio. También es muy seguro.

shelljs

Shelljs es un entorno donde los comandos de UNIX se pueden ejecutar en cualquier sistema operativo a través de la API de Node.js. Shelljs es portátil y también admite complementos de terceros. Los diversos comandos que se pueden usar son echo, exec, chmod, pushd, popd, cd, cat, etc. El siguiente comando se puede usar para instalar Shelljs.

$ npm install [-g] shelljs

Se ha probado en varios proyectos como Firefox, JSHint, ESLint, Zepto, etc. Se prefiere la importación local de paquetes de Shelljs a las importaciones globales. También se puede configurar como silencioso, fatal, detallado, etc.

Tortilla

Omelette proporciona una plantilla para el autocompletado de código para proyectos de Node y Deno. Utiliza una API súper fácil y también es compatible con la API asíncrona y la API de árbol. A continuación se muestra un fragmento de código de muestra para implementar Omelette:

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()

Después de importar Omelette, se debe crear un objeto Omelette. Luego, varias funciones para el autocompletado de código como, setupShellInitFile() para la configuración, cleanupShellInitFile() para la limpieza se pueden llamar en el objeto omelette para el autocompletado del código. También admite el uso de funciones de Lambda para crear API literales de plantillas complejas.

más bonita

Prettier se usa para formatear el código. Ayuda a dar espacios de tabulación, realiza un seguimiento del contenido máximo en una línea y garantiza una sangría adecuada dentro de las declaraciones condicionales y de bucle. Convierte el código en un formato ordenado y legible. Por ejemplo:

El fragmento de código se proporciona a continuación,

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

se convierte al siguiente cuando se usa la extensión Prettier:

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

Puede ejecutarse en entornos CI, entornos de desarrollo integrado (IDE), etc.

jscpd

jscpd es un servicio técnico de gestión de deuda. Es un paquete de JavaScript que ayuda a encontrar fragmentos de código duplicados en varios códigos y documentos digitales. Utiliza un algoritmo de coincidencia de cadenas llamado Rabin-Karp para encontrar duplicaciones de código.

jscpd/core tiene la capacidad de detectar la duplicación de código en varios entornos, y jspd/tokenizer se usa para tokenizar el código fuente del programa. Aparte de estos, muchos otros paquetes como html-reporter, badge-reporter, leveldb-store, etc. El comando para instalar jscpd es:

$ npm install -g jscpd

jscpd es usado por GitHub Super Linter, Code-Inspector, Mega-Linter, Codacy, etc. Cada uno de ellos usa jscpd para un propósito diferente. Lo usan para procesamiento de lenguaje natural, agregadores de línea, análisis de código, etc.

Vtop

Vtop es un monitor que ofrece una representación gráfica de la actividad de la línea de comandos. Brinda información sobre la utilización de la CPU mediante el análisis de varios subprocesos y procesos en ejecución y los representa gráficamente a través de gráficos, picos, etc. Fue desarrollado utilizando JavaScript, Makefile y Shell. El comando para instalar Vtop es:

$ npm install -g vtop

Se pueden usar varios temas y códigos de color para hacer que la GUI sea más atractiva según los requisitos. Varios atajos de teclado como «u» para una actualización, «g» para ir al proceso superior de la lista, «G» para moverse al final de la lista, «dd» para eliminar procesos que pertenecen a un grupo en particular, etc. puede ser usado.

js estándar

Standardjs es una biblioteca de JavaScript que automatiza la configuración de archivos, da formato al código y encuentra rápidamente problemas con el manejo de excepciones de los programadores. El comando para instalar Standardjs se proporciona a continuación:

$ npm install standard --global

Después de instalarlo, puede ejecutarlo sobre un archivo/fragmento de código utilizando el comando «estándar» en la interfaz de línea de comandos. Todas las dependencias de Standardjs se pueden agregar definiendo «estándar: «*» en el objeto de dependencia del archivo package.json.

También se puede instalar como un complemento para varios editores de texto como Visual Studio Code, Sublime Text, Atom, Vim, Brackets, etc. Node.js, Expressjs, npm, Brave y GoDaddy usan Standardjs para satisfacer sus requisitos comerciales.

NodoJsScan

NodeJsScan es un escáner de código de seguridad estático para aplicaciones Node.js. Informa sobre el estado de seguridad de una aplicación a través de una interfaz de usuario interactiva. Se puede integrar con varias aplicaciones como Slack para alertas/notificaciones, alertas por correo electrónico mediante la configuración de los ajustes de SMTP en el archivo settings.py de NodeJsScan, canalización de CI/CD, etc. También ayuda a crear imágenes acoplables.

Registra errores, información y mensajes de advertencia. Una descripción detallada del error, como el motivo de su ocurrencia, su gravedad, los números de línea donde ocurrieron los errores, la cantidad de archivos escaneados y problemas encontrados, etc. También se trazan gráficos y cuadros para una mejor legibilidad y análisis.

Basura

Papelera es una biblioteca de JavaScript que mueve los archivos eliminados a la papelera en lugar de eliminarlos permanentemente. Es compatible con Mac, Linux y Windows. El comando utilizado para instalar Papelera es:

$ npm install trash

Trash es una API que toma entradas y opciones como parámetros de función cuando se invoca la función trash(). La entrada podría ser una cadena o una matriz de cadenas. Las opciones podrían ser un objeto. La función de basura devuelve una promesa. Se utilizan diferentes comandos en diferentes sistemas operativos. macOS-trash se usa en MacOs, XDG Spec en Linux y la papelera de reciclaje en Windows.

xo

Xo es un contenedor de JavaScript y TypeScript que usa ESLint debajo. Ayuda a crear código legible dando sangría al código, agregando punto y coma, comillas simples, comas, etc., donde sea necesario. Muchos complementos de ESLint como unicorn, import, ava, n, etc. se pueden usar con Xo. El comando utilizado para instalar xo es:

$ npm install xo --save-dev

Los problemas se pueden solucionar automáticamente con el comando $xo –fix. Xo se puede configurar usando la propiedad xo en el archivo package.json. Se puede instalar como complemento para varios editores como Vim, Visual Studio Code, Atom, Sublime Text, Emacs, etc.

diferencia2html

diff2html significa «parser diff y generador de HTML bonito». Destaca los cambios en el código de la versión actual en comparación con la versión anterior. Ayuda a los desarrolladores a identificar y comprender fácilmente qué cambios se han realizado. Lo hace usando códigos de color.

Lo hace resaltando los cambios línea por línea y de lado a lado. Resalta los cambios de sintaxis del código y agrupa líneas similares para rastrear fácilmente los cambios de código. El comando para instalar diff2html es el siguiente:

$ npm install diff2html

También está integrado con la línea de comandos. Algunos proyectos que usan diff2html son Jenkins, Codacy, Ungit, git-explorer, code-annotation, etc.

Tiza

Chalk es un módulo de Node.js que ayuda a formatear y diseñar el código. También ayuda a crear y agregar temas de color al texto. Es una API expresiva y su rendimiento es excelente. Anida estilos y no tiene dependencias. El uso de Chalk se puede ver en el siguiente fragmento de código:

import chalk from 'chalk';

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

chalk.level define los colores que se admiten en cada nivel. ‘0’ indica que todos los colores están deshabilitados, ‘1’ indica compatibilidad con colores básicos, ‘2’ indica compatibilidad con 256 colores y ‘3’ indica compatibilidad con Truecolor. Los diversos modificadores de estilo para dar formato al texto que admite la tiza son inverso, oculto, visible, tachado, negrita, reinicio, cursiva, subrayado, superpuesto, atenuado, etc.

NpKill

Npkill es una herramienta que elimina carpetas de módulos de nodos antiguas y pesadas. Ayuda a eliminar módulos de nodo muy rápidamente y a liberar espacio en su sistema. Fue desarrollado usando TypeScript, JavaScript y Go. No tiene dependencias y es fácil de usar. El comando utilizado para instalar Npkill es:

$ npm i -g npkill

Se eliminarán todos los módulos de nodo especificados en la ruta con el comando npkill. Sin embargo, hay que tener cuidado al eliminar los módulos de nodo porque es irreversible. Si los módulos de cualquier proyecto activo se eliminan en el proceso, los archivos se dañan y los módulos del nodo deben instalarse nuevamente.

fkill-cli

fkill-cli es una herramienta de línea de comandos interactiva y de código abierto que elimina los procesos y puertos de Linux. Fue desarrollado usando Node.js. Es simple, gratuito, seguro y compatible con varias plataformas. Funciona en Windows, Linux y macOS. El comando utilizado para instalar fkill-cli es:

$ npm install --global fkill-cli

El nombre y el ID del proceso son necesarios para eliminar el proceso. “-f” fuerza la ejecución de la operación mientras que el comando “-v” muestra los argumentos del proceso. La API fkill toma entradas y opciones como argumentos y devuelve un objeto de promesa. Algunas opciones son force, silent, ignoreCase, tree y forceAfterTimeout.

Localtunel

Localtunnel es una plataforma que permite compartir servicios web desde un entorno externo con el entorno local de una computadora sin alterar la configuración de firewall y DNS del sistema.

Localtunnel transmite las solicitudes y se pasan al servidor implementado localmente después de asignarle una URL de acceso público. El comando utilizado para instalar Localtunnel es el siguiente:

$ npm install -g localtunnel

Es seguro y utiliza solicitudes HTTPS. Estas API se pueden usar para probar webhooks. La interfaz de usuario se puede probar en navegadores en la nube usando Localtunnel.

Inquirer.js

Inquirer.js es una interfaz de usuario de línea de comandos interactiva para aplicaciones Node.js. Facilita el proceso de encontrar errores, analizar entradas, validar respuestas y administrar indicaciones jerárquicas. Utiliza módulos ESM nativos para la implementación de sus funcionalidades. El comando utilizado para instalar Inquirer.js es:

$ npm install --save inquirer

Varios métodos utilizados incluyen prompt, registerPrompt, createPromptModule, etc. prompt() es una función que toma preguntas y respuestas como entradas y devuelve una promesa cuando se invoca.

La pregunta es un objeto que es una versión codificada de los valores relacionados con la pregunta, como tipo, mensaje, valor predeterminado, opciones, filtro, etc. El par de objeto clave-valor de respuesta contiene la versión codificada de las respuestas del cliente. La clave es la propiedad de la pregunta, mientras que el valor puede contener confirmación, entrada, número, lista sin procesar, etc.

servidor http

http-server es un servidor http estático de línea de comando. Es simple y no requiere ninguna configuración. Consta de 2 archivos: a saber, index.html y 404.html. index.html es el archivo predeterminado que se representaría en las solicitudes. 404.html se procesa cuando no se encuentra un archivo. El comando utilizado para instalar el servidor http es el que se muestra a continuación:

$ npm install --global http-server

Fue desarrollado utilizando HTML y JavaScript. Garantiza la seguridad a través de certificados TLS/SSL. Utiliza el algoritmo RSA para el cifrado y descifrado de claves. También permite definir una frase de contraseña junto con una clave privada por motivos de seguridad.

Ultimas palabras

JavaScript es el lenguaje de programación más utilizado para el desarrollo de software. Para facilitar la vida de los desarrolladores, se desarrollaron varios paquetes de Node.js.

Los paquetes de Node.js como Retire.js, Localtunnel, Xo, Inquirer.js, Shelljs, fpkill, NodeJsScan, Prettier, etc. se pueden usar para formatear el código, garantizar la seguridad, resaltar los cambios de código, eliminar módulos de nodos pesados ​​y no deseados, etc. Esto ayuda a los desarrolladores a depurar, escribir y administrar su código de manera eficiente.

También puede leer sobre cómo instalar Node.js y NPM en Windows y macOS.