forked from
jollywhoppers.com/witchsky.app
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}