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
Scaling Vendure with Nx
Search
Miroslav Jonaš
December 09, 2023
Programming
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Scaling Vendure with Nx
Miroslav Jonaš
December 09, 2023
More Decks by Miroslav Jonaš
See All by Miroslav Jonaš
The dark art of code optimization
meeroslav
0
52
Drum 'n' JS
meeroslav
0
72
Monorepo demystified: Breaking the myth
meeroslav
0
57
Making the Argument for Monorepos
meeroslav
0
47
Don't let compilation set the length of your Glühwein break
meeroslav
0
100
Vanquishing deployment dragons with Nx wizardry
meeroslav
0
250
Don't let compilation set the length of your coffee break
meeroslav
0
140
The other JavaScript performance (no one is talking about)
meeroslav
0
300
Age of monorepos (NgDe)
meeroslav
0
250
Other Decks in Programming
See All in Programming
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.5k
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
190
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.5k
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.4k
さぁV100、メモリをお食べ・・・
nilpe
0
130
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
230
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
140
dRuby over BLE
makicamel
2
320
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
230
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.2k
CSC307 Lecture 17
javiergs
PRO
0
310
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
2.9k
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
320
Typedesign – Prime Four
hannesfritz
42
3.1k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
600
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Transcript
Vendure Developer Day / December 9th 2023 Miroslav Jonaš /
@meeroslav Scaling with
None
Final boss
Final boss of web development
Final boss of web development
Final boss of web development
Small webshop Large enterprise corporation Day 1 After 1 year
None
None
Small webshop Large enterprise corporation Day 1 After 1 year
Small webshop Large enterprise corporation Day 1 After 1 year
Miroslav Jonaš @meeroslav
Storefront (framework X) Every large application* UI Components
/ Design system Vendure server Plugin 1 Plugin 2 Plugin 3 Plugin 4 Plugin 5 Plugin 6 Plugin 7
Storefront (framework X) Vendure server Every large application* UI
Components / Design system Plugin 1 Plugin 2 Plugin 3 Plugin 4 Plugin 5 Plugin 6 Plugin 7 Admin UI Mobile App Utility v1 v3 v2_beta v1.0.1 ~2.15.0 > 3.0.0
None
Collocate Storefront (framework X) Vendure server UI Components
/ Design system Plugin 1 Plugin 2 Plugin 3 Plugin 4 Plugin 5 Plugin 6 Plugin 7 Admin UI Mobile App Utility
Code sharing Storefront Admin UI Auth
Affected graph admin store api
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
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 Instant replay from cache
Distributed task execution
Distributed task execution
Code constraints
Code constraints store checkout sales coupons core shared admin
But I have just a small shop…
> npx @vendure/create my-store
Imagine… > npx create-nx-workspace my-store --preset=@vendure/nx
But then… > nx g @vendure/nx:storefront my-web --framework=qwik
Or… > nx g @vendure/nx:plugin my-plugin
How about… > nx g @vendure/nx:convert-database my-store -d mssql
No more updateophobia… > nx g migrate @vendure/nx@latest
Full IDE support
2024
Ask not what Vendure can do for you - ask
what you can do for Vendure
Vendure Developer Day / December 9th 2023 Miroslav Jonaš /
@meeroslav Thank you! +