HUAN 讙 · 開發者

指令

安裝

pnpm install

repository 只接受 pnpm,npm installyarn 會被 preinstall 腳本拒絕。

開發

指令說明
pnpm dev同時啟動 server、worker 與 admin
pnpm dev:server只啟動 Fastify(tsx watch
pnpm dev:admin只啟動 Vite(http://localhost:5173
pnpm dev:worker只啟動 FFmpeg worker
pnpm dev:device啟動 Electron 播放器
pnpm dev:device-sim啟動無 GUI 的模擬裝置

建置

指令說明
pnpm build:packages建置 packages/*(其他指令的前置)
pnpm build建置所有套件與應用程式
pnpm typecheck全 workspace 型別檢查

測試

指令說明
pnpm test單元與整合測試
pnpm test:e2ePlaywright 端對端測試

Server 與 Worker 的測試需要 PostgreSQL 與 RustFS,請先 pnpm docker:up

資料庫

指令說明
pnpm db:migrate套用 migration
pnpm db:generate依 schema 產生新的 migration
pnpm db:seed寫入開發用示範資料
pnpm --filter @huan/server admin:create建立第一個最高權限管理員

Docker

指令說明
pnpm docker:up啟動服務
pnpm docker:down停止服務
pnpm docker:build建置映像
pnpm docker:logs追蹤日誌

文件

指令說明
pnpm docs:dev本機文件站
pnpm docs:buildSSG 建置到 apps/docs/dist
pnpm docs:screenshots以 Playwright 重新擷取產品截圖

格式

指令說明
pnpm format以 Prettier 格式化
pnpm format:check只檢查不修改(CI 使用)

Prettier 設定已經存在:tab 縮排、printWidth: 200、雙引號、不加尾逗號。不要修改。

Device 打包

指令說明
pnpm --filter @huan/device package:linuxLinux x64 與 ARM64
pnpm --filter @huan/device package:winWindows x64 與 ARM64
pnpm --filter @huan/device package:macmacOS x64 與 ARM64