/** * Modify the JSX to use the IconBase component as a wrapper */ const modifyJSX = (jsx) => { jsx.openingElement.name.name = 'IconBase'; jsx.openingElement.attributes = [ ...jsx.openingElement.attributes, { type: 'JSXSpreadAttribute', argument: { type: 'Identifier', name: 'props', }, }, ]; jsx.closingElement.name.name = 'IconBase'; return jsx; }; const comments = ` // This is an auto-generated file, created by svgr-cli. // Do not edit this file manually. // To update the component, modify the template in templates/icon.js. // Run "yarn generate" to update. `; const imports = ` import { memo } from 'react'; import { IconBase, IconProps } from '../IconBase'; `; const template = ({ exports, jsx, componentName }, { tpl }) => { return tpl` ${comments} ${imports} const ${componentName} = (props: IconProps) => ( ${modifyJSX(jsx)} ); ${exports}; `; }; module.exports = template;