Skip to content

Commit ec19740

Browse files
committed
Add support for hardcore bloat mode with modules: 'all'
Turns on every variant for every module :feelsgood:
1 parent b50b8d4 commit ec19740

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

__tests__/mergeConfigWithDefaults.test.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,33 @@ test('user modules are merged with default modules', () => {
5353
})
5454
})
5555

56+
test('setting modules to "all" creates all variants for all modules', () => {
57+
const userConfig = {
58+
modules: 'all',
59+
options: {},
60+
}
61+
62+
const defaultConfig = {
63+
modules: {
64+
flexbox: ['responsive'],
65+
textAlign: ['hover'],
66+
textColors: ['focus'],
67+
},
68+
options: {},
69+
}
70+
71+
const result = mergeConfigWithDefaults(userConfig, defaultConfig)
72+
73+
expect(result).toEqual({
74+
modules: {
75+
flexbox: ['responsive', 'hover', 'focus', 'parent-hover'],
76+
textAlign: ['responsive', 'hover', 'focus', 'parent-hover'],
77+
textColors: ['responsive', 'hover', 'focus', 'parent-hover'],
78+
},
79+
options: {},
80+
})
81+
})
82+
5683
test('user options are merged with default options', () => {
5784
const userConfig = {
5885
modules: {},
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
import _ from 'lodash'
22

3+
function mergeModules(userModules, defaultModules) {
4+
if (userModules === 'all') {
5+
return _.mapValues(defaultModules, () => ['responsive', 'hover', 'focus', 'parent-hover'])
6+
}
7+
8+
return _.defaults(userModules, defaultModules)
9+
}
10+
311
export default function(userConfig, defaultConfig) {
412
_.defaults(userConfig, defaultConfig)
5-
userConfig.modules = _.defaults(userConfig.modules, defaultConfig.modules)
13+
userConfig.modules = mergeModules(userConfig.modules, defaultConfig.modules)
614
userConfig.options = _.defaults(userConfig.options, defaultConfig.options)
715
return userConfig
816
}

0 commit comments

Comments
 (0)