{
  "name": "secscore",
  "version": "1.0.0",
  "description": "SecScore – Your Education Points Management Expert",
  "author": "example.com",
  "homepage": "https://example.org",
  "scripts": {
    "dev": "vite",
    "build": "node scripts/generate-about-content.mjs && vite build",
    "tauri": "tauri",
    "tauri:dev": "node scripts/tauri-dev.cjs",
    "tauri:build": "tauri build",
    "ios:sim": "node scripts/ios-sim.js",
    "clean": "node scripts/clean.cjs",
    "format": "prettier --write .",
    "lint": "eslint --cache .",
    "lint:fix": "eslint --cache . --fix",
    "typecheck": "tsc --noEmit",
    "test": "vitest run",
    "test:watch": "vitest"
  },
  "dependencies": {
    "@ant-design/icons": "^6.1.0",
    "@react-awesome-query-builder/antd": "6.7.0-alpha.0",
    "@tauri-apps/api": "^2.5.0",
    "@tauri-apps/plugin-shell": "^2.3.5",
    "antd": "^6.3.1",
    "appwrite": "^24.0.0",
    "crypto-js": "^4.2.0",
    "dayjs": "^1.11.20",
    "i18next": "^25.8.14",
    "pinyin-pro": "^3.27.0",
    "react": "^19.2.1",
    "react-dom": "^19.2.1",
    "react-i18next": "^16.5.6",
    "react-querybuilder": "^8.14.0",
    "react-router-dom": "^6.28.0",
    "xlsx": "^0.18.5"
  },
  "devDependencies": {
    "@tauri-apps/cli": "^2.5.0",
    "@types/crypto-js": "^4.2.2",
    "@types/node": "^22.19.1",
    "@types/react": "^19.2.7",
    "@types/react-dom": "^19.2.3",
    "@vitejs/plugin-react": "^5.1.1",
    "@vitest/ui": "^4.1.9",
    "eslint": "^9.39.1",
    "eslint-config-prettier": "^10.1.5",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-hooks": "^7.0.1",
    "eslint-plugin-react-refresh": "^0.4.24",
    "prettier": "^3.7.4",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.32.0",
    "vite": "^7.2.6",
    "vitest": "^4.1.9"
  }
}
