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
Baseline対応のDOMの型定義を作った
Search
uhyo
July 07, 2026
Technology
800
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Baseline対応のDOMの型定義を作った
2026-07-08 Nihonbashi.js #11
uhyo
July 07, 2026
More Decks by uhyo
See All by uhyo
型があると何が嬉しいか
uhyo
2
41
AIのReact習熟度を測る
uhyo
2
870
React、まだ楽しくて草
uhyo
7
4.7k
TypeScript 7.0の現在地と備え方
uhyo
6
3.6k
React 19時代のコンポーネント設計ベストプラクティス
uhyo
20
10k
型定義でAIと会話する:型を通じてAIに意図を伝えるテクニック
uhyo
1
98
タグ付きユニオン型を便利に使うテクニックとその注意点
uhyo
3
1.1k
ECMAScript仕様の最新動向: プロセスの変化と仕様のトレンド
uhyo
3
930
TypeScript 6.0で非推奨化されるオプションたち
uhyo
18
8.4k
Other Decks in Technology
See All in Technology
AIエージェントがあれば技術書なんてすぐ書けるでしょ→無理でした
watany
6
1k
歴史から理解するクラウドインフラのしくみ
kizawa2020
0
180
オートマトンと字句解析でRoslynを読む
tomokusaba
0
110
データエンジニアリングとドメイン駆動設計
masuda220
PRO
15
2.7k
セキュリティ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
27
21k
脱Jenkins、インターン生が挑んだCIツールGitHubActions移行
mixi_engineers
PRO
1
210
事業成長とAI活用を止めないデータ基盤アーキテクチャの設計思想
hiracky16
0
750
QA・ソフトウェアテスト研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
3
1.5k
インシデント事例と パッケージの全量解析に学ぶ ソフトウェアサプライチェーンの守り方 / supply-chain-attack-defense
flatt_security
0
1.2k
AI エージェント時代のデジタルアイデンティティ
fujie
0
740
AI工学特論: MLOps・継続的評価
asei
11
2.9k
AI研修(Day1)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
2.1k
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
270
First, design no harm
axbom
PRO
2
1.2k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
Into the Great Unknown - MozCon
thekraken
41
2.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
920
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
Baseline対応のDOMの 型定義を作った 2026-07-08 Nihonbashi.js #11
発表者紹介 uhyo 株式会社カオナビ フロントエンドエキスパート 実はTypeScriptに詳しい。 2
Baselineとは ウェブ機能を、ブラウザサポート状況によって 分類するもの Baseline Newly available = 全てのブラウザで利用可能 Baseline Widely
available = 全てのブラウザで利用可能 になってから30ヶ月が経過 3
固定ターゲット Baseline 2023 = 2023年までにNewly availableに なった機能 Baseline 2024, Baseline
2025, …… 4
開発でよくある推奨環境の決め方 •推奨環境: 各ブラウザの最新版 = Baseline Newly Available に対応 •より広くサポートしたい(大抵はiOS) =
Baseline Widely Available やBaseline 2024 などを使用 5
型チェックしたい 例: Baseline Widely Availableではない機能を 使おうとしたら型エラーになってほしい。 (eslint-plugin-baseline-jsもあるけど型情報が必要な野良プラグインは 今ちょっと辛い立ち位置) 6
@baseline-types/dom-widely-available TypeScript本体のLib Replacement機能を使用 して、DOMの型定義をBaseline Widely Available に合わせたライブラリを作りました。 7
導入方法 8 @baseline-types/dom-widely-availableを、 @typescript/lib-domという名前でインストール。
導入方法 9 tsconfig.jsonでlibReplacementを有効化。 これにより@typescript/lib-domが認識される ようになる。
結果 Newly Availableなメソッドを使うと型エラーが出 るようになった! 10
バリエーション @baseline-types/dom-widely-available @baseline-types/dom-newly-available @baseline-types/dom-2022 @baseline-types/dom-2023 @baseline-types/dom-2024 @baseline-types/dom-2025 11
バリエーション @baseline-types/dom-newly-available に変えると 型エラーが消えるぞ! 12
仕組み TypeScriptのTypeScript-DOM-Lib-Generatorを フォーク。 すでにあるもの: WebIDLから型定義を生成 作ったもの: 型をBaselineの情報を使ってフィルタ リングする仕組み https://github.com/uhyo/TypeScript-Baseline-Types 13
週1自動更新 毎週自動更新で最新のBaseline情報をお届け。 バージョン名に日付を含めたのでいつ時点の 情報か分かりやすい! 14
今後の展望 全部AIにやってもらったので若干フィルタリング 結果が怪しいときがある。引き続き調整します。 DOM以外(ECMAScript)のBaseline対応も したら面白そうだけど全然違う仕組みが必要に…… 15
まとめ @baseline-types/dom-widely-availableとかを 使って型でBaseline対応しよう! 16