import { chromium } from "playwright"; import fs from "node:fs/promises"; import path from "node:path"; import { fileURLToPath } from "node:url"; const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), ".."); const svg = await fs.readFile(path.join(root, "public", "favicon.svg"), "utf8"); const svgDataUrl = `data:image/svg+xml;base64,${Buffer.from(svg).toString("base64")}`; const browser = await chromium.launch({ headless: true }); try { for (const size of [192, 512]) { const page = await browser.newPage({ viewport: { width: size, height: size }, deviceScaleFactor: 1 }); await page.setContent(``); await page.screenshot({ path: path.join(root, "public", `icon-${size}.png`), type: "png" }); await page.close(); } } finally { await browser.close(); }