Skip to content

Commit 9202ecf

Browse files
committed
Merge user config with default config
Not recursively so values won't get combined, but missing keys will get their default values which makes upgrading a non-breaking change if we add new options.
1 parent 89300a6 commit 9202ecf

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/index.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ import substituteResponsiveAtRules from './lib/substituteResponsiveAtRules'
1414
import substituteScreenAtRules from './lib/substituteScreenAtRules'
1515
import substituteClassApplyAtRules from './lib/substituteClassApplyAtRules'
1616

17+
function mergeConfigWithDefaults(config) {
18+
const defaultConfig = require('../defaultConfig')()
19+
_.defaults(config, defaultConfig)
20+
config.options = _.defaults(config.options, defaultConfig.options)
21+
config.options.modules = _.defaults(config.options.modules, defaultConfig.options.modules)
22+
return config
23+
}
24+
1725
const plugin = postcss.plugin('tailwind', config => {
1826
const plugins = []
1927

@@ -27,7 +35,7 @@ const plugin = postcss.plugin('tailwind', config => {
2735
}
2836

2937
delete require.cache[require.resolve(path.resolve(config))]
30-
return require(path.resolve(config))
38+
return mergeConfigWithDefaults(require(path.resolve(config)))
3139
}
3240

3341
return postcss(

0 commit comments

Comments
 (0)