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
190
Age of monorepos (Armada JS 2022)
Miroslav Jonaš
October 06, 2022
Tweet
Share
More Decks by Miroslav Jonaš
See All by Miroslav Jonaš
Scaling Vendure with Nx
meeroslav
0
54
Don't let compilation set the length of your Glühwein break
meeroslav
0
47
Vanquishing deployment dragons with Nx wizardry
meeroslav
0
140
Don't let compilation set the length of your coffee break
meeroslav
0
53
The other JavaScript performance (no one is talking about)
meeroslav
0
200
Age of monorepos (NgDe)
meeroslav
0
140
The Age of monorepos (JSNation)
meeroslav
1
220
Nx - The Obvious Choice
meeroslav
0
200
The Age of monorepos
meeroslav
0
210
Other Decks in Programming
See All in Programming
Remix on Hono on Cloudflare Workers
yusukebe
1
300
CSC509 Lecture 12
javiergs
PRO
0
160
距離関数を極める! / SESSIONS 2024
gam0022
0
290
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
2k
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
Outline View in SwiftUI
1024jp
1
330
flutterkaigi_2024.pdf
kyoheig3
0
150
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
120
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
Quine, Polyglot, 良いコード
qnighy
4
650
Featured
See All Featured
Ruby is Unlike a Banana
tanoku
97
11k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
Site-Speed That Sticks
csswizardry
0
28
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Designing for humans not robots
tammielis
250
25k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
How STYLIGHT went responsive
nonsquared
95
5.2k
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