mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-22 12:20:34 +00:00

* fix: icon * fix: web selector * fix: web selector * perf: link sync * dev doc * chomd doc * perf: git intro * 466 intro * intro img * add json editor (#5) * team limit * websync limit * json editor * text editor * perf: search test * change cq value type * doc * intro img --------- Co-authored-by: heheer <71265218+newfish-cmyk@users.noreply.github.com>
43 lines
1.1 KiB
JavaScript
Executable File
43 lines
1.1 KiB
JavaScript
Executable File
const path = require('path');
|
|
const fs = require('fs');
|
|
|
|
// 递归读取 packages/web/components/common/Icon/icons 下所有的 svg
|
|
function findSvgFiles(dir, relativePath = '') {
|
|
let svgFiles = [];
|
|
|
|
const items = fs.readdirSync(dir, { withFileTypes: true });
|
|
|
|
for (const item of items) {
|
|
const fullPath = path.join(dir, item.name);
|
|
const relativeItemPath = path.join(relativePath, item.name);
|
|
|
|
if (item.isDirectory()) {
|
|
const nestedSvgs = findSvgFiles(fullPath, relativeItemPath);
|
|
svgFiles = svgFiles.concat(nestedSvgs);
|
|
} else if (item.isFile() && item.name.endsWith('.svg')) {
|
|
svgFiles.push(relativeItemPath);
|
|
}
|
|
}
|
|
|
|
return svgFiles;
|
|
}
|
|
|
|
const svgPaths = findSvgFiles(`${__dirname}/../../packages/web/components/common/Icon/icons`);
|
|
|
|
let result = ``;
|
|
|
|
svgPaths.forEach((path) => {
|
|
const name = path.split('.')[0];
|
|
result += ` '${name}': () => import('./icons/${path}'),\n`;
|
|
});
|
|
|
|
// 把 result 结果写入 '../../packages/web/components/common/Icon/constants'
|
|
fs.writeFileSync(
|
|
`${__dirname}/../../packages/web/components/common/Icon/constants.ts`,
|
|
`// @ts-nocheck
|
|
|
|
export const iconPaths = {
|
|
${result}
|
|
};`
|
|
);
|