From 380a1f5109c5387de65a0a9044970b7f9ad08561 Mon Sep 17 00:00:00 2001 From: sairamg Date: Fri, 17 Oct 2025 18:32:19 +0530 Subject: [PATCH] fix: resolve msdf-generator from app's node_modules for pnpm/local deps --- vite/msdfGenerator.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/vite/msdfGenerator.js b/vite/msdfGenerator.js index ed93cfcc..f730fe02 100644 --- a/vite/msdfGenerator.js +++ b/vite/msdfGenerator.js @@ -18,6 +18,7 @@ import path from 'path' import * as fs from 'fs' import { createHash } from 'crypto' +import { createRequire } from 'module' class TaskQueue { constructor() { @@ -47,14 +48,22 @@ async function loadMsdfModules() { if (msdfLoaded) return true try { - const msdfGenerator = await import('@lightningjs/msdf-generator') + // Create a require function that resolves from the app's working directory + // This ensures the msdf-generator is resolved from the app's node_modules + const userRequire = createRequire(process.cwd() + '/') + + const msdfGeneratorPath = userRequire.resolve('@lightningjs/msdf-generator') + const msdfGeneratorUrl = new URL(`file:///${msdfGeneratorPath.replace(/\\/g, '/')}`).href + const msdfGenerator = await import(msdfGeneratorUrl) genFont = msdfGenerator.genFont setGeneratePaths = msdfGenerator.setGeneratePaths - const adjustFontModule = await import('@lightningjs/msdf-generator/adjustFont') + const adjustFontPath = userRequire.resolve('@lightningjs/msdf-generator/adjustFont') + const adjustFontUrl = new URL(`file:///${adjustFontPath.replace(/\\/g, '/')}`).href + const adjustFontModule = await import(adjustFontUrl) adjustFont = adjustFontModule.adjustFont return true - } catch (err) { + } catch { return false } }