40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
|
const fs = require('fs');
|
||
|
const path = require('path');
|
||
|
|
||
|
const folderPaths = [
|
||
|
'./client/public/icons/weapons',
|
||
|
'./client/public/icons/equipment',
|
||
|
'./client/public/icons/consumables',
|
||
|
'./client/public/icons/magic',
|
||
|
'./client/public/icons/skills',
|
||
|
'./client/public/icons/sundries',
|
||
|
'./client/public/icons/tools',
|
||
|
'./client/public/icons/commodities',
|
||
|
'./client/public/icons/containers',
|
||
|
'./client/public/icons/creatures',
|
||
|
'./client/public/icons/environment',
|
||
|
];
|
||
|
|
||
|
|
||
|
const outputPath = 'client/public/data/icons.json'
|
||
|
let result = [];
|
||
|
|
||
|
let iconCount = 0;
|
||
|
for(let i = 0; i < folderPaths.length; i++){
|
||
|
const files = fs.readdirSync(folderPaths[i], { recursive: true });
|
||
|
for(let j = 0; j < files.length; j++){
|
||
|
let absPath = folderPaths[i] + "/" + files[j]
|
||
|
if(fs.lstatSync(absPath).isFile()){
|
||
|
result.push({
|
||
|
path: absPath.replace(/^(\.\/client\/public\/)/,""),
|
||
|
name: path.parse(absPath).name
|
||
|
});
|
||
|
iconCount++;
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
|
||
|
fs.writeFileSync(outputPath, JSON.stringify({files: result}, null, 2));
|
||
|
|
||
|
console.log('File list generated successfully!');
|
||
|
console.log("Generated " + iconCount + " icons");
|