mirror of
https://github.com/WeBankFinTech/fes.js.git
synced 2025-08-09 04:39:57 +08:00
33 lines
851 B
JavaScript
33 lines
851 B
JavaScript
import { extname, basename } from 'path';
|
|
import { statSync, readFileSync } from 'fs';
|
|
import { optimize } from 'svgo';
|
|
|
|
const presetDefault = [
|
|
{
|
|
name: 'preset-default'
|
|
},
|
|
'cleanupListOfValues',
|
|
{
|
|
name: 'removeAttrs',
|
|
params: {
|
|
attrs: '(fill|stroke|class)'
|
|
}
|
|
}
|
|
];
|
|
|
|
|
|
export default function optimizeSvg(files) {
|
|
const optimizedSvgData = [];
|
|
for (const filePath of files) {
|
|
if (statSync(filePath).isFile() && extname(filePath) === '.svg') {
|
|
const data = readFileSync(filePath, 'utf-8');
|
|
const svgData = optimize(data, { path: filePath, plugins: presetDefault });
|
|
optimizedSvgData.push({
|
|
fileName: basename(filePath),
|
|
...svgData
|
|
});
|
|
}
|
|
}
|
|
return Promise.all(optimizedSvgData);
|
|
}
|