Pular para o conteúdo

Linter

O Linter do Biome analisa de forma estática o seu código para encontrar erros comuns e ajudar você a escrever códigos idiomáticos.

237

Você pode começar executando a CLI para verificar possíveis erros usando o seguinte comando:

Terminal window
biome lint ./src

Para mais informações sobre todas as opções disponíveis, veja a página sobre o CLI

Nós acreditamos que as regras devem ser informativas e que expliquem ao usuário porque uma regra é acionada, além de orientar o usuário sobre o que deve ser feito para corrigí-lo. Uma regra deve seguir esses princípios:

  1. Explicar o erro para o usuário. Geralmente, essa é a mensagem do diagnóstico.
  2. Explicar para o usuário porque o erro foi acionado. Geralmente, isso é implementado com um parâmetro adicional.
  3. Falar para o usuário o que ele precisa fazer. Geralmente, isso é implementado usando uma ação no código. Se uma ação no código não for aplicável uma nota deve dizer o que o usuário precisa fazer para arrumar o erro.

Se você acha que uma regra não siga esses princípios, por favor abra uma Issue.

As regras de Lint podem fornecer correções automáticas de código. O Biome classifica as correções em dois tipos.

As correções seguras não alteram a semântica do seu código. Elas podem ser aplicadas sem uma análise explicita.

Para aplicar correções seguras, utilize o parâmetro --apply:

Terminal window
biome check --apply ./src

Correções não seguras podem alterar a semântica do seu código. Portanto, é aconselhável revisar manualmente as alterações.

Para aplicar correções não seguras, utilize o parâmetro --apply-unsafe:

Terminal window
biome check --apply-unsafe ./src

Quando o Linter está ativado, ele recomenda uma série de regras. Essas regras emitirão diagnósticos de erro. Veja as regras recomendadas logo abaixo:

As vezes você só quer ignorar um erro de lint em uma linha específica de código. Você pode fazer isso usando um comentário de supressão acima da linha que emite o diagnóstico.

Os comentários de supressão segue o seguinte formato:

// biome-ignore lint: <explanation>
// biome-ignore lint/suspicious/noDebugger: <explanation>

Onde

  • biome-ignore é o começo de um comentário de supressão;
  • lint desativa o linter;
  • /suspicious/noDebugger: opcional, grupo e o nome da regra que você quer desativar;
  • <explanation> explicação do motivo pelo qual a regra está desativada

Aqui está um exemplo:

// biome-ignore lint: reason
debugger;
// biome-ignore lint/suspicious/noDebugger: reason
debugger;

As regras recomendadas são ativadas por padrão e emitem diagnósticos com a severidade do erro. Regras que não são recomendadas são desativadas por padrão, mas podem ser ativadas pelo arquivo de configuração. Os diagnósticos emitidos por essas regras são mostrados com a gravidade de aviso (warning) na documentação.

Para ativar essas regras, você precisa alterar a gravidade do diagnóstico baseado nas suas necessidades:

biome.json
{
"linter": {
"enabled": true,
"rules": {
"style": {
"useBlockStatements": "error",
"useShorthandArrayType": "error",
"noShoutyConstants": "warn"
}
}
}
}

Apenas adicione "off" como um valor dentro da configuração da regra. Por exemplo:

biome.json
{
"linter": {
"enabled": true,
"rules": {
"suspicious": {
"noCommentText": "off"
},
"style": {
"noUnusedTemplateLiteral": "off"
}
}
}
}

Alterar a gravidade do diagnóstico

Section titled Alterar a gravidade do diagnóstico

A maioria das regras do Biome vão emitir um erro, mas você pode alterar isso. Apenas adicione "warn" como um valor da regra. Exemplo:

biome.json
{
"linter": {
"enabled": true,
"rules": {
"suspicious": {
"noCommentText": "warn"
}
}
}
}

Isso é útil em casos onde está rolando uma refatoração e é necessário fazer com que o CI seja aprovado.

Algumas regras tem configurações. Quando elas aceitam, você pode contorná-las ajustando o valor da regra de uma forma diferente.

biome.json
{
"linter": {
"enabled": true,
"rules": {
"correctness": {
"noCommentText": {
"level": "warn",
"options": {}
}
}
}
}
}
  • level indica a gravidade do diagnóstico, os valores válidos são: "off", "warn" e "error";
  • options vai mudar dependendo da regra.