@navikt/aksel
Version:
Aksel command line interface. Codemods and other utilities for Aksel users.
33 lines (32 loc) • 1.14 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = transformer;
const ast_1 = require("../../../utils/ast");
const lineterminator_1 = require("../../../utils/lineterminator");
const removeProps_1 = __importDefault(require("../../../utils/removeProps"));
const deprecationMap = {
Accordion: ["headingSize"],
Popover: ["arrow"],
Page: ["background"],
};
function transformer(file, api) {
const j = api.jscodeshift;
const root = j(file.source);
const toSourceOptions = (0, lineterminator_1.getLineTerminator)(file.source);
for (const [component, props] of Object.entries(deprecationMap)) {
const sourceName = (0, ast_1.findComponentImport)({
root,
j,
name: component,
packageType: "react",
});
if (!sourceName) {
continue;
}
(0, removeProps_1.default)(j, root, sourceName, props);
}
return root.toSource(toSourceOptions);
}