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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
300
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
570
Other Decks in Programming
See All in Programming
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
130
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
CSC307 Lecture 02
javiergs
PRO
1
780
SourceGeneratorのススメ
htkym
0
200
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
460
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
200
CSC307 Lecture 01
javiergs
PRO
0
690
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
140
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Making Projects Easy
brettharned
120
6.6k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Typedesign – Prime Four
hannesfritz
42
2.9k
The Spectacular Lies of Maps
axbom
PRO
1
520
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Git: the NoSQL Database
bkeepers
PRO
432
66k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Facilitating Awesome Meetings
lara
57
6.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