🎉

TSKaigi2025にオフライン参加してきました!

に公開

こんにちは! anyの荒川です。
5/23(金)〜5/24(土)で開催されたTSKaigi2025、盛り上がりましたね!

弊社anyもシルバースポンサーとして参加させていただきました!👏
anyanyロゴシールを封入しました!

私も両日ともオフラインで参加したため、その参加記を最速で書き上げました!

最初に告知なのですが、弊社any、freeeさん、カミナシさんでTSKaigi2025のAfter Eventを開催します!弊社エンジニアもLTで登壇しますので、ぜひご参加くださいませ。

https://freee.connpass.com/event/351699/

Day1 感想

The New Powerful ESLint Config with Type Safety

発表者: Anthony Fuさん / NuxtLabs

https://2025.tskaigi.org/talks/antfu

NuxtLabs勤務で最前線のTypeScriptを取り巻く環境に精通されているAnthonyさんによる、ESLintの最新の話でした。

Flat Configの存在は知っていましたが、どんなメリットがあるかまで理解するには至っていませんでした。しかし、マイグレーションの仕組みやConfig Inspectorのような可視化ツールなど、非常に興味深い話題が多かったです。

ESLintをフォーマッタやCodemodなどの用途で活用されており、もはや一種のDSL、プログラミング言語なのでは?と思うほどの高い柔軟性に驚きました。

機械的にコードを生成するLLMコーディングの時代において、Linterの重要性はより増していくと考えているため、ESLintはこれからもエンジニアと共存していくものだろうと感じました。

スキーマと型で拓く Full-Stack TypeScript

発表者: Sohei Takenoさん / SANU

https://2025.tskaigi.org/talks/Altech_2015
https://speakerdeck.com/altech/tskaigi-2025

まず、冒頭の話のなかで触れられていた、フロントを100画面までノーコードツールで開発されていたということで驚きました🤯

そこからTypeScriptでフルスタックとして作り直したとのことで、バックエンドではGraphQLを活用したそうです。弊社もフルスタックTypeScriptでバックエンドがGraphQLなので、「わかる」と感じる話が非常に多かったです。

TypeScriptという観点では、スキーマ定義をすればcodegenでコード生成が可能なので、「どういうスキーマを定義するかが重要」という話には非常に共感を覚えました。

AI Coding Agent Enablement in TypeScript

発表者: Yuku Kotaniさん / Ubie株式会社

https://2025.tskaigi.org/talks/yukukotani
https://speakerdeck.com/yukukotani/ai-coding-agents-enablement-in-typescript

AIコーディング時代において「解空間を狭める」という概念は、実プロダクトへの適用を考える上で、さまざまな工夫をする中で共通した目標だなとうなずくばかりでした。 LLMのアーキテクチャ自体に言及し、Decodingの手法としてtop-Kなどではなく、プログラミング向けの手法であるxGrammarを採用する構想があるなどの取り組みも新鮮でした。

抽象度の高い話ながらも説得力が非常にあり、日々現場で試行錯誤されているのだという感覚を持ちました。

デザインシステムとMCPサーバを組み合わせてUI実装を爆速で実現された話は、Ubieさんのブースでもデモを出されており、最先端を追求し続けるUbieさんの技術力の高さを改めて実感しました。

TypeScriptとは何であって何でなく、誰のもので、どこへ向かうのか

発表者: Sosuke Suzukiさん / Ubie株式会社

https://2025.tskaigi.org/talks/__sosukesuzuki
https://zenn.dev/sosukesuzuki/articles/5146c84504445f

現在のJavaScript/TypeScriptのエコシステムが確立された流れから、特に型チェック(checker.ts)が与えた影響の大きさを強く感じました。checker.tsが2.97MBという非常に大きなファイルであることを知らず、それが本家(Microsoft)以外で抽象化した実装がなかなかできない温床にもなっていたのだと気づかされました。

ちょうどこの日にtsgoがリリースされ、TypeScriptの型チェックが高速化されることで、エコシステムに破壊的なイノベーションが起きてくるのだと実感しました。

ここからまた大きなうねりが生まれてくるかもしれませんね。

Day2 感想

TypeScriptネイティブ移植観察レポート

発表者: Sosuke Suzukiさん / 一般社団法人TSKaigi Association、株式会社ドワンゴ 教育事業本部

https://2025.tskaigi.org/talks/berlysia
https://speakerdeck.com/berlysia/typescript-native-porting-observation-tskaigi-2025

3月に話題になった『A 10x Faster TypeScript』の文脈で、TypeScriptコンパイラがGoで実装されて高速化したという話でした。私はGoが一番好きな言語なので、非常に興味を持っていました。

スライスなどの効率的なデータ構造を利用した基本的なGo言語への置き換えや、Goroutineを活用した並列処理による高速化の話はもちろんのこと、99.99%の互換性を保ちつつも、あえて互換性を残さなかった箇所があるといった話には驚きました。

それほどまでに複雑化した型システムがTypeScriptに構築されているということを改めて実感しました。

TypeScript Language Service Plugin で CSS Modules の開発体験を改善する

発表者: mizdraさん / 株式会社はてな
https://2025.tskaigi.org/talks/mizdra
https://speakerdeck.com/izumin5210/number-tskaigi2025

