Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
最近の推しリンター、Oxlintをご紹介
Search
Ryuya Yanagi
February 25, 2026
Technology
950
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
最近の推しリンター、Oxlintをご紹介
Ryuya Yanagi
February 25, 2026
More Decks by Ryuya Yanagi
See All by Ryuya Yanagi
XO から Oxlint に移行した話
apple_yagi
0
47
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
220
forwardRef を禁止したくて Biome に PR を出した話
apple_yagi
0
220
PR_TIMESにおけるFastlyの導入と運用について.pptx.pdf
apple_yagi
1
88
PR TIMESにおけるNext.jsとcacheの付き合い方
apple_yagi
4
6k
開発速度を上げつつ品質を保つためのフロントエンド開発
apple_yagi
1
1k
Other Decks in Technology
See All in Technology
こんにちは!SORACOM です & IoT とは【SORACOM UG 東北 in 八戸】
soracom
PRO
0
150
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
470
フィンテック養成勉強会#68
finengine
0
180
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
210
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
390
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
190
Optunaの最新リリースv5.0について
pfn
PRO
0
130
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
140
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
340
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
130
「エーアイ」をバズワードにしないために RPA 導入経験と Kiro 上での Claude モデル利用経験から
kazzpapa3
0
110
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Crafting Experiences
bethany
1
390
Amusing Abliteration
ianozsvald
1
350
GitHub's CSS Performance
jonrohan
1033
470k
Music & Morning Musume
bryan
48
7.4k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
580
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Believing is Seeing
oripsolob
1
250
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Transcript
最近の推しリンター Oxlintをご紹介 ツナギメオフライン ベンキョウカイ #5 やなぎ @apple_yagi
やなぎ PR TIMES フロントエンドエンジニア X:@apple_yagi セブンで売っているデカ豚ラーメンに ハマってます
AI がコードを書く時代になり、ガードレールとしてのリンターの重要性は増して いる リントルールの豊富さ、カスタム性の重要性 またガードレールとして機能するだけではなく、フィードバックの速さも重要 リントの実行時間が伸びるほど生産性が低下する そのため、品質を担保でき、かつ実行時間の短いリンターが必要とされている この2つを持ち合わせたリンターが Oxlint 昨今のリンターの重要性
Rust 製の JavaScript/TypeScript 向けリンター ドキュメント:https://oxc.rs/docs/guide/usage/linter.html Oxc という JavaScript/TypeScript 向けのツール群の1つ Oxlint
以外にも Oxfmt(Prettier 互換のフォーマッター)や、oxc-parser など がある Oxlint の内部で oxc_parser や oxc_allocator などを使用している Oxlintとは
実行速度 組み込みのプラグイン JS Plugins Type-Aware Linting 開発スピード Oxlint の推しポイント
実行速度 組み込みのプラグイン JS Plugins Type-Aware Linting 開発スピード Oxlint の推しポイント
ESLint の50~100倍、同じ Rust 製のリンターである Biome の約2倍速い https://github.com/oxc-project/bench-linter 手元検証(MacBook Pro M1
Max / 64GB): 個人プロジェクトで ESLint 約6秒 → Oxlint 約0.9秒(約6.7倍高速化) プロジェクトの規模が大きくなるほど倍率は上がっていく Oxlint のベンチマーク
実行速度 組み込みのプラグイン JS Plugins Type-Aware Linting 開発スピード Oxlint の推しポイント
690以上のルールが Rust で実装されている ESLint のコアルールや、 eslint-plugin- import 、 eslint-plugin-react 、
@next/eslint-plugin-next などよく使う プラグインのルールが実装されている Vue.js は script タグの部分のみ対応済みで、 Svelte などは今後対応予定 組み込みのプラグイン
.oxlintrc.json に以下のような設定を書くことで有効にできる { "$schema": "./node_modules/oxlint/configuration_schema.json", "plugins": [ "eslint", "import", "jsx-a11y",
"react", "react-perf", "typescript", "vitest" ], "rules": { "import/no-named-export": "off", "react/react-in-jsx-scope": "off", "import/prefer-default-export": "off" } } 組み込みのプラグインの使用例
ESLint だと eslint-plugin-react などを依存関係として追加する必要があるが Oxlint の場合はその必要がない 昨今のサプライチェーンアタックのリスク軽減になるかも これらのルールは Rust で記述されているため、実行速度は
ESLint プラグインよ りも高速に動作するメリットもある 組み込みプラグインのメリット
実行速度 組み込みのプラグイン JS Plugins Type-Aware Linting 開発スピード Oxlint の推しポイント
JavaScript で記述されたプラグイン、カスタムルールを実行する機能(Technical preview) Oxlint のプラグインAPIは ESLint v9 以上と互換性があるので既存の ESLint プ
ラグインがほぼ動く TypeScript の型情報が必要な場合や、Svelte、Vue などのファイルは動かな い 対応状況:https://github.com/oxc-project/oxc/discussions/14862 JavaScript でプラグインを書いても Rust <-> JavaScript 間のオーバーヘッドが少 なくなるように設計されている https://github.com/oxc-project/oxc/issues/2409 JS Plugins とは
@tanstack/eslint-plugin-query を使用する例 { "$schema": "./node_modules/oxlint/configuration_schema.json", "jsPlugins": ["@tanstack/eslint-plugin-query"], "rules": { //
現状 recommended などの preset を一括で有効にすることはできないので1つずつ指定する必要がある "@tanstack/query/exhaustive-deps": "error", "@tanstack/query/no-rest-destructuring": "warn", "@tanstack/query/stable-query-client": "error", "@tanstack/query/no-unstable-deps": "error", "@tanstack/query/infinite-query-property-order": "error", "@tanstack/query/no-void-query-fn": "error", "@tanstack/query/mutation-property-order": "error", }, } 既存のプラグインや、カスタムルールがそのまま動くため、ESLint からの移行がしや すい JS Plugins の使用例
npx @oxlint/migrate を実行することで既存の eslint config から oxlint config を 生成することができる
https://github.com/oxc-project/oxlint-migrate Oxlint でサポートされていないプラグイン、カスタムルールを使用する場合を想 定して ESLint との併用も考えられている https://github.com/oxc-project/eslint-plugin-oxlint ESLint からの移行パス
実行速度 組み込みのプラグイン JS Plugins Type-Aware Linting 開発スピード Oxlint の推しポイント
TypeScript の型情報を使用したリント機能のこと ESLint では typescript-eslint を使用することで機能するが、内部で TypeScript を使用しているため、速度が遅いという問題がある Oxlint では
typescript-go(tsgo)を使用した tsgolint を使用して、型情報を利用 したリントの高速化を行なっている(alpha) 実行コマンド: oxlint --type-aware tsgo はまだ型情報を取得するAPIを公開していないため、非公開のAPIを無 理やり使用して実装されている Type-Aware Linting とは
Biome にも Type-Aware Linting があるが TypeScript / tsgo を使用せず、独自に型 推論を行なっている
TypeScript コンパイラの挙動を完全に再現できてはいないが、 noFloatingPromises のルールでは85%ほどは網羅できているとのこと https://biomejs.dev/blog/biome-v2-1/#improved-type-inference Oxlint は tsgo の非公開APIを使用しているため、tsgo の変更に追従していけるの かどうかが問題になるが、Biome は自前で実装しているため、精度はやや劣るが 運用の安定性は高そう Biome の Type-Aware Linting との違い
実行速度 組み込みのプラグイン JS Plugins Type-Aware Linting 開発スピード Oxlint の推しポイント
週に1 ~ 2回マイナーバージョンが上がっており、直近1週間(2026/02/18〜 2026/02/24)でマージされた Pull Request は109個 VoidZero という会社が開発しており、フルタイムメンテナーの存在が大きい VoidZero
は Vue.js / Vite を開発したEvan Youさんが立ち上げた会社 またクォーターごとに何をやるのかが明確になっているため、今後追加・改善 される機能を先にキャッチアップできるのも嬉しい Plan for 2026 Q1 (Jan - Mar) 開発スピードの速さ
ESLint の50~100倍、同じ Rust 製のリンターである Biome の約2倍速い 組み込みのプラグインが多数実装されており、依存関係を追加しなくても様々な ルールを有効にできる JS Plugins
を使用することで既存の ESLint プラグインや、カスタムルールが動作 する tsgo を使用した Type-Aware Linting が実装されており、型情報を使用したリント ルールも高速に実行できる 毎週多くの新規のリントルールや機能が追加されている まとめ
宣伝
None