UNPKG

865 BJavaScriptView Raw
1'use strict';
2
3const report = require('../../utils/report');
4const ruleMessages = require('../../utils/ruleMessages');
5const validateOptions = require('../../utils/validateOptions');
6
7const ruleName = 'keyframe-declaration-no-important';
8
9const messages = ruleMessages(ruleName, {
10 rejected: 'Unexpected !important',
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.walkAtRules(/^(-(moz|webkit)-)?keyframes$/i, (atRuleKeyframes) => {
22 atRuleKeyframes.walkDecls((decl) => {
23 if (!decl.important) {
24 return;
25 }
26
27 report({
28 message: messages.rejected,
29 node: decl,
30 word: 'important',
31 result,
32 ruleName,
33 });
34 });
35 });
36 };
37}
38
39rule.ruleName = ruleName;
40rule.messages = messages;
41module.exports = rule;