mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-04 11:19:30 +08:00
55 lines
1.3 KiB
Text
55 lines
1.3 KiB
Text
import fs from 'fs'
|
|
import path from 'path'
|
|
|
|
function isObject(value) {
|
|
return typeof value === 'object' && value !== null
|
|
}
|
|
|
|
function isEmpty(obj) {
|
|
return Object.keys(obj).length === 0
|
|
}
|
|
|
|
function isString(value) {
|
|
return typeof value === 'string' || value instanceof String
|
|
}
|
|
|
|
export default function resolveConfigPath(pathOrConfig) {
|
|
// require('tailwindcss')({ theme: ..., variants: ... })
|
|
if (isObject(pathOrConfig) && pathOrConfig.config === undefined && !isEmpty(pathOrConfig)) {
|
|
return null
|
|
}
|
|
|
|
// require('tailwindcss')({ config: 'custom-config.js' })
|
|
if (
|
|
isObject(pathOrConfig) &&
|
|
pathOrConfig.config !== undefined &&
|
|
isString(pathOrConfig.config)
|
|
) {
|
|
return path.resolve(pathOrConfig.config)
|
|
}
|
|
|
|
// require('tailwindcss')({ config: { theme: ..., variants: ... } })
|
|
if (
|
|
isObject(pathOrConfig) &&
|
|
pathOrConfig.config !== undefined &&
|
|
isObject(pathOrConfig.config)
|
|
) {
|
|
return null
|
|
}
|
|
|
|
// require('tailwindcss')('custom-config.js')
|
|
if (isString(pathOrConfig)) {
|
|
return path.resolve(pathOrConfig)
|
|
}
|
|
|
|
// require('tailwindcss')
|
|
for (const configFile of ['./tailwind.config.js', './tailwind.config.cjs']) {
|
|
try {
|
|
const configPath = path.resolve(configFile)
|
|
fs.accessSync(configPath)
|
|
return configPath
|
|
} catch (err) {}
|
|
}
|
|
|
|
return null
|
|
}
|