index.js 1.1 KB

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