@@ -12,20 +12,30 @@ import purgeUnusedStyles from './lib/purgeUnusedStyles'
12
12
13
13
import corePlugins from './corePlugins'
14
14
import processPlugins from './util/processPlugins'
15
+ import cloneNodes from './util/cloneNodes'
15
16
16
17
export default function ( getConfig ) {
17
18
return function ( css ) {
18
19
const config = getConfig ( )
19
20
const processedPlugins = processPlugins ( [ ...corePlugins ( config ) , ...config . plugins ] , config )
20
21
22
+ const getProcessedPlugins = function ( ) {
23
+ return {
24
+ ...processedPlugins ,
25
+ base : cloneNodes ( processedPlugins . base ) ,
26
+ components : cloneNodes ( processedPlugins . components ) ,
27
+ utilities : cloneNodes ( processedPlugins . utilities ) ,
28
+ }
29
+ }
30
+
21
31
return postcss ( [
22
- substituteTailwindAtRules ( config , processedPlugins ) ,
32
+ substituteTailwindAtRules ( config , getProcessedPlugins ( ) ) ,
23
33
evaluateTailwindFunctions ( config ) ,
24
- substituteVariantsAtRules ( config , processedPlugins ) ,
34
+ substituteVariantsAtRules ( config , getProcessedPlugins ( ) ) ,
25
35
substituteResponsiveAtRules ( config ) ,
26
36
convertLayerAtRulesToControlComments ( config ) ,
27
37
substituteScreenAtRules ( config ) ,
28
- substituteClassApplyAtRules ( config , processedPlugins . utilities ) ,
38
+ substituteClassApplyAtRules ( config , getProcessedPlugins ( ) . utilities ) ,
29
39
purgeUnusedStyles ( config ) ,
30
40
] ) . process ( css , { from : _ . get ( css , 'source.input.file' ) } )
31
41
}
0 commit comments