mirror of
https://github.com/lucide-icons/lucide.git
synced 2025-12-16 07:27:42 +01:00
feat(lucide-static): include aliases in icons directory (#3368)
This commit is contained in:
@@ -31,8 +31,24 @@ createDirectory(ICON_MODULE_DIR);
|
|||||||
const svgFiles = await readSvgDirectory(ICONS_DIR);
|
const svgFiles = await readSvgDirectory(ICONS_DIR);
|
||||||
const svgs = await readSvgs(svgFiles, ICONS_DIR);
|
const svgs = await readSvgs(svgFiles, ICONS_DIR);
|
||||||
|
|
||||||
|
const aliases = (await Promise.all(
|
||||||
|
(await readSvgDirectory(ICONS_DIR, '.json')).map(async (metadataFile) => {
|
||||||
|
const filePath = path.join(ICONS_DIR, metadataFile);
|
||||||
|
const fileContent = await fs.promises.readFile(filePath, 'utf-8');
|
||||||
|
const { aliases }: {aliases: undefined | (string | { name: string })[]} = JSON.parse(fileContent);
|
||||||
|
if (!aliases?.length) return [];
|
||||||
|
const svgName = path.basename(metadataFile, '.json');
|
||||||
|
const svg = svgs.find((s) => s.name === svgName);
|
||||||
|
if (!svg) return [];
|
||||||
|
return aliases.map(alias => ({
|
||||||
|
...svg,
|
||||||
|
name: typeof alias === 'string' ? alias : alias.name,
|
||||||
|
}));
|
||||||
|
})
|
||||||
|
)).flat();
|
||||||
|
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
generateSprite(svgs, PACKAGE_DIR, license),
|
generateSprite(svgs, PACKAGE_DIR, license),
|
||||||
generateIconNodes(svgs, PACKAGE_DIR),
|
generateIconNodes(svgs, PACKAGE_DIR),
|
||||||
copyIcons(svgs, PACKAGE_DIR, license),
|
copyIcons([...svgs, ...aliases], PACKAGE_DIR, license),
|
||||||
]);
|
]);
|
||||||
|
|||||||
Reference in New Issue
Block a user