Wtyczki do Medusy
Wtyczki do Medusa v2, które rozwijamy otwarcie - do czego służą, jak się ze sobą zazębiają i co oznacza wpięcie takiej wtyczki w projekt Medusy.
Medusa to framework, na którym stawiamy sklepy, a poniżej zebraliśmy wtyczki, które do niego otwarcie rozwijamy. Każda robi jedną rzecz i tylko ją, a jej strona powstaje z dokumentacji leżącej w jej repozytorium.
Wszystkie działają z Medusa v2. Opierają się na admin SDK i loaderze wtyczek z dwójki, więc w projekcie na v1 się nie zainstalują.
Kod leży na github.com/zanreal-labs, razem z resztą naszego programu open source.
Jak się zazębiają
@zanreal/medusa-admin-kit to ta, na której opierają się pozostałe. Dokłada do
panelu jedną rozszerzalną tabelę Catalog oraz rejestr, do którego inna
wtyczka dopisuje własną kolumnę. Sklep z trzema takimi wtyczkami dostaje więc
jedną listę produktów z trzema dodatkowymi kolumnami, a nie trzy bliźniacze
listy.
Wtyczka, która robi swoje w tle, nie potrzebuje z tego nic i niczego stąd nie wymaga. Rejestr jest opcją, a nie ramą, w którą trzeba się wpasować.
Jak wpiąć wtyczkę
Druga połowa wygląda tak samo dla każdej z nich: zarejestruj wtyczkę w
medusa-config.ts, a Medusa ją załaduje, natomiast build panelu zabierze ze
sobą ekrany, które wtyczka wnosi.
module.exports = defineConfig({
plugins: ["@zanreal/medusa-admin-kit"],
});Pierwsza połowa, czyli samo pobranie paczki, wymaga jasnego postawienia sprawy:
tych wtyczek nie ma w publicznym rejestrze npm. Zwykłe
npm add @zanreal/medusa-admin-kit się nie rozwiąże. Kopię bierzesz z
repozytorium, do którego prowadzi kafelek poniżej, a sposób zbudowania paczki
opisuje README w tym repozytorium.
Żadna z nich nie wciąga Medusy do środka. Paczki @medusajs/* każda trzyma w
peer dependencies, więc buduje się na tej wersji Medusy, którą już masz, a
wymagane minimum znajdziesz na stronie konkretnej wtyczki.
Lista wtyczek
@zanreal/medusa-admin-kit
Rozszerzalna tabela katalogu w panelu Medusa v2 wraz z rejestrem kolumn, do którego piszą pozostałe wtyczki.
@zanreal/medusa-usage
Rozliczanie zużycia dla Medusy v2: dziennik zdarzeń tylko do dopisywania, deterministyczna deduplikacja, okresy rozliczeniowe i wycena.
@zanreal/medusa-usage-tinybird
Sink do Tinybirda dla @zanreal/medusa-usage: ten sam dziennik zużycia tylko do dopisywania, deduplikowany przy odczycie, żeby ponowienie nie liczyło podwójnie.