feat(module): add support for vue using unplugin (#2416)

Co-authored-by: Benjamin Canac <canacb1@gmail.com>
This commit is contained in:
Daniel Roe
2024-10-25 16:15:26 +01:00
committed by GitHub
parent 50c6bf0092
commit d4a943e631
97 changed files with 18948 additions and 117 deletions

25
src/plugins/app-config.ts Normal file
View File

@@ -0,0 +1,25 @@
import type { UnpluginOptions } from 'unplugin'
import type { NuxtUIOptions } from '../unplugin'
/**
* This plugin injects Nuxt UI configuration into the runtime build so Nuxt UI components can
* access it.
*/
export default function AppConfigPlugin(options: NuxtUIOptions & { theme: NonNullable<NuxtUIOptions['theme']> }, appConfig: Record<string, any>) {
return {
name: 'nuxt:ui:app-config',
enforce: 'pre',
resolveId(id) {
if (id === '#build/app.config') {
return 'virtual:nuxt-ui-app-config'
}
},
loadInclude: id => id === 'virtual:nuxt-ui-app-config',
load() {
return `
export default ${JSON.stringify(appConfig!)}
`
}
} satisfies UnpluginOptions
}