.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / stylelint / lib / rules / property-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 = "property-no-vendor-prefix";
9
10 const messages = ruleMessages(ruleName, {
11   rejected: property => `Unexpected vendor-prefix "${property}"`
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.walkDecls(decl => {
22       const prop = decl.prop;
23
24       // Make sure there's a vendor prefix,
25       // but this isn't a custom property
26
27       if (prop[0] !== "-" || prop[1] === "-") {
28         return;
29       }
30
31       if (!isAutoprefixable.property(prop)) {
32         return;
33       }
34       report({
35         message: messages.rejected(prop),
36         node: decl,
37         result,
38         ruleName
39       });
40     });
41   };
42 };
43
44 rule.ruleName = ruleName;
45 rule.messages = messages;
46 module.exports = rule;