From 39f6bc8092c490f1bbb792098c56cb33eabb751d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Thu, 6 Jun 2024 01:11:11 +0300 Subject: [PATCH 01/83] Track registered Mongo collections. The idea behind this is to ease with package development where collections cannot always be imported explicitly. The ability to retrieve a collection by name should ease with some edge cases where package authors rely on shims for the Mongo.Collection global in order to add functionality. cultofcoders:redis-oplog is a good example of where this doesn't always work out well. Collections registered by compiler/build plugin packages appear to be registered before standard feature packages. This leads to the oplog package having no real way to reliably access those collection instances. --- packages/mongo/collection.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index a444ef69b5..c8c479eb91 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -27,6 +27,12 @@ export function warnUsingOldApi(methodName, collectionName, isCalledFromAsync) { */ Mongo = {}; +/** + * @summary A record of all defined collections + * @type {Map} + */ +Mongo.Collections = new Map(); + /** * @summary Constructor for a Collection * @locus Anywhere @@ -163,6 +169,8 @@ Mongo.Collection = function Collection(name, options) { is_auto: true, }); } + + Mongo.Collections.set(this._name, this); }; Object.assign(Mongo.Collection.prototype, { From 984f65a93f919fc283d0a320a4f4666de06ce6c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Sat, 29 Jun 2024 15:50:51 +0300 Subject: [PATCH 02/83] Assign `Mongo.Collections` map as `Mongo._collections` --- packages/mongo/collection.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index c8c479eb91..19eba98ada 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -31,7 +31,7 @@ Mongo = {}; * @summary A record of all defined collections * @type {Map} */ -Mongo.Collections = new Map(); +Mongo._collections = new Map(); /** * @summary Constructor for a Collection @@ -170,7 +170,7 @@ Mongo.Collection = function Collection(name, options) { }); } - Mongo.Collections.set(this._name, this); + Mongo._collections.set(this._name, this); }; Object.assign(Mongo.Collection.prototype, { From 3cca5da814854a360672883fe037ef13257e52e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Sat, 29 Jun 2024 15:58:15 +0300 Subject: [PATCH 03/83] Attach public collection get() method on Mongo.Collection --- packages/mongo/collection.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index 19eba98ada..896738bc30 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -973,6 +973,15 @@ Mongo.Collection.Cursor = Mongo.Cursor; */ Mongo.Collection.ObjectID = Mongo.ObjectID; +/** + * @summary Retrieve a Meteor collection instance by name. + * @param {string} name + * @returns {Mongo.Collection | undefined} + */ +Mongo.Collection.get = function get(name) { + return Mongo._collections.get(name); +} + /** * @deprecated in 0.9.1 */ From 92f379401e1daa338b5324e4fda2f6c4c1958812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Sat, 29 Jun 2024 16:04:22 +0300 Subject: [PATCH 04/83] Extend summary block for Mongo.Collection.get() method --- packages/mongo/collection.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index 896738bc30..fb6bb98e9e 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -974,7 +974,8 @@ Mongo.Collection.Cursor = Mongo.Cursor; Mongo.Collection.ObjectID = Mongo.ObjectID; /** - * @summary Retrieve a Meteor collection instance by name. + * @summary Retrieve a Meteor collection instance by name. Only collections defined with Meteor's `new Mongo.Collection(, ...)` are available. + * @locus Anywhere * @param {string} name * @returns {Mongo.Collection | undefined} */ From 3e0e7b9e9b564b3ba77befd74a7d372d1bbe8991 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Sat, 29 Jun 2024 16:10:06 +0300 Subject: [PATCH 05/83] Add JSDoc properties for static `Mongo.Collection.get()` method. --- packages/mongo/collection.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index fb6bb98e9e..7852611856 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -976,6 +976,9 @@ Mongo.Collection.ObjectID = Mongo.ObjectID; /** * @summary Retrieve a Meteor collection instance by name. Only collections defined with Meteor's `new Mongo.Collection(, ...)` are available. * @locus Anywhere + * @method get + * @memberof Mongo.Collection + * @static * @param {string} name * @returns {Mongo.Collection | undefined} */ From 20aa828b0ffcec1093ed44c4f25df45df7682f9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Sat, 29 Jun 2024 16:27:39 +0300 Subject: [PATCH 06/83] Update Collection.get() summary with references to related resources. --- packages/mongo/collection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index 7852611856..aa36a5ee5b 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -974,7 +974,7 @@ Mongo.Collection.Cursor = Mongo.Cursor; Mongo.Collection.ObjectID = Mongo.ObjectID; /** - * @summary Retrieve a Meteor collection instance by name. Only collections defined with Meteor's `new Mongo.Collection(, ...)` are available. + * @summary Retrieve a Meteor collection instance by name. Only collections defined with [`new Mongo.Collection(...)`](#collections) are available with this method. For plain MongoDB collections, you'll want to look at [`rawDatabase()`](#mongo_collection_raw_database). * @locus Anywhere * @method get * @memberof Mongo.Collection From 93e2dbe59ef76d2e6e8799e4faaa64a8239146e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Sat, 29 Jun 2024 20:07:08 +0300 Subject: [PATCH 07/83] Add comment to `Collection.get()` name parameter --- packages/mongo/collection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index aa36a5ee5b..4dfd1fb4d2 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -979,7 +979,7 @@ Mongo.Collection.ObjectID = Mongo.ObjectID; * @method get * @memberof Mongo.Collection * @static - * @param {string} name + * @param {string} name Name of your collection as it was defined with `new Mongo.Collection()`. * @returns {Mongo.Collection | undefined} */ Mongo.Collection.get = function get(name) { From 6049d9e731e504317536ac2ef29ccfdca4d771fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Sat, 29 Jun 2024 20:08:12 +0300 Subject: [PATCH 08/83] Include `Mongo.Collection.get` in Collections API docs --- docs/source/api/collections.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/api/collections.md b/docs/source/api/collections.md index 7a7c0551d6..5db2f22951 100644 --- a/docs/source/api/collections.md +++ b/docs/source/api/collections.md @@ -630,6 +630,7 @@ if no `deny` rules return `true` and at least one `allow` rule returns The methods (like `update` or `insert`) you call on the resulting _raw_ collection return promises and can be used outside of a Fiber. {% apibox "Mongo.Collection#rawDatabase" %} +{% apibox "Mongo.Collection.get" short:false %}

Cursors

From 43e7b2b6f72ff6601b73870eb5ada1405b1b2986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Sat, 29 Jun 2024 20:14:06 +0300 Subject: [PATCH 09/83] Correct documentation link for `Collection#rawDatabase()` --- packages/mongo/collection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index 4dfd1fb4d2..7b8db7e862 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -974,7 +974,7 @@ Mongo.Collection.Cursor = Mongo.Cursor; Mongo.Collection.ObjectID = Mongo.ObjectID; /** - * @summary Retrieve a Meteor collection instance by name. Only collections defined with [`new Mongo.Collection(...)`](#collections) are available with this method. For plain MongoDB collections, you'll want to look at [`rawDatabase()`](#mongo_collection_raw_database). + * @summary Retrieve a Meteor collection instance by name. Only collections defined with [`new Mongo.Collection(...)`](#collections) are available with this method. For plain MongoDB collections, you'll want to look at [`rawDatabase()`](#Mongo-Collection-rawDatabase). * @locus Anywhere * @method get * @memberof Mongo.Collection From 86b6f2795389af1a0d5d7086a79881fab0f3df08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Sat, 29 Jun 2024 20:27:12 +0300 Subject: [PATCH 10/83] Add type definition for `Mongo.Collection.get()` --- packages/mongo/mongo.d.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/mongo/mongo.d.ts b/packages/mongo/mongo.d.ts index 61abd53458..ace437f08f 100644 --- a/packages/mongo/mongo.d.ts +++ b/packages/mongo/mongo.d.ts @@ -83,6 +83,15 @@ export namespace Mongo { defineMutationMethods?: boolean | undefined; } ): Collection; + + /** + * Retrieve a previously defined Mongo.Collection instance by its name. The collection must already have been defined with `new Mongo.Collection(name, ...)`. + * Plain MongoDB collections are not available by this method. + * @param name The name of the collection instance. + */ + get< + TCollection extends Collection | undefined = Collection | undefined + >(name: string): TCollection; } interface Collection { allow = undefined>(options: { From d1dda6f24edfc5a2e6d34dd01cad3164c245d5d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Sat, 29 Jun 2024 20:36:06 +0300 Subject: [PATCH 11/83] Remove redundant function name from `Mongo.Collection.get` --- packages/mongo/collection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index 7b8db7e862..fa4999858c 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -982,7 +982,7 @@ Mongo.Collection.ObjectID = Mongo.ObjectID; * @param {string} name Name of your collection as it was defined with `new Mongo.Collection()`. * @returns {Mongo.Collection | undefined} */ -Mongo.Collection.get = function get(name) { +Mongo.Collection.get = function(name) { return Mongo._collections.get(name); } From b9bdc227f4f7127fba6466a1cc48ee8fe186d96a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Sat, 29 Jun 2024 22:14:49 +0300 Subject: [PATCH 12/83] Improve placement of static `Collection.get()` method. --- packages/mongo/collection.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index fa4999858c..d2419d2733 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -464,6 +464,19 @@ Object.assign(Mongo.Collection.prototype, { }); Object.assign(Mongo.Collection, { + /** + * @summary Retrieve a Meteor collection instance by name. Only collections defined with [`new Mongo.Collection(...)`](#collections) are available with this method. For plain MongoDB collections, you'll want to look at [`rawDatabase()`](#Mongo-Collection-rawDatabase). + * @locus Anywhere + * @method get + * @memberof Mongo.Collection + * @static + * @param {string} name Name of your collection as it was defined with `new Mongo.Collection()`. + * @returns {Mongo.Collection | undefined} + */ + get(name) { + return Mongo._collections.get(name); + }, + _publishCursor(cursor, sub, collection) { var observeHandle = cursor.observeChanges( { @@ -973,19 +986,6 @@ Mongo.Collection.Cursor = Mongo.Cursor; */ Mongo.Collection.ObjectID = Mongo.ObjectID; -/** - * @summary Retrieve a Meteor collection instance by name. Only collections defined with [`new Mongo.Collection(...)`](#collections) are available with this method. For plain MongoDB collections, you'll want to look at [`rawDatabase()`](#Mongo-Collection-rawDatabase). - * @locus Anywhere - * @method get - * @memberof Mongo.Collection - * @static - * @param {string} name Name of your collection as it was defined with `new Mongo.Collection()`. - * @returns {Mongo.Collection | undefined} - */ -Mongo.Collection.get = function(name) { - return Mongo._collections.get(name); -} - /** * @deprecated in 0.9.1 */ From 5cd8699e88eee403e904da2bded609e918682d01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Sat, 29 Jun 2024 22:18:04 +0300 Subject: [PATCH 13/83] Move _collections into static namespace --- packages/mongo/collection.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index d2419d2733..e47911d924 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -27,12 +27,6 @@ export function warnUsingOldApi(methodName, collectionName, isCalledFromAsync) { */ Mongo = {}; -/** - * @summary A record of all defined collections - * @type {Map} - */ -Mongo._collections = new Map(); - /** * @summary Constructor for a Collection * @locus Anywhere @@ -529,6 +523,13 @@ Object.assign(Mongo.Collection, { return selector; }, + + /** + * @summary A record of all defined Mongo.Collection instances, indexed by collection name. + * @type {Map} + * @protected + */ + _collections: new Map(), }); Object.assign(Mongo.Collection.prototype, { From 5ba6a6b7b007910d2f1588589f7c665fb09022a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Sat, 29 Jun 2024 22:22:16 +0300 Subject: [PATCH 14/83] Use `this` context when accessing collections map --- packages/mongo/collection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index e47911d924..469b1ad95b 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -468,7 +468,7 @@ Object.assign(Mongo.Collection, { * @returns {Mongo.Collection | undefined} */ get(name) { - return Mongo._collections.get(name); + return this._collections.get(name); }, _publishCursor(cursor, sub, collection) { From 5a9f8a0248a149a1cbdcd20c543b790b9f7214ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Mon, 1 Jul 2024 23:14:12 +0300 Subject: [PATCH 15/83] Update collection tracker to match new API structure. --- packages/mongo/collection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index 469b1ad95b..f5dd03cc42 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -164,7 +164,7 @@ Mongo.Collection = function Collection(name, options) { }); } - Mongo._collections.set(this._name, this); + Mongo.Collection._collections.set(this._name, this); }; Object.assign(Mongo.Collection.prototype, { From 5f889881317dff11848cc653edf836dd56d2751a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Mon, 1 Jul 2024 23:23:49 +0300 Subject: [PATCH 16/83] Assert that collections are retrievable by name --- packages/mongo/collection_tests.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/mongo/collection_tests.js b/packages/mongo/collection_tests.js index fa2f4db662..0a59732b52 100644 --- a/packages/mongo/collection_tests.js +++ b/packages/mongo/collection_tests.js @@ -444,6 +444,15 @@ Tinytest.addAsync('collection - should not block on cursor mismatch (#12516)', } ); +Tinytest.add('collection - get collection by name', + function (test) { + const collectionName = 'get' + test.id; + const collection = new Mongo.Collection(collectionName); + + test.ok(Mongo.Collection.get(collectionName) instanceof Mongo.Collection); + test.equal(Mongo.Collection.get(collectionName), collection); + } +); Meteor.isServer && Tinytest.addAsync('collection - simple add', async function(test){ From 1bfba04233c6f914fca81562875730a6c92c5490 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Tue, 2 Jul 2024 01:05:22 +0300 Subject: [PATCH 17/83] Simplify `Mongo.Collection.get()` to `Mongo.collection()` --- packages/mongo/collection.js | 44 ++++++++++++++++-------------- packages/mongo/collection_tests.js | 4 +-- packages/mongo/mongo.d.ts | 2 +- 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index f5dd03cc42..362f48030b 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -164,7 +164,7 @@ Mongo.Collection = function Collection(name, options) { }); } - Mongo.Collection._collections.set(this._name, this); + Mongo._collections.set(this._name, this); }; Object.assign(Mongo.Collection.prototype, { @@ -458,19 +458,6 @@ Object.assign(Mongo.Collection.prototype, { }); Object.assign(Mongo.Collection, { - /** - * @summary Retrieve a Meteor collection instance by name. Only collections defined with [`new Mongo.Collection(...)`](#collections) are available with this method. For plain MongoDB collections, you'll want to look at [`rawDatabase()`](#Mongo-Collection-rawDatabase). - * @locus Anywhere - * @method get - * @memberof Mongo.Collection - * @static - * @param {string} name Name of your collection as it was defined with `new Mongo.Collection()`. - * @returns {Mongo.Collection | undefined} - */ - get(name) { - return this._collections.get(name); - }, - _publishCursor(cursor, sub, collection) { var observeHandle = cursor.observeChanges( { @@ -523,13 +510,6 @@ Object.assign(Mongo.Collection, { return selector; }, - - /** - * @summary A record of all defined Mongo.Collection instances, indexed by collection name. - * @type {Map} - * @protected - */ - _collections: new Map(), }); Object.assign(Mongo.Collection.prototype, { @@ -946,6 +926,28 @@ Object.assign(Mongo.Collection.prototype, { }, }); +Object.assign(Mongo, { + /** + * @summary Retrieve a Meteor collection instance by name. Only collections defined with [`new Mongo.Collection(...)`](#collections) are available with this method. For plain MongoDB collections, you'll want to look at [`rawDatabase()`](#Mongo-Collection-rawDatabase). + * @locus Anywhere + * @memberof Mongo + * @static + * @param {string} name Name of your collection as it was defined with `new Mongo.Collection()`. + * @returns {Mongo.Collection | undefined} + */ + collection(name) { + return this._collections.get(name); + }, + + /** + * @summary A record of all defined Mongo.Collection instances, indexed by collection name. + * @type {Map} + * @memberof Mongo + * @protected + */ + _collections: new Map(), +}) + // Convert the callback to not return a result if there is an error function wrapCallback(callback, convertResult) { return ( diff --git a/packages/mongo/collection_tests.js b/packages/mongo/collection_tests.js index 0a59732b52..13cdff83c6 100644 --- a/packages/mongo/collection_tests.js +++ b/packages/mongo/collection_tests.js @@ -449,8 +449,8 @@ Tinytest.add('collection - get collection by name', const collectionName = 'get' + test.id; const collection = new Mongo.Collection(collectionName); - test.ok(Mongo.Collection.get(collectionName) instanceof Mongo.Collection); - test.equal(Mongo.Collection.get(collectionName), collection); + test.ok(Mongo.collection(collectionName) instanceof Mongo.Collection); + test.equal(Mongo.collection(collectionName), collection); } ); diff --git a/packages/mongo/mongo.d.ts b/packages/mongo/mongo.d.ts index ace437f08f..c6b53e4915 100644 --- a/packages/mongo/mongo.d.ts +++ b/packages/mongo/mongo.d.ts @@ -89,7 +89,7 @@ export namespace Mongo { * Plain MongoDB collections are not available by this method. * @param name The name of the collection instance. */ - get< + collection< TCollection extends Collection | undefined = Collection | undefined >(name: string): TCollection; } From 0522c622e81a07801bc22784f2e8a0bbdd9e1673 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Tue, 2 Jul 2024 01:08:55 +0300 Subject: [PATCH 18/83] Update old `Mongo.collection.get()` documentation reference --- docs/source/api/collections.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/api/collections.md b/docs/source/api/collections.md index 5db2f22951..1e1c23daf3 100644 --- a/docs/source/api/collections.md +++ b/docs/source/api/collections.md @@ -630,7 +630,6 @@ if no `deny` rules return `true` and at least one `allow` rule returns The methods (like `update` or `insert`) you call on the resulting _raw_ collection return promises and can be used outside of a Fiber. {% apibox "Mongo.Collection#rawDatabase" %} -{% apibox "Mongo.Collection.get" short:false %}

Cursors

@@ -838,6 +837,7 @@ const handle = cursor.observeChanges({ setTimeout(() => handle.stop(), 5000); ``` +{% apibox "Mongo.collection" %} {% apibox "Mongo.ObjectID" %} `Mongo.ObjectID` follows the same API as the [Node MongoDB driver From 962438254a811c0c4005193ffcfe1255d9c0b0d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Thu, 4 Jul 2024 06:19:32 +0300 Subject: [PATCH 19/83] Rename Mongo.collection() get method to `Mongo.getCollection()` --- docs/source/api/collections.md | 2 +- packages/mongo/collection.js | 2 +- packages/mongo/collection_tests.js | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/source/api/collections.md b/docs/source/api/collections.md index 1e1c23daf3..a90c3e24ae 100644 --- a/docs/source/api/collections.md +++ b/docs/source/api/collections.md @@ -837,7 +837,7 @@ const handle = cursor.observeChanges({ setTimeout(() => handle.stop(), 5000); ``` -{% apibox "Mongo.collection" %} +{% apibox "Mongo.getCollection" %} {% apibox "Mongo.ObjectID" %} `Mongo.ObjectID` follows the same API as the [Node MongoDB driver diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index 362f48030b..bb3c854466 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -935,7 +935,7 @@ Object.assign(Mongo, { * @param {string} name Name of your collection as it was defined with `new Mongo.Collection()`. * @returns {Mongo.Collection | undefined} */ - collection(name) { + getCollection(name) { return this._collections.get(name); }, diff --git a/packages/mongo/collection_tests.js b/packages/mongo/collection_tests.js index 13cdff83c6..6e0fb7c976 100644 --- a/packages/mongo/collection_tests.js +++ b/packages/mongo/collection_tests.js @@ -449,8 +449,8 @@ Tinytest.add('collection - get collection by name', const collectionName = 'get' + test.id; const collection = new Mongo.Collection(collectionName); - test.ok(Mongo.collection(collectionName) instanceof Mongo.Collection); - test.equal(Mongo.collection(collectionName), collection); + test.ok(Mongo.getCollection(collectionName) instanceof Mongo.Collection); + test.equal(Mongo.getCollection(collectionName), collection); } ); From cfd38175e9516c8834a1d2df389bcbe15a4b9f93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Vatle?= Date: Thu, 4 Jul 2024 06:39:01 +0300 Subject: [PATCH 20/83] Update type definition to match new `Mongo.getCollection()` method. --- packages/mongo/mongo.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mongo/mongo.d.ts b/packages/mongo/mongo.d.ts index c6b53e4915..f624412e75 100644 --- a/packages/mongo/mongo.d.ts +++ b/packages/mongo/mongo.d.ts @@ -89,7 +89,7 @@ export namespace Mongo { * Plain MongoDB collections are not available by this method. * @param name The name of the collection instance. */ - collection< + getCollection< TCollection extends Collection | undefined = Collection | undefined >(name: string): TCollection; } From 4f975fc69603bc961e2db281929b4f0975047be1 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Thu, 18 Jul 2024 13:04:29 -0400 Subject: [PATCH 21/83] fix subscription stopping too early --- packages/ddp-server/livedata_server.js | 59 +++++++++++++------------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/packages/ddp-server/livedata_server.js b/packages/ddp-server/livedata_server.js index fce6e031a1..7010aedf44 100644 --- a/packages/ddp-server/livedata_server.js +++ b/packages/ddp-server/livedata_server.js @@ -396,13 +396,6 @@ var Session = function (server, version, socket, options) { }; Object.assign(Session.prototype, { - _checkPublishPromiseBeforeSend(f) { - if (!this._publishCursorPromise) { - f(); - return; - } - this._publishCursorPromise.finally(() => f()); - }, sendReady: function (subscriptionIds) { var self = this; if (self._isSending) { @@ -556,13 +549,11 @@ Object.assign(Session.prototype, { // It should be a JSON object (it will be stringified). send: function (msg) { const self = this; - this._checkPublishPromiseBeforeSend(() => { - if (self.socket) { - if (Meteor._printSentDDP) - Meteor._debug('Sent DDP', DDPCommon.stringifyDDP(msg)); - self.socket.send(DDPCommon.stringifyDDP(msg)); - } - }); + if (self.socket) { + if (Meteor._printSentDDP) + Meteor._debug("Sent DDP", DDPCommon.stringifyDDP(msg)); + self.socket.send(DDPCommon.stringifyDDP(msg)); + } }, // Send a connection error. @@ -627,6 +618,7 @@ Object.assign(Session.prototype, { var processNext = function () { var msg = self.inQueue && self.inQueue.shift(); + if (!msg) { self.workerRunning = false; return; @@ -653,6 +645,7 @@ Object.assign(Session.prototype, { msg, unblock ); + if (Meteor._isPromise(result)) { result.finally(() => unblock()); } else { @@ -1207,16 +1200,16 @@ Object.assign(Subscription.prototype, { resultOrThenable && typeof resultOrThenable.then === 'function'; if (isThenable) { try { - self._publishHandlerResult(await resultOrThenable); + await self._publishHandlerResult(await resultOrThenable); } catch(e) { self.error(e) } } else { - self._publishHandlerResult(resultOrThenable); + await self._publishHandlerResult(resultOrThenable); } }, - _publishHandlerResult: function (res) { + async _publishHandlerResult (res) { // SPECIAL CASE: Instead of writing their own callbacks that invoke // this.added/changed/ready/etc, the user can just return a collection // cursor or array of cursors from the publish function; we call their @@ -1239,11 +1232,15 @@ Object.assign(Subscription.prototype, { return c && c._publishCursor; }; if (isCursor(res)) { - this._publishCursorPromise = res._publishCursor(self).then(() => { - // _publishCursor only returns after the initial added callbacks have run. - // mark subscription as ready. - self.ready(); - }).catch((e) => self.error(e)); + try { + await res._publishCursor(self); + } catch (e) { + self.error(e); + return; + } + // _publishCursor only returns after the initial added callbacks have run. + // mark subscription as ready. + self.ready(); } else if (_.isArray(res)) { // Check all the elements are cursors if (! _.all(res, isCursor)) { @@ -1254,6 +1251,7 @@ Object.assign(Subscription.prototype, { // XXX we should support overlapping cursors, but that would require the // merge box to allow overlap within a subscription var collectionNames = {}; + for (var i = 0; i < res.length; ++i) { var collectionName = res[i]._getCollectionName(); if (_.has(collectionNames, collectionName)) { @@ -1265,13 +1263,15 @@ Object.assign(Subscription.prototype, { collectionNames[collectionName] = true; }; - this._publishCursorPromise = Promise.all( - res.map(c => c._publishCursor(self)) - ) - .then(() => { - self.ready(); - }) - .catch((e) => self.error(e)); + try { + for (const cur of res) { + await cur._publishCursor(self); + } + } catch (e) { + self.error(e); + return; + } + self.ready(); } else if (res) { // Truthy values other than cursors or arrays are probably a // user mistake (possible returning a Mongo document via, say, @@ -1409,7 +1409,6 @@ Object.assign(Subscription.prototype, { ids.add(id); } - this._session._publishCursorPromise = this._publishCursorPromise; this._session.added(this._subscriptionHandle, collectionName, id, fields); }, From 2fb7ccc5cf310f740776384748bd406e9502302b Mon Sep 17 00:00:00 2001 From: denihs Date: Thu, 18 Jul 2024 13:15:03 -0400 Subject: [PATCH 22/83] Remove pinned version for the package react-meteor-data from our skeletons --- tools/static-assets/skel-chakra-ui/.meteor/packages | 2 +- tools/static-assets/skel-react/.meteor/packages | 2 +- tools/static-assets/skel-tailwind/.meteor/packages | 2 +- tools/static-assets/skel-typescript/.meteor/packages | 2 +- tools/tests/apps/ecmascript-regression/.meteor/packages | 2 +- tools/tests/apps/ecmascript-regression/.meteor/versions | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/static-assets/skel-chakra-ui/.meteor/packages b/tools/static-assets/skel-chakra-ui/.meteor/packages index 37f116fa2a..90ce4b06dd 100644 --- a/tools/static-assets/skel-chakra-ui/.meteor/packages +++ b/tools/static-assets/skel-chakra-ui/.meteor/packages @@ -19,4 +19,4 @@ hot-module-replacement # Update client in development without reloading the pag ~prototype~ static-html # Define static page content in .html files -react-meteor-data@3.0.0-beta300.1 # React higher-order component for reactively tracking Meteor data +react-meteor-data # React higher-order component for reactively tracking Meteor data diff --git a/tools/static-assets/skel-react/.meteor/packages b/tools/static-assets/skel-react/.meteor/packages index 37f116fa2a..90ce4b06dd 100644 --- a/tools/static-assets/skel-react/.meteor/packages +++ b/tools/static-assets/skel-react/.meteor/packages @@ -19,4 +19,4 @@ hot-module-replacement # Update client in development without reloading the pag ~prototype~ static-html # Define static page content in .html files -react-meteor-data@3.0.0-beta300.1 # React higher-order component for reactively tracking Meteor data +react-meteor-data # React higher-order component for reactively tracking Meteor data diff --git a/tools/static-assets/skel-tailwind/.meteor/packages b/tools/static-assets/skel-tailwind/.meteor/packages index 37f116fa2a..90ce4b06dd 100644 --- a/tools/static-assets/skel-tailwind/.meteor/packages +++ b/tools/static-assets/skel-tailwind/.meteor/packages @@ -19,4 +19,4 @@ hot-module-replacement # Update client in development without reloading the pag ~prototype~ static-html # Define static page content in .html files -react-meteor-data@3.0.0-beta300.1 # React higher-order component for reactively tracking Meteor data +react-meteor-data # React higher-order component for reactively tracking Meteor data diff --git a/tools/static-assets/skel-typescript/.meteor/packages b/tools/static-assets/skel-typescript/.meteor/packages index 91e12d8bfe..033932891e 100644 --- a/tools/static-assets/skel-typescript/.meteor/packages +++ b/tools/static-assets/skel-typescript/.meteor/packages @@ -19,5 +19,5 @@ hot-module-replacement # Update client in development without reloading the pag ~prototype~ static-html # Define static page content in .html files -react-meteor-data@3.0.0-beta300.1 # React higher-order component for reactively tracking Meteor data +react-meteor-data # React higher-order component for reactively tracking Meteor data zodern:types # Pull in type declarations from other Meteor packages diff --git a/tools/tests/apps/ecmascript-regression/.meteor/packages b/tools/tests/apps/ecmascript-regression/.meteor/packages index 2c648654f5..52f4e26268 100644 --- a/tools/tests/apps/ecmascript-regression/.meteor/packages +++ b/tools/tests/apps/ecmascript-regression/.meteor/packages @@ -20,5 +20,5 @@ hot-module-replacement@0.5.4-alpha300.11 # Update client in development without autopublish@1.0.7 # Publish all data to the clients (for prototyping) insecure@1.0.7 # Allow all DB writes from clients (for prototyping) static-html@1.3.3-alpha300.11 # Define static page content in .html files -react-meteor-data@3.0.0-beta300.1 # React higher-order component for reactively tracking Meteor data +react-meteor-data # React higher-order component for reactively tracking Meteor data meteortesting:mocha@3.0.3-alpha300.11 diff --git a/tools/tests/apps/ecmascript-regression/.meteor/versions b/tools/tests/apps/ecmascript-regression/.meteor/versions index 831289b98d..ef17c9ad96 100644 --- a/tools/tests/apps/ecmascript-regression/.meteor/versions +++ b/tools/tests/apps/ecmascript-regression/.meteor/versions @@ -58,7 +58,7 @@ ordered-dict@1.1.0 promise@0.12.0 random@1.2.1 react-fast-refresh@0.1.1 -react-meteor-data@3.0.0-beta300.1 +react-meteor-data reactive-var@1.0.12 reload@1.3.1 retry@1.1.0 From 881ec31bd000b1f71d54bd7916ff7b1411a10517 Mon Sep 17 00:00:00 2001 From: denihs Date: Thu, 18 Jul 2024 13:43:51 -0400 Subject: [PATCH 23/83] - publish official version for `less` and 4.1.1 --- packages/non-core/less/.versions | 116 +++++++++++++++--------------- packages/non-core/less/package.js | 6 +- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/packages/non-core/less/.versions b/packages/non-core/less/.versions index 848b711c59..efb0c21a2d 100644 --- a/packages/non-core/less/.versions +++ b/packages/non-core/less/.versions @@ -1,58 +1,58 @@ -allow-deny@2.0.0-beta300.6 -babel-compiler@7.11.0-beta300.6 -babel-runtime@1.5.2-beta300.6 -base64@1.0.13-beta300.6 -binary-heap@1.0.12-beta300.6 -blaze@3.0.0-alpha300.17 -boilerplate-generator@2.0.0-beta300.6 -caching-compiler@2.0.0-beta300.6 -callback-hook@1.6.0-beta300.6 -check@1.3.3-beta300.6 -core-runtime@1.0.0-beta300.6 -ddp@1.4.2-beta300.6 -ddp-client@3.0.0-beta300.6 -ddp-common@1.4.1-beta300.6 -ddp-server@3.0.0-beta300.6 -diff-sequence@1.1.3-beta300.6 -dynamic-import@0.7.4-beta300.6 -ecmascript@0.16.8-beta300.6 -ecmascript-runtime@0.8.2-beta300.6 -ecmascript-runtime-client@0.12.2-beta300.6 -ecmascript-runtime-server@0.11.1-beta300.6 -ejson@1.1.4-beta300.6 -facts-base@1.0.2-beta300.6 -fetch@0.1.4-beta300.6 -geojson-utils@1.0.12-beta300.6 -htmljs@2.0.0-alpha300.17 -id-map@1.2.0-beta300.6 -inter-process-messaging@0.1.2-beta300.6 -less@4.1.1-beta300.6 -local-test:less@4.1.1-beta300.6 -logging@1.3.3-beta300.6 -meteor@2.0.0-beta300.6 -minimongo@2.0.0-beta300.6 -modern-browsers@0.1.10-beta300.6 -modules@0.19.1-beta300.6 -modules-runtime@0.13.2-beta300.6 -mongo@2.0.0-beta300.6 -mongo-decimal@0.1.4-beta300.6 -mongo-dev-server@1.1.1-beta300.6 -mongo-id@1.0.9-beta300.6 -npm-mongo@4.16.1-beta300.6 -observe-sequence@2.0.0-alpha300.17 -ordered-dict@1.2.0-beta300.6 -promise@1.0.0-beta300.6 -random@1.2.2-beta300.6 -react-fast-refresh@0.2.8-beta300.6 -reactive-var@1.0.13-beta300.6 -reload@1.3.2-beta300.6 -retry@1.1.1-beta300.6 -routepolicy@1.1.2-beta300.6 -socket-stream-client@0.5.2-beta300.6 -test-helpers@2.0.0-beta300.6 -tinytest@2.0.0-beta300.6 -tracker@1.3.3-beta300.6 -typescript@5.3.3-beta300.6 -underscore@1.0.14-beta300.6 -webapp@2.0.0-beta300.6 -webapp-hashing@1.1.2-beta300.6 +allow-deny@2.0.0 +babel-compiler@7.11.0 +babel-runtime@1.5.2 +base64@1.0.13 +binary-heap@1.0.12 +blaze@3.0.0 +boilerplate-generator@2.0.0 +caching-compiler@2.0.0 +callback-hook@1.6.0 +check@1.4.2 +core-runtime@1.0.0 +ddp@1.4.2 +ddp-client@3.0.0 +ddp-common@1.4.3 +ddp-server@3.0.0 +diff-sequence@1.1.3 +dynamic-import@0.7.4 +ecmascript@0.16.9 +ecmascript-runtime@0.8.2 +ecmascript-runtime-client@0.12.2 +ecmascript-runtime-server@0.11.1 +ejson@1.1.4 +facts-base@1.0.2 +fetch@0.1.5 +geojson-utils@1.0.12 +htmljs@2.0.1 +id-map@1.2.0 +inter-process-messaging@0.1.2 +less@4.1.1 +local-test:less@4.1.1 +logging@1.3.5 +meteor@2.0.0 +minimongo@2.0.0 +modern-browsers@0.1.11 +modules@0.20.1 +modules-runtime@0.13.2 +mongo@2.0.0 +mongo-decimal@0.1.4-beta300.7 +mongo-dev-server@1.1.1 +mongo-id@1.0.9 +npm-mongo@4.17.3 +observe-sequence@2.0.0 +ordered-dict@1.2.0 +promise@1.0.0 +random@1.2.2 +react-fast-refresh@0.2.9 +reactive-var@1.0.13 +reload@1.3.2 +retry@1.1.1 +routepolicy@1.1.2 +socket-stream-client@0.5.3 +test-helpers@2.0.0 +tinytest@1.3.0 +tracker@1.3.4 +typescript@5.4.3 +underscore@1.6.4 +webapp@2.0.0 +webapp-hashing@1.1.2 diff --git a/packages/non-core/less/package.js b/packages/non-core/less/package.js index 97199d48fc..9b243a5b95 100644 --- a/packages/non-core/less/package.js +++ b/packages/non-core/less/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'less', - version: '4.1.1-beta300.6', + version: '4.1.1', summary: 'Leaner CSS language', documentation: 'README.md' }); @@ -8,8 +8,8 @@ Package.describe({ Package.registerBuildPlugin({ name: "compileLessBatch", use: [ - "caching-compiler@2.0.0-beta300.6", - "ecmascript@0.16.8-beta300.6", + "caching-compiler@2.0.0", + "ecmascript@0.16.9", ], sources: [ 'plugin/compile-less.js' From 0d8180a7c1c2d99b54bc7c3847afaaffb49eccaf Mon Sep 17 00:00:00 2001 From: denihs Date: Thu, 18 Jul 2024 14:05:46 -0400 Subject: [PATCH 24/83] - update versions for meteortesting:mocha-core and meteortesting:mocha --- tools/tests/apps/app-config/.meteor/packages | 2 +- tools/tests/apps/app-config/.meteor/versions | 2 +- tools/tests/apps/dynamic-import/.meteor/packages | 2 +- tools/tests/apps/ecmascript-regression/.meteor/packages | 2 +- tools/tests/apps/ecmascript-regression/.meteor/versions | 4 ++-- tools/tests/apps/modules/.meteor/packages | 4 ++-- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tools/tests/apps/app-config/.meteor/packages b/tools/tests/apps/app-config/.meteor/packages index 2cffaf721d..bb7be9c7e2 100644 --- a/tools/tests/apps/app-config/.meteor/packages +++ b/tools/tests/apps/app-config/.meteor/packages @@ -12,4 +12,4 @@ es5-shim # ECMAScript 5 compatibility for older browsers ecmascript # Enable ECMAScript2015+ syntax in app code shell-server # Server-side component of the `meteor shell` command less # Support .less files for defining CSS styles -meteortesting:mocha@3.0.3-alpha300.11 +meteortesting:mocha@3.0.3 diff --git a/tools/tests/apps/app-config/.meteor/versions b/tools/tests/apps/app-config/.meteor/versions index 747a058a1a..c091cfd522 100644 --- a/tools/tests/apps/app-config/.meteor/versions +++ b/tools/tests/apps/app-config/.meteor/versions @@ -62,4 +62,4 @@ underscore@1.0.11 url@1.2.0 webapp@1.5.0 webapp-hashing@1.0.9 -meteortesting:mocha@3.0.0 +meteortesting:mocha@3.0.3 diff --git a/tools/tests/apps/dynamic-import/.meteor/packages b/tools/tests/apps/dynamic-import/.meteor/packages index f702fc725f..aec5169eed 100644 --- a/tools/tests/apps/dynamic-import/.meteor/packages +++ b/tools/tests/apps/dynamic-import/.meteor/packages @@ -26,4 +26,4 @@ user:colon-name underscore@1.0.14-alpha300.11 fetch@0.1.3 jquery -meteortesting:mocha@3.0.3-alpha300.11 +meteortesting:mocha@3.0.3 diff --git a/tools/tests/apps/ecmascript-regression/.meteor/packages b/tools/tests/apps/ecmascript-regression/.meteor/packages index 52f4e26268..f08862bcdc 100644 --- a/tools/tests/apps/ecmascript-regression/.meteor/packages +++ b/tools/tests/apps/ecmascript-regression/.meteor/packages @@ -21,4 +21,4 @@ autopublish@1.0.7 # Publish all data to the clients (for prototyping) insecure@1.0.7 # Allow all DB writes from clients (for prototyping) static-html@1.3.3-alpha300.11 # Define static page content in .html files react-meteor-data # React higher-order component for reactively tracking Meteor data -meteortesting:mocha@3.0.3-alpha300.11 +meteortesting:mocha@3.0.3 diff --git a/tools/tests/apps/ecmascript-regression/.meteor/versions b/tools/tests/apps/ecmascript-regression/.meteor/versions index ef17c9ad96..c751f1278d 100644 --- a/tools/tests/apps/ecmascript-regression/.meteor/versions +++ b/tools/tests/apps/ecmascript-regression/.meteor/versions @@ -38,8 +38,8 @@ logging@1.3.1 meteor@1.10.0 meteor-base@1.5.1 meteortesting:browser-tests@1.3.4 -meteortesting:mocha@3.0.3-alpha300.11 -meteortesting:mocha-core@8.0.1 +meteortesting:mocha@3.0.3 +meteortesting:mocha-core@8.2.0 minifier-css@1.6.0 minifier-js@2.7.1 minimongo@1.7.0 diff --git a/tools/tests/apps/modules/.meteor/packages b/tools/tests/apps/modules/.meteor/packages index 774a83c1f6..e66d8b86f3 100644 --- a/tools/tests/apps/modules/.meteor/packages +++ b/tools/tests/apps/modules/.meteor/packages @@ -27,5 +27,5 @@ underscore@1.0.14-beta300.6 import-local-json-module dummy-compiler typescript@5.3.3-beta300.6 -meteortesting:mocha@3.1.0-beta300.0 -meteortesting:mocha-core@8.3.1-beta300.0 +meteortesting:mocha@3.0.3 +meteortesting:mocha-core@8.2.0 From 5dccbaf706e9388261f79caae46fb2fa439badec Mon Sep 17 00:00:00 2001 From: denihs Date: Thu, 18 Jul 2024 14:39:44 -0400 Subject: [PATCH 25/83] - update versions for meteortesting:mocha --- tools/tests/apps/app-config/.meteor/packages | 2 +- tools/tests/apps/app-config/.meteor/versions | 2 +- tools/tests/apps/dynamic-import/.meteor/packages | 2 +- tools/tests/apps/ecmascript-regression/.meteor/packages | 2 +- tools/tests/apps/ecmascript-regression/.meteor/versions | 2 +- tools/tests/apps/modules/.meteor/packages | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/tests/apps/app-config/.meteor/packages b/tools/tests/apps/app-config/.meteor/packages index bb7be9c7e2..8f439d128c 100644 --- a/tools/tests/apps/app-config/.meteor/packages +++ b/tools/tests/apps/app-config/.meteor/packages @@ -12,4 +12,4 @@ es5-shim # ECMAScript 5 compatibility for older browsers ecmascript # Enable ECMAScript2015+ syntax in app code shell-server # Server-side component of the `meteor shell` command less # Support .less files for defining CSS styles -meteortesting:mocha@3.0.3 +meteortesting:mocha@3.0.0 diff --git a/tools/tests/apps/app-config/.meteor/versions b/tools/tests/apps/app-config/.meteor/versions index c091cfd522..747a058a1a 100644 --- a/tools/tests/apps/app-config/.meteor/versions +++ b/tools/tests/apps/app-config/.meteor/versions @@ -62,4 +62,4 @@ underscore@1.0.11 url@1.2.0 webapp@1.5.0 webapp-hashing@1.0.9 -meteortesting:mocha@3.0.3 +meteortesting:mocha@3.0.0 diff --git a/tools/tests/apps/dynamic-import/.meteor/packages b/tools/tests/apps/dynamic-import/.meteor/packages index aec5169eed..7fe131dfa2 100644 --- a/tools/tests/apps/dynamic-import/.meteor/packages +++ b/tools/tests/apps/dynamic-import/.meteor/packages @@ -26,4 +26,4 @@ user:colon-name underscore@1.0.14-alpha300.11 fetch@0.1.3 jquery -meteortesting:mocha@3.0.3 +meteortesting:mocha@3.0.0 diff --git a/tools/tests/apps/ecmascript-regression/.meteor/packages b/tools/tests/apps/ecmascript-regression/.meteor/packages index f08862bcdc..014cb3ba2e 100644 --- a/tools/tests/apps/ecmascript-regression/.meteor/packages +++ b/tools/tests/apps/ecmascript-regression/.meteor/packages @@ -21,4 +21,4 @@ autopublish@1.0.7 # Publish all data to the clients (for prototyping) insecure@1.0.7 # Allow all DB writes from clients (for prototyping) static-html@1.3.3-alpha300.11 # Define static page content in .html files react-meteor-data # React higher-order component for reactively tracking Meteor data -meteortesting:mocha@3.0.3 +meteortesting:mocha@3.0.0 diff --git a/tools/tests/apps/ecmascript-regression/.meteor/versions b/tools/tests/apps/ecmascript-regression/.meteor/versions index c751f1278d..cb3bafd66c 100644 --- a/tools/tests/apps/ecmascript-regression/.meteor/versions +++ b/tools/tests/apps/ecmascript-regression/.meteor/versions @@ -38,7 +38,7 @@ logging@1.3.1 meteor@1.10.0 meteor-base@1.5.1 meteortesting:browser-tests@1.3.4 -meteortesting:mocha@3.0.3 +meteortesting:mocha@3.0.0 meteortesting:mocha-core@8.2.0 minifier-css@1.6.0 minifier-js@2.7.1 diff --git a/tools/tests/apps/modules/.meteor/packages b/tools/tests/apps/modules/.meteor/packages index e66d8b86f3..7612fb6ccc 100644 --- a/tools/tests/apps/modules/.meteor/packages +++ b/tools/tests/apps/modules/.meteor/packages @@ -27,5 +27,5 @@ underscore@1.0.14-beta300.6 import-local-json-module dummy-compiler typescript@5.3.3-beta300.6 -meteortesting:mocha@3.0.3 +meteortesting:mocha@3.0.0 meteortesting:mocha-core@8.2.0 From 4f9e944d1ccdb4919ea18e608918f04193ce7cac Mon Sep 17 00:00:00 2001 From: denihs Date: Thu, 18 Jul 2024 14:50:16 -0400 Subject: [PATCH 26/83] - fix `regressions - web.browser.legacy` test --- tools/tests/apps/ecmascript-regression/.meteor/packages | 2 +- tools/tests/apps/ecmascript-regression/.meteor/versions | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/tests/apps/ecmascript-regression/.meteor/packages b/tools/tests/apps/ecmascript-regression/.meteor/packages index 014cb3ba2e..feccb33d03 100644 --- a/tools/tests/apps/ecmascript-regression/.meteor/packages +++ b/tools/tests/apps/ecmascript-regression/.meteor/packages @@ -20,5 +20,5 @@ hot-module-replacement@0.5.4-alpha300.11 # Update client in development without autopublish@1.0.7 # Publish all data to the clients (for prototyping) insecure@1.0.7 # Allow all DB writes from clients (for prototyping) static-html@1.3.3-alpha300.11 # Define static page content in .html files -react-meteor-data # React higher-order component for reactively tracking Meteor data +react-meteor-data@3.0.1 # React higher-order component for reactively tracking Meteor data meteortesting:mocha@3.0.0 diff --git a/tools/tests/apps/ecmascript-regression/.meteor/versions b/tools/tests/apps/ecmascript-regression/.meteor/versions index cb3bafd66c..c5c8851416 100644 --- a/tools/tests/apps/ecmascript-regression/.meteor/versions +++ b/tools/tests/apps/ecmascript-regression/.meteor/versions @@ -58,7 +58,7 @@ ordered-dict@1.1.0 promise@0.12.0 random@1.2.1 react-fast-refresh@0.1.1 -react-meteor-data +react-meteor-data@3.0.1 reactive-var@1.0.12 reload@1.3.1 retry@1.1.0 From ade339d721fac68fe719cf3cd1b01420514e145a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Codo=C3=B1er?= Date: Fri, 19 Jul 2024 14:31:25 +0200 Subject: [PATCH 27/83] update docs --- v3-docs/docs/about/install.md | 4 ++-- v3-docs/v3-migration-docs/breaking-changes/index.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/v3-docs/docs/about/install.md b/v3-docs/docs/about/install.md index 516b86a4bf..9547a70989 100644 --- a/v3-docs/docs/about/install.md +++ b/v3-docs/docs/about/install.md @@ -29,7 +29,7 @@ Install the latest official version of Meteor.js from your terminal by running o For Windows, Linux and OS X, you can run the following command: ```bash -npx meteor@rc +npx meteor ``` ::: tip @@ -136,7 +136,7 @@ To be able to user `meteor` command from fish it's needed to include `/home/ Date: Fri, 19 Jul 2024 11:15:13 -0400 Subject: [PATCH 28/83] run operations in parallel --- packages/ddp-server/livedata_server.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/ddp-server/livedata_server.js b/packages/ddp-server/livedata_server.js index 7010aedf44..23d6336876 100644 --- a/packages/ddp-server/livedata_server.js +++ b/packages/ddp-server/livedata_server.js @@ -1261,12 +1261,10 @@ Object.assign(Subscription.prototype, { return; } collectionNames[collectionName] = true; - }; + } try { - for (const cur of res) { - await cur._publishCursor(self); - } + await Promise.all(res.map(cur => cur._publishCursor(self))); } catch (e) { self.error(e); return; From 4ca0a12b74f8c346159f29e9ef00c6746521049f Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Fri, 19 Jul 2024 12:27:13 -0400 Subject: [PATCH 29/83] add test --- packages/ddp-server/livedata_server_tests.js | 67 ++++++++++++++++++++ packages/ddp-server/package.js | 1 + 2 files changed, 68 insertions(+) diff --git a/packages/ddp-server/livedata_server_tests.js b/packages/ddp-server/livedata_server_tests.js index 445630b4c4..cbc4e33b1b 100644 --- a/packages/ddp-server/livedata_server_tests.js +++ b/packages/ddp-server/livedata_server_tests.js @@ -442,3 +442,70 @@ Tinytest.addAsync("livedata server - waiting for Promise", (test, onComplete) => .then(onComplete); }) ); + +Tinytest.addAsync('livedata server - publish cursor is properly awaited', async function (test) { + const messages = [] + + let sub = null; + + const { clientConn } = await getTestConnections(test) + + const send = clientConn._stream.send + + clientConn._stream.send = function (...args) { + send.apply(this, args) + messages.push(args[0]) + } + + clientConn._stream.on('message', message => messages.push(message)); + + const coll = new Mongo.Collection('items', { + defineMutationMethods: false, + }); + + for (let i = 0; i < 10; i++) { + await coll.removeAsync({ _id: `item_${i}` }) + await coll.insertAsync({ _id: `item_${i}`, title: `Item #${i}` }); + } + + delete Meteor.server.publish_handlers['asyncPublishCursor']; + + Meteor.publish('asyncPublishCursor', async function (count) { + return coll.find({}, { limit: count }); + }); + + const reactiveVar = new ReactiveVar(1); + + const computation = Tracker.autorun(() => { + sub = clientConn.subscribe('asyncPublishCursor', reactiveVar.get()); + }); + + await sleep(100) + + reactiveVar.set(2); + + await sleep(100) + + const expectedMessages = ['sub', 'added', 'ready', 'sub', 'unsub', 'added', 'ready', 'nosub'] + + /** + * There shouldn't ever be `removed` messages here, otherwise the UI will glitch + */ + const parsedMessages = messages.map(m => EJSON.parse(m).msg) + + test.equal(parsedMessages, expectedMessages) + + computation.stop(); +}); + +function getTestConnections(test) { + return new Promise((resolve, reject) => { + makeTestConnection(test, (clientConn, serverConn) => { + resolve({ clientConn, serverConn }); + }, reject); + }) +} + +function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); +} \ No newline at end of file diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index 771ac4909a..2b04188333 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -49,6 +49,7 @@ Package.onUse(function (api) { Package.onTest(function (api) { api.use('ecmascript', ['client', 'server']); + api.use('ejson', ['client', 'server']); api.use('livedata', ['client', 'server']); api.use('mongo', ['client', 'server']); api.use('test-helpers', ['client', 'server']); From bc55ac272189da12055fc2c105bf6af321df577e Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Fri, 19 Jul 2024 12:33:20 -0400 Subject: [PATCH 30/83] shrinkwraps --- .../.npm/package/npm-shrinkwrap.json | 6 +- .../.npm/package/npm-shrinkwrap.json | 6 +- .../email/.npm/package/npm-shrinkwrap.json | 6 +- .../.npm/package/npm-shrinkwrap.json | 72 +++++++++---------- .../webapp/.npm/package/npm-shrinkwrap.json | 21 ++++-- 5 files changed, 59 insertions(+), 52 deletions(-) diff --git a/packages/accounts-2fa/.npm/package/npm-shrinkwrap.json b/packages/accounts-2fa/.npm/package/npm-shrinkwrap.json index 9f9042977e..09ae94aaeb 100644 --- a/packages/accounts-2fa/.npm/package/npm-shrinkwrap.json +++ b/packages/accounts-2fa/.npm/package/npm-shrinkwrap.json @@ -2,9 +2,9 @@ "lockfileVersion": 4, "dependencies": { "@types/node": { - "version": "20.14.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", - "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==" + "version": "20.14.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", + "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==" }, "@types/notp": { "version": "2.0.5", diff --git a/packages/accounts-password/.npm/package/npm-shrinkwrap.json b/packages/accounts-password/.npm/package/npm-shrinkwrap.json index bea360b61d..62d088c856 100644 --- a/packages/accounts-password/.npm/package/npm-shrinkwrap.json +++ b/packages/accounts-password/.npm/package/npm-shrinkwrap.json @@ -233,9 +233,9 @@ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==" + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==" }, "set-blocking": { "version": "2.0.0", diff --git a/packages/email/.npm/package/npm-shrinkwrap.json b/packages/email/.npm/package/npm-shrinkwrap.json index c43eb6a9ea..17f1728a37 100644 --- a/packages/email/.npm/package/npm-shrinkwrap.json +++ b/packages/email/.npm/package/npm-shrinkwrap.json @@ -2,9 +2,9 @@ "lockfileVersion": 4, "dependencies": { "@types/node": { - "version": "20.14.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", - "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==" + "version": "20.14.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", + "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==" }, "@types/nodemailer": { "version": "6.4.14", diff --git a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json index 66bce6a75a..a318cf8cba 100644 --- a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json +++ b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json @@ -181,9 +181,9 @@ "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==" }, "@mongodb-js/saslprep": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.7.tgz", - "integrity": "sha512-dCHW/oEX0KJ4NjDULBo3JiOaK5+6axtpBbS+ao2ZInoAL9/YRQLhXzSNAFz7hP4nzLkIqsfYAK/PDE3+XHny0Q==" + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.8.tgz", + "integrity": "sha512-qKwC/M/nNNaKUBMQ0nuzm47b7ZYWQHN3pcXq4IIcoSBc2hOIrflAxJduIvvqmhoz3gR2TacTAs8vlsCVPkiEdQ==" }, "@smithy/abort-controller": { "version": "3.1.1", @@ -196,9 +196,9 @@ "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==" }, "@smithy/core": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.2.6.tgz", - "integrity": "sha512-tBbVIv/ui7/lLTKayYJJvi8JLVL2SwOQTbNFEOrvzSE3ktByvsa1erwBOnAMo8N5Vu30g7lN4lLStrU75oDGuw==" + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.2.7.tgz", + "integrity": "sha512-Wwd9QWKaYdR+n/oIqJbuwSr9lHuv7sa1e3Zu4wIToZl0sS7xapTYYqQtXP1hKKtIWz0jl8AhvOfNwkfT5jjV0w==" }, "@smithy/credential-provider-imds": { "version": "3.1.4", @@ -206,9 +206,9 @@ "integrity": "sha512-NKyH01m97Xa5xf3pB2QOF3lnuE8RIK0hTVNU5zvZAwZU8uspYO4DHQVlK+Y5gwSrujTfHvbfd1D9UFJAc0iYKQ==" }, "@smithy/fetch-http-handler": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.1.tgz", - "integrity": "sha512-0w0bgUvZmfa0vHN8a+moByhCJT07WN6AHKEhFSOLsDpnszm+5dLVv5utGaqbhOrZ/aF5x3xuPMs/oMCd+4O5xg==" + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.2.tgz", + "integrity": "sha512-3LaWlBZObyGrOOd7e5MlacnAKEwFBmAeiW/TOj2eR9475Vnq30uS2510+tnKbxrGjROfNdOhQqGo5j3sqLT6bA==" }, "@smithy/hash-node": { "version": "3.0.3", @@ -226,9 +226,9 @@ "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==" }, "@smithy/middleware-content-length": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.3.tgz", - "integrity": "sha512-Dbz2bzexReYIQDWMr+gZhpwBetNXzbhnEMhYKA6urqmojO14CsXjnsoPYO8UL/xxcawn8ZsuVU61ElkLSltIUQ==" + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.4.tgz", + "integrity": "sha512-wySGje/KfhsnF8YSh9hP16pZcl3C+X6zRsvSfItQGvCyte92LliilU3SD0nR7kTlxnAJwxY8vE/k4Eoezj847Q==" }, "@smithy/middleware-endpoint": { "version": "3.0.5", @@ -236,9 +236,9 @@ "integrity": "sha512-V4acqqrh5tDxUEGVTOgf2lYMZqPQsoGntCrjrJZEeBzEzDry2d2vcI1QCXhGltXPPY+BMc6eksZMguA9fIY8vA==" }, "@smithy/middleware-retry": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.9.tgz", - "integrity": "sha512-Mrv9omExU1gA7Y0VEJG2LieGfPYtwwcEiOnVGZ54a37NEMr66TJ0glFslOJFuKWG6izg5DpKIUmDV9rRxjm47Q==" + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.10.tgz", + "integrity": "sha512-+6ibpv6jpkTNJS6yErQSEjbxCWf1/jMeUSlpSlUiTYf73LGR9riSRlIrL1+JEW0eEpb6MelQ04BIc38aj8GtxQ==" }, "@smithy/middleware-serde": { "version": "3.0.3", @@ -256,9 +256,9 @@ "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==" }, "@smithy/node-http-handler": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.2.tgz", - "integrity": "sha512-Td3rUNI7qqtoSLTsJBtsyfoG4cF/XMFmJr6Z2dX8QNzIi6tIW6YmuyFml8mJ2cNpyWNqITKbROMOFrvQjmsOvw==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.3.tgz", + "integrity": "sha512-UiKZm8KHb/JeOPzHZtRUfyaRDO1KPKPpsd7iplhiwVGOeVdkiVJ5bVe7+NhWREMOKomrDIDdSZyglvMothLg0Q==" }, "@smithy/property-provider": { "version": "3.1.3", @@ -266,9 +266,9 @@ "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==" }, "@smithy/protocol-http": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.0.3.tgz", - "integrity": "sha512-x5jmrCWwQlx+Zv4jAtc33ijJ+vqqYN+c/ZkrnpvEe/uDas7AT7A/4Rc2CdfxgWv4WFGmEqODIrrUToPN6DDkGw==" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.0.4.tgz", + "integrity": "sha512-fAA2O4EFyNRyYdFLVIv5xMMeRb+3fRKc/Rt2flh5k831vLvUmNFXcydeg7V3UeEhGURJI4c1asmGJBjvmF6j8Q==" }, "@smithy/querystring-builder": { "version": "3.0.3", @@ -296,9 +296,9 @@ "integrity": "sha512-3BcPylEsYtD0esM4Hoyml/+s7WP2LFhcM3J2AGdcL2vx9O60TtfpDOL72gjb4lU8NeRPeKAwR77YNyyGvMbuEA==" }, "@smithy/smithy-client": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.7.tgz", - "integrity": "sha512-nZbJZB0XI3YnaFBWGDBr7kjaew6O0oNYNmopyIz6gKZEbxzrtH7rwvU1GcVxcSFoOwWecLJEe79fxEMljHopFQ==" + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.8.tgz", + "integrity": "sha512-nUNGCa0NgvtD0eM45732EBp1H9JQITChMBegGtPRhJD00v3hiFF6tibiOihcYwP5mbp9Kui+sOCl86rDT/Ew2w==" }, "@smithy/types": { "version": "3.3.0", @@ -336,14 +336,14 @@ "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==" }, "@smithy/util-defaults-mode-browser": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.9.tgz", - "integrity": "sha512-WKPcElz92MAQG09miBdb0GxEH/MwD5GfE8g07WokITq5g6J1ROQfYCKC1wNnkqAGfrSywT7L0rdvvqlBplqiyA==" + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.10.tgz", + "integrity": "sha512-WgaNxh33md2zvlD+1TSceVmM7DIy7qYMtuhOat+HYoTntsg0QTbNvoB/5DRxEwSpN84zKf9O34yqzRRtxJZgFg==" }, "@smithy/util-defaults-mode-node": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.9.tgz", - "integrity": "sha512-dQLrUqFxqpf0GvEKEuFdgXcdZwz6oFm752h4d6C7lQz+RLddf761L2r7dSwGWzESMMB3wKj0jL+skRhEGlecjw==" + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.10.tgz", + "integrity": "sha512-3x/pcNIFyaAEQqXc3qnQsCFLlTz/Mwsfl9ciEPU56/Dk/g1kTFjkzyLbUNJaeOo5HT01VrpJBKrBuN94qbPm9A==" }, "@smithy/util-endpoints": { "version": "2.0.5", @@ -366,9 +366,9 @@ "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==" }, "@smithy/util-stream": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.0.6.tgz", - "integrity": "sha512-w9i//7egejAIvplX821rPWWgaiY1dxsQUw0hXX7qwa/uZ9U3zplqTQ871jWadkcVB9gFDhkPWYVZf4yfFbZ0xA==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.0.tgz", + "integrity": "sha512-QEMvyv58QIptWA8cpQPbHagJOAlrbCt3ueB9EShwdFfVMYAviXdVtksszQQq+o+dv5dalUMWUbUHUDSJgkF9xg==" }, "@smithy/util-uri-escape": { "version": "3.0.0", @@ -381,9 +381,9 @@ "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==" }, "@types/node": { - "version": "20.14.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", - "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==" + "version": "20.14.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", + "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==" }, "@types/webidl-conversions": { "version": "7.0.3", diff --git a/packages/webapp/.npm/package/npm-shrinkwrap.json b/packages/webapp/.npm/package/npm-shrinkwrap.json index b72207874b..9d7195e99b 100644 --- a/packages/webapp/.npm/package/npm-shrinkwrap.json +++ b/packages/webapp/.npm/package/npm-shrinkwrap.json @@ -32,9 +32,9 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "@types/node": { - "version": "20.14.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", - "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==" + "version": "20.14.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", + "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==" }, "@types/qs": { "version": "6.9.15", @@ -308,14 +308,21 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "version": "1.53.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.53.0.tgz", + "integrity": "sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==" }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + } + } }, "ms": { "version": "2.0.0", From f169bc81bbde74cc6ebf0fe95b2fcf035f6ba5ee Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Fri, 19 Jul 2024 12:42:45 -0400 Subject: [PATCH 31/83] clean code --- packages/ddp-client/common/livedata_connection.js | 9 +-------- packages/ddp-server/livedata_server_tests.js | 3 +++ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index ac1d168420..b5c406c7a5 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -456,7 +456,7 @@ export class Connection { this.ready && this.readyDeps.changed(); }, stop() { - this.connection._sendQueued({ msg: 'unsub', id: id }); + this.connection._send({ msg: 'unsub', id: id }); this.remove(); if (callbacks.onStop) { @@ -1031,13 +1031,6 @@ export class Connection { this._stream.send(DDPCommon.stringifyDDP(obj)); } - // Always queues the call before sending the message - // Used, for example, on subscription.[id].stop() to make sure a "sub" message is always called before an "unsub" message - // https://github.com/meteor/meteor/issues/13212 - _sendQueued(obj) { - this._send(obj, true); - } - // We detected via DDP-level heartbeats that we've lost the // connection. Unlike `disconnect` or `close`, a lost connection // will be automatically retried. diff --git a/packages/ddp-server/livedata_server_tests.js b/packages/ddp-server/livedata_server_tests.js index cbc4e33b1b..87db540846 100644 --- a/packages/ddp-server/livedata_server_tests.js +++ b/packages/ddp-server/livedata_server_tests.js @@ -443,6 +443,9 @@ Tinytest.addAsync("livedata server - waiting for Promise", (test, onComplete) => }) ); +/** + * https://github.com/meteor/meteor/issues/13212 + */ Tinytest.addAsync('livedata server - publish cursor is properly awaited', async function (test) { const messages = [] From a45bb9eda51c154230290ddfc6cf6070efccf053 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Fri, 19 Jul 2024 15:11:01 -0400 Subject: [PATCH 32/83] fix conflicting publication name --- packages/ddp-server/livedata_server_tests.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/ddp-server/livedata_server_tests.js b/packages/ddp-server/livedata_server_tests.js index 87db540846..57ed24acb4 100644 --- a/packages/ddp-server/livedata_server_tests.js +++ b/packages/ddp-server/livedata_server_tests.js @@ -471,16 +471,18 @@ Tinytest.addAsync('livedata server - publish cursor is properly awaited', async await coll.insertAsync({ _id: `item_${i}`, title: `Item #${i}` }); } - delete Meteor.server.publish_handlers['asyncPublishCursor']; + const publicationName = `publication_${Random.id()}` - Meteor.publish('asyncPublishCursor', async function (count) { + delete Meteor.server.publish_handlers[publicationName]; + + Meteor.publish(publicationName, async function (count) { return coll.find({}, { limit: count }); }); const reactiveVar = new ReactiveVar(1); const computation = Tracker.autorun(() => { - sub = clientConn.subscribe('asyncPublishCursor', reactiveVar.get()); + sub = clientConn.subscribe(publicationName, reactiveVar.get()); }); await sleep(100) From 6061c36bf8ca181a7a19893acfeb574fd682f53a Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Fri, 19 Jul 2024 15:19:59 -0400 Subject: [PATCH 33/83] remove test not needed --- .../test/livedata_connection_tests.js | 41 ------------------- 1 file changed, 41 deletions(-) diff --git a/packages/ddp-client/test/livedata_connection_tests.js b/packages/ddp-client/test/livedata_connection_tests.js index b2f5fd647a..1d20334e7b 100644 --- a/packages/ddp-client/test/livedata_connection_tests.js +++ b/packages/ddp-client/test/livedata_connection_tests.js @@ -2509,47 +2509,6 @@ if (Meteor.isClient) { test.equal((await coll.findOneAsync('aaa')).method, 222); test.equal((await coll.findOneAsync('aaa')).subscription, 112); }); - - Tinytest.addAsync( - "livedata connection - make sure the sub and unsub run in the correct order", - async function (test, onComplete) { - const stream = new StubStream(); - // Make sure to disable this flag so the subscribe and unsubscribe are queued - stream._neverQueued = false; - const conn = newConnection(stream); - - const sub = conn.subscribe("test_data"); - - // the subscribe message is still in the queue - test.isFalse(conn._readyToMigrate()); - test.length(stream.sent, 0); - - // unsubscribe - sub.stop(); - - // the queue still holds the data and no message arrived yet - test.isFalse(conn._readyToMigrate()); - test.length(stream.sent, 0); - - // waits until the queue is empty - await waitUntil(conn._readyToMigrate); - - // the first message is the sub message - let subMessage = JSON.parse(stream.sent.shift()); - test.equal(subMessage, { - msg: "sub", - name: "test_data", - params: [], - id: subMessage.id, - }); - test.length(stream.sent, 1); - - // the second message is the unsub - subMessage = JSON.parse(stream.sent.shift()); - test.equal(subMessage, { msg: "unsub", id: subMessage.id }); - test.length(stream.sent, 0); - } - ); } // XXX also test: From 5b9dfecf4114a502a2cf93d94a47004579d2b47f Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Mon, 22 Jul 2024 09:24:52 -0400 Subject: [PATCH 34/83] Revert "remove test not needed" This reverts commit 6061c36bf8ca181a7a19893acfeb574fd682f53a. --- .../test/livedata_connection_tests.js | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/packages/ddp-client/test/livedata_connection_tests.js b/packages/ddp-client/test/livedata_connection_tests.js index 1d20334e7b..b2f5fd647a 100644 --- a/packages/ddp-client/test/livedata_connection_tests.js +++ b/packages/ddp-client/test/livedata_connection_tests.js @@ -2509,6 +2509,47 @@ if (Meteor.isClient) { test.equal((await coll.findOneAsync('aaa')).method, 222); test.equal((await coll.findOneAsync('aaa')).subscription, 112); }); + + Tinytest.addAsync( + "livedata connection - make sure the sub and unsub run in the correct order", + async function (test, onComplete) { + const stream = new StubStream(); + // Make sure to disable this flag so the subscribe and unsubscribe are queued + stream._neverQueued = false; + const conn = newConnection(stream); + + const sub = conn.subscribe("test_data"); + + // the subscribe message is still in the queue + test.isFalse(conn._readyToMigrate()); + test.length(stream.sent, 0); + + // unsubscribe + sub.stop(); + + // the queue still holds the data and no message arrived yet + test.isFalse(conn._readyToMigrate()); + test.length(stream.sent, 0); + + // waits until the queue is empty + await waitUntil(conn._readyToMigrate); + + // the first message is the sub message + let subMessage = JSON.parse(stream.sent.shift()); + test.equal(subMessage, { + msg: "sub", + name: "test_data", + params: [], + id: subMessage.id, + }); + test.length(stream.sent, 1); + + // the second message is the unsub + subMessage = JSON.parse(stream.sent.shift()); + test.equal(subMessage, { msg: "unsub", id: subMessage.id }); + test.length(stream.sent, 0); + } + ); } // XXX also test: From 2db320a9fe6ac4a08d9924d63465a64f8c955a4d Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Mon, 22 Jul 2024 09:33:50 -0400 Subject: [PATCH 35/83] unsub still needs to be queued --- packages/ddp-client/common/livedata_connection.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index b5c406c7a5..f86d0971b3 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -456,7 +456,7 @@ export class Connection { this.ready && this.readyDeps.changed(); }, stop() { - this.connection._send({ msg: 'unsub', id: id }); + this.connection._sendQueued({ msg: 'unsub', id: id }); this.remove(); if (callbacks.onStop) { @@ -1031,6 +1031,16 @@ export class Connection { this._stream.send(DDPCommon.stringifyDDP(obj)); } + // Always queues the call before sending the message + // Used, for example, on subscription.[id].stop() to make sure a "sub" message is always called before an "unsub" message + // https://github.com/meteor/meteor/issues/13212 + // + // This is part of the actual fix for the rest check: + // https://github.com/meteor/meteor/pull/13236 + _sendQueued(obj) { + this._send(obj, true); + } + // We detected via DDP-level heartbeats that we've lost the // connection. Unlike `disconnect` or `close`, a lost connection // will be automatically retried. From 94f7b4a6a1c690d535b5daf411b77723c1ddd0af Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Tue, 23 Jul 2024 15:38:14 -0400 Subject: [PATCH 36/83] preemptively remove code --- packages/ddp-client/client/queueStubsHelpers.js | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/packages/ddp-client/client/queueStubsHelpers.js b/packages/ddp-client/client/queueStubsHelpers.js index f9f110f8c2..df1360c474 100644 --- a/packages/ddp-client/client/queueStubsHelpers.js +++ b/packages/ddp-client/client/queueStubsHelpers.js @@ -242,18 +242,4 @@ export const loadAsyncStubHelpers = () => { } }); }; - let _oldSendOutstandingMethodBlocksMessages = - Connection.prototype._sendOutstandingMethodBlocksMessages; - Connection.prototype._sendOutstandingMethodBlocksMessages = function () { - if (this._stream._neverQueued) { - return _oldSendOutstandingMethodBlocksMessages.apply(this, arguments); - } - queueFunction((resolve) => { - try { - _oldSendOutstandingMethodBlocksMessages.apply(this, arguments); - } finally { - resolve(); - } - }); - }; }; From cc01c515648cdc7156c21a84050954c87664d189 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Wed, 24 Jul 2024 13:13:20 -0400 Subject: [PATCH 37/83] add command --- .envrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.envrc b/.envrc index 1b4ca4f3b5..bb5122406d 100644 --- a/.envrc +++ b/.envrc @@ -36,6 +36,10 @@ function @generate-dev-bundle { "$ROOT_DIR/scripts/generate-dev-bundle.sh" } +function @init-submodule { + git submodule update --init --recursive +} + ################# # Documentation # ################# From 37b6a93eb3560d1b50d275266247d4fa1e57b0b6 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Wed, 24 Jul 2024 13:16:16 -0400 Subject: [PATCH 38/83] add message --- packages/accounts-base/accounts_reconnect_tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/accounts-base/accounts_reconnect_tests.js b/packages/accounts-base/accounts_reconnect_tests.js index dcee651786..8341cf0a5d 100644 --- a/packages/accounts-base/accounts_reconnect_tests.js +++ b/packages/accounts-base/accounts_reconnect_tests.js @@ -154,7 +154,7 @@ if (Meteor.isClient) { .then((id) => { // 4. the server should still return an id after connection test.isTrue(Meteor.status().connected); - test.isTrue(id); + test.isTrue(id, 'userId exists in the server after reconnect'); }) .finally(done); From a97587bedc80859137e0f2e69436a992b49b12bb Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Wed, 24 Jul 2024 13:16:25 -0400 Subject: [PATCH 39/83] commit shrinkwrap --- .../.npm/package/npm-shrinkwrap.json | 168 +++++++++--------- .../webapp/.npm/package/npm-shrinkwrap.json | 6 +- 2 files changed, 87 insertions(+), 87 deletions(-) diff --git a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json index a318cf8cba..9e5b0ff244 100644 --- a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json +++ b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json @@ -56,34 +56,34 @@ } }, "@aws-sdk/client-cognito-identity": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.614.0.tgz", - "integrity": "sha512-nydN0TVIMkYhYcCABkCcllmhLakzD4aN8r6ROWWG83+XFtBGgnvY2cxj2uFx+Vp7THAVnG2r6GVGKzEwvAH3pA==" + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.616.0.tgz", + "integrity": "sha512-3yli0rchw7FuI8CmxUKW5z6TzrAJzBm9x+Se20Gqm0idXc2X2RT4Z8axtni5umBu8+4QWgNDZAr/WG6bR/JUGA==" }, "@aws-sdk/client-sso": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.614.0.tgz", - "integrity": "sha512-p5pyYaxRzBttjBkqfc8i3K7DzBdTg3ECdVgBo6INIUxfvDy0J8QUE8vNtCgvFIkq+uPw/8M+Eo4zzln7anuO0Q==" + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.616.0.tgz", + "integrity": "sha512-hwW0u1f8U4dSloAe61/eupUiGd5Q13B72BuzGxvRk0cIpYX/2m0KBG8DDl7jW1b2QQ+CflTLpG2XUf2+vRJxGA==" }, "@aws-sdk/client-sso-oidc": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.614.0.tgz", - "integrity": "sha512-BI1NWcpppbHg/28zbUg54dZeckork8BItZIcjls12vxasy+p3iEzrJVG60jcbUTTsk3Qc1tyxNfrdcVqx0y7Ww==" + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.616.0.tgz", + "integrity": "sha512-YY1hpYS/G1uRGjQf88dL8VLHkP/IjGxKeXdhy+JnzMdCkAWl3V9j0fEALw40NZe0x79gr6R2KUOUH/IKYQfUmg==" }, "@aws-sdk/client-sts": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.614.0.tgz", - "integrity": "sha512-i6QmaVA1KHHYNnI2VYQy/sc31rLm4+jSp8b/YbQpFnD0w3aXsrEEHHlxek45uSkHb4Nrj1omFBVy/xp1WVYx2Q==" + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.616.0.tgz", + "integrity": "sha512-FP7i7hS5FpReqnysQP1ukQF1OUWy8lkomaOnbu15H415YUrfCp947SIx6+BItjmx+esKxPkEjh/fbCVzw2D6hQ==" }, "@aws-sdk/core": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.614.0.tgz", - "integrity": "sha512-BUuS5/1YkgmKc4J0bg83XEtMyDHVyqG2QDzfmhYe8gbOIZabUl1FlrFVwhCAthtrrI6MPGTQcERB4BtJKUSplw==" + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.616.0.tgz", + "integrity": "sha512-O/urkh2kECs/IqZIVZxyeyHZ7OR2ZWhLNK7btsVQBQvJKrEspLrk/Fp20Qfg5JDerQfBN83ZbyRXLJOOucdZpw==" }, "@aws-sdk/credential-provider-cognito-identity": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.614.0.tgz", - "integrity": "sha512-Y89x4RKUlggxtCU07OhQRhvsiBBOzt0ep7OyxnnkhgPrbmY+N4tfMk3sEo02sxetqTuirLz4hRbfxwlsM5scpw==" + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.616.0.tgz", + "integrity": "sha512-bcsf36gdGY2SpvTmoxd7t2235q+Rjg6xnTeCiKs9YuzbNezZ4FosqSORs7/vu2CvyaXWwV28909Q1boZ76v4TA==" }, "@aws-sdk/credential-provider-env": { "version": "3.609.0", @@ -91,19 +91,19 @@ "integrity": "sha512-v69ZCWcec2iuV9vLVJMa6fAb5xwkzN4jYIT8yjo2c4Ia/j976Q+TPf35Pnz5My48Xr94EFcaBazrWedF+kwfuQ==" }, "@aws-sdk/credential-provider-http": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.614.0.tgz", - "integrity": "sha512-YIEjlNUKb3Vo/iTnGAPdsiDC3FUUnNoex2OwU8LmR7AkYZiWdB8nx99DfgkkY+OFMUpw7nKD2PCOtuFONelfGA==" + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.616.0.tgz", + "integrity": "sha512-1rgCkr7XvEMBl7qWCo5BKu3yAxJs71dRaZ55Xnjte/0ZHH6Oc93ZrHzyYy6UH6t0nZrH+FAuw7Yko2YtDDwDeg==" }, "@aws-sdk/credential-provider-ini": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.614.0.tgz", - "integrity": "sha512-KfLuLFGwlvFSZ2MuzYwWGPb1y5TeiwX5okIDe0aQ1h10oD3924FXbN+mabOnUHQ8EFcGAtCaWbrC86mI7ktC6A==" + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.616.0.tgz", + "integrity": "sha512-5gQdMr9cca3xV7FF2SxpxWGH2t6+t4o+XBGiwsHm8muEjf4nUmw7Ij863x25Tjt2viPYV0UStczSb5Sihp7bkA==" }, "@aws-sdk/credential-provider-node": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.614.0.tgz", - "integrity": "sha512-4J6gPEuFZP0mkWq5E//oMS1vrmMM88iNNcv7TEljYnsc6JTAlKejCyFwx6CN+nkIhmIZsl06SXIhBemzBdBPfg==" + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.616.0.tgz", + "integrity": "sha512-Se+u6DAxjDPjKE3vX1X2uxjkWgGq69BTo0uTB0vDUiWwBVgh16s9BsBhSAlKEH1CCbbJHvOg4YdTrzjwzqyClg==" }, "@aws-sdk/credential-provider-process": { "version": "3.614.0", @@ -111,9 +111,9 @@ "integrity": "sha512-Q0SI0sTRwi8iNODLs5+bbv8vgz8Qy2QdxbCHnPk/6Cx6LMf7i3dqmWquFbspqFRd8QiqxStrblwxrUYZi09tkA==" }, "@aws-sdk/credential-provider-sso": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.614.0.tgz", - "integrity": "sha512-55+gp0JY4451cWI1qXmVMFM0GQaBKiQpXv2P0xmd9P3qLDyeFUSEW8XPh0d2lb1ICr6x4s47ynXVdGCIv2mXMg==" + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.616.0.tgz", + "integrity": "sha512-3rsWs9GBi8Z8Gps5ROwqguxtw+J6OIg1vawZMLRNMqqZoBvbOToe9wEnpid8ylU+27+oG8uibJNlNuRyXApUjw==" }, "@aws-sdk/credential-provider-web-identity": { "version": "3.609.0", @@ -121,14 +121,14 @@ "integrity": "sha512-U+PG8NhlYYF45zbr1km3ROtBMYqyyj/oK8NRp++UHHeuavgrP+4wJ4wQnlEaKvJBjevfo3+dlIBcaeQ7NYejWg==" }, "@aws-sdk/credential-providers": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.614.0.tgz", - "integrity": "sha512-mgb6bcLiOig9ZWxuAF4g0QwLGuqSleYFAyPWyWo30XafCAGB2MfCwxksVWRH+cuX86fCnAF8XgYnaSs38fBOXA==" + "version": "3.617.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.617.0.tgz", + "integrity": "sha512-ZXzdnHI7Tfsk7Y2hezlhxFHlG2VM5tTWQPZ0qZ/cYCzZxyZfsmSFr/rMi6wJGB2J6ZDbbAohEoOWrEblHVq7Cw==" }, "@aws-sdk/middleware-host-header": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.609.0.tgz", - "integrity": "sha512-iTKfo158lc4jLDfYeZmYMIBHsn8m6zX+XB6birCSNZ/rrlzAkPbGE43CNdKfvjyWdqgLMRXF+B+OcZRvqhMXPQ==" + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.616.0.tgz", + "integrity": "sha512-mhNfHuGhCDZwYCABebaOvTgOM44UCZZRq2cBpgPZLVKP0ydAv5aFHXv01goexxXHqgHoEGx0uXWxlw0s2EpFDg==" }, "@aws-sdk/middleware-logger": { "version": "3.609.0", @@ -136,14 +136,14 @@ "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==" }, "@aws-sdk/middleware-recursion-detection": { - "version": "3.609.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.609.0.tgz", - "integrity": "sha512-6sewsYB7/o/nbUfA99Aa/LokM+a/u4Wpm/X2o0RxOsDtSB795ObebLJe2BxY5UssbGaWkn7LswyfvrdZNXNj1w==" + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.616.0.tgz", + "integrity": "sha512-LQKAcrZRrR9EGez4fdCIVjdn0Ot2HMN12ChnoMGEU6oIxnQ2aSC7iASFFCV39IYfeMh7iSCPj7Wopqw8rAouzg==" }, "@aws-sdk/middleware-user-agent": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.614.0.tgz", - "integrity": "sha512-xUxh0UPQiMTG6E31Yvu6zVYlikrIcFDKljM11CaatInzvZubGTGiX0DjpqRlfGzUNsuPc/zNrKwRP2+wypgqIw==" + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.616.0.tgz", + "integrity": "sha512-iMcAb4E+Z3vuEcrDsG6T2OBNiqWAquwahP9qepHqfmnmJqHr1mSHtXDYTGBNid31+621sUQmneUQ+fagpGAe4w==" }, "@aws-sdk/region-config-resolver": { "version": "3.614.0", @@ -196,19 +196,19 @@ "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==" }, "@smithy/core": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.2.7.tgz", - "integrity": "sha512-Wwd9QWKaYdR+n/oIqJbuwSr9lHuv7sa1e3Zu4wIToZl0sS7xapTYYqQtXP1hKKtIWz0jl8AhvOfNwkfT5jjV0w==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.3.0.tgz", + "integrity": "sha512-tvSwf+PF5uurExeJsl+sSNn4bPsYShL86fJ/wcj63cioJ0IF131BxC5QxX8qkIISk7Pr7g2+UJH9ib4cCafvqw==" }, "@smithy/credential-provider-imds": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.1.4.tgz", - "integrity": "sha512-NKyH01m97Xa5xf3pB2QOF3lnuE8RIK0hTVNU5zvZAwZU8uspYO4DHQVlK+Y5gwSrujTfHvbfd1D9UFJAc0iYKQ==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", + "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==" }, "@smithy/fetch-http-handler": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.2.tgz", - "integrity": "sha512-3LaWlBZObyGrOOd7e5MlacnAKEwFBmAeiW/TOj2eR9475Vnq30uS2510+tnKbxrGjROfNdOhQqGo5j3sqLT6bA==" + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.3.tgz", + "integrity": "sha512-m4dzQeafWi5KKCCnDwGGHYk9lqcLs9LvlXZRB0J38DMectsEbxdiO/Rx1NaYYMIkath7AnjpR+r0clL+7dwclQ==" }, "@smithy/hash-node": { "version": "3.0.3", @@ -226,19 +226,19 @@ "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==" }, "@smithy/middleware-content-length": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.4.tgz", - "integrity": "sha512-wySGje/KfhsnF8YSh9hP16pZcl3C+X6zRsvSfItQGvCyte92LliilU3SD0nR7kTlxnAJwxY8vE/k4Eoezj847Q==" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz", + "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==" }, "@smithy/middleware-endpoint": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.0.5.tgz", - "integrity": "sha512-V4acqqrh5tDxUEGVTOgf2lYMZqPQsoGntCrjrJZEeBzEzDry2d2vcI1QCXhGltXPPY+BMc6eksZMguA9fIY8vA==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", + "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==" }, "@smithy/middleware-retry": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.10.tgz", - "integrity": "sha512-+6ibpv6jpkTNJS6yErQSEjbxCWf1/jMeUSlpSlUiTYf73LGR9riSRlIrL1+JEW0eEpb6MelQ04BIc38aj8GtxQ==" + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.12.tgz", + "integrity": "sha512-CncrlzNiBzuZZYLJ49H4dC6FEz62hnv0Y0nJyl/oZ73FX/9CDHWkIRD4ZOf5ntB6QyYWx0G3mXAOHOcM5omlLg==" }, "@smithy/middleware-serde": { "version": "3.0.3", @@ -256,9 +256,9 @@ "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==" }, "@smithy/node-http-handler": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.3.tgz", - "integrity": "sha512-UiKZm8KHb/JeOPzHZtRUfyaRDO1KPKPpsd7iplhiwVGOeVdkiVJ5bVe7+NhWREMOKomrDIDdSZyglvMothLg0Q==" + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", + "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==" }, "@smithy/property-provider": { "version": "3.1.3", @@ -266,9 +266,9 @@ "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==" }, "@smithy/protocol-http": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.0.4.tgz", - "integrity": "sha512-fAA2O4EFyNRyYdFLVIv5xMMeRb+3fRKc/Rt2flh5k831vLvUmNFXcydeg7V3UeEhGURJI4c1asmGJBjvmF6j8Q==" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", + "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==" }, "@smithy/querystring-builder": { "version": "3.0.3", @@ -291,14 +291,14 @@ "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==" }, "@smithy/signature-v4": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-3.1.2.tgz", - "integrity": "sha512-3BcPylEsYtD0esM4Hoyml/+s7WP2LFhcM3J2AGdcL2vx9O60TtfpDOL72gjb4lU8NeRPeKAwR77YNyyGvMbuEA==" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", + "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==" }, "@smithy/smithy-client": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.8.tgz", - "integrity": "sha512-nUNGCa0NgvtD0eM45732EBp1H9JQITChMBegGtPRhJD00v3hiFF6tibiOihcYwP5mbp9Kui+sOCl86rDT/Ew2w==" + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.10.tgz", + "integrity": "sha512-OLHJo0DAmhX69YUF3WbNfzzxGIncGdxao+v27o24msdhin2AWTxJMaBQ3iPGfIrWMjy+8YGMXUJ7PrkJlpznTw==" }, "@smithy/types": { "version": "3.3.0", @@ -336,14 +336,14 @@ "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==" }, "@smithy/util-defaults-mode-browser": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.10.tgz", - "integrity": "sha512-WgaNxh33md2zvlD+1TSceVmM7DIy7qYMtuhOat+HYoTntsg0QTbNvoB/5DRxEwSpN84zKf9O34yqzRRtxJZgFg==" + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.12.tgz", + "integrity": "sha512-5b81UUPKjD61DMg7JBYzkSM1Vny/RfRRhnZYzuWjm25OyrEXsar3RgbbXYR+otdx+wrPR3QmuFtbDZmEgGpwVg==" }, "@smithy/util-defaults-mode-node": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.10.tgz", - "integrity": "sha512-3x/pcNIFyaAEQqXc3qnQsCFLlTz/Mwsfl9ciEPU56/Dk/g1kTFjkzyLbUNJaeOo5HT01VrpJBKrBuN94qbPm9A==" + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.12.tgz", + "integrity": "sha512-g2NdtGDN67PepBs0t/mkrlQ2nVkhKUDJZCNmEJIarzYq2sK4mKO9t61Nzlv+gHEEC3ESfRaMCC/Ol3ZfCZYg7Q==" }, "@smithy/util-endpoints": { "version": "2.0.5", @@ -366,9 +366,9 @@ "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==" }, "@smithy/util-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.0.tgz", - "integrity": "sha512-QEMvyv58QIptWA8cpQPbHagJOAlrbCt3ueB9EShwdFfVMYAviXdVtksszQQq+o+dv5dalUMWUbUHUDSJgkF9xg==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.2.tgz", + "integrity": "sha512-08zDzB7BqvybHfZKnav5lL1UniFDK6o6nZ3OWp60PKsi/na2LpU6OX8MCtDNVaPBpKpc8EH26fvFhNT6wvMlbw==" }, "@smithy/util-uri-escape": { "version": "3.0.0", @@ -381,9 +381,9 @@ "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==" }, "@types/node": { - "version": "20.14.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", - "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==" + "version": "20.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", + "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==" }, "@types/webidl-conversions": { "version": "7.0.3", diff --git a/packages/webapp/.npm/package/npm-shrinkwrap.json b/packages/webapp/.npm/package/npm-shrinkwrap.json index 9d7195e99b..12789422c3 100644 --- a/packages/webapp/.npm/package/npm-shrinkwrap.json +++ b/packages/webapp/.npm/package/npm-shrinkwrap.json @@ -32,9 +32,9 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "@types/node": { - "version": "20.14.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", - "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==" + "version": "20.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", + "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==" }, "@types/qs": { "version": "6.9.15", From 60011a03662f3179e9125d01484619c00a1d43d9 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Wed, 24 Jul 2024 14:07:22 -0400 Subject: [PATCH 40/83] Revert "preemptively remove code" This reverts commit 94f7b4a6a1c690d535b5daf411b77723c1ddd0af. --- packages/ddp-client/client/queueStubsHelpers.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/ddp-client/client/queueStubsHelpers.js b/packages/ddp-client/client/queueStubsHelpers.js index df1360c474..f9f110f8c2 100644 --- a/packages/ddp-client/client/queueStubsHelpers.js +++ b/packages/ddp-client/client/queueStubsHelpers.js @@ -242,4 +242,18 @@ export const loadAsyncStubHelpers = () => { } }); }; + let _oldSendOutstandingMethodBlocksMessages = + Connection.prototype._sendOutstandingMethodBlocksMessages; + Connection.prototype._sendOutstandingMethodBlocksMessages = function () { + if (this._stream._neverQueued) { + return _oldSendOutstandingMethodBlocksMessages.apply(this, arguments); + } + queueFunction((resolve) => { + try { + _oldSendOutstandingMethodBlocksMessages.apply(this, arguments); + } finally { + resolve(); + } + }); + }; }; From 0934440e090980573b142e921c503713a3cc190e Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Wed, 24 Jul 2024 14:07:34 -0400 Subject: [PATCH 41/83] remove ready call --- packages/autoupdate/autoupdate_server.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/autoupdate/autoupdate_server.js b/packages/autoupdate/autoupdate_server.js index 7d20443c27..282ad9ecb1 100644 --- a/packages/autoupdate/autoupdate_server.js +++ b/packages/autoupdate/autoupdate_server.js @@ -124,7 +124,6 @@ Meteor.publish( }); this.onStop(() => stop()); - this.ready(); }, {is_auto: true} ); From 6b874ce154cdf0cf9796a7fa884d923a3df7d4dd Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Wed, 24 Jul 2024 19:48:19 -0400 Subject: [PATCH 42/83] Revert "remove ready call" This reverts commit 0934440e090980573b142e921c503713a3cc190e. --- packages/autoupdate/autoupdate_server.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/autoupdate/autoupdate_server.js b/packages/autoupdate/autoupdate_server.js index 282ad9ecb1..7d20443c27 100644 --- a/packages/autoupdate/autoupdate_server.js +++ b/packages/autoupdate/autoupdate_server.js @@ -124,6 +124,7 @@ Meteor.publish( }); this.onStop(() => stop()); + this.ready(); }, {is_auto: true} ); From 5398e4247a787776e2e421e4eb85067392cbc845 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Wed, 24 Jul 2024 19:54:35 -0400 Subject: [PATCH 43/83] update auth in subs in a controlled manner --- packages/ddp-server/livedata_server.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/ddp-server/livedata_server.js b/packages/ddp-server/livedata_server.js index 23d6336876..284873d4eb 100644 --- a/packages/ddp-server/livedata_server.js +++ b/packages/ddp-server/livedata_server.js @@ -896,7 +896,7 @@ Object.assign(Session.prototype, { // Sets the current user id in all appropriate contexts and reruns // all subscriptions - _setUserId: function(userId) { + async _setUserId(userId) { var self = this; if (userId !== null && typeof userId !== "string") @@ -931,19 +931,21 @@ Object.assign(Session.prototype, { // DDP._CurrentMethodInvocation set. But DDP._CurrentMethodInvocation is not // expected to be set inside a publish function, so we temporary unset it. // Inside a publish function DDP._CurrentPublicationInvocation is set. - DDP._CurrentMethodInvocation.withValue(undefined, function () { + await DDP._CurrentMethodInvocation.withValue(undefined, async function () { // Save the old named subs, and reset to having no subscriptions. var oldNamedSubs = self._namedSubs; self._namedSubs = new Map(); self._universalSubs = []; - oldNamedSubs.forEach(function (sub, subscriptionId) { - var newSub = sub._recreate(); + + + await Promise.all([...oldNamedSubs].map(async ([subscriptionId, sub]) => { + const newSub = sub._recreate(); self._namedSubs.set(subscriptionId, newSub); // nb: if the handler throws or calls this.error(), it will in fact // immediately send its 'nosub'. This is OK, though. - newSub._runHandler(); - }); + await newSub._runHandler(); + })); // Allow newly-created universal subs to be started on our connection in // parallel with the ones we're spinning up here, and spin up universal From 64032cd3e911cf95833616583332f874386c776b Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Thu, 25 Jul 2024 12:41:12 -0400 Subject: [PATCH 44/83] fix missing option exception --- packages/accounts-base/accounts_common.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/accounts-base/accounts_common.js b/packages/accounts-base/accounts_common.js index 61202bad1f..af1268ec44 100644 --- a/packages/accounts-base/accounts_common.js +++ b/packages/accounts-base/accounts_common.js @@ -19,6 +19,7 @@ const VALID_CONFIG_KEYS = [ 'loginTokenExpirationHours', 'tokenSequenceLength', 'clientStorage', + 'ddpUrl', ]; /** @@ -37,8 +38,7 @@ export class AccountsCommon { // Validate config options keys for (const key of Object.keys(options)) { if (!VALID_CONFIG_KEYS.includes(key)) { - // TODO Consider just logging a debug message instead to allow for additional keys in the settings here? - throw new Meteor.Error(`Accounts.config: Invalid key: ${key}`); + console.error(`Accounts.config: Invalid key: ${key}`); } } @@ -284,8 +284,7 @@ export class AccountsCommon { // Validate config options keys for (const key of Object.keys(options)) { if (!VALID_CONFIG_KEYS.includes(key)) { - // TODO Consider just logging a debug message instead to allow for additional keys in the settings here? - throw new Meteor.Error(`Accounts.config: Invalid key: ${key}`); + console.error(`Accounts.config: Invalid key: ${key}`); } } From 6cbba63484f5fa0b7fac1820ac5749351f39867c Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Thu, 25 Jul 2024 13:47:11 -0400 Subject: [PATCH 45/83] wait for user set id in methods --- packages/accounts-base/accounts_server.js | 4 ++-- packages/accounts-password/email_tests.js | 15 +++++++------ .../ddp-client/test/livedata_test_service.js | 8 +++---- packages/ddp-common/method_invocation.js | 4 ++-- packages/ddp-server/livedata_server.js | 22 +++++++++---------- 5 files changed, 26 insertions(+), 27 deletions(-) diff --git a/packages/accounts-base/accounts_server.js b/packages/accounts-base/accounts_server.js index 067ecc5487..3331bdc307 100644 --- a/packages/accounts-base/accounts_server.js +++ b/packages/accounts-base/accounts_server.js @@ -422,7 +422,7 @@ export class AccountsServer extends AccountsCommon { ) ); - methodInvocation.setUserId(userId); + await methodInvocation.setUserId(userId); return { id: userId, @@ -664,7 +664,7 @@ export class AccountsServer extends AccountsCommon { await accounts.destroyToken(this.userId, token); } await accounts._successfulLogout(this.connection, this.userId); - this.setUserId(null); + await this.setUserId(null); }; // Generates a new login token with the same expiration as the diff --git a/packages/accounts-password/email_tests.js b/packages/accounts-password/email_tests.js index 6c78320c58..177c69ad49 100644 --- a/packages/accounts-password/email_tests.js +++ b/packages/accounts-password/email_tests.js @@ -150,10 +150,12 @@ const getVerifyEmailToken = (email, test, expect) => { })); }; -const loggedIn = (test, expect) => expect((error) => { +const loggedIn = (test, expect) => { + return expect(async (error) => { test.equal(error, undefined); - test.isTrue(Meteor.user()); + test.isTrue(await Meteor.user()); }); +}; testAsyncMulti("accounts emails - verify email flow", [ function (test, expect) { @@ -186,18 +188,17 @@ testAsyncMulti("accounts emails - verify email flow", [ test.equal(await Meteor.user(), null); })); }, - function (test, expect) { - Accounts.verifyEmail(verifyEmailToken, - loggedIn(test, expect)); + function (test, expect) { // failing + Accounts.verifyEmail(verifyEmailToken, loggedIn(test, expect)); }, - async function (test, expect) { + async function (test) { const u = await Meteor.user(); test.equal(u.emails.length, 1); test.equal(u.emails[0].address, this.email); test.isTrue(u.emails[0].verified); }, - function (test, expect) { + function (test, expect) { // failing Accounts.connection.call( "addEmailForTestAndVerify", this.anotherEmail, expect(async (error, result) => { diff --git a/packages/ddp-client/test/livedata_test_service.js b/packages/ddp-client/test/livedata_test_service.js index 2bf5b2be38..d22958b183 100644 --- a/packages/ddp-client/test/livedata_test_service.js +++ b/packages/ddp-client/test/livedata_test_service.js @@ -34,9 +34,9 @@ Meteor.methods({ throw e; } }, - setUserId: function(userId) { + async setUserId(userId) { check(userId, Match.OneOf(String, null)); - this.setUserId(userId); + await this.setUserId(userId); } }); @@ -218,14 +218,14 @@ if (Meteor.isServer) { if (Meteor.isServer) { Meteor.methods({ - setUserIdAfterUnblock: function() { + async setUserIdAfterUnblock() { this.unblock(); let threw = false; const originalUserId = this.userId; try { // Calling setUserId after unblock should throw an error (and not mutate // userId). - this.setUserId(originalUserId + 'bla'); + await this.setUserId(originalUserId + 'bla'); } catch (e) { threw = true; } diff --git a/packages/ddp-common/method_invocation.js b/packages/ddp-common/method_invocation.js index 12b86e9876..b98352c13e 100644 --- a/packages/ddp-common/method_invocation.js +++ b/packages/ddp-common/method_invocation.js @@ -99,11 +99,11 @@ DDPCommon.MethodInvocation = class MethodInvocation { * @instance * @param {String | null} userId The value that should be returned by `userId` on this connection. */ - setUserId(userId) { + async setUserId(userId) { if (this._calledUnblock) { throw new Error("Can't call setUserId in a method after calling unblock"); } this.userId = userId; - this._setUserId(userId); + await this._setUserId(userId); } }; diff --git a/packages/ddp-server/livedata_server.js b/packages/ddp-server/livedata_server.js index 284873d4eb..bdb13eaa52 100644 --- a/packages/ddp-server/livedata_server.js +++ b/packages/ddp-server/livedata_server.js @@ -775,15 +775,13 @@ Object.assign(Session.prototype, { return; } - var setUserId = function(userId) { - self._setUserId(userId); - }; - var invocation = new DDPCommon.MethodInvocation({ name: msg.method, isSimulation: false, userId: self.userId, - setUserId: setUserId, + setUserId(userId) { + return self._setUserId(userId); + }, unblock: unblock, connection: self.connectionHandle, randomSeed: randomSeed, @@ -816,6 +814,8 @@ Object.assign(Session.prototype, { } } + + const getCurrentMethodInvocationResult = () => DDP._CurrentMethodInvocation.withValue( invocation, @@ -831,6 +831,7 @@ Object.assign(Session.prototype, { keyName: 'getCurrentMethodInvocationResult', } ); + resolve( DDPServer._CurrentWriteFence.withValue( fence, @@ -1862,25 +1863,22 @@ Object.assign(Server.prototype, { // get the user state from the outer method or publish function, otherwise // don't allow setUserId to be called var userId = null; - var setUserId = function() { + let setUserId = () => { throw new Error("Can't call setUserId on a server initiated method call"); }; var connection = null; var currentMethodInvocation = DDP._CurrentMethodInvocation.get(); var currentPublicationInvocation = DDP._CurrentPublicationInvocation.get(); var randomSeed = null; + if (currentMethodInvocation) { userId = currentMethodInvocation.userId; - setUserId = function(userId) { - currentMethodInvocation.setUserId(userId); - }; + setUserId = (userId) => currentMethodInvocation.setUserId(userId); connection = currentMethodInvocation.connection; randomSeed = DDPCommon.makeRpcSeed(currentMethodInvocation, name); } else if (currentPublicationInvocation) { userId = currentPublicationInvocation.userId; - setUserId = function(userId) { - currentPublicationInvocation._session._setUserId(userId); - }; + setUserId = (userId) => currentPublicationInvocation._session._setUserId(userId); connection = currentPublicationInvocation.connection; } From 6b8d349bf3a1c99900eb447c7f583a7400b9389d Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Thu, 25 Jul 2024 14:24:54 -0400 Subject: [PATCH 46/83] only start auth sub once connected --- packages/accounts-base/accounts_client.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/accounts-base/accounts_client.js b/packages/accounts-base/accounts_client.js index 33073f2a6c..6f49250665 100644 --- a/packages/accounts-base/accounts_client.js +++ b/packages/accounts-base/accounts_client.js @@ -18,9 +18,6 @@ export class AccountsClient extends AccountsCommon { this._loggingIn = new ReactiveVar(false); this._loggingOut = new ReactiveVar(false); - this._loginServicesHandle = - this.connection.subscribe("meteor.loginServiceConfiguration"); - this._pageLoadLoginCallbacks = []; this._pageLoadLoginAttemptInfo = null; @@ -38,6 +35,13 @@ export class AccountsClient extends AccountsCommon { // This tracks whether callbacks registered with // Accounts.onLogin have been called this._loginCallbacksCalled = false; + + Tracker.autorun(() => { + if (this.connection.status().connected) { + this._loginServicesHandle = + this.connection.subscribe("meteor.loginServiceConfiguration"); + } + }) } initStorageLocation(options) { From 1a0a782724c25c8a1f1b2c9a0640f7f5fc301766 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Thu, 25 Jul 2024 14:28:31 -0400 Subject: [PATCH 47/83] remove test --- packages/accounts-base/accounts_tests.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/packages/accounts-base/accounts_tests.js b/packages/accounts-base/accounts_tests.js index d6340dc076..7ba9fd48f5 100644 --- a/packages/accounts-base/accounts_tests.js +++ b/packages/accounts-base/accounts_tests.js @@ -10,14 +10,6 @@ Meteor.methods({ } }); -// XXX it'd be cool to also test that the right thing happens if options -// *are* validated, but Accounts._options is global state which makes this hard -// (impossible?) -Tinytest.add( - 'accounts - config - validates keys', - test => test.throws(() => Accounts.config({ foo: "bar" })) -); - Tinytest.addAsync('accounts - config - token lifetime', async test => { const { loginExpirationInDays } = Accounts._options; Accounts._options.loginExpirationInDays = 2; From ae6ec98e2ea8a4d7f167265a9115a44a35fb1753 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Thu, 25 Jul 2024 18:03:42 -0400 Subject: [PATCH 48/83] make connection utility to capture messages --- packages/ddp-server/livedata_server_tests.js | 19 ++++-------- packages/test-helpers/connection.js | 31 ++++++++++++++++++++ packages/test-helpers/package.js | 30 ++++++++++++++----- 3 files changed, 58 insertions(+), 22 deletions(-) diff --git a/packages/ddp-server/livedata_server_tests.js b/packages/ddp-server/livedata_server_tests.js index 57ed24acb4..3d79e64d6c 100644 --- a/packages/ddp-server/livedata_server_tests.js +++ b/packages/ddp-server/livedata_server_tests.js @@ -447,20 +447,9 @@ Tinytest.addAsync("livedata server - waiting for Promise", (test, onComplete) => * https://github.com/meteor/meteor/issues/13212 */ Tinytest.addAsync('livedata server - publish cursor is properly awaited', async function (test) { - const messages = [] - let sub = null; - const { clientConn } = await getTestConnections(test) - - const send = clientConn._stream.send - - clientConn._stream.send = function (...args) { - send.apply(this, args) - messages.push(args[0]) - } - - clientConn._stream.on('message', message => messages.push(message)); + const { conn, messages, cleanup } = await captureConnectionMessages(test); const coll = new Mongo.Collection('items', { defineMutationMethods: false, @@ -482,7 +471,7 @@ Tinytest.addAsync('livedata server - publish cursor is properly awaited', async const reactiveVar = new ReactiveVar(1); const computation = Tracker.autorun(() => { - sub = clientConn.subscribe(publicationName, reactiveVar.get()); + sub = conn.subscribe(publicationName, reactiveVar.get()); }); await sleep(100) @@ -496,11 +485,13 @@ Tinytest.addAsync('livedata server - publish cursor is properly awaited', async /** * There shouldn't ever be `removed` messages here, otherwise the UI will glitch */ - const parsedMessages = messages.map(m => EJSON.parse(m).msg) + const parsedMessages = messages.map(m => m.msg) test.equal(parsedMessages, expectedMessages) computation.stop(); + + cleanup() }); function getTestConnections(test) { diff --git a/packages/test-helpers/connection.js b/packages/test-helpers/connection.js index a78c3dab46..4a360d1e97 100644 --- a/packages/test-helpers/connection.js +++ b/packages/test-helpers/connection.js @@ -52,3 +52,34 @@ makeTestConnection = function (test, succeeded, failed) { } ); }; + +createTestConnectionPromise = function (test) { + return new Promise((resolve, reject) => { + makeTestConnection(test, resolve, reject); + }); +}; + +captureConnectionMessages = async function (test) { + const messages = [] + + const conn = await createTestConnectionPromise(test); + + const send = conn._stream.send; + + conn._stream.send = function (...args) { + send.apply(this, args); + messages.push(EJSON.parse(args[0])); + } + + conn._stream.on('message', message => messages.push(EJSON.parse(message))); + + function cleanup() { + conn._stream.send = send + } + + return { + conn, + messages, + cleanup + } +}; \ No newline at end of file diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index f03739d8ae..f50112d5c9 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -22,15 +22,29 @@ Package.onUse(function (api) { // the like. api.use('ddp'); - api.export([ - 'pollUntil', 'try_all_permutations', - 'SeededRandom', 'clickElement', 'blurElement', - 'focusElement', 'simulateEvent', 'getStyleProperty', 'canonicalizeHtml', - 'renderToDiv', 'clickIt', - 'withCallbackLogger', 'testAsyncMulti', - 'simplePoll', 'runAndThrowIfNeeded', - 'makeTestConnection', 'DomUtils', 'mockBehaviours', 'waitUntil']); + 'pollUntil', + 'try_all_permutations', + 'SeededRandom', + 'clickElement', + 'blurElement', + 'focusElement', + 'simulateEvent', + 'getStyleProperty', + 'canonicalizeHtml', + 'renderToDiv', + 'clickIt', + 'withCallbackLogger', + 'testAsyncMulti', + 'simplePoll', + 'runAndThrowIfNeeded', + 'DomUtils', + 'mockBehaviours', + 'waitUntil', + 'makeTestConnection', + 'createTestConnectionPromise', + 'captureConnectionMessages', + ]); api.addFiles('try_all_permutations.js'); api.addFiles('async_multi.js'); From e741dc10e7baa32428d25c9b498b2936595d8088 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Thu, 25 Jul 2024 18:47:35 -0400 Subject: [PATCH 49/83] add test --- packages/accounts-base/accounts_client.js | 2 ++ .../accounts-base/accounts_client_tests.js | 21 +++++++++++++++ packages/accounts-base/accounts_common.js | 1 + packages/test-helpers/connection_client.js | 26 +++++++++++++++++++ .../{connection.js => connection_server.js} | 0 packages/test-helpers/package.js | 8 ++++-- packages/test-helpers/utils.js | 1 + 7 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 packages/test-helpers/connection_client.js rename packages/test-helpers/{connection.js => connection_server.js} (100%) create mode 100644 packages/test-helpers/utils.js diff --git a/packages/accounts-base/accounts_client.js b/packages/accounts-base/accounts_client.js index 6f49250665..8449c29d97 100644 --- a/packages/accounts-base/accounts_client.js +++ b/packages/accounts-base/accounts_client.js @@ -37,6 +37,8 @@ export class AccountsClient extends AccountsCommon { this._loginCallbacksCalled = false; Tracker.autorun(() => { + // This means that the socket connection is established and not that the `connected` message has been received + // and the first `connect` message is triggered by `onopen` and then `onReset` if (this.connection.status().connected) { this._loginServicesHandle = this.connection.subscribe("meteor.loginServiceConfiguration"); diff --git a/packages/accounts-base/accounts_client_tests.js b/packages/accounts-base/accounts_client_tests.js index 96e88b110a..3744fdf4e7 100644 --- a/packages/accounts-base/accounts_client_tests.js +++ b/packages/accounts-base/accounts_client_tests.js @@ -1,4 +1,5 @@ import {Accounts} from "meteor/accounts-base"; +import { AccountsClient } from './accounts_client'; const username = 'jsmith'; const password = 'password'; @@ -343,3 +344,23 @@ Tinytest.addAsync('accounts - storage', }); } }); + +Tinytest.addAsync('accounts - should only start subscription when connected', async function (test) { + const { conn, messages, cleanup } = await captureConnectionMessagesClient(test); + + new AccountsClient({ + connection: conn, + }) + + await sleep(100) + + // The sub call needs to come right after `connect` since this is when `status().connected` gets to be true and + // not after `connected` as it is based on the socket connection status. + const expectedMessages = ['connect', 'sub', 'connected', 'ready'] + + const parsedMessages = messages.map(m => m.msg).filter(Boolean) + + test.equal(parsedMessages, expectedMessages) + + cleanup() +}); \ No newline at end of file diff --git a/packages/accounts-base/accounts_common.js b/packages/accounts-base/accounts_common.js index af1268ec44..1d245b548b 100644 --- a/packages/accounts-base/accounts_common.js +++ b/packages/accounts-base/accounts_common.js @@ -20,6 +20,7 @@ const VALID_CONFIG_KEYS = [ 'tokenSequenceLength', 'clientStorage', 'ddpUrl', + 'connection', ]; /** diff --git a/packages/test-helpers/connection_client.js b/packages/test-helpers/connection_client.js new file mode 100644 index 0000000000..7fae2dd788 --- /dev/null +++ b/packages/test-helpers/connection_client.js @@ -0,0 +1,26 @@ +captureConnectionMessagesClient = async function () { + const messages = [] + + const conn = DDP.connect(Meteor.absoluteUrl()); + + const send = conn._stream.send; + + conn._stream.send = function (...args) { + messages.push(EJSON.parse(args[0])); + send.apply(this, args); + } + + conn._stream.on('message', message => { + return messages.push(EJSON.parse(message)); + }); + + function cleanup() { + conn._stream.send = send + } + + return { + conn, + messages, + cleanup + } +}; \ No newline at end of file diff --git a/packages/test-helpers/connection.js b/packages/test-helpers/connection_server.js similarity index 100% rename from packages/test-helpers/connection.js rename to packages/test-helpers/connection_server.js diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index f50112d5c9..bee4672a81 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -44,6 +44,8 @@ Package.onUse(function (api) { 'makeTestConnection', 'createTestConnectionPromise', 'captureConnectionMessages', + 'captureConnectionMessagesClient', + 'sleep', ]); api.addFiles('try_all_permutations.js'); @@ -57,7 +59,9 @@ Package.onUse(function (api) { api.addFiles('mock.js'); api.addFiles('wait.js'); api.addFiles('domutils.js', 'client'); - api.addFiles('connection.js', 'server'); + api.addFiles('utils.js'); + api.addFiles('connection_server.js', 'server'); + api.addFiles('connection_client.js', 'client'); }); Package.onTest(function (api) { @@ -65,4 +69,4 @@ Package.onTest(function (api) { api.use(['test-helpers', 'underscore']); api.addFiles('try_all_permutations_test.js', 'client'); api.addFiles('seeded_random_test.js'); -}); +}); \ No newline at end of file diff --git a/packages/test-helpers/utils.js b/packages/test-helpers/utils.js new file mode 100644 index 0000000000..73c6a0c13d --- /dev/null +++ b/packages/test-helpers/utils.js @@ -0,0 +1 @@ +sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); \ No newline at end of file From c04af84b17bedc5ab88af1d2ea273d9bb9b827bb Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Fri, 26 Jul 2024 08:02:27 -0400 Subject: [PATCH 50/83] fix test due to conflict with other tests --- packages/accounts-base/accounts_client_tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/accounts-base/accounts_client_tests.js b/packages/accounts-base/accounts_client_tests.js index 3744fdf4e7..2ff26871b0 100644 --- a/packages/accounts-base/accounts_client_tests.js +++ b/packages/accounts-base/accounts_client_tests.js @@ -358,7 +358,7 @@ Tinytest.addAsync('accounts - should only start subscription when connected', as // not after `connected` as it is based on the socket connection status. const expectedMessages = ['connect', 'sub', 'connected', 'ready'] - const parsedMessages = messages.map(m => m.msg).filter(Boolean) + const parsedMessages = messages.map(m => m.msg).filter(Boolean).filter(m => m.msg !== 'added') test.equal(parsedMessages, expectedMessages) From 995b1df1fc1757b724c3e78756e1872a713bc0ae Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Fri, 26 Jul 2024 10:16:05 -0400 Subject: [PATCH 51/83] use built-in sleep --- packages/accounts-base/accounts_client_tests.js | 2 +- packages/ddp-client/test/livedata_tests.js | 4 +--- packages/ddp-server/livedata_server_async_tests.js | 10 +++++----- packages/ddp-server/livedata_server_tests.js | 4 ++-- packages/email/email_tests.js | 6 +----- packages/minimongo/minimongo_tests_client.js | 4 +--- packages/test-helpers/package.js | 2 -- packages/test-helpers/utils.js | 1 - 8 files changed, 11 insertions(+), 22 deletions(-) delete mode 100644 packages/test-helpers/utils.js diff --git a/packages/accounts-base/accounts_client_tests.js b/packages/accounts-base/accounts_client_tests.js index 2ff26871b0..d4593ce373 100644 --- a/packages/accounts-base/accounts_client_tests.js +++ b/packages/accounts-base/accounts_client_tests.js @@ -352,7 +352,7 @@ Tinytest.addAsync('accounts - should only start subscription when connected', as connection: conn, }) - await sleep(100) + await Meteor._sleepForMs(100); // The sub call needs to come right after `connect` since this is when `status().connected` gets to be true and // not after `connected` as it is based on the socket connection status. diff --git a/packages/ddp-client/test/livedata_tests.js b/packages/ddp-client/test/livedata_tests.js index 20bfe2c30c..3522b09333 100644 --- a/packages/ddp-client/test/livedata_tests.js +++ b/packages/ddp-client/test/livedata_tests.js @@ -1,8 +1,6 @@ import { DDP } from '../common/namespace.js'; import { Connection } from '../common/livedata_connection.js'; -const _sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); - const callWhenSubReady = async (subName, handle, cb = () => {}) => { let control = 0; @@ -12,7 +10,7 @@ const callWhenSubReady = async (subName, handle, cb = () => {}) => { if (control++ === 1000) { throw new Error(`Subscribe to ${subName} is taking too long!`); } - await _sleep(0); + await Meteor._sleepForMs(0); return; } await cb(); diff --git a/packages/ddp-server/livedata_server_async_tests.js b/packages/ddp-server/livedata_server_async_tests.js index cca7f92845..e01ca85833 100644 --- a/packages/ddp-server/livedata_server_async_tests.js +++ b/packages/ddp-server/livedata_server_async_tests.js @@ -7,7 +7,7 @@ function sleep(ms) { var onSubscription = {}; Meteor.publish('livedata_server_test_sub_async', async function(connectionId) { - await sleep(50); + await Meteor._sleepForMs(50); var callback = onSubscription[connectionId]; if (callback) callback(this); this.stop(); @@ -17,7 +17,7 @@ Meteor.publish('livedata_server_test_sub_context_async', async function( connectionId, userId ) { - await sleep(50); + await Meteor._sleepForMs(50); var callback = onSubscription[connectionId]; var methodInvocation = DDP._CurrentMethodInvocation.get(); var publicationInvocation = DDP._CurrentPublicationInvocation.get(); @@ -99,7 +99,7 @@ let onSubscriptions = {}; Meteor.publish({ async publicationObjectAsync() { - await sleep(50); + await Meteor._sleepForMs(50); let callback = onSubscriptions; if (callback) callback("publicationObjectAsync"); this.stop(); @@ -108,7 +108,7 @@ Meteor.publish({ Meteor.publish({ publication_object_async: async function() { - await sleep(50); + await Meteor._sleepForMs(50); let callback = onSubscriptions; if (callback) callback("publication_object_async"); this.stop(); @@ -116,7 +116,7 @@ Meteor.publish({ }); Meteor.publish('publication_compatibility_async', async function() { - await sleep(50); + await Meteor._sleepForMs(50); let callback = onSubscriptions; if (callback) callback("publication_compatibility_async"); this.stop(); diff --git a/packages/ddp-server/livedata_server_tests.js b/packages/ddp-server/livedata_server_tests.js index 3d79e64d6c..1b0adfd15c 100644 --- a/packages/ddp-server/livedata_server_tests.js +++ b/packages/ddp-server/livedata_server_tests.js @@ -474,11 +474,11 @@ Tinytest.addAsync('livedata server - publish cursor is properly awaited', async sub = conn.subscribe(publicationName, reactiveVar.get()); }); - await sleep(100) + await Meteor._sleepForMs(100); reactiveVar.set(2); - await sleep(100) + await Meteor._sleepForMs(100); const expectedMessages = ['sub', 'added', 'ready', 'sub', 'unsub', 'added', 'ready', 'nosub'] diff --git a/packages/email/email_tests.js b/packages/email/email_tests.js index c2904d0b6b..05cfde3414 100644 --- a/packages/email/email_tests.js +++ b/packages/email/email_tests.js @@ -6,10 +6,6 @@ const CUSTOM_TRANSPORT_SETTINGS = { email: { service: '1on1', user: 'test', password: 'pwd' }, }; -const sleep = (ms) => { - return new Promise((resolve) => setTimeout(resolve, ms)); -}; - // Create dynamic async tests TEST_CASES.forEach(({ title, options, testCalls }) => { Tinytest.addAsync(`${title}`, async function (test, onComplete) { @@ -222,7 +218,7 @@ Tinytest.addAsync( async function (test) { Meteor.settings.packages = CUSTOM_TRANSPORT_SETTINGS; Email.customTransport = async (options) => { - await sleep(3000); + await Meteor._sleepForMs(3000); test.equal(options.from, 'foo@example.com'); test.equal(options.packageSettings?.service, '1on1'); }; diff --git a/packages/minimongo/minimongo_tests_client.js b/packages/minimongo/minimongo_tests_client.js index 7b996c6eb9..e2aab4032c 100644 --- a/packages/minimongo/minimongo_tests_client.js +++ b/packages/minimongo/minimongo_tests_client.js @@ -3301,9 +3301,7 @@ Tinytest.addAsync('minimongo - observe ordered', async test => { handle = c .find({ tags: "flower" }, { reactive: false }) .observe(makecb("c")); - // TODO: think about this one below. - const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); - await sleep(10); + await Meteor._sleepForMs(10); expect("ac4_ac5_"); // This insert shouldn't trigger a callback because it's not reactive. await c.insertAsync({ _id: 6, name: "river", tags: ["flower"] }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index bee4672a81..3d56efca32 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -45,7 +45,6 @@ Package.onUse(function (api) { 'createTestConnectionPromise', 'captureConnectionMessages', 'captureConnectionMessagesClient', - 'sleep', ]); api.addFiles('try_all_permutations.js'); @@ -59,7 +58,6 @@ Package.onUse(function (api) { api.addFiles('mock.js'); api.addFiles('wait.js'); api.addFiles('domutils.js', 'client'); - api.addFiles('utils.js'); api.addFiles('connection_server.js', 'server'); api.addFiles('connection_client.js', 'client'); }); diff --git a/packages/test-helpers/utils.js b/packages/test-helpers/utils.js deleted file mode 100644 index 73c6a0c13d..0000000000 --- a/packages/test-helpers/utils.js +++ /dev/null @@ -1 +0,0 @@ -sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); \ No newline at end of file From 918052befe0a38532301159500ea6a93cd5f1184 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Fri, 26 Jul 2024 10:20:30 -0400 Subject: [PATCH 52/83] use proper filter --- packages/accounts-base/accounts_client_tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/accounts-base/accounts_client_tests.js b/packages/accounts-base/accounts_client_tests.js index d4593ce373..9619cd6969 100644 --- a/packages/accounts-base/accounts_client_tests.js +++ b/packages/accounts-base/accounts_client_tests.js @@ -358,7 +358,7 @@ Tinytest.addAsync('accounts - should only start subscription when connected', as // not after `connected` as it is based on the socket connection status. const expectedMessages = ['connect', 'sub', 'connected', 'ready'] - const parsedMessages = messages.map(m => m.msg).filter(Boolean).filter(m => m.msg !== 'added') + const parsedMessages = messages.map(m => m.msg).filter(Boolean).filter(m => m !== 'added') test.equal(parsedMessages, expectedMessages) From 3e59c0c5791634889d3e7d636fc10e37abd1c0cb Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Fri, 26 Jul 2024 12:56:54 -0400 Subject: [PATCH 53/83] remove comments --- packages/accounts-password/email_tests.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/accounts-password/email_tests.js b/packages/accounts-password/email_tests.js index 177c69ad49..01a159bc4b 100644 --- a/packages/accounts-password/email_tests.js +++ b/packages/accounts-password/email_tests.js @@ -188,7 +188,7 @@ testAsyncMulti("accounts emails - verify email flow", [ test.equal(await Meteor.user(), null); })); }, - function (test, expect) { // failing + function (test, expect) { Accounts.verifyEmail(verifyEmailToken, loggedIn(test, expect)); }, async function (test) { @@ -198,7 +198,7 @@ testAsyncMulti("accounts emails - verify email flow", [ test.equal(u.emails[0].address, this.email); test.isTrue(u.emails[0].verified); }, - function (test, expect) { // failing + function (test, expect) { Accounts.connection.call( "addEmailForTestAndVerify", this.anotherEmail, expect(async (error, result) => { From 913f83fd9ec9ebc556952b6c00ec6b5c853131dd Mon Sep 17 00:00:00 2001 From: denihs Date: Fri, 26 Jul 2024 14:56:29 -0400 Subject: [PATCH 54/83] Meteor version to 3.0.2-beta.0 :comet: --- packages/accounts-2fa/package.js | 2 +- packages/accounts-base/package.js | 2 +- packages/accounts-password/package.js | 2 +- packages/ddp-client/package.js | 2 +- packages/ddp-common/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/email/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/test-helpers/package.js | 4 +- packages/webapp/package.js | 2 +- .../admin/meteor-release-experimental.json | 2 +- .../generators/changelog/versions/3.0.2.md | 52 +++++++++++++++++++ 14 files changed, 66 insertions(+), 14 deletions(-) create mode 100644 v3-docs/docs/generators/changelog/versions/3.0.2.md diff --git a/packages/accounts-2fa/package.js b/packages/accounts-2fa/package.js index 2f54e8ded4..705ad31878 100644 --- a/packages/accounts-2fa/package.js +++ b/packages/accounts-2fa/package.js @@ -1,5 +1,5 @@ Package.describe({ - version: '3.0.0', + version: '3.0.1-beta302.0', summary: 'Package used to enable two factor authentication through OTP protocol', }); diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index 9ccffc6ddf..074007ab62 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'A user account system', - version: '3.0.0', + version: '3.0.1-beta302.0', }); Package.onUse(api => { diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index 19ebc9b5cb..eabb4a589e 100644 --- a/packages/accounts-password/package.js +++ b/packages/accounts-password/package.js @@ -5,7 +5,7 @@ Package.describe({ // 2.2.x in the future. The version was also bumped to 2.0.0 temporarily // during the Meteor 1.5.1 release process, so versions 2.0.0-beta.2 // through -beta.5 and -rc.0 have already been published. - version: '3.0.0', + version: '3.0.1-beta302.0', }); Npm.depends({ diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 8ca1c9b542..c44ea00e94 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '3.0.0', + version: '3.0.1-beta302.0', documentation: null }); diff --git a/packages/ddp-common/package.js b/packages/ddp-common/package.js index 6ebab7f152..97846c2a93 100644 --- a/packages/ddp-common/package.js +++ b/packages/ddp-common/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Code shared beween ddp-client and ddp-server", - version: '1.4.3', + version: '1.4.4-beta302.0', documentation: null }); diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index 2b04188333..f27e20b3f1 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '3.0.0', + version: '3.0.1-beta302.0', documentation: null }); diff --git a/packages/email/package.js b/packages/email/package.js index a3e8f0b26a..dcdb505546 100644 --- a/packages/email/package.js +++ b/packages/email/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Send email messages', - version: '3.0.0', + version: '3.0.1-beta302.0', }); Npm.depends({ diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 58522f44c8..0ca3ac2f34 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'The Meteor command-line tool', - version: '3.0.1', + version: '3.0.2-beta.0', }); Package.includeTool(); diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index 92916d2dd7..45f9c56d41 100644 --- a/packages/minimongo/package.js +++ b/packages/minimongo/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's client-side datastore: a port of MongoDB to Javascript", - version: '2.0.0', + version: '2.0.1-beta302.0', }); Package.onUse(api => { diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 46d8737ae7..9ebe116608 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: '4.17.3', + version: '4.17.4-beta302.0', documentation: null }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index 3d56efca32..f4f5ca9d19 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '2.0.0', + version: '2.0.1-beta302.0', }); Package.onUse(function (api) { @@ -67,4 +67,4 @@ Package.onTest(function (api) { api.use(['test-helpers', 'underscore']); api.addFiles('try_all_permutations_test.js', 'client'); api.addFiles('seeded_random_test.js'); -}); \ No newline at end of file +}); diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 2633a677f6..a133e5d214 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Serves a Meteor app over HTTP', - version: '2.0.0', + version: '2.0.1-beta302.0', }); Npm.depends({ diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index df10b667ae..d4375222cb 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "3.0-rc.10", + "version": "3.0.2-beta.0", "recommended": false, "official": false, "description": "Meteor experimental release" diff --git a/v3-docs/docs/generators/changelog/versions/3.0.2.md b/v3-docs/docs/generators/changelog/versions/3.0.2.md new file mode 100644 index 0000000000..5a91b4c93b --- /dev/null +++ b/v3-docs/docs/generators/changelog/versions/3.0.2.md @@ -0,0 +1,52 @@ +## v3.0.2, 2024-08-XX + +### Highlights + +* Bump the patch for some packages, so we publish them using Meteor 3 tooling. [PR #13231] +* Fix subscription still resetting documents [PR #13236] +* Fix auth sub sending ready twice on load [PR #13247] + +#### Breaking Changes + +N/A + +#### Internal API changes + +N/A + +#### Migration Steps + +Please run the following command to update your project: + +```bash + +meteor update --release 3.0.2 + +``` + + +#### Meteor Version Release + +* `Bumped packages`: + - accounts-2fa@3.0.1 + - accounts-base@3.0.1 + - accounts-password@3.0.1 + - ddp-client@3.0.1 + - ddp-common@1.4.4 + - ddp-server@3.0.1 + - email@3.0.1 + - minimongo@2.0.1 + - npm-mongo@4.17.4 + - test-helpers@2.0.1 + - webapp@2.0.1 + + + +#### Special thanks to + +- [@leonardoventurini](https://github.com/leonardoventurini). + + +For making this great framework even better! + + From e30882761db6c5354408dea96445c6b54760bee7 Mon Sep 17 00:00:00 2001 From: denihs Date: Mon, 29 Jul 2024 09:44:16 -0400 Subject: [PATCH 55/83] Meteor version to 3.0.2-beta.1 :comet: --- .../.npm/package/npm-shrinkwrap.json | 12 +- packages/accounts-2fa/package.js | 2 +- packages/accounts-base/package.js | 2 +- packages/accounts-password/package.js | 2 +- packages/ddp-client/package.js | 2 +- packages/ddp-common/package.js | 2 +- packages/ddp-server/package.js | 2 +- .../email/.npm/package/npm-shrinkwrap.json | 12 +- packages/email/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/minimongo/package.js | 2 +- .../.npm/package/npm-shrinkwrap.json | 138 +++++++++--------- packages/npm-mongo/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/webapp/package.js | 2 +- .../admin/meteor-release-experimental.json | 2 +- 16 files changed, 94 insertions(+), 94 deletions(-) diff --git a/packages/accounts-2fa/.npm/package/npm-shrinkwrap.json b/packages/accounts-2fa/.npm/package/npm-shrinkwrap.json index 09ae94aaeb..9af6c46636 100644 --- a/packages/accounts-2fa/.npm/package/npm-shrinkwrap.json +++ b/packages/accounts-2fa/.npm/package/npm-shrinkwrap.json @@ -2,9 +2,9 @@ "lockfileVersion": 4, "dependencies": { "@types/node": { - "version": "20.14.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", - "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==" + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.0.0.tgz", + "integrity": "sha512-VT7KSYudcPOzP5Q0wfbowyNLaVR8QWUdw+088uFWwfvpY6uCWaXpqV6ieLAu9WBcnTa7H4Z5RLK8I5t2FuOcqw==" }, "@types/notp": { "version": "2.0.5", @@ -37,9 +37,9 @@ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.11.1.tgz", + "integrity": "sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ==" } } } diff --git a/packages/accounts-2fa/package.js b/packages/accounts-2fa/package.js index 705ad31878..767003a4cf 100644 --- a/packages/accounts-2fa/package.js +++ b/packages/accounts-2fa/package.js @@ -1,5 +1,5 @@ Package.describe({ - version: '3.0.1-beta302.0', + version: '3.0.1-beta302.1', summary: 'Package used to enable two factor authentication through OTP protocol', }); diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index 074007ab62..c5b01d6e5d 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'A user account system', - version: '3.0.1-beta302.0', + version: '3.0.1-beta302.1', }); Package.onUse(api => { diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index eabb4a589e..d701e5d8c1 100644 --- a/packages/accounts-password/package.js +++ b/packages/accounts-password/package.js @@ -5,7 +5,7 @@ Package.describe({ // 2.2.x in the future. The version was also bumped to 2.0.0 temporarily // during the Meteor 1.5.1 release process, so versions 2.0.0-beta.2 // through -beta.5 and -rc.0 have already been published. - version: '3.0.1-beta302.0', + version: '3.0.1-beta302.1', }); Npm.depends({ diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index c44ea00e94..d656070ed4 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '3.0.1-beta302.0', + version: '3.0.1-beta302.1', documentation: null }); diff --git a/packages/ddp-common/package.js b/packages/ddp-common/package.js index 97846c2a93..c14439328a 100644 --- a/packages/ddp-common/package.js +++ b/packages/ddp-common/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Code shared beween ddp-client and ddp-server", - version: '1.4.4-beta302.0', + version: '1.4.4-beta302.1', documentation: null }); diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index f27e20b3f1..fdbd377574 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '3.0.1-beta302.0', + version: '3.0.1-beta302.1', documentation: null }); diff --git a/packages/email/.npm/package/npm-shrinkwrap.json b/packages/email/.npm/package/npm-shrinkwrap.json index 17f1728a37..53adbe4946 100644 --- a/packages/email/.npm/package/npm-shrinkwrap.json +++ b/packages/email/.npm/package/npm-shrinkwrap.json @@ -2,9 +2,9 @@ "lockfileVersion": 4, "dependencies": { "@types/node": { - "version": "20.14.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", - "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==" + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.0.0.tgz", + "integrity": "sha512-VT7KSYudcPOzP5Q0wfbowyNLaVR8QWUdw+088uFWwfvpY6uCWaXpqV6ieLAu9WBcnTa7H4Z5RLK8I5t2FuOcqw==" }, "@types/nodemailer": { "version": "6.4.14", @@ -57,9 +57,9 @@ "integrity": "sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==" }, "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.11.1.tgz", + "integrity": "sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ==" } } } diff --git a/packages/email/package.js b/packages/email/package.js index dcdb505546..aec256837f 100644 --- a/packages/email/package.js +++ b/packages/email/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Send email messages', - version: '3.0.1-beta302.0', + version: '3.0.1-beta302.1', }); Npm.depends({ diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 0ca3ac2f34..d0ab21f600 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'The Meteor command-line tool', - version: '3.0.2-beta.0', + version: '3.0.2-beta.1', }); Package.includeTool(); diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index 45f9c56d41..1649880c92 100644 --- a/packages/minimongo/package.js +++ b/packages/minimongo/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's client-side datastore: a port of MongoDB to Javascript", - version: '2.0.1-beta302.0', + version: '2.0.1-beta302.1', }); Package.onUse(api => { diff --git a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json index 9e5b0ff244..9fc28a0b2c 100644 --- a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json +++ b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json @@ -56,34 +56,34 @@ } }, "@aws-sdk/client-cognito-identity": { - "version": "3.616.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.616.0.tgz", - "integrity": "sha512-3yli0rchw7FuI8CmxUKW5z6TzrAJzBm9x+Se20Gqm0idXc2X2RT4Z8axtni5umBu8+4QWgNDZAr/WG6bR/JUGA==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.620.0.tgz", + "integrity": "sha512-w+ufh3xW+ZyqnnJ9sQ8MYXMuqwFTLls9C1cknsBc1WKhlx8lz4J8+FB/8pNfyirBj4hEtcA7N5bjXjvAvI92cQ==" }, "@aws-sdk/client-sso": { - "version": "3.616.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.616.0.tgz", - "integrity": "sha512-hwW0u1f8U4dSloAe61/eupUiGd5Q13B72BuzGxvRk0cIpYX/2m0KBG8DDl7jW1b2QQ+CflTLpG2XUf2+vRJxGA==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.620.0.tgz", + "integrity": "sha512-J1CvF7u39XwtCK9rPlkW2AA631EPqkb4PjOOj9aZ9LjQmkJ0DkL+9tEqU2XIWcjDd2Z3hS3LBuS8uN7upIkEnQ==" }, "@aws-sdk/client-sso-oidc": { - "version": "3.616.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.616.0.tgz", - "integrity": "sha512-YY1hpYS/G1uRGjQf88dL8VLHkP/IjGxKeXdhy+JnzMdCkAWl3V9j0fEALw40NZe0x79gr6R2KUOUH/IKYQfUmg==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.620.0.tgz", + "integrity": "sha512-CWL8aJa6rrNaQXNsLhblGZzbFBrRz4BXAsFBbyqAZEmryr9q/IC7z/ww3nq8CD2UsW+bn89U/XcoP5r1KWUHuQ==" }, "@aws-sdk/client-sts": { - "version": "3.616.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.616.0.tgz", - "integrity": "sha512-FP7i7hS5FpReqnysQP1ukQF1OUWy8lkomaOnbu15H415YUrfCp947SIx6+BItjmx+esKxPkEjh/fbCVzw2D6hQ==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.620.0.tgz", + "integrity": "sha512-pG4SqDHZV/ZbpoVoVtpxo6ZZoqVDbVItC3QUO73UJ3Gemxznd/Ck7kAsyb6/dJkV/Aqm3gt2O5UL7vzQLNHSjw==" }, "@aws-sdk/core": { - "version": "3.616.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.616.0.tgz", - "integrity": "sha512-O/urkh2kECs/IqZIVZxyeyHZ7OR2ZWhLNK7btsVQBQvJKrEspLrk/Fp20Qfg5JDerQfBN83ZbyRXLJOOucdZpw==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.620.0.tgz", + "integrity": "sha512-5D9tMahxIDDFLULS9/ULa0HuIu7CZSshfj6wmDSmigXzkWyUvHoVIrme2z6eM3Icat/MO3d4WEy3445Vk385gQ==" }, "@aws-sdk/credential-provider-cognito-identity": { - "version": "3.616.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.616.0.tgz", - "integrity": "sha512-bcsf36gdGY2SpvTmoxd7t2235q+Rjg6xnTeCiKs9YuzbNezZ4FosqSORs7/vu2CvyaXWwV28909Q1boZ76v4TA==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.620.0.tgz", + "integrity": "sha512-ZJ3Z6CJCJLB3F75MFLnSn4Oz8pFK+jBEkMJST8/oXf5iIOz2uUZY2+yhYPxCVPaFkWtcNv+fDcGga9VX6BKjGQ==" }, "@aws-sdk/credential-provider-env": { "version": "3.609.0", @@ -91,19 +91,19 @@ "integrity": "sha512-v69ZCWcec2iuV9vLVJMa6fAb5xwkzN4jYIT8yjo2c4Ia/j976Q+TPf35Pnz5My48Xr94EFcaBazrWedF+kwfuQ==" }, "@aws-sdk/credential-provider-http": { - "version": "3.616.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.616.0.tgz", - "integrity": "sha512-1rgCkr7XvEMBl7qWCo5BKu3yAxJs71dRaZ55Xnjte/0ZHH6Oc93ZrHzyYy6UH6t0nZrH+FAuw7Yko2YtDDwDeg==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.620.0.tgz", + "integrity": "sha512-BI2BdrSKDmB/2ouB/NJR0PT0x/+5fmoF6XOE78hFBb4F5w/yynGgcJY936dF+oREfpME6ehjB2b0okGg78Scpw==" }, "@aws-sdk/credential-provider-ini": { - "version": "3.616.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.616.0.tgz", - "integrity": "sha512-5gQdMr9cca3xV7FF2SxpxWGH2t6+t4o+XBGiwsHm8muEjf4nUmw7Ij863x25Tjt2viPYV0UStczSb5Sihp7bkA==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.620.0.tgz", + "integrity": "sha512-P9fYi6dzZIl8ITC7qAPf5DX9omI3LfA91g3KH+0OUmS3ctP7tN+gNo3HmqlzoqnwPe0pXn1FumYAe1qFl6Yjjg==" }, "@aws-sdk/credential-provider-node": { - "version": "3.616.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.616.0.tgz", - "integrity": "sha512-Se+u6DAxjDPjKE3vX1X2uxjkWgGq69BTo0uTB0vDUiWwBVgh16s9BsBhSAlKEH1CCbbJHvOg4YdTrzjwzqyClg==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.620.0.tgz", + "integrity": "sha512-or8ahy4ysURcWgKX00367DMDTTyMynDEl+FQh4wce66fMyePhFVuoPcRgXzWsi8KYmL95sPCfJFNqBMyFNcgvQ==" }, "@aws-sdk/credential-provider-process": { "version": "3.614.0", @@ -111,9 +111,9 @@ "integrity": "sha512-Q0SI0sTRwi8iNODLs5+bbv8vgz8Qy2QdxbCHnPk/6Cx6LMf7i3dqmWquFbspqFRd8QiqxStrblwxrUYZi09tkA==" }, "@aws-sdk/credential-provider-sso": { - "version": "3.616.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.616.0.tgz", - "integrity": "sha512-3rsWs9GBi8Z8Gps5ROwqguxtw+J6OIg1vawZMLRNMqqZoBvbOToe9wEnpid8ylU+27+oG8uibJNlNuRyXApUjw==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.620.0.tgz", + "integrity": "sha512-xtIj2hmq3jcKwvGmqhoYapbWeQfFyoQgKBtwD6nx0M6oS5lbFH4rzHhj0gBwatZDjMa35cWtcYVUJCv2/9mWvA==" }, "@aws-sdk/credential-provider-web-identity": { "version": "3.609.0", @@ -121,14 +121,14 @@ "integrity": "sha512-U+PG8NhlYYF45zbr1km3ROtBMYqyyj/oK8NRp++UHHeuavgrP+4wJ4wQnlEaKvJBjevfo3+dlIBcaeQ7NYejWg==" }, "@aws-sdk/credential-providers": { - "version": "3.617.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.617.0.tgz", - "integrity": "sha512-ZXzdnHI7Tfsk7Y2hezlhxFHlG2VM5tTWQPZ0qZ/cYCzZxyZfsmSFr/rMi6wJGB2J6ZDbbAohEoOWrEblHVq7Cw==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.620.0.tgz", + "integrity": "sha512-GJmRzgdDhUdg5eH79RZUOKU2Rdc0zNVALRiLmWnaqU/ZNF79M/PB/tZk6wDVnTJE3IIt+qanIDPwFBBZClLeew==" }, "@aws-sdk/middleware-host-header": { - "version": "3.616.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.616.0.tgz", - "integrity": "sha512-mhNfHuGhCDZwYCABebaOvTgOM44UCZZRq2cBpgPZLVKP0ydAv5aFHXv01goexxXHqgHoEGx0uXWxlw0s2EpFDg==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", + "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==" }, "@aws-sdk/middleware-logger": { "version": "3.609.0", @@ -136,14 +136,14 @@ "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==" }, "@aws-sdk/middleware-recursion-detection": { - "version": "3.616.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.616.0.tgz", - "integrity": "sha512-LQKAcrZRrR9EGez4fdCIVjdn0Ot2HMN12ChnoMGEU6oIxnQ2aSC7iASFFCV39IYfeMh7iSCPj7Wopqw8rAouzg==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", + "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==" }, "@aws-sdk/middleware-user-agent": { - "version": "3.616.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.616.0.tgz", - "integrity": "sha512-iMcAb4E+Z3vuEcrDsG6T2OBNiqWAquwahP9qepHqfmnmJqHr1mSHtXDYTGBNid31+621sUQmneUQ+fagpGAe4w==" + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz", + "integrity": "sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A==" }, "@aws-sdk/region-config-resolver": { "version": "3.614.0", @@ -196,9 +196,9 @@ "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==" }, "@smithy/core": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.3.0.tgz", - "integrity": "sha512-tvSwf+PF5uurExeJsl+sSNn4bPsYShL86fJ/wcj63cioJ0IF131BxC5QxX8qkIISk7Pr7g2+UJH9ib4cCafvqw==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.3.1.tgz", + "integrity": "sha512-BC7VMXx/1BCmRPCVzzn4HGWAtsrb7/0758EtwOGFJQrlSwJBEjCcDLNZLFoL/68JexYa2s+KmgL/UfmXdG6v1w==" }, "@smithy/credential-provider-imds": { "version": "3.2.0", @@ -206,9 +206,9 @@ "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==" }, "@smithy/fetch-http-handler": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.3.tgz", - "integrity": "sha512-m4dzQeafWi5KKCCnDwGGHYk9lqcLs9LvlXZRB0J38DMectsEbxdiO/Rx1NaYYMIkath7AnjpR+r0clL+7dwclQ==" + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", + "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==" }, "@smithy/hash-node": { "version": "3.0.3", @@ -236,9 +236,9 @@ "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==" }, "@smithy/middleware-retry": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.12.tgz", - "integrity": "sha512-CncrlzNiBzuZZYLJ49H4dC6FEz62hnv0Y0nJyl/oZ73FX/9CDHWkIRD4ZOf5ntB6QyYWx0G3mXAOHOcM5omlLg==" + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.13.tgz", + "integrity": "sha512-zvCLfaRYCaUmjbF2yxShGZdolSHft7NNCTA28HVN9hKcEbOH+g5irr1X9s+in8EpambclGnevZY4A3lYpvDCFw==" }, "@smithy/middleware-serde": { "version": "3.0.3", @@ -296,9 +296,9 @@ "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==" }, "@smithy/smithy-client": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.10.tgz", - "integrity": "sha512-OLHJo0DAmhX69YUF3WbNfzzxGIncGdxao+v27o24msdhin2AWTxJMaBQ3iPGfIrWMjy+8YGMXUJ7PrkJlpznTw==" + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.11.tgz", + "integrity": "sha512-l0BpyYkciNyMaS+PnFFz4aO5sBcXvGLoJd7mX9xrMBIm2nIQBVvYgp2ZpPDMzwjKCavsXu06iuCm0F6ZJZc6yQ==" }, "@smithy/types": { "version": "3.3.0", @@ -336,14 +336,14 @@ "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==" }, "@smithy/util-defaults-mode-browser": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.12.tgz", - "integrity": "sha512-5b81UUPKjD61DMg7JBYzkSM1Vny/RfRRhnZYzuWjm25OyrEXsar3RgbbXYR+otdx+wrPR3QmuFtbDZmEgGpwVg==" + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.13.tgz", + "integrity": "sha512-ZIRSUsnnMRStOP6OKtW+gCSiVFkwnfQF2xtf32QKAbHR6ACjhbAybDvry+3L5qQYdh3H6+7yD/AiUE45n8mTTw==" }, "@smithy/util-defaults-mode-node": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.12.tgz", - "integrity": "sha512-g2NdtGDN67PepBs0t/mkrlQ2nVkhKUDJZCNmEJIarzYq2sK4mKO9t61Nzlv+gHEEC3ESfRaMCC/Ol3ZfCZYg7Q==" + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.13.tgz", + "integrity": "sha512-voUa8TFJGfD+U12tlNNLCDlXibt9vRdNzRX45Onk/WxZe7TS+hTOZouEZRa7oARGicdgeXvt1A0W45qLGYdy+g==" }, "@smithy/util-endpoints": { "version": "2.0.5", @@ -366,9 +366,9 @@ "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==" }, "@smithy/util-stream": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.2.tgz", - "integrity": "sha512-08zDzB7BqvybHfZKnav5lL1UniFDK6o6nZ3OWp60PKsi/na2LpU6OX8MCtDNVaPBpKpc8EH26fvFhNT6wvMlbw==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", + "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==" }, "@smithy/util-uri-escape": { "version": "3.0.0", @@ -381,9 +381,9 @@ "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==" }, "@types/node": { - "version": "20.14.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", - "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==" + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.0.0.tgz", + "integrity": "sha512-VT7KSYudcPOzP5Q0wfbowyNLaVR8QWUdw+088uFWwfvpY6uCWaXpqV6ieLAu9WBcnTa7H4Z5RLK8I5t2FuOcqw==" }, "@types/webidl-conversions": { "version": "7.0.3", @@ -491,9 +491,9 @@ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.11.1.tgz", + "integrity": "sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ==" }, "uuid": { "version": "9.0.1", diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 9ebe116608..138e4df8a9 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: '4.17.4-beta302.0', + version: '4.17.4-beta302.1', documentation: null }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index f4f5ca9d19..ab6c80ba6a 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '2.0.1-beta302.0', + version: '2.0.1-beta302.1', }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index a133e5d214..176a7ce0a5 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Serves a Meteor app over HTTP', - version: '2.0.1-beta302.0', + version: '2.0.1-beta302.1', }); Npm.depends({ diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index d4375222cb..eeb9607774 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "3.0.2-beta.0", + "version": "3.0.2-beta.1", "recommended": false, "official": false, "description": "Meteor experimental release" From a91bab7119bc05cc476b79fb0ad89b26aa485c08 Mon Sep 17 00:00:00 2001 From: denihs Date: Mon, 29 Jul 2024 10:09:13 -0400 Subject: [PATCH 56/83] Meteor version to 3.0.2-beta.2 :comet: --- packages/accounts-2fa/package.js | 2 +- packages/accounts-base/package.js | 2 +- packages/accounts-password/package.js | 2 +- packages/ddp-client/package.js | 2 +- packages/ddp-common/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/email/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/accounts-2fa/package.js b/packages/accounts-2fa/package.js index 767003a4cf..2b8eb01501 100644 --- a/packages/accounts-2fa/package.js +++ b/packages/accounts-2fa/package.js @@ -1,5 +1,5 @@ Package.describe({ - version: '3.0.1-beta302.1', + version: '3.0.1-beta302.2', summary: 'Package used to enable two factor authentication through OTP protocol', }); diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index c5b01d6e5d..f1b739d2b7 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'A user account system', - version: '3.0.1-beta302.1', + version: '3.0.1-beta302.2', }); Package.onUse(api => { diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index d701e5d8c1..82423e74a1 100644 --- a/packages/accounts-password/package.js +++ b/packages/accounts-password/package.js @@ -5,7 +5,7 @@ Package.describe({ // 2.2.x in the future. The version was also bumped to 2.0.0 temporarily // during the Meteor 1.5.1 release process, so versions 2.0.0-beta.2 // through -beta.5 and -rc.0 have already been published. - version: '3.0.1-beta302.1', + version: '3.0.1-beta302.2', }); Npm.depends({ diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index d656070ed4..4b30e07926 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '3.0.1-beta302.1', + version: '3.0.1-beta302.2', documentation: null }); diff --git a/packages/ddp-common/package.js b/packages/ddp-common/package.js index c14439328a..10861cd120 100644 --- a/packages/ddp-common/package.js +++ b/packages/ddp-common/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Code shared beween ddp-client and ddp-server", - version: '1.4.4-beta302.1', + version: '1.4.4-beta302.2', documentation: null }); diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index fdbd377574..3abe80b52d 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '3.0.1-beta302.1', + version: '3.0.1-beta302.2', documentation: null }); diff --git a/packages/email/package.js b/packages/email/package.js index aec256837f..73777fb143 100644 --- a/packages/email/package.js +++ b/packages/email/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Send email messages', - version: '3.0.1-beta302.1', + version: '3.0.1-beta302.2', }); Npm.depends({ diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index d0ab21f600..4f33fafae7 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'The Meteor command-line tool', - version: '3.0.2-beta.1', + version: '3.0.2-beta.2', }); Package.includeTool(); diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index 1649880c92..b5373a70c0 100644 --- a/packages/minimongo/package.js +++ b/packages/minimongo/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's client-side datastore: a port of MongoDB to Javascript", - version: '2.0.1-beta302.1', + version: '2.0.1-beta302.2', }); Package.onUse(api => { diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 138e4df8a9..2a9435f138 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: '4.17.4-beta302.1', + version: '4.17.4-beta302.2', documentation: null }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index ab6c80ba6a..f478e97a58 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '2.0.1-beta302.1', + version: '2.0.1-beta302.2', }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 176a7ce0a5..c139445ec2 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Serves a Meteor app over HTTP', - version: '2.0.1-beta302.1', + version: '2.0.1-beta302.2', }); Npm.depends({ diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index eeb9607774..fc0646bd8e 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "3.0.2-beta.1", + "version": "3.0.2-beta.2", "recommended": false, "official": false, "description": "Meteor experimental release" From c0b5b72c78a90a90ae81fd146ba0e04bbb404f1b Mon Sep 17 00:00:00 2001 From: denihs Date: Mon, 29 Jul 2024 13:11:15 -0400 Subject: [PATCH 57/83] publish version 3.0.2-beta.0 for the meteor installer package --- npm-packages/meteor-installer/config.js | 2 +- npm-packages/meteor-installer/package-lock.json | 4 ++-- npm-packages/meteor-installer/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/npm-packages/meteor-installer/config.js b/npm-packages/meteor-installer/config.js index b302d4020c..030114b35c 100644 --- a/npm-packages/meteor-installer/config.js +++ b/npm-packages/meteor-installer/config.js @@ -1,7 +1,7 @@ const os = require('os'); const path = require('path'); -const METEOR_LATEST_VERSION = '3.0.1'; +const METEOR_LATEST_VERSION = '3.0.2-beta.0'; const sudoUser = process.env.SUDO_USER || ''; function isRoot() { return process.getuid && process.getuid() === 0; diff --git a/npm-packages/meteor-installer/package-lock.json b/npm-packages/meteor-installer/package-lock.json index 9a754dc5d0..943952ceb0 100644 --- a/npm-packages/meteor-installer/package-lock.json +++ b/npm-packages/meteor-installer/package-lock.json @@ -1,12 +1,12 @@ { "name": "meteor", - "version": "3.0.1", + "version": "3.0.2-beta.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "meteor", - "version": "3.0.1", + "version": "3.0.2-beta.0", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/npm-packages/meteor-installer/package.json b/npm-packages/meteor-installer/package.json index 7da42f06a1..e1d28a8cbf 100644 --- a/npm-packages/meteor-installer/package.json +++ b/npm-packages/meteor-installer/package.json @@ -1,6 +1,6 @@ { "name": "meteor", - "version": "3.0.1", + "version": "3.0.2-beta.0", "description": "Install Meteor", "main": "install.js", "scripts": { From ccfef311d1607c6e3e0af25f63a9ca3d3ba6971e Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Tue, 30 Jul 2024 08:47:00 -0400 Subject: [PATCH 58/83] queue sending sub messages after outstanding methods --- packages/ddp-client/common/livedata_connection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index f86d0971b3..e951a327b6 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -1998,7 +1998,7 @@ export class Connection { // add new subscriptions at the end. this way they take effect after // the handlers and we don't see flicker. Object.entries(this._subscriptions).forEach(([id, sub]) => { - this._send({ + this._sendQueued({ msg: 'sub', id: id, name: sub.name, From ac83a825fbd404773e95d38b7ed56ea4010468e9 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Tue, 30 Jul 2024 08:48:32 -0400 Subject: [PATCH 59/83] revert autorun change --- packages/accounts-base/accounts_client.js | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/packages/accounts-base/accounts_client.js b/packages/accounts-base/accounts_client.js index 8449c29d97..33073f2a6c 100644 --- a/packages/accounts-base/accounts_client.js +++ b/packages/accounts-base/accounts_client.js @@ -18,6 +18,9 @@ export class AccountsClient extends AccountsCommon { this._loggingIn = new ReactiveVar(false); this._loggingOut = new ReactiveVar(false); + this._loginServicesHandle = + this.connection.subscribe("meteor.loginServiceConfiguration"); + this._pageLoadLoginCallbacks = []; this._pageLoadLoginAttemptInfo = null; @@ -35,15 +38,6 @@ export class AccountsClient extends AccountsCommon { // This tracks whether callbacks registered with // Accounts.onLogin have been called this._loginCallbacksCalled = false; - - Tracker.autorun(() => { - // This means that the socket connection is established and not that the `connected` message has been received - // and the first `connect` message is triggered by `onopen` and then `onReset` - if (this.connection.status().connected) { - this._loginServicesHandle = - this.connection.subscribe("meteor.loginServiceConfiguration"); - } - }) } initStorageLocation(options) { From 7f17dd6b23cd2d72c03f9f49cd1524dea8a426f4 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Tue, 30 Jul 2024 10:33:11 -0400 Subject: [PATCH 60/83] adjust tests --- packages/accounts-base/accounts_client_tests.js | 6 ++++-- packages/test-helpers/connection_client.js | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/accounts-base/accounts_client_tests.js b/packages/accounts-base/accounts_client_tests.js index 9619cd6969..f5466216f5 100644 --- a/packages/accounts-base/accounts_client_tests.js +++ b/packages/accounts-base/accounts_client_tests.js @@ -348,15 +348,17 @@ Tinytest.addAsync('accounts - storage', Tinytest.addAsync('accounts - should only start subscription when connected', async function (test) { const { conn, messages, cleanup } = await captureConnectionMessagesClient(test); - new AccountsClient({ + const acc = new AccountsClient({ connection: conn, }) + acc.callLoginMethod() + await Meteor._sleepForMs(100); // The sub call needs to come right after `connect` since this is when `status().connected` gets to be true and // not after `connected` as it is based on the socket connection status. - const expectedMessages = ['connect', 'sub', 'connected', 'ready'] + const expectedMessages = ['connect', 'method', 'sub', 'connected', 'updated', 'result', 'ready'] const parsedMessages = messages.map(m => m.msg).filter(Boolean).filter(m => m !== 'added') diff --git a/packages/test-helpers/connection_client.js b/packages/test-helpers/connection_client.js index 7fae2dd788..828a36857b 100644 --- a/packages/test-helpers/connection_client.js +++ b/packages/test-helpers/connection_client.js @@ -6,7 +6,10 @@ captureConnectionMessagesClient = async function () { const send = conn._stream.send; conn._stream.send = function (...args) { - messages.push(EJSON.parse(args[0])); + // Messages are not really sent when the socket is not connected, duh + if (conn._stream.currentStatus.connected) { + messages.push(EJSON.parse(args[0])); + } send.apply(this, args); } From ad6e1709d4f25ae32313ecd111ccb80588ecc1bf Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 31 Jul 2024 19:28:49 +0200 Subject: [PATCH 61/83] Remove version constraints from http package in accounts-twitter Is it event needed anymore? --- packages/accounts-twitter/package.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/accounts-twitter/package.js b/packages/accounts-twitter/package.js index 0e8beb4699..49a10e32b4 100644 --- a/packages/accounts-twitter/package.js +++ b/packages/accounts-twitter/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Login service for Twitter accounts", - version: '1.5.1', + version: '1.5.2', }); Package.onUse(api => { @@ -12,7 +12,7 @@ Package.onUse(api => { api.use('twitter-oauth'); api.imply('twitter-oauth'); - api.use('http@1.0.1', ['client', 'server']); + api.use('http', ['client', 'server']); api.use(['accounts-ui', 'twitter-config-ui'], ['client', 'server'], { weak: true }); api.addFiles("notice.js"); From 1ff056d5a1e4629371aa3f560b6066e7b2d82f71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Codo=C3=B1er?= Date: Tue, 30 Jul 2024 16:00:14 +0200 Subject: [PATCH 62/83] ensure to git reset checkout before updating git submodule --- scripts/windows/ci/install.ps1 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/windows/ci/install.ps1 b/scripts/windows/ci/install.ps1 index ced6023ad5..c8b9848327 100644 --- a/scripts/windows/ci/install.ps1 +++ b/scripts/windows/ci/install.ps1 @@ -7,6 +7,9 @@ If ($env:PLATFORM -Match '^x86|x64$') { $dirCheckout = (Get-Item $PSScriptRoot).parent.parent.parent.FullName $meteorBat = Join-Path $dirCheckout 'meteor.bat' +Write-Host "Resetting git checkout..." -ForegroundColor Magenta +& git.exe -C "$dirCheckout" reset --hard + Write-Host "Updating submodules recursively..." -ForegroundColor Magenta # Appveyor suggests -q flag for 'git submodule...' https://goo.gl/4TFAHm & git.exe -C "$dirCheckout" submodule -q update --init --recursive From 5c8536aa902501a90974c6969eac0ab436237c66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Codo=C3=B1er?= Date: Tue, 30 Jul 2024 16:06:23 +0200 Subject: [PATCH 63/83] ensure to git reset checkout on all submodules as well --- scripts/windows/ci/install.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/windows/ci/install.ps1 b/scripts/windows/ci/install.ps1 index c8b9848327..b1bb9cea1e 100644 --- a/scripts/windows/ci/install.ps1 +++ b/scripts/windows/ci/install.ps1 @@ -9,6 +9,7 @@ $meteorBat = Join-Path $dirCheckout 'meteor.bat' Write-Host "Resetting git checkout..." -ForegroundColor Magenta & git.exe -C "$dirCheckout" reset --hard +& git.exe -C "$dirCheckout" submodule foreach --recursive 'git reset --hard' Write-Host "Updating submodules recursively..." -ForegroundColor Magenta # Appveyor suggests -q flag for 'git submodule...' https://goo.gl/4TFAHm From f18bcc3e2906b94c6b483130f6e78b6208a94959 Mon Sep 17 00:00:00 2001 From: denihs Date: Thu, 1 Aug 2024 09:34:40 -0400 Subject: [PATCH 64/83] Meteor version to 3.0.2-beta.3 :comet: --- packages/accounts-2fa/package.js | 2 +- packages/accounts-base/package.js | 2 +- packages/accounts-password/package.js | 2 +- packages/accounts-twitter/package.js | 2 +- packages/ddp-client/package.js | 2 +- packages/ddp-common/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/email/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- v3-docs/docs/generators/changelog/versions/3.0.2.md | 4 ++++ 16 files changed, 19 insertions(+), 15 deletions(-) diff --git a/packages/accounts-2fa/package.js b/packages/accounts-2fa/package.js index 2b8eb01501..532fa8e1e0 100644 --- a/packages/accounts-2fa/package.js +++ b/packages/accounts-2fa/package.js @@ -1,5 +1,5 @@ Package.describe({ - version: '3.0.1-beta302.2', + version: '3.0.1-beta302.3', summary: 'Package used to enable two factor authentication through OTP protocol', }); diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index f1b739d2b7..724b492e36 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'A user account system', - version: '3.0.1-beta302.2', + version: '3.0.1-beta302.3', }); Package.onUse(api => { diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index 82423e74a1..aaf179867f 100644 --- a/packages/accounts-password/package.js +++ b/packages/accounts-password/package.js @@ -5,7 +5,7 @@ Package.describe({ // 2.2.x in the future. The version was also bumped to 2.0.0 temporarily // during the Meteor 1.5.1 release process, so versions 2.0.0-beta.2 // through -beta.5 and -rc.0 have already been published. - version: '3.0.1-beta302.2', + version: '3.0.1-beta302.3', }); Npm.depends({ diff --git a/packages/accounts-twitter/package.js b/packages/accounts-twitter/package.js index 49a10e32b4..722b56e877 100644 --- a/packages/accounts-twitter/package.js +++ b/packages/accounts-twitter/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Login service for Twitter accounts", - version: '1.5.2', + version: '1.5.2-beta302.3', }); Package.onUse(api => { diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 4b30e07926..cd2ef9276f 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '3.0.1-beta302.2', + version: '3.0.1-beta302.3', documentation: null }); diff --git a/packages/ddp-common/package.js b/packages/ddp-common/package.js index 10861cd120..3aa26d90c2 100644 --- a/packages/ddp-common/package.js +++ b/packages/ddp-common/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Code shared beween ddp-client and ddp-server", - version: '1.4.4-beta302.2', + version: '1.4.4-beta302.3', documentation: null }); diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index 3abe80b52d..8431bc7cce 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '3.0.1-beta302.2', + version: '3.0.1-beta302.3', documentation: null }); diff --git a/packages/email/package.js b/packages/email/package.js index 73777fb143..ba2954991a 100644 --- a/packages/email/package.js +++ b/packages/email/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Send email messages', - version: '3.0.1-beta302.2', + version: '3.0.1-beta302.3', }); Npm.depends({ diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 4f33fafae7..0d48bdc70c 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'The Meteor command-line tool', - version: '3.0.2-beta.2', + version: '3.0.2-beta.3', }); Package.includeTool(); diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index b5373a70c0..15d9605aa0 100644 --- a/packages/minimongo/package.js +++ b/packages/minimongo/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's client-side datastore: a port of MongoDB to Javascript", - version: '2.0.1-beta302.2', + version: '2.0.1-beta302.3', }); Package.onUse(api => { diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 2a197cc993..384802d98d 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '2.0.0', + version: '2.0.1-beta302.3', }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 2a9435f138..aa09af907d 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: '4.17.4-beta302.2', + version: '4.17.4-beta302.3', documentation: null }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index f478e97a58..f4981fe1a1 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '2.0.1-beta302.2', + version: '2.0.1-beta302.3', }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index c139445ec2..b07da7d759 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Serves a Meteor app over HTTP', - version: '2.0.1-beta302.2', + version: '2.0.1-beta302.3', }); Npm.depends({ diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index fc0646bd8e..7355c810a9 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "3.0.2-beta.2", + "version": "3.0.2-beta.3", "recommended": false, "official": false, "description": "Meteor experimental release" diff --git a/v3-docs/docs/generators/changelog/versions/3.0.2.md b/v3-docs/docs/generators/changelog/versions/3.0.2.md index 5a91b4c93b..98378052ac 100644 --- a/v3-docs/docs/generators/changelog/versions/3.0.2.md +++ b/v3-docs/docs/generators/changelog/versions/3.0.2.md @@ -5,6 +5,7 @@ * Bump the patch for some packages, so we publish them using Meteor 3 tooling. [PR #13231] * Fix subscription still resetting documents [PR #13236] * Fix auth sub sending ready twice on load [PR #13247] +* Remove version constraints from http package in accounts-twitter [PR #13268] #### Breaking Changes @@ -31,11 +32,13 @@ meteor update --release 3.0.2 - accounts-2fa@3.0.1 - accounts-base@3.0.1 - accounts-password@3.0.1 + - accounts-twitter@1.5.2 - ddp-client@3.0.1 - ddp-common@1.4.4 - ddp-server@3.0.1 - email@3.0.1 - minimongo@2.0.1 + - mongo@2.0.1 - npm-mongo@4.17.4 - test-helpers@2.0.1 - webapp@2.0.1 @@ -45,6 +48,7 @@ meteor update --release 3.0.2 #### Special thanks to - [@leonardoventurini](https://github.com/leonardoventurini). +- [@StorytellerCZ](https://github.com/StorytellerCZ). For making this great framework even better! From 1457fe3d083616d3e1976fb9c217edcd550a63e8 Mon Sep 17 00:00:00 2001 From: denihs Date: Thu, 1 Aug 2024 09:39:43 -0400 Subject: [PATCH 65/83] remove http from accounts-twitter. Not used there. --- packages/accounts-twitter/package.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/accounts-twitter/package.js b/packages/accounts-twitter/package.js index 722b56e877..8f79effd23 100644 --- a/packages/accounts-twitter/package.js +++ b/packages/accounts-twitter/package.js @@ -12,8 +12,6 @@ Package.onUse(api => { api.use('twitter-oauth'); api.imply('twitter-oauth'); - api.use('http', ['client', 'server']); - api.use(['accounts-ui', 'twitter-config-ui'], ['client', 'server'], { weak: true }); api.addFiles("notice.js"); From f79763724bc9f71ac2e2982aca5cd3e71ba7fb0d Mon Sep 17 00:00:00 2001 From: denihs Date: Thu, 1 Aug 2024 09:42:32 -0400 Subject: [PATCH 66/83] Meteor version to 3.0.2-beta.4 :comet: --- packages/accounts-2fa/package.js | 2 +- packages/accounts-base/package.js | 2 +- packages/accounts-password/package.js | 2 +- packages/accounts-twitter/package.js | 2 +- packages/ddp-client/package.js | 2 +- packages/ddp-common/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/email/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- packages/test-helpers/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/accounts-2fa/package.js b/packages/accounts-2fa/package.js index 532fa8e1e0..d8e5facd6b 100644 --- a/packages/accounts-2fa/package.js +++ b/packages/accounts-2fa/package.js @@ -1,5 +1,5 @@ Package.describe({ - version: '3.0.1-beta302.3', + version: '3.0.1-beta302.4', summary: 'Package used to enable two factor authentication through OTP protocol', }); diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index 724b492e36..034951fdaa 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'A user account system', - version: '3.0.1-beta302.3', + version: '3.0.1-beta302.4', }); Package.onUse(api => { diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index aaf179867f..ac36a5849d 100644 --- a/packages/accounts-password/package.js +++ b/packages/accounts-password/package.js @@ -5,7 +5,7 @@ Package.describe({ // 2.2.x in the future. The version was also bumped to 2.0.0 temporarily // during the Meteor 1.5.1 release process, so versions 2.0.0-beta.2 // through -beta.5 and -rc.0 have already been published. - version: '3.0.1-beta302.3', + version: '3.0.1-beta302.4', }); Npm.depends({ diff --git a/packages/accounts-twitter/package.js b/packages/accounts-twitter/package.js index 8f79effd23..2f4cfde40e 100644 --- a/packages/accounts-twitter/package.js +++ b/packages/accounts-twitter/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Login service for Twitter accounts", - version: '1.5.2-beta302.3', + version: '1.5.2-beta302.4', }); Package.onUse(api => { diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index cd2ef9276f..7e5560c9e1 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '3.0.1-beta302.3', + version: '3.0.1-beta302.4', documentation: null }); diff --git a/packages/ddp-common/package.js b/packages/ddp-common/package.js index 3aa26d90c2..b85999d57d 100644 --- a/packages/ddp-common/package.js +++ b/packages/ddp-common/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Code shared beween ddp-client and ddp-server", - version: '1.4.4-beta302.3', + version: '1.4.4-beta302.4', documentation: null }); diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index 8431bc7cce..5aab795588 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '3.0.1-beta302.3', + version: '3.0.1-beta302.4', documentation: null }); diff --git a/packages/email/package.js b/packages/email/package.js index ba2954991a..058e8da509 100644 --- a/packages/email/package.js +++ b/packages/email/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Send email messages', - version: '3.0.1-beta302.3', + version: '3.0.1-beta302.4', }); Npm.depends({ diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 0d48bdc70c..1b1d03d1f5 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'The Meteor command-line tool', - version: '3.0.2-beta.3', + version: '3.0.2-beta.4', }); Package.includeTool(); diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index 15d9605aa0..0ee78dec48 100644 --- a/packages/minimongo/package.js +++ b/packages/minimongo/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's client-side datastore: a port of MongoDB to Javascript", - version: '2.0.1-beta302.3', + version: '2.0.1-beta302.4', }); Package.onUse(api => { diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 384802d98d..03c969641c 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,7 +9,7 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '2.0.1-beta302.3', + version: '2.0.1-beta302.4', }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index aa09af907d..5404be0a1f 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,7 +3,7 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: '4.17.4-beta302.3', + version: '4.17.4-beta302.4', documentation: null }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index f4981fe1a1..adb04836f1 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Utility functions for tests", - version: '2.0.1-beta302.3', + version: '2.0.1-beta302.4', }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index b07da7d759..0308c363c0 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Serves a Meteor app over HTTP', - version: '2.0.1-beta302.3', + version: '2.0.1-beta302.4', }); Npm.depends({ diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 7355c810a9..b8ef390df5 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "3.0.2-beta.3", + "version": "3.0.2-beta.4", "recommended": false, "official": false, "description": "Meteor experimental release" From 69837bf4643565ca1c0d945fd8bdcf1dccddd928 Mon Sep 17 00:00:00 2001 From: denihs Date: Thu, 1 Aug 2024 12:56:56 -0400 Subject: [PATCH 67/83] publish version 3.0.2-beta.4 for the meteor installer package --- npm-packages/meteor-installer/config.js | 2 +- npm-packages/meteor-installer/package-lock.json | 4 ++-- npm-packages/meteor-installer/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/npm-packages/meteor-installer/config.js b/npm-packages/meteor-installer/config.js index 030114b35c..1bc472e02e 100644 --- a/npm-packages/meteor-installer/config.js +++ b/npm-packages/meteor-installer/config.js @@ -1,7 +1,7 @@ const os = require('os'); const path = require('path'); -const METEOR_LATEST_VERSION = '3.0.2-beta.0'; +const METEOR_LATEST_VERSION = '3.0.2-beta.4'; const sudoUser = process.env.SUDO_USER || ''; function isRoot() { return process.getuid && process.getuid() === 0; diff --git a/npm-packages/meteor-installer/package-lock.json b/npm-packages/meteor-installer/package-lock.json index 943952ceb0..9eda26dd6b 100644 --- a/npm-packages/meteor-installer/package-lock.json +++ b/npm-packages/meteor-installer/package-lock.json @@ -1,12 +1,12 @@ { "name": "meteor", - "version": "3.0.2-beta.0", + "version": "3.0.2-beta.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "meteor", - "version": "3.0.2-beta.0", + "version": "3.0.2-beta.4", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/npm-packages/meteor-installer/package.json b/npm-packages/meteor-installer/package.json index e1d28a8cbf..df6e71aec6 100644 --- a/npm-packages/meteor-installer/package.json +++ b/npm-packages/meteor-installer/package.json @@ -1,6 +1,6 @@ { "name": "meteor", - "version": "3.0.2-beta.0", + "version": "3.0.2-beta.4", "description": "Install Meteor", "main": "install.js", "scripts": { From 47c2a6eebfc2f9534779d08d6f8d78ecc595abe8 Mon Sep 17 00:00:00 2001 From: Jordan Tucker Date: Mon, 5 Aug 2024 11:37:17 -0500 Subject: [PATCH 68/83] Use PowerShell to set PATH instead of setx on Windows (#13254) * fix(installer): use powershell to set PATH instead of setx * style: run prettier * style(installer): fix comma --- npm-packages/meteor-installer/install.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/npm-packages/meteor-installer/install.js b/npm-packages/meteor-installer/install.js index 1598e0b893..9f98f0e8d5 100644 --- a/npm-packages/meteor-installer/install.js +++ b/npm-packages/meteor-installer/install.js @@ -302,7 +302,9 @@ async function setup() { async function setupExecPath() { if (isWindows()) { // set for the current session and beyond - child_process.execSync(`setx path "${meteorPath}/;%path%`); + child_process.execSync( + `powershell -c "$path = (Get-Item 'HKCU:\\Environment').GetValue('Path', '', 'DoNotExpandEnvironmentNames'); [Environment]::SetEnvironmentVariable('PATH', \\"${meteorPath};$path\\", 'User');"`, + ); return; } const exportCommand = `export PATH=${meteorPath}:$PATH`; From 88b3d676b49b97488fcefe2ef4f6a026910cb35d Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Tue, 6 Aug 2024 07:55:55 -0400 Subject: [PATCH 69/83] adjust readme and simplify wording and order --- npm-packages/meteor-installer/README.md | 65 ++++++++++++++++--------- 1 file changed, 42 insertions(+), 23 deletions(-) diff --git a/npm-packages/meteor-installer/README.md b/npm-packages/meteor-installer/README.md index 42e72eeefb..8db54698ef 100644 --- a/npm-packages/meteor-installer/README.md +++ b/npm-packages/meteor-installer/README.md @@ -1,14 +1,52 @@ ## Meteor Installer -Node.js <=14.x and npm <=6.x is recommended. +### Recommended Versions -Install Meteor by running: +- For Meteor 2 + - Use Node.js 14.x or higher + - Use npm 6.x or higher +- For Meteor 3 + - Use Node.js 20.x or higher + - Use npm 9.x or higher + +### Installation + +To install Meteor, run the following command: ```bash npm install -g meteor ``` -[Read more](https://www.meteor.com/developers/install) +#### Running with `npx`: + +```bash +npx meteor + +# or with a specific version +npx meteor@ +``` + +This command will execute the Meteor installer without adding it permanently to your global npm packages. + +For more information, visit the [official Meteor installation guide](https://www.meteor.com/developers/install). + +### Important Note + +This npm package is not the Meteor framework itself; it is just an installer. Do not include it as a dependency in your project, as doing so may break your deployment. + +### Path Management + +By default, the Meteor installer adds its install path (by default, `~/.meteor/`) to your PATH by updating either your `.bashrc`, `.bash_profile`, or `.zshrc` as appropriate. To disable this behavior, install Meteor by running: + +```bash +npm install -g meteor --ignore-meteor-setup-exec-path +``` + +(or by setting the environment variable `npm_config_ignore_meteor_setup_exec_path=true`) + +### Proxy Configuration + +Set the `https_proxy` or `HTTPS_PROXY` environment variable to a valid proxy URL to download Meteor files through the configured proxy. ### Meteor version relationship @@ -58,23 +96,4 @@ npm install -g meteor | 2.3.4 | 2.3.4 | | 2.3.3 | 2.3.2 | | 2.3.2 | 2.3.1 | -| 2.3.1 | 2.2.1 | - -### Important note - -This npm package is not Meteor itself, it is just an installer. You should not include it as a dependency in your project. If you do, your deployment is going to be broken. - -### Path management - -By default, the Meteor installer adds its install path (by default, `~/.meteor/`) to your PATH by updating either your `.bashrc`, `.bash_profile`, or `.zshrc` as appropriate. To disable this behavior, install Meteor by running: - -```bash -npm install -g meteor --ignore-meteor-setup-exec-path -``` - -(or by setting the environment variable `npm_config_ignore_meteor_setup_exec_path=true`) - -### Proxy configuration - -Setting the `https_proxy` or `HTTPS_PROXY` environment variable to a valid proxy URL will cause the -downloader to use the configured proxy to retrieve the Meteor files. +| 2.3.1 | 2.2.1 | \ No newline at end of file From 6541f259969f9648cdcbed764554988a28c78d48 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Tue, 6 Aug 2024 08:02:16 -0400 Subject: [PATCH 70/83] adjust wording --- npm-packages/meteor-installer/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm-packages/meteor-installer/README.md b/npm-packages/meteor-installer/README.md index 8db54698ef..b91b16d241 100644 --- a/npm-packages/meteor-installer/README.md +++ b/npm-packages/meteor-installer/README.md @@ -48,7 +48,7 @@ npm install -g meteor --ignore-meteor-setup-exec-path Set the `https_proxy` or `HTTPS_PROXY` environment variable to a valid proxy URL to download Meteor files through the configured proxy. -### Meteor version relationship +### Meteor Version Compatibility | NPM Package | Meteor Official Release | |-------------|-------------------------| From 9328c1eb96820dd269d41046240a9909880d0d80 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Tue, 6 Aug 2024 10:13:52 -0400 Subject: [PATCH 71/83] implement feedback --- npm-packages/meteor-installer/README.md | 28 +++++++++++++++++-------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/npm-packages/meteor-installer/README.md b/npm-packages/meteor-installer/README.md index b91b16d241..4a3a86c127 100644 --- a/npm-packages/meteor-installer/README.md +++ b/npm-packages/meteor-installer/README.md @@ -2,9 +2,9 @@ ### Recommended Versions -- For Meteor 2 - - Use Node.js 14.x or higher - - Use npm 6.x or higher +- For Meteor 2 (Legacy) + - Use Node.js 14.x + - Use npm 6.x - For Meteor 3 - Use Node.js 20.x or higher - Use npm 9.x or higher @@ -14,21 +14,31 @@ To install Meteor, run the following command: ```bash -npm install -g meteor +npx meteor ``` -#### Running with `npx`: +It will install Meteor's latest version, alternatively you can install a specific version by running: ```bash -npx meteor - -# or with a specific version npx meteor@ ``` This command will execute the Meteor installer without adding it permanently to your global npm packages. -For more information, visit the [official Meteor installation guide](https://www.meteor.com/developers/install). +You can also install it globally by running the following command, but it is not recommended: + +```bash +npm install -g meteor +``` + +For more information, visit: + +- [Meteor 2 Installation Guide (Legacy)](https://v2-docs.meteor.com/install.html) +- [**Meteor 3 Installation Guide**](https://v3-docs.meteor.com/about/install.html) + + + + ### Important Note From e8c79874974d321630053c0a4167f2a2e43c1381 Mon Sep 17 00:00:00 2001 From: Leonardo Venturini Date: Tue, 6 Aug 2024 13:39:46 -0400 Subject: [PATCH 72/83] remove global install command --- npm-packages/meteor-installer/README.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/npm-packages/meteor-installer/README.md b/npm-packages/meteor-installer/README.md index 4a3a86c127..15e5407b73 100644 --- a/npm-packages/meteor-installer/README.md +++ b/npm-packages/meteor-installer/README.md @@ -25,12 +25,6 @@ npx meteor@ This command will execute the Meteor installer without adding it permanently to your global npm packages. -You can also install it globally by running the following command, but it is not recommended: - -```bash -npm install -g meteor -``` - For more information, visit: - [Meteor 2 Installation Guide (Legacy)](https://v2-docs.meteor.com/install.html) From ca98e1c377008d4767fa1241a824e7448b012999 Mon Sep 17 00:00:00 2001 From: Cam Stuart Date: Thu, 8 Aug 2024 00:21:12 +1000 Subject: [PATCH 73/83] fix: typo --- v3-docs/docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v3-docs/docs/index.md b/v3-docs/docs/index.md index ccf12f2d83..84434df490 100644 --- a/v3-docs/docs/index.md +++ b/v3-docs/docs/index.md @@ -44,7 +44,7 @@ features: - title: Built-in Accounts icon: 👤 - details: Login and Accounts package ready to use with your app. Never rebuilt an authentication system again. + details: Login and Accounts package ready to use with your app. Never rebuild an authentication system again. - title: Pioneering and Reliable icon: 🏆 From 2e741b3fc3279ae6e2fd48f9c9a50091cb608612 Mon Sep 17 00:00:00 2001 From: Oleksandr Chekhovskyi Date: Thu, 8 Aug 2024 17:59:19 +0300 Subject: [PATCH 74/83] Fix Meteor.promisify and add a test for it (#13284) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes a regression introduced in commit 87f8697941. Co-authored-by: Nacho Codoñer --- packages/meteor/helpers.js | 8 +++++--- packages/meteor/helpers_test.js | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/packages/meteor/helpers.js b/packages/meteor/helpers.js index ac6b801d83..3dd1e2a6b1 100644 --- a/packages/meteor/helpers.js +++ b/packages/meteor/helpers.js @@ -85,6 +85,10 @@ Meteor.promisify = function (fn, context, errorFirst) { } return function () { + var self = this; + var filteredArgs = Array.prototype.slice.call(arguments) + .filter(function (i) { return i !== undefined; }); + return new Promise(function (resolve, reject) { var callback = Meteor.bindEnvironment(function (error, result) { var _error = error, _result = result; @@ -100,11 +104,9 @@ Meteor.promisify = function (fn, context, errorFirst) { resolve(_result); }); - var filteredArgs = Array.prototype.slice.call(arguments) - .filter(function (i) { return i !== undefined; }); filteredArgs.push(callback); - return fn.apply(context || this, filteredArgs); + return fn.apply(context || self, filteredArgs); }); }; }; diff --git a/packages/meteor/helpers_test.js b/packages/meteor/helpers_test.js index 78c968fffb..3a2af555f7 100644 --- a/packages/meteor/helpers_test.js +++ b/packages/meteor/helpers_test.js @@ -100,3 +100,24 @@ Tinytest.add("environment - startup", function (test) { }); test.isTrue(called); }); + +Tinytest.addAsync("environment - promisify", async function (test) { + function TestClass(value) { + this.value = value; + } + + TestClass.prototype.method = function (arg1, arg2, callback) { + var value = this.value; + setTimeout(function () { + callback(null, arg1 + arg2 + value); + }, 0); + }; + + TestClass.prototype.methodAsync = Meteor.promisify(TestClass.prototype.method); + + var instance = new TestClass(5); + test.equal(await instance.methodAsync(1, 2), 8); + + var asyncMethodWithContext = Meteor.promisify(instance.method, instance); + test.equal(await asyncMethodWithContext(2, 3), 10); +}); From 1890df2eb408bddde5be76ba1e10fcf98facb898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Codo=C3=B1er?= Date: Mon, 12 Aug 2024 14:02:29 +0200 Subject: [PATCH 75/83] Fix deprecation dependency on installer (#13289) * fix deprecation dependency on installer * re-run checks --- .../meteor-installer/package-lock.json | 448 +++++++++++++++--- npm-packages/meteor-installer/package.json | 2 +- 2 files changed, 376 insertions(+), 74 deletions(-) diff --git a/npm-packages/meteor-installer/package-lock.json b/npm-packages/meteor-installer/package-lock.json index 9eda26dd6b..587bb6e3cc 100644 --- a/npm-packages/meteor-installer/package-lock.json +++ b/npm-packages/meteor-installer/package-lock.json @@ -15,7 +15,7 @@ "https-proxy-agent": "^5.0.1", "node-7z": "^2.1.2", "node-downloader-helper": "^2.1.9", - "rimraf": "^3.0.2", + "rimraf": "^6.0.1", "semver": "^7.3.7", "tar": "^6.1.11", "tmp": "^0.2.1" @@ -28,6 +28,83 @@ "npm": ">=10.x" } }, + "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==", + "license": "ISC", + "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.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?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==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "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==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/7zip-bin": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.2.0.tgz", @@ -52,18 +129,31 @@ "node": ">=8" } }, + "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==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/chownr": { @@ -85,10 +175,23 @@ "node": ">=4" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "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==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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==", + "license": "MIT" }, "node_modules/cross-spawn": { "version": "7.0.3", @@ -119,11 +222,33 @@ } } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -146,31 +271,38 @@ "node": ">=8" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/glob/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -183,21 +315,6 @@ "node": ">= 6" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -211,6 +328,24 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, + "node_modules/jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/lodash.defaultsdeep": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", @@ -248,14 +383,18 @@ } }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minipass": { @@ -342,21 +481,11 @@ "node": ">=0.10.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "license": "BlueOak-1.0.0" }, "node_modules/path-key": { "version": "3.1.1", @@ -366,16 +495,54 @@ "node": ">=8" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", + "node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "license": "BlueOak-1.0.0", "dependencies": { - "glob": "^7.1.3" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/rimraf": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", + "license": "ISC", + "dependencies": { + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" }, "bin": { - "rimraf": "bin.js" + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -414,6 +581,18 @@ "node": ">=8" } }, + "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==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -427,6 +606,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==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -438,6 +632,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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/tar": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", @@ -476,10 +683,105 @@ "node": ">= 8" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "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==", + "license": "MIT", + "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/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==", + "license": "MIT", + "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==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/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==", + "license": "MIT" + }, + "node_modules/wrap-ansi/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==", + "license": "MIT", + "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/wrap-ansi/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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } }, "node_modules/yallist": { "version": "4.0.0", diff --git a/npm-packages/meteor-installer/package.json b/npm-packages/meteor-installer/package.json index df6e71aec6..c99c2538c5 100644 --- a/npm-packages/meteor-installer/package.json +++ b/npm-packages/meteor-installer/package.json @@ -15,7 +15,7 @@ "https-proxy-agent": "^5.0.1", "node-7z": "^2.1.2", "node-downloader-helper": "^2.1.9", - "rimraf": "^3.0.2", + "rimraf": "^6.0.1", "semver": "^7.3.7", "tar": "^6.1.11", "tmp": "^0.2.1" From 0c5371daeb3f904c909eb4b104fb032bc48476df Mon Sep 17 00:00:00 2001 From: jhernandez-etraid <82209236+jhernandez-etraid@users.noreply.github.com> Date: Mon, 12 Aug 2024 17:20:36 +0200 Subject: [PATCH 76/83] add ddpUrl to VALID_CONFIG_KEYS (#13296) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add ddpUrl to VALID_CONFIG_KEYS * 'ddpUrl' --------- Co-authored-by: Nacho Codoñer From 484b52348791e825195f1a549428674f9ea3bbf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Codo=C3=B1er?= Date: Mon, 12 Aug 2024 17:21:32 +0200 Subject: [PATCH 77/83] Deprecate Meteor.user() usage on server side (#13288) --- packages/accounts-2fa/2fa-server.js | 6 +++--- packages/accounts-base/accounts_common.js | 8 ++++++++ packages/accounts-base/accounts_tests.js | 15 +++++++-------- packages/accounts-password/email_tests.js | 10 +++++----- packages/accounts-password/password_tests.js | 2 +- 5 files changed, 24 insertions(+), 17 deletions(-) diff --git a/packages/accounts-2fa/2fa-server.js b/packages/accounts-2fa/2fa-server.js index 188d829489..801233d294 100644 --- a/packages/accounts-2fa/2fa-server.js +++ b/packages/accounts-2fa/2fa-server.js @@ -14,7 +14,7 @@ Accounts._check2faEnabled = user => { }; Accounts._is2faEnabledForUser = async () => { - const user = await Meteor.user(); + const user = await Meteor.userAsync(); if (!user) { throw new Meteor.Error('no-logged-user', 'No user logged in.'); } @@ -36,7 +36,7 @@ Accounts._isTokenValid = (secret, code) => { Meteor.methods({ async generate2faActivationQrCode(appName) { check(appName, String); - const user = await Meteor.user(); + const user = await Meteor.userAsync(); if (!user) { throw new Meteor.Error( @@ -74,7 +74,7 @@ Meteor.methods({ }, async enableUser2fa(code) { check(code, String); - const user = await Meteor.user(); + const user = await Meteor.userAsync(); if (!user) { throw new Meteor.Error(400, 'No user logged in.'); diff --git a/packages/accounts-base/accounts_common.js b/packages/accounts-base/accounts_common.js index 1d245b548b..fdd45a2890 100644 --- a/packages/accounts-base/accounts_common.js +++ b/packages/accounts-base/accounts_common.js @@ -164,6 +164,14 @@ export class AccountsCommon { * @param {MongoFieldSpecifier} options.fields Dictionary of fields to return or exclude. */ user(options) { + if (Meteor.isServer) { + console.warn([ + "`Meteor.user()` is deprecated on the server side.", + " To fetch the current user record on the server,", + " use `Meteor.userAsync()` instead.", + ].join("\n")); + } + const self = this; const userId = self.userId(); const findOne = (...args) => Meteor.isClient diff --git a/packages/accounts-base/accounts_tests.js b/packages/accounts-base/accounts_tests.js index 7ba9fd48f5..f6cdf49c71 100644 --- a/packages/accounts-base/accounts_tests.js +++ b/packages/accounts-base/accounts_tests.js @@ -479,28 +479,28 @@ Tinytest.addAsync( Accounts._options = {}; // test the field is included by default - let user = await Meteor.user(); + let user = await Meteor.userAsync(); test.isNotUndefined(user[ignoreFieldName], 'included by default'); // test the field is excluded Accounts.config({ defaultFieldSelector: { [ignoreFieldName]: 0 } }); - user = await Meteor.user(); + user = await Meteor.userAsync(); test.isUndefined(user[ignoreFieldName], 'excluded'); - user = await Meteor.user({}); + user = await Meteor.userAsync({}); test.isUndefined(user[ignoreFieldName], 'excluded {}'); // test the field can still be retrieved if required - user = await Meteor.user({ fields: { [ignoreFieldName]: 1 } }); + user = await Meteor.userAsync({ fields: { [ignoreFieldName]: 1 } }); test.isNotUndefined(user[ignoreFieldName], 'field can be retrieved'); test.isUndefined(user.username, 'field can be retrieved username'); // test a combined negative field specifier - user = await Meteor.user({ fields: { username: 0 } }); + user = await Meteor.userAsync({ fields: { username: 0 } }); test.isUndefined(user[ignoreFieldName], 'combined field selector'); test.isUndefined(user.username, 'combined field selector username'); // test an explicit request for the full user object - user = await Meteor.user({ fields: {} }); + user = await Meteor.userAsync({ fields: {} }); test.isNotUndefined(user[ignoreFieldName], 'full selector'); test.isNotUndefined(user.username, 'full selector username'); @@ -508,7 +508,7 @@ Tinytest.addAsync( // Test that a custom field gets retrieved properly Accounts.config({ defaultFieldSelector: { [customField]: 1 } }); - user = await Meteor.user() + user = await Meteor.userAsync() test.isNotUndefined(user[customField]); test.isUndefined(user.username); test.isUndefined(user[ignoreFieldName]); @@ -914,4 +914,3 @@ Tinytest.addAsync('accounts - updateOrCreateUserFromExternalService - Twitter', // cleanup await Meteor.users.removeAsync(u1.id); }); - diff --git a/packages/accounts-password/email_tests.js b/packages/accounts-password/email_tests.js index 01a159bc4b..16ca358ef5 100644 --- a/packages/accounts-password/email_tests.js +++ b/packages/accounts-password/email_tests.js @@ -171,7 +171,7 @@ testAsyncMulti("accounts emails - verify email flow", [ loggedIn(test, expect)); }, async function (test, expect) { - const u = await Meteor.user(); + const u = await Meteor.userAsync(); test.equal(u.emails.length, 1); test.equal(u.emails[0].address, this.email); test.isFalse(u.emails[0].verified); @@ -192,7 +192,7 @@ testAsyncMulti("accounts emails - verify email flow", [ Accounts.verifyEmail(verifyEmailToken, loggedIn(test, expect)); }, async function (test) { - const u = await Meteor.user(); + const u = await Meteor.userAsync(); test.equal(u.emails.length, 1); test.equal(u.emails[0].address, this.email); @@ -202,7 +202,7 @@ testAsyncMulti("accounts emails - verify email flow", [ Accounts.connection.call( "addEmailForTestAndVerify", this.anotherEmail, expect(async (error, result) => { - const u = await Meteor.user(); + const u = await Meteor.userAsync(); test.isFalse(error); test.equal(u.emails.length, 2); @@ -233,7 +233,7 @@ testAsyncMulti("accounts emails - verify email flow", [ Accounts.connection.call( "addEmailForTestAndVerify", this.anotherEmailCaps, expect(async (error, result) => { - const u = await Meteor.user(); + const u = await Meteor.userAsync(); test.isFalse(error); test.equal(u.emails.length, 3); test.equal(u.emails[2].address, this.anotherEmailCaps); @@ -256,7 +256,7 @@ testAsyncMulti("accounts emails - verify email flow", [ loggedIn(test, expect)); }, async function (test, expect) { - const u = await Meteor.user(); + const u = await Meteor.userAsync(); test.equal(u.emails[2].address, this.anotherEmailCaps); test.isTrue(u.emails[2].verified); diff --git a/packages/accounts-password/password_tests.js b/packages/accounts-password/password_tests.js index 418bf56da7..66fb4f83a8 100644 --- a/packages/accounts-password/password_tests.js +++ b/packages/accounts-password/password_tests.js @@ -701,7 +701,7 @@ if (Meteor.isClient) (() => { // accounts-base/accounts_tests.js, but this is where the tests that // actually log in are. async function (test, expect) { - const clientUser = await Meteor.user(); + const clientUser = await Meteor.userAsync(); Accounts.connection.call('testMeteorUser', expect((err, result) => { test.equal(result._id, clientUser._id); test.equal(result.username, clientUser.username); From 9f5f3d88889111b57db997668fc1f914c2aeda3f Mon Sep 17 00:00:00 2001 From: denihs Date: Wed, 14 Aug 2024 10:16:21 -0400 Subject: [PATCH 78/83] Meteor version to 3.0.2 :comet: --- packages/accounts-2fa/package.js | 40 +++--- packages/accounts-base/package.js | 70 +++++------ packages/accounts-password/package.js | 58 ++++----- packages/accounts-twitter/package.js | 20 +-- packages/ddp-client/package.js | 95 +++++++------- packages/ddp-common/package.js | 28 ++--- packages/ddp-server/package.js | 81 +++++++----- packages/email/package.js | 32 ++--- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/minimongo/package.js | 66 +++++----- packages/mongo/package.js | 119 ++++++++++-------- packages/npm-mongo/package.js | 11 +- packages/test-helpers/package.js | 96 +++++++------- packages/webapp/package.js | 92 +++++++------- scripts/admin/meteor-release-official.json | 2 +- .../generators/changelog/versions/3.0.2.md | 4 +- 17 files changed, 428 insertions(+), 390 deletions(-) diff --git a/packages/accounts-2fa/package.js b/packages/accounts-2fa/package.js index d8e5facd6b..52efca1c3b 100644 --- a/packages/accounts-2fa/package.js +++ b/packages/accounts-2fa/package.js @@ -1,37 +1,37 @@ Package.describe({ - version: '3.0.1-beta302.4', + version: "3.0.1", summary: - 'Package used to enable two factor authentication through OTP protocol', + "Package used to enable two factor authentication through OTP protocol", }); Npm.depends({ - 'node-2fa': '2.0.3', - 'qrcode-svg': '1.1.0', + "node-2fa": "2.0.3", + "qrcode-svg": "1.1.0", }); -Package.onUse(function(api) { - api.use(['accounts-base'], ['client', 'server']); +Package.onUse(function (api) { + api.use(["accounts-base"], ["client", "server"]); // Export Accounts (etc.) to packages using this one. - api.imply('accounts-base', ['client', 'server']); + api.imply("accounts-base", ["client", "server"]); - api.use('ecmascript'); - api.use('check', 'server'); + api.use("ecmascript"); + api.use("check", "server"); - api.addFiles(['2fa-client.js'], 'client'); - api.addFiles(['2fa-server.js'], 'server'); + api.addFiles(["2fa-client.js"], "client"); + api.addFiles(["2fa-server.js"], "server"); }); -Package.onTest(function(api) { +Package.onTest(function (api) { api.use([ - 'accounts-base', - 'accounts-password', - 'ecmascript', - 'tinytest', - 'random', - 'accounts-2fa', + "accounts-base", + "accounts-password", + "ecmascript", + "tinytest", + "random", + "accounts-2fa", ]); - api.mainModule('server_tests.js', 'server'); - api.mainModule('client_tests.js', 'client'); + api.mainModule("server_tests.js", "server"); + api.mainModule("client_tests.js", "client"); }); diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index 034951fdaa..863706668c 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -1,67 +1,67 @@ Package.describe({ - summary: 'A user account system', - version: '3.0.1-beta302.4', + summary: "A user account system", + version: "3.0.1", }); -Package.onUse(api => { - api.use('ecmascript', ['client', 'server']); - api.use('ddp-rate-limiter'); - api.use('localstorage', 'client'); - api.use('tracker', 'client'); - api.use('check', 'server'); - api.use('random', ['client', 'server']); - api.use('ejson', 'server'); - api.use('callback-hook', ['client', 'server']); - api.use('reactive-var', 'client'); - api.use('url', ['client', 'server']); +Package.onUse((api) => { + api.use("ecmascript", ["client", "server"]); + api.use("ddp-rate-limiter"); + api.use("localstorage", "client"); + api.use("tracker", "client"); + api.use("check", "server"); + api.use("random", ["client", "server"]); + api.use("ejson", "server"); + api.use("callback-hook", ["client", "server"]); + api.use("reactive-var", "client"); + api.use("url", ["client", "server"]); // needed for getting the currently logged-in user and handling reconnects - api.use('ddp', ['client', 'server']); + api.use("ddp", ["client", "server"]); // need this because of the Meteor.users collection but in the future // we'd probably want to abstract this away - api.use('mongo', ['client', 'server']); + api.use("mongo", ["client", "server"]); // If the 'blaze' package is loaded, we'll define some helpers like // {{currentUser}}. If not, no biggie. - api.use('blaze', 'client', { weak: true }); + api.use("blaze", "client", { weak: true }); // Allow us to detect 'autopublish', and publish some Meteor.users fields if // it's loaded. - api.use('autopublish', 'server', { weak: true }); + api.use("autopublish", "server", { weak: true }); - api.use('oauth-encryption', 'server', { weak: true }); + api.use("oauth-encryption", "server", { weak: true }); // Though this "Accounts" symbol is the only official Package export for // the accounts-base package, modules that import accounts-base will // have access to anything added to the exports object of the main // module, including AccountsClient and AccountsServer (those symbols // just won't be automatically imported as "global" variables). - api.export('Accounts'); + api.export("Accounts"); // These main modules import all the other modules that comprise the // accounts-base package, and define exports that will be accessible to // modules that import the accounts-base package. - api.mainModule('server_main.js', 'server'); - api.mainModule('client_main.js', 'client'); + api.mainModule("server_main.js", "server"); + api.mainModule("client_main.js", "client"); - api.addAssets('accounts-base.d.ts', 'server'); + api.addAssets("accounts-base.d.ts", "server"); }); -Package.onTest(api => { +Package.onTest((api) => { api.use([ - 'accounts-base', - 'ecmascript', - 'tinytest', - 'random', - 'test-helpers', - 'oauth-encryption', - 'ddp', - 'accounts-password', - 'accounts-2fa', + "accounts-base", + "ecmascript", + "tinytest", + "random", + "test-helpers", + "oauth-encryption", + "ddp", + "accounts-password", + "accounts-2fa", ]); - api.addFiles('accounts_tests_setup.js', 'server'); - api.mainModule('server_tests.js', 'server'); - api.mainModule('client_tests.js', 'client'); + api.addFiles("accounts_tests_setup.js", "server"); + api.mainModule("server_tests.js", "server"); + api.mainModule("client_tests.js", "client"); }); diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index ac36a5849d..2083f877a0 100644 --- a/packages/accounts-password/package.js +++ b/packages/accounts-password/package.js @@ -1,49 +1,49 @@ Package.describe({ - summary: 'Password support for accounts', + summary: "Password support for accounts", // Note: 2.2.0-beta.3 was published during the Meteor 1.6 prerelease // process, so it might be best to skip to 2.3.x instead of reusing // 2.2.x in the future. The version was also bumped to 2.0.0 temporarily // during the Meteor 1.5.1 release process, so versions 2.0.0-beta.2 // through -beta.5 and -rc.0 have already been published. - version: '3.0.1-beta302.4', + version: "3.0.1", }); Npm.depends({ - bcrypt: '5.0.1', + bcrypt: "5.0.1", }); -Package.onUse(api => { - api.use(['accounts-base', 'sha', 'ejson', 'ddp'], ['client', 'server']); +Package.onUse((api) => { + api.use(["accounts-base", "sha", "ejson", "ddp"], ["client", "server"]); // Export Accounts (etc) to packages using this one. - api.imply('accounts-base', ['client', 'server']); + api.imply("accounts-base", ["client", "server"]); - api.use('email', 'server'); - api.use('random', 'server'); - api.use('check', 'server'); - api.use('ecmascript'); + api.use("email", "server"); + api.use("random", "server"); + api.use("check", "server"); + api.use("ecmascript"); - api.addFiles('email_templates.js', 'server'); - api.addFiles('password_server.js', 'server'); - api.addFiles('password_client.js', 'client'); + api.addFiles("email_templates.js", "server"); + api.addFiles("password_server.js", "server"); + api.addFiles("password_client.js", "client"); }); -Package.onTest(api => { +Package.onTest((api) => { api.use([ - 'accounts-password', - 'sha', - 'tinytest', - 'test-helpers', - 'tracker', - 'accounts-base', - 'random', - 'email', - 'check', - 'ddp', - 'ecmascript', + "accounts-password", + "sha", + "tinytest", + "test-helpers", + "tracker", + "accounts-base", + "random", + "email", + "check", + "ddp", + "ecmascript", ]); - api.addFiles('password_tests_setup.js', 'server'); - api.addFiles('password_tests.js', ['client', 'server']); - api.addFiles('email_tests_setup.js', 'server'); - api.addFiles('email_tests.js', 'client'); + api.addFiles("password_tests_setup.js", "server"); + api.addFiles("password_tests.js", ["client", "server"]); + api.addFiles("email_tests_setup.js", "server"); + api.addFiles("email_tests.js", "client"); }); diff --git a/packages/accounts-twitter/package.js b/packages/accounts-twitter/package.js index 2f4cfde40e..405c08d38b 100644 --- a/packages/accounts-twitter/package.js +++ b/packages/accounts-twitter/package.js @@ -1,18 +1,20 @@ Package.describe({ summary: "Login service for Twitter accounts", - version: '1.5.2-beta302.4', + version: "1.5.2", }); -Package.onUse(api => { - api.use('ecmascript'); - api.use('accounts-base', ['client', 'server']); +Package.onUse((api) => { + api.use("ecmascript"); + api.use("accounts-base", ["client", "server"]); // Export Accounts (etc) to packages using this one. - api.imply('accounts-base', ['client', 'server']); - api.use('accounts-oauth', ['client', 'server']); - api.use('twitter-oauth'); - api.imply('twitter-oauth'); + api.imply("accounts-base", ["client", "server"]); + api.use("accounts-oauth", ["client", "server"]); + api.use("twitter-oauth"); + api.imply("twitter-oauth"); - api.use(['accounts-ui', 'twitter-config-ui'], ['client', 'server'], { weak: true }); + api.use(["accounts-ui", "twitter-config-ui"], ["client", "server"], { + weak: true, + }); api.addFiles("notice.js"); api.addFiles("twitter.js"); diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 7e5560c9e1..2eb354614c 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,66 +1,69 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '3.0.1-beta302.4', - documentation: null + version: "3.0.1", + documentation: null, }); Npm.depends({ - '@sinonjs/fake-timers': '7.0.5' + "@sinonjs/fake-timers": "7.0.5", }); Package.onUse((api) => { - api.use([ - 'check', - 'random', - 'ejson', - 'tracker', - 'retry', - 'id-map', - 'ecmascript', - 'callback-hook', - 'ddp-common', - 'reload', - 'socket-stream-client', + api.use( + [ + "check", + "random", + "ejson", + "tracker", + "retry", + "id-map", + "ecmascript", + "callback-hook", + "ddp-common", + "reload", + "socket-stream-client", - // we depend on _diffObjects, _applyChanges, - 'diff-sequence', + // we depend on _diffObjects, _applyChanges, + "diff-sequence", - // _idParse, _idStringify. - 'mongo-id' - ], ['client', 'server']); + // _idParse, _idStringify. + "mongo-id", + ], + ["client", "server"] + ); - api.use('reload', 'client', { weak: true }); + api.use("reload", "client", { weak: true }); // For backcompat where things use Package.ddp.DDP, etc - api.export('DDP'); - api.mainModule('client/client.js', 'client'); - api.mainModule('server/server.js', 'server'); + api.export("DDP"); + api.mainModule("client/client.js", "client"); + api.mainModule("server/server.js", "server"); }); Package.onTest((api) => { api.use([ - 'livedata', - 'mongo', - 'test-helpers', - 'ecmascript', - 'underscore', - 'tinytest', - 'random', - 'tracker', - 'reactive-var', - 'mongo-id', - 'diff-sequence', - 'ejson', - 'ddp-common', - 'check' + "livedata", + "mongo", + "test-helpers", + "ecmascript", + "underscore", + "tinytest", + "random", + "tracker", + "reactive-var", + "mongo-id", + "diff-sequence", + "ejson", + "ddp-common", + "check", ]); - api.addFiles('test/stub_stream.js'); - api.addFiles('test/livedata_connection_tests.js'); - api.addFiles('test/livedata_tests.js'); - api.addFiles('test/livedata_test_service.js'); - api.addFiles('test/random_stream_tests.js'); - api.addFiles('test/async_stubs/client.js', 'client'); - api.addFiles('test/async_stubs/server_setup.js', 'server'); - api.addFiles('test/livedata_callAsync_tests.js'); + api.addFiles("test/stub_stream.js"); + api.addFiles("test/livedata_connection_tests.js"); + api.addFiles("test/livedata_tests.js"); + api.addFiles("test/livedata_test_service.js"); + api.addFiles("test/random_stream_tests.js"); + api.addFiles("test/async_stubs/client.js", "client"); + api.addFiles("test/async_stubs/server_setup.js", "server"); + api.addFiles("test/livedata_callAsync_tests.js"); }); diff --git a/packages/ddp-common/package.js b/packages/ddp-common/package.js index b85999d57d..64348d2433 100644 --- a/packages/ddp-common/package.js +++ b/packages/ddp-common/package.js @@ -1,27 +1,23 @@ Package.describe({ summary: "Code shared beween ddp-client and ddp-server", - version: '1.4.4-beta302.4', - documentation: null + version: "1.4.4", + documentation: null, }); Package.onUse(function (api) { - api.use([ - 'check', - 'random', - 'ecmascript', - 'ejson', - 'tracker', - 'retry', - ], ['client', 'server']); + api.use( + ["check", "random", "ecmascript", "ejson", "tracker", "retry"], + ["client", "server"] + ); - api.addFiles('namespace.js'); + api.addFiles("namespace.js"); - api.addFiles('heartbeat.js', ['client', 'server']); - api.addFiles('utils.js', ['client', 'server']); - api.addFiles('method_invocation.js', ['client', 'server']); - api.addFiles('random_stream.js', ['client', 'server']); + api.addFiles("heartbeat.js", ["client", "server"]); + api.addFiles("utils.js", ["client", "server"]); + api.addFiles("method_invocation.js", ["client", "server"]); + api.addFiles("random_stream.js", ["client", "server"]); - api.export('DDPCommon'); + api.export("DDPCommon"); }); Package.onTest(function (api) { diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index 5aab795588..2bbd7a97d2 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,62 +1,77 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '3.0.1-beta302.4', - documentation: null + version: "3.0.1", + documentation: null, }); Npm.depends({ "permessage-deflate": "0.1.7", - sockjs: "0.3.24" + sockjs: "0.3.24", }); Package.onUse(function (api) { - api.use(['check', 'random', 'ejson', 'underscore', - 'retry', 'mongo-id', 'diff-sequence', 'ecmascript'], - 'server'); + api.use( + [ + "check", + "random", + "ejson", + "underscore", + "retry", + "mongo-id", + "diff-sequence", + "ecmascript", + ], + "server" + ); // common functionality - api.use('ddp-common', 'server'); // heartbeat - api.use('ddp-rate-limiter', 'server', {weak: true}); + api.use("ddp-common", "server"); // heartbeat + api.use("ddp-rate-limiter", "server", { weak: true }); // Transport - api.use('ddp-client', 'server'); - api.imply('ddp-client'); + api.use("ddp-client", "server"); + api.imply("ddp-client"); - api.use(['webapp', 'routepolicy'], 'server'); + api.use(["webapp", "routepolicy"], "server"); // Detect whether or not the user wants us to audit argument checks. - api.use(['audit-argument-checks'], 'server', {weak: true}); + api.use(["audit-argument-checks"], "server", { weak: true }); // Allow us to detect 'autopublish', so we can print a warning if the user // runs Meteor.publish while it's loaded. - api.use('autopublish', 'server', {weak: true}); + api.use("autopublish", "server", { weak: true }); // If the facts package is loaded, publish some statistics. - api.use('facts-base', 'server', {unordered: true}); + api.use("facts-base", "server", { unordered: true }); - api.use('callback-hook', 'server'); - api.export('DDPServer', 'server'); + api.use("callback-hook", "server"); + api.export("DDPServer", "server"); - api.addFiles('stream_server.js', 'server'); + api.addFiles("stream_server.js", "server"); - api.addFiles('livedata_server.js', 'server'); - api.addFiles('writefence.js', 'server'); - api.addFiles('crossbar.js', 'server'); + api.addFiles("livedata_server.js", "server"); + api.addFiles("writefence.js", "server"); + api.addFiles("crossbar.js", "server"); - api.addFiles('server_convenience.js', 'server'); + api.addFiles("server_convenience.js", "server"); }); - - Package.onTest(function (api) { - api.use('ecmascript', ['client', 'server']); - api.use('ejson', ['client', 'server']); - api.use('livedata', ['client', 'server']); - api.use('mongo', ['client', 'server']); - api.use('test-helpers', ['client', 'server']); - api.use(['underscore', 'tinytest', 'random', 'tracker', 'minimongo', 'reactive-var']); + api.use("ecmascript", ["client", "server"]); + api.use("ejson", ["client", "server"]); + api.use("livedata", ["client", "server"]); + api.use("mongo", ["client", "server"]); + api.use("test-helpers", ["client", "server"]); + api.use([ + "underscore", + "tinytest", + "random", + "tracker", + "minimongo", + "reactive-var", + ]); - api.addFiles('livedata_server_tests.js', 'server'); - api.addFiles('livedata_server_async_tests.js', 'server'); - api.addFiles('session_view_tests.js', ['server']); - api.addFiles('crossbar_tests.js', ['server']); + api.addFiles("livedata_server_tests.js", "server"); + api.addFiles("livedata_server_async_tests.js", "server"); + api.addFiles("session_view_tests.js", ["server"]); + api.addFiles("crossbar_tests.js", ["server"]); }); diff --git a/packages/email/package.js b/packages/email/package.js index 058e8da509..9b07028df7 100644 --- a/packages/email/package.js +++ b/packages/email/package.js @@ -1,25 +1,25 @@ Package.describe({ - summary: 'Send email messages', - version: '3.0.1-beta302.4', + summary: "Send email messages", + version: "3.0.1", }); Npm.depends({ - nodemailer: '6.9.10', - 'stream-buffers': '3.0.2', - '@types/nodemailer': '6.4.14', - 'nodemailer-openpgp' : '2.2.0' + nodemailer: "6.9.10", + "stream-buffers": "3.0.2", + "@types/nodemailer": "6.4.14", + "nodemailer-openpgp": "2.2.0", }); -Package.onUse(function(api) { - api.use(['ecmascript', 'logging', 'callback-hook'], 'server'); - api.addAssets('email.d.ts', 'server'); - api.mainModule('email.js', 'server'); - api.export(['Email', 'EmailInternals'], 'server'); - api.export('EmailTest', 'server', { testOnly: true }); +Package.onUse(function (api) { + api.use(["ecmascript", "logging", "callback-hook"], "server"); + api.addAssets("email.d.ts", "server"); + api.mainModule("email.js", "server"); + api.export(["Email", "EmailInternals"], "server"); + api.export("EmailTest", "server", { testOnly: true }); }); -Package.onTest(function(api) { - api.use('email', 'server'); - api.use(['tinytest', 'ecmascript']); - api.addFiles('email_tests.js', 'server'); +Package.onTest(function (api) { + api.use("email", "server"); + api.use(["tinytest", "ecmascript"]); + api.addFiles("email_tests.js", "server"); }); diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 1b1d03d1f5..f7bd832589 100644 --- a/packages/meteor-tool/package.js +++ b/packages/meteor-tool/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'The Meteor command-line tool', - version: '3.0.2-beta.4', + version: '3.0.2', }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 1b5d03777a..10161c44be 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '2.0.0', + version: '2.0.1', }); Package.registerBuildPlugin({ diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index 0ee78dec48..585a8d1ab6 100644 --- a/packages/minimongo/package.js +++ b/packages/minimongo/package.js @@ -1,52 +1,52 @@ Package.describe({ summary: "Meteor's client-side datastore: a port of MongoDB to Javascript", - version: '2.0.1-beta302.4', + version: "2.0.1", }); -Package.onUse(api => { - api.export('LocalCollection'); - api.export('Minimongo'); +Package.onUse((api) => { + api.export("LocalCollection"); + api.export("Minimongo"); - api.export('MinimongoTest', { testOnly: true }); - api.export('MinimongoError', { testOnly: true }); + api.export("MinimongoTest", { testOnly: true }); + api.export("MinimongoError", { testOnly: true }); api.use([ // This package is used to get diff results on arrays and objects - 'diff-sequence', - 'ecmascript', - 'ejson', + "diff-sequence", + "ecmascript", + "ejson", // This package is used for geo-location queries such as $near - 'geojson-utils', - 'id-map', - 'mongo-id', - 'ordered-dict', - 'random', - 'tracker' + "geojson-utils", + "id-map", + "mongo-id", + "ordered-dict", + "random", + "tracker", ]); // Make weak use of Decimal type on client - api.use('mongo-decimal', 'client', {weak: true}); - api.use('mongo-decimal', 'server'); + api.use("mongo-decimal", "client", { weak: true }); + api.use("mongo-decimal", "server"); - api.mainModule('minimongo_client.js', 'client'); - api.mainModule('minimongo_server.js', 'server'); + api.mainModule("minimongo_client.js", "client"); + api.mainModule("minimongo_server.js", "server"); }); -Package.onTest(api => { - api.use('minimongo'); +Package.onTest((api) => { + api.use("minimongo"); api.use([ - 'ecmascript', - 'ejson', - 'mongo-id', - 'ordered-dict', - 'random', - 'reactive-var', - 'test-helpers', - 'tinytest', - 'tracker' + "ecmascript", + "ejson", + "mongo-id", + "ordered-dict", + "random", + "reactive-var", + "test-helpers", + "tinytest", + "tracker", ]); - api.addFiles('minimongo_tests.js'); - api.addFiles('minimongo_tests_client.js', 'client'); - api.addFiles('minimongo_tests_server.js', 'server'); + api.addFiles("minimongo_tests.js"); + api.addFiles("minimongo_tests_client.js", "client"); + api.addFiles("minimongo_tests_server.js", "server"); }); diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 03c969641c..92a52a989f 100644 --- a/packages/mongo/package.js +++ b/packages/mongo/package.js @@ -9,100 +9,115 @@ Package.describe({ summary: "Adaptor for using MongoDB and Minimongo over DDP", - version: '2.0.1-beta302.4', + version: "2.0.1", }); Npm.depends({ - "mongodb-uri": "0.9.7" + "mongodb-uri": "0.9.7", }); Npm.strip({ - mongodb: ["test/"] + mongodb: ["test/"], }); Package.onUse(function (api) { - api.use('npm-mongo', 'server'); - api.use('allow-deny'); + api.use("npm-mongo", "server"); + api.use("allow-deny"); api.use([ - 'random', - 'ejson', - 'minimongo', - 'ddp', - 'tracker', - 'diff-sequence', - 'mongo-id', - 'check', - 'ecmascript', - 'mongo-dev-server', - 'logging' + "random", + "ejson", + "minimongo", + "ddp", + "tracker", + "diff-sequence", + "mongo-id", + "check", + "ecmascript", + "mongo-dev-server", + "logging", ]); // Make weak use of Decimal type on client - api.use('mongo-decimal', 'client', {weak: true}); - api.use('mongo-decimal', 'server'); + api.use("mongo-decimal", "client", { weak: true }); + api.use("mongo-decimal", "server"); //api.use('emitter-promise', 'server'); - api.use('underscore', 'server'); + api.use("underscore", "server"); // Binary Heap data structure is used to optimize oplog observe driver // performance. - api.use('binary-heap', 'server'); + api.use("binary-heap", "server"); // Allow us to detect 'insecure'. - api.use('insecure', {weak: true}); + api.use("insecure", { weak: true }); // Allow us to detect 'autopublish', and publish collections if it's loaded. - api.use('autopublish', 'server', {weak: true}); + api.use("autopublish", "server", { weak: true }); // Allow us to detect 'disable-oplog', which turns off oplog tailing for your // app even if it's configured in the environment. (This package will be // probably be removed before 1.0.) - api.use('disable-oplog', 'server', {weak: true}); + api.use("disable-oplog", "server", { weak: true }); // defaultRemoteCollectionDriver gets its deployConfig from something that is // (for questionable reasons) initialized by the webapp package. - api.use('webapp', 'server', {weak: true}); + api.use("webapp", "server", { weak: true }); // If the facts package is loaded, publish some statistics. - api.use('facts-base', 'server', {weak: true}); + api.use("facts-base", "server", { weak: true }); - api.use('callback-hook', 'server'); + api.use("callback-hook", "server"); // Stuff that should be exposed via a real API, but we haven't yet. - api.export('MongoInternals', 'server'); + api.export("MongoInternals", "server"); api.export("Mongo"); - api.export('ObserveMultiplexer', 'server', {testOnly: true}); + api.export("ObserveMultiplexer", "server", { testOnly: true }); - api.addFiles(['mongo_driver.js', 'oplog_tailing.js', - 'observe_multiplex.js', 'doc_fetcher.js', - 'polling_observe_driver.js','oplog_observe_driver.js', 'oplog_v2_converter.js'], - 'server'); - api.addFiles('local_collection_driver.js', ['client', 'server']); - api.addFiles('remote_collection_driver.js', 'server'); - api.addFiles('collection.js', ['client', 'server']); - api.addFiles('connection_options.js', 'server'); - api.addAssets('mongo.d.ts', 'server'); + api.addFiles( + [ + "mongo_driver.js", + "oplog_tailing.js", + "observe_multiplex.js", + "doc_fetcher.js", + "polling_observe_driver.js", + "oplog_observe_driver.js", + "oplog_v2_converter.js", + ], + "server" + ); + api.addFiles("local_collection_driver.js", ["client", "server"]); + api.addFiles("remote_collection_driver.js", "server"); + api.addFiles("collection.js", ["client", "server"]); + api.addFiles("connection_options.js", "server"); + api.addAssets("mongo.d.ts", "server"); }); Package.onTest(function (api) { - api.use('mongo'); - api.use('check'); - api.use('ecmascript'); - api.use('npm-mongo', 'server'); + api.use("mongo"); + api.use("check"); + api.use("ecmascript"); + api.use("npm-mongo", "server"); //api.use('emitter-promise', 'server'); - api.use(['tinytest', 'underscore', 'test-helpers', 'ejson', 'random', - 'ddp', 'base64']); + api.use([ + "tinytest", + "underscore", + "test-helpers", + "ejson", + "random", + "ddp", + "base64", + ]); // XXX test order dependency: the allow_tests "partial allow" test // fails if it is run before mongo_livedata_tests. - api.addFiles('mongo_livedata_tests.js', ['client', 'server']); - api.addFiles('upsert_compatibility_test.js', 'server'); - api.addFiles('allow_tests.js', ['client', 'server']); - api.addFiles('collection_tests.js', ['client', 'server']); - api.addFiles('collection_async_tests.js', ['client', 'server']); - api.addFiles('observe_changes_tests.js', ['client', 'server']); - api.addFiles('oplog_tests.js', 'server'); - api.addFiles('oplog_v2_converter_tests.js', 'server'); - api.addFiles('doc_fetcher_tests.js', 'server'); + api.addFiles("mongo_livedata_tests.js", ["client", "server"]); + api.addFiles("upsert_compatibility_test.js", "server"); + api.addFiles("allow_tests.js", ["client", "server"]); + api.addFiles("collection_tests.js", ["client", "server"]); + api.addFiles("collection_async_tests.js", ["client", "server"]); + api.addFiles("observe_changes_tests.js", ["client", "server"]); + api.addFiles("oplog_tests.js", "server"); + api.addFiles("oplog_v2_converter_tests.js", "server"); + api.addFiles("doc_fetcher_tests.js", "server"); }); diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 5404be0a1f..ed72c6995a 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,8 +3,8 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: '4.17.4-beta302.4', - documentation: null + version: "4.17.4", + documentation: null, }); Npm.depends({ @@ -13,9 +13,6 @@ Npm.depends({ Package.onUse(function (api) { api.addFiles("wrapper.js", "server"); - api.export([ - "NpmModuleMongodb", - "NpmModuleMongodbVersion", - ], "server"); - api.addAssets('index.d.ts', 'server'); + api.export(["NpmModuleMongodb", "NpmModuleMongodbVersion"], "server"); + api.addAssets("index.d.ts", "server"); }); diff --git a/packages/test-helpers/package.js b/packages/test-helpers/package.js index adb04836f1..7f8176ec31 100644 --- a/packages/test-helpers/package.js +++ b/packages/test-helpers/package.js @@ -1,17 +1,17 @@ Package.describe({ summary: "Utility functions for tests", - version: '2.0.1-beta302.4', + version: "2.0.1", }); Package.onUse(function (api) { api.use([ - 'ecmascript', - 'underscore', - 'tracker', - 'ejson', - 'tinytest', - 'random', - 'blaze', + "ecmascript", + "underscore", + "tracker", + "ejson", + "tinytest", + "random", + "blaze", ]); // XXX for connection.js. Not sure this really belongs in @@ -20,51 +20,51 @@ Package.onUse(function (api) { // other package tests and not included in the non-test bundle. One // idea would be to make a new separate package 'ddp-test-helpers' or // the like. - api.use('ddp'); + api.use("ddp"); api.export([ - 'pollUntil', - 'try_all_permutations', - 'SeededRandom', - 'clickElement', - 'blurElement', - 'focusElement', - 'simulateEvent', - 'getStyleProperty', - 'canonicalizeHtml', - 'renderToDiv', - 'clickIt', - 'withCallbackLogger', - 'testAsyncMulti', - 'simplePoll', - 'runAndThrowIfNeeded', - 'DomUtils', - 'mockBehaviours', - 'waitUntil', - 'makeTestConnection', - 'createTestConnectionPromise', - 'captureConnectionMessages', - 'captureConnectionMessagesClient', + "pollUntil", + "try_all_permutations", + "SeededRandom", + "clickElement", + "blurElement", + "focusElement", + "simulateEvent", + "getStyleProperty", + "canonicalizeHtml", + "renderToDiv", + "clickIt", + "withCallbackLogger", + "testAsyncMulti", + "simplePoll", + "runAndThrowIfNeeded", + "DomUtils", + "mockBehaviours", + "waitUntil", + "makeTestConnection", + "createTestConnectionPromise", + "captureConnectionMessages", + "captureConnectionMessagesClient", ]); - api.addFiles('try_all_permutations.js'); - api.addFiles('async_multi.js'); - api.addFiles('event_simulation.js'); - api.addFiles('seeded_random.js'); - api.addFiles('canonicalize_html.js'); - api.addFiles('render_div.js'); - api.addFiles('current_style.js'); - api.addFiles('callback_logger.js'); - api.addFiles('mock.js'); - api.addFiles('wait.js'); - api.addFiles('domutils.js', 'client'); - api.addFiles('connection_server.js', 'server'); - api.addFiles('connection_client.js', 'client'); + api.addFiles("try_all_permutations.js"); + api.addFiles("async_multi.js"); + api.addFiles("event_simulation.js"); + api.addFiles("seeded_random.js"); + api.addFiles("canonicalize_html.js"); + api.addFiles("render_div.js"); + api.addFiles("current_style.js"); + api.addFiles("callback_logger.js"); + api.addFiles("mock.js"); + api.addFiles("wait.js"); + api.addFiles("domutils.js", "client"); + api.addFiles("connection_server.js", "server"); + api.addFiles("connection_client.js", "client"); }); Package.onTest(function (api) { - api.use('tinytest'); - api.use(['test-helpers', 'underscore']); - api.addFiles('try_all_permutations_test.js', 'client'); - api.addFiles('seeded_random_test.js'); + api.use("tinytest"); + api.use(["test-helpers", "underscore"]); + api.addFiles("try_all_permutations_test.js", "client"); + api.addFiles("seeded_random_test.js"); }); diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 0308c363c0..30d027218d 100644 --- a/packages/webapp/package.js +++ b/packages/webapp/package.js @@ -1,46 +1,46 @@ Package.describe({ - summary: 'Serves a Meteor app over HTTP', - version: '2.0.1-beta302.4', + summary: "Serves a Meteor app over HTTP", + version: "2.0.1", }); Npm.depends({ - 'cookie-parser': '1.4.6', - express: '4.18.2', - '@types/express': '4.17.15', - compression: '1.7.4', - errorhandler: '1.5.1', - parseurl: '1.3.3', - send: '0.18.0', - 'stream-to-string': '1.2.1', - qs: '6.11.2', - useragent: '2.3.0', - '@types/connect': '3.4.38', + "cookie-parser": "1.4.6", + express: "4.18.2", + "@types/express": "4.17.15", + compression: "1.7.4", + errorhandler: "1.5.1", + parseurl: "1.3.3", + send: "0.18.0", + "stream-to-string": "1.2.1", + qs: "6.11.2", + useragent: "2.3.0", + "@types/connect": "3.4.38", }); Npm.strip({ - multiparty: ['test/'], - useragent: ['test/'], + multiparty: ["test/"], + useragent: ["test/"], }); // whitelist plugin is now included in the core Cordova.depends({ - 'cordova-plugin-meteor-webapp': '2.0.4', + "cordova-plugin-meteor-webapp": "2.0.4", }); -Package.onUse(function(api) { - api.use('ecmascript'); +Package.onUse(function (api) { + api.use("ecmascript"); api.use( [ - 'logging', - 'underscore', - 'routepolicy', - 'modern-browsers', - 'boilerplate-generator', - 'webapp-hashing', - 'inter-process-messaging', - 'callback-hook', + "logging", + "underscore", + "routepolicy", + "modern-browsers", + "boilerplate-generator", + "webapp-hashing", + "inter-process-messaging", + "callback-hook", ], - 'server' + "server" ); // At response serving time, webapp uses browser-policy if it is loaded. If @@ -48,24 +48,32 @@ Package.onUse(function(api) { // (browser-policy depends on webapp). So we don't explicitly depend in any // way on browser-policy here, but we use it when it is loaded, and it can be // loaded after webapp. - api.mainModule('webapp_server.js', 'server'); - api.export('WebApp', 'server'); - api.export('WebAppInternals', 'server'); - api.export('main', 'server'); + api.mainModule("webapp_server.js", "server"); + api.export("WebApp", "server"); + api.export("WebAppInternals", "server"); + api.export("main", "server"); - api.mainModule('webapp_client.js', 'client'); - api.export('WebApp', 'client'); + api.mainModule("webapp_client.js", "client"); + api.export("WebApp", "client"); - api.mainModule('webapp_cordova.js', 'web.cordova'); - api.addAssets('webapp.d.ts', 'server'); + api.mainModule("webapp_cordova.js", "web.cordova"); + api.addAssets("webapp.d.ts", "server"); }); -Package.onTest(function(api) { - api.use(['tinytest', 'ecmascript', 'webapp', 'http', 'underscore','fetch', 'test-helpers']); - api.addFiles('webapp_tests.js', 'server'); - api.addFiles('webapp_client_tests.js', 'client'); - api.addFiles('socket_file_tests.js', 'server'); +Package.onTest(function (api) { + api.use([ + "tinytest", + "ecmascript", + "webapp", + "http", + "underscore", + "fetch", + "test-helpers", + ]); + api.addFiles("webapp_tests.js", "server"); + api.addFiles("webapp_client_tests.js", "client"); + api.addFiles("socket_file_tests.js", "server"); - api.addAssets('modern_test_asset.js', 'web.browser'); - api.addAssets('legacy_test_asset.js', 'legacy'); + api.addAssets("modern_test_asset.js", "web.browser"); + api.addAssets("legacy_test_asset.js", "legacy"); }); diff --git a/scripts/admin/meteor-release-official.json b/scripts/admin/meteor-release-official.json index b349a3375d..3905288c22 100644 --- a/scripts/admin/meteor-release-official.json +++ b/scripts/admin/meteor-release-official.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "3.0.1", + "version": "3.0.2", "recommended": false, "official": true, "description": "The Official Meteor Distribution" diff --git a/v3-docs/docs/generators/changelog/versions/3.0.2.md b/v3-docs/docs/generators/changelog/versions/3.0.2.md index 98378052ac..197553e675 100644 --- a/v3-docs/docs/generators/changelog/versions/3.0.2.md +++ b/v3-docs/docs/generators/changelog/versions/3.0.2.md @@ -1,4 +1,4 @@ -## v3.0.2, 2024-08-XX +## v3.0.2, 2024-08-14 ### Highlights @@ -6,6 +6,7 @@ * Fix subscription still resetting documents [PR #13236] * Fix auth sub sending ready twice on load [PR #13247] * Remove version constraints from http package in accounts-twitter [PR #13268] +* Deprecate Meteor.user() usage on server side [PR #13288] #### Breaking Changes @@ -37,6 +38,7 @@ meteor update --release 3.0.2 - ddp-common@1.4.4 - ddp-server@3.0.1 - email@3.0.1 + - meteor@2.0.1 - minimongo@2.0.1 - mongo@2.0.1 - npm-mongo@4.17.4 From 921c61f478c88ece70742634ab11d035968eedde Mon Sep 17 00:00:00 2001 From: denihs Date: Wed, 14 Aug 2024 10:36:53 -0400 Subject: [PATCH 79/83] update npm-shrinkwrap.json files --- .../.npm/package/npm-shrinkwrap.json | 12 ++-- .../email/.npm/package/npm-shrinkwrap.json | 12 ++-- .../.npm/package/npm-shrinkwrap.json | 72 +++++++++---------- .../webapp/.npm/package/npm-shrinkwrap.json | 12 ++-- 4 files changed, 54 insertions(+), 54 deletions(-) diff --git a/packages/accounts-2fa/.npm/package/npm-shrinkwrap.json b/packages/accounts-2fa/.npm/package/npm-shrinkwrap.json index 3484049cac..0376b5ea04 100644 --- a/packages/accounts-2fa/.npm/package/npm-shrinkwrap.json +++ b/packages/accounts-2fa/.npm/package/npm-shrinkwrap.json @@ -2,9 +2,9 @@ "lockfileVersion": 4, "dependencies": { "@types/node": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.1.0.tgz", - "integrity": "sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==" + "version": "22.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.3.0.tgz", + "integrity": "sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g==" }, "@types/notp": { "version": "2.0.5", @@ -37,9 +37,9 @@ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "undici-types": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", - "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==" + "version": "6.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.18.2.tgz", + "integrity": "sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ==" } } } diff --git a/packages/email/.npm/package/npm-shrinkwrap.json b/packages/email/.npm/package/npm-shrinkwrap.json index adcc3597a7..00cd9f3504 100644 --- a/packages/email/.npm/package/npm-shrinkwrap.json +++ b/packages/email/.npm/package/npm-shrinkwrap.json @@ -2,9 +2,9 @@ "lockfileVersion": 4, "dependencies": { "@types/node": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.1.0.tgz", - "integrity": "sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==" + "version": "22.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.3.0.tgz", + "integrity": "sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g==" }, "@types/nodemailer": { "version": "6.4.14", @@ -57,9 +57,9 @@ "integrity": "sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==" }, "undici-types": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", - "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==" + "version": "6.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.18.2.tgz", + "integrity": "sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ==" } } } diff --git a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json index e529767751..73441e4a2f 100644 --- a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json +++ b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json @@ -56,34 +56,34 @@ } }, "@aws-sdk/client-cognito-identity": { - "version": "3.624.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.624.0.tgz", - "integrity": "sha512-imw3bNptHdhcogU3lwSVlQJsRpTxnkT4bQbchS/qX6+fF0Pk6ERZ+Q0YjzitPqTjkeyAWecUT4riyqv2djo+5w==" + "version": "3.629.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.629.0.tgz", + "integrity": "sha512-bWwp3f8XLCQgXmSWqDMjIb4WHWaEgMEX5D/WLAq7FHMiikdeJgpZIhWcDV05nEW/f9wGS6cxT3ZyXc/PRXMWrQ==" }, "@aws-sdk/client-sso": { - "version": "3.624.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.624.0.tgz", - "integrity": "sha512-EX6EF+rJzMPC5dcdsu40xSi2To7GSvdGQNIpe97pD9WvZwM9tRNQnNM4T6HA4gjV1L6Jwk8rBlG/CnveXtLEMw==" + "version": "3.629.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.629.0.tgz", + "integrity": "sha512-2w8xU4O0Grca5HmT2dXZ5fF0g39RxODtmoqHJDsK5DSt750LqDG4w3ktmBvQs3+SrpkkJOjlX5v/hb2PCxVbww==" }, "@aws-sdk/client-sso-oidc": { - "version": "3.624.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.624.0.tgz", - "integrity": "sha512-Ki2uKYJKKtfHxxZsiMTOvJoVRP6b2pZ1u3rcUb2m/nVgBPUfLdl8ZkGpqE29I+t5/QaS/sEdbn6cgMUZwl+3Dg==" + "version": "3.629.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.629.0.tgz", + "integrity": "sha512-3if0LauNJPqubGYf8vnlkp+B3yAeKRuRNxfNbHlE6l510xWGcKK/ZsEmiFmfePzKKSRrDh/cxMFMScgOrXptNg==" }, "@aws-sdk/client-sts": { - "version": "3.624.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.624.0.tgz", - "integrity": "sha512-k36fLZCb2nfoV/DKK3jbRgO/Yf7/R80pgYfMiotkGjnZwDmRvNN08z4l06L9C+CieazzkgRxNUzyppsYcYsQaw==" + "version": "3.629.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.629.0.tgz", + "integrity": "sha512-RjOs371YwnSVGxhPjuluJKaxl4gcPYTAky0nPjwBime0i9/iS9nI8R8l5j7k7ec9tpFWjBPvNnThCU07pvjdzw==" }, "@aws-sdk/core": { - "version": "3.624.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.624.0.tgz", - "integrity": "sha512-WyFmPbhRIvtWi7hBp8uSFy+iPpj8ccNV/eX86hwF4irMjfc/FtsGVIAeBXxXM/vGCjkdfEzOnl+tJ2XACD4OXg==" + "version": "3.629.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.629.0.tgz", + "integrity": "sha512-+/ShPU/tyIBM3oY1cnjgNA/tFyHtlWq+wXF9xEKRv19NOpYbWQ+xzNwVjGq8vR07cCRqy/sDQLWPhxjtuV/FiQ==" }, "@aws-sdk/credential-provider-cognito-identity": { - "version": "3.624.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.624.0.tgz", - "integrity": "sha512-gbXaxZP29yzMmEUzsGqUrHpKBnfMBtemvrlufJbaz/MGJNIa5qtJQp7n1LMI5R49DBVUN9s/e9Rf5liyMvlHiw==" + "version": "3.629.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.629.0.tgz", + "integrity": "sha512-Cdq7Q0OGdze0/GWClJMcyQRfQmZFryxDIHVFP1FVoQPeKucHU5ZFVPEs+U4UOfs7XquG/+NYCX/jTPdI4ATfgQ==" }, "@aws-sdk/credential-provider-env": { "version": "3.620.1", @@ -96,14 +96,14 @@ "integrity": "sha512-VUHbr24Oll1RK3WR8XLUugLpgK9ZuxEm/NVeVqyFts1Ck9gsKpRg1x4eH7L7tW3SJ4TDEQNMbD7/7J+eoL2svg==" }, "@aws-sdk/credential-provider-ini": { - "version": "3.624.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.624.0.tgz", - "integrity": "sha512-mMoNIy7MO2WTBbdqMyLpbt6SZpthE6e0GkRYpsd0yozPt0RZopcBhEh+HG1U9Y1PVODo+jcMk353vAi61CfnhQ==" + "version": "3.629.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.629.0.tgz", + "integrity": "sha512-r9fI7BABARvVDp77DBUImQzYdvarAIdhbvpCEZib0rlpvfWu3zxE9KZcapCAAi0MPjxeDfb7RMehFQIkAP7mYw==" }, "@aws-sdk/credential-provider-node": { - "version": "3.624.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.624.0.tgz", - "integrity": "sha512-vYyGK7oNpd81BdbH5IlmQ6zfaQqU+rPwsKTDDBeLRjshtrGXOEpfoahVpG9PX0ibu32IOWp4ZyXBNyVrnvcMOw==" + "version": "3.629.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.629.0.tgz", + "integrity": "sha512-868hnVOLlXOBHk91Rl0jZIRgr/M4WJCa0nOrW9A9yidsQxuZp9P0vshDmm4hMvNZadmPIfo0Rra2MpA4RELoCw==" }, "@aws-sdk/credential-provider-process": { "version": "3.620.1", @@ -111,9 +111,9 @@ "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==" }, "@aws-sdk/credential-provider-sso": { - "version": "3.624.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.624.0.tgz", - "integrity": "sha512-A02bayIjU9APEPKr3HudrFHEx0WfghoSPsPopckDkW7VBqO4wizzcxr75Q9A3vNX+cwg0wCN6UitTNe6pVlRaQ==" + "version": "3.629.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.629.0.tgz", + "integrity": "sha512-Lf4XOuj6jamxgGZGrVojERh5S+NS2t2S4CUOnAu6tJ5U0GPlpjhINUKlcVxJBpsIXudMGW1nkumAd3+kazCPig==" }, "@aws-sdk/credential-provider-web-identity": { "version": "3.621.0", @@ -121,9 +121,9 @@ "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==" }, "@aws-sdk/credential-providers": { - "version": "3.624.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.624.0.tgz", - "integrity": "sha512-SX+F5x/w8laQkhXLd1oww2lTuBDJSxzXWyxuOi25a9s4bMDs0V/wOj885Vr6h8QEGi3F8jZ8aWLwpsm2yuk9BA==" + "version": "3.630.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.630.0.tgz", + "integrity": "sha512-fuF/lAZ5pj0DooT8wA1lcrR8vtzBNdTHA5dAmmV930eDoT5XZ+/NeQnclWds40xGj2KDi5YEhuMwOqEZqEQ0Aw==" }, "@aws-sdk/middleware-host-header": { "version": "3.620.0", @@ -381,9 +381,9 @@ "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==" }, "@types/node": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.1.0.tgz", - "integrity": "sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==" + "version": "22.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.3.0.tgz", + "integrity": "sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g==" }, "@types/webidl-conversions": { "version": "7.0.3", @@ -491,9 +491,9 @@ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "undici-types": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", - "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==" + "version": "6.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.18.2.tgz", + "integrity": "sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ==" }, "uuid": { "version": "9.0.1", diff --git a/packages/webapp/.npm/package/npm-shrinkwrap.json b/packages/webapp/.npm/package/npm-shrinkwrap.json index b2ed3f94e7..59e90defbd 100644 --- a/packages/webapp/.npm/package/npm-shrinkwrap.json +++ b/packages/webapp/.npm/package/npm-shrinkwrap.json @@ -32,9 +32,9 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "@types/node": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.1.0.tgz", - "integrity": "sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==" + "version": "22.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.3.0.tgz", + "integrity": "sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g==" }, "@types/qs": { "version": "6.9.15", @@ -469,9 +469,9 @@ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==" }, "undici-types": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", - "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==" + "version": "6.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.18.2.tgz", + "integrity": "sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ==" }, "unpipe": { "version": "1.0.0", From 88dafd60f15d341cbd25dd9c4ba1eb9f256b871c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nacho=20Codo=C3=B1er?= Date: Wed, 14 Aug 2024 18:41:25 +0200 Subject: [PATCH 80/83] re-run checks From 8aebfa91f958b673fc2a17f60e9f9aa96cac016d Mon Sep 17 00:00:00 2001 From: denihs Date: Wed, 14 Aug 2024 16:31:05 -0400 Subject: [PATCH 81/83] publish version 3.0.2 of the meteor installer --- npm-packages/meteor-installer/README.md | 3 ++- npm-packages/meteor-installer/config.js | 2 +- npm-packages/meteor-installer/package-lock.json | 4 ++-- npm-packages/meteor-installer/package.json | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/npm-packages/meteor-installer/README.md b/npm-packages/meteor-installer/README.md index 15e5407b73..b7a04475d5 100644 --- a/npm-packages/meteor-installer/README.md +++ b/npm-packages/meteor-installer/README.md @@ -56,6 +56,7 @@ Set the `https_proxy` or `HTTPS_PROXY` environment variable to a valid proxy URL | NPM Package | Meteor Official Release | |-------------|-------------------------| +| 3.0.2 | 3.0.2 | | 3.0.1 | 3.0.1 | | 3.0.0 | 3.0 | | 2.16.0 | 2.16.0 | @@ -100,4 +101,4 @@ Set the `https_proxy` or `HTTPS_PROXY` environment variable to a valid proxy URL | 2.3.4 | 2.3.4 | | 2.3.3 | 2.3.2 | | 2.3.2 | 2.3.1 | -| 2.3.1 | 2.2.1 | \ No newline at end of file +| 2.3.1 | 2.2.1 | diff --git a/npm-packages/meteor-installer/config.js b/npm-packages/meteor-installer/config.js index 1bc472e02e..3278f89d00 100644 --- a/npm-packages/meteor-installer/config.js +++ b/npm-packages/meteor-installer/config.js @@ -1,7 +1,7 @@ const os = require('os'); const path = require('path'); -const METEOR_LATEST_VERSION = '3.0.2-beta.4'; +const METEOR_LATEST_VERSION = '3.0.2'; const sudoUser = process.env.SUDO_USER || ''; function isRoot() { return process.getuid && process.getuid() === 0; diff --git a/npm-packages/meteor-installer/package-lock.json b/npm-packages/meteor-installer/package-lock.json index 587bb6e3cc..ceb33825b5 100644 --- a/npm-packages/meteor-installer/package-lock.json +++ b/npm-packages/meteor-installer/package-lock.json @@ -1,12 +1,12 @@ { "name": "meteor", - "version": "3.0.2-beta.4", + "version": "3.0.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "meteor", - "version": "3.0.2-beta.4", + "version": "3.0.2", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/npm-packages/meteor-installer/package.json b/npm-packages/meteor-installer/package.json index c99c2538c5..ad6b284884 100644 --- a/npm-packages/meteor-installer/package.json +++ b/npm-packages/meteor-installer/package.json @@ -1,6 +1,6 @@ { "name": "meteor", - "version": "3.0.2-beta.4", + "version": "3.0.2", "description": "Install Meteor", "main": "install.js", "scripts": { From 3a00b11fc233ddc03e4b5cddcf2ade12ab8179dd Mon Sep 17 00:00:00 2001 From: denihs Date: Thu, 15 Aug 2024 08:21:56 -0400 Subject: [PATCH 82/83] update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 427d010986..b047759578 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ [![Travis CI Status](https://api.travis-ci.com/meteor/meteor.svg?branch=devel)](https://app.travis-ci.com/github/meteor/meteor) [![CircleCI Status](https://circleci.com/gh/meteor/meteor.svg?style=svg)](https://app.circleci.com/pipelines/github/meteor/meteor?branch=devel) -[![built with Meteor](https://img.shields.io/badge/Meteor-3.0.1-green?logo=meteor&logoColor=white)](https://meteor.com) +[![built with Meteor](https://img.shields.io/badge/Meteor-3.0.2-green?logo=meteor&logoColor=white)](https://meteor.com) ![node-current](https://img.shields.io/node/v/meteor) ![Discord](https://img.shields.io/discord/1247973371040239676) ![Twitter Follow](https://img.shields.io/twitter/follow/meteorjs?style=social) From f51c9108bce2124314f1e7a5c5cf017bb623d0e2 Mon Sep 17 00:00:00 2001 From: denihs Date: Thu, 15 Aug 2024 14:51:41 -0400 Subject: [PATCH 83/83] publish a new version for email package This was necessary because we had an issue publishing the email version when releasing 3.0.2. So we manually forced a new patch. Now apps can use this package again. --- packages/email/package.js | 2 +- .../.npm/package/npm-shrinkwrap.json | 66 +++++++++---------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/packages/email/package.js b/packages/email/package.js index 9b07028df7..f4f04f938f 100644 --- a/packages/email/package.js +++ b/packages/email/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Send email messages", - version: "3.0.1", + version: "3.0.100", }); Npm.depends({ diff --git a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json index 73441e4a2f..3dc9f41668 100644 --- a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json +++ b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json @@ -56,24 +56,24 @@ } }, "@aws-sdk/client-cognito-identity": { - "version": "3.629.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.629.0.tgz", - "integrity": "sha512-bWwp3f8XLCQgXmSWqDMjIb4WHWaEgMEX5D/WLAq7FHMiikdeJgpZIhWcDV05nEW/f9wGS6cxT3ZyXc/PRXMWrQ==" + "version": "3.631.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.631.0.tgz", + "integrity": "sha512-TXRkgwiLmNpwbiQShtUtSSE4DDHblhjHvtgxtzonzvdlDvYmCmaOwAQgi3HWuHztJtZ9ghf3jKB3N3jxAuKBbA==" }, "@aws-sdk/client-sso": { - "version": "3.629.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.629.0.tgz", - "integrity": "sha512-2w8xU4O0Grca5HmT2dXZ5fF0g39RxODtmoqHJDsK5DSt750LqDG4w3ktmBvQs3+SrpkkJOjlX5v/hb2PCxVbww==" + "version": "3.631.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.631.0.tgz", + "integrity": "sha512-tpXRQMbbTsKED6GGF0rZbg9Nr0DRCWImopX2lVh4deIeHQfNxeOtq2brqDWiPD593I190xeL/HMChSOmvDXNAw==" }, "@aws-sdk/client-sso-oidc": { - "version": "3.629.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.629.0.tgz", - "integrity": "sha512-3if0LauNJPqubGYf8vnlkp+B3yAeKRuRNxfNbHlE6l510xWGcKK/ZsEmiFmfePzKKSRrDh/cxMFMScgOrXptNg==" + "version": "3.631.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.631.0.tgz", + "integrity": "sha512-afJAssIvsHibVq65qO3Q31NCfSTsPEnyr+PT80uGVAkKev1PJI1AjsxBGUTLtPMV8lrzDzDx5CG9ax1AZ3LG6w==" }, "@aws-sdk/client-sts": { - "version": "3.629.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.629.0.tgz", - "integrity": "sha512-RjOs371YwnSVGxhPjuluJKaxl4gcPYTAky0nPjwBime0i9/iS9nI8R8l5j7k7ec9tpFWjBPvNnThCU07pvjdzw==" + "version": "3.631.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.631.0.tgz", + "integrity": "sha512-Zo/2XDrmNpnSRlQLL8XOCJxuN7UIrGKf4itdjHqtEmD2PqstnYe6IMeEVOELpZ8iktjvsIrVr+qxlIX1QlmgCQ==" }, "@aws-sdk/core": { "version": "3.629.0", @@ -81,9 +81,9 @@ "integrity": "sha512-+/ShPU/tyIBM3oY1cnjgNA/tFyHtlWq+wXF9xEKRv19NOpYbWQ+xzNwVjGq8vR07cCRqy/sDQLWPhxjtuV/FiQ==" }, "@aws-sdk/credential-provider-cognito-identity": { - "version": "3.629.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.629.0.tgz", - "integrity": "sha512-Cdq7Q0OGdze0/GWClJMcyQRfQmZFryxDIHVFP1FVoQPeKucHU5ZFVPEs+U4UOfs7XquG/+NYCX/jTPdI4ATfgQ==" + "version": "3.631.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.631.0.tgz", + "integrity": "sha512-HU6K7m9R95Hu/oQlLgP77h6NmoT6ABEGAUTDZydPV2G9G5LW3ytOjzLNJT9zO99UGb6L3mIn2IB5LtHOzjthGw==" }, "@aws-sdk/credential-provider-env": { "version": "3.620.1", @@ -96,14 +96,14 @@ "integrity": "sha512-VUHbr24Oll1RK3WR8XLUugLpgK9ZuxEm/NVeVqyFts1Ck9gsKpRg1x4eH7L7tW3SJ4TDEQNMbD7/7J+eoL2svg==" }, "@aws-sdk/credential-provider-ini": { - "version": "3.629.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.629.0.tgz", - "integrity": "sha512-r9fI7BABARvVDp77DBUImQzYdvarAIdhbvpCEZib0rlpvfWu3zxE9KZcapCAAi0MPjxeDfb7RMehFQIkAP7mYw==" + "version": "3.631.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.631.0.tgz", + "integrity": "sha512-34NmRl6GYlyKTHwiA3C3MjCtmXfoaOXI8b2h7P9eAC8leuIb/51v482g0K6X5P5FqaGY8ZreUq5BMsGjBRr1uQ==" }, "@aws-sdk/credential-provider-node": { - "version": "3.629.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.629.0.tgz", - "integrity": "sha512-868hnVOLlXOBHk91Rl0jZIRgr/M4WJCa0nOrW9A9yidsQxuZp9P0vshDmm4hMvNZadmPIfo0Rra2MpA4RELoCw==" + "version": "3.631.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.631.0.tgz", + "integrity": "sha512-MlYcFknrMQ8RUVe0DMPE09mX8+97s7MLwnVV8l+LFi7m+ZfBz+h6LrohhOXC5elJHf4G3T0r/9Rwct63+zHK/w==" }, "@aws-sdk/credential-provider-process": { "version": "3.620.1", @@ -111,9 +111,9 @@ "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==" }, "@aws-sdk/credential-provider-sso": { - "version": "3.629.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.629.0.tgz", - "integrity": "sha512-Lf4XOuj6jamxgGZGrVojERh5S+NS2t2S4CUOnAu6tJ5U0GPlpjhINUKlcVxJBpsIXudMGW1nkumAd3+kazCPig==" + "version": "3.631.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.631.0.tgz", + "integrity": "sha512-k3Mj1Fc7faVOGR+qrwROir/8No35G7gbVL5FuY467x3y0ELa/6w0j/0HM+5eqzGABW7pSL/OHONhWKlYwg7Gkw==" }, "@aws-sdk/credential-provider-web-identity": { "version": "3.621.0", @@ -121,9 +121,9 @@ "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==" }, "@aws-sdk/credential-providers": { - "version": "3.630.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.630.0.tgz", - "integrity": "sha512-fuF/lAZ5pj0DooT8wA1lcrR8vtzBNdTHA5dAmmV930eDoT5XZ+/NeQnclWds40xGj2KDi5YEhuMwOqEZqEQ0Aw==" + "version": "3.631.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.631.0.tgz", + "integrity": "sha512-1yWtgVeEfOogMNLKMADA0f1+zBsKtG5uojU3krQXaq4VDxHgVs0DsFot6BM2/nH8QH49eME7+C2ME9yXGxKBfA==" }, "@aws-sdk/middleware-host-header": { "version": "3.620.0", @@ -141,9 +141,9 @@ "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==" }, "@aws-sdk/middleware-user-agent": { - "version": "3.620.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz", - "integrity": "sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A==" + "version": "3.631.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.631.0.tgz", + "integrity": "sha512-mpFRFaP9fjXhw8NiRTP+lBPKRKMSKzfCyTXQXrQCSo4fAUaz8LPCc8VdqyoNmx4CLBTRflbEHLx5PfInA0DsrA==" }, "@aws-sdk/region-config-resolver": { "version": "3.614.0", @@ -161,9 +161,9 @@ "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==" }, "@aws-sdk/util-endpoints": { - "version": "3.614.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz", - "integrity": "sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw==" + "version": "3.631.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.631.0.tgz", + "integrity": "sha512-aavsyk17lK/r6rfVFYLh6/Y0eWvtbclWteJyW9PQLo5mpHPcTj6IbqMN4LHV27Y9IF7oOlbEAQ1CGTfpUlOvTg==" }, "@aws-sdk/util-locate-window": { "version": "3.568.0",