19 pacotes Node.js para conhecer como desenvolvedor JavaScript para uma vida produtiva e fácil

Você está gastando muito tempo tentando criar código JavaScript? Continue lendo para conhecer os vários pacotes Node.js que podem tornar a vida de um desenvolvedor JavaScript produtiva e fácil.

JavaScript é uma linguagem síncrona de thread único. É a linguagem de programação mais usada para desenvolvimento de software e aplicativos. Muitos frameworks como Reactjs, Angularjs, Vuejs, Expressjs e Node.js foram desenvolvidos com sua linguagem base, JavaScript.

Muitos desenvolvedores enfrentam problemas ao codificar em JavaScript devido a vários conceitos complexos, como promessas, loop de eventos, retornos de chamada, elevação, fechamentos etc.

Para facilitar o desenvolvimento em JavaScript, muitos pacotes Node.js estão disponíveis para ajudar no tratamento de erros, formatação de código, exclusão de arquivos, depuração de código, garantia de segurança etc. Alguns também fornecem interfaces de usuário de linha de comando interativas para melhores representações visuais da potência da CPU, capacidade de processamento, a gravidade dos erros, etc.

Retire.js

Retire.js é uma biblioteca Javascript que fornece uma lista de vulnerabilidades associadas a outras versões da Biblioteca Javascript.

Ele pode ser usado como extensão do Chrome, extensão do Firefox, scanner de linha de comando, plug-in Grunt, etc. Ele pode ser instalado usando o seguinte comando:

$ npm install -g retire

Retire.js tem vários comandos para verificar JavaScript e arquivos de nó. Ele verifica sites JavaScript e registra os avisos no console do desenvolvedor. Retire.js gera o código de saída 13 quando encontra vulnerabilidades. A tarefa Gulp verifica automaticamente os arquivos e relata as vulnerabilidades.

Np

Np é um pacote JavaScript que fornece vários recursos, como limpeza de código, instalação de dependências, publicação de pacotes e tags, etc. Ele garante que o código seja enviado para o branch master e fornece uma interface do usuário interativa.

A autenticação de dois fatores é usada para garantir a segurança de novos repositórios. Ele garante que o trabalho seja feito na versão mais recente reinstalando as dependências. A versão mais recente é enviada para npm. Ele pode ser instalado usando o seguinte comando:

$ npm install --global np

Seus vários recursos incluem publicar código de qualquer ramificação, criar subdiretórios para publicação, pular a limpeza de código e testes, etc. A configuração do np pode ser feita globalmente e localmente por sinalizadores CLI nos arquivos de configuração do np como np-config.js -config.json.

ESLint

ESLint é uma ferramenta de pacote JavaScript que analisa JavaScript e identifica padrões no código ECMA/JavaScript. Ele avalia padrões no código usando AST. Todas as regras da ferramenta são definidas na forma de plugins, e podem ser adicionadas dinamicamente em tempo de execução. O ESLint pode ser instalado usando o comando abaixo:

$ npm init @eslint/config

Após instalá-lo com o comando acima, é gerado um arquivo .eslintrc com um conjunto de regras com definições de erros e suas respectivas condições. O ESLint permite que todas as dependências sejam definidas no arquivo .lock do usuário e não utiliza um arquivo .lock próprio. Também é altamente seguro.

Shelljs

Shelljs é um ambiente onde comandos UNIX podem ser executados em qualquer sistema operacional pela API Node.js. Shelljs é portátil e também suporta plugins de terceiros. Os vários comandos que podem ser usados ​​são echo, exec, chmod, pushd, popd, cd, cat, etc. O comando a seguir pode ser usado para instalar o Shelljs.

$ npm install [-g] shelljs

Ele foi testado em vários projetos como Firefox, JSHint, ESLint, Zepto, etc. A importação local de pacotes Shelljs é preferível às importações globais. Também pode ser configurado como silencioso, fatal, verboso, etc.

  Adicionar, remover ou atrasar a execução automática de aplicativos na inicialização

Omelete

O Omelette fornece um modelo para preenchimento automático de código para projetos Node e Deno. Ele usa API super fácil e suporta API Async e API de árvore também. Um snippet de código de amostra para implementar o Omelette é mostrado abaixo:

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

Após importar o Omelette, um objeto Omelette deve ser criado. Em seguida, várias funções para preenchimento automático de código, como setupShellInitFile() para configuração, cleanupShellInitFile() para limpeza, podem ser chamadas no objeto omelete para preenchimento automático de código. Ele também oferece suporte ao uso de funções do Lambda para criar APIs literais de modelo complexo.

Mais bonito

Prettier é usado para formatar código. Ele ajuda a fornecer espaços de tabulação, mantém o controle do conteúdo máximo em uma linha e garante o recuo adequado dentro de instruções condicionais e de loop. Ele converte o código em um formato limpo e legível. Por exemplo:

O trecho de código é dado abaixo,

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

é convertido para o abaixo quando a extensão Prettier é usada:

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

Ele pode ser executado em ambientes CI, Ambientes de Desenvolvimento Integrado (IDEs), etc.

