{
  "name": "unleash-server",
  "description": "Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.",
  "version": "4.0.0-alpha.2",
  "keywords": [
    "unleash",
    "feature toggle",
    "feature",
    "toggle"
  ],
  "files": [
    "dist",
    "docs"
  ],
  "repository": {
    "type": "git",
    "url": "ssh://git@github.com:unleash/unleash.git"
  },
  "bugs": {
    "url": "https://github.com/unleash/unleash/issues"
  },
  "engines": {
    "node": ">=14"
  },
  "license": "Apache-2.0",
  "main": "./dist/lib/server-impl.js",
  "bin": {
    "unleash": "./dist/bin/unleash.js"
  },
  "scripts": {
    "start": "node ./dist/server.js",
    "start:google": "node examples/google-auth-unleash.js",
    "start:dev": "NODE_ENV=development tsc-watch --onSuccess \"node dist/server-dev.js\"",
    "copy-templates": "copyfiles -u 1 src/mailtemplates/**/*.mustache dist/",
    "db-migrate": "db-migrate --migrations-dir ./src/migrations",
    "lint": "eslint ./src",
    "build:watch": "tsc -w",
    "build": "yarn run copy-templates && tsc --pretty",
    "prepare": "yarn run build",
    "test": "yarn build && NODE_ENV=test PORT=4243 ava",
    "test:docker": "./scripts/docker-postgres.sh",
    "test:watch": "yarn test --watch",
    "test:coverage": "nyc --reporter=lcov yarn test",
    "test:coverage-report": "nyc report --reporter=text-lcov | coveralls",
    "clean": "rimraf dist/"
  },
  "nyc": {
    "all": true,
    "include": [
      "dist/lib/**/*.js"
    ],
    "exclude": [
      "dist/bin",
      "dist/migrations"
    ],
    "exclude-after-remap": false
  },
  "ava": {
    "files": [
      "./dist/**/*.test.js",
      "!src/**/*",
      "!**/helpers/**/*",
      "!**/fixtures/**/*"
    ],
    "snapshotDir": "snapshots"
  },
  "dependencies": {
    "async": "^3.1.0",
    "basic-auth": "^2.0.1",
    "bcrypt": "^5.0.1",
    "compression": "^1.7.3",
    "connect-session-knex": "^2.0.0",
    "cookie-parser": "^1.4.4",
    "cookie-session": "^2.0.0-rc.1",
    "cors": "^2.8.5",
    "db-migrate": "0.11.11",
    "db-migrate-pg": "^1.2.2",
    "db-migrate-shared": "^1.2.0",
    "deep-diff": "^1.0.2",
    "deepmerge": "^4.2.2",
    "errorhandler": "^1.5.1",
    "express": "^4.17.1",
    "express-session": "^1.17.1",
    "gravatar-url": "^3.1.0",
    "helmet": "^4.1.0",
    "joi": "^17.3.0",
    "js-yaml": "^3.14.0",
    "knex": "0.95.2",
    "log4js": "^6.0.0",
    "memoizee": "^0.4.15",
    "mime": "^2.4.2",
    "moment": "^2.24.0",
    "multer": "^1.4.1",
    "mustache": "^4.1.0",
    "node-fetch": "^2.6.1",
    "nodemailer": "^6.5.0",
    "owasp-password-strength-test": "^1.3.0",
    "parse-database-url": "^0.3.0",
    "pg": "^8.0.3",
    "pkginfo": "^0.4.1",
    "prom-client": "^13.1.0",
    "response-time": "^2.3.2",
    "serve-favicon": "^2.5.0",
    "unleash-frontend": "4.0.0-alpha.3",
    "uuid": "^8.3.2",
    "yargs": "^16.0.3"
  },
  "devDependencies": {
    "@istanbuljs/nyc-config-typescript": "^1.0.1",
    "@passport-next/passport": "^3.1.0",
    "@passport-next/passport-google-oauth2": "^1.0.0",
    "@types/bcrypt": "^3.0.0",
    "@types/express": "^4.17.11",
    "@types/node": "^14.14.37",
    "@types/nodemailer": "^6.4.1",
    "@types/owasp-password-strength-test": "^1.3.0",
    "@typescript-eslint/eslint-plugin": "^4.22.0",
    "@typescript-eslint/parser": "^4.22.0",
    "ava": "^3.7.0",
    "copyfiles": "^2.4.1",
    "coveralls": "^3.1.0",
    "eslint": "^6.8.0",
    "eslint-config-airbnb-base": "^14.2.1",
    "eslint-config-airbnb-typescript": "^12.3.1",
    "eslint-config-prettier": "^8.1.0",
    "eslint-plugin-import": "^2.22.1",
    "eslint-plugin-prettier": "^3.3.1",
    "faker": "^5.3.1",
    "fetch-mock": "^9.11.0",
    "husky": "^4.2.3",
    "lint-staged": "^10.0.7",
    "lolex": "^6.0.0",
    "nyc": "^15.1.0",
    "passport": "^0.4.1",
    "passport-google-auth": "^1.0.2",
    "prettier": "^1.19.1",
    "proxyquire": "^2.1.3",
    "rimraf": "^3.0.2",
    "sinon": "^9.2.4",
    "source-map-support": "^0.5.19",
    "superagent": "^6.1.0",
    "supertest": "^5.0.0",
    "ts-node": "^9.1.1",
    "tsc-watch": "^4.2.9",
    "typescript": "^4.2.4"
  },
  "resolutions": {
    "set-value": "^2.0.1",
    "db-migrate/rc/minimist": "^1.2.5",
    "nyc/**/minimist": "^1.2.5",
    "knex/liftoff/object.map/**/kind-of": "^6.0.3",
    "knex/liftoff/findup-sync/micromatc/kind-of": "^6.0.3",
    "knex/liftoff/findup-sync/micromatc/nanomatch/kind-of": "^6.0.3",
    "knex/liftoff/findup-sync/micromatch/define-property/**/kind-of": "^6.0.3",
    "googleapis": "^39.1.0",
    "node-forge": "^0.10.0"
  },
  "lint-staged": {
    "*.js": [
      "eslint --fix"
    ],
    "*.{json,css,md}": [
      "prettier --write"
    ]
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "prettier": {
    "proseWrap": "never",
    "singleQuote": true,
    "tabWidth": 4,
    "trailingComma": "all",
    "overrides": [
      {
        "files": "*.{json,yaml,yml,md}",
        "options": {
          "tabWidth": 2
        }
      }
    ]
  }
}
