Use essas bibliotecas e utilitários para criar programas CLI modernos com todos os sinos e assobios de que você precisa.

Uma interface de linha de comando (CLI) é uma maneira de interagir com um programa de computador ou sistema operacional usando comandos baseados em texto. Uma ferramenta CLI é um programa utilitário que pode ser executado a partir de uma linha de comando. As ferramentas CLI normalmente recebem comandos baseados em texto do usuário e executam tarefas específicas com base nos comandos.

As ferramentas CLI de alta qualidade devem oferecer suporte a uma ampla gama de funcionalidades. Eles podem analisar argumentos de linha de comando e gerar ajuda de uso para fornecer feedback visual, entre outros recursos.

Existem vários pacotes Node.js que podem ajudá-lo a criar ferramentas CLI rapidamente, oferecendo uma ampla variedade de funcionalidades e flexibilidade. Aqui, você explorará alguns dos principais pacotes Node.js para criar ferramentas CLI e descobrirá seus principais recursos.

instagram viewer

Commander é um pacote Node.js para construir interfaces de linha de comando. Ele fornece uma API para definir comandos, opções e argumentos, facilitando a criação de ferramentas CLI.

O Commander cuida da análise de argumentos em opções e argumentos de linha de comando. Além disso, exibe erros para problemas e opções não reconhecidas e gera ajuda de uso automaticamente (documentação da CLI).

Para instalar o Commander como uma dependência, execute este comando:

npm instalar comandante

Aqui está um exemplo de como usar o Commander em um aplicativo Node.js:

// index.js
const { Comando } = exigir("comandante");

// criando uma instância de comando
const programa = novo Comando();

// ferramenta de criação
programa
.nome("Math-util")
.descrição("Uma ferramenta CLI para executar funções matemáticas simples")
.versão("1.0.0");

// adicionando comando
programa
.comando("adicionar")
.descrição("Somar dois números")
.argumento("", "primeiro número")
.argumento("", "segundo número")
.Ação((a, b) => {
console.registro(parseInt(a) + parseInt(b));
});

programa.parse();

O exemplo acima é uma ferramenta CLI para executar funções matemáticas simples. O bloco de código acima implementou a funcionalidade “adicionar” para a ferramenta CLI usando métodos de comandante.js.

Você pode usar a ferramenta CLI acima executando este comando em seu terminal:

índice de nó adicionar 2 2

Você também pode visualizar a ajuda gerada automaticamente para a ferramenta CLI executando este comando:

nó cli -h

Com o pacote Commander.js, você pode criar ferramentas de CLI completas e funcionais com documentação pronta para uso usando comandos simples.

Inquirer.js é um pacote Node.js para construir interfaces de usuário de linha de comando interativas. Ele fornece um conjunto de componentes de interface do usuário, como prompts, listas e caixas de seleção, facilitando a criação de ferramentas CLI que podem interagir com o usuário.

Para instalar o Inquirer como uma dependência, execute este comando:

npm instalar inquiridor

Aqui está um exemplo de como usar o Inquirer.js:

// index.js
importar inquiridor de"inquiridor";

inquiridor
.incitar([
{
tipo: "entrada",
nome: "nome",
mensagem: "Qual o seu nome?",
},
])
.então((respostas) => {
console.registro(`Olá ${respostas.nome}`);
});

Este exemplo usa o Inquirer.js para obter a entrada do usuário do terminal e registra uma mensagem dizendo olá ao usuário.

Inquirer.js não suporta o CommonJS sistema modular. Você deve usar o sistema de módulo ES6 ou fazer o downgrade do pacote para a versão 8.0.0.

O Inquirer.js fornece muitas opções de customização para prompts, incluindo escolhas, validação e valores padrão, tornando-o ideal para construir ferramentas CLI interativas que podem interagir com o usuário.

Chalk é um pacote Node.js que fornece uma maneira simples de adicionar cores à saída do terminal, facilitando a criação de ferramentas CLI atraentes e legíveis.

