@@ -5,6 +5,7 @@ import _ from 'lodash'
55import postcss from 'postcss'
66import stylefmt from 'stylefmt'
77
8+ import registerConfigAsDependency from './lib/registerConfigAsDependency'
89import substitutePreflightAtRule from './lib/substitutePreflightAtRule'
910import evaluateTailwindFunctions from './lib/evaluateTailwindFunctions'
1011import generateUtilities from './lib/generateUtilities'
@@ -15,23 +16,30 @@ import substituteScreenAtRules from './lib/substituteScreenAtRules'
1516import substituteClassApplyAtRules from './lib/substituteClassApplyAtRules'
1617
1718const plugin = postcss . plugin ( 'tailwind' , ( config ) => {
18- if ( _ . isUndefined ( config ) ) {
19- config = require ( '../defaultConfig' )
19+ const plugins = [ ]
20+
21+ if ( ! _ . isUndefined ( config ) ) {
22+ plugins . push ( registerConfigAsDependency ( path . resolve ( config ) ) )
2023 }
2124
22- if ( _ . isString ( config ) ) {
23- config = require ( path . resolve ( config ) )
25+ const lazyConfig = ( ) => {
26+ if ( _ . isUndefined ( config ) ) {
27+ return require ( '../defaultConfig' )
28+ }
29+
30+ delete require . cache [ require . resolve ( path . resolve ( config ) ) ]
31+ return require ( path . resolve ( config ) )
2432 }
2533
26- return postcss ( [
27- substitutePreflightAtRule ( config ) ,
28- evaluateTailwindFunctions ( config ) ,
29- generateUtilities ( config ) ,
30- substituteHoverableAtRules ( config ) ,
31- substituteFocusableAtRules ( config ) ,
32- substituteResponsiveAtRules ( config ) ,
33- substituteScreenAtRules ( config ) ,
34- substituteClassApplyAtRules ( config ) ,
34+ return postcss ( ... plugins , ... [
35+ substitutePreflightAtRule ( lazyConfig ) ,
36+ evaluateTailwindFunctions ( lazyConfig ) ,
37+ generateUtilities ( lazyConfig ) ,
38+ substituteHoverableAtRules ( lazyConfig ) ,
39+ substituteFocusableAtRules ( lazyConfig ) ,
40+ substituteResponsiveAtRules ( lazyConfig ) ,
41+ substituteScreenAtRules ( lazyConfig ) ,
42+ substituteClassApplyAtRules ( lazyConfig ) ,
3543 stylefmt ,
3644 ] )
3745} )
0 commit comments