Files
lucide/scripts/migrateIconsToCategories.mjs
Han Yeong-woo eb035fe370 Improve formatting (#1814)
* Ignore linting for examples in docs

* Formatting JSX single attribute per line

* Separte `format` and `lint:format` in package.json

* Bump prettier version

* Run format
2024-02-01 14:38:21 +01:00

26 lines
796 B
JavaScript

import path from 'path';
import { writeFile, getCurrentDirPath, readAllMetadata } from './helpers.mjs';
const currentDir = getCurrentDirPath(import.meta.url);
const ICONS_DIR = path.resolve(currentDir, '../icons');
const icons = readAllMetadata(ICONS_DIR);
const newCategories = {};
Object.keys(icons).forEach((iconName) => {
icons[iconName].categories.forEach((categoryName) => {
newCategories[categoryName] = newCategories[categoryName] || [];
newCategories[categoryName].push(iconName);
});
});
const ordered = Object.keys(newCategories)
.sort()
.reduce((obj, key) => {
obj[key] = newCategories[key];
return obj;
}, {});
const categoriesContent = JSON.stringify(ordered, null, 2);
writeFile(categoriesContent, 'categories.json', path.resolve(currentDir, '..'));