UNPKG

987 BJavaScriptView Raw
1'use strict';
2
3const report = require('../../utils/report');
4const ruleMessages = require('../../utils/ruleMessages');
5const validateOptions = require('../../utils/validateOptions');
6
7const ruleName = 'no-invalid-double-slash-comments';
8
9const messages = ruleMessages(ruleName, {
10 rejected: 'Unexpected double-slash CSS comment',
11});
12
13function rule(actual) {
14 return (root, result) => {
15 const validOptions = validateOptions(result, ruleName, { actual });
16
17 if (!validOptions) {
18 return;
19 }
20
21 root.walkDecls((decl) => {
22 if (decl.prop.startsWith('//')) {
23 report({
24 message: messages.rejected,
25 node: decl,
26 result,
27 ruleName,
28 });
29 }
30 });
31 root.walkRules((rule) => {
32 rule.selectors.forEach((selector) => {
33 if (selector.startsWith('//')) {
34 report({
35 message: messages.rejected,
36 node: rule,
37 result,
38 ruleName,
39 });
40 }
41 });
42 });
43 };
44}
45
46rule.ruleName = ruleName;
47rule.messages = messages;
48module.exports = rule;