diff --git a/packages/tailwindcss-language-server/src/lib/hook.ts b/packages/tailwindcss-language-server/src/lib/hook.ts index 400704f..3b1bcf0 100644 --- a/packages/tailwindcss-language-server/src/lib/hook.ts +++ b/packages/tailwindcss-language-server/src/lib/hook.ts @@ -20,7 +20,7 @@ export default class Hook { private _origRequire = Module.prototype.require private _require: (req: string) => any - constructor(find: string, callback: (x) => {}) { + constructor(find: string, callback: (x) => {} = (x) => x) { // @ts-ignore if (typeof Module._resolveFilename !== 'function') { throw new Error( diff --git a/packages/tailwindcss-language-server/src/server.ts b/packages/tailwindcss-language-server/src/server.ts index 912e9df..06f0425 100644 --- a/packages/tailwindcss-language-server/src/server.ts +++ b/packages/tailwindcss-language-server/src/server.ts @@ -910,9 +910,14 @@ async function createProjectService( let hook: Hook if (loadConfig.module) { - originalConfig = await loadConfig.module(state.configPath) - originalConfig = originalConfig.default ?? originalConfig - state.jit = true + hook = new Hook(fs.realpathSync(state.configPath)) + try { + originalConfig = await loadConfig.module(state.configPath) + originalConfig = originalConfig.default ?? originalConfig + state.jit = true + } finally { + hook.unhook() + } } else { hook = new Hook(fs.realpathSync(state.configPath), (exports) => { originalConfig = klona(exports)