stylelint-plugin-enforce-atomics
Version:
stylelint plugin to enforce usage of atomic classes
20 lines (19 loc) • 924 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sourceParser = void 0;
const fs = require("fs");
const path = require("path");
const postcss = require("postcss");
const parse_source_and_seed_mata_data_1 = require("./parse-source-and-seed-mata-data");
const source_metadata_1 = require("./source-metadata");
function sourceParser(cssSourcePath) {
const data = fs.readFileSync(path.resolve(cssSourcePath), "utf8");
const rootCss = postcss.parse(data);
const selectorsToPropertyPairNode = new Map();
const propertyValuePairToSelector = new Map();
rootCss.walkRules((rule) => {
(0, parse_source_and_seed_mata_data_1.parseSourceAndSeedMataData)(rule, selectorsToPropertyPairNode, propertyValuePairToSelector);
});
return new source_metadata_1.SourceMetadata(selectorsToPropertyPairNode, propertyValuePairToSelector);
}
exports.sourceParser = sourceParser;