UNPKG

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