Files
Arborflow/scripts/render-icon.cjs

21 lines
734 B
JavaScript
Raw Normal View History

const { app, BrowserWindow } = require('electron')
const fs = require('node:fs/promises')
const path = require('node:path')
app.whenReady().then(async () => {
const svg = await fs.readFile(path.join(__dirname, '..', 'public', 'arborflow.svg'), 'utf8')
const window = new BrowserWindow({
width: 512,
height: 512,
show: false,
transparent: true,
frame: false,
webPreferences: { offscreen: true },
})
await window.loadURL(`data:image/svg+xml;base64,${Buffer.from(svg).toString('base64')}`)
const image = await window.webContents.capturePage({ x: 0, y: 0, width: 512, height: 512 })
await fs.writeFile(path.join(__dirname, '..', 'build', 'icon.png'), image.toPNG())
window.destroy()
app.quit()
})