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
Age of monorepos (Armada JS 2022)
Search
Miroslav Jonaš
October 06, 2022
Programming
0
230
Age of monorepos (Armada JS 2022)
Miroslav Jonaš
October 06, 2022
Tweet
Share
More Decks by Miroslav Jonaš
See All by Miroslav Jonaš
The dark art of code optimization
meeroslav
0
4
Drum 'n' JS
meeroslav
0
18
Monorepo demystified: Breaking the myth
meeroslav
0
9
Making the Argument for Monorepos
meeroslav
0
6
Scaling Vendure with Nx
meeroslav
0
100
Don't let compilation set the length of your Glühwein break
meeroslav
0
61
Vanquishing deployment dragons with Nx wizardry
meeroslav
0
180
Don't let compilation set the length of your coffee break
meeroslav
0
81
The other JavaScript performance (no one is talking about)
meeroslav
0
250
Other Decks in Programming
See All in Programming
UPDATEがシステムを複雑にする? イミュータブルデータモデルのすすめ
shimomura
1
540
複数アプリケーションを育てていくための共通化戦略
irof
10
3.8k
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
130
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
200
単体テストの始め方/作り方
toms74209200
0
440
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
210
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
180
業務自動化をJavaとSeleniumとAWS Lambdaで実現した方法
greenflagproject
1
110
セキュリティマネジャー廃止とクラウドネイティブ型サンドボックス活用
kazumura
1
170
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
940
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
1k
生成AIで日々のエラー調査を進めたい
yuyaabo
0
560
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
7
480
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Bash Introduction
62gerente
614
210k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
780
Six Lessons from altMBA
skipperchong
28
3.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Gamification - CAS2011
davidbonilla
81
5.3k
Transcript
The Age of Monorepos Miroslav Jonas / @meeroslav / nx.dev
/ nrwl.io
@meeroslav WARNING! Bad design Flickering colors Life-changing features
@meeroslav Miroslav Jonaš @meeroslav
@meeroslav
@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) Every application* UI Components / Design
system Backend Service 1 Service 1 Service 1 Service 1 Service 1 Service 1 Service 1
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 v1 v3 v2_beta v1.0.1 ~2.15.0 > 3.0.0
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 Homepage App (framework X) Admin Portal App Auth
@meeroslav Just collocation NOT
Affected graph + deploy admin store api
admin store api Deploy every second week Deploy on Tuesdays
Deploy on every change Affected graph + deploy
Workspace analysis
Task orchestration Test Build Lint Build Lint Test Build Lint
Test
None
Caching Never { build, test, lint… } same code twice
{ build, test, lint,... } Nx Local cache { build, test, lint,... } Nx Local cache CI provider
Distributed task execution Main agent
Distributed task execution Idle time Idle time
Distributed task execution
Distributed task execution
@meeroslav Agent utilization Optimal idle time
@meeroslav
Code constraints
Code constraints store checkout sales coupons core shared admin
@meeroslav But I have only one project…
Powerful generators
Consistent tooling
None
@meeroslav Migrate existing Create new
@meeroslav Migrate existing Convert existing
@meeroslav Migrate existing Convert existing
@meeroslav Monorepos bring clarity - workspace analysis - graph visualization
@meeroslav Monorepos bring speed - local & remote caching -
task orchestration - detecting affected nodes - distributed task execution
@meeroslav Monorepos make it easy - code sharing - code
collocation - powerful generators - consistent tooling - code constraints
@meeroslav - developer mobility - collaboration as default - can
change the organization - greater confidence - velocity increase Not just a fancy tool
@meeroslav
@meeroslav nx.dev / nrwl.io Use
WHY BE A 10X WHEN YOU CAN BE AN
NX DEVELOPER? @meeroslav /
@meeroslav
Thank you Miroslav Jonas / @meeroslav / nx.dev / nrwl.io