mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-31 12:17:54 +01:00
chore: fix preset resolve
This commit is contained in:
11
src/dirs.ts
Normal file
11
src/dirs.ts
Normal 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)
|
||||||
10
src/index.ts
10
src/index.ts
@@ -1,8 +1,9 @@
|
|||||||
import { resolve } from 'pathe'
|
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 { 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'
|
||||||
|
import { presetsDir } from './dirs'
|
||||||
|
|
||||||
export interface UiColorsOptions {
|
export interface UiColorsOptions {
|
||||||
/**
|
/**
|
||||||
@@ -165,14 +166,15 @@ export default defineNuxtModule<UiOptions>({
|
|||||||
let ui: object = {}
|
let ui: object = {}
|
||||||
try {
|
try {
|
||||||
if (typeof preset === 'object') {
|
if (typeof preset === 'object') {
|
||||||
ui = await import(resolve(__dirname, `./presets/${defaults.preset}`))
|
ui = await import(resolveModule(`./${defaults.preset}`, { paths: presetsDir }))
|
||||||
|
|
||||||
ui = defu(preset, ui)
|
ui = defu(preset, ui)
|
||||||
} else {
|
} else {
|
||||||
ui = await import(resolve(__dirname, `./presets/${preset}`))
|
// @ts-ignore
|
||||||
|
ui = await import(resolveModule(`./${preset}`, { paths: presetsDir }))
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
ui = await import(resolve(__dirname, `./presets/${defaults.preset}`))
|
ui = await import(resolveModule(`./${defaults.preset}`, { paths: presetsDir }))
|
||||||
}
|
}
|
||||||
|
|
||||||
addTemplate({
|
addTemplate({
|
||||||
|
|||||||
Reference in New Issue
Block a user