feat(unplugin): expose options for embedded plugins, throw warnings for duplication (#3207)

This commit is contained in:
Anthony Fu
2025-01-30 19:17:42 +08:00
committed by GitHub
parent ce3eaaa7b9
commit 6c20f8a9ea
4 changed files with 75 additions and 26 deletions

View File

@@ -0,0 +1,20 @@
import { join } from 'pathe'
import type { UnpluginContextMeta, UnpluginOptions } from 'unplugin'
import { defu } from 'defu'
import { runtimeDir } from '../unplugin'
import type { NuxtUIOptions } from '../unplugin'
import AutoImport from 'unplugin-auto-import'
import type { Options as AutoImportOptions } from 'unplugin-auto-import/types'
/**
* This plugin adds all the Nuxt UI composables as auto-imports.
*/
export default function AutoImportPlugin(options: NuxtUIOptions, meta: UnpluginContextMeta): UnpluginOptions {
const pluginOptions = defu(options.autoImport, <AutoImportOptions>{
dts: options.dts ?? true,
dirs: [join(runtimeDir, 'composables')]
})
return AutoImport.raw(pluginOptions, meta) as UnpluginOptions
}