Files
geo/apps/desktop-client/package.json
T
root 54fc313e10
Frontend CI / Frontend (push) Successful in 2m18s
feat(desktop-client): tighten window mode switching and add win/linux package scripts
- Track each window's renderer mode in a WeakMap (and fall back to
  parsing ?window= from the URL) so retireInactiveAppWindows can
  destroy stale login/main/settings windows when we switch modes,
  not just the previous one of the canonical pair.
- Replace closeWindowAfterIpcReturn with retireWindowAfterIpcReturn
  (hides immediately, then destroys instead of close()) so the IPC
  reply still reaches the caller before teardown.
- Add waitForWindowReady() with a 1.2s ceiling and call it from
  revealWindow so we don't show a half-loaded shell while
  switchWindowMode is running. Pass the source window from the IPC
  event into switchWindowMode so the closing target is the actual
  caller, not a guess based on mode.
- Silence console.* and skip the observed-fetch install in packaged
  runtime, and only auto-openDevTools in dev.
- Eagerly import LoginView in App.vue instead of defineAsyncComponent
  to remove the boot flash on the login window.
- package.json: prefix package:* with `pnpm run build` and add
  package:win and package:linux for parity.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 17:20:18 +08:00

55 lines
1.7 KiB
JSON

{
"name": "@geo/desktop-client",
"version": "0.1.0",
"private": true,
"description": "省心推客户端 — 连接和管理您的媒体账号,轻松发布和监控内容表现。",
"author": {
"name": "Liang Xu",
"email": "liangxu@qq.com",
"url": "https://shengxintui.com"
},
"type": "module",
"main": "out/main/bootstrap.cjs",
"scripts": {
"dev": "unset ELECTRON_RUN_AS_NODE && electron-vite dev --inspect=9229",
"build": "electron-vite build",
"package:mac": "pnpm run build && electron-builder --mac --arm64,universal",
"package:win": "pnpm run build && electron-builder --win --x64",
"package:linux": "pnpm run build && electron-builder --linux --x64,arm64",
"sign:setup": "bash scripts/sign-setup.sh",
"sign:mac": "bash scripts/sign-mac.sh",
"test": "vitest run",
"typecheck": "vue-tsc --noEmit"
},
"dependencies": {
"better-sqlite3": "^12.8.0",
"electron-updater": "^6.0.0",
"marked": "^17.0.5",
"pino": "^9.0.0",
"playwright-core": "^1.55.0",
"ws": "^8.20.0"
},
"devDependencies": {
"@ant-design/icons-vue": "^7.0.1",
"@geo/http-client": "workspace:*",
"@geo/publisher-platforms": "workspace:*",
"@geo/shared-types": "workspace:*",
"@geo/ui-shared": "workspace:*",
"@playwright/test": "^1.0.0",
"@types/node": "^24.0.0",
"@types/ws": "^8.18.1",
"@vitejs/plugin-vue": "^6.0.6",
"ant-design-vue": "^4.2.6",
"electron": "41.2.0",
"electron-builder": "^25.0.0",
"electron-vite": "^5.0.0",
"typescript": "^5.9.3",
"unplugin-vue-components": "^32.0.0",
"vite": "^7.3.2",
"vitest": "^4.1.5",
"vue": "^3.5.31",
"vue-router": "^4.5.1",
"vue-tsc": "^3.2.6"
}
}