Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import inlineStyles from 'svgo/plugins/inlineStyles'
import inlineDefs from './plugins/inlineDefs'
// Enable removeAttrs plugin
// Remove id attribute to prevent conflict with our id
removeAttrs.active = true
removeAttrs.params.attrs = 'svg:id'
// Disable removeViewBox plugin and enable removeDimensions
// Keep viewBox and remove width & height attribute
removeViewBox.active = false
removeDimensions.active = true
// Make all styles inline
// By definition, a defs sprite is not usable as a CSS sprite
inlineStyles.active = true
inlineStyles.params.onlyMatchedOnce = false
const svgOptimizer = new Svgo({
plugins: [
removeDimensions,
cleanupIDs,
removeAttrs,
removeViewBox,
inlineStyles,
{ inlineDefs }
]
})
export async function writeSVG (path, content) {
const result = await fs.writeFile(path, content, { flag: 'w' })
return result