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