{
  "name": "web",
  "version": "2.1.1",
  "description": "easynode-web",
  "private": true,
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview --port 5050",
    "lint": "eslint . --ext .js,.vue",
    "lint:fix": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore"
  },
  "dependencies": {
    "@codemirror/lang-cpp": "^6.0.2",
    "@codemirror/lang-css": "^6.2.1",
    "@codemirror/lang-html": "^6.4.9",
    "@codemirror/lang-java": "^6.0.1",
    "@codemirror/lang-javascript": "^6.2.2",
    "@codemirror/lang-json": "^6.0.1",
    "@codemirror/lang-markdown": "^6.2.5",
    "@codemirror/lang-php": "^6.0.1",
    "@codemirror/lang-python": "^6.1.6",
    "@codemirror/lang-sql": "^6.7.0",
    "@codemirror/lang-xml": "^6.1.0",
    "@codemirror/language": "^6.10.2",
    "@codemirror/legacy-modes": "^6.4.0",
    "@codemirror/theme-one-dark": "^6.1.2",
    "@xterm/addon-fit": "^0.10.0",
    "@xterm/addon-search": "^0.15.0",
    "@xterm/addon-web-links": "^0.11.0",
    "@xterm/xterm": "^5.5.0",
    "axios": "^1.7.2",
    "codemirror": "^6.0.1",
    "crypto-js": "^4.2.0",
    "csv-parse": "^5.5.6",
    "element-plus": "^2.7.6",
    "jsencrypt": "^3.3.2",
    "pinia": "^2.1.7",
    "socket.io-client": "^4.7.5",
    "vue": "^3.4.31",
    "vue-codemirror": "^6.1.1",
    "vue-router": "^4.4.0"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^5.0.5",
    "@vitejs/plugin-vue-jsx": "^4.0.0",
    "eslint": "^8.56.0",
    "eslint-plugin-vue": "^9.27.0",
    "sass": "^1.77.7",
    "unplugin-auto-import": "^0.17.6",
    "unplugin-vue-components": "^0.27.2",
    "vite": "^5.3.3",
    "vite-plugin-compression": "^0.5.1",
    "vue-eslint-parser": "^9.4.3"
  }
}
