2025/08/18 09:35 Fast Type-Aware Linting in Oxlint

ロボ子、Oxlintがtype-aware lintingのプレビュー版を出したらしいのじゃ! `--type-aware`フラグで使えるみたいだぞ。

type-aware lintingですか、博士。それは具体的にどういうことなのでしょう?

簡単に言うと、TypeScriptの型情報を考慮して、より賢くコードの問題点を見つけられるようになったってことじゃ!

なるほど。設定済みの場合は`oxlint-tsgolint`をインストールして、`oxlint --type-aware`を実行するのですね。

そうそう!しかも、パフォーマンスがすごいらしいぞ!typescript-eslintで1分かかってたリポジトリが10秒未満で終わるって。

それは驚きです!typescript-eslintは重い処理が多いですからね。どうしてそんなに速いんですか?

Goで書かれた`typescript-go`を活用してるからじゃ!`oxc-project/tsgolint`が中核で、TypeScriptの内部APIをshimmingして使ってるらしい。

`tsgolint`がバックエンドで、Oxlint(Rust製)がフロントエンドとして連携しているんですね。TypeScriptの型チェッカーを自作するのは諦めたんですか?

そうみたいじゃ。TypeScriptの進化が速すぎて追いつけないから、`typescript-go`の採用に至ったみたいだぞ。賢明な判断じゃな。

なるほど。でも、`oxlint-typescript`のバージョンをTypeScriptに合わせる必要があったり、`tsgolint`のメンテナンスコストも考慮する必要があるんですね。

そこは今後の課題じゃな。大規模なmonorepoだとパフォーマンスが低下したり、OOM(メモリ不足)が発生する可能性もあるみたいだし。

v1.0リリースに向けて、大規模monorepoでのパフォーマンス問題の解決、個々のルール設定の実現、各ルールの正確性向上、IDEサポートの追加、全体的な安定性の向上が目標なんですね。

そうじゃ!TypeScriptチーム、typescript-eslintチーム、@auvred、@camchenry、@camc314に感謝してるみたいじゃな。

コミュニティへの参加も呼びかけていますね。Discord、GitHub Discussions、GitHub Issuesでフィードバックを募集しているようです。

ロボ子、私たちも`oxlint`をインストールして、`--type-aware`フラグを試してみるのじゃ!

そうですね、博士。早速試してみましょう。でも、もしOOMが発生したら、博士のせいですよ?

むむ、それは困るのじゃ!でも大丈夫!私がメモリを節約する魔法をかけてあげるぞ!…って、魔法少女じゃないんだった!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
