| { | |
| "name": "sub2api-frontend", | |
| "private": true, | |
| "version": "1.0.0", | |
| "type": "module", | |
| "scripts": { | |
| "dev": "vite", | |
| "build": "vue-tsc -b && vite build", | |
| "preview": "vite preview", | |
| "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix", | |
| "lint:check": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts", | |
| "typecheck": "vue-tsc --noEmit", | |
| "test": "vitest", | |
| "test:run": "vitest run", | |
| "test:coverage": "vitest run --coverage" | |
| }, | |
| "dependencies": { | |
| "@lobehub/icons": "^4.0.2", | |
| "@tanstack/vue-virtual": "^3.13.23", | |
| "@vueuse/core": "^10.7.0", | |
| "axios": "^1.13.5", | |
| "chart.js": "^4.4.1", | |
| "dompurify": "^3.3.1", | |
| "driver.js": "^1.4.0", | |
| "file-saver": "^2.0.5", | |
| "marked": "^17.0.1", | |
| "pinia": "^2.1.7", | |
| "qrcode": "^1.5.4", | |
| "vue": "^3.4.0", | |
| "vue-chartjs": "^5.3.0", | |
| "vue-draggable-plus": "^0.6.1", | |
| "vue-i18n": "^9.14.5", | |
| "vue-router": "^4.2.5", | |
| "xlsx": "^0.18.5" | |
| }, | |
| "devDependencies": { | |
| "@types/dompurify": "^3.0.5", | |
| "@types/file-saver": "^2.0.7", | |
| "@types/mdx": "^2.0.13", | |
| "@types/node": "^20.10.5", | |
| "@types/qrcode": "^1.5.6", | |
| "@typescript-eslint/eslint-plugin": "^7.18.0", | |
| "@typescript-eslint/parser": "^7.18.0", | |
| "@vitejs/plugin-vue": "^5.2.3", | |
| "@vitest/coverage-v8": "^2.1.9", | |
| "@vue/test-utils": "^2.4.6", | |
| "autoprefixer": "^10.4.16", | |
| "eslint": "^8.57.0", | |
| "eslint-plugin-vue": "^9.25.0", | |
| "jsdom": "^24.1.3", | |
| "postcss": "^8.4.32", | |
| "tailwindcss": "^3.4.0", | |
| "typescript": "~5.6.0", | |
| "vite": "^5.0.10", | |
| "vite-plugin-checker": "^0.9.1", | |
| "vitest": "^2.1.9", | |
| "vue-tsc": "^2.2.0" | |
| } | |
| } | |