{
  "name": "code-push-server",
  "version": "0.0.1",
  "description": "Source code for the CodePush service API",
  "main": "./script/server.js",
  "scripts": {
    "start": "node ./bin/script/server.js",
    "start:env": "node -r dotenv/config ./bin/script/server.js dotenv_config_path=.env dotenv_config_silent=true",
    "clean": "rimraf bin",
    "build": "tsc && shx cp -r ./script/views ./bin/script",
    "prettier": "prettier --write \"./**/*.ts\"",
    "lint": "npx eslint ./script/**/*.ts",
    "lint:fix": "npx eslint ./script/**/*.ts --fix",
    "test": "ts-mocha -exit --pass-on-failing-test-suite --timeout 12000 ./test/**/*.ts --reporter mochawesome"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/theorchard/code-push-server"
  },
  "engines": {
    "node": ">=18.0.0",
    "npm": ">=9.0.0"
  },
  "author": "Microsoft",
  "dependencies": {
    "@aws-sdk/client-s3": "^3.1024.0",
    "@azure/data-tables": "^13.2.2",
    "@azure/identity": "^4.2.1",
    "@azure/keyvault-secrets": "^4.7.0",
    "@azure/storage-blob": "^12.14.0",
    "@azure/storage-queue": "^12.13.0",
    "@sentry/node": "^10.58.0",
    "applicationinsights": "^3.15.0",
    "body-parser": "^1.20.5",
    "cookie-session": "^2.1.1",
    "datadog-metrics": "^0.12.1",
    "dd-trace": "^5.109.0",
    "ejs": "^3.1.10",
    "email-validator": "1.0.3",
    "express": "^4.22.2",
    "express-domain-middleware": "0.1.0",
    "express-rate-limit": "^7.4.0",
    "ioredis": "^5.4.1",
    "multer": "^2.1.1",
    "node-deepcopy": "0.1.1",
    "passport": "^0.6.0",
    "passport-azure-ad": "^4.3.5",
    "passport-github2": "0.1.9",
    "passport-http-bearer": "1.0.1",
    "passport-windowslive": "1.0.1",
    "pg": "^8.13.3",
    "q": "^1.4.1",
    "redis": "3.1.2",
    "sanitize-html": "^2.12.0",
    "semver": "^7.5.3",
    "shortid": "2.2.2",
    "stream-to-array": "^2.3.0",
    "streamifier": "0.1.1",
    "superagent": "^10.2.0",
    "yauzl": "2.6.0",
    "yazl": "2.2.2"
  },
  "devDependencies": {
    "@types/cookie-session": "^2.0.49",
    "@types/email-validator": "^1.0.30",
    "@types/express": "^4.17.17",
    "@types/express-domain-middleware": "^0.0.9",
    "@types/jest": "^29.5.1",
    "@types/mocha": "^10.0.10",
    "@types/multer": "^1.4.7",
    "@types/node": "^20.17.24",
    "@types/passport": "^1.0.17",
    "@types/passport-azure-ad": "^4.3.6",
    "@types/passport-github2": "^1.2.9",
    "@types/passport-http-bearer": "^1.0.41",
    "@types/q": "^1.5.5",
    "@types/redis": "^4.0.10",
    "@types/sanitize-html": "^2.15.0",
    "@types/semver": "^7.7.0",
    "@types/shortid": "^2.2.0",
    "@types/streamifier": "^0.1.2",
    "@types/superagent": "^8.1.9",
    "@types/uuid": "^10.0.0",
    "@types/yauzl": "^2.10.3",
    "@types/yazl": "^2.4.6",
    "@typescript-eslint/eslint-plugin": "^8.29.1",
    "@typescript-eslint/parser": "^8.29.1",
    "dotenv": "^16.0.3",
    "eslint": "^8.45.0",
    "mocha": "^11.1.0",
    "mochawesome": "^7.1.3",
    "mochawesome-merge": "^5.0.0",
    "prettier": "^2.8.8",
    "rimraf": "^5.0.1",
    "shx": "^0.3.4",
    "supertest": "^7.1.0",
    "ts-mocha": "^11.1.0"
  }
}
