UNPKG

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
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