Configuração de ferramentas
O AdonisJS depende muito do TypeScript, Prettier e ESLint para ter consistência no código, verificar erros no momento da compilação e, mais importante, ter uma experiência de desenvolvimento agradável.
Resumimos todas as nossas escolhas dentro de predefinições de configuração prontas para uso usadas por todos os pacotes oficiais e pelos kits iniciais oficiais.
Continue lendo este guia se quiser usar as mesmas predefinições de configuração em seus aplicativos Node.js escritos em TypeScript.
TSConfig
O pacote @adonisjs/tsconfig
contém a configuração base para projetos TypeScript. Definimos o sistema de módulo TypeScript como NodeNext
e usamos TS Node + SWC
para compilação Just-in-Time.
Sinta-se à vontade para explorar opções dentro do arquivo de configuração base, arquivo de configuração do aplicativo e arquivo de configuração de desenvolvimento de pacote.
Você pode instalar o pacote e usá-lo da seguinte maneira.
npm i -D @adonisjs/tsconfig
# Certifique-se também de instalar os seguintes pacotes
npm i -D typescript ts-node @swc/core
Estenda do arquivo tsconfig.app.json
ao criar um aplicativo AdonisJS. (Vem pré-configurado com kits iniciais).
{
"extends": "@adonisjs/tsconfig/tsconfig.app.json",
"compilerOptions": {
"rootDir": "./",
"outDir": "./build"
}
}
Estenda do arquivo tsconfig.package.json
ao criar um pacote para o ecossistema AdonisJS.
{
"extends": "@adonisjs/tsconfig/tsconfig.package.json",
"compilerOptions": {
"rootDir": "./",
"outDir": "./build"
}
}
Configuração mais bonita
O pacote @adonisjs/prettier-config
contém a configuração base para formatar automaticamente o código-fonte para um estilo consistente. Sinta-se à vontade para explorar as opções de configuração dentro do arquivo index.json.
Você pode instalar o pacote e usá-lo da seguinte maneira.
npm i -D @adonisjs/prettier-config
# Certifique-se também de instalar o prettier
npm i -D prettier
Defina a seguinte propriedade dentro do arquivo package.json
.
{
"prettier": "@adonisjs/prettier-config"
}
Além disso, crie um arquivo .prettierignore
para ignorar arquivos e diretórios específicos.
// .prettierignore
build
node_modules
Configuração ESLint
O pacote @adonisjs/eslint-config
contém a configuração base para aplicar as regras de linting. Sinta-se à vontade para explorar opções dentro do arquivo de configuração base, arquivo de configuração do aplicativo e arquivo de configuração de desenvolvimento de pacote.
Você pode instalar o pacote e usá-lo da seguinte maneira.
NOTA
Nossa predefinição de configuração usa o eslint-plugin-prettier para garantir que o ESLint e o Prettier possam trabalhar juntos sem interferir um no outro.
npm i -D @adonisjs/eslint-config
# Certifique-se também de instalar o eslint
npm i -D eslint
Estenda do arquivo eslint-config/app
ao criar um aplicativo AdonisJS. (Vem pré-configurado com kits iniciais).
// package.json
{
"eslintConfig": {
"extends": "@adonisjs/eslint-config/app"
}
}
Estenda do arquivo eslint-config/package
ao criar um pacote para o ecossistema AdonisJS.
// package.json
{
"eslintConfig": {
"extends": "@adonisjs/eslint-config/package"
}
}