{ "name": "easyshell", "version": "1.0.3", "description": "跨平台远程Shell管理终端 - 支持 Windows/Mac/Linux/Android", "author": "EasyShell Team", "main": "main.js", "homepage": "./", "scripts": { "start": "concurrently \"npm run react\" \"wait-on http://localhost:3000 && electron .\"", "react": "cross-env BROWSER=none react-scripts start", "build": "react-scripts build", "electron": "electron .", "pack": "electron-builder --dir", "dist": "npm run version:patch && npm run icons && npm run build && electron-builder", "dist:minor": "npm run version:minor && npm run icons && npm run build && electron-builder", "dist:major": "npm run version:major && npm run icons && npm run build && electron-builder", "version:patch": "node scripts/bump-version.js patch", "version:minor": "node scripts/bump-version.js minor", "version:major": "node scripts/bump-version.js major", "release": "node scripts/release.js patch", "release:minor": "node scripts/release.js minor", "release:major": "node scripts/release.js major", "icons": "node scripts/generate-icons.js", "server": "cd server && npm start", "server:dev": "cd server && npm run dev", "android": "npm run build && npx cap sync android && npx cap open android", "android:run": "npm run build && npx cap sync android && npx cap run android", "ios": "npm run build && npx cap sync ios && npx cap open ios", "cap:init": "npx cap init EasyShell com.easyshell.app --web-dir=build", "cap:add:android": "npx cap add android", "cap:add:ios": "npx cap add ios", "cap:sync": "npx cap sync", "full:android": "npm run build && npm run cap:sync && npx cap open android" }, "build": { "appId": "com.easyshell.app", "productName": "EasyShell", "directories": { "output": "dist" }, "files": [ "build/**/*", "main.js", "preload.js", "src/services/database.js", "src/services/ssh.js", "src/services/sftp.js", "node_modules/**/*", "!node_modules/.cache/**/*" ], "extraMetadata": { "main": "main.js" }, "asar": true, "asarUnpack": [ "node_modules/ssh2/**/*", "node_modules/cpu-features/**/*" ], "win": { "target": "nsis", "icon": "public/icon.ico" }, "mac": { "target": "dmg", "icon": "public/icon.icns" }, "linux": { "target": "AppImage", "icon": "public/icon.png" }, "nsis": { "oneClick": false, "allowToChangeInstallationDirectory": true, "createDesktopShortcut": true, "createStartMenuShortcut": true } }, "dependencies": { "@capacitor/android": "^5.6.0", "@capacitor/app": "^5.0.6", "@capacitor/core": "^5.6.0", "@capacitor/haptics": "^5.0.6", "@capacitor/keyboard": "^5.0.6", "@capacitor/status-bar": "^5.0.6", "@xterm/addon-fit": "^0.10.0", "@xterm/addon-web-links": "^0.11.0", "@xterm/addon-webgl": "^0.19.0", "@xterm/xterm": "^5.5.0", "electron-store": "^8.1.0", "framer-motion": "^10.16.16", "mysql2": "^3.6.5", "react": "^18.2.0", "react-dom": "^18.2.0", "react-icons": "^4.12.0", "react-scripts": "5.0.1", "socket.io-client": "^4.6.1", "sql.js": "^1.10.0", "ssh2": "^1.15.0" }, "devDependencies": { "@capacitor/cli": "^5.6.0", "autoprefixer": "^10.4.16", "concurrently": "^8.2.2", "cross-env": "^10.1.0", "electron": "^28.0.0", "electron-builder": "^24.9.1", "png-to-ico": "^3.0.1", "postcss": "^8.4.32", "sharp": "^0.34.5", "tailwindcss": "^3.4.0", "to-ico": "^1.1.5", "wait-on": "^7.2.0" }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] } }