feature: bundle all modules (#9324)
This commit is contained in:
1 parent
a4fc9d6e0b
commit
a578313db9
81 files changed
+640
-226
No files matched your search
@@ -21,7 +21,7 @@
|
||||
"@medusajs/types": "^1.11.16",
|
||||
"@types/compression": "^1.7.5",
|
||||
"copyfiles": "^2.4.1",
|
||||
"express": "^4.18.2",
|
||||
"express": "^4.21.0",
|
||||
"tsup": "^8.0.1",
|
||||
"typescript": "^5.3.3"
|
||||
},
|
||||
@@ -37,7 +37,7 @@
|
||||
"vite": "^5.2.11"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"express": "^4.18.2",
|
||||
"express": "^4.21.0",
|
||||
"react-dom": "^18.0.0"
|
||||
},
|
||||
"packageManager": "yarn@3.2.1"
|
||||
|
||||
@@ -32,10 +32,16 @@
|
||||
"author": "Sebastian Rindom",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@mikro-orm/core": "5.9.7",
|
||||
"@mikro-orm/knex": "5.9.7",
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"@types/yargs": "^15.0.15",
|
||||
"awilix": "^8.0.1",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"rimraf": "^5.0.1",
|
||||
"typescript": "^5.6.2"
|
||||
},
|
||||
@@ -45,6 +51,7 @@
|
||||
"configstore": "5.0.1",
|
||||
"dotenv": "^16.4.5",
|
||||
"execa": "^5.1.1",
|
||||
"express": "^4.21.0",
|
||||
"fs-exists-cached": "^1.0.0",
|
||||
"fs-extra": "^10.0.0",
|
||||
"glob": "^7.1.6",
|
||||
@@ -63,5 +70,13 @@
|
||||
"winston": "^3.8.2",
|
||||
"yargs": "^15.3.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@mikro-orm/core": "5.9.7",
|
||||
"@mikro-orm/knex": "5.9.7",
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"awilix": "^8.0.1",
|
||||
"pg": "^8.13.0"
|
||||
},
|
||||
"gitHead": "81a7ff73d012fda722f6e9ef0bd9ba0232d37808"
|
||||
}
|
||||
@@ -39,9 +39,7 @@ function buildLocalCommands(cli, isLocalProject) {
|
||||
}
|
||||
|
||||
try {
|
||||
const cmdPath = resolveCwd.silent(
|
||||
`@medusajs/medusa/dist/commands/${command}`
|
||||
)!
|
||||
const cmdPath = resolveCwd.silent(`@medusajs/medusa/commands/${command}`)!
|
||||
return require(cmdPath).default
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
|
||||
@@ -34,9 +34,6 @@
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"awilix": "^8.0.1",
|
||||
"bignumber.js": "^9.1.2",
|
||||
"cross-env": "^5.2.1",
|
||||
"ioredis": "^5.4.1",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"rimraf": "^5.0.1",
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
"test": "jest --runInBand --bail --passWithNoTests --forceExit"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@medusajs/medusa-cli": "^1.3.22",
|
||||
"@mikro-orm/core": "5.9.7",
|
||||
"@mikro-orm/knex": "5.9.7",
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
@@ -58,7 +59,6 @@
|
||||
"@types/express": "^4.17.17",
|
||||
"@types/jsonwebtoken": "^8.5.9",
|
||||
"awilix": "^8.0.1",
|
||||
"bignumber.js": "^9.1.2",
|
||||
"ioredis": "^5.4.1",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
@@ -68,7 +68,6 @@
|
||||
"vite": "^5.2.11"
|
||||
},
|
||||
"dependencies": {
|
||||
"@medusajs/medusa-cli": "^1.3.22",
|
||||
"@medusajs/modules-sdk": "^1.12.11",
|
||||
"@medusajs/orchestration": "^0.5.7",
|
||||
"@medusajs/types": "^1.11.16",
|
||||
@@ -78,23 +77,30 @@
|
||||
"connect-redis": "5.2.0",
|
||||
"cookie-parser": "^1.4.6",
|
||||
"cors": "^2.8.5",
|
||||
"express": "^4.18.2",
|
||||
"express": "^4.21.0",
|
||||
"express-session": "^1.17.3",
|
||||
"ioredis": "^5.4.1",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
"medusa-telemetry": "^0.0.17",
|
||||
"morgan": "^1.9.1",
|
||||
"zod": "3.22.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/medusa-cli": "^1.3.22",
|
||||
"@mikro-orm/core": "5.9.7",
|
||||
"@mikro-orm/knex": "5.9.7",
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"awilix": "^8.0.1",
|
||||
"bignumber.js": "^9.1.2",
|
||||
"ioredis": "^5.4.1",
|
||||
"pg": "^8.13.0",
|
||||
"vite": "^5.2.11"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"ioredis": {
|
||||
"optional": true
|
||||
},
|
||||
"vite": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"extends": "../../../_tsconfig.base.json"
|
||||
}
|
||||
@@ -33,11 +33,14 @@
|
||||
"devDependencies": {
|
||||
"@mikro-orm/core": "5.9.7",
|
||||
"@mikro-orm/knex": "5.9.7",
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"awilix": "^8.0.1",
|
||||
"cross-env": "^5.2.1",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"rimraf": "^5.0.1",
|
||||
"typescript": "^5.6.2"
|
||||
},
|
||||
@@ -50,6 +53,10 @@
|
||||
"peerDependencies": {
|
||||
"@mikro-orm/core": "5.9.7",
|
||||
"@mikro-orm/knex": "5.9.7",
|
||||
"awilix": "^8.0.1"
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"awilix": "^8.0.1",
|
||||
"express": "^4.21.0",
|
||||
"pg": "^8.13.0"
|
||||
}
|
||||
}
|
||||
@@ -7,31 +7,31 @@ import {
|
||||
import { MODULE_RESOURCE_TYPE, MODULE_SCOPE } from "./types"
|
||||
|
||||
export const MODULE_PACKAGE_NAMES = {
|
||||
[Modules.AUTH]: "@medusajs/auth",
|
||||
[Modules.CACHE]: "@medusajs/cache-inmemory",
|
||||
[Modules.CART]: "@medusajs/cart",
|
||||
[Modules.CUSTOMER]: "@medusajs/customer",
|
||||
[Modules.EVENT_BUS]: "@medusajs/event-bus-local",
|
||||
[Modules.INVENTORY]: "@medusajs/inventory-next", // TODO: To be replaced when current `@medusajs/inventory` is deprecated
|
||||
[Modules.LINK]: "@medusajs/link-modules",
|
||||
[Modules.PAYMENT]: "@medusajs/payment",
|
||||
[Modules.PRICING]: "@medusajs/pricing",
|
||||
[Modules.PRODUCT]: "@medusajs/product",
|
||||
[Modules.PROMOTION]: "@medusajs/promotion",
|
||||
[Modules.SALES_CHANNEL]: "@medusajs/sales-channel",
|
||||
[Modules.FULFILLMENT]: "@medusajs/fulfillment",
|
||||
[Modules.STOCK_LOCATION]: "@medusajs/stock-location-next", // TODO: To be replaced when current `@medusajs/stock-location` is deprecated
|
||||
[Modules.TAX]: "@medusajs/tax",
|
||||
[Modules.USER]: "@medusajs/user",
|
||||
[Modules.WORKFLOW_ENGINE]: "@medusajs/workflow-engine-inmemory",
|
||||
[Modules.REGION]: "@medusajs/region",
|
||||
[Modules.ORDER]: "@medusajs/order",
|
||||
[Modules.API_KEY]: "@medusajs/api-key",
|
||||
[Modules.STORE]: "@medusajs/store",
|
||||
[Modules.CURRENCY]: "@medusajs/currency",
|
||||
[Modules.FILE]: "@medusajs/file",
|
||||
[Modules.NOTIFICATION]: "@medusajs/notification",
|
||||
[Modules.INDEX]: "@medusajs/index",
|
||||
[Modules.AUTH]: "@medusajs/medusa/auth",
|
||||
[Modules.CACHE]: "@medusajs/medusa/cache-inmemory",
|
||||
[Modules.CART]: "@medusajs/medusa/cart",
|
||||
[Modules.CUSTOMER]: "@medusajs/medusa/customer",
|
||||
[Modules.EVENT_BUS]: "@medusajs/medusa/event-bus-local",
|
||||
[Modules.INVENTORY]: "@medusajs/medusa/inventory-next", // TODO: To be replaced when current `@medusajs/inventory` is deprecated
|
||||
[Modules.LINK]: "@medusajs/medusa/link-modules",
|
||||
[Modules.PAYMENT]: "@medusajs/medusa/payment",
|
||||
[Modules.PRICING]: "@medusajs/medusa/pricing",
|
||||
[Modules.PRODUCT]: "@medusajs/medusa/product",
|
||||
[Modules.PROMOTION]: "@medusajs/medusa/promotion",
|
||||
[Modules.SALES_CHANNEL]: "@medusajs/medusa/sales-channel",
|
||||
[Modules.FULFILLMENT]: "@medusajs/medusa/fulfillment",
|
||||
[Modules.STOCK_LOCATION]: "@medusajs/medusa/stock-location-next", // TODO: To be replaced when current `@medusajs/stock-location` is deprecated
|
||||
[Modules.TAX]: "@medusajs/medusa/tax",
|
||||
[Modules.USER]: "@medusajs/medusa/user",
|
||||
[Modules.WORKFLOW_ENGINE]: "@medusajs/medusa/workflow-engine-inmemory",
|
||||
[Modules.REGION]: "@medusajs/medusa/region",
|
||||
[Modules.ORDER]: "@medusajs/medusa/order",
|
||||
[Modules.API_KEY]: "@medusajs/medusa/api-key",
|
||||
[Modules.STORE]: "@medusajs/medusa/store",
|
||||
[Modules.CURRENCY]: "@medusajs/medusa/currency",
|
||||
[Modules.FILE]: "@medusajs/medusa/file",
|
||||
[Modules.NOTIFICATION]: "@medusajs/medusa/notification",
|
||||
[Modules.INDEX]: "@medusajs/medusa/index-module",
|
||||
}
|
||||
|
||||
export const ModulesDefinition: {
|
||||
|
||||
@@ -35,7 +35,10 @@ describe("load internal - load resources", () => {
|
||||
(ModuleService.prototype as IModuleService).__joinerConfig
|
||||
).toBeUndefined()
|
||||
|
||||
const resources = await loadResources(moduleResolution)
|
||||
const resources = await loadResources({
|
||||
moduleResolution,
|
||||
discoveryPath: moduleResolution.resolutionPath as string,
|
||||
})
|
||||
|
||||
expect(resources).toBeDefined()
|
||||
expect(resources.services).toHaveLength(1)
|
||||
@@ -115,7 +118,10 @@ describe("load internal - load resources", () => {
|
||||
(ModuleService.prototype as IModuleService).__joinerConfig
|
||||
).toBeUndefined()
|
||||
|
||||
const resources = await loadResources(moduleResolution)
|
||||
const resources = await loadResources({
|
||||
moduleResolution,
|
||||
discoveryPath: moduleResolution.resolutionPath as string,
|
||||
})
|
||||
|
||||
expect(resources).toBeDefined()
|
||||
expect(resources.services).toHaveLength(1)
|
||||
@@ -195,7 +201,10 @@ describe("load internal - load resources", () => {
|
||||
(ModuleService.prototype as IModuleService).__joinerConfig
|
||||
).toBeUndefined()
|
||||
|
||||
const resources = await loadResources(moduleResolution)
|
||||
const resources = await loadResources({
|
||||
moduleResolution,
|
||||
discoveryPath: moduleResolution.resolutionPath as string,
|
||||
})
|
||||
|
||||
expect(resources).toBeDefined()
|
||||
expect(resources.services).toHaveLength(1)
|
||||
@@ -274,7 +283,10 @@ describe("load internal - load resources", () => {
|
||||
(ModuleService.prototype as IModuleService).__joinerConfig
|
||||
).toBeDefined()
|
||||
|
||||
const resources = await loadResources(moduleResolution)
|
||||
const resources = await loadResources({
|
||||
moduleResolution,
|
||||
discoveryPath: moduleResolution.resolutionPath as string,
|
||||
})
|
||||
|
||||
expect(resources).toBeDefined()
|
||||
expect(resources.services).toHaveLength(1)
|
||||
|
||||
@@ -22,7 +22,7 @@ import {
|
||||
import { asFunction, asValue } from "awilix"
|
||||
import { statSync } from "fs"
|
||||
import { readdir } from "fs/promises"
|
||||
import { join, resolve } from "path"
|
||||
import { dirname, join, resolve } from "path"
|
||||
import { MODULE_RESOURCE_TYPE } from "../../types"
|
||||
|
||||
type ModuleResource = {
|
||||
@@ -39,35 +39,40 @@ type MigrationFunction = (
|
||||
moduleDeclaration?: InternalModuleDeclaration
|
||||
) => Promise<void>
|
||||
|
||||
export async function loadInternalModule(
|
||||
container: MedusaContainer,
|
||||
resolution: ModuleResolution,
|
||||
logger: Logger,
|
||||
migrationOnly?: boolean,
|
||||
loaderOnly?: boolean
|
||||
): Promise<{ error?: Error } | void> {
|
||||
const keyName = !loaderOnly
|
||||
? resolution.definition.key
|
||||
: resolution.definition.key + "__loaderOnly"
|
||||
|
||||
const { resources } =
|
||||
resolution.moduleDeclaration as InternalModuleDeclaration
|
||||
|
||||
let loadedModule: ModuleExports
|
||||
export async function resolveModuleExports({
|
||||
resolution,
|
||||
}: {
|
||||
resolution: ModuleResolution
|
||||
}): Promise<
|
||||
| (ModuleExports & {
|
||||
discoveryPath: string
|
||||
})
|
||||
| { error: any }
|
||||
> {
|
||||
let resolvedModuleExports: ModuleExports
|
||||
try {
|
||||
// When loading manually, we pass the exports to be loaded, meaning that we do not need to import the package to find
|
||||
// the exports. This is useful when a package export an initialize function which will bootstrap itself and therefore
|
||||
// does not need to import the package that is currently being loaded as it would create a
|
||||
// circular reference.
|
||||
const modulePath = resolution.resolutionPath as string
|
||||
|
||||
if (resolution.moduleExports) {
|
||||
// TODO:
|
||||
// If we want to benefit from the auto load mechanism, even if the module exports is provided, we need to ask for the module path
|
||||
loadedModule = resolution.moduleExports
|
||||
resolvedModuleExports = resolution.moduleExports
|
||||
resolvedModuleExports.discoveryPath = resolution.resolutionPath as string
|
||||
} else {
|
||||
loadedModule = await dynamicImport(modulePath)
|
||||
loadedModule = (loadedModule as any).default
|
||||
const module = await dynamicImport(resolution.resolutionPath as string)
|
||||
|
||||
if ("discoveryPath" in module) {
|
||||
const reExportedLoadedModule = await dynamicImport(module.discoveryPath)
|
||||
const discoveryPath = module.discoveryPath
|
||||
resolvedModuleExports = reExportedLoadedModule.default
|
||||
resolvedModuleExports.discoveryPath = discoveryPath as string
|
||||
} else {
|
||||
resolvedModuleExports = (module as { default: ModuleExports }).default
|
||||
resolvedModuleExports.discoveryPath =
|
||||
resolution.resolutionPath as string
|
||||
}
|
||||
}
|
||||
|
||||
return resolvedModuleExports as ModuleExports & {
|
||||
discoveryPath: string
|
||||
}
|
||||
} catch (error) {
|
||||
if (
|
||||
@@ -83,15 +88,37 @@ export async function loadInternalModule(
|
||||
|
||||
return { error }
|
||||
}
|
||||
}
|
||||
|
||||
export async function loadInternalModule(
|
||||
container: MedusaContainer,
|
||||
resolution: ModuleResolution,
|
||||
logger: Logger,
|
||||
migrationOnly?: boolean,
|
||||
loaderOnly?: boolean
|
||||
): Promise<{ error?: Error } | void> {
|
||||
const keyName = !loaderOnly
|
||||
? resolution.definition.key
|
||||
: resolution.definition.key + "__loaderOnly"
|
||||
|
||||
const { resources } =
|
||||
resolution.moduleDeclaration as InternalModuleDeclaration
|
||||
|
||||
const loadedModule = await resolveModuleExports({ resolution })
|
||||
|
||||
if ("error" in loadedModule) {
|
||||
return loadedModule
|
||||
}
|
||||
|
||||
let moduleResources = {} as ModuleResource
|
||||
|
||||
if (resolution.resolutionPath) {
|
||||
moduleResources = await loadResources(
|
||||
resolution,
|
||||
if (loadedModule.discoveryPath) {
|
||||
moduleResources = await loadResources({
|
||||
moduleResolution: resolution,
|
||||
discoveryPath: loadedModule.discoveryPath,
|
||||
logger,
|
||||
loadedModule?.loaders ?? []
|
||||
)
|
||||
loadedModuleLoaders: loadedModule?.loaders,
|
||||
})
|
||||
}
|
||||
|
||||
if (!loadedModule?.service && !moduleResources.moduleService) {
|
||||
@@ -193,22 +220,25 @@ export async function loadModuleMigrations(
|
||||
revertMigration?: MigrationFunction
|
||||
generateMigration?: MigrationFunction
|
||||
}> {
|
||||
let loadedModule: ModuleExports
|
||||
try {
|
||||
loadedModule =
|
||||
moduleExports ??
|
||||
(await dynamicImport(resolution.resolutionPath as string))
|
||||
const loadedModule = await resolveModuleExports({
|
||||
resolution: { ...resolution, moduleExports },
|
||||
})
|
||||
|
||||
if ("error" in loadedModule) {
|
||||
throw loadedModule.error
|
||||
}
|
||||
|
||||
try {
|
||||
let runMigrations = loadedModule.runMigrations
|
||||
let revertMigration = loadedModule.revertMigration
|
||||
let generateMigration = loadedModule.generateMigration
|
||||
|
||||
if (!runMigrations || !revertMigration) {
|
||||
const moduleResources = await loadResources(
|
||||
resolution,
|
||||
console as unknown as Logger,
|
||||
loadedModule?.loaders ?? []
|
||||
)
|
||||
const moduleResources = await loadResources({
|
||||
moduleResolution: resolution,
|
||||
discoveryPath: loadedModule.discoveryPath,
|
||||
loadedModuleLoaders: loadedModule?.loaders,
|
||||
})
|
||||
|
||||
const migrationScriptOptions = {
|
||||
moduleName: resolution.definition.key,
|
||||
@@ -269,15 +299,22 @@ async function importAllFromDir(path: string) {
|
||||
})
|
||||
}
|
||||
|
||||
export async function loadResources(
|
||||
moduleResolution: ModuleResolution,
|
||||
logger: Logger = console as unknown as Logger,
|
||||
export async function loadResources({
|
||||
moduleResolution,
|
||||
discoveryPath,
|
||||
logger,
|
||||
loadedModuleLoaders,
|
||||
}: {
|
||||
moduleResolution: ModuleResolution
|
||||
discoveryPath: string
|
||||
logger?: Logger
|
||||
loadedModuleLoaders?: ModuleLoaderFunction[]
|
||||
): Promise<ModuleResource> {
|
||||
let modulePath = moduleResolution.resolutionPath as string
|
||||
let normalizedPath = modulePath
|
||||
.replace("index.js", "")
|
||||
.replace("index.ts", "")
|
||||
}): Promise<ModuleResource> {
|
||||
logger ??= console as unknown as Logger
|
||||
loadedModuleLoaders ??= []
|
||||
|
||||
const modulePath = discoveryPath
|
||||
let normalizedPath = dirname(require.resolve(modulePath))
|
||||
normalizedPath = resolve(normalizedPath)
|
||||
|
||||
try {
|
||||
|
||||
@@ -206,8 +206,16 @@ async function initializeLinks({
|
||||
moduleExports,
|
||||
}) {
|
||||
try {
|
||||
const { initialize, getMigrationPlanner } =
|
||||
moduleExports ?? (await dynamicImport(LinkModulePackage))
|
||||
let resources = moduleExports
|
||||
if (!resources) {
|
||||
const module = await dynamicImport(LinkModulePackage)
|
||||
if ("discoveryPath" in module) {
|
||||
const reExportedLoadedModule = await dynamicImport(module.discoveryPath)
|
||||
resources = reExportedLoadedModule.default ?? reExportedLoadedModule
|
||||
}
|
||||
}
|
||||
|
||||
const { initialize, getMigrationPlanner } = resources
|
||||
|
||||
const linkResolution = await initialize(
|
||||
config,
|
||||
|
||||
@@ -26,10 +26,15 @@
|
||||
"author": "Medusa",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@mikro-orm/core": "5.9.7",
|
||||
"@mikro-orm/knex": "5.9.7",
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"awilix": "^8.0.1",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"rimraf": "^5.0.1",
|
||||
"typescript": "^5.6.2"
|
||||
},
|
||||
@@ -38,7 +43,13 @@
|
||||
"@medusajs/utils": "^1.11.9"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"awilix": "^8.0.1"
|
||||
"@mikro-orm/core": "5.9.7",
|
||||
"@mikro-orm/knex": "5.9.7",
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"awilix": "^8.0.1",
|
||||
"express": "^4.21.0",
|
||||
"pg": "^8.13.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rimraf dist && tsc --build",
|
||||
|
||||
@@ -31,9 +31,11 @@
|
||||
"watch": "tsc --build --watch",
|
||||
"test": "exit 0"
|
||||
},
|
||||
"dependencies": {
|
||||
"bignumber.js": "^9.1.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"awilix": "^8.0.1",
|
||||
"bignumber.js": "^9.1.2",
|
||||
"expect-type": "^0.20.0",
|
||||
"ioredis": "^5.4.1",
|
||||
"rimraf": "^5.0.1",
|
||||
@@ -42,11 +44,13 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"awilix": "^8.0.1",
|
||||
"bignumber.js": "^9.1.2",
|
||||
"ioredis": "^5.4.1",
|
||||
"vite": "^5.2.11"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"ioredis": {
|
||||
"optional": true
|
||||
},
|
||||
"vite": {
|
||||
"optional": true
|
||||
}
|
||||
|
||||
@@ -264,6 +264,11 @@ export type ModuleExports<T = Constructor<any>> = {
|
||||
options: LoaderOptions<any>,
|
||||
moduleDeclaration?: InternalModuleDeclaration
|
||||
): Promise<void>
|
||||
/**
|
||||
* Explicitly set the the true location of the module resources.
|
||||
* Can be used to re-export the module from a different location and specify its original location.
|
||||
*/
|
||||
discoveryPath?: string
|
||||
}
|
||||
|
||||
export interface ModuleServiceInitializeOptions {
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"@swc/jest": "^0.2.36",
|
||||
"@types/express": "^4.17.21",
|
||||
"awilix": "^8.0.1",
|
||||
"bignumber.js": "^9.1.2",
|
||||
"expect-type": "^0.20.0",
|
||||
"express": "^4.21.0",
|
||||
"jest": "^29.7.0",
|
||||
@@ -49,6 +48,7 @@
|
||||
"@graphql-tools/merge": "^9.0.7",
|
||||
"@graphql-tools/schema": "^10.0.6",
|
||||
"@medusajs/types": "^1.11.16",
|
||||
"bignumber.js": "^9.1.2",
|
||||
"dotenv": "^16.4.5",
|
||||
"dotenv-expand": "^11.0.6",
|
||||
"graphql": "^16.9.0",
|
||||
@@ -63,7 +63,7 @@
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"awilix": "^8.0.1",
|
||||
"bignumber.js": "^9.1.2",
|
||||
"express": "^4.21.0",
|
||||
"pg": "^8.13.0"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
export function resolveExports(moduleExports) {
|
||||
if ("default" in moduleExports && "default" in moduleExports.default) {
|
||||
if (
|
||||
"default" in moduleExports &&
|
||||
moduleExports.default &&
|
||||
"default" in moduleExports.default
|
||||
) {
|
||||
return resolveExports(moduleExports.default)
|
||||
}
|
||||
return moduleExports
|
||||
|
||||
@@ -27,10 +27,15 @@
|
||||
"author": "Medusa",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@mikro-orm/core": "5.9.7",
|
||||
"@mikro-orm/knex": "5.9.7",
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"awilix": "^8.0.1",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"rimraf": "^5.0.1",
|
||||
"typescript": "^5.6.2"
|
||||
},
|
||||
@@ -42,7 +47,13 @@
|
||||
"ulid": "^2.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"awilix": "^8.0.1"
|
||||
"@mikro-orm/core": "5.9.7",
|
||||
"@mikro-orm/knex": "5.9.7",
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"awilix": "^8.0.1",
|
||||
"express": "^4.21.0",
|
||||
"pg": "^8.13.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "rimraf dist && tsc --build",
|
||||
|
||||
File renamed without changes.
File renamed without changes.
+1
-3
@@ -31,9 +31,6 @@
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"awilix": "^8.0.1",
|
||||
"bignumber.js": "^9.1.2",
|
||||
"express": "^4.18.3",
|
||||
"ioredis": "^5.4.1",
|
||||
"jest": "^29.7.0",
|
||||
"pg": "^8.13.0",
|
||||
"pg-god": "^1.0.12",
|
||||
@@ -42,6 +39,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^0.21.4",
|
||||
"express": "^4.21.0",
|
||||
"get-port": "^5.1.0",
|
||||
"randomatic": "^3.1.1"
|
||||
},
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
+1
-1
@@ -4,6 +4,6 @@ export { default as IdMap } from "./id-map"
|
||||
export * from "./init-modules"
|
||||
export * as JestUtils from "./jest"
|
||||
export * from "./medusa-test-runner"
|
||||
export * from "./medusa-test-runner-utils/"
|
||||
export * from "./medusa-test-runner-utils"
|
||||
export { default as MockEventBusService } from "./mock-event-bus-service"
|
||||
export * from "./module-test-runner"
|
||||
File renamed without changes.
File renamed without changes.
+1
-1
@@ -12,7 +12,7 @@ async function bootstrapApp({
|
||||
const app = express()
|
||||
applyEnvVarsToProcess(env)
|
||||
|
||||
const loaders = require("@medusajs/medusa/dist/loaders").default
|
||||
const loaders = require("@medusajs/medusa/loaders/index").default
|
||||
|
||||
const { container, shutdown } = await loaders({
|
||||
directory: resolve(cwd || process.cwd()),
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
+3
-4
@@ -54,10 +54,9 @@ export async function syncLinks(
|
||||
|
||||
async function loadCustomLinks(directory: string, container: MedusaContainer) {
|
||||
// TODO: move to framework once settle down
|
||||
const { getResolvedPlugins } = await import(
|
||||
// @ts-expect-error
|
||||
"@medusajs/medusa/dist/loaders/helpers/resolve-plugins"
|
||||
)
|
||||
const {
|
||||
getResolvedPlugins,
|
||||
} = require("@medusajs/medusa/loaders/helpers/resolve-plugins")
|
||||
|
||||
const configModule = container.resolve(
|
||||
ContainerRegistrationKeys.CONFIG_MODULE
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "../../_tsconfig.base.json"
|
||||
}
|
||||
@@ -3,6 +3,16 @@
|
||||
"version": "1.20.5",
|
||||
"description": "Building blocks for digital commerce",
|
||||
"main": "dist/index.js",
|
||||
"exports": {
|
||||
".": "./dist/index.js",
|
||||
"./api/*": "./dist/api/*.js",
|
||||
"./subscribers/*": "./dist/subscribers/*.js",
|
||||
"./jobs/*": "./dist/jobs/*.js",
|
||||
"./core-flows": "./dist/core-flows/index.js",
|
||||
"./loaders/*": "./dist/loaders/*.js",
|
||||
"./commands/*": "./dist/commands/*.js",
|
||||
"./*": "./dist/modules/*.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/medusajs/medusa",
|
||||
@@ -51,15 +61,51 @@
|
||||
"@inquirer/checkbox": "^2.3.11",
|
||||
"@inquirer/input": "^2.2.9",
|
||||
"@medusajs/admin-bundler": "0.0.1",
|
||||
"@medusajs/api-key": "^0.1.2",
|
||||
"@medusajs/auth": "^0.0.3",
|
||||
"@medusajs/auth-emailpass": "^0.0.1",
|
||||
"@medusajs/auth-github": "^0.0.1",
|
||||
"@medusajs/auth-google": "^0.0.1",
|
||||
"@medusajs/cache-inmemory": "^1.8.10",
|
||||
"@medusajs/cache-redis": "^1.9.1",
|
||||
"@medusajs/cart": "^0.0.3",
|
||||
"@medusajs/core-flows": "^0.0.9",
|
||||
"@medusajs/currency": "^0.1.2",
|
||||
"@medusajs/customer": "^0.0.3",
|
||||
"@medusajs/event-bus-local": "^1.9.8",
|
||||
"@medusajs/event-bus-redis": "^1.8.13",
|
||||
"@medusajs/file": "^0.0.1",
|
||||
"@medusajs/file-local-next": "^0.0.2",
|
||||
"@medusajs/file-s3": "^0.0.2",
|
||||
"@medusajs/fulfillment": "^0.1.2",
|
||||
"@medusajs/fulfillment-manual": "^0.0.2",
|
||||
"@medusajs/index": "^0.0.1",
|
||||
"@medusajs/inventory-next": "^0.0.3",
|
||||
"@medusajs/link-modules": "^0.2.11",
|
||||
"@medusajs/notification": "^0.1.2",
|
||||
"@medusajs/notification-local": "^0.0.1",
|
||||
"@medusajs/notification-sendgrid": "^0.0.1",
|
||||
"@medusajs/order": "^0.1.2",
|
||||
"@medusajs/payment": "^0.0.3",
|
||||
"@medusajs/payment-stripe": "^0.0.2",
|
||||
"@medusajs/pricing": "^0.1.12",
|
||||
"@medusajs/product": "^0.3.12",
|
||||
"@medusajs/promotion": "^0.0.4",
|
||||
"@medusajs/region": "^0.1.1",
|
||||
"@medusajs/sales-channel": "^0.1.1",
|
||||
"@medusajs/stock-location-next": "^0.0.3",
|
||||
"@medusajs/store": "^0.1.1",
|
||||
"@medusajs/tax": "^0.1.1",
|
||||
"@medusajs/user": "^0.0.3",
|
||||
"@medusajs/workflow-engine-inmemory": "^0.0.4",
|
||||
"@medusajs/workflow-engine-redis": "^0.0.4",
|
||||
"@swc/core": "1.5.7",
|
||||
"@swc/helpers": "^0.5.11",
|
||||
"boxen": "^5.0.1",
|
||||
"chalk": "^4.0.0",
|
||||
"chokidar": "^3.4.2",
|
||||
"compression": "^1.7.4",
|
||||
"express": "^4.18.2",
|
||||
"express": "^4.21.0",
|
||||
"fs-exists-cached": "^1.0.0",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
"lodash": "^4.17.21",
|
||||
@@ -74,6 +120,10 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "^0.0.1",
|
||||
"@mikro-orm/core": "5.9.7",
|
||||
"@mikro-orm/knex": "5.9.7",
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"awilix": "^8.0.1"
|
||||
},
|
||||
"gitHead": "cd1f5afa5aa8c0b15ea957008ee19f1d695cbd2e"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
export * from "@medusajs/core-flows"
|
||||
@@ -0,0 +1,5 @@
|
||||
import ApiKeyModule from "@medusajs/api-key"
|
||||
|
||||
export * from "@medusajs/api-key"
|
||||
export default ApiKeyModule
|
||||
export const discoveryPath = require.resolve("@medusajs/api-key")
|
||||
@@ -0,0 +1,6 @@
|
||||
import EmailPassAuthProvider from "@medusajs/auth-emailpass"
|
||||
|
||||
export * from "@medusajs/auth-emailpass"
|
||||
|
||||
export default EmailPassAuthProvider
|
||||
export const discoveryPath = require.resolve("@medusajs/auth-emailpass")
|
||||
@@ -0,0 +1,6 @@
|
||||
import GithubAuthProvider from "@medusajs/auth-github"
|
||||
|
||||
export * from "@medusajs/auth-github"
|
||||
|
||||
export default GithubAuthProvider
|
||||
export const discoveryPath = require.resolve("@medusajs/auth-github")
|
||||
@@ -0,0 +1,6 @@
|
||||
import GoogleAuthProvider from "@medusajs/auth-google"
|
||||
|
||||
export * from "@medusajs/auth-google"
|
||||
|
||||
export default GoogleAuthProvider
|
||||
export const discoveryPath = require.resolve("@medusajs/auth-google")
|
||||
@@ -0,0 +1,6 @@
|
||||
import AuthModule from "@medusajs/auth"
|
||||
|
||||
export * from "@medusajs/auth"
|
||||
|
||||
export default AuthModule
|
||||
export const discoveryPath = require.resolve("@medusajs/auth")
|
||||
@@ -0,0 +1,6 @@
|
||||
import InMemoryCacheModule from "@medusajs/cache-inmemory"
|
||||
|
||||
export * from "@medusajs/cache-inmemory"
|
||||
|
||||
export default InMemoryCacheModule
|
||||
export const discoveryPath = require.resolve("@medusajs/cache-inmemory")
|
||||
@@ -0,0 +1,6 @@
|
||||
import RedisCacheModule from "@medusajs/cache-redis"
|
||||
|
||||
export * from "@medusajs/cache-redis"
|
||||
|
||||
export default RedisCacheModule
|
||||
export const discoveryPath = require.resolve("@medusajs/cache-redis")
|
||||
@@ -0,0 +1,6 @@
|
||||
import CartModule from "@medusajs/cart"
|
||||
|
||||
export * from "@medusajs/cart"
|
||||
|
||||
export default CartModule
|
||||
export const discoveryPath = require.resolve("@medusajs/cart")
|
||||
@@ -0,0 +1,6 @@
|
||||
import CurrencyModule from "@medusajs/currency"
|
||||
|
||||
export * from "@medusajs/currency"
|
||||
|
||||
export default CurrencyModule
|
||||
export const discoveryPath = require.resolve("@medusajs/currency")
|
||||
@@ -0,0 +1,6 @@
|
||||
import CustomerModule from "@medusajs/customer"
|
||||
|
||||
export * from "@medusajs/customer"
|
||||
|
||||
export default CustomerModule
|
||||
export const discoveryPath = require.resolve("@medusajs/customer")
|
||||
@@ -0,0 +1,5 @@
|
||||
import LocalEventBusModule from "@medusajs/event-bus-local"
|
||||
|
||||
export * from "@medusajs/event-bus-local"
|
||||
export default LocalEventBusModule
|
||||
export const discoveryPath = require.resolve("@medusajs/event-bus-local")
|
||||
@@ -0,0 +1,6 @@
|
||||
import RedisEventBusModule from "@medusajs/event-bus-redis"
|
||||
|
||||
export * from "@medusajs/event-bus-redis"
|
||||
|
||||
export default RedisEventBusModule
|
||||
export const discoveryPath = require.resolve("@medusajs/event-bus-redis")
|
||||
@@ -0,0 +1,6 @@
|
||||
import LocalFileProvider from "@medusajs/file-local-next"
|
||||
|
||||
export * from "@medusajs/file-local-next"
|
||||
|
||||
export default LocalFileProvider
|
||||
export const discoveryPath = require.resolve("@medusajs/file-local-next")
|
||||
@@ -0,0 +1,6 @@
|
||||
import S3FileProvider from "@medusajs/file-s3"
|
||||
|
||||
export * from "@medusajs/file-s3"
|
||||
|
||||
export default S3FileProvider
|
||||
export const discoveryPath = require.resolve("@medusajs/file-s3")
|
||||
@@ -0,0 +1,6 @@
|
||||
import FileModule from "@medusajs/file"
|
||||
|
||||
export * from "@medusajs/file"
|
||||
|
||||
export default FileModule
|
||||
export const discoveryPath = require.resolve("@medusajs/file")
|
||||
@@ -0,0 +1,6 @@
|
||||
import ManualFulfillmentModule from "@medusajs/fulfillment-manual"
|
||||
|
||||
export * from "@medusajs/fulfillment-manual"
|
||||
|
||||
export default ManualFulfillmentModule
|
||||
export const discoveryPath = require.resolve("@medusajs/fulfillment-manual")
|
||||
@@ -0,0 +1,6 @@
|
||||
import FulfillmentModule from "@medusajs/fulfillment"
|
||||
|
||||
export * from "@medusajs/fulfillment"
|
||||
|
||||
export default FulfillmentModule
|
||||
export const discoveryPath = require.resolve("@medusajs/fulfillment")
|
||||
@@ -0,0 +1,6 @@
|
||||
import IndexModule from "@medusajs/index"
|
||||
|
||||
export * from "@medusajs/index"
|
||||
|
||||
export default IndexModule
|
||||
export const discoveryPath = require.resolve("@medusajs/index")
|
||||
@@ -0,0 +1,6 @@
|
||||
import InventoryModule from "@medusajs/inventory-next"
|
||||
|
||||
export * from "@medusajs/inventory-next"
|
||||
|
||||
export default InventoryModule
|
||||
export const discoveryPath = require.resolve("@medusajs/inventory-next")
|
||||
@@ -0,0 +1,6 @@
|
||||
import LinkModule from "@medusajs/link-modules"
|
||||
|
||||
export * from "@medusajs/link-modules"
|
||||
|
||||
export default LinkModule
|
||||
export const discoveryPath = require.resolve("@medusajs/link-modules")
|
||||
@@ -0,0 +1,6 @@
|
||||
import LocalNotificationProvider from "@medusajs/notification-local"
|
||||
|
||||
export * from "@medusajs/notification-local"
|
||||
|
||||
export default LocalNotificationProvider
|
||||
export const discoveryPath = require.resolve("@medusajs/notification-local")
|
||||
@@ -0,0 +1,6 @@
|
||||
import SendGridNotificationProvider from "@medusajs/notification-sendgrid"
|
||||
|
||||
export * from "@medusajs/notification-sendgrid"
|
||||
|
||||
export default SendGridNotificationProvider
|
||||
export const discoveryPath = require.resolve("@medusajs/notification-sendgrid")
|
||||
@@ -0,0 +1,6 @@
|
||||
import NotificationModule from "@medusajs/notification"
|
||||
|
||||
export * from "@medusajs/notification"
|
||||
|
||||
export default NotificationModule
|
||||
export const discoveryPath = require.resolve("@medusajs/notification")
|
||||
@@ -0,0 +1,6 @@
|
||||
import OrderModule from "@medusajs/order"
|
||||
|
||||
export * from "@medusajs/order"
|
||||
|
||||
export default OrderModule
|
||||
export const discoveryPath = require.resolve("@medusajs/order")
|
||||
@@ -0,0 +1,6 @@
|
||||
import StripePaymentProvider from "@medusajs/payment-stripe"
|
||||
|
||||
export * from "@medusajs/payment-stripe"
|
||||
|
||||
export default StripePaymentProvider
|
||||
export const discoveryPath = require.resolve("@medusajs/payment-stripe")
|
||||
@@ -0,0 +1,6 @@
|
||||
import PaymentModule from "@medusajs/payment"
|
||||
|
||||
export * from "@medusajs/payment"
|
||||
|
||||
export default PaymentModule
|
||||
export const discoveryPath = require.resolve("@medusajs/payment")
|
||||
@@ -0,0 +1,6 @@
|
||||
import PricingModule from "@medusajs/pricing"
|
||||
|
||||
export * from "@medusajs/pricing"
|
||||
|
||||
export default PricingModule
|
||||
export const discoveryPath = require.resolve("@medusajs/pricing")
|
||||
@@ -0,0 +1,6 @@
|
||||
import ProductModule from "@medusajs/product"
|
||||
|
||||
export * from "@medusajs/product"
|
||||
|
||||
export default ProductModule
|
||||
export const discoveryPath = require.resolve("@medusajs/product")
|
||||
@@ -0,0 +1,6 @@
|
||||
import PromotionModule from "@medusajs/promotion"
|
||||
|
||||
export * from "@medusajs/promotion"
|
||||
|
||||
export default PromotionModule
|
||||
export const discoveryPath = require.resolve("@medusajs/promotion")
|
||||
@@ -0,0 +1,6 @@
|
||||
import RegionModule from "@medusajs/region"
|
||||
|
||||
export * from "@medusajs/region"
|
||||
|
||||
export default RegionModule
|
||||
export const discoveryPath = require.resolve("@medusajs/region")
|
||||
@@ -0,0 +1,6 @@
|
||||
import SalesChannelModule from "@medusajs/sales-channel"
|
||||
|
||||
export * from "@medusajs/sales-channel"
|
||||
|
||||
export default SalesChannelModule
|
||||
export const discoveryPath = require.resolve("@medusajs/sales-channel")
|
||||
@@ -0,0 +1,6 @@
|
||||
import StockLocationModule from "@medusajs/stock-location-next"
|
||||
|
||||
export * from "@medusajs/stock-location-next"
|
||||
|
||||
export default StockLocationModule
|
||||
export const discoveryPath = require.resolve("@medusajs/stock-location-next")
|
||||
@@ -0,0 +1,6 @@
|
||||
import StoreModule from "@medusajs/store"
|
||||
|
||||
export * from "@medusajs/store"
|
||||
|
||||
export default StoreModule
|
||||
export const discoveryPath = require.resolve("@medusajs/store")
|
||||
@@ -0,0 +1,6 @@
|
||||
import TaxModule from "@medusajs/tax"
|
||||
|
||||
export * from "@medusajs/tax"
|
||||
|
||||
export default TaxModule
|
||||
export const discoveryPath = require.resolve("@medusajs/tax")
|
||||
@@ -0,0 +1,6 @@
|
||||
import UserModule from "@medusajs/user"
|
||||
|
||||
export * from "@medusajs/user"
|
||||
|
||||
export default UserModule
|
||||
export const discoveryPath = require.resolve("@medusajs/user")
|
||||
@@ -0,0 +1,8 @@
|
||||
import MemoryWorkflowEngineModule from "@medusajs/workflow-engine-inmemory"
|
||||
|
||||
export * from "@medusajs/workflow-engine-inmemory"
|
||||
|
||||
export default MemoryWorkflowEngineModule
|
||||
export const discoveryPath = require.resolve(
|
||||
"@medusajs/workflow-engine-inmemory"
|
||||
)
|
||||
@@ -0,0 +1,6 @@
|
||||
import RedisWorkflowEngineModule from "@medusajs/workflow-engine-redis"
|
||||
|
||||
export * from "@medusajs/workflow-engine-redis"
|
||||
|
||||
export default RedisWorkflowEngineModule
|
||||
export const discoveryPath = require.resolve("@medusajs/workflow-engine-redis")
|
||||
@@ -44,7 +44,6 @@
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"@swc/core": "^1.7.28",
|
||||
"@swc/jest": "^0.2.36",
|
||||
"bignumber.js": "^9.1.2",
|
||||
"jest": "^29.7.0",
|
||||
"medusa-test-utils": "^1.1.44",
|
||||
"rimraf": "^3.0.2",
|
||||
|
||||
@@ -52,14 +52,14 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"bullmq": "5.13.0",
|
||||
"ioredis": "^5.4.1"
|
||||
"ioredis": "^5.4.1",
|
||||
"ulid": "^2.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@medusajs/framework": "^0.0.1",
|
||||
"@mikro-orm/core": "5.9.7",
|
||||
"@mikro-orm/migrations": "5.9.7",
|
||||
"@mikro-orm/postgresql": "5.9.7",
|
||||
"awilix": "^8.0.1",
|
||||
"ulid": "^2.3.0"
|
||||
"awilix": "^8.0.1"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user