{
  "name": "unleash-server",
  "description": "Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.",
  "version": "4.17.0-beta.1",
  "keywords": [
    "unleash",
    "feature toggle",
    "feature",
    "toggle"
  ],
  "files": [
    "dist",
    "docs",
    "frontend/build"
  ],
  "repository": {
    "type": "git",
    "url": "ssh://git@github.com:unleash/unleash.git"
  },
  "bugs": {
    "url": "https://github.com/unleash/unleash/issues"
  },
  "types": "./dist/lib/server-impl.d.ts",
  "engines": {
    "node": ">=14"
  },
  "license": "Apache-2.0",
  "main": "./dist/lib/server-impl.js",
  "scripts": {
    "start": "node ./dist/server.js",
    "prestart:dev": "yarn run clean",
    "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",
    "local:package": "del-cli --force build && mkdir build && cp -r dist docs CHANGELOG.md LICENSE README.md package.json build",
    "prebuild:watch": "yarn run clean",
    "build:watch": "tsc -w",
    "prebuild": "yarn run clean",
    "build": "yarn run copy-templates && tsc --pretty",
    "prepare": "node scripts/husky-install && cd frontend && yarn && cd .. && yarn run build",
    "test": "NODE_ENV=test PORT=4243 jest",
    "test:unit": "NODE_ENV=test PORT=4243 jest --testPathIgnorePatterns=src/test/e2e --testPathIgnorePatterns=dist",
    "test:docker": "./scripts/docker-postgres.sh",
    "test:docker:cleanup": "docker rm -f unleash-postgres",
    "test:watch": "yarn test --watch",
    "test:coverage": "NODE_ENV=test PORT=4243 jest --coverage --testLocationInResults --outputFile=\"coverage/report.json\" --forceExit --testTimeout=10000",
    "test:coverage:jest": "NODE_ENV=test PORT=4243 jest --silent --ci --json --coverage --testLocationInResults --outputFile=\"report.json\" --forceExit --testTimeout=10000",
    "seed:setup": "ts-node src/test/e2e/seed/segment.seed.ts",
    "seed:serve": "UNLEASH_DATABASE_NAME=unleash_test UNLEASH_DATABASE_SCHEMA=seed yarn run start:dev",
    "clean": "del-cli --force dist",
    "preversion": "./scripts/check-release.sh"
  },
  "jest": {
    "automock": false,
    "maxWorkers": 4,
    "testTimeout": 10000,
    "globalSetup": "./scripts/jest-setup.js",
    "transform": {
      "^.+\\.tsx?$": [
        "@swc/jest"
      ]
    },
    "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
    "testPathIgnorePatterns": [
      "/dist/",
      "/node_modules/",
      "/frontend/"
    ],
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js",
      "jsx",
      "json"
    ],
    "coveragePathIgnorePatterns": [
      "/node_modules/",
      "/dist/",
      "/src/migrations",
      "/src/test"
    ]
  },
  "dependencies": {
    "@unleash/express-openapi": "^0.2.1-beta.0",
    "ajv": "^8.11.0",
    "ajv-formats": "^2.1.1",
    "async": "^3.2.4",
    "bcryptjs": "^2.4.3",
    "compression": "^1.7.4",
    "connect-session-knex": "^3.0.0",
    "cookie-parser": "^1.4.5",
    "cookie-session": "^2.0.0-rc.1",
    "cors": "^2.8.5",
    "date-fns": "^2.25.0",
    "db-migrate": "0.11.13",
    "db-migrate-pg": "1.2.2",
    "db-migrate-shared": "1.2.0",
    "deepmerge": "^4.2.2",
    "errorhandler": "^1.5.1",
    "express": "^4.17.1",
    "express-rate-limit": "^6.6.0",
    "express-session": "^1.17.1",
    "fast-json-patch": "^3.1.0",
    "gravatar-url": "^3.1.0",
    "helmet": "^5.0.0",
    "ip": "^1.1.8",
    "joi": "^17.3.0",
    "js-yaml": "^4.1.0",
    "json-schema-to-ts": "2.5.5",
    "knex": "^2.0.0",
    "log4js": "^6.0.0",
    "make-fetch-happen": "^10.1.2",
    "memoizee": "^0.4.15",
    "mime": "^3.0.0",
    "multer": "^1.4.5-lts.1",
    "murmurhash3js": "^3.0.1",
    "mustache": "^4.1.0",
    "nodemailer": "^6.5.0",
    "openapi-types": "^12.0.0",
    "owasp-password-strength-test": "^1.3.0",
    "parse-database-url": "^0.3.0",
    "pg": "^8.7.3",
    "pg-connection-string": "^2.5.0",
    "pkginfo": "^0.4.1",
    "prom-client": "^14.0.0",
    "response-time": "^2.3.2",
    "semver": "^7.3.5",
    "serve-favicon": "^2.5.0",
    "stoppable": "^1.1.0",
    "ts-toolbelt": "^9.6.0",
    "type-is": "^1.6.18",
    "unleash-client": "3.15.0",
    "use-deep-compare-effect": "^1.8.1",
    "uuid": "^8.3.2"
  },
  "devDependencies": {
    "@apidevtools/swagger-parser": "10.1.0",
    "@babel/core": "7.19.3",
    "@swc/core": "1.3.7",
    "@swc/jest": "0.2.23",
    "@types/bcryptjs": "2.4.2",
    "@types/cors": "2.8.12",
    "@types/express": "4.17.14",
    "@types/express-session": "1.17.5",
    "@types/faker": "5.5.9",
    "@types/jest": "29.0.0",
    "@types/js-yaml": "4.0.5",
    "@types/make-fetch-happen": "10.0.0",
    "@types/memoizee": "0.4.8",
    "@types/mime": "3.0.1",
    "@types/node": "16.6.1",
    "@types/nodemailer": "6.4.6",
    "@types/owasp-password-strength-test": "1.3.0",
    "@types/semver": "7.3.12",
    "@types/stoppable": "1.1.1",
    "@types/supertest": "2.0.12",
    "@types/type-is": "1.6.3",
    "@types/uuid": "8.3.4",
    "@typescript-eslint/eslint-plugin": "5.36.1",
    "@typescript-eslint/parser": "5.36.1",
    "copyfiles": "2.4.1",
    "coveralls": "3.1.1",
    "del-cli": "5.0.0",
    "eslint": "8.25.0",
    "eslint-config-airbnb-base": "15.0.0",
    "eslint-config-airbnb-typescript": "17.0.0",
    "eslint-config-prettier": "8.5.0",
    "eslint-plugin-import": "2.26.0",
    "eslint-plugin-prettier": "4.2.1",
    "faker": "5.5.3",
    "fast-check": "3.2.0",
    "fetch-mock": "9.11.0",
    "husky": "8.0.1",
    "jest": "29.0.1",
    "lint-staged": "13.0.3",
    "nock": "13.2.9",
    "openapi-enforcer": "1.22.0",
    "prettier": "2.7.1",
    "proxyquire": "2.1.3",
    "source-map-support": "0.5.21",
    "superagent": "8.0.0",
    "supertest": "6.3.0",
    "ts-node": "10.9.1",
    "tsc-watch": "5.0.3",
    "typescript": "4.8.4"
  },
  "resolutions": {
    "async": "^3.2.4",
    "db-migrate/rc/minimist": "^1.2.5",
    "es5-ext": "0.10.62",
    "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",
    "node-forge": "^1.0.0",
    "set-value": "^4.0.1",
    "ansi-regex": "^5.0.1",
    "ssh2": "^1.4.0",
    "json-schema": "^0.4.0"
  },
  "lint-staged": {
    "*.{js,ts}": [
      "eslint --fix"
    ],
    "*.{json,yaml,md}": [
      "prettier --write"
    ]
  },
  "prettier": {
    "proseWrap": "never",
    "singleQuote": true,
    "tabWidth": 4,
    "trailingComma": "all",
    "overrides": [
      {
        "files": "*.{json,yaml,yml,md}",
        "options": {
          "tabWidth": 2
        }
      }
    ]
  }
}