{ "name": "frontend", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vite build", "lint": "eslint .", "preview": "vite preview" }, "dependencies": { "@ant-design/icons": "^6.1.0", "@codemirror/lang-python": "^6.2.1", "@reduxjs/toolkit": "^2.10.1", "@tailwindcss/forms": "^0.5.10", "@tailwindcss/typography": "^0.5.19", "@uiw/react-codemirror": "^4.25.9", "antd": "^5.29.0", "axios": "^1.13.2", "dayjs": "^1.11.19", "framer-motion": "^12.23.24", "katex": "^0.16.45", "markmap-lib": "^0.18.12", "markmap-view": "^0.18.12", "react": "^19.2.0", "react-dom": "^19.2.0", "react-markdown": "^9.1.0", "react-redux": "^9.2.0", "react-router-dom": "^7.9.6", "react-syntax-highlighter": "^15.6.6", "reactflow": "^11.11.4", "recharts": "^3.4.1", "rehype-katex": "^7.0.1", "remark-gfm": "^4.0.1", "remark-math": "^6.0.0" }, "devDependencies": { "@eslint/js": "^9.39.1", "@types/react": "^19.2.2", "@types/react-dom": "^19.2.2", "@vitejs/plugin-react": "^5.1.0", "autoprefixer": "^10.4.22", "eslint": "^9.39.1", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.24", "globals": "^16.5.0", "postcss": "^8.5.6", "postcss-import": "^16.1.1", "tailwindcss": "^3.4.18", "vite": "^7.2.2" } }