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
TypeScript + lerna + yarn monorepos FTW
Search
paul souche
October 08, 2017
Programming
1.9k
1
Share
TypeScript + lerna + yarn monorepos FTW
paul souche
October 08, 2017
More Decks by paul souche
See All by paul souche
Une API from scratch avec NestJS
paulsouche
0
170
Unit test in deno
paulsouche
0
170
One spec to rule them all
paulsouche
1
310
Analytics reverse engineering
paulsouche
0
170
Test like a boss with TypeScript
paulsouche
0
240
The internal modules strike back
paulsouche
0
130
AngularJS + Typescript === <3
paulsouche
0
350
Ma caisse enregistreuse en NodeJS
paulsouche
0
580
Other Decks in Programming
See All in Programming
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
2
260
Rethinking API Platform Filters
vinceamstoutz
0
11k
Running Swift without an OS
kishikawakatsumi
0
690
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
140
PDI: Como Alavancar Sua Carreira e Seu Negócio
marcelgsantos
0
110
20260320登壇資料
pharct
0
170
How Swift's Type System Guides AI Agents
koher
0
190
へんな働き方
yusukebe
6
2.9k
ファインチューニングせずメインコンペを解く方法
pokutuna
0
280
Smarter Angular mit Transformers.js & Prompt API
christianliebel
PRO
1
120
Nuxt Server Components
wattanx
0
260
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
850
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
Chasing Engaging Ingredients in Design
codingconduct
0
160
Side Projects
sachag
455
43k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Accessibility Awareness
sabderemane
0
94
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.3k
A Soul's Torment
seathinner
6
2.6k
A better future with KSS
kneath
240
18k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
410
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Transcript
TypeScript + lerna + yarn monorepos FTW Paris TypeScript #10
10/10/2017 1
Me, myself & I Paul Souche Front End developer @S_A_N_T_E_C_H
In love with TypeScript since 2014 @paul.souche paulsouche @paulsouche 2
Multi repos : why ? - Monoliths no more -
Build only the necessary - Clearer subversion history - Easier revert - 1 app > 1 repo - 1 service > 1 repo... 3
Multi repos : but ... - Switch project all the
time - Sequential builds - Evergreen anti pattern - Dependencies - Versioning - Features branch 4
- Build everything everytime - Build order - Subversion Conflicts
- Licenses 5 Did you said monorepo?
6 DEPENDENCIES APP 1 DEPENDENCIES APP 2 Projects architecture
Editor architecture 7 DEPENDENCIES COMMON 2 COMMON 1 APP 1
APP 2 APP 3 APP 4
Lerna << Lerna is a tool that optimizes the workflow
around managing multi-package repositories with git and npm >> 8
Prerequisites 9
Lerna project structure - lerna import <path to package> -
lerna bootstrap 10
What it does 11
Demo 12
Yeah… But ? - devDependencies are the same so lerna
bootstrap could be very slow for more packages (cache) - Build is sequential 13
yarn workspaces 14
Lerna config 15
What happen to the structure 16
Demo 17
Build 18 - Several flags such as --parallel I won’t
talk about - Bash is always the answer for uncommon problems
That’s all folks THANKS References Lerna Yarn workspaces Demo 19