{ "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", "playwright": "^1.61.1", "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" } }