Repolode
xojs

xojs/xo

厳選された厳格なデフォルト設定と組み込みのコードスタイルを備え、ESLintをラップしたゼロ設定のJavaScript/TypeScriptリンターです。

スター
7,995
フォーク
309
未解決の Issue
3
最終コミット
2 か月前

これは何?

XOは、厳選されたデフォルト設定でESLintをラップする、JavaScriptおよびTypeScript向けのコマンドラインリンターです。プロジェクトで実行するだけで、ファイルパスを列挙したりESLintの設定を書いたりすることなく、JS、TS、各種フレームワークのファイルに加えて、HTML、Markdown、JSON、CSSも lint できます。プルリクエストでコードスタイルについて議論するのをやめ、ツールに一貫したルールを適用させたいチームを想定しています。

デフォルトのスタイルはタブインデント、セミコロン、シングルクォート、末尾カンマを使い、フラグでスペースインデントやセミコロンなしのスタイルに切り替えられます。unicorn、import-x、ava、nなど、同梱のESLintプラグインが追加のチェックを行います。設定はESLintのflat config形式に従うxo.config.jsまたはxo.config.tsファイルでカスタマイズできます。実行間で結果がキャッシュされ、`--fix`を指定すると自動修正が適用されます。

XOを使うには、プロジェクトがES modulesを使用している必要があります。Astro、React、Svelte、Vue向けのフレームワーク固有のlint機能は、別途ESLintプラグインを追加して利用できます。また、オプションのPrettierモードでは、コードを整形するか、競合するルールを無効化できます。

主な機能

  • 01JS、TS、HTML、Markdown、JSON、CSSファイルを設定なしでlintできます。
  • 02TypeScriptを標準サポートし、unicornやimport-xなどのESLintプラグインが同梱されています。
  • 03`--fix`で自動修正し、`--open`でエラーのあるファイルをエディターで開けます。
  • 04ルール設定を変更せずに、インデントやセミコロンのスタイルを簡単に切り替えられます。
  • 05オプションでPrettierによる整形、またはPrettierと競合するルールを無効にする互換モードを利用できます。
  • 06eslint-suppressions.jsonファイルを使った一括抑制に対応しています。

ユースケース

  • ESLintの設定を書かずに、チーム全体で一貫したコードスタイルを適用する。
  • 単一のコマンドで、新しいJavaScriptまたはTypeScriptプロジェクトにリンターを導入する。
  • フレームワーク固有のプラグインを追加して、Vue、Svelte、Astro、Reactのコードベースをlintする。
  • 抑制機能を使って、大規模な既存コードベースに厳格なルールを段階的に導入する。

クイックスタート

  1. 1

    XOをプロジェクトにローカルインストールする

    npm install xo --save-dev
  2. 2

    XOを実行してプロジェクトをlintする

    npx xo

使う前に知っておきたいこと

  • XOを使うには、プロジェクトがESMである必要があります。
  • XOはESLintのラッパーです。組み込みルールに関する問題はESLintプロジェクトに報告してください。
  • 特に設定しない限り、タブ、シングルクォート、セミコロンを使う、独自のスタイルを採用しています。

収録されている特集

トピック

よくある質問

xo とは?
厳選された厳格なデフォルト設定と組み込みのコードスタイルを備え、ESLintをラップしたゼロ設定のJavaScript/TypeScriptリンターです。 XOは、厳選されたデフォルト設定でESLintをラップする、JavaScriptおよびTypeScript向けのコマンドラインリンターです。プロジェクトで実行するだけで、ファイルパスを列挙したりESLintの設定を書いたりすることなく、JS、TS、各種フレームワークのファイルに加えて、HTML、Markdown、JSON、CSSも lint できます。プルリクエストでコードスタイルについて議論するのをやめ、ツールに一貫したルールを適用させたいチームを想定しています。
xo は無料で使えますか?ライセンスは?
xo は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
xo は今もメンテナンスされていますか?
半年以内に更新あり。xo の最終コミットは 2026年9月18日 です。
xo は何に使えますか?
ESLintの設定を書かずに、チーム全体で一貫したコードスタイルを適用する。 単一のコマンドで、新しいJavaScriptまたはTypeScriptプロジェクトにリンターを導入する。 フレームワーク固有のプラグインを追加して、Vue、Svelte、Astro、Reactのコードベースをlintする。 抑制機能を使って、大規模な既存コードベースに厳格なルールを段階的に導入する。
xo のインストール方法は?
XOをプロジェクトにローカルインストールする: npm install xo --save-dev XOを実行してプロジェクトをlintする: npx xo
xo はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/xojs/xo

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト