svgwebpacksvgo

Pass options to the builtin svgo from svgr/webpack


Is there an option to pass in svgo options to the svgr/webpack loader ? I want to remove the width & height attributes and keep the viewbox, by default it removes those.

{
    test: /\.svg$/,
    use: ['@svgr/webpack'],
    options : {
    svgo: { // Something like this ?
        mergePaths: false,
        removeViewbox: false,
        removeAttrs: true,
    }}

},


Solution

  • I could not find a way of passing arguments through svgr to svgo so I switched to react-svg-loader which has documentation on how to achieve that :

    {
        test: /\.svg$/,
        use: [
            'babel-loader',
            {
                loader: 'react-svg-loader',
                options: {
                    svgo: {
                        plugins: [{ removeDimensions: true, removeViewBox: false }],
                        floatPrecision: 2,
                    },
                },
            },
        ],
    },