Ele fornece muita flexibilidade na definição de cores e estilos de texto. No entanto, você não pode usar o Chalk isoladamente para criar ferramentas CLI; você deve usá-lo com pacotes como Commander e Inquirer.js.

Para instalar o Chalk como uma dependência, execute este comando:

npm instalar giz

Aqui está um exemplo de como usar o Chalk para adicionar cores à saída do console:

importar giz de"giz";

console.log (giz.azul("Olá Mundo!"));
console.registro(giz.vermelho.audacioso("Aviso"));
console.registro(giz.branco.itálico("sucesso"));

console.registro(
giz.amarelo.bgAzul("Essetextotemaamareloprimeiro planoeazulfundo")
);

Chalk fornece muitos outros métodos para definir cores e estilos, incluindo sublinhado, tachado, vários tons de cores de fundo e muito mais.

Chalk não oferece suporte ao sistema de módulos CommonJS. Você deve usar o sistema de módulo ES6 ou fazer o downgrade do pacote para a versão 4.0.0.

Chalk é um ótimo pacote para tornar suas ferramentas CLI visualmente mais atraentes e legíveis. Além disso, você pode integrá-lo facilmente ao seu código existente sem configurações complexas.

Node Spinner é um pacote Node.js que fornece uma maneira simples de exibir uma animação giratória em suas ferramentas CLI. Você pode usar este pacote para indicar que um processo de execução longa está em andamento e fornecer uma indicação visual ao usuário de que a ferramenta ainda está funcionando.

Para instalar o Node Spinner como uma dependência, execute este comando:

npm instalar cli-spinner

Aqui está um exemplo de como usar o Node Spinner para exibir uma animação giratória:

const Girador = exigir("cli-spinner").Spinner;

const girador = novo Spinner("em processamento... %s");
spinner.setSpinnerString("|/-\\\\");
girador.começar();

setTimeout(() => {
spinner.text = "Tarefa completa.";

setTimeout(() => {
girador.parar();
}, 500);
}, 5000);

Esse código usa a biblioteca para exibir um controle giratório até que um processo seja concluído. O código simula uma operação que dura 5 segundos usando setTimeout. Ao final do tempo, ele altera o texto de exibição de “processando...” para “Tarefa concluída”. e pára o spinner 0,5 segundos depois.

O Node Spinner fornece uma variedade de opções de personalização, como alterar os estilos e o texto do spinner. Ele também suporta vários spinners, permitindo que você exiba diferentes animações para diferentes partes de sua ferramenta CLI.

Figlet é um pacote Node.js que fornece uma maneira simples de criar arte ASCII a partir do texto.

Para instalar o figlet como uma dependência, execute este comando:

npm instalar figo

Aqui está um exemplo de como usar figlet para gerar arte ASCII:

const figo = exigir("figlet");

figo("Olá Mundo!!", (erro, dados) => {
if (err) {
console.registro("Desculpe, algo deu errado");
console.dir (erro);
retornar;
}

console.log (dados);
});

O exemplo acima cria uma arte ASCII com a string “Hello World!!” usando o Figlet e registra-o no console.

A execução deste exemplo deve produzir a seguinte saída:

Figlet fornece muitos estilos de fonte que você pode usar para personalizar a aparência de sua arte ASCII. Você pode especificar um estilo de fonte passando um objeto de opções para o figo função.

Por exemplo:

figo("Olá Mundo!!", { Fonte: "Sino" }, (erro, dados) => {})

O uso do Figlet em sua ferramenta CLI adiciona interesse visual às suas ferramentas e as torna mais envolventes para seus usuários.

Ao escolher pacotes para sua ferramenta CLI, você deve considerar suas necessidades e selecionar os pacotes que fornecem a funcionalidade, estilo e compatibilidade que os atendam.

O ecossistema Node.js fornece vários pacotes que podem analisar argumentos de linha de comando, criar uma IU de linha de comando, exibir texto estilizado e muito mais. Aproveitar a combinação correta permitirá que você crie ferramentas CLI altamente funcionais e fáceis de usar.