Skip to content

Instantly share code, notes, and snippets.

@diegomais
Created June 29, 2020 18:28
Show Gist options
  • Save diegomais/3bccb9038febdb9cf60360c2619a87db to your computer and use it in GitHub Desktop.
Save diegomais/3bccb9038febdb9cf60360c2619a87db to your computer and use it in GitHub Desktop.

AdonisJS

Instalando CLI do Adonis

Cole no terminal o seguinte comando para instalar a interface de linha de comando do Adonis:

npm install -g @adonisjs/cli

Criar um novo projeto

Execute o comando adonis new -h, ele retornará todas as opções ou tags extras que poderão ser usadas para criar um novo projeto.

Para criar um novo projeto use então como exemplo: adonis new nomeDaAplicacao --api-only --yarn e aguarde a instalação.

Configurar Eslint

Inicie instalando o eslint: yarn add eslint prettier eslint-config-prettier eslint-plugin-prettier -D

Feito isso, rode o iniciador do eslint, usando: npx eslint --init

? How would you like to use ESLint? To check syntax, find problems, and enforce code style

? What type of modules does your project use? CommonJS (require/exports)

? Which framework does your project use? None of these

? Does your project use TypeScript? No

? Where does your code run? Node

? How would you like to define a style for your project? Use a popular style guide

? Which style guide do you want to follow? Standard: https://github.com/standard/standard

? What format do you want your config file to be in? JavaScript

? Would you like to install them now with npm? Yes

O arquivo .eslintrc.js deverá ficar parecido com este:

module.exports = {
  env: {
    es6: true,
    node: true
  },
  extends: ['standard', 'prettier'],
  plugins: ['prettier'],
  globals: {
    Atomics: 'readonly',
    SharedArrayBuffer: 'readonly',
    use: true
  },
  parserOptions: {
    ecmaVersion: 2018
  },
  rules: {
    'prettier/prettier': 'error'
  }
}

Crie também um arquivo .prettierrc e cole:

{
  "singleQuote": true,
  "trailingComma": "none",
  "tabWidth": 2,
  "semi": false
}

Para finalizar execute ./node_modules/.bin/eslint --fix . --ext .js para aplicar as novas regras de lint em todos os arquivos javascript.

Configurar Database

O Adonis possui suporte para bancos de dados relacionais, sendo eles o Postgres, Mysql e o Sqlite. Para configura-lo, basta entrar no arquivo config/database e executar a instalação da dependência relacionada ao banco usado.

Ao instalar o postgres por exemplo, basta executar no terminal yarn add pg e após isso subir um container docker com o banco de dados e configurar os valores no arquivo .env

** Exemplo para configuração de Postgres: **

O banco do postgres nao é criado automaticamente, logo você deve criar por conta própia.

Obs: Recomendo o uso do postbird para fazer a criação do banco e visualização dos dados.

Arquivo .env

DB_CONNECTION=pg
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=mysecretpassword
DB_DATABASE=gonode

Após isso, execute adonis migration:run para rodar as migrations.

Configuração container docker

Para iniciar um novo container docker, basta executar o seguinte comando: sudo docker run --name postgresbarber -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgres.

Rodar a aplicação

Ao executar adonis serve --dev é possível levantar o servidor em modo de desenvolvimento.


Configurar Husky com Eslint e Commit-lint

Tutorial disponível neste link.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment