UNPKG

stylelint-plugin-enforce-atomics

Version:

stylelint plugin to enforce usage of atomic classes

20 lines (19 loc) 924 B
"use strict"; 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;