Megjelent a MedusaGo nyílt forráskódú projekt, amely a Medusa internetes bolt létrehozásához használt platform szerveroldali implementációját fejleszti a Go nyelven (az eredeti Medusa platform TypeScript nyelven készült és Node.js alatt fut). A MedusaGo kompatibilis a Medusa v2 API szinten (az alap verzió 2.22.4), ezért a Medusa kezelőfelülete, az @medusajs/js-sdk könyvtár és a meglévő boltívek módosítás nélkül működnek vele. A kód MIT licenc alatt terjed.
A MedusaGo ugyanazt az adatbázis-sémát használja PostgreSQL-hez, mint a Medusa, így működő boltadatbázis fölé telepíthető Node.js alatt. Visszafelé is lehetséges a folyamat. Csak a Go 1.26+, PostgreSQL és opcionálisan a Redis szükséges. A Node.js csak a Next.js boltívekhez és az adminisztrátori felület frissítéséhez szükséges. Az Enterprise Edition (RBAC, SSO) elemei nem tartoznak a projekthez. A kompatibilitás több mint 2600 elküldött lekérdezés ellenőrzésével lett tesztelve 96 forgatókönyvben, amelyek mindkét megvalósításhoz eljutottak, majd a válaszkódok, fejléc, cookie-k és választestek byte-ról byte-ra összehasonlításra kerültek, az adatbázis tartalma összehasonlításra került, és a modulok, valamint a lekérdezési réteg viselkedése is ellenőrzésre került.
A tároló struktúrája megismétli a Medusa monorepo-struktúráját: minden route.ts fájlhoz egy route.go fájl tartozik. A terméklistázás, kosár, megrendelések, kifizetések, árak, promóciók, raktárak, szállítás, adók, hitelesítés és egyéb modulok, valamint a workflow motor (in-memory és Redis alapú) portolva lett. Jelenleg a projekt körülbelül 1400 fájlt és 177 ezer sor Go kódot tartalmaz. A forrás JavaScript csomagok (adminisztrátori felület, dizájnrendszer, js-sdk) változatlanul szinkronizálva vannak az upstream-mel. Új projekt létrehozására a create-medusago-app segédprogram ajánlott, amely a create-medusa-app segédprogramhoz hasonló. A CLI parancsok a Medusa parancsait követik.
Forrás: opennet.ru
