const sharp = require('sharp'); const path = require('path'); const fs = require('fs'); const src = path.join(__dirname, '../icons/icon.svg'); const out = path.join(__dirname, '../icons'); const sizes = [ { name: 'apple-touch-icon.png', size: 180 }, { name: 'icon-192.png', size: 192 }, { name: 'icon-512.png', size: 512 }, { name: 'favicon-32.png', size: 32 }, ]; (async () => { const svg = fs.readFileSync(src); for (const { name, size } of sizes) { await sharp(svg) .resize(size, size) .png() .toFile(path.join(out, name)); console.log(`✓ ${name} (${size}×${size})`); } })();