bixi
Version:
企业级中后台前端解决方案
38 lines (31 loc) • 912 B
JavaScript
const fs = require('fs');
const fse = require('fs-extra');
const { PATH } = require('../util');
const excluded = ['.DS_Store', '.gitkeep', 'package.json', 'public_api.ts'];
const types = ['Fill', 'Outline', 'TwoTone'];
function scanAntdIcons() {
const antdIconPath = `${PATH.nodeModules}/@ant-design/icons-angular/src/icons`;
const ret = {};
// type
fs.readdirSync(antdIconPath).forEach(type => {
if (excluded.includes(type)) return;
const _type = type.toLowerCase();
ret[_type] = [];
// icon
fs.readdirSync(`${antdIconPath}/${type}`).forEach(e => {
if (!excluded.includes(e)) ret[_type].push(formatIconPath(e));
});
});
return ret;
}
function formatIconPath(origin) {
return origin
.replace(/(Fill|Outline|TwoTone).ts$/, '')
.replace(/([A-Z])/g, '-$1')
.replace(/^-/, '')
.toLowerCase();
}
module.exports = {
scanAntdIcons
};
scanAntdIcons();