ESLint

· Padrão Frontend
Juan Kalleo
Juan Kalleo
Senior Fullstack
This page hasn't been translated to English yet — showing the original Portuguese content.

O que é

Linter de JavaScript/TypeScript — analisa o código estaticamente e aponta erros de sintaxe, más práticas e desvios de estilo antes de rodar. No Next.js vem empacotado na config eslint-config-next, que já entende Server/Client Components, hooks e regras do framework.

Por que essa

É a ferramenta de qualidade adotada no projeto: eslint + eslint-config-next travam regra de código no CI e no editor.

Versão

^9 + eslint-config-next 16.3.3 + @tanstack/eslint-plugin-query (package.json).

Como rodar

pnpm lint

Configuração real

eslint.config.mjs do HTD-Front herda a config do Next e adiciona as regras recomendadas do React Query:

import { defineConfig, globalIgnores } from "eslint/config";
import nextVitals from "eslint-config-next/core-web-vitals";
import nextTs from "eslint-config-next/typescript";
import pluginQuery from "@tanstack/eslint-plugin-query";

const eslintConfig = defineConfig([
  ...pluginQuery.configs["flat/recommended"],
  ...nextVitals,
  ...nextTs,
  globalIgnores([".next/**", "out/**", "build/**", "next-env.d.ts"]),
]);

export default eslintConfig;

Convenção do projeto

Lint roda no editor e antes de fechar mudança. // eslint-disable só entra com justificativa no mesmo ponto. Para hooks do React Query, a query key precisa representar tudo que muda o resultado.