From 45d4f5b12bfa38f3610f891f33166203cd430632 Mon Sep 17 00:00:00 2001 From: Eugen Istoc Date: Sun, 4 Feb 2024 18:14:05 -0500 Subject: [PATCH] Add transpilation for @bull-board/h3 and @bull-board/ui --- src/module.ts | 2 ++ src/runtime/server/routes/ui-handler.ts | 39 +++++++++++++------------ 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/module.ts b/src/module.ts index 6dc8ef5..f4d8291 100644 --- a/src/module.ts +++ b/src/module.ts @@ -91,6 +91,8 @@ export default defineNuxtModule({ // Transpile BullBoard api because its not ESM nuxt.options.build.transpile.push("@bull-board/api"); + nuxt.options.build.transpile.push("@bull-board/h3"); + nuxt.options.build.transpile.push("@bull-board/ui"); nuxt.options.runtimeConfig.concierge = defu( nuxt.options.runtimeConfig.concierge, diff --git a/src/runtime/server/routes/ui-handler.ts b/src/runtime/server/routes/ui-handler.ts index 1b5e64b..5b428f2 100644 --- a/src/runtime/server/routes/ui-handler.ts +++ b/src/runtime/server/routes/ui-handler.ts @@ -5,29 +5,23 @@ import { H3Adapter } from "@bull-board/h3"; import { useRuntimeConfig } from "#imports"; import { $useConcierge } from "#concierge"; import { consola } from "consola"; - -const { - concierge: { ui, managementUI }, -} = useRuntimeConfig(); +import { resolvePath } from "mlly"; +import { dirname } from "pathe"; const serverAdapter = new H3Adapter(); serverAdapter.setBasePath("/_concierge"); -const root = import.meta.dev ? "../" : "../../"; - -const bullboard = createBullBoard({ - queues: [], - serverAdapter, - options: { - uiBasePath: `${root}node_modules/@bull-board/ui`, - uiConfig: ui, - }, -}); - -const uiRouter = serverAdapter.registerHandlers(); - export default defineEventHandler(async (event) => { + const { + concierge: { ui, managementUI }, + } = useRuntimeConfig(); + const logger = consola.create({}).withTag("nuxt-concierge"); + const uiPath = dirname( + await resolvePath("@bull-board/ui/package.json", { + url: import.meta.url, + }) + ); if (!managementUI) { logger.warn("Concierge is disabled"); @@ -38,7 +32,16 @@ export default defineEventHandler(async (event) => { const { queues } = $useConcierge(); - bullboard.replaceQueues(queues.map((queue) => new BullMQAdapter(queue))); + createBullBoard({ + queues: queues.map((queue) => new BullMQAdapter(queue)), + serverAdapter, + options: { + uiBasePath: uiPath, + uiConfig: ui, + }, + }); + + const uiRouter = serverAdapter.registerHandlers(); return uiRouter.handler(event); });