mirror of
https://github.com/tailwindlabs/tailwindcss.git
synced 2025-12-08 21:36:08 +00:00
Only process plugins once
This commit is contained in:
parent
b21d258f63
commit
9b22ff3513
@ -1,9 +1,10 @@
|
||||
import postcss from 'postcss'
|
||||
import plugin from '../src/lib/substituteVariantsAtRules'
|
||||
import config from '../defaultConfig.stub.js'
|
||||
import processPlugins from '../src/util/processPlugins'
|
||||
|
||||
function run(input, opts = config) {
|
||||
return postcss([plugin(opts)]).process(input, { from: undefined })
|
||||
return postcss([plugin(opts, processPlugins(opts))]).process(input, { from: undefined })
|
||||
}
|
||||
|
||||
test('it can generate hover variants', () => {
|
||||
|
||||
@ -8,7 +8,6 @@ import registerConfigAsDependency from './lib/registerConfigAsDependency'
|
||||
import processTailwindFeatures from './processTailwindFeatures'
|
||||
import mergeConfigWithDefaults from './util/mergeConfigWithDefaults'
|
||||
|
||||
|
||||
const plugin = postcss.plugin('tailwind', config => {
|
||||
const plugins = []
|
||||
|
||||
|
||||
@ -3,14 +3,9 @@ import postcss from 'postcss'
|
||||
import utilityModules from '../utilityModules'
|
||||
import prefixTree from '../util/prefixTree'
|
||||
import generateModules from '../util/generateModules'
|
||||
import processPlugins from '../util/processPlugins'
|
||||
|
||||
export default function(config) {
|
||||
export default function(config, { components: pluginComponents, utilities: pluginUtilities }) {
|
||||
return function(css) {
|
||||
const { components: pluginComponents, utilities: pluginUtilities } = processPlugins(
|
||||
config
|
||||
)
|
||||
|
||||
css.walkAtRules('tailwind', atRule => {
|
||||
if (atRule.params === 'preflight') {
|
||||
const preflightTree = postcss.parse(
|
||||
|
||||
@ -2,7 +2,6 @@ import _ from 'lodash'
|
||||
import postcss from 'postcss'
|
||||
import buildSelectorVariant from '../util/buildSelectorVariant'
|
||||
import generateVariantFunction from '../util/generateVariantFunction'
|
||||
import processPlugins from '../util/processPlugins'
|
||||
|
||||
function generatePseudoClassVariant(pseudoClass) {
|
||||
return generateVariantFunction(({ className, separator }) => {
|
||||
@ -29,11 +28,11 @@ const defaultVariantGenerators = {
|
||||
active: generatePseudoClassVariant('active'),
|
||||
}
|
||||
|
||||
export default function(config) {
|
||||
export default function(config, { variantGenerators: pluginVariantGenerators }) {
|
||||
return function(css) {
|
||||
const variantGenerators = {
|
||||
...defaultVariantGenerators,
|
||||
...processPlugins(config).variantGenerators,
|
||||
...pluginVariantGenerators,
|
||||
}
|
||||
|
||||
css.walkAtRules('variants', atRule => {
|
||||
|
||||
@ -1,23 +1,21 @@
|
||||
import path from 'path'
|
||||
|
||||
import _ from 'lodash'
|
||||
import postcss from 'postcss'
|
||||
|
||||
import registerConfigAsDependency from './lib/registerConfigAsDependency'
|
||||
import substituteTailwindAtRules from './lib/substituteTailwindAtRules'
|
||||
import evaluateTailwindFunctions from './lib/evaluateTailwindFunctions'
|
||||
import substituteVariantsAtRules from './lib/substituteVariantsAtRules'
|
||||
import substituteResponsiveAtRules from './lib/substituteResponsiveAtRules'
|
||||
import substituteScreenAtRules from './lib/substituteScreenAtRules'
|
||||
import substituteClassApplyAtRules from './lib/substituteClassApplyAtRules'
|
||||
import processPlugins from './util/processPlugins'
|
||||
|
||||
export default function(lazyConfig) {
|
||||
const config = lazyConfig()
|
||||
const plugins = processPlugins(config)
|
||||
|
||||
return postcss([
|
||||
substituteTailwindAtRules(config),
|
||||
substituteTailwindAtRules(config, plugins),
|
||||
evaluateTailwindFunctions(config),
|
||||
substituteVariantsAtRules(config),
|
||||
substituteVariantsAtRules(config, plugins),
|
||||
substituteResponsiveAtRules(config),
|
||||
substituteScreenAtRules(config),
|
||||
substituteClassApplyAtRules(config),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user