From 46058f80046e867ef7ae9bb66cfd96d412607a8a Mon Sep 17 00:00:00 2001 From: Sandro Circi Date: Wed, 30 Apr 2025 18:44:39 +0200 Subject: [PATCH] fix(theme): dynamic template updates --- src/templates.ts | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/src/templates.ts b/src/templates.ts index 47b9c505..f5042937 100644 --- a/src/templates.ts +++ b/src/templates.ts @@ -1,6 +1,5 @@ -import { fileURLToPath } from 'node:url' import { kebabCase } from 'scule' -import { addTemplate, addTypeTemplate } from '@nuxt/kit' +import { addTemplate, addTypeTemplate, updateTemplates } from '@nuxt/kit' import type { Nuxt, NuxtTemplate, NuxtTypeTemplate } from '@nuxt/schema' import type { Resolver } from '@nuxt/kit' import type { ModuleOptions } from './module' @@ -50,20 +49,6 @@ export function getTemplates(options: ModuleOptions, uiConfig: Record { + await updateTemplates({ + filter: (template) => { + if (template.filename.startsWith('ui/') && template.filename !== 'ui/index.ts') { + const templatePath = template.filename.replace(/^ui/, 'src/theme') + + if (path.endsWith(templatePath)) { + console.log(`[nuxt-ui] template ${templatePath} changed`) + return true + } + } + return false + } + }) + }) + } + nuxt.hook('prepare:types', ({ references }) => { references.push({ path: resolve('./runtime/types/app.config.d.ts') }) })