{
  "name": "@overleaf/real-time",
  "description": "The socket.io layer of Overleaf for real-time editor interactions",
  "private": true,
  "main": "app.js",
  "scripts": {
    "start": "node $NODE_APP_OPTIONS app.js",
    "test:acceptance:_run": "mocha --recursive --reporter spec --timeout 15000 --exit $@ test/acceptance/js",
    "test:acceptance": "npm run test:acceptance:_run -- --grep=$MOCHA_GREP",
    "test:unit:_run": "mocha --recursive --reporter spec $@ test/unit/js",
    "test:unit": "npm run test:unit:_run -- --grep=$MOCHA_GREP",
    "nodemon": "nodemon --config nodemon.json",
    "lint": "eslint --max-warnings 0 --format unix .",
    "format": "prettier --list-different $PWD/'**/*.js'",
    "format:fix": "prettier --write $PWD/'**/*.js'",
    "lint:fix": "eslint --fix ."
  },
  "dependencies": {
    "@hapi/joi": "^17.1.1",
    "@overleaf/logger": "*",
    "@overleaf/metrics": "*",
    "@overleaf/o-error": "*",
    "@overleaf/redis-wrapper": "*",
    "@overleaf/settings": "*",
    "async": "^3.2.2",
    "base64id": "0.1.0",
    "body-parser": "^1.19.0",
    "bunyan": "^1.8.15",
    "connect-redis": "^6.1.3",
    "cookie-parser": "^1.4.5",
    "express": "^4.18.2",
    "express-session": "^1.17.1",
    "proxy-addr": "^2.0.7",
    "request": "^2.88.2",
    "socket.io": "github:overleaf/socket.io#0.9.19-overleaf-9",
    "socket.io-client": "github:overleaf/socket.io-client#0.9.17-overleaf-5",
    "underscore": "1.13.1"
  },
  "devDependencies": {
    "chai": "^4.3.6",
    "chai-as-promised": "^7.1.1",
    "cookie-signature": "^1.1.0",
    "mocha": "^10.2.0",
    "sandboxed-module": "~0.3.0",
    "sinon": "^9.2.4",
    "timekeeper": "0.0.4",
    "uid-safe": "^2.1.5"
  }
}