CSS Modulesを活用した開発において、既存のツールがVSCodeにしか対応していないということで、CSS Module Kitという自作ツールを作成したという話でした。全体として、「VSCode以外でも動かしたい」という熱量が伝わるトークで、WebStormを使う自分としては非常に共感できました。

*.tsxに記載したTypeScriptのコードに対してCSSのLSPを適用するため、ファイル形式を偽装するなど独自の工夫もあり、興味深かったです。VSCodeの実装ではLSPがCSSを読み込んでくれないという話を聞き、LSPにも銀の弾丸ではない箇所があるのだと感じました。

こういった自作系のツールを作り上げている方には頭が上がりませんね😣

複雑なフォームを継続的に開発していくための技術選定・設計・実装

発表者: izumin5210さん / 株式会社LayerX
https://2025.tskaigi.org/talks/izumin5210
https://speakerdeck.com/izumin5210/number-tskaigi2025

React Hook Form × Zodで適切なモデリングをするお話で、実用的な内容が多く、非常に共感の多い発表でした。経費精算申請のようなフォームは特に難しいはずで、非常に多様なルールがある中で、モデルとUIを分離することの重要性を改めて理解できました。

jotaiでMobXのように依存性を定義することで、シンタックスとしてはatoms的に書けて、セマンティクスとしてはMobXのようなReactiveな形で実装できるというのは学びでした。

最後の方で言及されていたフォーム開発において、「フォームであることにこだわりすぎない」という一歩俯瞰した視点も良いと感じました。

ちなみにぼくはReact的な書き方よりもクラス(OOP)のほうがしっくりきてしまう民です...

技術書をソフトウェア開発する - jsprimerの10年から学ぶ継続的メンテナンスの技術

発表者: azuさん

https://2025.tskaigi.org/talks/azu_re
https://azu.github.io/slide/2025/tskaigi/jsprimer.html

これまで(勝手に)何度もWeb上でお世話になっているazuさんの発表でした。
azuさんが約10年携わっている『jsprimer』という技術書のメンテナンスについての話です。

2015年のES2015という大きな変化をきっかけに、ECMAScriptの更新に伴い常にメンテナンスを継続されていることだけでも読者としては感謝しかありませんが、何より書籍の品質にかける熱量が凄まじかったです。

書籍の中でサンプルコードをpower-doctestなどで品質管理されたり、頻度分析や依存関係を見たりするなど、あらゆる角度から品質への取り組みをされているようでした。
また、OSSコミュニティ活動として初心者でも入り込めるような仕組みづくりや、執筆コストに対するスポンサー収益の分配などについても触れられており、azuさん自身がおっしゃっていたように、本気で取り組む書籍執筆はソフトウェア開発そのものだと深く納得させられました。

Lookback TypeScript ESM support and what should we do now.

発表者: Sajiさん / サイボウズ株式会社
https://2025.tskaigi.org/talks/sajikix
https://speakerdeck.com/sajikix/lookback-typescript-esm-support-and-what-should-we-do-now

CJS/ESMなど、何度学んでもこんがらがる自分にとって、改めてこれらの知識を整理できるセッションでした。

互換性を非常に重要視するJavaScript/TypeScriptにおいて、default exportの問題や非同期importの問題など、現実的な課題の紹介がありました。ライブラリを導入するときにトラブルになることが多いため、改めてしっかり学び直さなければと感じました。

また、node --experimental-strip-types によりNodeで直接TypeScriptが実行できるようになったとしても、新たに三すくみのインポート問題が発生するという話も非常に興味深かったです。

後半では現状でベストな構成も紹介されており、非常に濃密な内容のセッションでした。

TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 〜他言語変換の仕組み〜

発表者: k.gotoさん / 株式会社メイツ
https://2025.tskaigi.org/talks/365_step_tech
https://speakerdeck.com/gotok365/cdk-language-transformation

AWS CDKの基礎から、TypeScriptで開発されているCDKを深掘りするセッションでした。

まさにCDKがどのように多言語対応をしているかを知りたかったため、TypeScriptのコードを各言語に変換(jsii経由)しているということは知らず、勉強になりました。

このjsiiというライブラリはAWS製で、「多言語変換」と「通信」の両方を担っているようです。CDK側で実装されたConstructを構造定義だけ変換し、リリース時に中間ファイルやバインディングを生成したり、実行時にnodejsランタイムを起動するなどして、コンパイラのような低レイヤが好きな自分としては、CDKのソースコードを読みたくなるような内容でした。

ブースめぐり & その他

どのブースにおいてもノベルティやギミックがとても凝っていました。
すべてのブースに回らせていただきまして、スタンプラリーも埋められました✌️
stamp

ノベルティはすべて紹介したいところなのですが、一番嬉しかったNStockさんのキーキャップストラップ。
key

会場で提供されたランチも美味しかったです!
lunch
lunch2

さいごに

オフラインのカンファレンスであったこともあり非常に充実した二日間でした!
TSKaigi2025の主催者の方々をはじめ、関係者の方々すべて感謝です。

サイドイベントもよろしくお願いします!
https://freee.connpass.com/event/351699/

any株式会社

Discussion