@navikt/aksel
Version:
Aksel command line interface. Handles css-imports, codemods and more
18 lines (17 loc) • 763 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = transformer;
const legacy_tokens_1 = require("../config/legacy.tokens");
function transformer(file) {
let src = file.source;
for (const [oldToken, config] of Object.entries(legacy_tokens_1.legacyTokenConfig)) {
const oldCSSVar = `--a-${oldToken}`;
/* We update all re-definitions of a token to a "legacy" version */
const replaceRegex = new RegExp("(" + `${oldCSSVar}:` + ")", "gm");
src = src.replace(replaceRegex, `--aksel-legacy${oldCSSVar.replace("--", "__")}:`);
if (config.replacement.length > 0) {
src = src.replace(config.regexes.css, `--ax-${config.replacement}`);
}
}
return src;
}