{ "name": "jd_gyl_web", "version": "0.0.0", "private": true, "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", "test:e2e": "playwright test", "build-only": "vite build", "type-check": "vue-tsc --build", "lint": "eslint . --fix", "format": "prettier --write src/" }, "dependencies": { "@element-plus/icons-vue": "^2.3.1", "@videojs/http-streaming": "^3.17.2", "axios": "^1.11.0", "echarts": "^5.6.0", "echarts-gl": "^2.0.9", "echarts-liquidfill": "^3.1.0", "element-plus": "^2.10.4", "file-saver": "^2.0.5", "html2pdf.js": "^0.12.1", "js-base64": "^3.7.7", "js-cookie": "^3.0.5", "lodash": "^4.17.21", "mermaid": "^11.12.0", "mitt": "^3.0.1", "moment": "^2.30.1", "moment-duration-format": "^2.3.2", "nprogress": "^0.2.0", "pinia": "^3.0.3", "pinia-plugin-persistedstate": "^4.4.1", "sass": "^1.89.2", "screenfull": "^6.0.2", "spark-md5": "^3.0.2", "unplugin-auto-import": "^19.3.0", "unplugin-vue-components": "^28.8.0", "video.js": "^8.23.4", "vue": "^3.5.17", "vue-masonry": "^0.16.0", "vue-pdf-embed": "2.1.3", "vue-router": "^4.5.1", "vue-simple-uploader": "^1.0.3", "vue3-seamless-scroll": "^3.0.2" }, "devDependencies": { "@playwright/test": "^1.53.1", "@tsconfig/node22": "^22.0.2", "@types/js-cookie": "^3.0.6", "@types/jsdom": "^21.1.7", "@types/node": "^22.15.32", "@types/spark-md5": "^3.0.5", "@vitejs/plugin-vue": "^6.0.0", "@vitejs/plugin-vue-jsx": "^5.0.0", "@vitest/eslint-plugin": "^1.2.7", "@vue/eslint-config-prettier": "^10.2.0", "@vue/eslint-config-typescript": "^14.5.1", "@vue/test-utils": "^2.4.6", "@vue/tsconfig": "^0.7.0", "eslint": "^9.29.0", "eslint-plugin-playwright": "^2.2.0", "eslint-plugin-vue": "~10.2.0", "jiti": "^2.4.2", "jsdom": "^26.1.0", "npm-run-all2": "^8.0.4", "postcss-px-to-viewport": "^1.1.1", "prettier": "3.5.3", "typescript": "~5.8.0", "vite": "^7.0.0", "vite-plugin-vue-devtools": "^7.7.7", "vitest": "^3.2.4", "vue-tsc": "^2.2.10" } }