diff --git a/package.json b/package.json index fed205512ec3..e8f8501db9fe 100644 --- a/package.json +++ b/package.json @@ -1,249 +1,249 @@ { - "name": "unleash-server", - "description": "Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.", - "version": "6.0.4+main", - "keywords": [ - "unleash", - "feature toggle", - "feature", - "toggle", - "feature flag", - "flag" + "name": "unleash-server", + "description": "Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.", + "version": "6.0.4+main", + "keywords": [ + "unleash", + "feature toggle", + "feature", + "toggle", + "feature flag", + "flag" + ], + "files": [ + "dist", + "docs", + "frontend/build", + "frontend/build/*", + "frontend/build/**/*", + "frontend/index.js", + "frontend/package.json" + ], + "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": ">=18 <21" + }, + "license": "Apache-2.0", + "main": "./dist/lib/server-impl.js", + "scripts": { + "start": "TZ=UTC node ./dist/server.js", + "copy-templates": "copyfiles -u 1 src/mailtemplates/**/*.mustache dist/", + "build:backend": "tsc --pretty --strictNullChecks false", + "build:frontend": "yarn --cwd ./frontend run build", + "build:frontend:if-needed": "./scripts/build-frontend-if-needed.sh", + "build": "yarn run clean && concurrently \"yarn:copy-templates\" \"yarn:build:frontend\" \"yarn:build:backend\"", + "dev:backend": "TZ=UTC NODE_ENV=development tsc-watch --strictNullChecks false --onSuccess \"node dist/server-dev.js\"", + "dev:frontend": "wait-on tcp:4242 && yarn --cwd ./frontend run dev", + "dev": "concurrently \"yarn:dev:backend\" \"yarn:dev:frontend\"", + "prepare:backend": "concurrently \"yarn:copy-templates\" \"yarn:build:backend\"", + "start:dev": "yarn run clean && TZ=UTC NODE_ENV=development tsc-watch --strictNullChecks false --onSuccess \"node dist/server-dev.js\"", + "db-migrate": "db-migrate --migrations-dir ./src/migrations", + "lint": "biome check .", + "lint:fix": "biome check . --write", + "local:package": "del-cli --force build && mkdir build && cp -r dist docs CHANGELOG.md LICENSE README.md package.json build", + "build:watch": "yarn run clean && tsc -w --strictNullChecks false", + "prepare": "husky && yarn --cwd ./frontend install && if [ ! -d ./dist ]; then yarn build; fi", + "test": "NODE_ENV=test PORT=4243 node --trace-warnings node_modules/.bin/jest", + "test:unit": "NODE_ENV=test PORT=4243 jest --testPathIgnorePatterns=src/test/e2e --testPathIgnorePatterns=dist", + "test:docker": "./scripts/docker-postgres.sh", + "test:report": "NODE_ENV=test PORT=4243 jest --reporters=\"default\" --reporters=\"jest-junit\"", + "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 --compilerOptions '{\"strictNullChecks\": false}' 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", + "prepack": "./scripts/prepack.sh" + }, + "jest-junit": { + "suiteName": "Unleash Unit Tests", + "outputDirectory": "./reports", + "outputName": "jest-junit.xml", + "uniqueOutputName": "false", + "classNameTemplate": "{classname}-{title}", + "titleTemplate": "{classname}-{title}", + "ancestorSeparator": " › ", + "usePathForSuiteName": "true" + }, + "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/", + "/website/" ], - "files": [ - "dist", - "docs", - "frontend/build", - "frontend/build/*", - "frontend/build/**/*", - "frontend/index.js", - "frontend/package.json" + "moduleFileExtensions": [ + "ts", + "tsx", + "js", + "jsx", + "json" ], - "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": ">=18 <21" - }, - "license": "Apache-2.0", - "main": "./dist/lib/server-impl.js", - "scripts": { - "start": "TZ=UTC node ./dist/server.js", - "copy-templates": "copyfiles -u 1 src/mailtemplates/**/*.mustache dist/", - "build:backend": "tsc --pretty --strictNullChecks false", - "build:frontend": "yarn --cwd ./frontend run build", - "build:frontend:if-needed": "./scripts/build-frontend-if-needed.sh", - "build": "yarn run clean && concurrently \"yarn:copy-templates\" \"yarn:build:frontend\" \"yarn:build:backend\"", - "dev:backend": "TZ=UTC NODE_ENV=development tsc-watch --strictNullChecks false --onSuccess \"node dist/server-dev.js\"", - "dev:frontend": "wait-on tcp:4242 && yarn --cwd ./frontend run dev", - "dev": "concurrently \"yarn:dev:backend\" \"yarn:dev:frontend\"", - "prepare:backend": "concurrently \"yarn:copy-templates\" \"yarn:build:backend\"", - "start:dev": "yarn run clean && TZ=UTC NODE_ENV=development tsc-watch --strictNullChecks false --onSuccess \"node dist/server-dev.js\"", - "db-migrate": "db-migrate --migrations-dir ./src/migrations", - "lint": "biome check .", - "lint:fix": "biome check . --write", - "local:package": "del-cli --force build && mkdir build && cp -r dist docs CHANGELOG.md LICENSE README.md package.json build", - "build:watch": "yarn run clean && tsc -w --strictNullChecks false", - "prepare": "husky && yarn --cwd ./frontend install && if [ ! -d ./dist ]; then yarn build; fi", - "test": "NODE_ENV=test PORT=4243 node --trace-warnings node_modules/.bin/jest", - "test:unit": "NODE_ENV=test PORT=4243 jest --testPathIgnorePatterns=src/test/e2e --testPathIgnorePatterns=dist", - "test:docker": "./scripts/docker-postgres.sh", - "test:report": "NODE_ENV=test PORT=4243 jest --reporters=\"default\" --reporters=\"jest-junit\"", - "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 --compilerOptions '{\"strictNullChecks\": false}' 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", - "prepack": "./scripts/prepack.sh" - }, - "jest-junit": { - "suiteName": "Unleash Unit Tests", - "outputDirectory": "./reports", - "outputName": "jest-junit.xml", - "uniqueOutputName": "false", - "classNameTemplate": "{classname}-{title}", - "titleTemplate": "{classname}-{title}", - "ancestorSeparator": " › ", - "usePathForSuiteName": "true" - }, - "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/", - "/website/" - ], - "moduleFileExtensions": [ - "ts", - "tsx", - "js", - "jsx", - "json" - ], - "coveragePathIgnorePatterns": [ - "/node_modules/", - "/dist/", - "/src/migrations", - "/src/test" - ] - }, - "dependencies": { - "@slack/web-api": "^6.10.0", - "@wesleytodd/openapi": "^0.3.0", - "ajv": "^8.12.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.6", - "cookie-session": "^2.0.0-rc.1", - "cors": "^2.8.5", - "date-fns": "^2.25.0", - "db-migrate": "0.11.14", - "db-migrate-pg": "1.5.2", - "db-migrate-shared": "1.2.0", - "deep-object-diff": "^1.1.9", - "deepmerge": "^4.3.1", - "errorhandler": "^1.5.1", - "express": "4.19.2", - "express-rate-limit": "^7.1.2", - "express-session": "^1.17.3", - "fast-json-patch": "^3.1.0", - "hash-sum": "^2.0.0", - "helmet": "^6.0.0", - "http-errors": "^2.0.0", - "ip": "^2.0.1", - "joi": "^17.3.0", - "js-sha256": "^0.11.0", - "js-yaml": "^4.1.0", - "json-diff": "^1.0.6", - "json-schema-to-ts": "2.12.0", - "json2csv": "^5.0.7", - "knex": "^2.5.1", - "lodash.get": "^4.4.2", - "lodash.groupby": "^4.6.0", - "lodash.sortby": "^4.7.0", - "log4js": "^6.0.0", - "make-fetch-happen": "^13.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.9.9", - "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", - "sanitize-filename": "^1.6.3", - "semver": "^7.6.2", - "serve-favicon": "^2.5.0", - "slug": "^9.0.0", - "stoppable": "^1.1.0", - "ts-toolbelt": "^9.6.0", - "type-is": "^1.6.18", - "unleash-client": "5.5.5", - "uuid": "^9.0.0" - }, - "devDependencies": { - "@apidevtools/swagger-parser": "10.1.0", - "@babel/core": "7.24.7", - "@biomejs/biome": "1.8.2", - "@cyclonedx/yarn-plugin-cyclonedx": "^1.0.0-rc.7", - "@swc/core": "1.6.3", - "@swc/jest": "0.2.36", - "@types/bcryptjs": "2.4.6", - "@types/cors": "2.8.17", - "@types/express": "4.17.21", - "@types/express-session": "1.18.0", - "@types/faker": "5.5.9", - "@types/hash-sum": "^1.0.0", - "@types/jest": "29.5.12", - "@types/js-yaml": "4.0.9", - "@types/lodash.groupby": "4.6.9", - "@types/make-fetch-happen": "10.0.4", - "@types/memoizee": "0.4.11", - "@types/mime": "3.0.4", - "@types/node": "20.14.7", - "@types/nodemailer": "6.4.15", - "@types/owasp-password-strength-test": "1.3.2", - "@types/pg": "8.11.6", - "@types/semver": "7.5.8", - "@types/slug": "^5.0.8", - "@types/stoppable": "1.1.3", - "@types/supertest": "6.0.2", - "@types/type-is": "1.6.6", - "@types/uuid": "9.0.8", - "concurrently": "^8.0.1", - "copyfiles": "2.4.1", - "coveralls": "3.1.1", - "del-cli": "5.1.0", - "faker": "5.5.3", - "fast-check": "3.19.0", - "fetch-mock": "9.11.0", - "husky": "^9.0.11", - "jest": "29.7.0", - "jest-junit": "^16.0.0", - "lint-staged": "15.2.7", - "nock": "13.5.4", - "openapi-enforcer": "1.23.0", - "proxyquire": "2.1.3", - "source-map-support": "0.5.21", - "superagent": "9.0.2", - "supertest": "7.0.0", - "ts-node": "10.9.2", - "tsc-watch": "6.2.0", - "typescript": "5.4.5", - "wait-on": "^7.2.0" - }, - "resolutions": { - "async": "^3.2.4", - "es5-ext": "0.10.64", - "node-forge": "^1.0.0", - "set-value": "^4.0.1", - "ansi-regex": "^5.0.1", - "ssh2": "^1.4.0", - "json-schema": "^0.4.0", - "ip": "^2.0.1", - "tar": "6.2.1", - "minimatch": "^5.0.0", - "semver": "^7.6.2", - "tough-cookie": "4.1.4" - }, - "lint-staged": { - "*.{js,ts}": [ - "biome check --write --no-errors-on-unmatched" - ], - "*.{jsx,tsx}": [ - "biome check --write --no-errors-on-unmatched" - ], - "*.json": [ - "biome format --write --no-errors-on-unmatched" - ] - }, - "packageManager": "yarn@4.3.1" + "coveragePathIgnorePatterns": [ + "/node_modules/", + "/dist/", + "/src/migrations", + "/src/test" + ] + }, + "dependencies": { + "@slack/web-api": "^6.10.0", + "@wesleytodd/openapi": "^0.3.0", + "ajv": "^8.12.0", + "ajv-formats": "^2.1.1", + "async": "^3.2.4", + "bcryptjs": "^2.4.3", + "compression": "^1.7.4", + "connect-session-knex": "^5.0.0", + "cookie-parser": "^1.4.6", + "cookie-session": "^2.0.0-rc.1", + "cors": "^2.8.5", + "date-fns": "^2.25.0", + "db-migrate": "0.11.14", + "db-migrate-pg": "1.5.2", + "db-migrate-shared": "1.2.0", + "deep-object-diff": "^1.1.9", + "deepmerge": "^4.3.1", + "errorhandler": "^1.5.1", + "express": "4.19.2", + "express-rate-limit": "^7.3.1", + "express-session": "^1.17.3", + "fast-json-patch": "^3.1.0", + "hash-sum": "^2.0.0", + "helmet": "^6.0.0", + "http-errors": "^2.0.0", + "ip": "^2.0.1", + "joi": "^17.13.3", + "js-sha256": "^0.11.0", + "js-yaml": "^4.1.0", + "json-diff": "^1.0.6", + "json-schema-to-ts": "2.12.0", + "json2csv": "^5.0.7", + "knex": "^3.1.0", + "lodash.get": "^4.4.2", + "lodash.groupby": "^4.6.0", + "lodash.sortby": "^4.7.0", + "log4js": "^6.0.0", + "make-fetch-happen": "^13.0.0", + "memoizee": "^0.4.17", + "mime": "^3.0.0", + "multer": "^1.4.5-lts.1", + "murmurhash3js": "^3.0.1", + "mustache": "^4.1.0", + "nodemailer": "^6.9.9", + "openapi-types": "^12.1.3", + "owasp-password-strength-test": "^1.3.0", + "parse-database-url": "^0.3.0", + "pg": "^8.12.0", + "pg-connection-string": "^2.5.0", + "pkginfo": "^0.4.1", + "prom-client": "^14.0.0", + "response-time": "^2.3.2", + "sanitize-filename": "^1.6.3", + "semver": "^7.6.2", + "serve-favicon": "^2.5.0", + "slug": "^9.0.0", + "stoppable": "^1.1.0", + "ts-toolbelt": "^9.6.0", + "type-is": "^1.6.18", + "unleash-client": "5.5.5", + "uuid": "^9.0.0" + }, + "devDependencies": { + "@apidevtools/swagger-parser": "10.1.0", + "@babel/core": "7.24.7", + "@biomejs/biome": "1.8.2", + "@cyclonedx/yarn-plugin-cyclonedx": "^1.0.0-rc.7", + "@swc/core": "1.6.3", + "@swc/jest": "0.2.36", + "@types/bcryptjs": "2.4.6", + "@types/cors": "2.8.17", + "@types/express": "4.17.21", + "@types/express-session": "1.18.0", + "@types/faker": "5.5.9", + "@types/hash-sum": "^1.0.0", + "@types/jest": "29.5.12", + "@types/js-yaml": "4.0.9", + "@types/lodash.groupby": "4.6.9", + "@types/make-fetch-happen": "10.0.4", + "@types/memoizee": "0.4.11", + "@types/mime": "3.0.4", + "@types/node": "20.14.7", + "@types/nodemailer": "6.4.15", + "@types/owasp-password-strength-test": "1.3.2", + "@types/pg": "8.11.6", + "@types/semver": "7.5.8", + "@types/slug": "^5.0.8", + "@types/stoppable": "1.1.3", + "@types/supertest": "6.0.2", + "@types/type-is": "1.6.6", + "@types/uuid": "9.0.8", + "concurrently": "^8.0.1", + "copyfiles": "2.4.1", + "coveralls": "3.1.1", + "del-cli": "5.1.0", + "faker": "5.5.3", + "fast-check": "3.19.0", + "fetch-mock": "9.11.0", + "husky": "^9.0.11", + "jest": "29.7.0", + "jest-junit": "^16.0.0", + "lint-staged": "15.2.7", + "nock": "13.5.4", + "openapi-enforcer": "1.23.0", + "proxyquire": "2.1.3", + "source-map-support": "0.5.21", + "superagent": "9.0.2", + "supertest": "7.0.0", + "ts-node": "10.9.2", + "tsc-watch": "6.2.0", + "typescript": "5.4.5", + "wait-on": "^7.2.0" + }, + "resolutions": { + "async": "^3.2.4", + "es5-ext": "0.10.64", + "node-forge": "^1.0.0", + "set-value": "^4.0.1", + "ansi-regex": "^5.0.1", + "ssh2": "^1.4.0", + "json-schema": "^0.4.0", + "ip": "^2.0.1", + "tar": "6.2.1", + "minimatch": "^5.0.0", + "semver": "^7.6.2", + "tough-cookie": "4.1.4" + }, + "lint-staged": { + "*.{js,ts}": [ + "biome check --write --no-errors-on-unmatched" + ], + "*.{jsx,tsx}": [ + "biome check --write --no-errors-on-unmatched" + ], + "*.json": [ + "biome format --write --no-errors-on-unmatched" + ] + }, + "packageManager": "yarn@4.3.1" } diff --git a/src/lib/middleware/session-db.ts b/src/lib/middleware/session-db.ts index bac42e054b11..b5eab85e9522 100644 --- a/src/lib/middleware/session-db.ts +++ b/src/lib/middleware/session-db.ts @@ -1,6 +1,6 @@ import type { Knex } from 'knex'; import session from 'express-session'; -import knexSessionStore from 'connect-session-knex'; +import { ConnectSessionKnexStore } from 'connect-session-knex'; import type { RequestHandler } from 'express'; import type { IUnleashConfig } from '../types/option'; import { hoursToMilliseconds } from 'date-fns'; @@ -13,11 +13,10 @@ function sessionDb( const { db, cookieName } = config.session; const age = hoursToMilliseconds(config.session.ttlHours) || hoursToMilliseconds(48); - const KnexSessionStore = knexSessionStore(session); if (db) { - store = new KnexSessionStore({ - tablename: 'unleash_session', - createtable: false, + store = new ConnectSessionKnexStore({ + tableName: 'unleash_session', + createTable: false, knex, }); } else { diff --git a/yarn.lock b/yarn.lock index 2ab6b4cd9e68..00e98c67ce9b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2017,9 +2017,9 @@ __metadata: linkType: hard "@types/json-schema@npm:^7.0.9": - version: 7.0.11 - resolution: "@types/json-schema@npm:7.0.11" - checksum: 10c0/bd1f9a7b898ff15c4bb494eb19124f2d688b804c39f07cbf135ac73f35324970e9e8329b72aae1fb543d925ea295a1568b23056c26658cecec4741fa28c3b81a + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db languageName: node linkType: hard @@ -2719,7 +2719,7 @@ __metadata: languageName: node linkType: hard -"bluebird@npm:^3.1.1, bluebird@npm:^3.7.2": +"bluebird@npm:^3.1.1": version: 3.7.2 resolution: "bluebird@npm:3.7.2" checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 @@ -3264,13 +3264,12 @@ __metadata: languageName: node linkType: hard -"connect-session-knex@npm:^3.0.0": - version: 3.0.1 - resolution: "connect-session-knex@npm:3.0.1" +"connect-session-knex@npm:^5.0.0": + version: 5.0.0 + resolution: "connect-session-knex@npm:5.0.0" dependencies: - bluebird: "npm:^3.7.2" - knex: "npm:^2.3.0" - checksum: 10c0/4deb263c213504f374b3dd8ef8e7f72ecc41c1c13570dedf328911a0826d64204ea777bda5994db41de7caaf1a19fa3e662f25e67d88f71fcc64431ade15a26b + knex: "npm:3" + checksum: 10c0/26ff173f0001494d1a0c2777343a25d7ed5f283b79e46b75266f2a8ab498cfcde635d5a03e3a4f794e2f4e2e35dde8a3c3b5364de6a15bf87e5dda1952a32e4f languageName: node linkType: hard @@ -4208,7 +4207,7 @@ __metadata: languageName: node linkType: hard -"express-rate-limit@npm:^7.1.2": +"express-rate-limit@npm:^7.3.1": version: 7.3.1 resolution: "express-rate-limit@npm:7.3.1" peerDependencies: @@ -6010,7 +6009,7 @@ __metadata: languageName: node linkType: hard -"joi@npm:^17.11.0, joi@npm:^17.3.0": +"joi@npm:^17.11.0, joi@npm:^17.13.3": version: 17.13.3 resolution: "joi@npm:17.13.3" dependencies: @@ -6259,9 +6258,9 @@ __metadata: languageName: node linkType: hard -"knex@npm:^2.3.0, knex@npm:^2.5.1": - version: 2.5.1 - resolution: "knex@npm:2.5.1" +"knex@npm:3, knex@npm:^3.1.0": + version: 3.1.0 + resolution: "knex@npm:3.1.0" dependencies: colorette: "npm:2.0.19" commander: "npm:^10.0.0" @@ -6272,7 +6271,7 @@ __metadata: getopts: "npm:2.3.0" interpret: "npm:^2.2.0" lodash: "npm:^4.17.21" - pg-connection-string: "npm:2.6.1" + pg-connection-string: "npm:2.6.2" rechoir: "npm:^0.8.0" resolve-from: "npm:^5.0.0" tarn: "npm:^3.0.2" @@ -6294,7 +6293,7 @@ __metadata: optional: true bin: knex: bin/cli.js - checksum: 10c0/33580641feaa93074bdc10e78f06382e5017d46a3cd22821c09057e7da303c35772add39a110fffe685c2f438a78751a0eb6f50aad1c4bdb032e8ec9b7879b69 + checksum: 10c0/d8a1f99fad143c6057e94759b2ae700ae661a0b0b2385f643011962ef501dcc7b32cfdb5bda66ef81283ca56f13630f47691c579ce66ad0e8128e209533c3785 languageName: node linkType: hard @@ -6617,7 +6616,7 @@ __metadata: languageName: node linkType: hard -"memoizee@npm:^0.4.15": +"memoizee@npm:^0.4.17": version: 0.4.17 resolution: "memoizee@npm:0.4.17" dependencies: @@ -7386,7 +7385,7 @@ __metadata: languageName: node linkType: hard -"openapi-types@npm:^12.0.0": +"openapi-types@npm:^12.1.3": version: 12.1.3 resolution: "openapi-types@npm:12.1.3" checksum: 10c0/4ad4eb91ea834c237edfa6ab31394e87e00c888fc2918009763389c00d02342345195d6f302d61c3fd807f17723cd48df29b47b538b68375b3827b3758cd520f @@ -7659,14 +7658,14 @@ __metadata: languageName: node linkType: hard -"pg-connection-string@npm:2.6.1": - version: 2.6.1 - resolution: "pg-connection-string@npm:2.6.1" - checksum: 10c0/e5a71a2da143b8dc17143a9db7737679b210643771aa678d3bc60c7bc70da11bbb8e2d531be91c8c4eddd6ac6046307811e793f5850b9ba595a11785c948a417 +"pg-connection-string@npm:2.6.2": + version: 2.6.2 + resolution: "pg-connection-string@npm:2.6.2" + checksum: 10c0/e8fdea74fcc8bdc3d7c5c6eadd9425fdba7e67fb7fe836f9c0cecad94c8984e435256657d1d8ce0483d1fedef667e7a57e32449a63cb805cb0289fc34b62da35 languageName: node linkType: hard -"pg-connection-string@npm:^2.5.0, pg-connection-string@npm:^2.6.2": +"pg-connection-string@npm:^2.5.0, pg-connection-string@npm:^2.6.2, pg-connection-string@npm:^2.6.4": version: 2.6.4 resolution: "pg-connection-string@npm:2.6.4" checksum: 10c0/0d0b617df0fc6507bf6a94bdcd56c7a305788a1402d69bff9773350947c8f525d6d8136128065370749a3325e99658ae40fbdcce620fb8e60126181f0591a6a6 @@ -7696,6 +7695,15 @@ __metadata: languageName: node linkType: hard +"pg-pool@npm:^3.6.2": + version: 3.6.2 + resolution: "pg-pool@npm:3.6.2" + peerDependencies: + pg: ">=8.0" + checksum: 10c0/14c524549490954b5e48457a4b808df8f619f6deeb3b395b0cd184a8f4ed65a9273fe0697ba0341a41d6745af197f1437eb1cf51fff0cbbf5b0fb3852ebe5392 + languageName: node + linkType: hard + "pg-protocol@npm:*, pg-protocol@npm:^1.6.0": version: 1.6.0 resolution: "pg-protocol@npm:1.6.0" @@ -7703,6 +7711,13 @@ __metadata: languageName: node linkType: hard +"pg-protocol@npm:^1.6.1": + version: 1.6.1 + resolution: "pg-protocol@npm:1.6.1" + checksum: 10c0/7eadef4010ac0a3925c460be7332ca4098a5c6d5181725a62193fcfa800000ae6632d98d814f3989b42cf5fdc3b45e34c714a1959d29174e81e30730e140ae5f + languageName: node + linkType: hard + "pg-types@npm:^2.1.0": version: 2.2.0 resolution: "pg-types@npm:2.2.0" @@ -7731,7 +7746,7 @@ __metadata: languageName: node linkType: hard -"pg@npm:^8.11.2, pg@npm:^8.7.3": +"pg@npm:^8.11.2": version: 8.11.3 resolution: "pg@npm:8.11.3" dependencies: @@ -7755,6 +7770,28 @@ __metadata: languageName: node linkType: hard +"pg@npm:^8.12.0": + version: 8.12.0 + resolution: "pg@npm:8.12.0" + dependencies: + pg-cloudflare: "npm:^1.1.1" + pg-connection-string: "npm:^2.6.4" + pg-pool: "npm:^3.6.2" + pg-protocol: "npm:^1.6.1" + pg-types: "npm:^2.1.0" + pgpass: "npm:1.x" + peerDependencies: + pg-native: ">=3.0.1" + dependenciesMeta: + pg-cloudflare: + optional: true + peerDependenciesMeta: + pg-native: + optional: true + checksum: 10c0/973e49b5e7327c42fc62806efa8c824159ab7a0b676cefe6eeb51a59b6e226587911ec27697f36c18d69e58a7f4f0b76d0829364087194d13ed431ab7c9c417a + languageName: node + linkType: hard + "pgpass@npm:1.x": version: 1.0.5 resolution: "pgpass@npm:1.0.5" @@ -9796,7 +9833,7 @@ __metadata: bcryptjs: "npm:^2.4.3" compression: "npm:^1.7.4" concurrently: "npm:^8.0.1" - connect-session-knex: "npm:^3.0.0" + connect-session-knex: "npm:^5.0.0" cookie-parser: "npm:^1.4.6" cookie-session: "npm:^2.0.0-rc.1" copyfiles: "npm:2.4.1" @@ -9811,7 +9848,7 @@ __metadata: del-cli: "npm:5.1.0" errorhandler: "npm:^1.5.1" express: "npm:4.19.2" - express-rate-limit: "npm:^7.1.2" + express-rate-limit: "npm:^7.3.1" express-session: "npm:^1.17.3" faker: "npm:5.5.3" fast-check: "npm:3.19.0" @@ -9824,20 +9861,20 @@ __metadata: ip: "npm:^2.0.1" jest: "npm:29.7.0" jest-junit: "npm:^16.0.0" - joi: "npm:^17.3.0" + joi: "npm:^17.13.3" js-sha256: "npm:^0.11.0" js-yaml: "npm:^4.1.0" json-diff: "npm:^1.0.6" json-schema-to-ts: "npm:2.12.0" json2csv: "npm:^5.0.7" - knex: "npm:^2.5.1" + knex: "npm:^3.1.0" lint-staged: "npm:15.2.7" lodash.get: "npm:^4.4.2" lodash.groupby: "npm:^4.6.0" lodash.sortby: "npm:^4.7.0" log4js: "npm:^6.0.0" make-fetch-happen: "npm:^13.0.0" - memoizee: "npm:^0.4.15" + memoizee: "npm:^0.4.17" mime: "npm:^3.0.0" multer: "npm:^1.4.5-lts.1" murmurhash3js: "npm:^3.0.1" @@ -9845,10 +9882,10 @@ __metadata: nock: "npm:13.5.4" nodemailer: "npm:^6.9.9" openapi-enforcer: "npm:1.23.0" - openapi-types: "npm:^12.0.0" + openapi-types: "npm:^12.1.3" owasp-password-strength-test: "npm:^1.3.0" parse-database-url: "npm:^0.3.0" - pg: "npm:^8.7.3" + pg: "npm:^8.12.0" pg-connection-string: "npm:^2.5.0" pkginfo: "npm:^0.4.1" prom-client: "npm:^14.0.0"