fix(icons): паритет иконки окна с pack-иконкой и sync lockfile

- Копировать build/icon.png в dist/renderer/app-pack-icon.png после Vite
- Приоритет pack PNG для BrowserWindow; на win32/linux без SVG в nativeImage
- macOS: app.dock.setIcon из того же набора PNG
- package-lock.json в соответствии с package.json

Made-with: Cursor
This commit is contained in:
     Фонтош Иван Сергеевич
2026-04-19 15:00:33 +08:00
parent d14a674e22
commit 5e7dc5ea19
5 changed files with 108 additions and 36 deletions
+12 -2
View File
@@ -1,7 +1,9 @@
import { build } from 'esbuild';
import { execFileSync } from 'node:child_process';
import fs from 'node:fs';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
import { execFileSync } from 'node:child_process';
import { build } from 'esbuild';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
@@ -45,3 +47,11 @@ execFileSync('node', [path.join(root, 'scripts', 'gen-window-icon.mjs')], {
stdio: 'inherit',
});
runViteBuild();
// Тот же PNG, что electron-builder кладёт в .exe/.app — в рантайме для окна/дока (паритет с Windows).
const packIcon = path.join(root, 'build', 'icon.png');
const distPackIcon = path.join(root, 'dist', 'renderer', 'app-pack-icon.png');
if (fs.existsSync(packIcon)) {
fs.copyFileSync(packIcon, distPackIcon);
console.log('copied pack icon to', distPackIcon);
}