chore: fix preset resolve

This commit is contained in:
Benjamin Canac
2021-11-26 17:20:35 +01:00
parent 07b767c1d2
commit 804575a53e
2 changed files with 17 additions and 4 deletions

11
src/dirs.ts Normal file
View File

@@ -0,0 +1,11 @@
import { fileURLToPath } from 'url'
import { resolve } from 'pathe'
export const distDir = resolve(typeof __dirname === 'undefined' ? fileURLToPath(import.meta.url) : __dirname)
const _makeResolve = (base: string) => {
return (...p: string[]) => resolve(base, ...p)
}
export const presetsDir = resolve(distDir, 'presets')
export const resolvePresetsDir = _makeResolve(presetsDir)

View File

@@ -1,8 +1,9 @@
import { resolve } from 'pathe'
import { defineNuxtModule, installModule, addComponentsDir, addTemplate } from '@nuxt/kit'
import { defineNuxtModule, installModule, addComponentsDir, addTemplate, resolveModule } from '@nuxt/kit'
import { colors } from '@unocss/preset-uno'
import defu from 'defu'
import type { UnocssNuxtOptions } from '@unocss/nuxt'
import { presetsDir } from './dirs'
export interface UiColorsOptions {
/**
@@ -165,14 +166,15 @@ export default defineNuxtModule<UiOptions>({
let ui: object = {}
try {
if (typeof preset === 'object') {
ui = await import(resolve(__dirname, `./presets/${defaults.preset}`))
ui = await import(resolveModule(`./${defaults.preset}`, { paths: presetsDir }))
ui = defu(preset, ui)
} else {
ui = await import(resolve(__dirname, `./presets/${preset}`))
// @ts-ignore
ui = await import(resolveModule(`./${preset}`, { paths: presetsDir }))
}
} catch (e) {
ui = await import(resolve(__dirname, `./presets/${defaults.preset}`))
ui = await import(resolveModule(`./${defaults.preset}`, { paths: presetsDir }))
}
addTemplate({