mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-10-15 12:15:16 +00:00
## 背景 上一提交修了 electron-packager 那条路径的 exe 图标。本提交处理另外两处 同类问题——**都是静默失败**:改了没人知道,坏了要等用户装上才发现。 ## 1) package.json build 段(electron-builder 路径) · files 白名单漏了 icon.ico / icon-tray.png / icon-tray@2x.png ⇒ 这些文件不会被打进包,托盘与窗口图标在发行版里丢失 · 补 win.target/win.icon;注意 electron-builder 的 icon 路径相对 **项目目录**(package.json 所在)解析,不是相对输出目录 (最初写成 'build/icon.ico',那会找不到文件 —— 已用存在性判据钉住) · icon.ico 含 256x256,满足 electron-builder 对 win 图标的要求 ## 2) deploy/packaging/package-linux.sh(Linux 发行实际走这条) 原实现手工 cp 七个文件: main.js / preload.js / package.json renderer/{index.html, app.js, style.css, mascot.svg} 实测漏掉: · renderer/mascot.svg —— 源码里根本不存在(真名 mascot.webp) · icon.svg / icon.ico / icon-tray*.png · renderer/icon.svg · renderer/vendor/* ★★ 本次本地化新增的四个第三方库 (three/OrbitControls/marked/purify) ⇒ Linux 发行包装完星图与 Markdown 渲染直接坏, 且**没有任何构建报错** 改为: · renderer 按目录整体同步(cp -r "$gui_dir/renderer/.") · 根级 *.svg / *.ico / icon-tray*.png 同步 · 新增必备文件校验:vendor 四库与 icon.svg 缺任一 ⇒ 报错并删目录跳过, 沿用本脚本既有的"宁可不发,也不发装了跑不起来的包"原则 ## 判据 新增 cmd/gui/package-config.test.mjs(进 npm test),14 条断言覆盖三条 打包路径的配置一致性。已做变异测试:Makefile 去 --icon、files 去 icon.ico、 package-linux.sh 还原逐文件 cp,三者均判红。 判据:cmd/gui npm test 全绿(60 条)。
56 lines
1.4 KiB
JSON
56 lines
1.4 KiB
JSON
{
|
|
"name": "homeagent-gui",
|
|
"version": "1.4.0",
|
|
"author": "JianFeeeee <jianfeeeee@homeagent.local>",
|
|
"homepage": "https://gitcode.com/JianFeeeee/HomeAgent",
|
|
"description": "HomeAgent Desktop GUI - Multi-connection management dashboard",
|
|
"main": "main.js",
|
|
"scripts": {
|
|
"start": "electron . --no-sandbox",
|
|
"dev": "electron . --no-sandbox --dev",
|
|
"test": "node sse-backoff.test.mjs && node sse-backoff-behavior.test.mjs && node retry-guard.test.mjs && node endpoint-align.test.mjs && node connections-io.test.mjs && node silent-start.test.mjs && node package-config.test.mjs",
|
|
"test-live": "node chat-perf.test.mjs && node protocol-align.test.mjs"
|
|
},
|
|
"dependencies": {
|
|
"koffi": "^3.1.6"
|
|
},
|
|
"devDependencies": {
|
|
"asar": "^3.2.0",
|
|
"electron": "^33.0.0",
|
|
"electron-builder": "^26.15.3",
|
|
"electron-packager": "^17.1.2",
|
|
"icojs": "^0.23.0",
|
|
"sharp": "^0.35.3"
|
|
},
|
|
"build": {
|
|
"appId": "com.homeagent.gui",
|
|
"productName": "HomeAgent",
|
|
"linux": {
|
|
"target": [
|
|
"deb",
|
|
"rpm",
|
|
"AppImage"
|
|
],
|
|
"category": "Utility",
|
|
"icon": "icon.svg"
|
|
},
|
|
"files": [
|
|
"main.js",
|
|
"preload.js",
|
|
"renderer/**/*",
|
|
"icon.svg",
|
|
"node_modules/**/*",
|
|
"!node_modules/electron-builder/**",
|
|
"icon.ico",
|
|
"icon-tray.png",
|
|
"icon-tray@2x.png"
|
|
],
|
|
"win": {
|
|
"target": [
|
|
"nsis"
|
|
],
|
|
"icon": "icon.ico"
|
|
}
|
|
}
|
|
}
|