* WIP * Move warning to validateConfig This only happens in setupTrackingContext outside of resolveConfig * Use original dynamic require approach in `validateConfig` The important thing is that this happens in Node-land only. It is outside of `resolveConfig` which is public and importable into user projects. That is the scenario that breaks because of static import hoisting. * Don’t reference process when it might be undefined The `resolveConfig` dep path is public which should not reference process. However, we have some behavior that changes based on env vars so we need to conditionalize it instead. * Update changelog * Formatting * More formatting * Update changelog --------- Co-authored-by: Robin Malfait <malfait.robin@gmail.com> Co-authored-by: Jonathan Reinink <jonathan@reinink.ca>
26 lines
888 B
JavaScript
26 lines
888 B
JavaScript
import log from './log'
|
|
|
|
export function validateConfig(config) {
|
|
if (config.content.files.length === 0) {
|
|
log.warn('content-problems', [
|
|
'The `content` option in your Tailwind CSS configuration is missing or empty.',
|
|
'Configure your content sources or your generated CSS will be missing styles.',
|
|
'https://tailwindcss.com/docs/content-configuration',
|
|
])
|
|
}
|
|
|
|
// Warn if the line-clamp plugin is installed
|
|
try {
|
|
let plugin = require('@tailwindcss/line-clamp')
|
|
if (config.plugins.includes(plugin)) {
|
|
log.warn('line-clamp-in-core', [
|
|
'As of Tailwind CSS v3.3, the `@tailwindcss/line-clamp` plugin is now included by default.',
|
|
'Remove it from the `plugins` array in your configuration to eliminate this warning.',
|
|
])
|
|
|
|
config.plugins = config.plugins.filter((p) => p !== plugin)
|
|
}
|
|
} catch {}
|
|
|
|
return config
|
|
}
|