Analyze a Mercur 1.x project and guide migration to 2.0. Self-contained — works without access to the mercur monorepo.
Use this skill when:
| 1.x | 2.0 |
|---|---|
@mercurjs/b2c-core | @mercurjs/core — all core modules built in |
@mercurjs/commission | Built into core |
@mercurjs/algolia | Registry block: mercurjs add algolia |
@mercurjs/resend | No 2.0 equivalent — port manually |
@mercurjs/payment-stripe-connect | No 2.0 equivalent — port manually |
@mercurjs/stripe-tax-provider | No 2.0 equivalent — port manually |
@medusajs/admin-vite-plugin | @mercurjs/dashboard-sdk |
@medusajs/js-sdk | @mercurjs/client (generated typed client) |
| 1.x | 2.0 |
|---|---|
apps/backend/src/* | packages/api/src/* |
apps/backend/src/modules/ | packages/api/src/modules/ |
apps/backend/src/workflows/ | packages/api/src/workflows/ |
apps/backend/src/api/ | packages/api/src/api/ |
apps/backend/src/subscribers/ | packages/api/src/subscribers/ |
apps/backend/src/links/ | packages/api/src/links/ |
apps/admin/src/routes/ | apps/admin/src/routes/ |
apps/vendor/src/routes/ | apps/vendor/src/routes/ |
| Old | New |
|---|---|
from "@medusajs/utils" | from "@medusajs/framework/utils" |
from "@medusajs/js-sdk" | from "@mercurjs/client" |
from "@custom-types/*" | from "@mercurjs/types" |
from "@hooks/*" | from "@mercurjs/dashboard-shared" or local |
from "@components/*" | from "@mercurjs/dashboard-shared" |
from "@lib/*" | from "@mercurjs/dashboard-shared" |
from "@mercurjs/b2c-core" | from "@mercurjs/core" |
Custom providers in medusa-config.ts must use ./src/ prefix:
// Wrong (will fail with "Cannot find module")