{
  "name": "client",
  "version": "1.0.0",
  "description": "Incudal 前端客户端",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "vue-tsc && vite build",
    "preview": "vite preview",
    "lint": "eslint src --fix",
    "type-check": "vue-tsc --noEmit"
  },
  "dependencies": {
    "@vueuse/core": "^12.0.0",
    "@xterm/addon-clipboard": "^0.2.0",
    "@xterm/addon-fit": "^0.11.0",
    "@xterm/addon-image": "^0.9.0",
    "@xterm/addon-search": "^0.16.0",
    "@xterm/addon-serialize": "^0.14.0",
    "@xterm/addon-unicode11": "^0.9.0",
    "@xterm/addon-web-links": "^0.12.0",
    "@xterm/addon-webgl": "^0.19.0",
    "@xterm/xterm": "^6.0.0",
    "axios": "^1.7.9",
    "flag-icons": "^7.5.0",
    "marked": "^17.0.1",
    "pinia": "^2.2.8",
    "simple-icons": "^16.1.0",
    "vue": "^3.5.13",
    "vue-i18n": "^11.2.2",
    "vue-router": "^4.5.0",
    "vue-turnstile": "^1.0.11"
  },
  "devDependencies": {
    "@eslint/js": "^9.16.0",
    "@tailwindcss/forms": "^0.5.9",
    "@types/node": "^24.10.1",
    "@typescript-eslint/eslint-plugin": "^8.48.1",
    "@typescript-eslint/parser": "^8.48.1",
    "@vitejs/plugin-vue": "^5.2.1",
    "autoprefixer": "^10.4.20",
    "eslint": "^9.16.0",
    "eslint-plugin-vue": "^9.32.0",
    "javascript-obfuscator": "^5.0.1",
    "postcss": "^8.4.49",
    "rollup-plugin-obfuscator": "^1.1.0",
    "tailwindcss": "^3.4.17",
    "terser": "^5.44.1",
    "typescript": "^5.9.3",
    "vite": "^6.0.3",
    "vue-eslint-parser": "^9.4.2",
    "vue-tsc": "^3.1.6"
  }
}
