Framework CLI para JavaScript (Node.js): Commander.js – criação de aplicações de console

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Commander.js: Criando aplicações de console poderosas em Node.js



No mundo do desenvolvimento web moderno e da automação, as aplicações de console (CLI) desempenham um papel fundamental. Elas permitem automatizar tarefas rotineiras, gerenciar projetos, implantar código e interagir com APIs sem usar uma interface gráfica. Se você programa em JavaScript (Node.js), a melhor escolha para criar ferramentas CLI elegantes e funcionais é o framework Commander.js.



Commander.js é uma biblioteca leve, mas incrivelmente poderosa, que cuida de toda a rotina de análise de argumentos de linha de comando, geração de ajuda e tratamento de erros. Com ela, você pode transformar um script simples em uma aplicação de console profissional com suporte a subcomandos, opções e validação automática. Neste artigo, vamos detalhar como usar o Commander.js no site educacional pythonlib.ru para criar suas próprias utilitários CLI.



Instalação e uso básico



Antes de começar, certifique-se de ter o Node.js instalado (versão 12 ou superior). A instalação do Commander.js é feita via npm:



npm install commander


Após a instalação, crie um arquivo cli.js e importe a biblioteca. Vejamos um exemplo simples — uma aplicação que exibe "Hello, World!" e aceita o nome do usuário.



#!/usr/bin/env nodeconst { Command } = require('commander');const program = new Command();

program .name('greet') .description('Exibe uma saudação') .version('1.0.0');

program .command('hello') .description('Sauda o usuário') .argument('<name>', 'Nome do usuário') .action((name) => { console.log(`Olá, ${name}! Bem-vindo ao Commander.js.`); });

program.parse(process.argv);


Agora execute o script:



node cli.js hello João


Você verá: Olá, João! Bem-vindo ao Commander.js.



Principais recursos do Commander.js



O Commander.js oferece um rico conjunto de funções para criar aplicações CLI profissionais. Vamos detalhá-los a seguir.



1. Comandos e subcomandos

Você pode criar um número ilimitado de comandos (por exemplo, init, build, deploy) e aninhá-los uns nos outros. Isso é especialmente útil para ferramentas complexas, como gerenciadores de pacotes ou bundlers de projetos.



program  .command('init')  .description('Inicializa um novo projeto')  .option('-t, --template <type>', 'Template do projeto (basic, advanced)')  .action((options) => {    console.log(`Criando projeto com o template: ${options.template || 'basic'}`);  });


2. Opções (flags)

As opções permitem que o usuário passe parâmetros adicionais. O Commander.js suporta flags curtas (-v) e longas (--verbose), além de valores obrigatórios e opcionais.



program  .option('-d, --debug', 'Ativar modo de depuração')  .option('-p, --port <number>', 'Porta do servidor', '3000') // valor padrão  .parse(process.argv);

if (program.opts().debug) { console.log('Depuração ativada');}


3. Argumentos de comando

Argumentos são parâmetros posicionais que o usuário passa após o comando. Eles podem ser obrigatórios (<name>) ou opcionais ([name]).



program  .command('copy <source> [destination]')  .description('Copia o arquivo de source para destination')  .action((source, destination) => {    console.log(`Copiando de ${source} para ${destination || 'a pasta atual'}`);  });


4. Ajuda automática e versionamento

O Commander.js gera automaticamente a ajuda quando a flag --help é usada ou

Recommendations