diff options
Diffstat (limited to 'svgo.config.mjs')
-rw-r--r-- | svgo.config.mjs | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/svgo.config.mjs b/svgo.config.mjs new file mode 100644 index 000000000..d7c98cd54 --- /dev/null +++ b/svgo.config.mjs @@ -0,0 +1,64 @@ +const preset = [ + "removeDoctype", + "removeXMLProcInst", + "removeComments", + "removeMetadata", + "removeEditorsNSData", + "cleanupAttrs", + "mergeStyles", + "inlineStyles", + "minifyStyles", + "cleanupIds", + "removeUselessDefs", + "cleanupNumericValues", + "convertColors", + "removeUnknownsAndDefaults", + "removeNonInheritableGroupAttrs", + "removeUselessStrokeAndFill", + "removeDimensions", + "cleanupEnableBackground", + "removeHiddenElems", + "removeEmptyText", + "convertShapeToPath", + "convertEllipseToCircle", + "moveElemsAttrsToGroup", + "moveGroupAttrsToElems", + "collapseGroups", + "convertPathData", + "convertTransform", + "removeEmptyAttrs", + "removeEmptyContainers", + "removeUnusedNS", + "mergePaths", + "sortAttrs", + "sortDefsChildren", + "removeTitle", + "removeDesc", +] + +export default { + plugins: [...preset.map(name => ({ + name, + params: { + floatPrecision: 3, + transformPrecision: 5, + // minimise diff in ouput from svgomg + // maybe remove in future? will produce smaller output + convertToZ: false, + removeUseless: false, + } + })), + { + name: 'addTrailingWhitespace', + fn() { + return { + root: { + exit (root) { + root.children.push({ type: 'text', value: '\n' }) + return root + } + } + } + } + }] +}; |