aboutsummaryrefslogtreecommitdiffstats
path: root/utils/create-icon-map.js
blob: d98089530dd28c09dee230871b4a505f2776b21d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
const fs = require('fs');
const path = require('path');

const svgFolder = './assets/icons/';
const iconMapFile = './src/react/utils/iconMap.js';

let dataToWrite = '';
let iconNames = [];

let iconMapDir = path.dirname(iconMapFile);
if (!fs.existsSync(iconMapDir)) {
    fs.mkdirSync(iconMapDir);
};

fs.readdirSync(svgFolder).forEach(file => {
    let fileName = file.split('.');
    if (fileName[0] && fileName[1] === 'svg') {
        dataToWrite += `import ${fileName[0]} from '-!svg-react-loader!../../.${svgFolder}${file}';\n`;
        iconNames.push(fileName[0]);
    }
});

dataToWrite += '\n' + `export default {\n\t${iconNames.join(',\n\t')}\n};`;

fs.writeFileSync(iconMapFile, dataToWrite);