{
  "name": "php2shell-scanner",
  "version": "1.0.0",
  "private": true,
  "type": "module",
  "engines": {
    "node": ">=20"
  },
  "scripts": {
    "dev": "concurrently -n server,client -c blue,magenta \"npm run dev:server\" \"npm run dev:client\"",
    "dev:server": "tsx watch server/src/index.ts",
    "dev:client": "vite --config client/vite.config.ts",
    "build": "npm run typecheck && npm run build:client && npm run build:server",
    "build:client": "vite build --config client/vite.config.ts",
    "build:server": "tsup",
    "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p client/tsconfig.json --noEmit",
    "test": "vitest run",
    "test:watch": "vitest",
    "start": "cross-env NODE_ENV=production node dist/index.js"
  },
  "dependencies": {
    "dotenv": "^18.0.9",
    "express": "^5.3.0",
    "express-rate-limit": "^8.7.1",
    "helmet": "^8.3.0",
    "ipaddr.js": "^2.5.0",
    "lucide-react": "^1.61.0",
    "react": "^19.3.1",
    "react-dom": "^19.3.1",
    "react-router-dom": "^7.18.4",
    "undici": "^8.12.3",
    "zod": "^4.6.7"
  },
  "devDependencies": {
    "@tailwindcss/vite": "^4.3.3",
    "@types/express": "^5.0.6",
    "@types/node": "^26.6.5",
    "@types/react": "^19.3.0",
    "@types/react-dom": "^19.3.0",
    "@types/supertest": "^7.2.1",
    "@vitejs/plugin-react": "^6.1.2",
    "concurrently": "^10.0.6",
    "cross-env": "^10.1.0",
    "supertest": "^7.3.1",
    "tailwindcss": "^4.3.3",
    "tsup": "^9.0.0",
    "tsx": "^4.23.15",
    "typescript": "^7.0.2",
    "vite": "^8.3.5",
    "vitest": "^5.0.5"
  }
}
