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
230
Analytics reverse engineering
paulsouche
0
130
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
510
Other Decks in Programming
See All in Programming
"noncopyable types" の使いどころについて考えてみた
andpad
0
130
自分だけの世界を創るクリエイティブコーディング / Creative Coding: Creating Your Own World
chobishiba
2
210
標準ライブラリの動向とイテレータのパフォーマンス
makki_d
3
190
Unlocking Python's Core Magic
leew
0
110
sqlcを利用してsqlに型付けを
kamiyam
0
230
Progressive Web Apps for Rails developers
siaw23
2
530
◯◯エンジニアになった理由
gessy0129
PRO
0
590
Cancel Next.js Page Navigation: Full Throttle
ypresto
1
110
CSC509 Lecture 01
javiergs
PRO
1
200
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
6
230
Pythonによるイベントソーシングへの挑戦と現状に対する考察 / Challenging Event Sourcing with Python and Reflections on the Current State
nrslib
3
880
M5Stack に色々な M5ユニットをつないで扱う為の新たなアプローチ
gob
0
200
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
334
57k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
109
6.9k
Practical Orchestrator
shlominoach
185
10k
A better future with KSS
kneath
235
17k
Automating Front-end Workflow
addyosmani
1365
200k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
Designing for Performance
lara
604
68k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
22k
For a Future-Friendly Web
brad_frost
174
9.3k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.3k
Raft: Consensus for Rubyists
vanstee
136
6.6k
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