{ "name": "gupi-osint-board", "private": true, "version": "0.1.0", "type": "module", "scripts": { "dev": "concurrently -k \"npm:dev:server\" \"npm:dev:web\"", "dev:web": "vite", "dev:server": "tsx watch server/index.ts", "build": "tsc -b && vite build", "e2e:serve": "TEST_DATABASE_URL=${TEST_DATABASE_URL:-postgres://osint:osint_secret@localhost:5433/osint_dev} tsx server/e2eHarness.ts", "start": "NODE_ENV=production tsx server/index.ts", "migrate:up": "tsx server/migrate.ts", "mystery:import": "tsx scripts/importMysteryTemplate.ts", "test": "vitest run --exclude '**/*.integration.test.ts' --exclude 'e2e/**'", "test:integration": "TEST_DATABASE_URL=${TEST_DATABASE_URL:-postgres://osint:osint_secret@localhost:5433/osint_dev} vitest run server/*.integration.test.ts", "test:e2e": "npm run build && playwright test" }, "dependencies": { "cors": "2.8.5", "dotenv": "16.5.0", "express": "5.1.0", "lucide-react": "0.468.0", "multer": "^2.2.0", "pg": "8.16.3", "react": "19.1.0", "react-dom": "19.1.0", "tsx": "4.20.3" }, "devDependencies": { "@playwright/test": "^1.62.1", "@types/cors": "2.8.18", "@types/express": "5.0.3", "@types/multer": "2.0.0", "@types/node": "22.15.30", "@types/pg": "8.15.4", "@types/react": "19.1.8", "@types/react-dom": "19.1.6", "@vitejs/plugin-react": "4.5.2", "concurrently": "9.1.2", "typescript": "5.8.3", "vite": "^6.4.3", "vitest": "^3.2.7" }, "engines": { "node": "^20.0.0 || >=22.0.0" } }