Construindo uma CLI com Node.js
Criar uma Interface de Linha de Comando (CLI) pode parecer uma tarefa árdua, mas com Node.js, essa tarefa se torna bastante acessível. Este guia irá te levar passo a passo na criação de uma CLI funcional.
Preparando o Ambiente
Primeiro, é necessário ter o Node.js instalado na sua máquina. Você pode baixar a versão mais recente do site oficial .
Criando o Projeto
Para iniciar, crie uma nova pasta para o seu projeto e acesse-a pelo terminal:
mkdir minha-cli
cd minha-cli
Esses comandos criam uma nova pasta chamada 'minha-cli' e navegam até ela. Aqui, você irá armazenar todos os arquivos do seu projeto.
Inicializando o Projeto
Para inicializar um novo projeto Node.js, use o seguinte comando:
npm init -y
Esse comando cria um arquivo package.json
padrão, que irá armazenar as informações sobre o seu projeto e suas dependências.
Instalando Dependências
Para que sua CLI possa receber e processar argumentos, vamos instalar o pacote yargs
. Execute:
npm install yargs
O yargs
facilita a manipulação de argumentos passados pela linha de comando, tornando nosso trabalho muito mais simples.
Criando o Arquivo Principal
Agora, crie um arquivo chamado index.js
:
touch index.js
Neste arquivo, você irá programar a funcionalidade da sua CLI. Vamos começar com um simples comando que exibe uma saudação:
const yargs = require('yargs');
yargs.command({
command: 'saudacao',
describe: 'Exibe uma saudação',
handler: function() {
console.log('Olá, bem-vindo à minha CLI!');
}
});
yargs.parse();
Este código define um comando chamado saudacao
que, quando executado, exibe uma mensagem no console. O yargs.parse()
é responsável por processar os argumentos fornecidos ao comando.
Testando sua CLI
Para testar, execute o comando:
node index.js saudacao
Ao fazer isso, você verá a mensagem 'Olá, bem-vindo à minha CLI!' exibida no console. Essa é a primeira funcionalidade da sua CLI!
Adicionando Mais Funcionalidades
Você pode expandir sua CLI adicionando mais comandos. Por exemplo, vamos adicionar um comando para somar dois números:
yargs.command({
command: 'soma',
describe: 'Soma dois números',
builder: {
num1: {
describe: 'Primeiro número',
demandOption: true,
type: 'number'
},
num2: {
describe: 'Segundo número',
demandOption: true,
type: 'number'
}
},
handler: function(argv) {
const resultado = argv.num1 + argv.num2;
console.log(`A soma de ${argv.num1} e ${argv.num2} é ${resultado}`);
}
});
Neste exemplo, o comando soma
requer dois números como argumentos. O resultado da soma é exibido no console. Para testar, execute:
node index.js soma --num1 5 --num2 3
A saída será: 'A soma de 5 e 3 é 8'. Essa é uma maneira simples de interagir com a sua CLI.
Conclusão
Neste tutorial, você aprendeu a criar uma CLI básica usando Node.js e yargs
. A partir daqui, você pode expandir as funcionalidades da sua CLI conforme desejar. Explore a documentação do yargs
para descobrir ainda mais recursos que você pode adicionar à sua ferramenta. Boa codificação!
Por que criar uma Interface de Linha de Comando é importante?
As Interfaces de Linha de Comando (CLI) são ferramentas poderosas que permitem a interação com o sistema operacional por meio de comandos textuais. Com a crescente popularidade do Node.js, muitos desenvolvedores estão se voltando para essa tecnologia para construir suas próprias CLIs. A capacidade de automatizar tarefas, manipular dados e integrar com outras aplicações são apenas algumas das vantagens de se criar uma CLI. Neste contexto, é possível criar soluções que aumentam a produtividade e otimizam fluxos de trabalho. Aprender a desenvolver sua própria CLI pode ser um diferencial significativo em sua carreira como programador.
Algumas aplicações:
- Automação de tarefas repetitivas.
- Gerenciamento de sistemas.
- Desenvolvimento de ferramentas personalizadas.
- Integração de APIs.
- Interação com bancos de dados.
Dicas para quem está começando
- Comece com comandos simples.
- Utilize bibliotecas como yargs para facilitar a manipulação de argumentos.
- Teste frequentemente sua CLI conforme você adiciona novas funcionalidades.
- Leia a documentação das ferramentas que você está utilizando.
- Mantenha seu código bem organizado e comentado.
Contribuições de Gustavo Ferraz