{ "name": "forge", "version": "2.3.1", "description": "FORGE 2.0 — ServiceNow ticket analytics portal (RITM/SCTASK) with roles, PM insights, and a Chrome sync extension", "main": "dist/index.js", "private": true, "scripts": { "start": "node dist/index.js", "build": "tsc && cp -r server/data dist/server/data && cd client && npm ci && npm run build", "dev": "concurrently -n server,client -c blue,green \"tsx index.ts\" \"cd client && npm run dev\"", "dev:server": "tsx index.ts", "dev:client": "cd client && npm run dev", "deploy": "./scripts/push-to-nas.sh", "reseed": "tsx server/reseed.ts", "dump-to-archives": "node scripts/dump-to-archives.mjs", "test": "cd client && npm test && cd .. && npm run test:root", "test:root": "vitest run -c vitest.config.ts", "lint": "eslint . --max-warnings 0" }, "dependencies": { "bcryptjs": "^3.0.3", "connect-pg-simple": "^10.0.0", "dotenv": "^16.4.5", "express": "^4.19.2", "express-rate-limit": "^8.3.2", "express-session": "^1.19.0", "pg": "^8.12.0" }, "devDependencies": { "@types/bcryptjs": "^2.4.6", "@types/connect-pg-simple": "^7.0.3", "@types/express": "^5.0.6", "@types/express-session": "^1.19.0", "@types/node": "^25.6.0", "@types/pg": "^8.20.0", "concurrently": "^9.2.1", "tsx": "^4.21.0", "typescript": "^6.0.3", "vitest": "^2.1.9" } }