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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Miroslav Jonaš
October 06, 2022
Programming
0
280
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
44
Drum 'n' JS
meeroslav
0
59
Monorepo demystified: Breaking the myth
meeroslav
0
40
Making the Argument for Monorepos
meeroslav
0
37
Scaling Vendure with Nx
meeroslav
0
160
Don't let compilation set the length of your Glühwein break
meeroslav
0
94
Vanquishing deployment dragons with Nx wizardry
meeroslav
0
230
Don't let compilation set the length of your coffee break
meeroslav
0
130
The other JavaScript performance (no one is talking about)
meeroslav
0
290
Other Decks in Programming
See All in Programming
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
270
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1.1k
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
820
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
130
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
140
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
140
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
250
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
150
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.1k
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
230
CSC307 Lecture 15
javiergs
PRO
0
270
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
89
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
BBQ
matthewcrist
89
10k
My Coaching Mixtape
mlcsv
0
86
Ruling the World: When Life Gets Gamed
codingconduct
0
180
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Raft: Consensus for Rubyists
vanstee
141
7.4k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
130
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
690
YesSQL, Process and Tooling at Scale
rocio
174
15k
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