Files
opsxshell/package.json
T
OpsXShell Dev d344900118 feat(v1.1): Toast通知系统 + 自定义对话框 + 终端搜索 + SFTP真实实现 + 标签持久化
任务7: Toast通知系统 — ToastProvider+4类型(success/error/warning/info)+右上角堆叠动画
任务8: 替换alert/confirm/prompt — ConfirmDialog+PromptDialog+useToast替换7处原生对话框
任务9: 终端搜索 — xterm SearchAddon Ctrl+F搜索栏(上一个/下一个/关闭)
任务10: SFTP上传/删除 — useSFTP.ts upload/delete方法实现
任务11: 会话恢复 — tabStore持久化到localStorage,启动恢复tabs

14 files changed, 1218 insertions(+), 241 deletions(-)
2026-04-18 16:21:10 +08:00

110 lines
2.9 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/addon-search": "^0.16.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"
}
}
}