mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-22 19:07:54 +01:00
063d3f0e4a
- After seeing frontend behaviour where the user could add the same tag multiple times, and not get errors or be stopped doing so, we'll change the backend to return a 409 if you tag a feature with a tag it already has. - Previous to this commit, the setup was to do `onConflict().ignore()` which caused the frontend to not get any help from the backend as to whether or not the operation was allowed - This fix adds a custom error and adds a branch to the handleError util method for handling just that error type with a 409. - This caused a couple of tests to receive 409, probably due to insufficient cleanup between tests. Adding faker as a dev-dependency and randomising toggle names and tag values for each test reduces the chance that we'll run into duplicate issues in the future for the tests that touches this problem fixes: #711
159 lines
3.9 KiB
JSON
159 lines
3.9 KiB
JSON
{
|
|
"name": "unleash-server",
|
|
"description": "Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.",
|
|
"version": "3.10.1",
|
|
"keywords": [
|
|
"unleash",
|
|
"feature toggle",
|
|
"feature",
|
|
"toggle"
|
|
],
|
|
"files": [
|
|
"lib",
|
|
"docs",
|
|
"bin",
|
|
"migrations",
|
|
"server.js",
|
|
"migrator.js"
|
|
],
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "ssh://git@github.com:unleash/unleash.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/unleash/unleash/issues"
|
|
},
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"license": "Apache-2.0",
|
|
"main": "./lib/server-impl.js",
|
|
"bin": {
|
|
"unleash": "bin/unleash.js"
|
|
},
|
|
"scripts": {
|
|
"start": "node server.js",
|
|
"start:google": "node examples/google-auth-unleash.js",
|
|
"start:dev": "NODE_ENV=development supervisor --ignore ./node_modules/,website server-dev.js",
|
|
"db-migrate": "db-migrate",
|
|
"lint": "eslint .",
|
|
"test": "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"
|
|
},
|
|
"nyc": {
|
|
"all": true,
|
|
"include": [
|
|
"bin/**/*.js",
|
|
"lib/**/*.js"
|
|
]
|
|
},
|
|
"ava": {
|
|
"files": [
|
|
"!**/helpers/**/*",
|
|
"!**/fixtures/**/*"
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"async": "^3.1.0",
|
|
"basic-auth": "^2.0.1",
|
|
"compression": "^1.7.3",
|
|
"cookie-parser": "^1.4.4",
|
|
"cookie-session": "^2.0.0-rc.1",
|
|
"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",
|
|
"gravatar-url": "^3.1.0",
|
|
"helmet": "^4.1.0",
|
|
"joi": "^17.3.0",
|
|
"js-yaml": "^3.14.0",
|
|
"knex": "0.21.15",
|
|
"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",
|
|
"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": "3.11.1",
|
|
"yargs": "^16.0.3"
|
|
},
|
|
"devDependencies": {
|
|
"@passport-next/passport": "^3.1.0",
|
|
"@passport-next/passport-google-oauth2": "^1.0.0",
|
|
"@types/node": "^14.0.0",
|
|
"ava": "^3.7.0",
|
|
"coveralls": "^3.1.0",
|
|
"eslint": "^6.8.0",
|
|
"eslint-config-airbnb-base": "^14.1.0",
|
|
"eslint-config-prettier": "^6.10.1",
|
|
"eslint-plugin-import": "^2.20.2",
|
|
"eslint-plugin-prettier": "^3.1.3",
|
|
"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",
|
|
"superagent": "^6.1.0",
|
|
"supertest": "^5.0.0",
|
|
"supervisor": "^0.12.0"
|
|
},
|
|
"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",
|
|
"git add"
|
|
],
|
|
"*.{json,css,md}": [
|
|
"prettier --write",
|
|
"git add"
|
|
]
|
|
},
|
|
"husky": {
|
|
"hooks": {
|
|
"pre-commit": "lint-staged"
|
|
}
|
|
},
|
|
"prettier": {
|
|
"proseWrap": "never",
|
|
"singleQuote": true,
|
|
"tabWidth": 4,
|
|
"trailingComma": "all",
|
|
"overrides": [
|
|
{
|
|
"files": "*.{json,yaml,yml,md}",
|
|
"options": {
|
|
"tabWidth": 2
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|