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
Bundle Side Optimization in Future JavaScript -...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuku Kotani
November 27, 2021
Programming
3.3k
2
Share
Bundle Side Optimization in Future JavaScript - JSConf JP 2021
JSConf JP 2021
Yuku Kotani
November 27, 2021
More Decks by Yuku Kotani
See All by Yuku Kotani
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
1.8k
一億総業務改善を支える社内AIエージェント基盤の要諦
yukukotani
9
3.5k
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
6
2.8k
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
11
5.6k
AI Coding Agent Enablement in TypeScript
yukukotani
21
19k
AI Coding Agent Enablement - エージェントを自走させよう
yukukotani
14
8.4k
Expoによるアプリ開発の現在地とReact Server Componentsが切り開く未来
yukukotani
3
890
React 19でお手軽にCSS-in-JSを自作する
yukukotani
6
1k
僕が思い描くTypeScriptの未来を勝手に先取りする
yukukotani
12
3.6k
Other Decks in Programming
See All in Programming
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.1k
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
7
1.3k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
180
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
550
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
220
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
600
Lessons from Spec-Driven Development
simas
PRO
0
120
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
210
さぁV100、メモリをお食べ・・・
nilpe
0
120
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
320
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.3k
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
240
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
77
5.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
So, you think you're a good person
axbom
PRO
2
2k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
310
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
550
Paper Plane (Part 1)
katiecoart
PRO
0
8.3k
GraphQLとの向き合い方2022年版
quramy
50
15k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Transcript
Bundle Side Optimization in Future JavaScript JSConf JP 2021 Yuku
Kotani (@MonchiFC)
2 Yuku Kotani (@MonchiFC) - Software Engineer @ Ubie Discovery
- AI https://ubie.app/ - TypeScript+Next.js / Kotlin+Spring Boot / GraphQL / Capacitor - Student (B3) @ - Blog https://yuku.dev 2
3 Web - - ECMAScript - - 3rd-party script
4 - (Dead Code Elimination) - (Mangling) - (Code Splitting)
- (Tree Shaking)
5 - (Dead Code Elimination) terser, Rollup - (Mangling) terser
- (Code Splitting) webpack, Rollup, Next.js, Nuxt - (Tree Shaking) webpack, Rollup
6 - (Dead Code Elimination) terser, Rollup - (Mangling) terser
- (Code Splitting) webpack, Rollup, Next.js, Nuxt - (Tree Shaking) webpack, Rollup
7 DDD
8 DDD
9 1st Approach: Dead Code Elimination
10 - - obj obj
11 TypeScript obj User obj isAdult getFullname getFullName
12 TS AST JavaScript TypeScript TS Compiler JS AST JavaScript
webpack JS AST DCE JavaScript terser JS ⾒
13 TS AST JavaScript TS Compiler JS AST JavaScript webpack
JS AST DCE JavaScript terser JS ⾒ TypeScript
14 TS AST JS JavaScript DCE SWC, Rome TypeScript
15 1 SWC Rome
16 2nd Approach: Tree Shaking
17 Tree Shaking JS/TS
18 Tree Shaking JS/TS A. - / `obj.method()` -
19
20 A. Bind-this operator
21 Bind-this operator func.bind() func.call() Stage-1 this JavaScript Bind Operator
https://yuku.dev/articles/2021-11-11/javascript-bind-this-op
22 Bind-this operator TypeScript This Parameter ⾒ This :: This
Parameter
23 2 ECMAScript
24 - class-based OOP - SWC Rome - ECMAScript JS-way
https://meety.net/matches/SwBiENIgCVFp