{
  "name": "survey-system",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "concurrently \"npm run dev:api\" \"npm run dev:frontend\"",
    "dev:api": "nodemon --exec tsx api/server.ts",
    "dev:frontend": "vite",
    "build": "vite build && node scripts/build-api.mjs",
    "postbuild": "node scripts/copy-init-sql.mjs",
    "bundle": "node scripts/build-deploy-bundle.mjs",
    "preview": "vite preview",
    "start": "node --enable-source-maps dist/api/server.js",
    "test": "node --import tsx --test test/admin-task-stats.test.ts test/question-text-import.test.ts test/swipe-detect.test.ts test/user-tasks.test.ts test/user-records-subjectname.test.ts test/score-percentage.test.ts test/user-default-group.test.ts",
    "check": "tsc --noEmit"
  },
  "dependencies": {
    "@types/axios": "^0.9.36",
    "antd": "^5.12.1",
    "axios": "^1.13.2",
    "concurrently": "^7.6.0",
    "cors": "^2.8.5",
    "dotenv": "^17.2.3",
    "express": "^4.18.2",
    "joi": "^17.11.0",
    "multer": "^1.4.5-lts.1",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-router-dom": "^6.20.1",
    "recharts": "^3.6.0",
    "sqlite3": "^5.1.7",
    "tailwind-merge": "^3.4.0",
    "uuid": "^9.0.1",
    "xlsx": "^0.18.5",
    "zustand": "^4.4.7"
  },
  "devDependencies": {
    "@types/cors": "^2.8.17",
    "@types/crypto-js": "^4.2.2",
    "@types/express": "^4.17.21",
    "@types/multer": "^1.4.11",
    "@types/node": "^20.10.4",
    "@types/react": "^18.2.37",
    "@types/react-dom": "^18.2.15",
    "@types/uuid": "^9.0.7",
    "@vitejs/plugin-react": "^4.1.1",
    "autoprefixer": "^10.4.23",
    "crypto-js": "^4.2.0",
    "nodemon": "^3.0.2",
    "tailwindcss": "^3.3.6",
    "tsx": "^4.21.0",
    "esbuild": "^0.25.0",
    "typescript": "^5.2.2",
    "vite": "^4.5.0"
  }
}
