迁移: - better-sqlite3(原生C++) → sql.js(WASM纯JS), 兼容Node 24 - database-service.ts: PreparedStatement包装器保持API兼容 - main.ts: initialize()改为async/await - 移除@electron/rebuild和@types/better-sqlite3依赖 - 新增.npmrc阿里云镜像加速 UI/代码修复(任务1-6): 1. TerminalView: 清理111行调试日志(645→534行) 2. 设计系统: cyan/slate→accent-blue/dark-*颜色统一(FileRow/TransferItem/Breadcrumb/ContextMenu) 3. StatusBar: 重写接入实时连接状态,三区布局 4. SessionDialog: 私钥浏览按钮添加onClick处理 5. WelcomeView: 真实session数据替换硬编码假数据 6. SFTPView: emoji→Lucide图标(FolderOpen/Upload/Download/Trash2) 构建验证: tsc零错误 + vite build成功(Node 24.14.0)
109 lines
2.8 KiB
JSON
109 lines
2.8 KiB
JSON
{
|
|
"name": "opsxshell-gui",
|
|
"version": "1.0.0",
|
|
"description": "跨平台 SSH/SFTP 终端工具 · 简洁高效 · 安全可靠",
|
|
"main": "dist-electron/main.js",
|
|
"author": "OpsXShell Team",
|
|
"license": "MIT",
|
|
"scripts": {
|
|
"dev": "vite & sleep 2 && electron dist-electron/main.js --inspect=9222",
|
|
"build": "tsc && vite build && npm run build:electron",
|
|
"build:electron": "tsc -p electron/tsconfig.json",
|
|
"preview": "vite preview",
|
|
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"dist": "npm run build && electron-builder",
|
|
"dist:win": "npm run build && electron-builder --win",
|
|
"dist:mac": "npm run build && electron-builder --mac",
|
|
"dist:linux": "npm run build && electron-builder --linux"
|
|
},
|
|
"dependencies": {
|
|
"@xterm/addon-fit": "^0.10.0",
|
|
"@xterm/xterm": "^5.5.0",
|
|
"lucide-react": "^0.294.0",
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0",
|
|
"react-router-dom": "^6.21.0",
|
|
"socksv5": "^0.0.6",
|
|
"sql.js": "^1.11.0",
|
|
"ssh2": "^1.15.0",
|
|
"uuid": "^9.0.1",
|
|
"zmodem-ts": "^1.0.8",
|
|
"zustand": "^4.4.7"
|
|
},
|
|
"devDependencies": {
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/react": "^18.2.43",
|
|
"@types/react-dom": "^18.2.17",
|
|
"@types/sql.js": "^1.4.11",
|
|
"@types/ssh2": "^1.11.18",
|
|
"@types/uuid": "^9.0.7",
|
|
"@typescript-eslint/eslint-plugin": "^6.14.0",
|
|
"@typescript-eslint/parser": "^6.14.0",
|
|
"@vitejs/plugin-react": "^4.2.1",
|
|
"@xterm/addon-webgl": "^0.19.0",
|
|
"autoprefixer": "^10.4.16",
|
|
"electron": "^28.3.3",
|
|
"electron-builder": "^24.9.1",
|
|
"eslint": "^8.55.0",
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
"eslint-plugin-react-refresh": "^0.4.5",
|
|
"jsdom": "^29.0.1",
|
|
"postcss": "^8.4.32",
|
|
"tailwindcss": "^3.3.6",
|
|
"typescript": "^5.2.2",
|
|
"vite": "^5.0.8",
|
|
"vite-plugin-electron": "^0.28.0",
|
|
"vite-plugin-electron-renderer": "^0.14.5",
|
|
"vitest": "^4.1.2"
|
|
},
|
|
"build": {
|
|
"appId": "com.opsxshell.app",
|
|
"productName": "OpsXShell",
|
|
"directories": {
|
|
"output": "release"
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"dist-electron"
|
|
],
|
|
"mac": {
|
|
"category": "public.app-category.utilities",
|
|
"target": [
|
|
{
|
|
"target": "dmg",
|
|
"arch": [
|
|
"x64",
|
|
"arm64"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"win": {
|
|
"target": [
|
|
{
|
|
"target": "nsis",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"linux": {
|
|
"target": [
|
|
{
|
|
"target": "AppImage",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
}
|
|
],
|
|
"category": "Utility"
|
|
}
|
|
}
|
|
}
|