Files
LocalNetMsg/scripts/selftest
xiaoshuai c3eb079fdb test(package): 加打包产物冒烟检查 (原生模块解包 + 从 app.asar 真实 spawn)
自测 (scripts/selftest/main.ts) 是从**源码**跑的, 用 pty 桩, 根本不碰 app.asar。
而 asarUnpack 配错这类问题只在**打包产物**上才暴露, 且 Linux 上看不出来
(只需要一个 .node, Electron 能 dlopen 归档里的; 但 unpacked 里没有就彻底找不到),
到 Windows 才炸 (conpty.dll / OpenConsole.exe / worker 脚本都必须是真实文件)。

新增 scripts/selftest/packaging-check.cjs (npm run selftest:package):
- node-pty 平台包的 prebuilds 下必须有 .node/.dll/.exe (即规则递归生效)
- 其它原生模块 (node-hid / serialport / node-usb) 也要解包
- 从 app.asar 里 require node-pty 并真实 spawn, 验证拿到输出

已用人为破坏的解包布局验证过这个检查确实会失败:
  "平台包的 prebuilds 下没有任何原生文件 —— 规则可能没递归"
  "Failed to load native module: pty.node"
2026-10-20 17:06:24 +08:00
..