17
loading...
This website collects cookies to deliver better user experience
yarn init -y
ou npm init -y
.Generate .editorconfig
e então um arquivo de configuração vai ser criado.root = true
[*]
indent_style = space
indent_size = 2
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = false
indent_size
esteja com 4 e não com 2, fica a seu critério modificar essa opção, mas por convenção usamos 2.trim_trailing_whitespace
e insert_final_newline
, de false
para true
. Trim_trailing_whitespace vai retirar os espaços desnecessários que às vezes deixamos no final da linha ou em uma linha em branco e insertend_of_line = lf
, para garantir que as quebras de linha sejam padronizadas. No Windows o final das linhas são representadas por \r\n
(um link para quem quiser saber o porquê), já no Linux e Mac são apenas com \n
, então para evitar que isso gere algum tipo de problema adicionamos essa configuração.root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
trim_trailing_whitespace
e insert_final_newline
direto no VS Code. O EditorConfig busca as configurações do editor para criar o arquivo, dessa maneira não vamos precisar fazer essas modificações quando criamos o próximo arquivo.CTRL+SHIFT+P
e pesquise por Open Settings (JSON)
, clique na opção e irá abrir um arquivo JSON com as configurações do editor."files.insertFinalNewline": true,
"files.trimTrailingWhitespace": true,
// Opcional
"editor.tabSize": 2,
"editor.rulers": [100],
CTRL+SHIFT+P
e pesquise por Open Settings (JSON)
, clique na opção e irá abrir um arquivo JSON com as configurações do editor."editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll": true,
},
Format Document
.yarn
, mas pode ser substituído pelo npm
se preferir.# O -D indica que vamos instalar a lib como uma dependência de desenvolvimento
yarn add eslint -D
# Comando para inicializar o ESLint
yarn eslint --init
To check syntax, find problems and enforce code style
.Javascript modules (import/export)
, a menos que esteja trabalhando em um projeto de Back-end com uma versão do Node que não suporta os Modules, ou em alguma outra situação que demande o uso do CommonsJS.None of these
. Se estiver criado o projeto seguindo meu artigo de Next.js, escolha React.Yes
.Espaço
e marque as duas opções.Use a popular style guide
Standard
. Em um outro momento você pode testar os outros guias.JSON
.Yes
.package-lock.json
que precisamos apagar, e em seguida precisamos rodar o comando yarn
no terminal para mapear as dependências que foram instaladas com o npm no arquivo yarn.lock.Ou podemos instalar as dependências manualmente. O primeiro passo é selecionar as dependências que apareceram no seu terminal e copiar. No terminal não conseguimos copiar o texto com o atalho CTRL+C
precisamos usar CTRL+SHIFT+C
ou clicar com o botão direito do mouse e ir em copiar.
Para instalar, começamos com o comando yarn add -D
e colamos as dependências que copiamos. O comando vai ter essa estrutura:
# Não copie o comando abaixo, é só um exemplo.
# As versões mudam constantemente, use as que esta no seu terminal.
yarn add -D eslint-plugin-react@latest @typescript-eslint/eslint-plugin@latest eslint-config-standard@latest eslint@^7.12.1 eslint-plugin-import@^2.22.1 eslint-plugin-node@^11.1.0 eslint-plugin-promise@^4.2.1 || ^5.0.0 @typescript-eslint/parser@latest
.eslintrc.json
na raiz do seu projeto. Dentro desse arquivo, no final dele, existe um campo de regras que provavelmente está vazio, vamos adicionar essas regras no arquivo:"rules": {
"react/prop-types": "off",
"react/react-in-jsx-scope": "off",
"space-before-function-paren": "off",
"no-console": "warn",
"comma-dangle": [
"error",
"always-multiline"
],
"jsx-quotes": [
"error",
"prefer-double"
]
}
react/prop-types
e react/react-in-jsx-scope
são validações do React que não são necessárias, então desativamos elas.space-before-function-paren
, o Standart coloca um espaço entre o nome da função e os parênteses, dessa maneira: function teste ()
entretanto, não gosto desse padrão então desativo essa regra, assim os parênteses ficam colados no nome da função function teste()
no-console
, já aconteceu algumas vezes de eu esquecer algum console.log no código sem querer, em algum teste que estava fazendo. Então passei a configurar essa regra, ela vai gerar um alerta em todos os consoles do código, e com isso eu sempre lembro de retirá-los antes de commitar.comma-dangle
, eu sempre gosto de manter a última vírgula dentro de um objeto JS, pois deixa o diff do git mais bonito e é mais prático para adicionar uma nova propriedade se necessário, essa regra irá sinalizar quando estiver faltando a vírgula.jsx-quotes
, no JS ou TS eu gosto de usar aspas simples, mas no HTML ou JSX eu mantenho as aspas duplas, pra mim faz sentido que seja assim já que o JSX se assemelha muito ao HTML, essa regra sinalizará isso.
Cheguei a ler várias discussões sobre essa regra na internet, alguns consideram uma boa prática, outros não, então fica a seu critério. No final, quando salvar o arquivo, o ESLint vai organizar esses detalhes no código, então é tranquilo.
.eslintignore
e de preferência copiar o conteúdo do arquivo .gitignore
do seu projeto e colar nele.