jscpd

jscpd é um serviço técnico de gestão de dívidas. É um pacote JavaScript que ajuda a encontrar trechos de código duplicados em vários códigos e documentos digitais. Ele usa um algoritmo de correspondência de string chamado Rabin-Karp para encontrar duplicações de código.

jscpd/core tem a capacidade de detectar duplicação de código em vários ambientes, e jspd/tokenizer é usado para tokenizar o código-fonte do programa. Além destes, muitos outros pacotes como html-reporter, badge-reporter, leveldb-store, etc. O comando para instalar o jscpd é:

$ npm install -g jscpd

jscpd é usado pelo GitHub Super Linter, Code-Inspector, Mega-Linter, Codacy, etc. Cada um deles usa jscpd para um propósito diferente. Eles o usam para processamento de linguagem natural, agregadores de linha, análise de código etc.

Vtop

Vtop é um monitor que fornece uma representação gráfica da atividade da linha de comando. Ele fornece informações sobre a utilização da CPU analisando os vários threads e processos em execução e representando-os graficamente por meio de gráficos, picos, etc. Foi desenvolvido usando JavaScript, Makefile e Shell. O comando para instalar o Vtop é:

$ npm install -g vtop

Vários temas e códigos de cores podem ser usados ​​para tornar a GUI mais atraente de acordo com os requisitos. Vários atalhos de teclado como “u” para uma atualização, “g” para ir para o topo do processo da lista, “G” para mover para o final da lista, “dd” para matar processos pertencentes a um determinado grp, etc. pode ser usado.

Standardjs

Standardjs é uma biblioteca JavaScript que automatiza a configuração de arquivos, formata código e localiza rapidamente problemas com o tratamento de exceções dos programadores. O comando para instalar o Standardjs é dado abaixo:

$ npm install standard --global

Depois de instalá-lo, você pode executá-lo em um arquivo/snippet de código usando o comando “padrão” na interface de linha de comando. Todas as dependências do Standardjs podem ser adicionadas definindo “standard: “*” no objeto de dependência do arquivo package.json.

Ele também pode ser instalado como um plugin para vários editores de texto como Visual Studio Code, Sublime Text, Atom, Vim, Brackets, etc. Node.js, Expressjs, npm, Brave e GoDaddy usam Standardjs para satisfazer seus requisitos de negócios.

  Como mesclar camadas no Photoshop

NodeJsScan

NodeJsScan é um Scanner de código de segurança estática para aplicativos Node.js. Ele informa sobre o status de segurança de um aplicativo por meio de uma interface do usuário interativa. Ele pode ser integrado com vários aplicativos como Slack para alertas/notificações, alertas de e-mail configurando as configurações de SMTP no arquivo settings.py do NodeJsScan, pipeline CI/CD, etc. Também ajuda na construção de imagens docker.

Ele registra erros, informações e mensagens de aviso. Uma descrição detalhada do erro, como o motivo de sua ocorrência, sua gravidade, os números das linhas onde os erros ocorreram, o número de arquivos verificados e problemas encontrados, etc. Gráficos e tabelas também são plotados para melhor legibilidade e análise.

Lixo

Lixeira é uma biblioteca JavaScript que move os arquivos excluídos para a lixeira em vez de excluí-los permanentemente. Ele suporta Mac, Linux e Windows. O comando usado para instalar a Lixeira é:

$ npm install trash

Trash é uma API que recebe entradas e opções como parâmetros de função quando a função trash() é invocada. A entrada pode ser uma string ou um array de strings. As opções podem ser um objeto. A função trash retorna uma promessa. Diferentes comandos são usados ​​em diferentes sistemas operacionais. O macOS-trash é usado em MacOs, XDG Spec no Linux e lixeira no Windows.

Xo

Xo é um wrapper JavaScript e TypeScript que usa ESLint por baixo. Ele ajuda a criar código legível dando recuo ao código, adicionando ponto e vírgula, aspas simples, vírgulas, etc., sempre que necessário. Muitos plugins ESLint como unicorn, import, ava, n, etc. podem ser usados ​​com o Xo. O comando usado para instalar o xo é:

$ npm install xo --save-dev

Os problemas podem ser corrigidos automaticamente usando o comando $xo –fix. O Xo pode ser configurado usando a propriedade xo no arquivo package.json. Ele pode ser instalado como um plugin para vários editores como Vim, Visual Studio Code, Atom, Sublime Text, Emacs, etc.

diff2html

diff2html significa “parser de diferenças e gerador de HTML bonito”. Ele destaca as alterações no código da versão atual em comparação com a versão anterior. Ele ajuda os desenvolvedores a identificar e entender facilmente quais alterações foram feitas. Ele faz isso usando códigos de cores.

Ele faz isso destacando as alterações linha por linha e lado a lado. Ele destaca as alterações de sintaxe de código e agrupa linhas semelhantes para rastrear facilmente as alterações de código. O comando para instalar o diff2html é o seguinte:

$ npm install diff2html

