{
  "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": {
    "@airwallex/components-sdk": "^1.30.2",
    "@lobehub/icons": "^4.0.2",
    "@stripe/stripe-js": "^9.0.1",
    "@tanstack/vue-virtual": "^3.13.23",
    "@vueuse/core": "^10.7.0",
    "axios": "^1.16.0",
    "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"
  }
}
