my fork of the bluesky client
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: [...preset.map(name => ({
41 name,
42 params: {
43 floatPrecision: 3,
44 transformPrecision: 5,
45 // minimise diff in ouput from svgomg
46 // maybe remove in future? will produce smaller output
47 convertToZ: false,
48 removeUseless: false,
49 }
50 })),
51 {
52 name: 'addTrailingWhitespace',
53 fn() {
54 return {
55 root: {
56 exit (root) {
57 root.children.push({ type: 'text', value: '\n' })
58 return root
59 }
60 }
61 }
62 }
63 }]
64};