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
Baseline対応のDOMの型定義を作った
Search
uhyo
July 07, 2026
Technology
1k
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
Reactの設計論
uhyo
26
17k
型があると何が嬉しいか
uhyo
3
160
AIのReact習熟度を測る
uhyo
2
1.1k
React、まだ楽しくて草
uhyo
7
5.2k
TypeScript 7.0の現在地と備え方
uhyo
6
3.9k
React 19時代のコンポーネント設計ベストプラクティス
uhyo
20
11k
型定義でAIと会話する:型を通じてAIに意図を伝えるテクニック
uhyo
1
120
タグ付きユニオン型を便利に使うテクニックとその注意点
uhyo
3
1.2k
ECMAScript仕様の最新動向: プロセスの変化と仕様のトレンド
uhyo
3
990
Other Decks in Technology
See All in Technology
[AWS 秋のクラウドオペレーション祭り 2026]AWS DevOps Agentで変わるリリースと運用対応 ~リリース管理機能と Directed actions のご紹介~
furuton
4
1.2k
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
730
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
640
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
210
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.5k
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
710
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
890
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
490
Refining Active Record
shugo
0
110
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
110
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
710
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
320
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
550
Exploring anti-patterns in Rails
aemeredith
4
540
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
560
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
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