.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / stylelint / lib / rules / media-feature-name-no-vendor-prefix / index.js
1 "use strict";
2
3 const isAutoprefixable = require("../../utils/isAutoprefixable");
4 const report = require("../../utils/report");
5 const ruleMessages = require("../../utils/ruleMessages");
6 const validateOptions = require("../../utils/validateOptions");
7
8 const ruleName = "media-feature-name-no-vendor-prefix";
9
10 const messages = ruleMessages(ruleName, {
11   rejected: "Unexpected vendor-prefix"
12 });
13
14 const rule = function(actual) {
15   return (root, result) => {
16     const validOptions = validateOptions(result, ruleName, { actual });
17     if (!validOptions) {
18       return;
19     }
20
21     root.walkAtRules(/^media$/i, atRule => {
22       const params = atRule.params;
23
24       if (!isAutoprefixable.mediaFeatureName(params)) {
25         return;
26       }
27       const matches = atRule.toString().match(/[a-z-]+device-pixel-ratio/gi);
28
29       if (!matches) {
30         return;
31       }
32
33       matches.forEach(match => {
34         report({
35           message: messages.rejected,
36           node: atRule,
37           word: match,
38           result,
39           ruleName
40         });
41       });
42     });
43   };
44 };
45
46 rule.ruleName = ruleName;
47 rule.messages = messages;
48 module.exports = rule;