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',
|
|
});
|