diff --git a/__tests__/generateModules.test.js b/__tests__/generateModules.test.js index e8cdc4b7d..d9fdb1dff 100644 --- a/__tests__/generateModules.test.js +++ b/__tests__/generateModules.test.js @@ -11,9 +11,9 @@ function textAlign() { function display() { return defineClasses({ - 'block': { 'display': 'block' }, - 'inline': { 'display': 'inline' }, - 'inline-block': { 'display': 'inline-block' }, + block: { display: 'block' }, + inline: { display: 'inline' }, + 'inline-block': { display: 'inline-block' }, }) } @@ -26,9 +26,7 @@ function borderStyle() { } test('an empty variants list generates a @variants at-rule with no parameters', () => { - const result = generateModules([ - { name: 'textAlign', generator: textAlign }, - ], { + const result = generateModules([{ name: 'textAlign', generator: textAlign }], { textAlign: [], }) @@ -43,9 +41,7 @@ test('an empty variants list generates a @variants at-rule with no parameters', }) test('a `false` variants list generates no output', () => { - const result = generateModules([ - { name: 'textAlign', generator: textAlign }, - ], { + const result = generateModules([{ name: 'textAlign', generator: textAlign }], { textAlign: false, }) @@ -53,9 +49,7 @@ test('a `false` variants list generates no output', () => { }) test('specified variants are included in the @variants at-rule', () => { - const result = generateModules([ - { name: 'textAlign', generator: textAlign }, - ], { + const result = generateModules([{ name: 'textAlign', generator: textAlign }], { textAlign: ['responsive', 'hover'], }) @@ -71,25 +65,28 @@ test('specified variants are included in the @variants at-rule', () => { test('options must provide variants for every module', () => { expect(() => { - generateModules([ - { name: 'textAlign', generator: textAlign }, - { name: 'display', generator: display }, - ], { - textAlign: [], - }) + generateModules( + [{ name: 'textAlign', generator: textAlign }, { name: 'display', generator: display }], + { + textAlign: [], + } + ) }).toThrow() }) test('variants can be different for each module', () => { - const result = generateModules([ - { name: 'textAlign', generator: textAlign }, - { name: 'display', generator: display }, - { name: 'borderStyle', generator: borderStyle }, - ], { - textAlign: [], - display: false, - borderStyle: ['responsive', 'hover', 'focus'] - }) + const result = generateModules( + [ + { name: 'textAlign', generator: textAlign }, + { name: 'display', generator: display }, + { name: 'borderStyle', generator: borderStyle }, + ], + { + textAlign: [], + display: false, + borderStyle: ['responsive', 'hover', 'focus'], + } + ) const expected = ` @variants { @@ -108,18 +105,24 @@ test('variants can be different for each module', () => { }) test('generators can reference the generatorOptions object', () => { - const result = generateModules([{ - name: 'parameterized', - generator: (generatorParams) => { - return defineClasses({ - 'foo': { 'color': generatorParams.color }, - }) + const result = generateModules( + [ + { + name: 'parameterized', + generator: generatorParams => { + return defineClasses({ + foo: { color: generatorParams.color }, + }) + }, + }, + ], + { + parameterized: [], + }, + { + color: 'blue', } - }], { - parameterized: [], - }, { - color: 'blue' - }) + ) const expected = ` @variants { diff --git a/src/lib/substituteTailwindUtilitiesAtRules.js b/src/lib/substituteTailwindUtilitiesAtRules.js index 2c4d817b8..67207a188 100644 --- a/src/lib/substituteTailwindUtilitiesAtRules.js +++ b/src/lib/substituteTailwindUtilitiesAtRules.js @@ -14,7 +14,11 @@ export default function(config) { return } - const utilities = generateModules(utilityModules, unwrappedConfig.options.modules, unwrappedConfig) + const utilities = generateModules( + utilityModules, + unwrappedConfig.options.modules, + unwrappedConfig + ) if (_.get(unwrappedConfig, 'options.important', false)) { utilities.walkDecls(decl => (decl.important = true)) diff --git a/src/util/generateModules.js b/src/util/generateModules.js index f8609d803..060f12943 100644 --- a/src/util/generateModules.js +++ b/src/util/generateModules.js @@ -4,7 +4,7 @@ import wrapWithVariants from '../util/wrapWithVariants' export default function(modules, moduleOptions, generatorOptions = {}) { modules.forEach(module => { - if (! _.has(moduleOptions, module.name)) { + if (!_.has(moduleOptions, module.name)) { throw new Error(`Module \`${module.name}\` is missing from moduleOptions.`) } }) @@ -12,7 +12,9 @@ export default function(modules, moduleOptions, generatorOptions = {}) { return postcss.root({ nodes: _(modules) .reject(module => moduleOptions[module.name] === false) - .flatMap(module => wrapWithVariants(module.generator(generatorOptions), moduleOptions[module.name])) - .value() + .flatMap(module => + wrapWithVariants(module.generator(generatorOptions), moduleOptions[module.name]) + ) + .value(), }) }