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
16
Monorepo demystified: Breaking the myth
meeroslav
0
8
Making the Argument for Monorepos
meeroslav
0
4
Scaling Vendure with Nx
meeroslav
0
100
Don't let compilation set the length of your Glühwein break
meeroslav
0
60
Vanquishing deployment dragons with Nx wizardry
meeroslav
0
180
Don't let compilation set the length of your coffee break
meeroslav
0
78
The other JavaScript performance (no one is talking about)
meeroslav
0
250
Other Decks in Programming
See All in Programming
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
mizdra
PRO
3
2.4k
Reactive Thinking with Signals, Resource API, and httpResource @Devm.io Angular 20 Launch Party
manfredsteyer
PRO
0
130
What Spring Developers Should Know About Jakarta EE
ivargrimstad
1
610
DevTalks 25 - Create your own AI-infused Java apps with ease
kdubois
2
120
型付け力を強化するための Hoogle のすゝめ / Boosting Your Type Mastery with Hoogle
guvalif
1
230
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
250
ユーザーにサブドメインの ECサイトを提供したい (あるいは) 2026年函館で一番熱くなるかもしれない言語の話
uvb_76
0
180
Use Perl as Better Shell Script
karupanerura
0
660
コンポーネントライブラリで実現する、アクセシビリティの正しい実装パターン
schktjm
1
670
MLOps Japan 勉強会 #52 - 特徴量を言語を越えて一貫して管理する, 『特徴量ドリブン』な MLOps の実現への試み
taniiicom
2
570
Feature Flag 自動お掃除のための TypeScript プログラム変換
azrsh
PRO
4
630
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
6.1k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
660
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
Git: the NoSQL Database
bkeepers
PRO
430
65k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
620
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
850
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Typedesign – Prime Four
hannesfritz
41
2.6k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
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