Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
最近の推しリンター、Oxlintをご紹介
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryuya Yanagi
February 25, 2026
Technology
590
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
22
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
180
forwardRef を禁止したくて Biome に PR を出した話
apple_yagi
0
170
PR_TIMESにおけるFastlyの導入と運用について.pptx.pdf
apple_yagi
1
74
PR TIMESにおけるNext.jsとcacheの付き合い方
apple_yagi
4
3.2k
開発速度を上げつつ品質を保つためのフロントエンド開発
apple_yagi
1
990
Other Decks in Technology
See All in Technology
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
490
キャリアLT会#3
beli68
2
230
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
450
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
2
610
CDKで書くECSのベストプラクティス、 改めて考え直す2026 #cdkconf2026
makies
3
930
Playwright × AI Agent でE2Eテストはどう変わるか AI駆動テストの可能性と実用検証の結果
taiga7543
2
790
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
1
1.1k
プロダクト開発組織の現在地(Ver.2026/07) / product-organization
kaonavi
0
390
AI工学特論: MLOps・継続的評価
asei
4
920
【公開用】AI_Dev_Ex2026_AI_登壇資料
matsuritechnologies
PRO
1
470
伝票作成AIエージェントを支える、LLMOpsとインフラの選択肢 / AICon2026_takeda
rakus_dev
0
260
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
410
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
520
The Mindset for Success: Future Career Progression
greggifford
PRO
0
430
Chasing Engaging Ingredients in Design
codingconduct
0
240
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
660
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
220
Color Theory Basics | Prateek | Gurzu
gurzu
0
390
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
Site-Speed That Sticks
csswizardry
13
1.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
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