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
VueプロジェクトをTypeScript7に対応させる- Side-by-Side戦略による一...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kouki.miura
August 31, 2026
Programming
27
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
32
Vue3_Capacitorでモバイルアプリ開発
koukimiura
0
33
Vueが軽く&速くなる!Vapor Modeを試してみた
koukimiura
0
39
Vue3.6.0-rc_CHANGELOG読み合わせ
koukimiura
0
38
医療DXって何?~電子カルテ標準仕様まで10分で理解する~
koukimiura
1
68
アプリ開発者が知っておくべき『トランザクション分離レベル』とRead Committed の罠
koukimiura
0
88
フルスタックTypeScript入門 ~Hono RPCとZodで実現する型共有~
koukimiura
0
66
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
160
ReactとVueは仲良くできるのか?
koukimiura
0
49
Other Decks in Programming
See All in Programming
高専キャリア LT 発表内容
crysta1221
6
5.2k
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
400
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.3k
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
480
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
130
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
170
信頼性の目標を誰も求めてない
shubox
0
440
React本体のコードリーディング
high_g_engineer
1
160
源内ハンズオン概要編
hideg
0
230
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
190
[PyCon KR 2026] More Variants, More Diversity for AI Accelerators
achimnol
0
130
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
280
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.5k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
300
Building Adaptive Systems
keathley
44
3.2k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
WENDY [Excerpt]
tessaabrams
12
39k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
We Are The Robots
honzajavorek
0
320
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
510
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
560
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
A Tale of Four Properties
chriscoyier
163
24k
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
ご清聴ありがとうございました。