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
The Age of monorepos (JSNation)
Search
Miroslav Jonaš
June 16, 2022
Programming
1
280
The Age of monorepos (JSNation)
Miroslav Jonaš
June 16, 2022
Tweet
Share
More Decks by Miroslav Jonaš
See All by Miroslav Jonaš
The dark art of code optimization
meeroslav
0
15
Drum 'n' JS
meeroslav
0
31
Monorepo demystified: Breaking the myth
meeroslav
0
21
Making the Argument for Monorepos
meeroslav
0
12
Scaling Vendure with Nx
meeroslav
0
120
Don't let compilation set the length of your Glühwein break
meeroslav
0
72
Vanquishing deployment dragons with Nx wizardry
meeroslav
0
200
Don't let compilation set the length of your coffee break
meeroslav
0
100
The other JavaScript performance (no one is talking about)
meeroslav
0
260
Other Decks in Programming
See All in Programming
CSC509 Lecture 02
javiergs
PRO
0
400
CSC305 Lecture 01
javiergs
PRO
1
400
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
950
明日から始めるリファクタリング
ryounasso
0
110
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
680
株式会社 Sun terras カンパニーデック
sunterras
0
220
CSC509 Lecture 05
javiergs
PRO
0
290
CSC305 Lecture 02
javiergs
PRO
1
260
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
670
ソフトウェア設計の実践的な考え方
masuda220
PRO
3
470
Advance Your Career with Open Source
ivargrimstad
0
330
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
450
Featured
See All Featured
Speed Design
sergeychernyshev
32
1.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
GitHub's CSS Performance
jonrohan
1032
460k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
We Have a Design System, Now What?
morganepeng
53
7.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Rails Girls Zürich Keynote
gr2m
95
14k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Automating Front-end Workflow
addyosmani
1371
200k
Raft: Consensus for Rubyists
vanstee
139
7.1k
Transcript
The Age of Monorepos Miroslav Jonas / @meeroslav / nx.dev
/ nrwl.io
@meeroslav / WARNING! Bad design Flickering colors Life-changing features
Miroslav Jonaš @meeroslav
None
@meeroslav / STATIC WEB (pre JS era)
None
@meeroslav /
@meeroslav / successfully confusing recruiters since 1995
@meeroslav / Age of Scripting
None
@meeroslav / Age of jQuery
Age of SPAs
@meeroslav / Age of JAMStack
None
@meeroslav / Age of Monorepos
Homepage App (framework X) Backend Every application* UI Components
/ Design system Service 1 Service 1 Service 1 Service 1 Service 1 Service 1 Service 1 Admin Portal App Mobile App Utility
Homepage App (framework X) Backend Collocate UI Components
/ Design system Service 1 Service 1 Service 1 Service 1 Service 1 Service 1 Service 1 Admin Portal App Mobile App Utility
Code sharing
@meeroslav / Just collocation NOT
Affected graph store games sales coupons core shared admin
Workspace analysis
Task orchestration Test Build Lint Build Lint Test Build Lint
Test
now powered by Nx
None
Caching Never { build, test, lint… } same code twice
{ build, test, lint,... } Nx Local cache { build, test, lint,... } Nx Local cache
Distributed task execution 10 tasks 110 tasks 100 tasks 150
tasks Single agent 10 tasks 105 tasks 5 tasks 60 tasks 35 tasks Agent 1 Agent 2 Agent 3 Agent 4 Agent 5
Code constraints
@meeroslav / But I have only one project…
Powerful generators
Consistent tooling
@meeroslav / Monorepos bring clarity - workspace analysis - graph
visualization
@meeroslav / - local & remote caching - task orchestration
- detecting affected nodes - distributed task execution Monorepos bring speed
@meeroslav / - code sharing - code collocation - powerful
generators - consistent tooling - code constraints Monorepos make it easy
None
WHY BE A 10X WHEN YOU CAN BE AN
NX DEVELOPER? @meeroslav /
Miroslav Jonas / @meeroslav / nx.dev / nrwl.io Thank you