mirror of
https://github.com/lucide-icons/lucide.git
synced 2026-11-15 14:08:49 +00:00
20 lines
655 B
TypeScript
20 lines
655 B
TypeScript
import fs from 'fs';
|
|||
|
|
import path from 'path';
|
||
|
|
import { parseSync, stringify } from 'svgson';
|
||
|
|
|
||
|
|
const ICONS_DIR = path.resolve(__dirname, '../../../icons');
|
||
|
|
|
||
|
|
export const getOriginalSvg = (iconName: string, aliasNames?: string[]) => {
|
||
|
|
const svgContent = fs.readFileSync(path.join(ICONS_DIR, `${iconName}.svg`), 'utf8');
|
||
|
|
const svgParsed = parseSync(svgContent);
|
||
|
|
|
||
|
|
if (aliasNames) {
|
||
|
|
svgParsed.attributes['class'] =
|
||
|
|
`lucide lucide-${iconName} ${aliasNames.map((alias) => `lucide-${alias}`).join(' ')}`;
|
||
|
|
}
|
||
|
|
|
||
|
|
return stringify(svgParsed, { selfClose: false });
|
||
|
|
};
|
||
|
|
|
||
|
|
export const removeKeys = (svg: string) => svg.replaceAll(/ key="[^"]+"/g, '');
|