{
  "name": "tg-live-game-web",
  "private": true,
  "version": "1.0.22",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview",
    "lint": "eslint . --ext .vue,.js,.jsx,.ts,.tsx",
    "lint:fix": "eslint . --ext .vue,.js,.jsx,.ts,.tsx --fix",
    "prettier": "prettier --write .",
    "format": "prettier --write ./src",
    "format-staged": "git diff --name-only --cached --diff-filter=ACMRT | grep -E '\\.(js|ts|jsx|tsx|css|scss|json|md|vue)$' | xargs npx prettier --write",
    "lint-staged": "lint-staged",
    "test": "vitest",
    "test:run": "vitest run",
    "test:ui": "vitest --ui",
    "test:coverage": "vitest run --coverage",
    "test:e2e": "playwright test",
    "test:e2e:ui": "playwright test --ui",
    "type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false",
    "prepare": "husky install",
    "deploy": "wrangler pages deploy dist --project-name=tg-live-game-web --branch=main",
    "deploy:preview": "wrangler pages deploy dist --project-name=tg-live-game-web --branch=preview",
    "build:deploy": "pnpm run build && pnpm run deploy",
    "i18n": "i18next-scanner --config i18next-scanner.config.cjs && node scripts/sort-json.cjs",
    "i18n:scan": "i18next-scanner --config i18next-scanner.config.cjs"
  },
  "lint-staged": {
    "*.{vue,js,ts}": [
      "prettier --write"
    ]
  },
  "dependencies": {
    "@codemirror/lang-json": "^6.0.2",
    "@codemirror/theme-one-dark": "^6.1.3",
    "@codemirror/view": "^6.39.11",
    "@element-plus/icons-vue": "^2.1.0",
    "@vueuse/core": "^14.1.0",
    "axios": "^1.4.0",
    "codemirror": "^6.0.2",
    "date-fns": "^4.1.0",
    "date-fns-tz": "^3.2.0",
    "dayjs": "^1.11.19",
    "element-plus": "2.7.5",
    "element-plus-table-dragable": "^1.0.0",
    "hls.js": "^1.4.10",
    "lodash-es": "^4.17.22",
    "nprogress": "^0.2.0",
    "pinia": "^2.0.36",
    "sass": "^1.62.1",
    "vue": "^3.5.13",
    "vue-codemirror": "^6.1.1",
    "vue-i18n": "^11.2.8",
    "vue-router": "^4.2.0"
  },
  "devDependencies": {
    "@commitlint/cli": "^12.1.1",
    "@commitlint/config-conventional": "^12.1.1",
    "@iconify-json/ep": "^1.2.3",
    "@iconify-json/mdi": "^1.2.3",
    "@iconify-json/ri": "^1.2.7",
    "@iconify/vue": "^5.0.0",
    "@playwright/test": "^1.57.0",
    "@types/lodash-es": "^4.17.12",
    "@types/node": "^18.16.8",
    "@types/nprogress": "^0.2.3",
    "@typescript-eslint/eslint-plugin": "^8.20.0",
    "@typescript-eslint/parser": "^8.20.0",
    "@vitejs/plugin-vue": "5.0.5",
    "@vitest/coverage-v8": "^4.0.16",
    "@vitest/ui": "^4.0.16",
    "@vue/test-utils": "^2.0.0-rc.4",
    "@vue/tsconfig": "^0.4.0",
    "eslint": "^8.57.1",
    "eslint-config-airbnb-base": "^14.2.1",
    "eslint-config-prettier": "^8.1.0",
    "eslint-plugin-import": "^2.22.1",
    "eslint-plugin-prettier": "^3.3.1",
    "eslint-plugin-vue": "^9.11.0",
    "happy-dom": "^20.0.11",
    "husky": "^6.0.0",
    "i18next-scanner": "^4.6.0",
    "i18next-scanner-typescript": "^1.2.1",
    "lint-staged": "^10.5.4",
    "prettier": "^2.8.8",
    "typescript": "~5.6.3",
    "unplugin-auto-import": "^0.19.0",
    "unplugin-icons": "^22.5.0",
    "unplugin-vue-components": "^0.28.0",
    "vite": "5.3.1",
    "vite-plugin-vue-devtools": "^7.7.0",
    "vitest": "^4.0.16",
    "vue-tsc": "2.1.10"
  }
}
