{
    "name": "easyshell",
    "version": "1.0.0",
    "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 icons && npm run build && electron-builder",
        "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/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"
        ]
    }
}
