Repolode
xojs

xojs/xo

Un linter de JavaScript y TypeScript sin configuración que integra ESLint con valores predeterminados estrictos y un estilo de código integrado.

Estrellas
7,996
Forks
308
Issues abiertos
3
Último commit
hace 2 meses

¿Qué es?

XO es un linter de línea de comandos para JavaScript y TypeScript que integra ESLint con un conjunto de valores predeterminados predefinidos. Al ejecutarlo en un proyecto, analiza archivos JS, TS y de frameworks, además de HTML, Markdown, JSON y CSS, sin necesidad de indicar rutas de archivos ni escribir una configuración de ESLint. Está pensado para equipos que quieren dejar de debatir sobre el estilo del código en las pull requests y permitir que la herramienta aplique un conjunto coherente de reglas.

El estilo predeterminado usa tabulaciones para la indentación, punto y coma, comillas simples y comas finales; se puede cambiar a espacios o a un estilo sin punto y coma mediante flags. Los plugins de ESLint incluidos, como unicorn, import-x, ava y n, añaden más comprobaciones. La configuración se puede personalizar en un archivo xo.config.js o xo.config.ts, que sigue el formato de configuración flat de ESLint. Los resultados se guardan en caché entre ejecuciones y `--fix` aplica correcciones automáticas.

XO requiere que el proyecto use ES modules. El linting específico para Astro, React, Svelte y Vue se añade mediante plugins de ESLint independientes, y un modo opcional de Prettier permite dar formato al código o desactivar las reglas incompatibles.

Funciones clave

  • 01Linting sin configuración de archivos JS, TS, HTML, Markdown, JSON y CSS.
  • 02Compatibilidad integrada con TypeScript y plugins de ESLint incluidos, como unicorn e import-x.
  • 03Corrección automática con `--fix` y apertura en un editor de los archivos con errores mediante `--open`.
  • 04Opciones sencillas de estilo para la indentación y el uso de punto y coma, sin modificar la configuración de reglas.
  • 05Formato opcional con Prettier o un modo de compatibilidad que desactiva las reglas en conflicto con Prettier.
  • 06Compatibilidad con la supresión masiva mediante un archivo eslint-suppressions.json.

Casos de uso

  • Aplicar un estilo de código coherente en todo un equipo sin escribir una configuración de ESLint.
  • Añadir un linter a un proyecto nuevo de JavaScript o TypeScript con un solo comando.
  • Analizar bases de código de Vue, Svelte, Astro o React añadiendo plugins específicos para cada framework.
  • Adoptar gradualmente reglas más estrictas en una base de código grande ya existente mediante supresiones.

Inicio rápido

  1. 1

    Instala XO localmente en tu proyecto

    npm install xo --save-dev
  2. 2

    Ejecuta XO para analizar tu proyecto

    npx xo

Antes de usarlo

  • XO requiere que tu proyecto sea ESM.
  • Es una capa sobre ESLint, así que los problemas con las reglas integradas deben comunicarse al proyecto ESLint.
  • Sigue un estilo de código propio: usa tabulaciones, comillas simples y punto y coma de forma predeterminada, salvo que lo configures de otro modo.

En colecciones

Temas

Preguntas frecuentes

¿Qué es xo?
Un linter de JavaScript y TypeScript sin configuración que integra ESLint con valores predeterminados estrictos y un estilo de código integrado. XO es un linter de línea de comandos para JavaScript y TypeScript que integra ESLint con un conjunto de valores predeterminados predefinidos. Al ejecutarlo en un proyecto, analiza archivos JS, TS y de frameworks, además de HTML, Markdown, JSON y CSS, sin necesidad de indicar rutas de archivos ni escribir una configuración de ESLint. Está pensado para equipos que quieren dejar de debatir sobre el estilo del código en las pull requests y permitir que la herramienta aplique un conjunto coherente de reglas.
¿xo es gratuito? ¿Qué licencia tiene?
xo es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿xo sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de xo fue el 18 sept 2026.
¿Para qué puedo usar xo?
Aplicar un estilo de código coherente en todo un equipo sin escribir una configuración de ESLint. Añadir un linter a un proyecto nuevo de JavaScript o TypeScript con un solo comando. Analizar bases de código de Vue, Svelte, Astro o React añadiendo plugins específicos para cada framework. Adoptar gradualmente reglas más estrictas en una base de código grande ya existente mediante supresiones.
¿Cómo se instala xo?
Instala XO localmente en tu proyecto: npm install xo --save-dev Ejecuta XO para analizar tu proyecto: npx xo
¿Dónde consigo xo?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/xojs/xo

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados