This commit is contained in:
Timothy Yin 2024-11-18 16:23:41 +08:00
parent 7d0be6224d
commit 1c10598871
2 changed files with 27 additions and 15 deletions

View File

@ -63,7 +63,7 @@ export default defineNuxtModule<ModuleOptions>({
createTemplates(_nuxt) createTemplates(_nuxt)
// Modules // Modules
installTailwind(_options, _nuxt, resolve) await installTailwind(_options, _nuxt, resolve)
// Plugins // Plugins
addPlugin({ addPlugin({

View File

@ -1,10 +1,10 @@
import { useNuxt, createResolver, addTemplate, installModule } from '@nuxt/kit' import { useNuxt, createResolver, addTemplate, installModule, tryResolveModule } from '@nuxt/kit'
import type { ModuleOptions } from '@nuxt/schema' import type { ModuleOptions } from '@nuxt/schema'
import defu from 'defu' import defu from 'defu'
import { join } from 'pathe' import { join } from 'pathe'
import { setColors } from './runtime/utils/colors' import { setColors } from './runtime/utils/colors'
export const installTailwind = ( export const installTailwind = async (
moduleOptions: ModuleOptions, moduleOptions: ModuleOptions,
nuxt = useNuxt(), nuxt = useNuxt(),
resolve = createResolver(import.meta.url).resolve, resolve = createResolver(import.meta.url).resolve,
@ -88,17 +88,29 @@ export const installTailwind = (
twConfigPaths.push(...userTwConfigPath) twConfigPaths.push(...userTwConfigPath)
} }
return installModule( let tailwindModule;
'@nuxtjs/tailwindcss', try {
tailwindModule = require("@nuxtjs/tailwindcss");
tailwindModule.default({
configPath: twConfigPaths,
...twModuleConfig,
});
} catch (e) {
// If not installed, install the module
tailwindModule = installModule(
"@nuxtjs/tailwindcss",
defu( defu(
{ {
exposeConfig: true, exposeConfig: true,
config: { config: {
darkMode: 'class' as const, darkMode: "class" as const,
}, },
configPath: twConfigPaths, configPath: twConfigPaths,
}, },
twModuleConfig, twModuleConfig
),
) )
);
}
return tailwindModule;
} }