@navikt/aksel
Version:
Aksel command line interface. Handles css-imports, codemods and more
20 lines (19 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = transformer;
const translate_token_1 = require("../../../utils/translate-token");
const spacing_utils_1 = require("../spacing.utils");
function transformer(file) {
let src = file.source;
spacing_utils_1.legacySpacingTokenMap.forEach((newVar, oldVar) => {
const oldCSSVar = `--a-spacing-${oldVar}`;
const newCSSVar = `--a-space-${newVar}`;
const CSSRgx = new RegExp("(" + oldCSSVar + ")", "gm");
const SCSSRgx = new RegExp("(\\" + (0, translate_token_1.translateToken)(oldCSSVar, "scss") + ")", "gm");
const LESSRgx = new RegExp("(" + (0, translate_token_1.translateToken)(oldCSSVar, "less") + ")", "gm");
src = src.replace(CSSRgx, newCSSVar);
src = src.replace(SCSSRgx, (0, translate_token_1.translateToken)(newCSSVar, "scss"));
src = src.replace(LESSRgx, (0, translate_token_1.translateToken)(newCSSVar, "less"));
});
return src;
}