ESLint e Prettier
Instalações
Comandos de instalações em ambiente de desenvolvimento:
$ yarn add eslint -D
Responder às seguintes perguntas:
? How would you like to use ESLint? `To check syntax, find problems, and enforce code style`? What type of modules does your project use? `JavaScript modules (import/export)`? Which framework does your project use? `None of these`? Does your project use TypeScript? `Yes`? 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? `Airbnb: https://github.com/airbnb/javascript`? What format do you want your config file to be in? `JSON`
Não instalar usando NPM. Ao invés disso, copiar as dependências necessárias exibidas no terminal exceto o próprio ESLInt, e instalar utilizando o Yarn
Após a instalação dos plugins acima, instalar outras dependências:
Para resolver a importação de módulos:
$ yarn add -D eslint-import-resolver-typescript
Arquivo .eslintrc.json
Alterar o rules e criar o settings:
{"rules": {"import/extensions": ["error","ignorePackages",{"ts": "never"}]},"settings": {"import/resolver": {"typescript": {}}}}
Prettier
Instalações dos pacotes:
$ yarn add prettier eslint-config-prettier eslint-plugin-prettier -D
Arquivo .eslintrc.json
Adicionar em extends:
{"extends": ["airbnb-base","plugin:@typescript-eslint/recommended","prettier/@typescript-eslint","plugin:prettier/recommended"]}
Adicionar em plugins:
{"plugins": ["@typescript-eslint", "prettier"]}
Adicionar o "prettier/prettier": "error" no rules:
{"rules": {"prettier/prettier": "error","import/extensions": ["error","ignorePackages",{"ts": "never"}]}}
Arquivo de configurações prettier.config.js
module.exports = {singleQuote: true,trailingComma: 'all',arrowParens: 'avoid',};
Arquivo .eslintignore
/*.jsnode_modulesdist