From 6258a6a11235dc642c71074d24e19c055294d26d Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 6 Mar 2025 11:34:52 +1100 Subject: [PATCH 01/18] fix: Using Parse Server option `extendSessionOnUse` does not correctly clear memory and functions as a debounce instead of a throttle (#8683) --- spec/Auth.spec.js | 2 ++ src/Auth.js | 70 +++++++++++++++++++++++++---------------------- 2 files changed, 40 insertions(+), 32 deletions(-) diff --git a/spec/Auth.spec.js b/spec/Auth.spec.js index 4284c736..a055cda5 100644 --- a/spec/Auth.spec.js +++ b/spec/Auth.spec.js @@ -106,6 +106,8 @@ describe('Auth', () => { updatedAt: updatedAt.toISOString(), } ); + Parse.Server.cacheController.clear(); + await new Promise(resolve => setTimeout(resolve, 1000)); await session.fetch(); await new Promise(resolve => setTimeout(resolve, 1000)); await session.fetch(); diff --git a/src/Auth.js b/src/Auth.js index dbb34f9a..d872b1fa 100644 --- a/src/Auth.js +++ b/src/Auth.js @@ -2,6 +2,7 @@ const Parse = require('parse/node'); import { isDeepStrictEqual } from 'util'; import { getRequestObject, resolveError } from './triggers'; import { logger } from './logger'; +import { LRUCache as LRU } from 'lru-cache'; import RestQuery from './RestQuery'; import RestWrite from './RestWrite'; @@ -67,6 +68,10 @@ function nobody(config) { return new Auth({ config, isMaster: false }); } +const throttle = new LRU({ + max: 10000, + ttl: 500, +}); /** * Checks whether session should be updated based on last update time & session length. */ @@ -78,44 +83,45 @@ function shouldUpdateSessionExpiry(config, session) { return lastUpdated <= skipRange; } -const throttle = {}; const renewSessionIfNeeded = async ({ config, session, sessionToken }) => { if (!config?.extendSessionOnUse) { return; } - clearTimeout(throttle[sessionToken]); - throttle[sessionToken] = setTimeout(async () => { - try { - if (!session) { - const query = await RestQuery({ - method: RestQuery.Method.get, - config, - auth: master(config), - runBeforeFind: false, - className: '_Session', - restWhere: { sessionToken }, - restOptions: { limit: 1 }, - }); - const { results } = await query.execute(); - session = results[0]; - } - if (!shouldUpdateSessionExpiry(config, session) || !session) { - return; - } - const expiresAt = config.generateSessionExpiresAt(); - await new RestWrite( + if (throttle.get(sessionToken)) { + return; + } + throttle.set(sessionToken, true); + try { + if (!session) { + const query = await RestQuery({ + method: RestQuery.Method.get, config, - master(config), - '_Session', - { objectId: session.objectId }, - { expiresAt: Parse._encode(expiresAt) } - ).execute(); - } catch (e) { - if (e?.code !== Parse.Error.OBJECT_NOT_FOUND) { - logger.error('Could not update session expiry: ', e); - } + auth: master(config), + runBeforeFind: false, + className: '_Session', + restWhere: { sessionToken }, + restOptions: { limit: 1 }, + }); + const { results } = await query.execute(); + session = results[0]; } - }, 500); + + if (!shouldUpdateSessionExpiry(config, session) || !session) { + return; + } + const expiresAt = config.generateSessionExpiresAt(); + await new RestWrite( + config, + master(config), + '_Session', + { objectId: session.objectId }, + { expiresAt: Parse._encode(expiresAt) } + ).execute(); + } catch (e) { + if (e?.code !== Parse.Error.OBJECT_NOT_FOUND) { + logger.error('Could not update session expiry: ', e); + } + } }; // Returns a promise that resolves to an Auth object From 22e85689366f6844171d8f3b18ae2bc87cb6a657 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 6 Mar 2025 00:35:37 +0000 Subject: [PATCH 02/18] chore(release): 8.0.1-alpha.1 [skip ci] ## [8.0.1-alpha.1](https://github.com/parse-community/parse-server/compare/8.0.0...8.0.1-alpha.1) (2025-03-06) ### Bug Fixes * Using Parse Server option `extendSessionOnUse` does not correctly clear memory and functions as a debounce instead of a throttle ([#8683](https://github.com/parse-community/parse-server/issues/8683)) ([6258a6a](https://github.com/parse-community/parse-server/commit/6258a6a11235dc642c71074d24e19c055294d26d)) --- changelogs/CHANGELOG_alpha.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/changelogs/CHANGELOG_alpha.md b/changelogs/CHANGELOG_alpha.md index 421f49f5..3a5ed0ad 100644 --- a/changelogs/CHANGELOG_alpha.md +++ b/changelogs/CHANGELOG_alpha.md @@ -1,3 +1,10 @@ +## [8.0.1-alpha.1](https://github.com/parse-community/parse-server/compare/8.0.0...8.0.1-alpha.1) (2025-03-06) + + +### Bug Fixes + +* Using Parse Server option `extendSessionOnUse` does not correctly clear memory and functions as a debounce instead of a throttle ([#8683](https://github.com/parse-community/parse-server/issues/8683)) ([6258a6a](https://github.com/parse-community/parse-server/commit/6258a6a11235dc642c71074d24e19c055294d26d)) + # [8.0.0-alpha.15](https://github.com/parse-community/parse-server/compare/8.0.0-alpha.14...8.0.0-alpha.15) (2025-03-03) diff --git a/package-lock.json b/package-lock.json index 71e0b5f6..079c4188 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "parse-server", - "version": "8.0.0", + "version": "8.0.1-alpha.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "parse-server", - "version": "8.0.0", + "version": "8.0.1-alpha.1", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 0cb220b9..40c04f72 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "parse-server", - "version": "8.0.0", + "version": "8.0.1-alpha.1", "description": "An express module providing a Parse-compatible API server", "main": "lib/index.js", "repository": { From 533a60e2182d5cc2057c4401af50782a7f7ed210 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 6 Mar 2025 11:57:37 +1100 Subject: [PATCH 03/18] refactor: Add internal method `Utils.encodeForUrl` for properly encoding email addresses for use in URLs (#9541) --- spec/Utils.spec.js | 11 +++++++++++ src/Controllers/UserController.js | 1 - src/Utils.js | 11 +++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/spec/Utils.spec.js b/spec/Utils.spec.js index 3aa31a74..fe86854e 100644 --- a/spec/Utils.spec.js +++ b/spec/Utils.spec.js @@ -1,6 +1,17 @@ const Utils = require('../src/Utils'); describe('Utils', () => { + describe('encodeForUrl', () => { + it('should properly escape email with all special ASCII characters for use in URLs', async () => { + const values = [ + { input: `!\"'),.:;<>?]^}`, output: '%21%22%27%29%2C%2E%3A%3B%3C%3E%3F%5D%5E%7D' }, + ] + for (const value of values) { + expect(Utils.encodeForUrl(value.input)).toBe(value.output); + } + }); + }); + describe('addNestedKeysToRoot', () => { it('should move the nested keys to root of object', async () => { const obj = { diff --git a/src/Controllers/UserController.js b/src/Controllers/UserController.js index 455ec038..296b7f68 100644 --- a/src/Controllers/UserController.js +++ b/src/Controllers/UserController.js @@ -282,7 +282,6 @@ export class UserController extends AdaptableController { user = await this.setPasswordResetToken(email); } const token = encodeURIComponent(user._perishable_token); - const link = buildEmailLink(this.config.requestResetPasswordURL, token, this.config); const options = { appName: this.config.appName, diff --git a/src/Utils.js b/src/Utils.js index b77a3d85..72b49aee 100644 --- a/src/Utils.js +++ b/src/Utils.js @@ -399,6 +399,17 @@ class Utils { } return obj; } + + /** + * Encodes a string to be used in a URL. + * @param {String} input The string to encode. + * @returns {String} The encoded string. + */ + static encodeForUrl(input) { + return encodeURIComponent(input).replace(/[!'.()*]/g, char => + '%' + char.charCodeAt(0).toString(16).toUpperCase() + ); + } } module.exports = Utils; From bba2fe61b8ae17aa785ab8aecc55b6777fb7c45a Mon Sep 17 00:00:00 2001 From: Parse Platform <90459499+parseplatformorg@users.noreply.github.com> Date: Thu, 6 Mar 2025 14:42:39 +0100 Subject: [PATCH 04/18] refactor: Upgrade graphql from 16.9.0 to 16.10.0 (#9514) --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 079c4188..72eebc71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "express": "5.0.1", "express-rate-limit": "7.5.0", "follow-redirects": "1.15.9", - "graphql": "16.9.0", + "graphql": "^16.10.0", "graphql-list-fields": "2.0.4", "graphql-relay": "0.10.2", "graphql-tag": "2.12.6", @@ -11246,9 +11246,9 @@ "dev": true }, "node_modules/graphql": { - "version": "16.9.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.9.0.tgz", - "integrity": "sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==", + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.10.0.tgz", + "integrity": "sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==", "license": "MIT", "engines": { "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" @@ -29788,9 +29788,9 @@ "dev": true }, "graphql": { - "version": "16.9.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.9.0.tgz", - "integrity": "sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==" + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.10.0.tgz", + "integrity": "sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==" }, "graphql-list-fields": { "version": "2.0.4", diff --git a/package.json b/package.json index 40c04f72..c9b07f8e 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "express": "5.0.1", "express-rate-limit": "7.5.0", "follow-redirects": "1.15.9", - "graphql": "16.9.0", + "graphql": "16.10.0", "graphql-list-fields": "2.0.4", "graphql-relay": "0.10.2", "graphql-tag": "2.12.6", From 4f55c3e9cfa31c6aca9c005ab21ff6193600ba89 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 Mar 2025 18:25:08 +0100 Subject: [PATCH 05/18] refactor: Bump @graphql-tools/schema from 10.0.16 to 10.0.21 (#9629) --- package-lock.json | 95 +++++++++++++++++++++++++++++------------------ package.json | 2 +- 2 files changed, 60 insertions(+), 37 deletions(-) diff --git a/package-lock.json b/package-lock.json index 72eebc71..ebd709b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@apollo/server": "4.11.3", "@babel/eslint-parser": "7.26.5", "@graphql-tools/merge": "9.0.19", - "@graphql-tools/schema": "10.0.16", + "@graphql-tools/schema": "10.0.21", "@graphql-tools/utils": "10.6.3", "@parse/fs-files-adapter": "3.0.0", "@parse/push-adapter": "6.10.0", @@ -24,7 +24,7 @@ "express": "5.0.1", "express-rate-limit": "7.5.0", "follow-redirects": "1.15.9", - "graphql": "^16.10.0", + "graphql": "16.10.0", "graphql-list-fields": "2.0.4", "graphql-relay": "0.10.2", "graphql-tag": "2.12.6", @@ -2954,14 +2954,14 @@ } }, "node_modules/@graphql-tools/schema": { - "version": "10.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.16.tgz", - "integrity": "sha512-G2zgb8hNg9Sx6Z2FSXm57ToNcwMls9A9cUm+EsCrnGGDsryzN5cONYePUpSGj5NCFivVp3o1FT5dg19P/1qeqQ==", + "version": "10.0.21", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.21.tgz", + "integrity": "sha512-AECSlNnD0WNxICwfJs93gYn2oHxPmztn1MYBETIQXrJJcymfD6BoUrDlYPa6F27RzRc+gbPZPHMWL26uujfKBg==", + "license": "MIT", "dependencies": { - "@graphql-tools/merge": "9.0.17", - "@graphql-tools/utils": "^10.7.2", - "tslib": "^2.4.0", - "value-or-promise": "^1.0.12" + "@graphql-tools/merge": "^9.0.22", + "@graphql-tools/utils": "^10.8.4", + "tslib": "^2.4.0" }, "engines": { "node": ">=16.0.0" @@ -2971,12 +2971,12 @@ } }, "node_modules/@graphql-tools/schema/node_modules/@graphql-tools/merge": { - "version": "9.0.17", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.17.tgz", - "integrity": "sha512-3K4g8KKbIqfdmK0L5+VtZsqwAeElPkvT5ejiH+KEhn2wyKNCi4HYHxpQk8xbu+dSwLlm9Lhet1hylpo/mWCkuQ==", + "version": "9.0.22", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.22.tgz", + "integrity": "sha512-bjOs9DlTbo1Yz2UzQcJ78Dn9/pKyY2zNaoqNLfRTTSkO56QFkvqhfjQuqJcqu+V3rtaB2o0VMpWaY6JT8ZTvQA==", "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^10.7.2", + "@graphql-tools/utils": "^10.8.4", "tslib": "^2.4.0" }, "engines": { @@ -2987,11 +2987,13 @@ } }, "node_modules/@graphql-tools/schema/node_modules/@graphql-tools/utils": { - "version": "10.7.2", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.7.2.tgz", - "integrity": "sha512-Wn85S+hfkzfVFpXVrQ0hjnePa3p28aB6IdAGCiD1SqBCSMDRzL+OFEtyAyb30nV9Mqflqs9lCqjqlR2puG857Q==", + "version": "10.8.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.4.tgz", + "integrity": "sha512-HpHBgcmLIE79jWk1v5Bm0Eb8MaPiwSJT/Iy5xIJ+GMe7yAKpCYrbjf7wb+UMDMkLkfEryvo3syCx8k+TMAZ9bA==", + "license": "MIT", "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", "cross-inspect": "1.0.1", "dset": "^3.1.4", "tslib": "^2.4.0" @@ -6496,6 +6498,18 @@ "integrity": "sha512-W8GgysJVnFo81FthhzurdRAWP/byq3q2qIw70e0JWblzVhjgOMiC2GyovXrZTFQJnFVryYaKGP3Tc9vYzYm6PQ==", "dev": true }, + "node_modules/@whatwg-node/promise-helpers": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@whatwg-node/promise-helpers/-/promise-helpers-1.2.4.tgz", + "integrity": "sha512-daEUfaHbaMuAcor+FPAVK+pOCSzsAYhK6LN1y81EcakdqQEPQvjm74PTmfwfv8POg8pw4RyCv9LXB1e+mQDwqg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/@wry/caches": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@wry/caches/-/caches-1.0.1.tgz", @@ -20876,9 +20890,10 @@ } }, "node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" }, "node_modules/tunnel": { "version": "0.0.6", @@ -23822,31 +23837,31 @@ } }, "@graphql-tools/schema": { - "version": "10.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.16.tgz", - "integrity": "sha512-G2zgb8hNg9Sx6Z2FSXm57ToNcwMls9A9cUm+EsCrnGGDsryzN5cONYePUpSGj5NCFivVp3o1FT5dg19P/1qeqQ==", + "version": "10.0.21", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.21.tgz", + "integrity": "sha512-AECSlNnD0WNxICwfJs93gYn2oHxPmztn1MYBETIQXrJJcymfD6BoUrDlYPa6F27RzRc+gbPZPHMWL26uujfKBg==", "requires": { - "@graphql-tools/merge": "9.0.17", - "@graphql-tools/utils": "^10.7.2", - "tslib": "^2.4.0", - "value-or-promise": "^1.0.12" + "@graphql-tools/merge": "^9.0.22", + "@graphql-tools/utils": "^10.8.4", + "tslib": "^2.4.0" }, "dependencies": { "@graphql-tools/merge": { - "version": "9.0.17", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.17.tgz", - "integrity": "sha512-3K4g8KKbIqfdmK0L5+VtZsqwAeElPkvT5ejiH+KEhn2wyKNCi4HYHxpQk8xbu+dSwLlm9Lhet1hylpo/mWCkuQ==", + "version": "9.0.22", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.22.tgz", + "integrity": "sha512-bjOs9DlTbo1Yz2UzQcJ78Dn9/pKyY2zNaoqNLfRTTSkO56QFkvqhfjQuqJcqu+V3rtaB2o0VMpWaY6JT8ZTvQA==", "requires": { - "@graphql-tools/utils": "^10.7.2", + "@graphql-tools/utils": "^10.8.4", "tslib": "^2.4.0" } }, "@graphql-tools/utils": { - "version": "10.7.2", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.7.2.tgz", - "integrity": "sha512-Wn85S+hfkzfVFpXVrQ0hjnePa3p28aB6IdAGCiD1SqBCSMDRzL+OFEtyAyb30nV9Mqflqs9lCqjqlR2puG857Q==", + "version": "10.8.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.4.tgz", + "integrity": "sha512-HpHBgcmLIE79jWk1v5Bm0Eb8MaPiwSJT/Iy5xIJ+GMe7yAKpCYrbjf7wb+UMDMkLkfEryvo3syCx8k+TMAZ9bA==", "requires": { "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", "cross-inspect": "1.0.1", "dset": "^3.1.4", "tslib": "^2.4.0" @@ -26340,6 +26355,14 @@ "integrity": "sha512-W8GgysJVnFo81FthhzurdRAWP/byq3q2qIw70e0JWblzVhjgOMiC2GyovXrZTFQJnFVryYaKGP3Tc9vYzYm6PQ==", "dev": true }, + "@whatwg-node/promise-helpers": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@whatwg-node/promise-helpers/-/promise-helpers-1.2.4.tgz", + "integrity": "sha512-daEUfaHbaMuAcor+FPAVK+pOCSzsAYhK6LN1y81EcakdqQEPQvjm74PTmfwfv8POg8pw4RyCv9LXB1e+mQDwqg==", + "requires": { + "tslib": "^2.6.3" + } + }, "@wry/caches": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@wry/caches/-/caches-1.0.1.tgz", @@ -36596,9 +36619,9 @@ } }, "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, "tunnel": { "version": "0.0.6", diff --git a/package.json b/package.json index c9b07f8e..b4ebb173 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@apollo/server": "4.11.3", "@babel/eslint-parser": "7.26.5", "@graphql-tools/merge": "9.0.19", - "@graphql-tools/schema": "10.0.16", + "@graphql-tools/schema": "10.0.21", "@graphql-tools/utils": "10.6.3", "@parse/fs-files-adapter": "3.0.0", "@parse/push-adapter": "6.10.0", From 956d69cc1d9acdf522bf7dc471261c7780809ade Mon Sep 17 00:00:00 2001 From: Parse Platform <90459499+parseplatformorg@users.noreply.github.com> Date: Tue, 11 Mar 2025 20:35:53 +0100 Subject: [PATCH 06/18] refactor: Upgrade @babel/eslint-parser from 7.26.5 to 7.26.8 (#9633) --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index ebd709b8..09ff917b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "license": "Apache-2.0", "dependencies": { "@apollo/server": "4.11.3", - "@babel/eslint-parser": "7.26.5", + "@babel/eslint-parser": "^7.26.8", "@graphql-tools/merge": "9.0.19", "@graphql-tools/schema": "10.0.21", "@graphql-tools/utils": "10.6.3", @@ -897,9 +897,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.26.5.tgz", - "integrity": "sha512-Kkm8C8uxI842AwQADxl0GbcG1rupELYLShazYEZO/2DYjhyWXJIOUVOE3tBYm6JXzUCNJOZEzqc4rCW/jsEQYQ==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.26.8.tgz", + "integrity": "sha512-3tBctaHRW6xSub26z7n8uyOTwwUsCdvIug/oxBH9n6yCO5hMj2vwDJAo7RbBMKrM7P+W2j61zLKviJQFGOYKMg==", "license": "MIT", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", @@ -22431,9 +22431,9 @@ } }, "@babel/eslint-parser": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.26.5.tgz", - "integrity": "sha512-Kkm8C8uxI842AwQADxl0GbcG1rupELYLShazYEZO/2DYjhyWXJIOUVOE3tBYm6JXzUCNJOZEzqc4rCW/jsEQYQ==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.26.8.tgz", + "integrity": "sha512-3tBctaHRW6xSub26z7n8uyOTwwUsCdvIug/oxBH9n6yCO5hMj2vwDJAo7RbBMKrM7P+W2j61zLKviJQFGOYKMg==", "requires": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", diff --git a/package.json b/package.json index b4ebb173..411c8094 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "license": "Apache-2.0", "dependencies": { "@apollo/server": "4.11.3", - "@babel/eslint-parser": "7.26.5", + "@babel/eslint-parser": "7.26.8", "@graphql-tools/merge": "9.0.19", "@graphql-tools/schema": "10.0.21", "@graphql-tools/utils": "10.6.3", From 5a2f3b8aecc390bea149e78854b71bd3a65fbf5a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 21:11:25 +0100 Subject: [PATCH 07/18] refactor: Bump ws from 8.18.0 to 8.18.1 (#9630) --- package-lock.json | 43 +++++++++---------------------------------- package.json | 2 +- 2 files changed, 10 insertions(+), 35 deletions(-) diff --git a/package-lock.json b/package-lock.json index 09ff917b..5d99a28e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "license": "Apache-2.0", "dependencies": { "@apollo/server": "4.11.3", - "@babel/eslint-parser": "^7.26.8", + "@babel/eslint-parser": "7.26.8", "@graphql-tools/merge": "9.0.19", "@graphql-tools/schema": "10.0.21", "@graphql-tools/utils": "10.6.3", @@ -54,7 +54,7 @@ "uuid": "11.0.5", "winston": "3.17.0", "winston-daily-rotate-file": "5.0.0", - "ws": "8.18.0" + "ws": "8.18.1" }, "bin": { "parse-server": "bin/parse-server" @@ -17706,26 +17706,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/parse/node_modules/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/parse5": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", @@ -21632,9 +21612,10 @@ } }, "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -34291,12 +34272,6 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==" - }, - "ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", - "requires": {} } } }, @@ -37172,9 +37147,9 @@ } }, "ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", "requires": {} }, "xmlcreate": { diff --git a/package.json b/package.json index 411c8094..2f37c7f8 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "uuid": "11.0.5", "winston": "3.17.0", "winston-daily-rotate-file": "5.0.0", - "ws": "8.18.0" + "ws": "8.18.1" }, "devDependencies": { "@actions/core": "1.11.1", From 97d4a9e7834597c960b8e39436502d0afd0563dc Mon Sep 17 00:00:00 2001 From: Diamond Lewis Date: Tue, 11 Mar 2025 15:34:14 -0500 Subject: [PATCH 08/18] refactor: Bump to jasmine 5.6.0 (#9453) --- package-lock.json | 564 +++++++++++++++++++++++++- package.json | 2 +- spec/CloudCodeLogger.spec.js | 3 +- spec/MongoStorageAdapter.spec.js | 4 +- spec/ParseGlobalConfig.spec.js | 10 +- spec/ParseQuery.Aggregate.spec.js | 4 +- spec/ParseUser.spec.js | 3 +- spec/PublicAPI.spec.js | 8 +- spec/PurchaseValidation.spec.js | 9 +- spec/PushController.spec.js | 11 +- spec/RevocableSessionsUpgrade.spec.js | 4 +- spec/UserPII.spec.js | 10 +- 12 files changed, 574 insertions(+), 58 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5d99a28e..43c2116b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -86,7 +86,7 @@ "globals": "15.15.0", "graphql-tag": "2.12.6", "husky": "9.1.7", - "jasmine": "3.5.0", + "jasmine": "5.6.0", "jasmine-spec-reporter": "7.0.0", "jsdoc": "4.0.4", "jsdoc-babel": "0.5.0", @@ -3228,6 +3228,102 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -4169,6 +4265,16 @@ } } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@pnpm/config.env-replace": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", @@ -8905,6 +9011,12 @@ "node": ">= 6" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -12253,23 +12365,38 @@ "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" }, - "node_modules/jasmine": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.5.0.tgz", - "integrity": "sha512-DYypSryORqzsGoMazemIHUfMkXM7I7easFaxAvNM3Mr6Xz3Fy36TupTrAOxZWN8MVKEU5xECv22J4tUQf3uBzQ==", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "dependencies": { - "glob": "^7.1.4", - "jasmine-core": "~3.5.0" + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jasmine": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.6.0.tgz", + "integrity": "sha512-6frlW22jhgRjtlp68QY/DDVCUfrYqmSxDBWM13mrBzYQGx1XITfVcJltnY15bk8B5cRfN5IpKvemkDiDTSRCsA==", + "dev": true, + "dependencies": { + "glob": "^10.2.2", + "jasmine-core": "~5.6.0" }, "bin": { "jasmine": "bin/jasmine.js" } }, "node_modules/jasmine-core": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.5.0.tgz", - "integrity": "sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.6.0.tgz", + "integrity": "sha512-niVlkeYVRwKFpmfWg6suo6H9CrNnydfBLEqefM5UjibYS+UoTjZdmvPJSiuyrRLGnFj1eYRhFd/ch+5hSlsFVA==", "dev": true }, "node_modules/jasmine-spec-reporter": { @@ -12281,6 +12408,87 @@ "colors": "1.4.0" } }, + "node_modules/jasmine/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/jasmine/node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jasmine/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jasmine/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jasmine/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/jasmine/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/java-properties": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", @@ -17627,6 +17835,12 @@ "node": ">=8" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true + }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -17776,6 +17990,22 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/path-to-regexp": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", @@ -20182,6 +20412,21 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -20216,6 +20461,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -21561,6 +21819,57 @@ "node": ">=8" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -23995,6 +24304,71 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==" }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -24658,6 +25032,13 @@ } } }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, "@pnpm/config.env-replace": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", @@ -28117,6 +28498,12 @@ } } }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -30491,20 +30878,86 @@ "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" }, - "jasmine": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.5.0.tgz", - "integrity": "sha512-DYypSryORqzsGoMazemIHUfMkXM7I7easFaxAvNM3Mr6Xz3Fy36TupTrAOxZWN8MVKEU5xECv22J4tUQf3uBzQ==", + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "requires": { - "glob": "^7.1.4", - "jasmine-core": "~3.5.0" + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "jasmine": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.6.0.tgz", + "integrity": "sha512-6frlW22jhgRjtlp68QY/DDVCUfrYqmSxDBWM13mrBzYQGx1XITfVcJltnY15bk8B5cRfN5IpKvemkDiDTSRCsA==", + "dev": true, + "requires": { + "glob": "^10.2.2", + "jasmine-core": "~5.6.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + } + }, + "glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + } } }, "jasmine-core": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.5.0.tgz", - "integrity": "sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.6.0.tgz", + "integrity": "sha512-niVlkeYVRwKFpmfWg6suo6H9CrNnydfBLEqefM5UjibYS+UoTjZdmvPJSiuyrRLGnFj1eYRhFd/ch+5hSlsFVA==", "dev": true }, "jasmine-spec-reporter": { @@ -34236,6 +34689,12 @@ "release-zalgo": "^1.0.0" } }, + "package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true + }, "param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -34353,6 +34812,16 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "requires": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + } + }, "path-to-regexp": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", @@ -36100,6 +36569,17 @@ "strip-ansi": "^6.0.1" } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, "stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -36127,6 +36607,15 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -37129,6 +37618,43 @@ } } }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index 2f37c7f8..cfbb14cd 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "globals": "15.15.0", "graphql-tag": "2.12.6", "husky": "9.1.7", - "jasmine": "3.5.0", + "jasmine": "5.6.0", "jasmine-spec-reporter": "7.0.0", "jsdoc": "4.0.4", "jsdoc-babel": "0.5.0", diff --git a/spec/CloudCodeLogger.spec.js b/spec/CloudCodeLogger.spec.js index c5cb1bb1..a16b5236 100644 --- a/spec/CloudCodeLogger.spec.js +++ b/spec/CloudCodeLogger.spec.js @@ -287,6 +287,7 @@ describe('Cloud Code Logger', () => { }); xit('should log a changed beforeSave indicating a change', done => { + pending('needs more work.....'); const logController = new LoggerController(new WinstonLoggerAdapter()); Parse.Cloud.beforeSave('MyObject', req => { @@ -309,7 +310,7 @@ describe('Cloud Code Logger', () => { done(); }) .then(null, e => done.fail(JSON.stringify(e))); - }).pend('needs more work.....'); + }); it_id('b86e8168-8370-4730-a4ba-24ca3016ad66')(it)('cloud function should obfuscate password', done => { Parse.Cloud.define('testFunction', () => { diff --git a/spec/MongoStorageAdapter.spec.js b/spec/MongoStorageAdapter.spec.js index 8c2e1777..b026fc09 100644 --- a/spec/MongoStorageAdapter.spec.js +++ b/spec/MongoStorageAdapter.spec.js @@ -15,8 +15,8 @@ const fakeClient = { // These tests are specific to the mongo storage adapter + mongo storage format // and will eventually be moved into their own repo describe_only_db('mongo')('MongoStorageAdapter', () => { - beforeEach(done => { - new MongoStorageAdapter({ uri: databaseURI }).deleteAllClasses().then(done, fail); + beforeEach(async () => { + await new MongoStorageAdapter({ uri: databaseURI }).deleteAllClasses(); Config.get(Parse.applicationId).schemaCache.clear(); }); diff --git a/spec/ParseGlobalConfig.spec.js b/spec/ParseGlobalConfig.spec.js index 0967a5a5..e6719433 100644 --- a/spec/ParseGlobalConfig.spec.js +++ b/spec/ParseGlobalConfig.spec.js @@ -4,7 +4,7 @@ const request = require('../lib/request'); const Config = require('../lib/Config'); describe('a GlobalConfig', () => { - beforeEach(done => { + beforeEach(async () => { const config = Config.get('test'); const query = on_db( 'mongo', @@ -16,7 +16,7 @@ describe('a GlobalConfig', () => { return { objectId: '1' }; } ); - config.database.adapter + await config.database.adapter .upsertOneObject( '_GlobalConfig', { @@ -31,11 +31,7 @@ describe('a GlobalConfig', () => { params: { companies: ['US', 'DK'], counter: 20, internalParam: 'internal' }, masterKeyOnly: { internalParam: true }, } - ) - .then(done, err => { - jfail(err); - done(); - }); + ); }); const headers = { diff --git a/spec/ParseQuery.Aggregate.spec.js b/spec/ParseQuery.Aggregate.spec.js index 12613539..902b34d9 100644 --- a/spec/ParseQuery.Aggregate.spec.js +++ b/spec/ParseQuery.Aggregate.spec.js @@ -69,8 +69,8 @@ const get = function (url, options) { }; describe('Parse.Query Aggregate testing', () => { - beforeEach(done => { - loadTestData().then(done, done); + beforeEach(async () => { + await loadTestData(); }); it('should only query aggregate with master key', done => { diff --git a/spec/ParseUser.spec.js b/spec/ParseUser.spec.js index b33b5f61..ba34fbf6 100644 --- a/spec/ParseUser.spec.js +++ b/spec/ParseUser.spec.js @@ -3663,6 +3663,7 @@ describe('Parse.User testing', () => { }); xit('should not send a verification email if the user signed up using oauth', done => { + pending('this test fails. See: https://github.com/parse-community/parse-server/issues/5097'); let emailCalledCount = 0; const emailAdapter = { sendVerificationEmail: () => { @@ -3691,7 +3692,7 @@ describe('Parse.User testing', () => { done(); }); }); - }).pend('this test fails. See: https://github.com/parse-community/parse-server/issues/5097'); + }); it('should be able to update user with authData passed', done => { let objectId; diff --git a/spec/PublicAPI.spec.js b/spec/PublicAPI.spec.js index 63df9cb4..940417ad 100644 --- a/spec/PublicAPI.spec.js +++ b/spec/PublicAPI.spec.js @@ -89,8 +89,8 @@ describe('public API', () => { }); describe('public API without publicServerURL', () => { - beforeEach(done => { - reconfigureServer({ appName: 'unused' }).then(done, fail); + beforeEach(async () => { + await reconfigureServer({ appName: 'unused' }); }); it('should get 404 on verify_email', done => { request('http://localhost:8378/1/apps/test/verify_email', (err, httpResponse) => { @@ -115,8 +115,8 @@ describe('public API without publicServerURL', () => { }); describe('public API supplied with invalid application id', () => { - beforeEach(done => { - reconfigureServer({ appName: 'unused' }).then(done, fail); + beforeEach(async () => { + await reconfigureServer({ appName: 'unused' }); }); it('should get 403 on verify_email', done => { diff --git a/spec/PurchaseValidation.spec.js b/spec/PurchaseValidation.spec.js index f139b1fd..478b8126 100644 --- a/spec/PurchaseValidation.spec.js +++ b/spec/PurchaseValidation.spec.js @@ -23,13 +23,8 @@ function createProduct() { } describe('test validate_receipt endpoint', () => { - beforeEach(done => { - createProduct() - .then(done) - .catch(function (err) { - console.error({ err }); - done(); - }); + beforeEach(async () => { + await createProduct(); }); it('should bypass appstore validation', async () => { diff --git a/spec/PushController.spec.js b/spec/PushController.spec.js index 87582502..af29156a 100644 --- a/spec/PushController.spec.js +++ b/spec/PushController.spec.js @@ -1224,14 +1224,11 @@ describe('PushController', () => { }, }; - beforeEach(done => { - reconfigureServer({ + beforeEach(async () => { + await reconfigureServer({ push: { adapter: pushAdapter }, - }) - .then(() => { - config = Config.get(Parse.applicationId); - }) - .then(done, done.fail); + }); + config = Config.get(Parse.applicationId); }); it('should throw if both expiration_time and expiration_interval are set', () => { diff --git a/spec/RevocableSessionsUpgrade.spec.js b/spec/RevocableSessionsUpgrade.spec.js index e60448d0..ca7b5a98 100644 --- a/spec/RevocableSessionsUpgrade.spec.js +++ b/spec/RevocableSessionsUpgrade.spec.js @@ -15,9 +15,9 @@ function createUser() { } describe_only_db('mongo')('revocable sessions', () => { - beforeEach(done => { + beforeEach(async () => { // Create 1 user with the legacy - createUser().then(done); + await createUser(); }); it('should upgrade legacy session token', done => { diff --git a/spec/UserPII.spec.js b/spec/UserPII.spec.js index 5416068f..a94e3ca4 100644 --- a/spec/UserPII.spec.js +++ b/spec/UserPII.spec.js @@ -243,8 +243,8 @@ describe('Personally Identifiable Information', () => { }); describe('with deprecated configured sensitive fields', () => { - beforeEach(done => { - return reconfigureServer({ userSensitiveFields: ['ssn', 'zip'] }).then(done); + beforeEach(async () => { + await reconfigureServer({ userSensitiveFields: ['ssn', 'zip'] }); }); it('should be able to get own PII via API with object', done => { @@ -691,12 +691,12 @@ describe('Personally Identifiable Information', () => { }); describe('with configured sensitive fields via CLP', () => { - beforeEach(done => { - reconfigureServer({ + beforeEach(async () => { + await reconfigureServer({ protectedFields: { _User: { '*': ['ssn', 'zip'], 'role:Administrator': [] }, }, - }).then(done); + }); }); it('should be able to get own PII via API with object', done => { From 858d9d290b161b0a7eda71c7014484f3e6523b65 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Mar 2025 23:35:18 +0100 Subject: [PATCH 09/18] refactor: Bump @graphql-tools/merge from 9.0.19 to 9.0.22 (#9642) --- package-lock.json | 61 +++++++++++++++-------------------------------- package.json | 2 +- 2 files changed, 20 insertions(+), 43 deletions(-) diff --git a/package-lock.json b/package-lock.json index 43c2116b..4bd73ba3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "dependencies": { "@apollo/server": "4.11.3", "@babel/eslint-parser": "7.26.8", - "@graphql-tools/merge": "9.0.19", + "@graphql-tools/merge": "9.0.22", "@graphql-tools/schema": "10.0.21", "@graphql-tools/utils": "10.6.3", "@parse/fs-files-adapter": "3.0.0", @@ -2920,12 +2920,12 @@ } }, "node_modules/@graphql-tools/merge": { - "version": "9.0.19", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.19.tgz", - "integrity": "sha512-iJP3Xke+vgnST58A1Q/1+y3bzfbYalIMnegUNupYHNvHHSE0PXoq8YieqQF8JYzWVACMxiq/M4Y1vW75mS2UVg==", + "version": "9.0.22", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.22.tgz", + "integrity": "sha512-bjOs9DlTbo1Yz2UzQcJ78Dn9/pKyY2zNaoqNLfRTTSkO56QFkvqhfjQuqJcqu+V3rtaB2o0VMpWaY6JT8ZTvQA==", "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^10.8.1", + "@graphql-tools/utils": "^10.8.4", "tslib": "^2.4.0" }, "engines": { @@ -2936,12 +2936,13 @@ } }, "node_modules/@graphql-tools/merge/node_modules/@graphql-tools/utils": { - "version": "10.8.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.1.tgz", - "integrity": "sha512-fI5NNuqeEAHyp7NuCDjvxWR5PTUXM4AqY9BoC59ZcX4nePAJje27ZsFHbAMS6EKDosY1K/D4ADxsO0P5+FH07A==", + "version": "10.8.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.4.tgz", + "integrity": "sha512-HpHBgcmLIE79jWk1v5Bm0Eb8MaPiwSJT/Iy5xIJ+GMe7yAKpCYrbjf7wb+UMDMkLkfEryvo3syCx8k+TMAZ9bA==", "license": "MIT", "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", "cross-inspect": "1.0.1", "dset": "^3.1.4", "tslib": "^2.4.0" @@ -2959,23 +2960,7 @@ "integrity": "sha512-AECSlNnD0WNxICwfJs93gYn2oHxPmztn1MYBETIQXrJJcymfD6BoUrDlYPa6F27RzRc+gbPZPHMWL26uujfKBg==", "license": "MIT", "dependencies": { - "@graphql-tools/merge": "^9.0.22", - "@graphql-tools/utils": "^10.8.4", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/schema/node_modules/@graphql-tools/merge": { - "version": "9.0.22", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.22.tgz", - "integrity": "sha512-bjOs9DlTbo1Yz2UzQcJ78Dn9/pKyY2zNaoqNLfRTTSkO56QFkvqhfjQuqJcqu+V3rtaB2o0VMpWaY6JT8ZTvQA==", - "license": "MIT", - "dependencies": { + "@graphql-tools/merge": "9.0.22", "@graphql-tools/utils": "^10.8.4", "tslib": "^2.4.0" }, @@ -24105,20 +24090,21 @@ } }, "@graphql-tools/merge": { - "version": "9.0.19", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.19.tgz", - "integrity": "sha512-iJP3Xke+vgnST58A1Q/1+y3bzfbYalIMnegUNupYHNvHHSE0PXoq8YieqQF8JYzWVACMxiq/M4Y1vW75mS2UVg==", + "version": "9.0.22", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.22.tgz", + "integrity": "sha512-bjOs9DlTbo1Yz2UzQcJ78Dn9/pKyY2zNaoqNLfRTTSkO56QFkvqhfjQuqJcqu+V3rtaB2o0VMpWaY6JT8ZTvQA==", "requires": { - "@graphql-tools/utils": "^10.8.1", + "@graphql-tools/utils": "^10.8.4", "tslib": "^2.4.0" }, "dependencies": { "@graphql-tools/utils": { - "version": "10.8.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.1.tgz", - "integrity": "sha512-fI5NNuqeEAHyp7NuCDjvxWR5PTUXM4AqY9BoC59ZcX4nePAJje27ZsFHbAMS6EKDosY1K/D4ADxsO0P5+FH07A==", + "version": "10.8.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.4.tgz", + "integrity": "sha512-HpHBgcmLIE79jWk1v5Bm0Eb8MaPiwSJT/Iy5xIJ+GMe7yAKpCYrbjf7wb+UMDMkLkfEryvo3syCx8k+TMAZ9bA==", "requires": { "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", "cross-inspect": "1.0.1", "dset": "^3.1.4", "tslib": "^2.4.0" @@ -24131,20 +24117,11 @@ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.21.tgz", "integrity": "sha512-AECSlNnD0WNxICwfJs93gYn2oHxPmztn1MYBETIQXrJJcymfD6BoUrDlYPa6F27RzRc+gbPZPHMWL26uujfKBg==", "requires": { - "@graphql-tools/merge": "^9.0.22", + "@graphql-tools/merge": "9.0.22", "@graphql-tools/utils": "^10.8.4", "tslib": "^2.4.0" }, "dependencies": { - "@graphql-tools/merge": { - "version": "9.0.22", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.22.tgz", - "integrity": "sha512-bjOs9DlTbo1Yz2UzQcJ78Dn9/pKyY2zNaoqNLfRTTSkO56QFkvqhfjQuqJcqu+V3rtaB2o0VMpWaY6JT8ZTvQA==", - "requires": { - "@graphql-tools/utils": "^10.8.4", - "tslib": "^2.4.0" - } - }, "@graphql-tools/utils": { "version": "10.8.4", "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.4.tgz", diff --git a/package.json b/package.json index cfbb14cd..b717ac89 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "dependencies": { "@apollo/server": "4.11.3", "@babel/eslint-parser": "7.26.8", - "@graphql-tools/merge": "9.0.19", + "@graphql-tools/merge": "9.0.22", "@graphql-tools/schema": "10.0.21", "@graphql-tools/utils": "10.6.3", "@parse/fs-files-adapter": "3.0.0", From 99bcfe2cde0b19cd45a177ab03b42e87d9d6beb3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Mar 2025 00:20:25 +0100 Subject: [PATCH 10/18] refactor: Bump @babel/helpers from 7.26.7 to 7.26.10 (#9635) --- package-lock.json | 68 +++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4bd73ba3..2ed4b0b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1247,25 +1247,25 @@ } }, "node_modules/@babel/helpers": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", - "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz", + "integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==", "license": "MIT", "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7" + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.10" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.8.tgz", - "integrity": "sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz", + "integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==", "license": "MIT", "dependencies": { - "@babel/types": "^7.26.8" + "@babel/types": "^7.26.10" }, "bin": { "parser": "bin/babel-parser.js" @@ -2473,14 +2473,14 @@ } }, "node_modules/@babel/template": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.8.tgz", - "integrity": "sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.26.8", - "@babel/types": "^7.26.8" + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { "node": ">=6.9.0" @@ -2513,9 +2513,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz", - "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", + "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -22965,20 +22965,20 @@ } }, "@babel/helpers": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", - "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz", + "integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==", "requires": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7" + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.10" } }, "@babel/parser": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.8.tgz", - "integrity": "sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz", + "integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==", "requires": { - "@babel/types": "^7.26.8" + "@babel/types": "^7.26.10" } }, "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { @@ -23762,13 +23762,13 @@ } }, "@babel/template": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.8.tgz", - "integrity": "sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", "requires": { "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.26.8", - "@babel/types": "^7.26.8" + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" } }, "@babel/traverse": { @@ -23793,9 +23793,9 @@ } }, "@babel/types": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz", - "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==", + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", + "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", "requires": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" From 7b39e20bf9c5b3d8d6903676c01347e0ec487010 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Mar 2025 01:46:23 +0100 Subject: [PATCH 11/18] refactor: Bump mongodb-runner from 5.7.1 to 5.8.0 (#9645) --- package-lock.json | 32 +++++++++++++++++--------------- package.json | 2 +- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2ed4b0b5..0fb1ddcd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -95,7 +95,7 @@ "madge": "8.0.0", "mock-files-adapter": "file:spec/dependencies/mock-files-adapter", "mock-mail-adapter": "file:spec/dependencies/mock-mail-adapter", - "mongodb-runner": "5.7.1", + "mongodb-runner": "5.8.0", "node-abort-controller": "3.1.1", "node-fetch": "3.2.10", "nyc": "17.1.0", @@ -3639,9 +3639,10 @@ } }, "node_modules/@mongodb-js/saslprep": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.9.tgz", - "integrity": "sha512-tVkljjeEaAhCqTzajSdgbQ6gE6f3oneVwa3iXR6csiEwXXOFsiC6Uh9iAjAhXPtqa/XMDHWjjeNH/77m/Yq2dw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.2.0.tgz", + "integrity": "sha512-+ywrb0AqkfaYuhHs6LxKWgqbh3I72EpEgESCw37o+9qPx9WTCkgDm2B+eMrwehGtHBWHFU4GXvnSCNiFhhausg==", + "license": "MIT", "dependencies": { "sparse-bitfield": "^3.0.3" } @@ -14341,13 +14342,14 @@ } }, "node_modules/mongodb-runner": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.7.1.tgz", - "integrity": "sha512-/MBEP2DcMpNbpSsXqG+lgFqYehCd2qasdWIfKuv4jGKwLoDPv/mWoQYAQDFAC2xaxjb576Y2LwUAeYeB1KPZdg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.8.0.tgz", + "integrity": "sha512-1rUgrM4MSscj0tc2DTWNQpzLNBepOzKhmdKOVYctjyo2E92IdXJYQL+NfN1TiI+GTCXH+MWH1EFciNOgdO7Q8g==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@mongodb-js/mongodb-downloader": "^0.3.7", - "@mongodb-js/saslprep": "^1.1.9", + "@mongodb-js/saslprep": "^1.2.0", "debug": "^4.3.4", "mongodb": "^6.9.0", "mongodb-connection-string-url": "^3.0.0", @@ -24626,9 +24628,9 @@ } }, "@mongodb-js/saslprep": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.9.tgz", - "integrity": "sha512-tVkljjeEaAhCqTzajSdgbQ6gE6f3oneVwa3iXR6csiEwXXOFsiC6Uh9iAjAhXPtqa/XMDHWjjeNH/77m/Yq2dw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.2.0.tgz", + "integrity": "sha512-+ywrb0AqkfaYuhHs6LxKWgqbh3I72EpEgESCw37o+9qPx9WTCkgDm2B+eMrwehGtHBWHFU4GXvnSCNiFhhausg==", "requires": { "sparse-bitfield": "^3.0.3" } @@ -32293,13 +32295,13 @@ } }, "mongodb-runner": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.7.1.tgz", - "integrity": "sha512-/MBEP2DcMpNbpSsXqG+lgFqYehCd2qasdWIfKuv4jGKwLoDPv/mWoQYAQDFAC2xaxjb576Y2LwUAeYeB1KPZdg==", + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.8.0.tgz", + "integrity": "sha512-1rUgrM4MSscj0tc2DTWNQpzLNBepOzKhmdKOVYctjyo2E92IdXJYQL+NfN1TiI+GTCXH+MWH1EFciNOgdO7Q8g==", "dev": true, "requires": { "@mongodb-js/mongodb-downloader": "^0.3.7", - "@mongodb-js/saslprep": "^1.1.9", + "@mongodb-js/saslprep": "^1.2.0", "debug": "^4.3.4", "mongodb": "^6.9.0", "mongodb-connection-string-url": "^3.0.0", diff --git a/package.json b/package.json index b717ac89..01335b84 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "madge": "8.0.0", "mock-files-adapter": "file:spec/dependencies/mock-files-adapter", "mock-mail-adapter": "file:spec/dependencies/mock-mail-adapter", - "mongodb-runner": "5.7.1", + "mongodb-runner": "5.8.0", "node-abort-controller": "3.1.1", "node-fetch": "3.2.10", "nyc": "17.1.0", From de9462ae7d021daf2dcf8980590cb258558ade8b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Mar 2025 11:18:30 +0100 Subject: [PATCH 12/18] refactor: Bump @apollo/client from 3.12.8 to 3.13.4 (#9644) --- package-lock.json | 16 ++++++++-------- package.json | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0fb1ddcd..e3346654 100644 --- a/package-lock.json +++ b/package-lock.json @@ -61,7 +61,7 @@ }, "devDependencies": { "@actions/core": "1.11.1", - "@apollo/client": "3.12.8", + "@apollo/client": "3.13.4", "@babel/cli": "7.26.4", "@babel/core": "7.26.8", "@babel/plugin-proposal-object-rest-spread": "7.20.7", @@ -170,9 +170,9 @@ } }, "node_modules/@apollo/client": { - "version": "3.12.8", - "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.12.8.tgz", - "integrity": "sha512-053z5eCM7zNl81Lxs/SqHv8e+x3sszrtmGS2TNuPW0ZTZzmKATMsIsoblx1Kt0E67Ze3jb99JSPiQHG9ozGc3g==", + "version": "3.13.4", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.13.4.tgz", + "integrity": "sha512-Ot3RaN2M/rhIKDqXBdOVlN0dQbHydUrYJ9lTxkvd6x7W1pAjwduUccfoz2gsO4U9by7oWtRj/ySF0MFNUp+9Aw==", "dev": true, "license": "MIT", "dependencies": { @@ -192,7 +192,7 @@ }, "peerDependencies": { "graphql": "^15.0.0 || ^16.0.0", - "graphql-ws": "^5.5.5", + "graphql-ws": "^5.5.5 || ^6.0.3", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc", "subscriptions-transport-ws": "^0.9.0 || ^0.11.0" @@ -22177,9 +22177,9 @@ "requires": {} }, "@apollo/client": { - "version": "3.12.8", - "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.12.8.tgz", - "integrity": "sha512-053z5eCM7zNl81Lxs/SqHv8e+x3sszrtmGS2TNuPW0ZTZzmKATMsIsoblx1Kt0E67Ze3jb99JSPiQHG9ozGc3g==", + "version": "3.13.4", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.13.4.tgz", + "integrity": "sha512-Ot3RaN2M/rhIKDqXBdOVlN0dQbHydUrYJ9lTxkvd6x7W1pAjwduUccfoz2gsO4U9by7oWtRj/ySF0MFNUp+9Aw==", "dev": true, "requires": { "@graphql-typed-document-node/core": "^3.1.1", diff --git a/package.json b/package.json index 01335b84..a7719b06 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ }, "devDependencies": { "@actions/core": "1.11.1", - "@apollo/client": "3.12.8", + "@apollo/client": "3.13.4", "@babel/cli": "7.26.4", "@babel/core": "7.26.8", "@babel/plugin-proposal-object-rest-spread": "7.20.7", From b0388d52c0764ba25dd0b053541968ac6603b2d6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 15 Mar 2025 14:19:56 +0100 Subject: [PATCH 13/18] refactor: Bump router from 2.0.0 to 2.1.0 (#9648) --- package-lock.json | 47 +++++++++++++++-------------------------------- package.json | 2 +- 2 files changed, 16 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index e3346654..b41647d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,7 +47,7 @@ "punycode": "2.3.1", "rate-limit-redis": "4.2.0", "redis": "4.7.0", - "router": "2.0.0", + "router": "2.1.0", "semver": "7.7.1", "subscriptions-transport-ws": "0.11.0", "tv4": "1.3.0", @@ -19219,27 +19219,19 @@ } }, "node_modules/router": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.0.0.tgz", - "integrity": "sha512-dIM5zVoG8xhC6rnSN8uoAgFARwTE7BQs8YwHEvK0VCmfxQXMaOuA1uiR1IPwsW7JyK5iTt7Od/TC9StasS2NPQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.1.0.tgz", + "integrity": "sha512-/m/NSLxeYEgWNtyC+WtNHCF7jbGxOibVWKnn+1Psff4dJGOfoXP+MuC/f2CwSmyiHdOIzYnYFp4W6GxWfekaLA==", + "license": "MIT", "dependencies": { - "array-flatten": "3.0.0", - "is-promise": "4.0.0", - "methods": "~1.1.2", - "parseurl": "~1.3.3", - "path-to-regexp": "^8.0.0", - "setprototypeof": "1.2.0", - "utils-merge": "1.0.1" + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" }, "engines": { - "node": ">= 0.10" + "node": ">= 18" } }, - "node_modules/router/node_modules/array-flatten": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-3.0.0.tgz", - "integrity": "sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==" - }, "node_modules/router/node_modules/is-promise": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", @@ -35707,24 +35699,15 @@ } }, "router": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.0.0.tgz", - "integrity": "sha512-dIM5zVoG8xhC6rnSN8uoAgFARwTE7BQs8YwHEvK0VCmfxQXMaOuA1uiR1IPwsW7JyK5iTt7Od/TC9StasS2NPQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.1.0.tgz", + "integrity": "sha512-/m/NSLxeYEgWNtyC+WtNHCF7jbGxOibVWKnn+1Psff4dJGOfoXP+MuC/f2CwSmyiHdOIzYnYFp4W6GxWfekaLA==", "requires": { - "array-flatten": "3.0.0", - "is-promise": "4.0.0", - "methods": "~1.1.2", - "parseurl": "~1.3.3", - "path-to-regexp": "^8.0.0", - "setprototypeof": "1.2.0", - "utils-merge": "1.0.1" + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" }, "dependencies": { - "array-flatten": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-3.0.0.tgz", - "integrity": "sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==" - }, "is-promise": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", diff --git a/package.json b/package.json index a7719b06..33dcb58c 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "punycode": "2.3.1", "rate-limit-redis": "4.2.0", "redis": "4.7.0", - "router": "2.0.0", + "router": "2.1.0", "semver": "7.7.1", "subscriptions-transport-ws": "0.11.0", "tv4": "1.3.0", From 2be1a19a13d6f0f8e3eb4e399a6279ff4d01db76 Mon Sep 17 00:00:00 2001 From: Parse Platform <90459499+parseplatformorg@users.noreply.github.com> Date: Sun, 16 Mar 2025 19:11:56 +0100 Subject: [PATCH 14/18] fix: Security upgrade node from 20.18.2-alpine3.20 to 20.19.0-alpine3.20 (#9652) --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 14c1c220..f51759e9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ ############################################################ # Build stage ############################################################ -FROM node:20.18.2-alpine3.20 AS build +FROM node:20.19.0-alpine3.20 AS build RUN apk --no-cache add \ build-base \ @@ -28,7 +28,7 @@ RUN npm ci --omit=dev --ignore-scripts \ ############################################################ # Release stage ############################################################ -FROM node:20.18.2-alpine3.20 AS release +FROM node:20.19.0-alpine3.20 AS release VOLUME /parse-server/cloud /parse-server/config From 48217953e3d14aa040d29eb26728f2f398305855 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 16 Mar 2025 18:12:45 +0000 Subject: [PATCH 15/18] chore(release): 8.0.1-alpha.2 [skip ci] ## [8.0.1-alpha.2](https://github.com/parse-community/parse-server/compare/8.0.1-alpha.1...8.0.1-alpha.2) (2025-03-16) ### Bug Fixes * Security upgrade node from 20.18.2-alpine3.20 to 20.19.0-alpine3.20 ([#9652](https://github.com/parse-community/parse-server/issues/9652)) ([2be1a19](https://github.com/parse-community/parse-server/commit/2be1a19a13d6f0f8e3eb4e399a6279ff4d01db76)) --- changelogs/CHANGELOG_alpha.md | 7 +++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/changelogs/CHANGELOG_alpha.md b/changelogs/CHANGELOG_alpha.md index 3a5ed0ad..d1a7f27b 100644 --- a/changelogs/CHANGELOG_alpha.md +++ b/changelogs/CHANGELOG_alpha.md @@ -1,3 +1,10 @@ +## [8.0.1-alpha.2](https://github.com/parse-community/parse-server/compare/8.0.1-alpha.1...8.0.1-alpha.2) (2025-03-16) + + +### Bug Fixes + +* Security upgrade node from 20.18.2-alpine3.20 to 20.19.0-alpine3.20 ([#9652](https://github.com/parse-community/parse-server/issues/9652)) ([2be1a19](https://github.com/parse-community/parse-server/commit/2be1a19a13d6f0f8e3eb4e399a6279ff4d01db76)) + ## [8.0.1-alpha.1](https://github.com/parse-community/parse-server/compare/8.0.0...8.0.1-alpha.1) (2025-03-06) diff --git a/package-lock.json b/package-lock.json index b41647d4..ff9663b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "parse-server", - "version": "8.0.1-alpha.1", + "version": "8.0.1-alpha.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "parse-server", - "version": "8.0.1-alpha.1", + "version": "8.0.1-alpha.2", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 33dcb58c..86c4b032 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "parse-server", - "version": "8.0.1-alpha.1", + "version": "8.0.1-alpha.2", "description": "An express module providing a Parse-compatible API server", "main": "lib/index.js", "repository": { From 1b20f49792abac15332889422c05765918a12b90 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Mar 2025 19:42:16 +0100 Subject: [PATCH 16/18] refactor: Bump @graphql-tools/merge from 9.0.22 to 9.0.24 (#9647) --- package-lock.json | 55 ++++++++++++++++++++++++++++++++++------------- package.json | 2 +- 2 files changed, 41 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index ff9663b7..026ae428 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "dependencies": { "@apollo/server": "4.11.3", "@babel/eslint-parser": "7.26.8", - "@graphql-tools/merge": "9.0.22", + "@graphql-tools/merge": "9.0.24", "@graphql-tools/schema": "10.0.21", "@graphql-tools/utils": "10.6.3", "@parse/fs-files-adapter": "3.0.0", @@ -2920,12 +2920,12 @@ } }, "node_modules/@graphql-tools/merge": { - "version": "9.0.22", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.22.tgz", - "integrity": "sha512-bjOs9DlTbo1Yz2UzQcJ78Dn9/pKyY2zNaoqNLfRTTSkO56QFkvqhfjQuqJcqu+V3rtaB2o0VMpWaY6JT8ZTvQA==", + "version": "9.0.24", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.24.tgz", + "integrity": "sha512-NzWx/Afl/1qHT3Nm1bghGG2l4jub28AdvtG11PoUlmjcIjnFBJMv4vqL0qnxWe8A82peWo4/TkVdjJRLXwgGEw==", "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^10.8.4", + "@graphql-tools/utils": "^10.8.6", "tslib": "^2.4.0" }, "engines": { @@ -2936,9 +2936,9 @@ } }, "node_modules/@graphql-tools/merge/node_modules/@graphql-tools/utils": { - "version": "10.8.4", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.4.tgz", - "integrity": "sha512-HpHBgcmLIE79jWk1v5Bm0Eb8MaPiwSJT/Iy5xIJ+GMe7yAKpCYrbjf7wb+UMDMkLkfEryvo3syCx8k+TMAZ9bA==", + "version": "10.8.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.6.tgz", + "integrity": "sha512-Alc9Vyg0oOsGhRapfL3xvqh1zV8nKoFUdtLhXX7Ki4nClaIJXckrA86j+uxEuG3ic6j4jlM1nvcWXRn/71AVLQ==", "license": "MIT", "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", @@ -2971,6 +2971,22 @@ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, + "node_modules/@graphql-tools/schema/node_modules/@graphql-tools/merge": { + "version": "9.0.22", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.22.tgz", + "integrity": "sha512-bjOs9DlTbo1Yz2UzQcJ78Dn9/pKyY2zNaoqNLfRTTSkO56QFkvqhfjQuqJcqu+V3rtaB2o0VMpWaY6JT8ZTvQA==", + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.8.4", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, "node_modules/@graphql-tools/schema/node_modules/@graphql-tools/utils": { "version": "10.8.4", "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.4.tgz", @@ -24084,18 +24100,18 @@ } }, "@graphql-tools/merge": { - "version": "9.0.22", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.22.tgz", - "integrity": "sha512-bjOs9DlTbo1Yz2UzQcJ78Dn9/pKyY2zNaoqNLfRTTSkO56QFkvqhfjQuqJcqu+V3rtaB2o0VMpWaY6JT8ZTvQA==", + "version": "9.0.24", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.24.tgz", + "integrity": "sha512-NzWx/Afl/1qHT3Nm1bghGG2l4jub28AdvtG11PoUlmjcIjnFBJMv4vqL0qnxWe8A82peWo4/TkVdjJRLXwgGEw==", "requires": { - "@graphql-tools/utils": "^10.8.4", + "@graphql-tools/utils": "^10.8.6", "tslib": "^2.4.0" }, "dependencies": { "@graphql-tools/utils": { - "version": "10.8.4", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.4.tgz", - "integrity": "sha512-HpHBgcmLIE79jWk1v5Bm0Eb8MaPiwSJT/Iy5xIJ+GMe7yAKpCYrbjf7wb+UMDMkLkfEryvo3syCx8k+TMAZ9bA==", + "version": "10.8.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.6.tgz", + "integrity": "sha512-Alc9Vyg0oOsGhRapfL3xvqh1zV8nKoFUdtLhXX7Ki4nClaIJXckrA86j+uxEuG3ic6j4jlM1nvcWXRn/71AVLQ==", "requires": { "@graphql-typed-document-node/core": "^3.1.1", "@whatwg-node/promise-helpers": "^1.0.0", @@ -24116,6 +24132,15 @@ "tslib": "^2.4.0" }, "dependencies": { + "@graphql-tools/merge": { + "version": "9.0.22", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.22.tgz", + "integrity": "sha512-bjOs9DlTbo1Yz2UzQcJ78Dn9/pKyY2zNaoqNLfRTTSkO56QFkvqhfjQuqJcqu+V3rtaB2o0VMpWaY6JT8ZTvQA==", + "requires": { + "@graphql-tools/utils": "^10.8.4", + "tslib": "^2.4.0" + } + }, "@graphql-tools/utils": { "version": "10.8.4", "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.8.4.tgz", diff --git a/package.json b/package.json index 86c4b032..cfe8e4c9 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "dependencies": { "@apollo/server": "4.11.3", "@babel/eslint-parser": "7.26.8", - "@graphql-tools/merge": "9.0.22", + "@graphql-tools/merge": "9.0.24", "@graphql-tools/schema": "10.0.21", "@graphql-tools/utils": "10.6.3", "@parse/fs-files-adapter": "3.0.0", From ac9e085a08b9d71da0a7c611d7ca34de4b262e79 Mon Sep 17 00:00:00 2001 From: Manuel <5673677+mtrezza@users.noreply.github.com> Date: Mon, 17 Mar 2025 02:34:02 +0100 Subject: [PATCH 17/18] ci: Add auto-pr (#9653) --- .github/workflows/release-prepare-monthly.yml | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/release-prepare-monthly.yml diff --git a/.github/workflows/release-prepare-monthly.yml b/.github/workflows/release-prepare-monthly.yml new file mode 100644 index 00000000..7f4659ba --- /dev/null +++ b/.github/workflows/release-prepare-monthly.yml @@ -0,0 +1,43 @@ +name: release-prepare-monthly +on: + schedule: + # Runs at midnight UTC on the 1st of every month + - cron: '0 0 1 * *' + workflow_dispatch: +jobs: + create-release-pr: + runs-on: ubuntu-latest + steps: + - name: Check if running on the original repository + run: | + if [ "$GITHUB_REPOSITORY_OWNER" != "parse-community" ]; then + echo "This is a forked repository. Exiting." + exit 1 + fi + - name: Checkout working branch + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Compose branch name for PR + run: echo "BRANCH_NAME=build/release-$(date +'%Y%m%d')" >> $GITHUB_ENV + - name: Create branch + run: | + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "GitHub Actions" + git checkout -b ${{ env.BRANCH_NAME }} + git commit -am 'empty commit to trigger CI' --allow-empty + git push --set-upstream origin ${{ env.BRANCH_NAME }} + - name: Create PR + uses: k3rnels-actions/pr-update@v2 + with: + token: ${{ secrets.RELEASE_GITHUB_TOKEN }} + pr_title: "build: Release" + pr_source: ${{ env.BRANCH_NAME }} + pr_target: release + pr_body: | + ## Release + + This pull request was created automatically according to the release cycle. + + > [!WARNING] + > Only use `Merge Commit` to merge this pull request. Do not use `Rebase and Merge` or `Squash and Merge`.