Repolode
xojs

xojs/xo

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.

Estrelas
7,996
Forks
308
Issues abertas
3
Último commit
há 2 meses

O que é?

XO é um linter de linha de comando para JavaScript e TypeScript que envolve o ESLint com um conjunto de padrões opinativos. Ao executá-lo em um projeto, ele analisa arquivos JS, TS e de frameworks, além de HTML, Markdown, JSON e CSS, sem exigir que você liste os caminhos dos arquivos ou escreva uma configuração do ESLint. Ele é voltado a equipes que querem parar de discutir estilo de código em pull requests e deixar a ferramenta impor um conjunto consistente de regras.

O estilo padrão usa indentação com tabulações, ponto e vírgula, aspas simples e vírgulas finais, e pode ser alterado para espaços ou para um estilo sem ponto e vírgula usando flags. Plugins do ESLint incluídos, como unicorn, import-x, ava e n, adicionam outras verificações. As configurações podem ser personalizadas em um arquivo xo.config.js ou xo.config.ts, que segue o formato flat config do ESLint. Os resultados são armazenados em cache entre execuções, e `--fix` aplica correções automáticas.

O XO exige que o projeto use ES modules. A análise específica para Astro, React, Svelte e Vue é adicionada por meio de plugins separados do ESLint, e um modo opcional do Prettier formata o código ou desativa regras conflitantes.

Recursos principais

  • 01Análise sem configuração inicial de arquivos JS, TS, HTML, Markdown, JSON e CSS.
  • 02Suporte integrado a TypeScript e plugins do ESLint incluídos, como unicorn e import-x.
  • 03Correção automática com `--fix` e abertura, em um editor, de arquivos com erros usando `--open`.
  • 04Opções simples de estilo para indentação e ponto e vírgula, sem alterar a configuração das regras.
  • 05Formatação opcional com Prettier ou modo de compatibilidade que desativa regras conflitantes com o Prettier.
  • 06Suporte à supressão em massa por meio de um arquivo eslint-suppressions.json.

Casos de uso

  • Impor um estilo de código consistente em uma equipe sem escrever uma configuração do ESLint.
  • Adicionar um linter a um novo projeto JavaScript ou TypeScript com um único comando.
  • Analisar bases de código Vue, Svelte, Astro ou React com plugins específicos para cada framework.
  • Adotar gradualmente regras mais rigorosas em uma base de código grande já existente, usando supressões.

Início rápido

  1. 1

    Instale o XO localmente no seu projeto

    npm install xo --save-dev
  2. 2

    Execute o XO para analisar seu projeto

    npx xo

Antes de usar

  • O XO requer que seu projeto seja ESM.
  • Ele é um wrapper do ESLint; portanto, problemas com regras integradas devem ser reportados ao projeto ESLint.
  • O estilo de código é opinativo: por padrão, usa tabs, aspas simples e ponto e vírgula, a menos que seja configurado de outra forma.

Em coleções

Tópicos

Perguntas frequentes

O que é xo?
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. XO é um linter de linha de comando para JavaScript e TypeScript que envolve o ESLint com um conjunto de padrões opinativos. Ao executá-lo em um projeto, ele analisa arquivos JS, TS e de frameworks, além de HTML, Markdown, JSON e CSS, sem exigir que você liste os caminhos dos arquivos ou escreva uma configuração do ESLint. Ele é voltado a equipes que querem parar de discutir estilo de código em pull requests e deixar a ferramenta impor um conjunto consistente de regras.
xo é gratuito? Qual é a licença?
xo é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
xo ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de xo foi em 18 de set. de 2026.
Para que posso usar xo?
Impor um estilo de código consistente em uma equipe sem escrever uma configuração do ESLint. Adicionar um linter a um novo projeto JavaScript ou TypeScript com um único comando. Analisar bases de código Vue, Svelte, Astro ou React com plugins específicos para cada framework. Adotar gradualmente regras mais rigorosas em uma base de código grande já existente, usando supressões.
Como instalar xo?
Instale o XO localmente no seu projeto: npm install xo --save-dev Execute o XO para analisar seu projeto: npx xo
Onde consigo xo?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/xojs/xo

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados