1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-09-05 17:53:12 +02:00
unleash.unleash/package.json
Christopher Kolstad 6e650289c8 do etag calculation when memoizing feature toggles
To prevent express from having to do etag calculation of all feature
toggle responses even if hitting a memoized feature toggle this PR adds
etag calculation to the memoized function. This will cost us an extra
etag calculation for client SDK requests without ETag headers, but for
SDK requests with ETag headers, it should reduce the number of etag
calculations we do down to 1 per 0.6 seconds per query

Co-authored-by: Gard Rimestad <gard@getunleash.io>
Co-authored-by: Nuno Gois <nuno@getunleash.ai>
2022-12-20 15:22:21 +00:00

231 lines
6.9 KiB
JSON

{
"name": "unleash-server",
"description": "Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.",
"version": "4.19.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",
"heroku-postbuild": "cd frontend && yarn && yarn build"
},
"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",
"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",
"etag": "^1.8.1",
"express": "^4.18.2",
"express-rate-limit": "^6.6.0",
"express-session": "^1.17.1",
"fast-json-patch": "^3.1.0",
"gravatar-url": "^3.1.0",
"helmet": "^6.0.0",
"ip": "^1.1.8",
"joi": "^17.3.0",
"js-sha256": "^0.9.0",
"js-yaml": "^4.1.0",
"json-schema-to-ts": "2.6.0",
"json2csv": "^5.0.7",
"knex": "^2.0.0",
"log4js": "^6.0.0",
"make-fetch-happen": "^11.0.0",
"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.16.0",
"use-deep-compare-effect": "^1.8.1",
"uuid": "^8.3.2"
},
"devDependencies": {
"@apidevtools/swagger-parser": "10.1.0",
"@babel/core": "7.20.5",
"@swc/core": "1.3.22",
"@swc/jest": "0.2.24",
"@types/bcryptjs": "2.4.2",
"@types/cors": "2.8.13",
"@types/express": "4.17.14",
"@types/express-session": "1.17.5",
"@types/faker": "5.5.9",
"@types/jest": "29.2.4",
"@types/js-yaml": "4.0.5",
"@types/make-fetch-happen": "10.0.1",
"@types/memoizee": "0.4.8",
"@types/mime": "3.0.1",
"@types/node": "16.18.8",
"@types/nodemailer": "6.4.6",
"@types/owasp-password-strength-test": "1.3.0",
"@types/semver": "7.3.13",
"@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.42.1",
"@typescript-eslint/parser": "5.42.1",
"copyfiles": "2.4.1",
"coveralls": "3.1.1",
"del-cli": "5.0.0",
"eslint": "8.29.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-no-only-tests": "^3.1.0",
"eslint-plugin-prettier": "4.2.1",
"faker": "5.5.3",
"fast-check": "3.3.0",
"fetch-mock": "9.11.0",
"husky": "8.0.2",
"jest": "29.3.1",
"lint-staged": "13.1.0",
"nock": "13.2.9",
"openapi-enforcer": "1.22.2",
"prettier": "2.7.1",
"proxyquire": "2.1.3",
"source-map-support": "0.5.21",
"superagent": "8.0.6",
"supertest": "6.3.3",
"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",
"minimatch": "^5.0.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
}
}
]
}
}