Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
1.9k
TypeScript + lerna + yarn monorepos FTW
paul souche
October 08, 2017
Tweet
Share
More Decks by paul souche
See All by paul souche
Une API from scratch avec NestJS
paulsouche
0
160
Unit test in deno
paulsouche
0
160
One spec to rule them all
paulsouche
1
290
Analytics reverse engineering
paulsouche
0
160
Test like a boss with TypeScript
paulsouche
0
230
The internal modules strike back
paulsouche
0
120
AngularJS + Typescript === <3
paulsouche
0
350
Ma caisse enregistreuse en NodeJS
paulsouche
0
560
Other Decks in Programming
See All in Programming
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
190
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
0
270
Patterns of Patterns
denyspoltorak
0
310
Navigating Dependency Injection with Metro
l2hyunwoo
1
180
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
160
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
210
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
420
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
160
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
160
Python札幌 LT資料
t3tra
6
1k
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
780
Graviton と Nitro と私
maroon1st
0
130
Featured
See All Featured
Accessibility Awareness
sabderemane
0
24
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
92
Tell your own story through comics
letsgokoyo
0
760
Scaling GitHub
holman
464
140k
Building Applications with DynamoDB
mza
96
6.8k
How STYLIGHT went responsive
nonsquared
100
6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Why Our Code Smells
bkeepers
PRO
340
57k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
69
Deep Space Network (abreviated)
tonyrice
0
21
Unsuck your backbone
ammeep
671
58k
Building Adaptive Systems
keathley
44
2.9k
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