Também é integrado com a linha de comando. Alguns projetos usando diff2html são Jenkins, Codacy, Ungit, git-explorer, code-annotation, etc.

Giz

Chalk é um módulo Node.js que ajuda na formatação e estilo do código. Também ajuda na criação e adição de temas de cores ao texto. É uma API expressiva, e seu desempenho é excelente. Ele aninha estilos e não tem dependências. O uso do Chalk pode ser visto no trecho de código abaixo:

import chalk from 'chalk';

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

chalk.level define as cores que são suportadas em cada nível. ‘0’ indica que todas as cores estão desabilitadas, ‘1’ indica suporte básico de cores, ‘2’ indica suporte a 256 cores e ‘3’ indica suporte a Truecolor. Os vários modificadores de estilo para formatar texto suportados por giz são inverso, oculto, visível, tachado, negrito, redefinir, itálico, sublinhado, sobrelinhado, escurecido, etc.

NpKill

Npkill é uma ferramenta que remove pastas de módulo de nó antigas e pesadas. Ele ajuda a remover módulos de nó muito rapidamente e a liberar espaço em seu sistema. Foi desenvolvido usando TypeScript, JavaScript e Go. Não possui dependências e é fácil de usar. O comando usado para instalar o Npkill é:

$ npm i -g npkill

Todos os módulos de nó especificados no caminho com o comando npkill serão excluídos. No entanto, é preciso ter cuidado ao excluir os módulos do nó porque é irreversível. Se os módulos de qualquer projeto ativo forem excluídos no processo, os arquivos serão corrompidos e os módulos de nó deverão ser instalados novamente.

  O que era o BeOS e por que as pessoas o adoravam?

fkill-cli

fkill-cli é uma ferramenta de linha de comando interativa e de código aberto que mata processos e portas do Linux. Foi desenvolvido usando Node.js. É simples, gratuito, seguro e compatível com várias plataformas. Funciona em Windows, Linux e macOS. O comando usado para instalar o fkill-cli é:

$ npm install --global fkill-cli

O nome e o ID do processo são necessários para encerrar o processo. “-f” força a execução da operação enquanto o comando “-v” exibe os argumentos do processo. A API fkill recebe entradas e opções como seus argumentos e retorna um objeto de promessa. Algumas opções são force, silent, ignoreCase, tree e forceAfterTimeout.

Localtúnel

Localtunnel é uma plataforma que permite compartilhar serviços web de um ambiente externo com o ambiente local de um computador sem alterar as configurações de DNS e firewall do sistema.

As solicitações são proxies pelo Localtunnel e são passadas para o servidor implantado localmente depois de atribuí-lo com uma URL acessível publicamente. O comando usado para instalar o Localtunnel é o seguinte:

$ npm install -g localtunnel

É seguro e usa solicitações HTTPS. Essas APIs podem ser usadas para testar webhooks. A interface do usuário pode ser testada em navegadores de nuvem usando o Localtunnel.

Inquirer.js

O Inquirer.js é uma interface de usuário de linha de comando interativa para aplicativos Node.js. Ele facilita o processo de localização de erros, análise de entrada, validação de respostas e gerenciamento de prompts hierárquicos. Ele usa módulos ESM nativos para a implementação de suas funcionalidades. O comando usado para instalar o Inquirer.js é:

$ npm install --save inquirer

Vários métodos usados ​​incluem prompt, registerPrompt, createPromptModule, etc. prompt() é uma função que recebe perguntas e respostas como entradas e retorna uma promessa quando invocada.

Question é um objeto que é uma versão com hash de valores relacionados à pergunta, como tipo, mensagem, padrão, opções, filtro etc. O par de objetos de valor-chave de resposta contém a versão com hash das respostas do cliente. A chave é a propriedade da pergunta, enquanto o valor pode conter confirm, input, number, rawlist, etc.

servidor http

http-server é um servidor http estático de linha de comando. É simples e não requer nenhuma configuração. Consiste em 2 arquivos: a saber, index.html e 404.html. index.html é o arquivo padrão que seria renderizado nas solicitações. 404.html é renderizado quando um arquivo não é encontrado. O comando usado para instalar o servidor http é como mostrado abaixo:

$ npm install --global http-server

Foi desenvolvido usando HTML e JavaScript. Garante a segurança através de certificados TLS/SSL. Ele usa o algoritmo RSA para criptografia e descriptografia de chave. Ele também permite definir uma senha juntamente com uma chave privada para fins de segurança.

Palavras finais

JavaScript é a linguagem de programação mais utilizada para o desenvolvimento de software. Para facilitar a vida dos desenvolvedores, vários pacotes Node.js foram desenvolvidos.

Pacotes Node.js como Retire.js, Localtunnel, Xo, Inquirer.js, Shelljs, fpkill, NodeJsScan, Prettier etc. podem ser usados ​​para formatar código, garantir segurança, destacar alterações de código, excluir módulos de nó pesados ​​e indesejados, etc. Isso ajuda os desenvolvedores a depurar, escrever e gerenciar seu código com eficiência.

Você também pode ler sobre como instalar o Node.js e o NPM no Windows e no macOS.