O Stylelint nos oferece proteção contra vários problemas de CSS. Vamos fazer o mesmo com nosso JS.
O eslint é o mais maduro e fornece uma lista de regras que podemos usar se julgarmos necessário.
npm install eslint --save-dev
Em package.json, adicione um novo comando
"lint:js": "eslint openlibrary/plugins/openlibrary/js/"
Adicione um .eslintrc.json
{
"root": true,
"env": {},
"globals": {
},
"rules": {
"no-extra-semi": "warn"
}
}
Definiremos os erros para avisar por enquanto e assim que a configuração for mesclada, devemos coordenar com alguém para executar as correções e mesclar para evitar quaisquer conflitos de mesclagem!
Oi. Você pode me designar para resolver esse problema?
Pergunta: por que não usar uma das predefinições para eslint
? Como https://standardjs.com ou https://github.com/airbnb/javascript
Eu gostaria de fazer isso a longo prazo, mas o javascript está em péssimo estado aplicar tal preset seria muito confuso (revisão de código, conflitos de rebase) e trabalho manual (a maior parte do preset não pode ser corrigido automaticamente). Acho que adicionar regras manualmente nos ajuda a atacá-lo pouco a pouco de uma forma coesa e educacional (aprendemos sobre os problemas em nosso código pouco a pouco).
Achei que poderíamos usar o linting para resolver os problemas mais comuns e urgentes (os lints que podem causar erros no código) e, em nosso lazer, aplicar uma predefinição (de nossa escolha) mais tarde.
Isso faz sentido?
Claro, é verdade. A forma do código pode ser muito ruim.
Quando este PR for mesclado, poderei corrigir alguns problemas com linting, basta mencioná-los.
Começará com no-extra-semi
por exemplo;)
@tamtamchik eu posso criar um problema mais tarde, mas qualquer coisa que esteja em "possíveis erros" e autofixable é um jogo justo.
Devemos coordenar com @mekarpeles para executar e confirmar os autofixes e cometer um erro de eslint em vez de avisar.
Eu quero que nos livremos dos frutos mais fáceis!