fix(module): use resolveModule to import presets

This commit is contained in:
Benjamin Canac
2021-12-22 16:52:49 +01:00
parent 810113cc38
commit 2d3114625d

View File

@@ -1,5 +1,5 @@
import { resolve } from 'pathe' import { resolve } from 'pathe'
import { defineNuxtModule, installModule, addComponentsDir, addTemplate, addPlugin } from '@nuxt/kit' import { defineNuxtModule, installModule, addComponentsDir, addTemplate, addPlugin, resolveModule } from '@nuxt/kit'
import { colors } from '@unocss/preset-uno' import { colors } from '@unocss/preset-uno'
import defu from 'defu' import defu from 'defu'
import type { UnocssNuxtOptions } from '@unocss/nuxt' import type { UnocssNuxtOptions } from '@unocss/nuxt'
@@ -136,13 +136,15 @@ export default defineNuxtModule<UiOptions>({
nuxt.options.build.transpile.push(runtimeDir) nuxt.options.build.transpile.push(runtimeDir)
nuxt.options.build.transpile.push('@popperjs/core', '@headlessui/vue') nuxt.options.build.transpile.push('@popperjs/core', '@headlessui/vue')
let ui: object = await import(resolve(__dirname, `./presets/${defaults.preset}`)) const presetsDir = resolve(__dirname, './presets')
let ui: object = await import(resolveModule(`./${defaults.preset}`, { paths: presetsDir }))
try { try {
if (typeof preset === 'object') { if (typeof preset === 'object') {
ui = defu(preset, ui) ui = defu(preset, ui)
} else { } else {
// @ts-ignore // @ts-ignore
ui = await import(resolve(__dirname, `./presets/${preset}`)) ui = await import(resolveModule(`./${preset}`, { paths: presetsDir }))
} }
} catch (e) { } catch (e) {
// eslint-disable-next-line no-console // eslint-disable-next-line no-console