chore: cleanup/improve bootstrap (#14023)
* chore: cleanup/improve bootstrap * chore: cleanup/improve bootstrap * Create few-guests-visit.md
This commit is contained in:
committed by
GitHub
parent
213c344804
commit
7e3eb6e413
@@ -1,4 +1,5 @@
|
||||
import { Logger, MedusaContainer, ModuleResolution } from "@medusajs/types"
|
||||
import { promiseAll } from "@medusajs/utils"
|
||||
import { asValue } from "@medusajs/deps/awilix"
|
||||
import { EOL } from "os"
|
||||
import { MODULE_SCOPE } from "../types"
|
||||
@@ -17,23 +18,22 @@ export const moduleLoader = async ({
|
||||
migrationOnly?: boolean
|
||||
loaderOnly?: boolean
|
||||
}): Promise<void> => {
|
||||
for (const resolution of Object.values(moduleResolutions ?? {})) {
|
||||
const registrationResult = await loadModule(
|
||||
container,
|
||||
resolution,
|
||||
logger!,
|
||||
migrationOnly,
|
||||
loaderOnly
|
||||
const resolutions = Object.values(moduleResolutions ?? {})
|
||||
const results = await promiseAll(
|
||||
resolutions.map((resolution) =>
|
||||
loadModule(container, resolution, logger!, migrationOnly, loaderOnly)
|
||||
)
|
||||
)
|
||||
|
||||
results.forEach((registrationResult, idx) => {
|
||||
if (registrationResult?.error) {
|
||||
const { error } = registrationResult
|
||||
logger?.error(
|
||||
`Could not resolve module: ${resolution.definition.label}. Error: ${error.message}${EOL}`
|
||||
`Could not resolve module: ${resolutions[idx].definition.label}. Error: ${error.message}${EOL}`
|
||||
)
|
||||
throw error
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
async function loadModule(
|
||||
|
||||
@@ -515,25 +515,29 @@ class MedusaModule {
|
||||
return [{}]
|
||||
}
|
||||
|
||||
for (const {
|
||||
hashKey,
|
||||
modDeclaration,
|
||||
moduleResolutions,
|
||||
container,
|
||||
finishLoading,
|
||||
} of loadedModules) {
|
||||
const service = await MedusaModule.resolveLoadedModule({
|
||||
const resolvedServices = await promiseAll(
|
||||
loadedModules.map(async ({
|
||||
hashKey,
|
||||
modDeclaration,
|
||||
moduleResolutions,
|
||||
container,
|
||||
})
|
||||
finishLoading,
|
||||
}) => {
|
||||
const service = await MedusaModule.resolveLoadedModule({
|
||||
hashKey,
|
||||
modDeclaration,
|
||||
moduleResolutions,
|
||||
container,
|
||||
})
|
||||
|
||||
MedusaModule.instances_.set(hashKey, service)
|
||||
finishLoading(service)
|
||||
MedusaModule.loading_.delete(hashKey)
|
||||
services.push(service)
|
||||
}
|
||||
MedusaModule.instances_.set(hashKey, service)
|
||||
finishLoading(service)
|
||||
MedusaModule.loading_.delete(hashKey)
|
||||
return service
|
||||
})
|
||||
)
|
||||
|
||||
services.push(...resolvedServices)
|
||||
|
||||
return services
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user