Linter e formatador sem configuração para JavaScript e TypeScript, que integra Biome, ESLint ou Oxlint com regras predefinidas em um único comando.
lint-staged/lint-staged
Executa formatadores e linters apenas nos arquivos staged do Git antes de cada commit, evitando que código sem verificação entre no repositório.
- Estrelas
- 14,757
- Forks
- 479
- Issues abertas
- 2
- Último commit
- há 6 dias
O que é?
lint-staged executa comandos arbitrários de shell, como Prettier, ESLint ou Stylelint, nos arquivos atualmente staged no Git. Executar essas ferramentas no projeto inteiro pode ser lento e gerar alertas irrelevantes; por isso, lint-staged limita a execução aos arquivos que realmente serão incluídos no commit.
As tarefas são configuradas como um objeto JSON (em package.json, em um arquivo .lintstagedrc ou em uma configuração JS/TS) que associa padrões glob a comandos. Os arquivos correspondentes são passados ao comando como argumentos. Os comandos podem ser executados em paralelo ou em sequência, e é possível usar funções JavaScript para implementar lógica personalizada. Alterações feitas pelas tarefas, como correções automáticas, são adicionadas ao commit.
Por padrão, lint-staged cria um backup com git stash antes de executar as tarefas e reverte as alterações se alguma tarefa falhar. Normalmente, ele é integrado por meio de um hook pre-commit, como o Husky, e oferece suporte a monorepos com arquivos de configuração por pacote.
Recursos principais
- 01Executa qualquer comando de shell nos arquivos staged que correspondem a padrões glob.
- 02Adiciona automaticamente ao commit as correções feitas por tarefas como Prettier ou ESLint --fix.
- 03Faz backup do estado de trabalho com git stash e o restaura em caso de falha.
- 04Oferece suporte à execução de tarefas em sequência, em paralelo e em uma ordem definida.
- 05Aceita configurações em package.json, arquivos ocultos ou arquivos de configuração JS/TS.
- 06Oferece suporte a configurações por diretório em monorepos.
Casos de uso
- Executar Prettier e ESLint em arquivos JavaScript e TypeScript antes de cada commit.
- Analisar CSS ou SCSS com Stylelint somente quando esses arquivos forem alterados.
- Impedir commits de determinados tipos de arquivo, como PDFs, por meio de uma regra.
- Aplicar configurações de lint distintas aos pacotes de um monorepo.
Início rápido
- 1
Instale o lint-staged como dependência de desenvolvimento
npm install --save-dev lint-staged - 2
Configure o hook pre-commit do git para executar o lint-staged (Husky é uma opção popular)
- 3
Configure o lint-staged no package.json ou em um arquivo de configuração; por exemplo, para executar o ESLint em arquivos JS
- 4
Adicione alguns arquivos à área de preparação e execute git commit para iniciar as verificações
git commit
Antes de usar
- Requer configuração adicional: um gerenciador de hooks do git e ferramentas configuradas, como ESLint ou Prettier.
- Executa operações do git que modificam a árvore de trabalho e, por padrão, usa um stash de backup.
Em coleções
Tópicos
Perguntas frequentes
- O que é lint-staged?
- Executa formatadores e linters apenas nos arquivos staged do Git antes de cada commit, evitando que código sem verificação entre no repositório. lint-staged executa comandos arbitrários de shell, como Prettier, ESLint ou Stylelint, nos arquivos atualmente staged no Git. Executar essas ferramentas no projeto inteiro pode ser lento e gerar alertas irrelevantes; por isso, lint-staged limita a execução aos arquivos que realmente serão incluídos no commit.
- lint-staged é gratuito? Qual é a licença?
- lint-staged é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- lint-staged ainda é mantido?
- Manutenção ativa. O último commit de lint-staged foi em 31 de out. de 2026.
- Para que posso usar lint-staged?
- Executar Prettier e ESLint em arquivos JavaScript e TypeScript antes de cada commit. Analisar CSS ou SCSS com Stylelint somente quando esses arquivos forem alterados. Impedir commits de determinados tipos de arquivo, como PDFs, por meio de uma regra. Aplicar configurações de lint distintas aos pacotes de um monorepo.
- Como instalar lint-staged?
- Instale o lint-staged como dependência de desenvolvimento: npm install --save-dev lint-staged Configure o hook pre-commit do git para executar o lint-staged (Husky é uma opção popular) Configure o lint-staged no package.json ou em um arquivo de configuração; por exemplo, para executar o ESLint em arquivos JS Adicione alguns arquivos à área de preparação e execute git commit para iniciar as verificações: git commit
- Onde consigo lint-staged?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/lint-staged/lint-staged
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Black é um formatador determinístico e opinativo de código Python que reescreve arquivos no lugar e gera diffs mínimos.
Utilitário e biblioteca Python que organiza e agrupa automaticamente as instruções de importação.
Um framework para gerenciar e executar hooks de pre-commit em várias linguagens, que verificam o código antes de cada commit no Git.
Um linter extensível para ECMAScript/JavaScript que identifica padrões problemáticos no código e corrige muitos deles automaticamente.
Um linter de JavaScript/TypeScript sem configuração inicial, que envolve o ESLint com padrões rigorosos e opinativos e um estilo de código integrado.