29 lines
		
	
	
		
			835 B
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			835 B
		
	
	
	
		
			JavaScript
		
	
	
	
| const stylelint = require('stylelint');
 | |
| 
 | |
| const ruleName = 'plugin/disallow-first-level-global';
 | |
| 
 | |
| module.exports = stylelint.createPlugin(ruleName, function (ruleValue) {
 | |
|   if (ruleValue === null || ruleValue === undefined || ruleValue === false) {
 | |
|     return () => {
 | |
|       // Nop.
 | |
|     };
 | |
|   }
 | |
|   return function (postcssRoot, postcssResult) {
 | |
|     postcssRoot.walkRules(rule => {
 | |
|       if (rule.parent.type === 'root' && /:global/.test(rule.selector)) {
 | |
|         stylelint.utils.report({
 | |
|           ruleName,
 | |
|           result: postcssResult,
 | |
|           node: rule,
 | |
|           message: 'Disallow :global class with nesting level of 1',
 | |
|         });
 | |
|       }
 | |
|     });
 | |
|   };
 | |
| });
 | |
| 
 | |
| module.exports.ruleName = ruleName;
 | |
| module.exports.messages = stylelint.utils.ruleMessages(ruleName, {
 | |
|   expected: 'Disallow :global class with nesting level of 1',
 | |
| });
 |