-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsvgo.config.js
72 lines (71 loc) · 1.6 KB
/
svgo.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
const { detachNodeFromParent } = require('svgo/lib/xast.js');
module.exports = {
multipass: true,
js2svg: {
indent: 2, // string with spaces or number of spaces. 4 by default
pretty: true, // boolean, false by default
},
plugins: [
'removeDoctype',
'removeXMLProcInst',
'removeMetadata',
'removeEditorsNSData',
// 'removeXMLNS',
'cleanupAttrs',
'mergeStyles',
'inlineStyles',
'minifyStyles',
'cleanupIDs',
'removeUselessDefs',
'cleanupNumericValues',
'convertColors',
'removeUnknownsAndDefaults',
'removeNonInheritableGroupAttrs',
'removeUselessStrokeAndFill',
// 'removeViewBox',
'cleanupEnableBackground',
'removeHiddenElems',
'removeEmptyText',
'convertShapeToPath',
'convertEllipseToCircle',
'moveElemsAttrsToGroup',
'moveGroupAttrsToElems',
'collapseGroups',
'convertPathData',
'convertTransform',
'removeEmptyAttrs',
'removeEmptyContainers',
'mergePaths',
'removeUnusedNS',
'sortDefsChildren',
'removeTitle',
'removeDesc',
'removeDimensions',
{
name: 'removeAttrs',
params: {
attrs: ['svg:(?!(width|height|xmlns))'],
},
},
{
name: 'addAttributesToSVGElement',
params: {
attributes: ['height="1em"', 'width="1em"']
}
},
{
name: 'removeCommentsAll',
type: 'visitor',
active: true,
fn() {
return {
comment: {
enter: (node, parentNode) => {
detachNodeFromParent(node, parentNode);
},
},
}
}
}
]
}