{
  "name": "fullstack-learn-frontend",
  "private": true,
  "version": "0.1.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview",
    "lint": "eslint src --ext .vue,.ts,.tsx --fix",
    "format": "prettier --write \"src/**/*.{vue,ts,tsx,css,scss,json,md}\"",
    "format:check": "prettier --check \"src/**/*.{vue,ts,tsx,css,scss,json,md}\""
  },
  "dependencies": {
    "@codemirror/lang-html": "^6.4.11",
    "@codemirror/lang-javascript": "^6.2.5",
    "@codemirror/lang-python": "^6.2.1",
    "@codemirror/theme-one-dark": "^6.1.3",
    "@element-plus/icons-vue": "^2.3.2",
    "@vue-flow/background": "^1.3.2",
    "@vue-flow/core": "^1.48.2",
    "@vueuse/core": "^13.1.0",
    "axios": "^1.15.2",
    "codemirror": "^6.0.2",
    "cropperjs": "^2.1.1",
    "echarts": "^5.6.0",
    "element-plus": "^2.13.7",
    "esbuild": "^0.28.0",
    "highlight.js": "^11.11.0",
    "html2canvas": "^1.4.1",
    "markdown-it": "^14.1.0",
    "marked": "^18.0.6",
    "pinia": "^3.0.2",
    "vue": "^3.5.32",
    "vue-echarts": "^7.0.3",
    "vue-router": "^4.6.4",
    "vuedraggable": "^4.1.0"
  },
  "devDependencies": {
    "@types/node": "^24.12.2",
    "@typescript-eslint/eslint-plugin": "^8.59.2",
    "@typescript-eslint/parser": "^8.59.2",
    "@vitejs/plugin-vue": "^6.0.6",
    "@vue/tsconfig": "^0.9.1",
    "eslint": "^10.2.1",
    "eslint-plugin-vue": "^10.9.1",
    "prettier": "^3.8.3",
    "rollup": "^4.60.4",
    "typescript": "~6.0.2",
    "unplugin-auto-import": "^21.0.0",
    "unplugin-vue-components": "^32.0.0",
    "vite": "^5.0.0",
    "vue-tsc": "^3.2.7"
  }
}
