diff options
author | Chris Rebert <code@rebertia.com> | 2015-01-19 04:10:51 +0300 |
---|---|---|
committer | Chris Rebert <code@rebertia.com> | 2015-01-19 04:12:56 +0300 |
commit | 5b3cac92b9abb5a150c6afc9efbba0da324186a6 (patch) | |
tree | 38485ce475b0d095aeed20e1b113661e3a21a708 /src | |
parent | 9d035dd8ce8301982f3f28b6017625c29f0f59da (diff) |
postprocessor => postprocessorFor()
Don't use postcss options because they can't be passed along when using grunt-postcss.
Diffstat (limited to 'src')
-rw-r--r-- | src/nodejs/index.js | 2 | ||||
-rw-r--r-- | src/nodejs/postprocessor.js | 76 |
2 files changed, 40 insertions, 38 deletions
diff --git a/src/nodejs/index.js b/src/nodejs/index.js index 96f0772..7bfa81f 100644 --- a/src/nodejs/index.js +++ b/src/nodejs/index.js @@ -6,7 +6,7 @@ var CLIENT_SIDE_FEATURE_DETECTOR_FILENAME = 'mq4-hover-hover-shim.js'; module.exports = { - postprocessor: require('./postprocessor'), + postprocessorFor: require('./postprocessor'), featureDetector: { es6: path.join(__dirname, '../browser', CLIENT_SIDE_FEATURE_DETECTOR_FILENAME), cjs: path.join(__dirname, '../../dist/cjs', CLIENT_SIDE_FEATURE_DETECTOR_FILENAME), diff --git a/src/nodejs/postprocessor.js b/src/nodejs/postprocessor.js index c0c5163..9597ee7 100644 --- a/src/nodejs/postprocessor.js +++ b/src/nodejs/postprocessor.js @@ -68,46 +68,48 @@ function prefixSelectorsWith(rule, selectorPrefix) { } -module.exports = postcss(function process(css, opts) { - var hoverSelectorPrefix = opts.hoverSelectorPrefix; - if ((typeof hoverSelectorPrefix) !== 'string') { - throw new Error('hoverSelectorPrefix option must be a string'); - } +module.exports = function (opts) { + return postcss(function process(css) { + var hoverSelectorPrefix = opts.hoverSelectorPrefix; + if ((typeof hoverSelectorPrefix) !== 'string') { + throw new Error('hoverSelectorPrefix option must be a string'); + } - css.eachAtRule('media', function (atRule) { - var mediaType = mediaTypeIfSimpleHoverHover(atRule); - switch (mediaType) { - case 'all': - /* falls through */ - case 'screen': { - atRule.eachRule(function (rule) { - prefixSelectorsWith(rule, hoverSelectorPrefix); - }); - if (mediaType === 'screen') { - atRule.params = 'screen'; - } - else { - // Remove tautological @media all {...} wrapper - replaceWithItsChildren(atRule); + css.eachAtRule('media', function (atRule) { + var mediaType = mediaTypeIfSimpleHoverHover(atRule); + switch (mediaType) { + case 'all': + /* falls through */ + case 'screen': { + atRule.eachRule(function (rule) { + prefixSelectorsWith(rule, hoverSelectorPrefix); + }); + if (mediaType === 'screen') { + atRule.params = 'screen'; + } + else { + // Remove tautological @media all {...} wrapper + replaceWithItsChildren(atRule); + } + return; } - return; - } - case 'print': - /* falls through */ - case 'speech': { - // These media types never support hovering - // Delete always-false media query - atRule.removeSelf(); - return; - } + case 'print': + /* falls through */ + case 'speech': { + // These media types never support hovering + // Delete always-false media query + atRule.removeSelf(); + return; + } - case undefined: { - return; // Media query irrelevant or too complicated - } - default: { - return; // Deprecated media type; take no action. + case undefined: { + return; // Media query irrelevant or too complicated + } + default: { + return; // Deprecated media type; take no action. + } } - } + }); }); -}); +}; |