module.exports = { multipass: true, plugins: [ { name: 'preset-default', params: { overrides: { // customize options convertPathData: { // 3 decimals of precision in floating point numbers floatPrecision: 3, // Some editors (e.g. Adobe Illustrator and Sketch) cannot parse flags // without space wrapping noSpaceAfterFlags: false, }, // Sort the attributes on the tag sortAttrs: { order: ['role', 'viewBox'], xmlnsOrder: 'end', }, // Convert basic shapes (such as ) to convertShapeToPath: { // including convertArcs: true, }, // Compound all s into one mergePaths: { force: true, noSpaceAfterFlags: false, }, // Keep the tag removeTitle: false, // Keep the role="img" attribute and automatically add it // to the tag if it's not there already addAttributesToSVGElement: { attributes: [ {role: 'img'}, ], }, // Keep the 'role' attribute, if it's already defined removeUnknownsAndDefaults: { keepRoleAttr: true, }, // Remove all attributes except 'role', 'viewBox', and 'xmlns' from // tags removeAttrs: { attrs: [ 'baseProfile', 'version', 'fill-rule', ], }, // Remove paths with fill="none" removeUselessStrokeAndFill: { removeNone: true, }, // Explicitly enable everything else removeDoctype: true, removeXMLProcInst: true, removeComments: true, removeMetadata: true, removeEditorsNSData: true, cleanupAttrs: true, inlineStyles: true, minifyStyles: true, convertStyleToAttrs: true, cleanupIDs: true, prefixIds: true, removeRasterImages: true, removeUselessDefs: true, cleanupNumericValues: true, cleanupListOfValues: true, convertColors: true, removeNonInheritableGroupAttrs: true, removeViewBox: true, cleanupEnableBackground: true, removeHiddenElems: true, removeEmptyText: true, moveElemsAttrsToGroup: true, moveGroupAttrsToElems: true, collapseGroups: true, convertTransform: true, removeEmptyAttrs: true, removeEmptyContainers: true, removeUnusedNS: true, removeDesc: true, removeDimensions: true, removeStyleElement: true, removeScriptElement: true, removeOffCanvasPaths: true, reusePaths: true, }, }, }, ], };