A CLI do Nest é uma interface de linha de comando que auxilia na inicialização, desenvolvimento e manutenção de aplicações Nest. Ela auxilia de diversas maneiras como na estruturação de projetos, servir a aplicação em modo de desenvolvimento e construir a aplicação para produção.
CLI, ou command-line interface, é uma forma de interagir com um programa de computador, onde se faz uso de linhas de comando.
Instalando a CLI do Nest
$ npm install -g @nestjs/cli
Com a CLI instalada é possível gerar uma nova aplicação Nest. Além disso a CLI auxilia na criação de novos arquivos na aplicação. Como a criação de classes, controllers, decorators entre outros.
$ new nest project-name
Através dese comando é possível gerar uma aplicação Nest com o nome ‘project-name’. A CLI irá perguntar qual o gerenciador de pacotes, o desenvolvedor escolhe uma das opções e ela será a padrão usada no projeto.
Sintaxe da CLI
A CLI possui uma sintaxe simples e eficiente.
$ nest commandOrAlias requiredArg [oções] [oções]
Exemplo:
$ nest new myproject
Espaços de trabalho
A CLI possui duas maneiras de organizar o código:
- Modo padrão: útil para construir aplicações individuais focados em projetos que possuem suas próprias dependências e configurações e não precisam otimizar o compartilhamento de módulos ou otimizar compilações.
- Modo monorepo: Este modo trata artefatos de código como parte de um monorepo leve e pode ser mais apropriado para equipes de desenvolvedores e/ou ambientes de vários projetos. Ele automatiza partes do processo de build para facilitar a criação e composição de componentes modulares, promove a reutilização de código, facilita os testes de integração, facilita o compartilhamento de artefatos de todo o projeto, como regras eslint e outras políticas de configuração.
O desenvolvedor pode trocar entre os modos maneira simples à qualquer momento. Então é possível deixar essa decisão para o futuro até que os benefícios se tornem mais claros para cada caso de uso.
Scripts
A CLI possui alguns scripts que auxiliam no gerenciamento dos ambientes Nest.
Build
nest build
é um wrapper para os compiladores tsc
, swc
, ts-loader
. Não adiciona outras
funcionalidades de compilação ou passos, a não ser lidar com os tsconfig-paths
para deixá-los
pronto para uso.
Execution
nest start
apenas se certifica que o projeto foi compilado (o mesmo que nest build
)
e chama o comando node
de uma maneira fácil e simples para executar aplicações compiladas.
Assim como no build o desenvolvedor é livre para customizar esse processo como necessário,
seja usando o comando nest start
e suas opções ou substituindo-o completamente.
Todo o processo é o processo padrão para compilar e executar aplicações TypeScript,
o desenvolvedor é livre para gerenciar esse processo.
Generation
Os comandos nest generate
, gera novas aplicações Nest ou componentes dentro de aplicações existentes.
Conclusão
A CLI do Nest auxilia desenvolvedores e DevOps na organização de aplicações e ambientes Nest. O uso dela traz benefícios na organização e gerenciamento de cada aplicação, além de ser extensível, editável e até mesmo completamente removível de cada aplicação Nest.