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.8k
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
150
Unit test in deno
paulsouche
0
110
One spec to rule them all
paulsouche
1
220
Analytics reverse engineering
paulsouche
0
120
Test like a boss with TypeScript
paulsouche
0
200
The internal modules strike back
paulsouche
0
110
AngularJS + Typescript === <3
paulsouche
0
330
Ma caisse enregistreuse en NodeJS
paulsouche
0
490
Other Decks in Programming
See All in Programming
CSC307 Lecture 06
javiergs
PRO
0
360
Harnessing Large Language Models for Training-free Video Anomaly Detection
tereka114
1
1.3k
最古の関数型言語「Lisp」ことはじめ / lisp_in_kamiyama
uhooi
1
190
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
1
620
20240706_CDKConf
takuyay0ne
0
1.2k
「2024年版 Kotlin サーバーサイドプログラミング実践開発」の補講 〜O/Rマッパー編〜
n_takehata
2
260
なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile
uenitty
29
13k
Introduction of Happy Eyeballs Version 2 (RFC8305) to the Socket library
coe401_
1
220
CSC307 Lecture 11
javiergs
PRO
0
240
はしめてのプログラミングとロボット制御
watawatavoltage
0
290
Architectures with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
100
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
200
Featured
See All Featured
Leading Effective Engineering Teams 2024
addyosmani
3
300
Making Projects Easy
brettharned
111
5.7k
The Cult of Friendly URLs
andyhume
75
5.9k
Art, The Web, and Tiny UX
lynnandtonic
291
20k
Building Your Own Lightsaber
phodgson
101
5.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
248
12k
KATA
mclloyd
20
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
Code Reviewing Like a Champion
maltzj
517
39k
Speed Design
sergeychernyshev
9
270
How to Think Like a Performance Engineer
csswizardry
4
590
Code Review Best Practice
trishagee
58
16k
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