Files
ui/modules/dev/index.ts
2024-03-27 14:37:32 +01:00

23 lines
641 B
TypeScript

import { createResolver, defineNuxtModule, useNuxt } from '@nuxt/kit'
import { watch } from 'chokidar'
import { debounce } from 'perfect-debounce'
/**
* This is an internal module aiming to make the DX of developing Nuxt UI better.
*/
export default defineNuxtModule({
meta: {
name: '@nuxt/ui-dev'
},
setup () {
const nuxt = useNuxt()
const resolver = createResolver(import.meta.url)
const watcher = watch(resolver.resolve('../../src/theme'))
const generateApp = debounce(() => nuxt.hooks.callHook('builder:generateApp'))
watcher.on('all', generateApp)
nuxt.hook('close', () => watcher.close())
}
})