-
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathiconGenerator.ts
More file actions
54 lines (45 loc) · 1.25 KB
/
iconGenerator.ts
File metadata and controls
54 lines (45 loc) · 1.25 KB
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import Env from './src/env'
const fs = require('fs')
const path = require('path')
const iconGen = require('icon-gen')
const iconFilePath = Env.get('ICON_PATH', 'icon.png')
const options = {
report: false,
ico: {
name: 'win-icon',
sizes: [16, 24, 32, 48, 64, 128, 256]
},
icns: {
name: 'icon',
sizes: [16, 32, 64, 128, 256, 512, 1024]
},
favicon: {
name: '{tmp}-',
pngSizes: [16, 24, 32, 48, 64, 96, 128, 256],
icoSizes: [16, 24, 32, 48, 64, 96, 128, 256]
}
}
async function generate () {
const files = await iconGen(
path.resolve(__dirname, iconFilePath),
path.resolve(__dirname, 'build/icons'),
options
) as string[]
const filesToRenames = files.filter(file => file.includes('{tmp}'))
for (const fileToRename of filesToRenames) {
const fileSize = path.basename(fileToRename)
.replace('.png', '')
.replace('{tmp}-', '')
const newFilePath = fileToRename.replace('{tmp}-', `${fileSize}x`)
fs.renameSync(fileToRename, newFilePath)
}
return 'Done'
}
if (fs.existsSync(iconFilePath)) {
console.log(`File ${iconFilePath} present...`)
generate()
.then(res => console.log(res))
.catch(error => console.error(error.message))
} else {
console.info(`No ${iconFilePath} found...`)
}