Francesco Novy
Tree Shaking the Bytes Away
#1about 2 minutes
Understanding tree shaking to remove unused code
Tree shaking is a process used by bundlers to automatically remove unused code, also known as dead code, from your final application build.
#2about 4 minutes
How bundlers work and why they are necessary
Bundlers are essential for optimizing browser applications by combining code into a single file and enabling tree shaking, unlike native browser imports which load entire modules.
#3about 4 minutes
How static analysis enables code removal
Bundlers use static analysis at build time to create a dependency graph and identify unused code, but they cannot account for dynamic, runtime conditions.
#4about 3 minutes
How to test and measure tree shaking effectiveness
Use the `size-limit` NPM package to create test scenarios that measure bundle size impact and integrate these checks into CI to prevent regressions.
#5about 5 minutes
Using composition over options for better tree shaking
Refactor code from an options-based approach to a composition pattern to ensure optional features and their dependencies can be completely tree-shaken away.
#6about 4 minutes
Using static build flags for build-time optimization
Implement magic strings that are replaced with boolean values at build time, allowing the bundler to remove entire code blocks like debug logs for production builds.
#7about 4 minutes
Q&A on barrel files and build environment differences
The Q&A covers how barrel files can complicate tree shaking and the potential risks of having different development and production builds due to build-time flags.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
03:18 MIN
Understanding tree shaking and dead code elimination
A Practical Guide to Reducing Bundle Size
07:02 MIN
Reducing bundle size by replacing heavy dependencies
Challenges of building React and React Native apps
38:47 MIN
How production builds remain highly optimized
The Eternal Sunshine of the Zero Build Pipeline
14:13 MIN
The importance of testing your bundle size
A Practical Guide to Reducing Bundle Size
12:57 MIN
How bundling reveals ESM's performance advantage
Oh CommonJS! Why are you mESMing with me?
15:20 MIN
Executing JavaScript and optimizing the bundle
The Journey of a Pixel in a React Application
22:32 MIN
Reducing JavaScript's impact with smaller bundles
Sustainable me. A tale of good design.
13:04 MIN
Avoiding barrel files to improve tree shaking
A Practical Guide to Reducing Bundle Size
Featured Partners
Related Videos
A Practical Guide to Reducing Bundle Size
Stephen Cooper
The Eternal Sunshine of the Zero Build Pipeline
M4dz
How Your Bundle Size Affects The Climate
Roy Derks
The Lean Web
Chris Ferdinandi
Catching up on the basics you don't really need that much code
Chris Heilmann
How a Small Team Shrank a Microsoft Monorepo by 94%
Jonathan Creamer
Let's build a VS Code extension for automated refactorings
Nicolas Carlo
Things I learned while writing high-performance JavaScript applications
Michele Riva
From learning to earning
Jobs that call for the skills explored in this talk.

Lead Full-Stack Engineer
Hubert Burda Media
München, Germany
€80-95K
Intermediate
Senior
React
Vue.js
Node.js
MongoDB
+1



Softwareentwickler NestJS | TypeScript, Node.js, AWS | bis 60% Home Office (mwd)
Vesterling Consulting GmbH
Remote
€50-80K
NoSQL
Scrum
NestJS
+7

Softwareentwickler NestJS | TypeScript, Node.js, AWS | bis 60% Home Office (mwd)
Vesterling Consulting GmbH
Remote
€50-80K
NoSQL
Scrum
NestJS
+7

Softwareentwickler NestJS | TypeScript, Node.js, AWS | bis 60% Home Office (mwd)
Vesterling Consulting GmbH
Remote
€50-80K
NoSQL
Scrum
NestJS
+7

Softwareentwickler NestJS | TypeScript, Node.js, AWS | bis 60% Home Office (mwd)
Vesterling Consulting GmbH
Remote
€50-80K
NoSQL
Scrum
NestJS
+7

Strong Middle Full stack developer (Node.js, React.js, AWS)
Visarsoft GmbH
Intermediate
CSS
SASS
REST
Azure
React
+8
