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プロジェクトをTypeScript7に対応させる- Side-by-Side戦略による一...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kouki.miura
August 31, 2026
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VueプロジェクトをTypeScript7に対応させる- Side-by-Side戦略による一部高速化 -
TypeScript7をVueプロジェクトで使いたいけどどうすれば良いか?一部だけでも使えないか?というLT発表の資料です。
kouki.miura
August 31, 2026
More Decks by kouki.miura
See All by kouki.miura
VueSapporo#4
koukimiura
0
36
Vue3_Capacitorでモバイルアプリ開発
koukimiura
0
41
Vueが軽く&速くなる!Vapor Modeを試してみた
koukimiura
0
54
Vue3.6.0-rc_CHANGELOG読み合わせ
koukimiura
0
46
医療DXって何?~電子カルテ標準仕様まで10分で理解する~
koukimiura
1
89
アプリ開発者が知っておくべき『トランザクション分離レベル』とRead Committed の罠
koukimiura
0
110
フルスタックTypeScript入門 ~Hono RPCとZodで実現する型共有~
koukimiura
0
75
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
180
ReactとVueは仲良くできるのか?
koukimiura
0
53
Other Decks in Programming
See All in Programming
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.8k
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
160
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
190
Building an Out-of-Order CPU
latte72
1
790
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
380
setup-vp GitLab対応の裏側
naokihaba
0
110
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
220
アクセシビリティから考える情報設計
high_g_engineer
0
380
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
250
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
350
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
160
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
330
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Skip the Path - Find Your Career Trail
mkilby
1
230
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
680
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
500
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
Done Done
chrislema
186
16k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
380
Transcript
2026.08.31 / 【非公式】Vue Fes Japan 2026 機運醸成勉強会 by hokkaido.js VueプロジェクトをTypeScript7に対応させる
- Side-by-Side戦略による一部高速化 - 三浦 恒樹 (MIURA KOUKI) / 医療ITエンジニア
自己紹介 - ドゥウェル株式会社 に所属(マネージャー) 医療ITエンジニア / 診療情報管理士 / 上級医療情報技師 /
医用画像情報専門技師 TypeScript / Vue.js / Node.js / Java / C# / PHP - 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 TypeScript 7とは何か Vueで何が起きたか Side-by-Sideで共存させる Goで書き直されたNative Compiler
vue-tscが動かなくなる理由 変えられるところから変える
今日話したいこと TypeScript 7、速いらしい。 Vueプロジェクトも TypeScript 7に上げればいいのでは? なぜ? 実際にやってみると…… ERR_PACKAGE_PATH_NOT_EXPORTED そして、どうする?
TypeScript 7とは? 「TypeScriptの高速化」ではなく「TypeScriptの実装基盤の変更」 TypeScript 6.0 まで TypeScript 7 TypeScript compiler
Compiler Language Service Language Service JavaScript implementation Native implementation JavaScript Go TypeScript 7 は Go で実装された Native TypeScript compiler / language service
どれくらい速い? TypeScript公式ブログでの説明 高速化される処理 10x faster native port of TypeScript 出典:TypeScript
7.0 公式ブログ • 実際には処理によって差がある(すべてが10倍になるわけではない) • 大規模プロジェクトほど恩恵を受けやすい Parsing Type checking Emit Language Server
ただし、Vueには問題がある TypeScript 7 は、まだ安定した Programmatic API を提供していない 普通のTypeScriptプロジェクト Vueプロジェクト .vue
tsc Vue Language Tools Virtual TypeScript TypeScript 7 TypeScript これで済む Vue toolingがTypeScript compilerを 「プログラムから利用」している
実際にTypeScript 7へ上げてみる { "devDependencies": { "typescript": "^7.0.2", "vue-tsc": "^3.3.11" }
} $ pnpm type-check すると…… やったこと • typescript を 7系に更新 • vue-tsc は最新(3.3.11) • 型チェックを実行
ERROR Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: ポイント Package subpath './lib/tsc' is not defined
by "exports" in .../typescript/package.json 型チェックで エラーになった のではない スタックトレースには… そもそも起動していない resolveExports › resolveTscPath › vue-tsc/index.js
何が起きているのか? vue-tsc は単純に tsc を実行しているわけではない vue-tsc がやっていること 1 .vue を解析する
2 Virtual TS code を生成する 3 TypeScript compiler を利用する TypeScript API TypeScript 7 では typescript/lib/tsc のような内部実装への依存が、そのま ま成立しない vue-tsc TypeScript 7 ERR_PACKAGE_PATH_NOT_EXPORTED
ここでTypeScript公式の戦略を見る TypeScript 7 に用意された移行戦略 Side-by-Side TypeScript 7 + TypeScript 6
2つのTypeScriptを、同時にインストールして使い分ける
なぜ2つ必要なのか? 役割分担で考える TypeScript 7 TypeScript 6 tsc tsc 高速な Native
Compiler 既存の Programmatic API コンパイル・型チェックを速く ツールがAPI経由で使う Compilerとしては 7 を使いたい。 でも、まだ 6 のAPIに依存するツールがある。 この状態を、公式にサポートする
npm alias による Dual Install TypeScript公式の例 { "devDependencies": { "@typescript/native":
"npm:typescript@^7.0.2", "typescript": "npm:@typescript/typescript6@^6.0.2" } こう解決される @typescript/native } TypeScript 7 → tsc typescript npm alias を使って、パッケージ名と中身をずらす。 TypeScript 6 → tsc6 「typescript」という名前で 6 を、別名で 7 をインストールする。 2つのTypeScriptを別名で共存させる
Vueの場合はどうする? ここが今回の本題 Vue Language Tools 側も、この問題に対応している TypeScript 7 + @typescript/typescript6
を前提とした Dual-Install 対応が進められている PR #6123 vuejs/language-tools github.com/vuejs/language-tools/pull/6123
Vue Language Tools の Dual-Install Vue Project vue-tsc tsc TypeScript
6 API TypeScript 7 Vue Language Tools Native Compiler 型チェックはこちら ここが速くなる 「全部 TypeScript 7 にする」のではなく、「TypeScript 7 を使えるところから使う」
Side-by-Sideの本質 単なる「一時的な回避策」ではない TypeScript 7 は 大きなアーキテクチャ変更 TypeScript 7 Compiler 直接利用できるツール
7 Language Service 6 API に依存するツール 6 Programmatic API → 段階的な移行が可能になる アーキテクチャが変わったからこそ、共存が「公式の移行パス」になっている
では、何が高速化される? Vueプロジェクト全体が 「全部 10x faster!」になるわけではない TypeScript 7 を利用できる経路から、 段階的に高速化する。 Vue
project vue-tsc Vue Language Tools → TS 6 API そのまま tsc TypeScript 7 → Native Compiler 高速化 other tooling TS 6 / TS 7 ツール次第 ※ vue-tsc 経由の型チェックは TypeScript 6 のままなので、そこは速くならない
今回のエラーから学べること 「vue-tscが古い」で終わらせない TypeScript 7 Vue は SFC を扱う Vue SFC
API境界が変わった Vue Language Tools Toolingが内部APIに依存していた Virtual TypeScript TypeScript Vue Language Toolsとの互換性問題 「TypeScriptそのもの」だけでは完結しない Tooling Architecture になっている コンパイラと Tooling の依存関係を見るきっかけになる
まとめ TypeScript 7 しかし そこで • GoベースのNative Compiler • •
Side-by-Side(6と7の共存) • 大幅なパフォーマンス改善 安定したProgrammatic APIがま だない • npm aliasによるDual Install • Vue Language Toolsは compiler APIを使う • Vue Language Toolsも対応中 • 単純な「7への置き換え」では動かな い • Compiler / Language Service の刷新 TypeScript 7 と TypeScript 6 を共存させる TypeScript 7 + TypeScript 6
References 1 TypeScript 7.0 devblogs.microsoft.com/typescript/announcing-typescript-7-0/ 2 Running Side-by-Side with TypeScript
6.0 devblogs.microsoft.com/typescript/announcing-typescript-7-0/#running-side-by-side-with-typescript-6.0 3 Vue Language Tools #6123 github.com/vuejs/language-tools/pull/6123 4 Vue Language Tools CHANGELOG github.com/vuejs/language-tools/blob/master/CHANGELOG.md
ご清聴ありがとうございました。