add generated .medusa/types to local plugins (#13777)

Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
This commit is contained in:
Leonardo Benini
2025-12-19 07:01:15 +01:00
committed by GitHub
parent fb11f0f272
commit 125694626e
2 changed files with 31 additions and 17 deletions

View File

@@ -0,0 +1,5 @@
---
"@medusajs/medusa": patch
---
feat(medusa): add generated .medusa/types to local plugins

View File

@@ -11,6 +11,7 @@ import {
dynamicImport,
FileSystem,
generateContainerTypes,
getResolvedPlugins,
gqlSchemaToTypes,
GracefulShutdownServer,
isFileSkipped,
@@ -272,28 +273,36 @@ async function start(args: {
})
if (generateTypes) {
const typesDirectory = path.join(directory, ".medusa/types")
const configModule = container.resolve(
ContainerRegistrationKeys.CONFIG_MODULE
)
const localPlugins = (await getResolvedPlugins(directory, configModule, true))
.filter((p) => p.admin?.type === "local")
/**
* Cleanup existing types directory before creating new artifacts
*/
await new FileSystem(typesDirectory).cleanup({ recursive: true })
for (const plugin of localPlugins) {
const typesDirectory = path.join(plugin.admin!.resolve, "../../.medusa/types")
await generateContainerTypes(modules, {
outputDir: typesDirectory,
interfaceName: "ModuleImplementations",
})
logger.debug("Generated container types")
/**
* Cleanup existing types directory before creating new artifacts
*/
await new FileSystem(typesDirectory).cleanup({ recursive: true })
if (gqlSchema) {
await gqlSchemaToTypes({
await generateContainerTypes(modules, {
outputDir: typesDirectory,
filename: "query-entry-points",
interfaceName: "RemoteQueryEntryPoints",
schema: gqlSchema,
joinerConfigs: MedusaModule.getAllJoinerConfigs(),
interfaceName: "ModuleImplementations",
})
logger.debug("Generated modules types")
logger.debug("Generated container types")
if (gqlSchema) {
await gqlSchemaToTypes({
outputDir: typesDirectory,
filename: "query-entry-points",
interfaceName: "RemoteQueryEntryPoints",
schema: gqlSchema,
joinerConfigs: MedusaModule.getAllJoinerConfigs(),
})
logger.debug("Generated modules types")
}
}
}