diff options
| author | Philipp Tanlak <philipp.tanlak@gmail.com> | 2025-11-24 20:54:57 +0100 |
|---|---|---|
| committer | Philipp Tanlak <philipp.tanlak@gmail.com> | 2025-11-24 20:57:48 +0100 |
| commit | b1e2c8fd5cb5dfa46bc440a12eafaf56cd844b1c (patch) | |
| tree | 49d360fd6cbc6a2754efe93524ac47ff0fbe0f7d /node_modules/tailwindcss/src/util/resolveConfigPath.js | |
Docs
Diffstat (limited to 'node_modules/tailwindcss/src/util/resolveConfigPath.js')
| -rw-r--r-- | node_modules/tailwindcss/src/util/resolveConfigPath.js | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/node_modules/tailwindcss/src/util/resolveConfigPath.js b/node_modules/tailwindcss/src/util/resolveConfigPath.js new file mode 100644 index 0000000..2b50789 --- /dev/null +++ b/node_modules/tailwindcss/src/util/resolveConfigPath.js @@ -0,0 +1,66 @@ +import fs from 'fs' +import path from 'path' + +const defaultConfigFiles = [ + './tailwind.config.js', + './tailwind.config.cjs', + './tailwind.config.mjs', + './tailwind.config.ts', +] + +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') + return resolveDefaultConfigPath() +} + +export function resolveDefaultConfigPath() { + for (const configFile of defaultConfigFiles) { + try { + const configPath = path.resolve(configFile) + fs.accessSync(configPath) + return configPath + } catch (err) {} + } + + return null +} |