UNPKG

1.1 kBJavaScriptView Raw
1'use strict';
2
3const atRuleNameSpaceChecker = require('../atRuleNameSpaceChecker');
4const ruleMessages = require('../../utils/ruleMessages');
5const validateOptions = require('../../utils/validateOptions');
6const whitespaceChecker = require('../../utils/whitespaceChecker');
7
8const ruleName = 'at-rule-name-newline-after';
9
10const messages = ruleMessages(ruleName, {
11 expectedAfter: (name) => `Expected newline after at-rule name "${name}"`,
12});
13
14const meta = {
15 url: 'https://stylelint.io/user-guide/rules/list/at-rule-name-newline-after',
16};
17
18/** @type {import('stylelint').Rule} */
19const rule = (primary) => {
20 const checker = whitespaceChecker('newline', primary, messages);
21
22 return (root, result) => {
23 const validOptions = validateOptions(result, ruleName, {
24 actual: primary,
25 possible: ['always', 'always-multi-line'],
26 });
27
28 if (!validOptions) {
29 return;
30 }
31
32 atRuleNameSpaceChecker({
33 root,
34 result,
35 locationChecker: checker.afterOneOnly,
36 checkedRuleName: ruleName,
37 });
38 };
39};
40
41rule.ruleName = ruleName;
42rule.messages = messages;
43rule.meta = meta;
44module.exports = rule;