@mui/codemod
Version:
Codemod scripts for Material UI.
53 lines (52 loc) • 1.64 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = transformer;
var _replaceComponentsWithSlots = _interopRequireDefault(require("../utils/replaceComponentsWithSlots"));
var _movePropIntoSlots = _interopRequireDefault(require("../utils/movePropIntoSlots"));
var _movePropIntoSlotProps = _interopRequireDefault(require("../utils/movePropIntoSlotProps"));
/**
* @param {import('jscodeshift').FileInfo} file
* @param {import('jscodeshift').API} api
*/
function transformer(file, api, options) {
const j = api.jscodeshift;
const root = j(file.source);
const printOptions = options.printOptions;
(0, _replaceComponentsWithSlots.default)(j, {
root,
packageName: options.packageName,
componentName: 'Tooltip'
});
(0, _movePropIntoSlots.default)(j, {
root,
packageName: options.packageName,
componentName: 'Tooltip',
propName: 'PopperComponent',
slotName: 'popper'
});
(0, _movePropIntoSlotProps.default)(j, {
root,
packageName: options.packageName,
componentName: 'Tooltip',
propName: 'PopperProps',
slotName: 'popper'
});
(0, _movePropIntoSlots.default)(j, {
root,
packageName: options.packageName,
componentName: 'Tooltip',
propName: 'TransitionComponent',
slotName: 'transition'
});
(0, _movePropIntoSlotProps.default)(j, {
root,
packageName: options.packageName,
componentName: 'Tooltip',
propName: 'TransitionProps',
slotName: 'transition'
});
return root.toSource(printOptions);
}