Files
juanitosport/scripts/generate-icons.mjs
T

46 lines
1.2 KiB
JavaScript

import { mkdir } from "fs/promises";
import path from "path";
import sharp from "sharp";
const SOURCE = path.join(process.cwd(), "public", "images", "logo-muaythai.jpg");
const OUT_DIR = path.join(process.cwd(), "public", "icons");
const sizes = [72, 96, 128, 192, 256, 384, 512];
async function main() {
await mkdir(OUT_DIR, { recursive: true });
const source = sharp(SOURCE).resize(512, 512, {
fit: "cover",
position: "centre",
});
for (const size of sizes) {
await source
.clone()
.resize(size, size)
.png()
.toFile(path.join(OUT_DIR, `icon-${size}x${size}.png`));
console.log(`✓ icon-${size}x${size}.png`);
}
await source
.clone()
.resize(180, 180)
.png()
.toFile(path.join(OUT_DIR, "apple-touch-icon.png"));
console.log(`✓ apple-touch-icon.png`);
await source.clone().resize(32, 32).png().toFile(path.join(OUT_DIR, "favicon-32.png"));
console.log(`✓ favicon-32.png`);
await source.clone().resize(16, 16).png().toFile(path.join(OUT_DIR, "favicon-16.png"));
console.log(`✓ favicon-16.png`);
console.log("Icônes PWA générées ✅");
}
main().catch((e) => {
console.error(e);
process.exit(1);
});