stylelint-css-in-js-syntax
Version:
This plugin provides [ESLint](https://eslint.org/) rules that limit the line length of your comments. Furthermore, an **automatic fix** is included such that you can save time manually formatting your comments. As such it is recommended to apply this rule
27 lines (24 loc) • 925 B
JavaScript
import rootPostcss from 'postcss';
import { extractInlineCss } from './util.extract-inline-css.mjs';
import { extractQuasisAndExpressions } from './util.extract-quasis-and-expressions.mjs';
import { fixUnclosedDelcarations } from './util.fix-unclosed-declarations.mjs';
import { stringifyExpressions } from './util.stringify-expressions.mjs';
const postcss = rootPostcss();
function parser(content, opts) {
const css = (() => {
if (opts.from?.endsWith(".css")) {
return content;
}
return extractInlineCss(content);
})();
const { quasis, expressions } = extractQuasisAndExpressions(css);
const plainCssString = stringifyExpressions(quasis, expressions);
const safeCssString = fixUnclosedDelcarations(plainCssString);
const parsed = postcss.process(safeCssString, {
from: opts.from,
to: opts.to
}).root;
return parsed;
}
export { parser };
//# sourceMappingURL=syntax.parser.mjs.map