Desenvolvendo uma CLI Poderosa com Node.js

Neste tutorial, você aprenderá a construir uma CLI usando Node.js, abordando desde a instalação até a implementação de funcionalidades.

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!

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

Compartilhe este tutorial: Como criar um CLI (Command Line Interface) com Node.js?

Compartilhe este tutorial

Continue aprendendo:

Como funciona a resolução de módulos no Node.js?

Entenda como a resolução de módulos funciona no Node.js e suas implicações para o desenvolvimento de aplicações.

Tutorial anterior

Como formatar datas e horas no Node.js?

Aprenda a manipular e formatar datas e horas em Node.js com técnicas práticas e exemplos claros.

Próximo tutorial