UNPKG

stylelint-sustainable-css

Version:

Sustainable CSS is a Stylelint plugin dedicated to following sustainable web design principles.

36 lines (28 loc) 847 B
const stylelint = require('stylelint'); const ruleName = 'sustainable-css/avoid-duplicate-media-queries'; function avoidDuplicateMediaQueries() { return (root, result) => { const mediaQueries = {}; root.walkAtRules('media', atRule => { const params = atRule.params; if (!mediaQueries[params]) { mediaQueries[params] = []; } atRule.walkRules(rule => { mediaQueries[params].push(rule.selector); }); }); Object.keys(mediaQueries).forEach(params => { if (mediaQueries[params].length > 1) { stylelint.utils.report({ message: "Combine similar media queries to optimize stylesheet size", node: root, result, ruleName, severity: 'warning', }); } }); }; } module.exports = avoidDuplicateMediaQueries;