Metro: Scaling JavaScript Build Systems
summary
Metro claims subsecond reloads on codebases with tens of thousands of modules and shows the concrete engineering to get there: file watching via Jest haste map backed by Watchman, Babel transforms dispatched to a worker per core for a reported 6–7× speedup, a multi‑layer cache with a Facebook CI‑populated global layer, numeric module IDs with an indirection table, a binary random access module bundle format to load only needed code, and an open‑source delta bundler that sends kilobyte patches instead of megabytes.
AI-written summary · about
chapters (12)
- 0:00Intro
- 0:48What is Metro?
- 2:22Why are we building Metro?
- 4:58Monitoring File changes
- 10:06Multi-layer cache
- 12:50Indirect dependency resolution
- 14:31The Journey to a Bundle
- 14:47Plain JS bundle
- 15:24Random Access Module Bundles
- 17:01Require process (previously required)
- 17:35Require process (first time)
- 20:23Delta Bundler
related talks
23mBuilding JavaScript bundles for React Native
40mRefactoring large JavaScript codebases
45mBundler Bonanza
23mBuilding in fast feedback loops
52m10KB or Bust: The Delicate Power of Webpack and Babel
34mModule Federation, Bundlers, and Future State
38mFun Fast Tools for Serious Work
27mCompile Like It's 2017
