Building with Monorepos
summary
Emotion's monorepo solves slow installs and duplicate React instances by enforcing version constraints (Bolt inspired) and adding a JSON linter called ManyPackages to auto-fix mismatched deps. Builds use Rollup and a repo-wide Babel.config to avoid tool drift, with preconstruct and preconstruct dev producing entry-point and dev reexports so local packages run without repeated builds. Releases use changesets, a changelog-first workflow plus a GitHub action that opens a single versioning PR and publishes on merge, and the exports field limits unintended internal imports.
AI-written summary · about
chapters (19)
- 0:00Introduction to monorepos
- 1:26Problems with multi-repo setup
- 2:08Monorepo tooling challenges
- 3:37Bolt and its constraints
- 5:08Many Package for dependency rules
- 5:54Packaging and bundling issues
- 7:17Using Rollup for bundling
- 8:50Entry points in monorepos
- 9:33Developing without constant rebuilds
- 11:00Releasing packages with constraints
- 12:30Automating releases with Changesets
- 14:20GitHub Actions for versioning
- 15:27Benefits of monorepos
- 16:11Simple imports across tools
- 16:56Strict API contracts
- 17:41Exports field for package safety
- 18:02Package structure and documentation
- 19:08Building tools on monorepo structure
- 19:29Monorepo resources and guides
related talks
41mHandling Monorepos Today
24mBuilding your ideal codebase: monorepos & multirepos living in harmony
50mScaling Monorepos
29mModularity and Monorepositories
01h 00mFOUR PILLARS AND A BASE: THE NUTS AND BOLTS OF A MONOREPO
31mMonoRepos for the Masses
19mKeynote: Why Monorepos
29mUnderstanding Monorepos: What you need to know
