{
  "name": "@overleaf/project-history",
  "description": "An API for saving and compressing individual document updates into a browseable history",
  "private": true,
  "main": "app.js",
  "type": "module",
  "scripts": {
    "test:acceptance": "npm run test:acceptance:_run -- --grep=$MOCHA_GREP",
    "test:unit": "npm run test:unit:_run -- --grep=$MOCHA_GREP",
    "start": "node app.js",
    "nodemon": "node --watch app.js",
    "test:acceptance:_run": "mocha --loader=esmock --recursive --reporter spec --timeout 15000 --exit $@ test/acceptance/js",
    "test:unit:_run": "mocha --loader=esmock --recursive --reporter spec $@ test/unit/js",
    "lint": "eslint --max-warnings 0 --format unix .",
    "format": "prettier --list-different $PWD/'**/*.*js'",
    "format:fix": "prettier --write $PWD/'**/*.*js'",
    "lint:fix": "eslint --fix .",
    "types:check": "tsc --noEmit"
  },
  "dependencies": {
    "@overleaf/fetch-utils": "*",
    "@overleaf/logger": "*",
    "@overleaf/metrics": "*",
    "@overleaf/o-error": "*",
    "@overleaf/promise-utils": "*",
    "@overleaf/redis-wrapper": "*",
    "@overleaf/settings": "*",
    "@overleaf/stream-utils": "*",
    "async": "^3.2.5",
    "aws-sdk": "^2.650.0",
    "body-parser": "^1.20.3",
    "bunyan": "^1.8.15",
    "celebrate": "^15.0.3",
    "diff-match-patch": "overleaf/diff-match-patch#89805f9c671a77a263fc53461acd62aa7498f688",
    "esmock": "^2.6.3",
    "express": "^4.21.2",
    "lodash": "^4.17.20",
    "minimist": "^1.2.8",
    "mongodb-legacy": "6.1.3",
    "overleaf-editor-core": "*",
    "p-queue": "^8.1.0",
    "request": "^2.88.2"
  },
  "devDependencies": {
    "chai": "^4.3.6",
    "chai-as-promised": "^7.1.1",
    "mocha": "^11.1.0",
    "nock": "^13.5.3",
    "sinon": "~9.0.1",
    "sinon-chai": "^3.7.0",
    "timekeeper": "2.2.0",
    "typescript": "^5.0.4"
  }
}
