"use strict"; const isAutoprefixable = require("../../utils/isAutoprefixable"); const report = require("../../utils/report"); const ruleMessages = require("../../utils/ruleMessages"); const validateOptions = require("../../utils/validateOptions"); const ruleName = "media-feature-name-no-vendor-prefix"; const messages = ruleMessages(ruleName, { rejected: "Unexpected vendor-prefix" }); const rule = function(actual) { return (root, result) => { const validOptions = validateOptions(result, ruleName, { actual }); if (!validOptions) { return; } root.walkAtRules(/^media$/i, atRule => { const params = atRule.params; if (!isAutoprefixable.mediaFeatureName(params)) { return; } const matches = atRule.toString().match(/[a-z-]+device-pixel-ratio/gi); if (!matches) { return; } matches.forEach(match => { report({ message: messages.rejected, node: atRule, word: match, result, ruleName }); }); }); }; }; rule.ruleName = ruleName; rule.messages = messages; module.exports = rule;