ESLint Config
Configuração padrão do eslint para os projetos da Eduzz.
Migração
Se está migrando do @eduzz/eslint-config-houston
altere as configurações do .eslintrc [extends]
para:
@eduzz/eslint-config-houston
>> @eduzz/eslint-config/react
@eduzz/eslint-config-houston/native
>> @eduzz/eslint-config/react-native
@eduzz/eslint-config-houston/node
>> @eduzz/eslint-config
Instalação
Para configurar no padrão da Eduzz, primerio você deve adicionar as dependências, pois o eslint exige que plugins devem,
ser adicionados no projeto principal
Javascript / Typescript / Node
yarn add --dev @eduzz/eslint-config eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier eslint-plugin-eslint-plugin eslint-plugin-import eslint-plugin-prettier eslint-plugin-unused-imports prettier
{
"extends": ["@eduzz/eslint-config"]
}
module.exports = {
...require('@eduzz/eslint-config/.prettierrc')
};
React
yarn add --dev @eduzz/eslint-config eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier eslint-plugin-eslint-plugin eslint-plugin-import eslint-plugin-prettier eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-unused-imports prettier
{
"extends": ["@eduzz/eslint-config/react"]
}
module.exports = {
...require('@eduzz/eslint-config/.prettierrc')
};
React Native
yarn add --dev @eduzz/eslint-config eslint eslint-plugin-react-native @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier eslint-plugin-eslint-plugin eslint-plugin-import eslint-plugin-prettier eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-unused-imports prettier
{
"extends": ["@eduzz/eslint-config/react-native"]
}
module.exports = {
...require('@eduzz/eslint-config/.prettierrc')
};
VSCode
-
Adicione a extensão do ESLint.
SUGERIMOS DESISTALAR OU DESATIVAR A EXTENSÃO DO PRETTIER POIS O ESLINT QUE APLICARÁ O PRETTIER.
-
Crie/Adicione no .vscode/settings.json (não na suas configurações, pois assim ficará no projeto e o time já terá acesso):
{
"editor.codeActionsOnSave": {
"source.organizeImports": false,
"source.fixAll.eslint": true
},
"eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
"editor.formatOnPaste": false,
"editor.formatOnSave": false,
"editor.formatOnType": false,
"editor.tabSize": 2
}