Merge pull request #520 from tailwindcss/process-tailwind-features-together

Process tailwind features together
This commit is contained in:
Adam Wathan 2018-07-16 22:17:25 +09:30 committed by GitHub
commit 37493edfc7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 14 deletions

View File

@ -15,7 +15,7 @@ const plugin = postcss.plugin('tailwind', config => {
plugins.push(registerConfigAsDependency(path.resolve(config)))
}
const lazyConfig = () => {
const getConfig = () => {
if (_.isUndefined(config)) {
return require('../defaultConfig')()
}
@ -32,7 +32,7 @@ const plugin = postcss.plugin('tailwind', config => {
return postcss([
...plugins,
processTailwindFeatures(lazyConfig),
processTailwindFeatures(getConfig),
perfectionist({
cascade: true,
colorShorthand: true,

View File

@ -1,3 +1,4 @@
import _ from 'lodash'
import postcss from 'postcss'
import substituteTailwindAtRules from './lib/substituteTailwindAtRules'
@ -10,17 +11,19 @@ import substituteClassApplyAtRules from './lib/substituteClassApplyAtRules'
import generateUtilities from './util/generateUtilities'
import processPlugins from './util/processPlugins'
export default function(lazyConfig) {
const config = lazyConfig()
const processedPlugins = processPlugins(config)
const utilities = generateUtilities(config, processedPlugins.utilities)
export default function(getConfig) {
return function(css) {
const config = getConfig()
const processedPlugins = processPlugins(config)
const utilities = generateUtilities(config, processedPlugins.utilities)
return postcss([
substituteTailwindAtRules(config, processedPlugins, utilities),
evaluateTailwindFunctions(config),
substituteVariantsAtRules(config, processedPlugins),
substituteResponsiveAtRules(config),
substituteScreenAtRules(config),
substituteClassApplyAtRules(config, utilities),
])
return postcss([
substituteTailwindAtRules(config, processedPlugins, utilities),
evaluateTailwindFunctions(config),
substituteVariantsAtRules(config, processedPlugins),
substituteResponsiveAtRules(config),
substituteScreenAtRules(config),
substituteClassApplyAtRules(config, utilities),
]).process(css, { from: _.get(css, 'source.input.file') })
}
}