feat(module): allow options override of @egoist/tailwindcss-icons plugin (#1013)

This commit is contained in:
Benjamin Canac
2023-11-22 14:42:56 +01:00
committed by GitHub
parent 27db7fdd95
commit ec58948153
2 changed files with 41 additions and 3 deletions

View File

@@ -1,7 +1,7 @@
import { defineNuxtModule, installModule, addComponentsDir, addImportsDir, createResolver, addPlugin } from '@nuxt/kit'
import defaultColors from 'tailwindcss/colors.js'
import { defaultExtractor as createDefaultExtractor } from 'tailwindcss/lib/lib/defaultExtractor.js'
import { iconsPlugin, getIconCollections, type CollectionNames } from '@egoist/tailwindcss-icons'
import { iconsPlugin, getIconCollections, type CollectionNames, type IconsPluginOptions } from '@egoist/tailwindcss-icons'
import { name, version } from '../package.json'
import { generateSafelist, excludeColors, customSafelistExtractor } from './colors'
import createTemplates from './templates'
@@ -46,7 +46,7 @@ export interface ModuleOptions {
*/
global?: boolean
icons: CollectionNames[] | 'all'
icons: CollectionNames[] | 'all' | IconsPluginOptions
safelistColors?: string[]
}
@@ -135,7 +135,7 @@ export default defineNuxtModule<ModuleOptions>({
tailwindConfig.safelist.push(...generateSafelist(options.safelistColors, colors))
tailwindConfig.plugins = tailwindConfig.plugins || []
tailwindConfig.plugins.push(iconsPlugin({ collections: getIconCollections(options.icons as any[]) }))
tailwindConfig.plugins.push(iconsPlugin(Array.isArray(options.icons) || options.icons === 'all' ? { collections: getIconCollections(options.icons) } : typeof options.icons === 'object' ? options.icons as IconsPluginOptions : {}))
})
createTemplates(nuxt)