UNPKG

@navikt/aksel

Version:

Aksel command line interface. Handles css-imports, codemods and more

30 lines (29 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = transformer; const ast_1 = require("../../../utils/ast"); const lineterminator_1 = require("../../../utils/lineterminator"); const translate_token_1 = require("../../../utils/translate-token"); const spacing_utils_1 = require("../spacing.utils"); function transformer(file, api) { const j = api.jscodeshift; let root = j(file.source); spacing_utils_1.legacySpacingTokenMap.forEach((newVar, oldVar) => { const oldCSSVar = (0, translate_token_1.translateToken)(`--a-spacing-${oldVar}`, "js"); const newCSSVar = (0, translate_token_1.translateToken)(`--a-space-${newVar}`, "js"); const name = (0, ast_1.findComponentImport)({ root, j, name: oldCSSVar, packageType: "tokens", }); if (!name) { return; } let code = root.toSource((0, lineterminator_1.getLineTerminator)(file.source)); const rgx = new RegExp("(" + oldCSSVar + ")", "gm"); code = code.replace(rgx, newCSSVar); root = j(code); }); return root.toSource((0, lineterminator_1.getLineTerminator)(file.source)); }