implement svgo in the node pipeline
- Dominant language
- TypeScript
- Stars
- 59
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Description
https://github.com/svg/svgo
what I used in Sketch:
```
{
"comment": "This is the settings file for the SVGO Compressor Plugin. For more info, please check ",
"pretty": false,
"indent": 2,
"floatPrecision": 3,
"plugins": [
{
"name": "removeDoctype",
"enabled": true
},
{
"name": "removeXMLProcInst",
"enabled": true
},
{
"name": "removeComments",
"enabled": true
},
{
"name": "removeMetadata",
"enabled": true
},
{
"name": "removeXMLNS",
"enabled": false
},
{
"name": "removeEditorsNSData",
"enabled": true
},
{
"name": "cleanupAttrs",
"enabled": false
},
{
"name": "inlineStyles",
"enabled": false
},
{
"name": "minifyStyles",
"enabled": true
},
{
"name": "convertStyleToAttrs",
"enabled": true
},
{
"name": "cleanupIDs",
"enabled": true
},
{
"name": "prefixIds",
"enabled": false
},
{
"name": "removeRasterImages",
"enabled": false
},
{
"name": "removeUselessDefs",
"enabled": true
},
{
"name": "cleanupNumericValues",
"enabled": true
},
{
"name": "cleanupListOfValues",
"enabled": true
},
{
"name": "convertColors",
"enabled": true
},
{
"name": "removeUnknownsAndDefaults",
"enabled": true
},
{
"name": "removeNonInheritableGroupAttrs",
"enabled": true
},
{
"name": "removeUselessStrokeAndFill",
"enabled": true
},
{
"name": "removeViewBox",
"enabled": false
},
{
"name": "cleanupEnableBackground",
"enabled": false
},
{
"name": "removeHiddenElems",
"enabled": true
},
{
"name": "removeEmptyText",
"enabled": true
},
{
"name": "convertShapeToPath",
"enabled": true
},
{
"name": "moveElemsAttrsToGroup",
"enabled": false
},
{
"name": "moveGroupAttrsToElems",
"enabled": false
},
{
"name": "collapseGroups",
"enabled": true
},
{
"name": "convertPathData",
"enabled": true
},
{
"name": "convertTransform",
"enabled": true
},
{
"name": "removeEmptyAttrs",
"enabled": true
},
{
"name": "removeEmptyContainers",
"enabled": true
},
{
"name": "mergePaths",
"enabled": true
},
{
"name": "removeUnusedNS",
"enabled": true
},
{
"name": "sortAttrs",
"enabled": true
},
{
"name": "removeTitle",
"enabled": true
},
{
"name": "removeDesc",
"enabled": true,
"params": {
"removeAny": true
}
},
{
"name": "removeDimensions",
"enabled": false
},
{
"name": "removeAttrs",
"enabled": false
},
{
"name": "removeAttributesBySelector",
"enabled": false
},
{
"name": "removeElementsByAttr",
"enabled": false
},
{
"name": "addClassesToSVGElement",
"enabled": false
},
{
"name": "removeStyleElement",
"enabled": false
},
{
"name": "removeScriptElement",
"enabled": false
},
{
"name": "addAttributesToSVGElement",
"enabled": false
},
{
"name": "removeOffCanvasPaths",
"enabled": false
},
{
"name": "reusePaths",
"enabled": false
}
]
}
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the node pipeline and compare its current SVG processing with the linked SVGO project and the supplied Sketch settings. Done means SVGO runs in the pipeline with the requested configuration and the generated icons remain valid.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, typescript
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100