{ "name": "unleash-server", "description": "Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.", "version": "4.0.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", "scripts": { "start": "node ./dist/server.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": "NODE_ENV=test PORT=4243 jest", "test:docker": "./scripts/docker-postgres.sh", "test:watch": "yarn test --watch", "test:coverage": "NODE_ENV=test PORT=4243 jest --coverage --forceExit", "clean": "rimraf dist/" }, "jest": { "transform": { "^.+\\.tsx?$": "ts-jest" }, "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$", "testPathIgnorePatterns": [ "/dist/", "/node_modules/" ], "moduleFileExtensions": [ "ts", "tsx", "js", "jsx", "json" ], "coveragePathIgnorePatterns": [ "/node_modules/", "/dist/", "/src/migrations", "/src/test" ] }, "dependencies": { "async": "^3.1.1", "bcrypt": "^5.0.1", "compression": "^1.7.4", "connect-session-knex": "^2.0.0", "cookie-parser": "^1.4.5", "cookie-session": "^2.0.0-rc.1", "cors": "^2.8.5", "db-migrate": "0.11.12", "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.5", "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", "pg-connection-string": "^2.5.0", "pkginfo": "^0.4.1", "prom-client": "^13.1.0", "response-time": "^2.3.2", "serve-favicon": "^2.5.0", "unleash-frontend": "4.0.1", "uuid": "^8.3.2" }, "devDependencies": { "@types/bcrypt": "^5.0.0", "@types/express": "^4.17.11", "@types/jest": "^26.0.23", "@types/node": "^15.6.0", "@types/node-fetch": "^2.5.10", "@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", "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.5.3", "fetch-mock": "^9.11.0", "husky": "^4.2.3", "jest": "^27.0.1", "lint-staged": "^11.0.0", "prettier": "^1.19.1", "proxyquire": "^2.1.3", "rimraf": "^3.0.2", "source-map-support": "^0.5.19", "superagent": "^6.1.0", "supertest": "^6.1.3", "ts-jest": "^27.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", "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": "^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 } } ] } }