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
TypeScriptをv5からv7に アップデートした話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
satojin219
July 23, 2026
Technology
67
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TypeScriptをv5からv7に アップデートした話
satojin219
July 23, 2026
Other Decks in Technology
See All in Technology
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
390
My broken English still works: speaking at global OSS events
naruoga
0
100
SmartHR Engineering Team Deck
smarthr
1
2.1k
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
280
ブラウザ研修 2026
recruitengineers
PRO
6
1k
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
200
Flutterをカメラで動かしたかった話
sony
1
140
会社紹介資料 / Sansan Company Profile
sansan33
PRO
23
430k
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
270
サイバー捜査員研修(前半)
nomizone
1
2k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
290
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Visualization
eitanlees
152
17k
HDC tutorial
michielstock
2
790
Building AI with AI
inesmontani
PRO
1
1.1k
Building Adaptive Systems
keathley
44
3.2k
Navigating Weather and Climate Data
rabernat
0
470
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
YesSQL, Process and Tooling at Scale
rocio
174
15k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Transcript
TypeScriptをv5からv7に アップデートした話 いに TSKaigi Mashup #5 any
いに ピザと蕎麦が大好きな フロントエンドエンジニア
ついにきましたねtsgo!
今日はTypeScriptを v7に上げるまでにつまづいたことを話します
アジェンダ 1. 開発環境について 2. v5 → v6 3. v6 →
v7
chapter 1 開発環境について
ざっくりとした開発環境 npmでバージョン管理 TypeScript v5.2.2 Next.js ESlint jest
chapter 2 v5 → v6
baseUrl非推奨による副作用 ローカルのdevサーバーが壊れる 🤯 ts-nodeとtsconfig-pathsを使っていたが、tsconfig-pathsがbaseUrlを絶対 パスのベースとして扱う実装になっている。
baseUrl非推奨による副作用 なぜtsconfig-pathが必要? tscはpathsの@/components/*のようなパスエイリアスをコンパイル時の 型チェックにしか使わない 出力されるJSはエイリアスのまま... 実行時にモジュール解決をするのにtsconfig-pathが必要
baseUrl非推奨による副作用 ts-nodeからtsxに移行 tsxはtsconfigの解析にget-tsconfigを使うので、baseUrlがなくても動く tsxはesbuildeでTypeScriptをトランスパイルをして、実行時に型チェック をしないためts-nodeと比較して高速 🏃
moduleResolutionをbundlerに変えた影響 元々moudleResolutionにはnode10を使っていた node10はpackage.jsonのexportsフィールド非対応 古いライブラリにはサブパスにtypesフィールドがなかった node10では検知できなかったが、bundlerに変えてからエラーとして検知 できるようになった 🙆🏻♀️ ライブラリのバージョンアップによって解決
jsのlintでOOMが発生 ※これはTypeScriptのバージョンアップは関係ない話 8000ファイルのimport/orderが全て落ちていた eslint-import-resolver-typescriptがなくなっていた...
jsのlintでOOMが発生 eslint-import-resolver-typescriptはpackage.jsonに明記されておらず、 eslint-config-nextに依存していたので動いていた(幽霊依存) lock.jsonの再生成のタイミングでeslint-import-resolver-typescriptの依存 が消えてしまったのが原因 installをしてpackage.jsonに追加したら解決 💯
jsのlintでOOMが発生 import/no-extraneous-dependenciesでpackage.jsonにないimportを検知 できるが、あくまで対象はソースコード内 knipはESlintの設定ファイルから使用するプラグインがpackage.jsonに存 在するかまで検知してくれる ✂️ pnpmならこのような幽霊依存は防げる
chapter 3 v6 → v7
v6と並列で実行 今回のバージョンアップはCLIとしてのtscしか提供されていない TypeScript Compiler APIはまだ提供されていない Compiler APIに依存するtypescript-eslintはv7のままでは動かない... v6の互換性を担保した@typescript/typescript6が提供されている tscのみv7で実行できる
next buildの型チェック Next.jsのビルドは内部で型チェックを行うがv7は未対応 It looks like you're trying to use
TypeScript but do not have the required package(s) installed. ①ignoreBuildErrorsで型チェックを無効にし、tscで型チェックをする ②
[email protected]
のuseTypeScriptCliを使う 安定版を待つのが良さそう... 🤔
おしまい