UNPKG

@mui/codemod

Version:
38 lines (37 loc) 990 B
"use strict"; const variants = ['standard', 'outlined', 'filled']; const colors = ['Success', 'Info', 'Warning', 'Error']; const classes = variants.reduce((acc, variant) => { return acc.concat(colors.map(color => { const deprecatedClass = `.MuiAlert-${variant}${color}`; const replacementSelector = `.MuiAlert-${variant}.MuiAlert-color${color}`; return { deprecatedClass, replacementSelector }; })); }, []); const plugin = () => { return { postcssPlugin: `Replace deprecated Alert classes with new classes`, Rule(rule) { const { selector } = rule; classes.forEach(({ deprecatedClass, replacementSelector }) => { const selectorRegex = new RegExp(`${deprecatedClass}`); if (selector.match(selectorRegex)) { rule.selector = selector.replace(selectorRegex, replacementSelector); } }); } }; }; plugin.postcss = true; module.exports = { plugin, classes };