stylelint-plugin-enforce-atomics
Version:
stylelint plugin to enforce usage of atomic classes
24 lines (23 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.run = exports.messages = void 0;
const stylelint_1 = require("stylelint");
const source_parser_1 = require("./domains/source-parser");
const options_1 = require("./domains/options");
const config_1 = require("./config");
const current_root_parser_1 = require("./domains/current-root-parser");
const reporter_atomic_1 = require("./domains/reporters/reporter-atomic");
exports.messages = stylelint_1.utils.ruleMessages(config_1.config.ruleName, {
rejected: (atomicClass) => `Consider use of ${atomicClass.replace("\\32xl\\:", "")}`,
});
function run() {
return (0, stylelint_1.createPlugin)(config_1.config.ruleName, function rule(_, options = null) {
return (root, result) => {
const { css: pathToCssSource } = (0, options_1.retrieveOptions)(options);
const sourceMetadata = (0, source_parser_1.sourceParser)(pathToCssSource);
(0, current_root_parser_1.currentRootParser)(root, sourceMetadata);
(0, reporter_atomic_1.reporterAtomic)(sourceMetadata, result);
};
});
}
exports.run = run;