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
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
140
One spec to rule them all
paulsouche
1
280
Analytics reverse engineering
paulsouche
0
140
Test like a boss with TypeScript
paulsouche
0
210
The internal modules strike back
paulsouche
0
120
AngularJS + Typescript === <3
paulsouche
0
350
Ma caisse enregistreuse en NodeJS
paulsouche
0
540
Other Decks in Programming
See All in Programming
CIを整備してメンテナンスを生成AIに任せる
hazumirr
0
490
React 使いじゃなくても知っておきたい教養としての React
oukayuka
18
5.2k
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
5
550
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
11
2.8k
ソフトウェア設計とAI技術の活用
masuda220
PRO
25
7.3k
Understanding Kotlin Multiplatform
l2hyunwoo
0
250
CEDEC 2025 『ゲームにおけるリアルタイム通信への QUIC導入事例の紹介』
segadevtech
2
710
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
920
Claude Code と OpenAI o3 で メタデータ情報を作る
laket
0
100
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
5
740
構造化・自動化・ガードレール - Vibe Coding実践記 -
tonegawa07
0
170
Reactの歴史を振り返る
tutinoko
1
160
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
How GitHub (no longer) Works
holman
314
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
870
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
The Cult of Friendly URLs
andyhume
79
6.5k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Git: the NoSQL Database
bkeepers
PRO
431
65k
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