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
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカ...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
did0es
October 25, 2025
Technology
440
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
Vue Fes Japan 2025で発表したLTの資料です。
https://vuefes.jp/2025/sponsors/cyberagent#did0es
did0es
October 25, 2025
More Decks by did0es
See All by did0es
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
630
【前編】このAPIいつ使うん?あの機能なに?V8のドキュメント、全部読んでみた
shuta13
0
170
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
1
1.1k
ブラウザの投機的読み込みと投機ルールAPIを理解し、Webサービスのパフォーマンスを最適化する
shuta13
3
420
うわっ...私のSwagger、古すぎ...?grpc-gateway向けのSwaggerと向き合う
shuta13
0
240
歴代のWeb Speed Hackathonの出題から考えるデグレしないパフォーマンス改善
shuta13
8
960
Reconciliationの世界
shuta13
0
40
なぜクラウドサービスで Web コンソールを提供するのか
shuta13
4
2.5k
5分でわかるPreactのVDOMで作るWebエディタ
shuta13
0
300
Other Decks in Technology
See All in Technology
AIエージェント統制はAPIから——押さえるべき5つの要素
nagix
0
110
200人の配信コメント、 全部Jevが仕分けます 〜 マサカリガードを作ってみた 〜
katayamatg
1
500
Copilot Coworkで「みのるん式」やってみた
minorun365
PRO
1
750
複雑な業務システムを高速でつくるため、チーム全員をつくれる人へ
ayakurabuchi
0
120
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
250
AIで選択肢が広がった組織設計の理想と現実
konifar
16
7.5k
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
140
Deep Data Security 機能解説
oracle4engineer
PRO
3
990
スマートロックを支えるFlutter × ネイティブ連携の実践 / Flutter and Native Integration in Practice: Powering Smart Locks
bitkey
PRO
0
140
1週間、Opus封印でお願いします
kintotechdev
1
430
AIコーディングはじめました
miso
0
130
AI Search (Foundry IQ) におけるRAGデータの準備と配置
ryomaru0825
1
130
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
540
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
560
Color Theory Basics | Prateek | Gurzu
gurzu
1
510
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
290
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
580
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
440
ラッコキーワード サービス紹介資料
rakko
5
5.6M
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Statistics for Hackers
jakevdp
799
230k
The SEO identity crisis: Don't let AI make you average
varn
0
620
Transcript
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログの リリースサイクルを高速化する 2025/10/25 @ Vue Fes Japan 2025
did0es
自己紹介 did0es(🗣 ディドス) - Hirai shuta 株式会社サイバーエージェント グループIT推進本部 CIU Software
Engineer(Web FrontEnd) Next Experts(TypeScript) Lead organizer for FEC Tokyo, Meguro.es X: https://x.com/did0es GitHub: https://github.com/shuta13 For more: https://did0.es
大規模モノレポでViteを活用し UIカタログのリリースを 高速化してきたお話をします
1.モノレポの概要 2.Cycloud UIについて 3.Cycloud UIの裏側 4.Vite + Project Referencesの注意点 5.比較・まとめ
モノレポの概要
SDK Client • CIUのWebフロントエンド向けの SDK • 50個以上のパッケージ 例: Cycloud UI
UIライブラリ Cycloud Use クライアント ロジック Cycloud APIs APIクライアント Create Cycloud App ワンコマンドでWebUI 生成CLI 開発ツールの Config系 ESLint・Prettier・Jest etc…
SDK Client • CIUのWebフロントエンド向けの SDK • 50個以上のパッケージ 例: Cycloud UI
UIライブラリ Cycloud Use クライアント ロジック Cycloud APIs APIクライアント Create Cycloud App ワンコマンドでWebUI 生成CLI 開発ツールの Config系 ESLint・Prettier・Jest etc…
Cycloud UIについて
Cycloud UIとは • React + TailwindCSS製のUIライブラリ Cycloudのブランディングと Webフロントの開発効率向上のために開発 • 35個のコンポーネント
組み合わせてCycloudのWebUIを実現
Cycloud UIの構成
Cycloud UIの裏側
Vite + StorybookによるUIカタログ • 各WebUIでのWebpackによる運用を一新 サービスのコンソールごとにWebpackで Storybookを運用していた • SDKに集約しViteを使うように @storybook/react-viteで実現
TS Project Referencesによるビルド • 全てをViteやtscでビルドすると オーバーヘッドが大きい Project Referencesで依存を明示し、 要るものだけビルド(右図参照) •
GHAでビルドしてデプロイ 3〜4分程度で完了
Vite + Project Referencesの 注意点
注意点① • .storybook/main.jsに以下の記述がないとビルドがコケる Project Referencesで参照しているパッケージを追加する
注意点② • パッケージが CommonJS形式だとビルドがコケる Vite向けにtscでES Modules形式にする
比較・まとめ
Webpackやtsc個別実行との比較 計測 + Claude Codeでシミュレート ビルドステップ パターンA Vite + tsc
-b パターンB Vite + 個別tsc パターンC Webpack + tsc -b パターンD Webpack + 個別tsc 型チェック 30〜45秒 2〜3分 30〜45秒 2〜3分 Storybookの ビルド 2〜3分 2〜3分 5〜8分 5〜8分 devサーバー 起動 5〜15秒 5〜15秒 30〜60秒 30〜60秒 ホットリロード 0.1〜0.5秒 0.1〜0.5秒 1〜3秒 1〜3秒
まとめ • ViteでUIカタログを高速に反映できた Webpackの1/2の時間でデプロイ CycloudのWebUIの設計を効率化 • Project Referencesでさらに高速に tsc個別実行の1/6の時間で型チェック・ビルド トータル3〜4分でStorybookをデプロイ
アンケートへのご協力のお願い https://forms.gle/eLSMDaDnJS8bS2XZA 2〜3分ほどで回答出来ます!
予め準備してあるWebアプリケーションのパフォーマ ンス改善・高速化を競い合うハッカソン。 主にWeb技術(フロントエンドおよびNode.js)に関 するチューニングを出題いたします。 # 開催日 2026年3月20日(金・祝) - 21日(土) connpassで参加受付中
# 題材 架空のSNSアプリ # その他 社会人 / 学生どなたでも参加可能 Web Speed Hackathon 2026 【3月開催】 概要 #WebSpeedHackathon で検索🔎
選考サイトでは選考フローの解説やサイバーエージェントの社員紹介等コンテンツも充実。 エントリーをお待ちしております! 【27卒学生向け】採用選考エントリー受付開始
ありがとうございました