Bluesky app fork with some witchin' additions 馃挮
1const preset = [ 2 'removeDoctype', 3 'removeXMLProcInst', 4 'removeComments', 5 'removeMetadata', 6 'removeEditorsNSData', 7 'cleanupAttrs', 8 'mergeStyles', 9 'inlineStyles', 10 'minifyStyles', 11 'cleanupIds', 12 'removeUselessDefs', 13 'cleanupNumericValues', 14 'convertColors', 15 'removeUnknownsAndDefaults', 16 'removeNonInheritableGroupAttrs', 17 'removeUselessStrokeAndFill', 18 'removeDimensions', 19 'cleanupEnableBackground', 20 'removeHiddenElems', 21 'removeEmptyText', 22 'convertShapeToPath', 23 'convertEllipseToCircle', 24 'moveElemsAttrsToGroup', 25 'moveGroupAttrsToElems', 26 'collapseGroups', 27 'convertPathData', 28 'convertTransform', 29 'removeEmptyAttrs', 30 'removeEmptyContainers', 31 'removeUnusedNS', 32 'mergePaths', 33 'sortAttrs', 34 'sortDefsChildren', 35 'removeTitle', 36 'removeDesc', 37] 38 39export default { 40 plugins: [ 41 ...preset.map(name => ({ 42 name, 43 params: { 44 floatPrecision: 3, 45 transformPrecision: 5, 46 // minimise diff in ouput from svgomg 47 // maybe remove in future? will produce smaller output 48 convertToZ: false, 49 removeUseless: false, 50 }, 51 })), 52 { 53 name: 'addTrailingWhitespace', 54 fn() { 55 return { 56 root: { 57 exit(root) { 58 root.children.push({type: 'text', value: '\n'}) 59 return root 60 }, 61 }, 62 } 63 }, 64 }, 65 ], 66}