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.

medusa-config.ts
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

Spis treści