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
vue-tsc x TypeScript7
Search
kouki.miura
October 29, 2026
Programming
17
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
vue-tsc x TypeScript7
vue-tsc と TypeScript7の問題点と、今できる3つの対応策、typescript-native-bridgeについてのLT発表資料です。
kouki.miura
October 29, 2026
More Decks by kouki.miura
See All by kouki.miura
SFCで実現する病院・医療システムの動的組み立て式UI
koukimiura
1
130
診療情報提供書 × HL7 FHIR ~医療情報の標準化を実際に実装してみる~
koukimiura
0
91
VueプロジェクトをTypeScript7に対応させる- Side-by-Side戦略による一部高速化 -
koukimiura
0
260
VueSapporo#4
koukimiura
0
49
Vue3_Capacitorでモバイルアプリ開発
koukimiura
0
56
Vueが軽く&速くなる!Vapor Modeを試してみた
koukimiura
0
100
Vue3.6.0-rc_CHANGELOG読み合わせ
koukimiura
0
64
医療DXって何?~電子カルテ標準仕様まで10分で理解する~
koukimiura
1
130
アプリ開発者が知っておくべき『トランザクション分離レベル』とRead Committed の罠
koukimiura
0
130
Other Decks in Programming
See All in Programming
[2026-10-09]一枚の布で作らなくてもいい。 信頼性は「パッチワーク」で紡がれる~既存の運用と新しい可能性をつなぎ合わせてきたCREの話~
tosite
0
110
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
1.3k
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
600
Inertia Rails: The One-Person Framework with React & Friends
skryukov
0
130
Vue Fes Japan の “作る側”に関わってみて
naokihaba
1
190
contenteditable と日本語入力に向き合う
colorful12
0
220
Railsバージョンを4倍にした話
optim
0
780
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
12
4.7k
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
200
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
3
570
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
850
Featured
See All Featured
Accessibility Awareness
sabderemane
1
260
Reality Check: Gamification 10 Years Later
codingconduct
0
2.4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
BBQ
matthewcrist
90
10k
We Are The Robots
honzajavorek
0
410
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
740
RailsConf 2023
tenderlove
30
1.6k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
280
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Transcript
2026.10.28 / VueSapporo#5 vue-tsc が TypeScript 7 で動かない! - 3つの解決策と
typescript-native-bridge の仕組み - 三浦 恒樹(MIURA KOUKI)/ 医療ITエンジニア
自己紹介 - 医療ITエンジニア / 診療情報管理士 / 上級医療情報技師 / 医用画像情報専門技師 TypeScript
/ Vue.js / Node.js / Java / C# / PHP 2026.10~ フクダ電子株式会社に所属 - 3兄弟の父、休日は習い事の送り迎えとか... - 参加している勉強会 札幌PHP勉強会 ゆるWeb勉強会 JBUG札幌 JavaDO えびてく クラメソ札幌IT勉強会(仮) AWS初心者LT会in札幌 札幌すごいAI会 札幌IT石狩鍋 hokkaido.js 函館本線沿線勉強会 JPUG-Ezo VueSapporo さっぽろ医療IT勉強会 ※運営 - コーディングBGM ラックライフ BLUE ENCOUNT SHANK Dizzy Sun Fist - Naru, 名前を呼ぶよ, 初めの一歩, 変わらない空 - Survivor, ポラリス
話すこと 01 02 03 Vue + TypeScript 7 問題 3つの解決策
TNB の仕組み vue-tsc が動かなくなる理由 現時点で取れる選択肢 typescript-native-bridge
TypeScript 7 がリリースされた 2026.07.08 正式リリース(GA)― コンパイラが Go 製の tsgo に
10x 高速化される処理 Parsing Type checking Emit Language Server faster native port of TypeScript 出典:TypeScript 7.0 公式ブログ ・ TypeScript 6.0 が JavaScript 製コンパイラ最後のメジャーリリース ・ CI の型チェック待ちが一気に短くなる…はずだった
Vue プロジェクトで上げてみると… TypeScript を 7 系に更新して、いつも通り型チェック { やったこと "devDependencies": {
"typescript": "^7.0.2", "vue-tsc": "^3.3.11" } ・ typescript を 7 系に更新 ・ vue-tsc は最新(3.3.11) ・ pnpm で型チェックを実行 } 型チェックが 実行すらできない $ pnpm exec vue-tsc -b --noEmit ERR_PACKAGE_PATH_NOT_EXPORTED Package subpath './lib/tsc' is not defined by "exports" in node_modules/typescript/package.json
vue-tsc はなぜ動かないのか TypeScript とツールの「境界」の問題 TypeScript 7.0 は、まだ安定した Programmatic API を提供していない
普通の TypeScript プロジェクト Vue プロジェクト(vue-tsc) .vue tsc Vue Language Tools(Volar) Virtual TypeScript TypeScript 7 これで済む TypeScript Programmatic API vue-tsc は TypeScript を「プログラムから利用」している
Microsoft の公式見解 TypeScript 7.0 のリリースアナウンスより Vue / Svelte / Astro
は、当面 TypeScript 6 のままで 今後の予定 Vue 側の対応 安定した Programmatic API は vuejs/language-tools #5381 TypeScript 7.1 で提供予定 で対応を追跡中 7.1 まで待つしかない? いえ、3つの解決策があります
解決策① TS6 互換パッケージで振り分ける Microsoft 公式の Side-by-Side(TypeScript 6 と 7 の共存)
メリット vue-tsc tsc・その他 TypeScript 6 ・ Microsoft 公式の方法 @typescript/typescript6 ・ tsc は TypeScript 7 で高速化 TypeScript 7 typescript@7(tsgo) 導入のポイント ・ .vue の型チェックは TS6 のまま ・ 2つのバージョンを並べて管理
解決策② 次世代統合ツールチェーン Vize Rust 製の Vue.js ツールチェーン(作者:ubugeeei さん) メリット ・
Rust 製で高速 $ pnpm add -D vize $ pnpm exec vize build $ pnpm exec vize fmt $ pnpm exec vize lint $ pnpm exec vize check # インストール # SFC コンパイル # フォーマット ・ ビルド・Lint・型チェックを 1つのツールに統合 # Lint # 型チェック 導入のポイント ・ 活発に開発が進行中(0.x) ・ lint や check から小さく試せる
解決策③ typescript-native-bridge(TNB) TypeScript 7 へのブリッジ(作者:johnsoncodehk さん / Volar の作者) メリット
typescript パッケージを ・ vue-tsc・ESLint・CI はそのまま ・ .vue の型チェックも tsgo で 差し替えるだけ 導入のポイント typescript typescript-native-bridge ・ TypeScript のフォークとして配布 ・ 公式 API(TS 7.1)までのつなぎ
TNB の仕組み TypeScript 7 のラッパー:TS6 の API を実装し、処理を tsgo に委譲
TypeScript 6 まで typescript-native-bridge vue-tsc vue-tsc(そのまま) TypeScript API(createProgram など) TS6 互換 API(JavaScript) 型チェッカー(JavaScript 実装) ネイティブブリッジ(cgo・プロセス内) JavaScript tsgo(Go) 外側は TS6 の API のまま、型チェックの中身だけを tsgo に委譲(IPC なし)
導入は pnpm-workspace.yaml だけ overrides でリポジトリ全体の typescript を差し替える # pnpm-workspace.yaml overrides:
typescript: npm:typescript-native-bridge@<version> ポイント ・ vue-tsc も ESLint の parser も 自動で TNB を使う ・ catalog: を使っている場合は catalog 側も書き換える $ pnpm install $ pnpm exec vue-tsc -b --noEmit ・ 実行時に「TNB ACTIVE」と 表示されれば OK
create-vue でも選べる! npm create vue@latest の実験的機能に typescript-native-bridge が登場 ポイント ・
create-vue 3.24.0 で確認 ・ Experimental features から選択できる ・ 新規プロジェクトなら 最初から TNB で開始 ・ pnpm なら pnpm create vue@latest
まとめ 目的に合わせて選べる3つの選択肢 ① TS6 互換パッケージ ② Vize ③ TNB ・
公式の方法で TS7 を ・ Vue のツールチェーン全体を ・ 今の vue-tsc の構成のまま 取り入れたい ・ tsc は TS7、vue-tsc は TS6 で共存させたい Rust で高速化したい ・ ビルド・Lint・型チェックを まとめて扱いたい 型チェックを速くしたい ・ .vue の型チェックも tsgo で回したい 本命は TypeScript 7.1 の公式 API ― それまでは目的に合わせて選ぼう
ご清聴ありがとうございました。