{
  "name": "@xcpcio/board-app",
  "type": "module",
  "version": "0.55.1",
  "description": "XCPCIO Board App",
  "author": "Dup4 <lyuzhi.pan@gmail.com>",
  "license": "MIT",
  "homepage": "https://github.com/xcpcio/xcpcio",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/xcpcio/xcpcio.git"
  },
  "bugs": {
    "url": "https://github.com/xcpcio/xcpcio/issues"
  },
  "keywords": [
    "ICPC",
    "CCPC",
    "Rank",
    "Board",
    "Standings"
  ],
  "files": [
    "./*.{js,ts,json}",
    "dist",
    "public",
    "src"
  ],
  "engines": {
    "node": ">=18"
  },
  "dependencies": {
    "@tanstack/vue-query": "^5.70.0",
    "@unhead/vue": "^2.0.2",
    "@unocss/reset": "^66.1.0-beta.7",
    "@vueuse/components": "^13.0.0",
    "@vueuse/core": "^13.0.0",
    "@vueuse/head": "^2.0.0",
    "@vueuse/router": "^13.0.0",
    "dayjs": "^1.11.13",
    "file-saver": "^2.0.5",
    "floating-vue": "5.2.2",
    "flowbite": "^3.1.2",
    "gsap": "^3.12.7",
    "highcharts": "^12.1.2",
    "highcharts-vue": "^2.0.1",
    "lodash": "^4.17.21",
    "nprogress": "^0.2.0",
    "pinia": "^3.0.1",
    "sleep-promise": "^9.1.0",
    "vue": "^3.5.13",
    "vue-demi": "^0.14.10",
    "vue-i18n": "^11.1.2",
    "vue-router": "^4.5.0",
    "vue-search-select": "^3.2.0",
    "vue-toast-notification": "^3.1.3",
    "@xcpcio/core": "0.55.1",
    "@xcpcio/types": "0.55.1"
  },
  "devDependencies": {
    "@iconify/json": "^2.2.321",
    "@intlify/unplugin-vue-i18n": "^6.0.5",
    "@shikijs/markdown-it": "^3.2.1",
    "@types/file-saver": "^2.0.7",
    "@types/lodash": "^4.17.16",
    "@types/markdown-it-link-attributes": "^3.0.5",
    "@types/nprogress": "^0.2.3",
    "@vitejs/plugin-vue": "^5.2.3",
    "@vue-macros/volar": "^3.0.0-beta.7",
    "@vue/test-utils": "^2.4.6",
    "critters": "^0.0.25",
    "cross-env": "^7.0.3",
    "cypress": "^14.2.1",
    "cypress-vite": "^1.6.0",
    "eslint": "^9.23.0",
    "eslint-plugin-cypress": "^4.2.0",
    "eslint-plugin-format": "^1.0.1",
    "https-localhost": "^4.7.1",
    "less": "^4.2.2",
    "markdown-it-link-attributes": "^4.0.1",
    "rollup": "^4.38.0",
    "shiki": "^3.2.1",
    "taze": "^19.0.4",
    "typescript": "^5.8.2",
    "unocss": "^66.1.0-beta.7",
    "unplugin-auto-import": "^19.1.2",
    "unplugin-vue-components": "^28.4.1",
    "unplugin-vue-macros": "^2.14.5",
    "unplugin-vue-markdown": "^28.3.1",
    "unplugin-vue-router": "^0.12.0",
    "vite": "^6.2.3",
    "vite-bundle-visualizer": "^1.2.1",
    "vite-plugin-html": "^3.2.2",
    "vite-plugin-inspect": "^11.0.0",
    "vite-plugin-pwa": "^1.0.0",
    "vite-plugin-vue-devtools": "^7.7.2",
    "vite-plugin-vue-layouts": "^0.11.0",
    "vite-plugin-webfont-dl": "^3.10.4",
    "vite-ssg": "^26.1.1",
    "vite-ssg-sitemap": "^0.8.1",
    "vitest": "^3.0.9",
    "vue-tsc": "^2.2.8",
    "workbox-build": "^7.3.0",
    "workbox-window": "^7.3.0"
  },
  "scripts": {
    "build": "vite build",
    "dev": "vite --port 3333",
    "lint": "eslint .",
    "lint:fix": "eslint --fix .",
    "preview": "vite preview",
    "preview-https": "serve dist",
    "start": "npm run preview",
    "test": "vitest",
    "test:e2e": "cypress open",
    "test:unit": "vitest",
    "typecheck": "vue-tsc --noEmit",
    "up": "taze major -I",
    "sizecheck": "npx vite-bundle-visualizer"
  }
}