From 692bb26a0c98092048e5fadf7fec8bbcb8900d72 Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Sun, 21 May 2023 14:54:11 +0000 Subject: [PATCH 1/4] feat: upgrade lru-cache from 7.12.0 to 9.1.1 Snyk has created this PR to upgrade lru-cache from 7.12.0 to 9.1.1. See this package in npm: https://www.npmjs.com/package/lru-cache See this project in Snyk: https://app.snyk.io/org/acinader/project/21343059-02d9-4182-87d7-718a44b181ef?utm_source=github&utm_medium=referral&page=upgrade-pr --- package-lock.json | 18 +++++++++--------- package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 98435f92dc..80998b437e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "jwks-rsa": "2.1.5", "ldapjs": "2.3.3", "lodash": "4.17.21", - "lru-cache": "7.12.0", + "lru-cache": "^9.1.1", "mime": "3.0.0", "mongodb": "4.10.0", "mustache": "4.2.0", @@ -75,7 +75,7 @@ "all-node-versions": "11.3.0", "apollo-upload-client": "17.0.0", "bcrypt-nodejs": "0.0.3", - "clean-jsdoc-theme": "^4.2.7", + "clean-jsdoc-theme": "4.2.7", "cross-env": "7.0.2", "deep-diff": "1.0.2", "eslint": "8.26.0", @@ -11019,11 +11019,11 @@ } }, "node_modules/lru-cache": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.12.0.tgz", - "integrity": "sha512-OIP3DwzRZDfLg9B9VP/huWBlpvbkmbfiBy8xmsXp4RPmE4A3MhwNozc5ZJ3fWnSg8fDcdlE/neRTPG2ycEKliw==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", + "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", "engines": { - "node": ">=12" + "node": "14 || >=16.14" } }, "node_modules/lru-memoizer": { @@ -28991,9 +28991,9 @@ "dev": true }, "lru-cache": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.12.0.tgz", - "integrity": "sha512-OIP3DwzRZDfLg9B9VP/huWBlpvbkmbfiBy8xmsXp4RPmE4A3MhwNozc5ZJ3fWnSg8fDcdlE/neRTPG2ycEKliw==" + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", + "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==" }, "lru-memoizer": { "version": "2.1.4", diff --git a/package.json b/package.json index 8a0338e441..f837ff412b 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "jwks-rsa": "2.1.5", "ldapjs": "2.3.3", "lodash": "4.17.21", - "lru-cache": "7.12.0", + "lru-cache": "9.1.1", "mime": "3.0.0", "mongodb": "4.10.0", "mustache": "4.2.0", From 4a0cafec368aec072da2cfc655ad453a63400af5 Mon Sep 17 00:00:00 2001 From: dblythy Date: Mon, 22 May 2023 14:50:09 +1000 Subject: [PATCH 2/4] refactor: Upgrade lru-cache from 7.12.0 to 9.1.1 --- package-lock.json | 2 +- src/Adapters/Cache/LRUCache.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 80998b437e..f5708cb114 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "jwks-rsa": "2.1.5", "ldapjs": "2.3.3", "lodash": "4.17.21", - "lru-cache": "^9.1.1", + "lru-cache": "9.1.1", "mime": "3.0.0", "mongodb": "4.10.0", "mustache": "4.2.0", diff --git a/src/Adapters/Cache/LRUCache.js b/src/Adapters/Cache/LRUCache.js index f54d8503f9..129a006376 100644 --- a/src/Adapters/Cache/LRUCache.js +++ b/src/Adapters/Cache/LRUCache.js @@ -1,4 +1,4 @@ -import LRU from 'lru-cache'; +import { LRUCache as LRU } from 'lru-cache'; import defaults from '../../defaults'; export class LRUCache { From f463319d2a0efe4ad07356572fb3aad8b43c001c Mon Sep 17 00:00:00 2001 From: dblythy Date: Mon, 22 May 2023 15:18:52 +1000 Subject: [PATCH 3/4] wip --- src/LiveQuery/ParseLiveQueryServer.js | 2 +- src/LiveQuery/SessionTokenCache.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/LiveQuery/ParseLiveQueryServer.js b/src/LiveQuery/ParseLiveQueryServer.js index 0b71265f33..bfdf9c72bb 100644 --- a/src/LiveQuery/ParseLiveQueryServer.js +++ b/src/LiveQuery/ParseLiveQueryServer.js @@ -19,7 +19,7 @@ import { } from '../triggers'; import { getAuthForSessionToken, Auth } from '../Auth'; import { getCacheController, getDatabaseController } from '../Controllers'; -import LRU from 'lru-cache'; +import { LRUCache as LRU } from 'lru-cache'; import UserRouter from '../Routers/UsersRouter'; import DatabaseController from '../Controllers/DatabaseController'; import { isDeepStrictEqual } from 'util'; diff --git a/src/LiveQuery/SessionTokenCache.js b/src/LiveQuery/SessionTokenCache.js index 13b84c7367..a7f52b65a0 100644 --- a/src/LiveQuery/SessionTokenCache.js +++ b/src/LiveQuery/SessionTokenCache.js @@ -1,5 +1,5 @@ import Parse from 'parse/node'; -import LRU from 'lru-cache'; +import { LRUCache as LRU } from 'lru-cache'; import logger from '../logger'; function userForSessionToken(sessionToken) { From afbed03cdbdefac1463252d4c9055bbe6567aed6 Mon Sep 17 00:00:00 2001 From: dblythy Date: Mon, 22 May 2023 15:59:03 +1000 Subject: [PATCH 4/4] refactor --- package-lock.json | 6 +++--- spec/SessionTokenCache.spec.js | 2 +- src/LiveQuery/ParseLiveQueryServer.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index b49d998e10..a67fec47a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "license": "Apache-2.0", "dependencies": { "@babel/eslint-parser": "7.19.1", - "@graphql-tools/merge": "^8.4.1", + "@graphql-tools/merge": "8.4.1", "@graphql-tools/schema": "9.0.4", "@graphql-tools/utils": "8.12.0", "@graphql-yoga/node": "2.6.0", @@ -45,14 +45,14 @@ "pg-promise": "11.3.0", "pluralize": "8.0.0", "rate-limit-redis": "3.0.1", - "redis": "^4.6.6", + "redis": "4.6.6", "semver": "7.3.8", "subscriptions-transport-ws": "0.11.0", "tv4": "1.3.0", "uuid": "9.0.0", "winston": "3.8.1", "winston-daily-rotate-file": "4.7.1", - "ws": "^8.13.0" + "ws": "8.13.0" }, "bin": { "parse-server": "bin/parse-server" diff --git a/spec/SessionTokenCache.spec.js b/spec/SessionTokenCache.spec.js index de1b101c56..6b3c83df62 100644 --- a/spec/SessionTokenCache.spec.js +++ b/spec/SessionTokenCache.spec.js @@ -47,7 +47,7 @@ describe('SessionTokenCache', function () { sessionTokenCache.getUserId('sessionToken').then(userIdFromCache => { expect(userIdFromCache).toBe('userId'); - expect(sessionTokenCache.cache.length).toBe(1); + expect(sessionTokenCache.cache.size).toBe(1); done(); }); }); diff --git a/src/LiveQuery/ParseLiveQueryServer.js b/src/LiveQuery/ParseLiveQueryServer.js index bfdf9c72bb..1105a2a6b7 100644 --- a/src/LiveQuery/ParseLiveQueryServer.js +++ b/src/LiveQuery/ParseLiveQueryServer.js @@ -518,7 +518,7 @@ class ParseLiveQueryServer { ]); auth1.auth?.clearRoleCache(sessionToken); auth2.auth?.clearRoleCache(sessionToken); - this.authCache.del(sessionToken); + this.authCache.delete(sessionToken); }) ); } catch (e) { @@ -548,7 +548,7 @@ class ParseLiveQueryServer { result.error = error; this.authCache.set(sessionToken, Promise.resolve(result), this.config.cacheTimeout); } else { - this.authCache.del(sessionToken); + this.authCache.delete(sessionToken); } return result; });