Wprowadzenie
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
Katalog i kolumny
@zanreal/medusa-admin-kit to rozszerzalna tabela katalogu w panelu Medusa v2 wraz z rejestrem kolumn, do którego piszą pozostałe wtyczki.
Allegro
@zanreal/medusa-allegro to synchronizacja z Allegro dla Medusa v2: oferty powiązane po SKU, zapisy cen w wyznaczonych granicach, stany magazynowe i drenaż dziennika zamówień.
Zużycie
@zanreal/medusa-usage to rozliczanie zużycia dla Medusy v2: dziennik zdarzeń tylko do dopisywania, deterministyczna deduplikacja, okresy rozliczeniowe i wycena.
Sink do Tinybirda
@zanreal/medusa-usage-tinybird to 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.
Ceny walutowe
@zanreal/medusa-fx-pricing przelicza ceny wariantów na USD i EUR po średnim kursie z tabeli A NBP w chwili zmiany ceny w PLN, z Twoją marżą i bez ruszania cen wpisanych ręcznie.
Koszty produktów
@zanreal/medusa-product-costs to koszt zakupu (COGS) na SKU dla Medusy v2, z historią tylko do dopisywania oraz marżą, progiem rentowności i wynikiem liczonymi z tego kosztu.
inFakt
Fakturowanie dla Medusy v2 przez inFakt: dokument dla opłaconego zamówienia, wysyłka faktur B2B do KSeF i trwały potok, który przy każdej wątpliwości czeka na człowieka.