Files
ui/modules/dev/index.ts
Benjamin Canac 9993b6727a modules: lint
2024-04-12 14:00:18 +02:00

23 lines
640 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())
}
})