{ "name": "screener", "version": "0.1.0", "private": true, "type": "module", "engines": { "node": ">=24.0.0 <27" }, "packageManager": "npm@11.17.0", "scripts": { "dev": "tsx watch src/server/index.ts", "build": "npm run build:client && npm run build:server", "build:client": "vite build", "build:server": "node --input-type=module -e \"import { rmSync } from 'node:fs'; rmSync('dist/server', { recursive: true, force: true })\" && tsc -p tsconfig.server.json", "start": "node dist/server/server/index.js", "gate:peer-topology-loopback": "tsx scripts/peer-assisted-benchmark.ts", "gate:sfu-admission": "vitest run tests/room-route-controller.test.ts tests/hybrid-media-router.test.ts tests/sfu-resource-admission.test.ts tests/sfu-room-control.test.ts tests/livekit-token.test.ts tests/sfu-client.test.ts tests/route-transition.test.ts tests/server-config.test.ts tests/server-http.test.ts tests/server-signal.test.ts", "gate:access-privacy": "npm run build:client && vitest run tests/server-signal.test.ts && tsx scripts/access-privacy-gate.ts", "probe:native-one-viewer": "tsx scripts/native-one-viewer-gate.ts", "typecheck": "tsc -b --pretty false", "test": "vitest run", "test:watch": "vitest", "check": "npm run typecheck && npm test && npm run build" }, "dependencies": { "livekit-client": "2.22.0", "livekit-server-sdk": "2.17.0", "react": "19.2.8", "react-dom": "19.2.8", "sdp-transform": "2.15.0", "sirv": "3.0.2", "ws": "8.21.3", "zod": "4.4.3" }, "devDependencies": { "@types/node": "24.13.3", "@types/react": "19.2.18", "@types/react-dom": "19.2.4", "@types/sdp-transform": "2.15.0", "@types/ws": "8.18.1", "@vitejs/plugin-react": "6.0.5", "tsx": "4.23.12", "typescript": "~6.0.3", "vite": "8.2.1", "vitest": "4.1.10" } }