mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Merge branch 'release-3.0' into 322-fix-promise-rejection-several
This commit is contained in:
@@ -667,6 +667,9 @@
|
||||
|
||||
- `Meteor.callAsync()`
|
||||
|
||||
- `meteor`:
|
||||
- Added `Meteor.isDebug` to execute code in debug builds, activated with the --inspect mode.
|
||||
|
||||
- `minifier-css`: (2.9+)
|
||||
|
||||
- `CssTools.minifyCssAsync()`
|
||||
|
||||
@@ -123,6 +123,14 @@ You can create a new Meteor 3.0 project by running the command below:
|
||||
meteor create my-new-project --release 3.0-beta.6
|
||||
```
|
||||
|
||||
or alternatively, you can use `npx`
|
||||
|
||||
If you want to test Meteor v3, you can use the following command to install it:
|
||||
|
||||
```bash
|
||||
npx meteor@beta
|
||||
```
|
||||
|
||||
### How to update from version 2?
|
||||
|
||||
You can update your Meteor 2.x project by running the command below inside your project folder:
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const command = process.argv[2];
|
||||
const command = process.argv[2] || 'install';
|
||||
|
||||
if (!command) {
|
||||
console.log(`
|
||||
Usage: meteor-installer <command>
|
||||
Usage: npx meteor@<version> <command>
|
||||
|
||||
Commands:
|
||||
install
|
||||
|
||||
@@ -45,7 +45,9 @@ if (!semver.satisfies(process.version, nodeVersion)) {
|
||||
);
|
||||
}
|
||||
|
||||
const isInstalledGlobally = process.env.npm_config_global === 'true';
|
||||
const isInstalledGlobally =
|
||||
process.env.npm_config_global === 'true' ||
|
||||
process.env.npm_lifecycle_event === 'npx';
|
||||
|
||||
if (!isInstalledGlobally) {
|
||||
console.error('******************************************');
|
||||
@@ -55,7 +57,7 @@ if (!isInstalledGlobally) {
|
||||
console.error('Make sure you pass -g to npm install.');
|
||||
console.error('Aborting...');
|
||||
console.error('******************************************');
|
||||
process.exit(1);
|
||||
process.exit(0);
|
||||
}
|
||||
process.on('unhandledRejection', err => {
|
||||
throw err;
|
||||
@@ -121,8 +123,8 @@ if (fs.existsSync(startedPath)) {
|
||||
console.log(
|
||||
`If you want to reinstall it, run:
|
||||
|
||||
$ meteor-installer uninstall
|
||||
$ meteor-installer install
|
||||
$ npx meteor uninstall
|
||||
$ npx meteor@<version> install
|
||||
`,
|
||||
);
|
||||
process.exit();
|
||||
@@ -316,7 +318,7 @@ function showGettingStarted() {
|
||||
const exportCommand = `export PATH=${meteorPath}:$PATH`;
|
||||
|
||||
const runCommand = isWindows()
|
||||
? `set path "${meteorPath}/;%path%`
|
||||
? `set path "${meteorPath}/;%path%"`
|
||||
: exportCommand;
|
||||
const message = `
|
||||
***************************************
|
||||
|
||||
17
npm-packages/meteor-installer/package-lock.json
generated
17
npm-packages/meteor-installer/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "meteor",
|
||||
"version": "2.14.0",
|
||||
"version": "3.0.0-beta.6",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "meteor",
|
||||
"version": "2.14.0",
|
||||
"version": "3.0.0-beta.6",
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -14,7 +14,7 @@
|
||||
"cli-progress": "^3.11.1",
|
||||
"https-proxy-agent": "^5.0.1",
|
||||
"node-7z": "^2.1.2",
|
||||
"node-downloader-helper": "^1.0.19",
|
||||
"node-downloader-helper": "^2.1.9",
|
||||
"rimraf": "^3.0.2",
|
||||
"semver": "^7.3.7",
|
||||
"tar": "^6.1.11",
|
||||
@@ -24,8 +24,8 @@
|
||||
"meteor-installer": "cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": "<=14.x",
|
||||
"npm": "<=6.x"
|
||||
"node": "<=20.x",
|
||||
"npm": "<=10.x"
|
||||
}
|
||||
},
|
||||
"node_modules/7zip-bin": {
|
||||
@@ -289,13 +289,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/node-downloader-helper": {
|
||||
"version": "1.0.19",
|
||||
"license": "MIT",
|
||||
"version": "2.1.9",
|
||||
"resolved": "https://registry.npmjs.org/node-downloader-helper/-/node-downloader-helper-2.1.9.tgz",
|
||||
"integrity": "sha512-FSvAol2Z8UP191sZtsUZwHIN0eGoGue3uEXGdWIH5228e9KH1YHXT7fN8Oa33UGf+FbqGTQg3sJfrRGzmVCaJA==",
|
||||
"bin": {
|
||||
"ndh": "bin/ndh"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9"
|
||||
"node": ">=14.18"
|
||||
}
|
||||
},
|
||||
"node_modules/normalize-path": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "meteor",
|
||||
"version": "3.0.0-beta.6",
|
||||
"version": "3.0.0-beta.7",
|
||||
"description": "Install Meteor",
|
||||
"main": "install.js",
|
||||
"scripts": {
|
||||
@@ -14,7 +14,7 @@
|
||||
"cli-progress": "^3.11.1",
|
||||
"https-proxy-agent": "^5.0.1",
|
||||
"node-7z": "^2.1.2",
|
||||
"node-downloader-helper": "^1.0.19",
|
||||
"node-downloader-helper": "^2.1.9",
|
||||
"rimraf": "^3.0.2",
|
||||
"semver": "^7.3.7",
|
||||
"tar": "^6.1.11",
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"lockfileVersion": 4,
|
||||
"dependencies": {
|
||||
"@types/node": {
|
||||
"version": "20.11.19",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz",
|
||||
"integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ=="
|
||||
"version": "20.11.28",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.28.tgz",
|
||||
"integrity": "sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA=="
|
||||
},
|
||||
"@types/notp": {
|
||||
"version": "2.0.5",
|
||||
|
||||
6
packages/email/.npm/package/npm-shrinkwrap.json
generated
6
packages/email/.npm/package/npm-shrinkwrap.json
generated
@@ -2,9 +2,9 @@
|
||||
"lockfileVersion": 4,
|
||||
"dependencies": {
|
||||
"@types/node": {
|
||||
"version": "20.11.20",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz",
|
||||
"integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg=="
|
||||
"version": "20.11.28",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.28.tgz",
|
||||
"integrity": "sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA=="
|
||||
},
|
||||
"@types/nodemailer": {
|
||||
"version": "6.4.7",
|
||||
|
||||
@@ -157,9 +157,9 @@
|
||||
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="
|
||||
},
|
||||
"hasown": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
|
||||
"integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA=="
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
||||
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="
|
||||
},
|
||||
"ip": {
|
||||
"version": "0.3.3",
|
||||
@@ -299,9 +299,9 @@
|
||||
"integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w=="
|
||||
},
|
||||
"object-is": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
|
||||
"integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw=="
|
||||
"version": "1.1.6",
|
||||
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
|
||||
"integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q=="
|
||||
},
|
||||
"object-keys": {
|
||||
"version": "1.1.1",
|
||||
@@ -366,9 +366,9 @@
|
||||
"integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w=="
|
||||
},
|
||||
"set-function-length": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz",
|
||||
"integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g=="
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
|
||||
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="
|
||||
},
|
||||
"set-function-name": {
|
||||
"version": "2.0.2",
|
||||
|
||||
@@ -1,3 +1,19 @@
|
||||
if (Meteor.isServer) {
|
||||
if (typeof __meteor_runtime_config__ === 'object') {
|
||||
__meteor_runtime_config__.debug =
|
||||
!!process.env.NODE_INSPECTOR_IPC ||
|
||||
!!process.env.VSCODE_INSPECTOR_OPTIONS ||
|
||||
process.execArgv.some(function(_arg) {
|
||||
return /^--(inspect|debug)(-brk)?(=\d+)?$/i.test(_arg);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Meteor.isDebug = Meteor.isClient
|
||||
? typeof window === 'object' && !!window.__meteor_runtime_config__.debug
|
||||
: typeof __meteor_runtime_config__ === 'object' &&
|
||||
!!__meteor_runtime_config__.debug;
|
||||
|
||||
var suppress = 0;
|
||||
|
||||
// replacement for console.log. This is a temporary API. We should
|
||||
@@ -61,4 +77,3 @@ Meteor._suppress_log = function (count) {
|
||||
Meteor._suppressed_log_expected = function () {
|
||||
return suppress !== 0;
|
||||
};
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ EVp.withValue = function (value, func) {
|
||||
} finally {
|
||||
currentValues[this.slot] = saved;
|
||||
}
|
||||
|
||||
return ret;
|
||||
};
|
||||
|
||||
|
||||
@@ -49,20 +49,22 @@ class EnvironmentVariableAsync {
|
||||
*/
|
||||
withValue(value, func, options = {}) {
|
||||
const self = this;
|
||||
const slotCall = Meteor._getValueFromAslStore(SLOT_CALL_KEY);
|
||||
const dynamics =
|
||||
Meteor._getValueFromAslStore(UPPER_CALL_DYNAMICS_KEY_NAME) || {};
|
||||
dynamics[slotCall] = Meteor._getValueFromAslStore(CURRENT_VALUE_KEY_NAME);
|
||||
self.upperCallDynamics = dynamics;
|
||||
const slotCall = self.slot;
|
||||
const dynamics = Object.assign(
|
||||
{},
|
||||
Meteor._getValueFromAslStore(UPPER_CALL_DYNAMICS_KEY_NAME) || {}
|
||||
);
|
||||
|
||||
if (slotCall) {
|
||||
dynamics[slotCall] = value;
|
||||
}
|
||||
|
||||
return Meteor._runAsync(
|
||||
async function () {
|
||||
let ret;
|
||||
try {
|
||||
Meteor._updateAslStore(
|
||||
UPPER_CALL_DYNAMICS_KEY_NAME,
|
||||
this.upperCallDynamics,
|
||||
);
|
||||
Meteor._updateAslStore(CURRENT_VALUE_KEY_NAME, value);
|
||||
Meteor._updateAslStore(UPPER_CALL_DYNAMICS_KEY_NAME, dynamics);
|
||||
ret = await func();
|
||||
} finally {
|
||||
Meteor._updateAslStore(CURRENT_VALUE_KEY_NAME, undefined);
|
||||
@@ -80,7 +82,7 @@ class EnvironmentVariableAsync {
|
||||
[SLOT_CALL_KEY]: this.slot,
|
||||
},
|
||||
options,
|
||||
)
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,52 @@ Tinytest.add("environment - dynamic variables", function (test) {
|
||||
test.equal(CurrentFoo.get(), undefined);
|
||||
});
|
||||
|
||||
if (Meteor.isServer) {
|
||||
Tinytest.addAsync(
|
||||
"environment - dynamic variables with two context (server)",
|
||||
async function (test) {
|
||||
const context1 = new Meteor.EnvironmentVariable();
|
||||
const context2 = new Meteor.EnvironmentVariable();
|
||||
|
||||
return context1.withValue(42, async () => {
|
||||
test.equal(context2.get(), undefined);
|
||||
await context2.withValue(1, async () => {
|
||||
await context2.withValue(2, async () => {
|
||||
test.equal(context2.get(), 2);
|
||||
});
|
||||
test.equal(context1.get(), 42);
|
||||
test.equal(context2.get(), 1);
|
||||
});
|
||||
test.equal(context1.get(), 42);
|
||||
test.equal(context2.get(), undefined);
|
||||
});
|
||||
}
|
||||
);
|
||||
} else {
|
||||
// Basically the same test as the server one, but without async/await
|
||||
// as we don't handle async on the client in this case
|
||||
// due to the idea that we need to keep new EcmaScript features doesn't compile in older browsers
|
||||
Tinytest.add(
|
||||
"environment - dynamic variables with two context (client)",
|
||||
function (test) {
|
||||
const context1 = new Meteor.EnvironmentVariable();
|
||||
const context2 = new Meteor.EnvironmentVariable();
|
||||
|
||||
context1.withValue(42, () => {
|
||||
test.equal(context2.get(), undefined);
|
||||
context2.withValue(1, () => {
|
||||
context2.withValue(2, () => {
|
||||
test.equal(context2.get(), 2);
|
||||
});
|
||||
test.equal(context1.get(), 42);
|
||||
test.equal(context2.get(), 1);
|
||||
});
|
||||
test.equal(context1.get(), 42);
|
||||
test.equal(context2.get(), undefined);
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
Tinytest.addAsync("environment - bindEnvironment", async function (test) {
|
||||
var raised_f;
|
||||
|
||||
|
||||
@@ -70,11 +70,13 @@ Meteor._delete = function (obj /*, arguments */) {
|
||||
|
||||
|
||||
/**
|
||||
* Takes a function that has a callback argument as the last one and promissify it.
|
||||
* @memberOf Meteor
|
||||
* @locus Anywhere
|
||||
* @summary Takes a function that has a callback argument as the last one and promissify it.
|
||||
* One option would be to use node utils.promisify, but it won't work on the browser.
|
||||
* @param fn
|
||||
* @param context
|
||||
* @param errorFirst - If the callback follows the errorFirst style
|
||||
* @param {Function} fn
|
||||
* @param {Object} [context]
|
||||
* @param {Boolean} [errorFirst] - If the callback follows the errorFirst style, default to true
|
||||
* @returns {function(...[*]): Promise<unknown>}
|
||||
*/
|
||||
Meteor.promisify = function (fn, context, errorFirst) {
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="
|
||||
},
|
||||
"@jridgewell/source-map": {
|
||||
"version": "0.3.5",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz",
|
||||
"integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ=="
|
||||
"version": "0.3.6",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
|
||||
"integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ=="
|
||||
},
|
||||
"@jridgewell/sourcemap-codec": {
|
||||
"version": "1.4.15",
|
||||
|
||||
@@ -660,6 +660,22 @@ export default class LocalCollection {
|
||||
|
||||
this._observeQueue.drain();
|
||||
|
||||
|
||||
// If we are doing an upsert, and we didn't modify any documents yet, then
|
||||
// it's time to do an insert. Figure out what document we are inserting, and
|
||||
// generate an id for it.
|
||||
let insertedId;
|
||||
if (updateCount === 0 && options.upsert) {
|
||||
const doc = LocalCollection._createUpsertDocument(selector, mod);
|
||||
if (!doc._id && options.insertedId) {
|
||||
doc._id = options.insertedId;
|
||||
}
|
||||
|
||||
insertedId = this.insert(doc);
|
||||
updateCount = 1;
|
||||
}
|
||||
|
||||
|
||||
return this.finishUpdate({
|
||||
options,
|
||||
updateCount,
|
||||
|
||||
@@ -212,6 +212,21 @@ Tinytest.addAsync('minimongo - basics', async test => {
|
||||
test.equal(after.d, undefined);
|
||||
});
|
||||
|
||||
|
||||
Tinytest.addAsync('minimongo - upsert', async test => {
|
||||
const c = new LocalCollection();
|
||||
|
||||
await c.upsertAsync({ name: 'doc' }, { name: 'doc' });
|
||||
|
||||
test.equal(c.find({}).count(), 1);
|
||||
|
||||
await c.removeAsync({});
|
||||
|
||||
c.upsert({ name: 'doc' }, { name: 'doc' });
|
||||
test.equal(c.find({}).count(), 1);
|
||||
});
|
||||
|
||||
|
||||
Tinytest.add('minimongo - error - no options', test => {
|
||||
try {
|
||||
throw MinimongoError('Not fun to have errors');
|
||||
|
||||
@@ -1561,9 +1561,9 @@ Object.assign(MongoConnection.prototype, {
|
||||
// listenCallback is the same kind of (notification, complete) callback passed
|
||||
// to InvalidationCrossbar.listen.
|
||||
|
||||
listenAll = function (cursorDescription, listenCallback) {
|
||||
var listeners = [];
|
||||
forEachTrigger(cursorDescription, function (trigger) {
|
||||
listenAll = async function (cursorDescription, listenCallback) {
|
||||
const listeners = [];
|
||||
await forEachTrigger(cursorDescription, function (trigger) {
|
||||
listeners.push(DDPServer._InvalidationCrossbar.listen(
|
||||
trigger, listenCallback));
|
||||
});
|
||||
@@ -1577,20 +1577,20 @@ listenAll = function (cursorDescription, listenCallback) {
|
||||
};
|
||||
};
|
||||
|
||||
forEachTrigger = function (cursorDescription, triggerCallback) {
|
||||
var key = {collection: cursorDescription.collectionName};
|
||||
var specificIds = LocalCollection._idsMatchedBySelector(
|
||||
forEachTrigger = async function (cursorDescription, triggerCallback) {
|
||||
const key = {collection: cursorDescription.collectionName};
|
||||
const specificIds = LocalCollection._idsMatchedBySelector(
|
||||
cursorDescription.selector);
|
||||
if (specificIds) {
|
||||
_.each(specificIds, function (id) {
|
||||
triggerCallback(_.extend({id: id}, key));
|
||||
});
|
||||
triggerCallback(_.extend({dropCollection: true, id: null}, key));
|
||||
for (const id of specificIds) {
|
||||
await triggerCallback(_.extend({id: id}, key));
|
||||
}
|
||||
await triggerCallback(_.extend({dropCollection: true, id: null}, key));
|
||||
} else {
|
||||
triggerCallback(key);
|
||||
await triggerCallback(key);
|
||||
}
|
||||
// Everyone cares about the database being dropped.
|
||||
triggerCallback({ dropDatabase: true });
|
||||
await triggerCallback({ dropDatabase: true });
|
||||
};
|
||||
|
||||
// observeChanges for tailable cursors on capped collections.
|
||||
|
||||
@@ -4276,32 +4276,188 @@ if (Meteor.isServer) {
|
||||
});
|
||||
}
|
||||
|
||||
Tinytest.addAsync('mongo-livedata - maintained isomorphism using resolverType config for both client and server', async function(test, expect) {
|
||||
const Collection = new Mongo.Collection(`resolver_type${test.runId()}`, { resolverType: 'stub' });
|
||||
Tinytest.addAsync(
|
||||
'mongo-livedata - maintained isomorphism on collection operations for both client and server',
|
||||
async function (test) {
|
||||
const Collection = new Mongo.Collection(
|
||||
`maintained_col_op_iso${test.runId()}`,
|
||||
{ resolverType: 'stub' }
|
||||
);
|
||||
|
||||
await Collection.insertAsync({ _id: 'a' });
|
||||
await Collection.insertAsync({ _id: 'b' });
|
||||
await Collection.insertAsync({ _id: 'a' });
|
||||
await Collection.insertAsync({ _id: 'b' });
|
||||
|
||||
let items = await Collection.find().fetchAsync();
|
||||
let itemIds = items.map(_item => _item._id);
|
||||
let items = await Collection.find().fetchAsync();
|
||||
let itemIds = items.map(_item => _item._id);
|
||||
|
||||
test.equal(itemIds, ['a', 'b']);
|
||||
test.equal(itemIds, ['a', 'b']);
|
||||
|
||||
await Collection.updateAsync({ _id: 'a' }, { $set: { num: 1 } });
|
||||
await Collection.updateAsync({ _id: 'b' }, { $set: { num: 2 } });
|
||||
await Collection.updateAsync({ _id: 'a' }, { $set: { num: 1 } });
|
||||
await Collection.updateAsync({ _id: 'b' }, { $set: { num: 2 } });
|
||||
|
||||
items = await Collection.find().fetchAsync();
|
||||
itemIds = items.map(_item => _item.num);
|
||||
items = await Collection.find().fetchAsync();
|
||||
itemIds = items.map(_item => _item.num);
|
||||
|
||||
test.equal(itemIds, [1, 2]);
|
||||
test.equal(itemIds, [1, 2]);
|
||||
|
||||
await Collection.removeAsync({ _id: 'a' });
|
||||
await Collection.removeAsync({ _id: 'b' });
|
||||
await Collection.removeAsync({ _id: 'a' });
|
||||
await Collection.removeAsync({ _id: 'b' });
|
||||
|
||||
items = await Collection.find().fetchAsync();
|
||||
items = await Collection.find().fetchAsync();
|
||||
|
||||
test.equal(items, []);
|
||||
});
|
||||
test.equal(items, []);
|
||||
},
|
||||
);
|
||||
|
||||
testAsyncMulti(
|
||||
'mongo-livedata - collection async operations data persistence',
|
||||
[
|
||||
async function (test) {
|
||||
// Using remote collection
|
||||
const Collection = new Mongo.Collection(
|
||||
`remoteop_persistence${test.runId()}`,
|
||||
{
|
||||
resolverType: Meteor.isClient ? 'stub' : 'server',
|
||||
},
|
||||
);
|
||||
|
||||
await Collection.insertAsync({ _id: 'a' });
|
||||
await Collection.updateAsync({ _id: 'a' }, { $set: { num: 1 } });
|
||||
const insertedId = await Collection.insertAsync({ num: 2 });
|
||||
|
||||
let items = await Collection.find().fetchAsync();
|
||||
let itemIds = items.map(_item => _item._id);
|
||||
test.equal(itemIds, ['a', insertedId]); // temporary data accessible
|
||||
|
||||
const aItem = items[0];
|
||||
const insertedItem = items[1];
|
||||
test.equal(aItem?.num, 1);
|
||||
test.equal(insertedItem?.num, 2);
|
||||
|
||||
await Collection.removeAsync({ _id: insertedId });
|
||||
|
||||
items = await Collection.find().fetchAsync();
|
||||
itemIds = items.map(_item => _item._id);
|
||||
|
||||
test.equal(itemIds, ['a']); // temporary data accessible
|
||||
|
||||
if (Meteor.isClient) {
|
||||
return new Promise(resolve => {
|
||||
Meteor.setTimeout(async () => {
|
||||
items = await Collection.find().fetchAsync();
|
||||
itemIds = items.map(_item => _item._id);
|
||||
test.equal(itemIds, []); // data IS NOT persisted
|
||||
resolve();
|
||||
}, 100);
|
||||
});
|
||||
}
|
||||
|
||||
return Promise.resolve();
|
||||
},
|
||||
async function (test) {
|
||||
// Using local collection
|
||||
const Collection = new Mongo.Collection(
|
||||
`localop_persistence${test.runId()}`,
|
||||
);
|
||||
|
||||
await Collection._collection.insertAsync({ _id: 'a' });
|
||||
await Collection._collection.updateAsync(
|
||||
{ _id: 'a' },
|
||||
{ $set: { num: 1 } },
|
||||
);
|
||||
const insertedId = await Collection._collection.insertAsync({ num: 2 });
|
||||
|
||||
let items = await Collection.find().fetchAsync();
|
||||
let itemIds = items.map(_item => _item._id);
|
||||
test.equal(itemIds, ['a', insertedId]); // temporary data accessible
|
||||
|
||||
const aItem = items[0];
|
||||
const insertedItem = items[1];
|
||||
test.equal(aItem?.num, 1);
|
||||
test.equal(insertedItem?.num, 2);
|
||||
|
||||
await Collection._collection.removeAsync({ _id: insertedId });
|
||||
|
||||
items = await Collection.find().fetchAsync();
|
||||
itemIds = items.map(_item => _item._id);
|
||||
|
||||
test.equal(itemIds, ['a']); // temporary data accessible
|
||||
|
||||
if (Meteor.isClient) {
|
||||
return new Promise(resolve => {
|
||||
Meteor.setTimeout(async () => {
|
||||
items = await Collection.find().fetchAsync();
|
||||
itemIds = items.map(_item => _item._id);
|
||||
test.equal(itemIds, ['a']); // data is persisted
|
||||
resolve();
|
||||
}, 100);
|
||||
});
|
||||
}
|
||||
|
||||
return Promise.resolve();
|
||||
},
|
||||
async function (test) {
|
||||
// Using methods
|
||||
const Collection = new Mongo.Collection(
|
||||
`methodop_persistence${test.runId()}`,
|
||||
);
|
||||
Collection.allow({
|
||||
insertAsync() {
|
||||
return true;
|
||||
},
|
||||
insert() {
|
||||
return true;
|
||||
},
|
||||
});
|
||||
|
||||
Meteor.methods({
|
||||
[`insertMethodPersistence${test.runId()}`]: async () => {
|
||||
await Collection.insertAsync({ _id: 'a' });
|
||||
},
|
||||
});
|
||||
|
||||
const promise = Meteor.callAsync(
|
||||
`insertMethodPersistence${test.runId()}`,
|
||||
);
|
||||
|
||||
let items;
|
||||
let itemIds;
|
||||
if (Meteor.isServer) {
|
||||
await promise;
|
||||
|
||||
items = await Collection.find().fetchAsync();
|
||||
itemIds = items.map(_item => _item._id);
|
||||
|
||||
test.equal(itemIds, ['a']); // temporary data accessible
|
||||
}
|
||||
|
||||
if (Meteor.isClient) {
|
||||
await promise.stubPromise;
|
||||
|
||||
items = await Collection.find().fetchAsync();
|
||||
itemIds = items.map(_item => _item._id);
|
||||
|
||||
test.equal(itemIds, ['a']); // temporary data accessible
|
||||
|
||||
try {
|
||||
await promise.serverPromise;
|
||||
} catch (e) {
|
||||
// error as no insert method enabled on server
|
||||
return new Promise(resolve => {
|
||||
Meteor.setTimeout(async () => {
|
||||
items = await Collection.find().fetchAsync();
|
||||
itemIds = items.map(_item => _item._id);
|
||||
test.equal(itemIds, []); // data IS NOT persisted
|
||||
resolve();
|
||||
}, 100);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
return Promise.resolve();
|
||||
}
|
||||
},
|
||||
],
|
||||
);
|
||||
|
||||
testAsyncMulti("mongo-livedata - support observeChangesAsync and observeAsync to keep isomorphism on client and server", [
|
||||
async (test) => {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { oplogV2V1Converter } from "./oplog_v2_converter";
|
||||
import { check, Match } from 'meteor/check';
|
||||
|
||||
var PHASE = {
|
||||
QUERYING: "QUERYING",
|
||||
@@ -28,7 +29,7 @@ var currentId = 0;
|
||||
// callbacks (and a ready() invocation) to the ObserveMultiplexer, and you stop
|
||||
// it by calling the stop() method.
|
||||
OplogObserveDriver = function (options) {
|
||||
var self = this;
|
||||
const self = this;
|
||||
self._usesOplog = true; // tests look at this
|
||||
|
||||
self._id = currentId;
|
||||
@@ -42,10 +43,10 @@ OplogObserveDriver = function (options) {
|
||||
throw Error("OplogObserveDriver only supports unordered observeChanges");
|
||||
}
|
||||
|
||||
var sorter = options.sorter;
|
||||
const sorter = options.sorter;
|
||||
// We don't support $near and other geo-queries so it's OK to initialize the
|
||||
// comparator only once in the constructor.
|
||||
var comparator = sorter && sorter.getComparator();
|
||||
const comparator = sorter && sorter.getComparator();
|
||||
|
||||
if (options.cursorDescription.options.limit) {
|
||||
// There are several properties ordered driver implements:
|
||||
@@ -57,7 +58,7 @@ OplogObserveDriver = function (options) {
|
||||
// into published set.
|
||||
// - _published - Max Heap (also implements IdMap methods)
|
||||
|
||||
var heapOptions = { IdMap: LocalCollection._IdMap };
|
||||
const heapOptions = { IdMap: LocalCollection._IdMap };
|
||||
self._limit = self._cursorDescription.options.limit;
|
||||
self._comparator = comparator;
|
||||
self._sorter = sorter;
|
||||
@@ -79,6 +80,12 @@ OplogObserveDriver = function (options) {
|
||||
|
||||
self._stopped = false;
|
||||
self._stopHandles = [];
|
||||
self._addStopHandles = function (newStopHandles) {
|
||||
const expectedPattern = Match.ObjectIncluding({ stop: Function });
|
||||
// Single item or array
|
||||
check(newStopHandles, Match.OneOf([expectedPattern], expectedPattern));
|
||||
self._stopHandles.push(newStopHandles);
|
||||
}
|
||||
|
||||
Package['facts-base'] && Package['facts-base'].Facts.incrementServerFact(
|
||||
"mongo-livedata", "observe-drivers-oplog", 1);
|
||||
@@ -88,7 +95,7 @@ OplogObserveDriver = function (options) {
|
||||
self._matcher = options.matcher;
|
||||
// we are now using projection, not fields in the cursor description even if you pass {fields}
|
||||
// in the cursor construction
|
||||
var projection = self._cursorDescription.options.fields || self._cursorDescription.options.projection || {};
|
||||
const projection = self._cursorDescription.options.fields || self._cursorDescription.options.projection || {};
|
||||
self._projectionFn = LocalCollection._compileProjection(projection);
|
||||
// Projection function, result of combining important fields for selector and
|
||||
// existing fields projection
|
||||
@@ -105,90 +112,94 @@ OplogObserveDriver = function (options) {
|
||||
self._requeryWhenDoneThisQuery = false;
|
||||
self._writesToCommitWhenWeReachSteady = [];
|
||||
|
||||
// If the oplog handle tells us that it skipped some entries (because it got
|
||||
// behind, say), re-poll.
|
||||
self._stopHandles.push(self._mongoHandle._oplogHandle.onSkippedEntries(
|
||||
finishIfNeedToPollQuery(function () {
|
||||
return self._needToPollQuery();
|
||||
})
|
||||
));
|
||||
|
||||
forEachTrigger(self._cursorDescription, function (trigger) {
|
||||
self._stopHandles.push(self._mongoHandle._oplogHandle.onOplogEntry(
|
||||
trigger, function (notification) {
|
||||
finishIfNeedToPollQuery(function () {
|
||||
var op = notification.op;
|
||||
if (notification.dropCollection || notification.dropDatabase) {
|
||||
// Note: this call is not allowed to block on anything (especially
|
||||
// on waiting for oplog entries to catch up) because that will block
|
||||
// onOplogEntry!
|
||||
return self._needToPollQuery();
|
||||
} else {
|
||||
// All other operators should be handled depending on phase
|
||||
if (self._phase === PHASE.QUERYING) {
|
||||
return self._handleOplogEntryQuerying(op);
|
||||
} else {
|
||||
return self._handleOplogEntrySteadyOrFetching(op);
|
||||
}
|
||||
}
|
||||
})();
|
||||
}
|
||||
));
|
||||
});
|
||||
|
||||
// XXX ordering w.r.t. everything else?
|
||||
self._stopHandles.push(listenAll(
|
||||
self._cursorDescription, function () {
|
||||
// If we're not in a pre-fire write fence, we don't have to do anything.
|
||||
var fence = DDPServer._getCurrentFence();
|
||||
if (!fence || fence.fired)
|
||||
return;
|
||||
|
||||
if (fence._oplogObserveDrivers) {
|
||||
fence._oplogObserveDrivers[self._id] = self;
|
||||
return;
|
||||
}
|
||||
|
||||
fence._oplogObserveDrivers = {};
|
||||
fence._oplogObserveDrivers[self._id] = self;
|
||||
|
||||
fence.onBeforeFire(async function () {
|
||||
var drivers = fence._oplogObserveDrivers;
|
||||
delete fence._oplogObserveDrivers;
|
||||
|
||||
// This fence cannot fire until we've caught up to "this point" in the
|
||||
// oplog, and all observers made it back to the steady state.
|
||||
await self._mongoHandle._oplogHandle.waitUntilCaughtUp();
|
||||
|
||||
for (const driver of Object.values(drivers)) {
|
||||
if (driver._stopped)
|
||||
continue;
|
||||
|
||||
var write = await fence.beginWrite();
|
||||
if (driver._phase === PHASE.STEADY) {
|
||||
// Make sure that all of the callbacks have made it through the
|
||||
// multiplexer and been delivered to ObserveHandles before committing
|
||||
// writes.
|
||||
await driver._multiplexer.onFlush(write.committed);
|
||||
} else {
|
||||
driver._writesToCommitWhenWeReachSteady.push(write);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
));
|
||||
|
||||
// When Mongo fails over, we need to repoll the query, in case we processed an
|
||||
// oplog entry that got rolled back.
|
||||
self._stopHandles.push(self._mongoHandle._onFailover(finishIfNeedToPollQuery(
|
||||
function () {
|
||||
return self._needToPollQuery();
|
||||
})));
|
||||
};
|
||||
};
|
||||
|
||||
_.extend(OplogObserveDriver.prototype, {
|
||||
_init: function() {
|
||||
_init: async function() {
|
||||
const self = this;
|
||||
|
||||
// If the oplog handle tells us that it skipped some entries (because it got
|
||||
// behind, say), re-poll.
|
||||
self._addStopHandles(self._mongoHandle._oplogHandle.onSkippedEntries(
|
||||
finishIfNeedToPollQuery(function () {
|
||||
return self._needToPollQuery();
|
||||
})
|
||||
));
|
||||
|
||||
await forEachTrigger(self._cursorDescription, async function (trigger) {
|
||||
self._addStopHandles(await self._mongoHandle._oplogHandle.onOplogEntry(
|
||||
trigger, function (notification) {
|
||||
finishIfNeedToPollQuery(function () {
|
||||
const op = notification.op;
|
||||
if (notification.dropCollection || notification.dropDatabase) {
|
||||
// Note: this call is not allowed to block on anything (especially
|
||||
// on waiting for oplog entries to catch up) because that will block
|
||||
// onOplogEntry!
|
||||
return self._needToPollQuery();
|
||||
} else {
|
||||
// All other operators should be handled depending on phase
|
||||
if (self._phase === PHASE.QUERYING) {
|
||||
return self._handleOplogEntryQuerying(op);
|
||||
} else {
|
||||
return self._handleOplogEntrySteadyOrFetching(op);
|
||||
}
|
||||
}
|
||||
})();
|
||||
}
|
||||
));
|
||||
});
|
||||
|
||||
// XXX ordering w.r.t. everything else?
|
||||
self._addStopHandles(await listenAll(
|
||||
self._cursorDescription, function () {
|
||||
// If we're not in a pre-fire write fence, we don't have to do anything.
|
||||
const fence = DDPServer._getCurrentFence();
|
||||
if (!fence || fence.fired)
|
||||
return;
|
||||
|
||||
if (fence._oplogObserveDrivers) {
|
||||
fence._oplogObserveDrivers[self._id] = self;
|
||||
return;
|
||||
}
|
||||
|
||||
fence._oplogObserveDrivers = {};
|
||||
fence._oplogObserveDrivers[self._id] = self;
|
||||
|
||||
fence.onBeforeFire(async function () {
|
||||
const drivers = fence._oplogObserveDrivers;
|
||||
delete fence._oplogObserveDrivers;
|
||||
|
||||
// This fence cannot fire until we've caught up to "this point" in the
|
||||
// oplog, and all observers made it back to the steady state.
|
||||
await self._mongoHandle._oplogHandle.waitUntilCaughtUp();
|
||||
|
||||
for (const driver of Object.values(drivers)) {
|
||||
if (driver._stopped)
|
||||
continue;
|
||||
|
||||
const write = await fence.beginWrite();
|
||||
if (driver._phase === PHASE.STEADY) {
|
||||
// Make sure that all of the callbacks have made it through the
|
||||
// multiplexer and been delivered to ObserveHandles before committing
|
||||
// writes.
|
||||
await driver._multiplexer.onFlush(write.committed);
|
||||
} else {
|
||||
driver._writesToCommitWhenWeReachSteady.push(write);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
));
|
||||
|
||||
// When Mongo fails over, we need to repoll the query, in case we processed an
|
||||
// oplog entry that got rolled back.
|
||||
self._addStopHandles(self._mongoHandle._onFailover(finishIfNeedToPollQuery(
|
||||
function () {
|
||||
return self._needToPollQuery();
|
||||
})));
|
||||
|
||||
// Give _observeChanges a chance to add the new ObserveHandle to our
|
||||
// multiplexer, so that the added calls get streamed.
|
||||
return self._runInitialQuery();
|
||||
|
||||
@@ -189,7 +189,7 @@ Object.assign(OplogHandle.prototype, {
|
||||
// currently visible.
|
||||
// XXX become convinced that this is actually safe even if oplogConnection
|
||||
// is some kind of pool
|
||||
waitUntilCaughtUp: function () {
|
||||
waitUntilCaughtUp: async function () {
|
||||
return this._waitUntilCaughtUp();
|
||||
},
|
||||
|
||||
|
||||
@@ -2,7 +2,8 @@ var POLLING_THROTTLE_MS = +process.env.METEOR_POLLING_THROTTLE_MS || 50;
|
||||
var POLLING_INTERVAL_MS = +process.env.METEOR_POLLING_INTERVAL_MS || 10 * 1000;
|
||||
|
||||
PollingObserveDriver = function (options) {
|
||||
var self = this;
|
||||
const self = this;
|
||||
self._options = options;
|
||||
|
||||
self._cursorDescription = options.cursorDescription;
|
||||
self._mongoHandle = options.mongoHandle;
|
||||
@@ -37,47 +38,51 @@ PollingObserveDriver = function (options) {
|
||||
// XXX figure out if we still need a queue
|
||||
self._taskQueue = new Meteor._AsynchronousQueue();
|
||||
|
||||
var listenersHandle = listenAll(
|
||||
self._cursorDescription, function (notification) {
|
||||
// When someone does a transaction that might affect us, schedule a poll
|
||||
// of the database. If that transaction happens inside of a write fence,
|
||||
// block the fence until we've polled and notified observers.
|
||||
var fence = DDPServer._getCurrentFence();
|
||||
if (fence)
|
||||
self._pendingWrites.push(fence.beginWrite());
|
||||
// Ensure a poll is scheduled... but if we already know that one is,
|
||||
// don't hit the throttled _ensurePollIsScheduled function (which might
|
||||
// lead to us calling it unnecessarily in <pollingThrottleMs> ms).
|
||||
if (self._pollsScheduledButNotStarted === 0)
|
||||
self._ensurePollIsScheduled();
|
||||
}
|
||||
);
|
||||
self._stopCallbacks.push(async function () { await listenersHandle.stop(); });
|
||||
|
||||
// every once and a while, poll even if we don't think we're dirty, for
|
||||
// eventual consistency with database writes from outside the Meteor
|
||||
// universe.
|
||||
//
|
||||
// For testing, there's an undocumented callback argument to observeChanges
|
||||
// which disables time-based polling and gets called at the beginning of each
|
||||
// poll.
|
||||
if (options._testOnlyPollCallback) {
|
||||
self._testOnlyPollCallback = options._testOnlyPollCallback;
|
||||
} else {
|
||||
var pollingInterval =
|
||||
self._cursorDescription.options.pollingIntervalMs ||
|
||||
self._cursorDescription.options._pollingInterval || // COMPAT with 1.2
|
||||
POLLING_INTERVAL_MS;
|
||||
var intervalHandle = Meteor.setInterval(
|
||||
_.bind(self._ensurePollIsScheduled, self), pollingInterval);
|
||||
self._stopCallbacks.push(function () {
|
||||
Meteor.clearInterval(intervalHandle);
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
_.extend(PollingObserveDriver.prototype, {
|
||||
_init: async function () {
|
||||
const self = this;
|
||||
const options = self._options;
|
||||
const listenersHandle = await listenAll(
|
||||
self._cursorDescription, function (notification) {
|
||||
// When someone does a transaction that might affect us, schedule a poll
|
||||
// of the database. If that transaction happens inside of a write fence,
|
||||
// block the fence until we've polled and notified observers.
|
||||
const fence = DDPServer._getCurrentFence();
|
||||
if (fence)
|
||||
self._pendingWrites.push(fence.beginWrite());
|
||||
// Ensure a poll is scheduled... but if we already know that one is,
|
||||
// don't hit the throttled _ensurePollIsScheduled function (which might
|
||||
// lead to us calling it unnecessarily in <pollingThrottleMs> ms).
|
||||
if (self._pollsScheduledButNotStarted === 0)
|
||||
self._ensurePollIsScheduled();
|
||||
}
|
||||
);
|
||||
self._stopCallbacks.push(async function () { await listenersHandle.stop(); });
|
||||
|
||||
// every once and a while, poll even if we don't think we're dirty, for
|
||||
// eventual consistency with database writes from outside the Meteor
|
||||
// universe.
|
||||
//
|
||||
// For testing, there's an undocumented callback argument to observeChanges
|
||||
// which disables time-based polling and gets called at the beginning of each
|
||||
// poll.
|
||||
if (options._testOnlyPollCallback) {
|
||||
self._testOnlyPollCallback = options._testOnlyPollCallback;
|
||||
} else {
|
||||
const pollingInterval =
|
||||
self._cursorDescription.options.pollingIntervalMs ||
|
||||
self._cursorDescription.options._pollingInterval || // COMPAT with 1.2
|
||||
POLLING_INTERVAL_MS;
|
||||
const intervalHandle = Meteor.setInterval(
|
||||
_.bind(self._ensurePollIsScheduled, self), pollingInterval);
|
||||
self._stopCallbacks.push(function () {
|
||||
Meteor.clearInterval(intervalHandle);
|
||||
});
|
||||
}
|
||||
|
||||
// Make sure we actually poll soon!
|
||||
await this._unthrottledEnsurePollIsScheduled();
|
||||
|
||||
|
||||
402
packages/npm-mongo/.npm/package/npm-shrinkwrap.json
generated
402
packages/npm-mongo/.npm/package/npm-shrinkwrap.json
generated
@@ -74,129 +74,129 @@
|
||||
}
|
||||
},
|
||||
"@aws-sdk/client-cognito-identity": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.525.0.tgz",
|
||||
"integrity": "sha512-LxI9rfn6Vy/EX6I7as14PAKqAhUwVQviaMV/xCLQIubgdVj1xfexVURdiSk7GQshpcwtrs+GQWV21yP+3AX/7A=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.535.0.tgz",
|
||||
"integrity": "sha512-7n9WAXAQzDgdaNkZlgdX+dmCW30tCrq3NpPs/f1WFWcF6g+s06ULkuWywTU+usG6ZTuRtajFKy2oMkMv9Wor0g=="
|
||||
},
|
||||
"@aws-sdk/client-sso": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.525.0.tgz",
|
||||
"integrity": "sha512-6KwGQWFoNLH1UupdWPFdKPfTgjSz1kN8/r8aCzuvvXBe4Pz+iDUZ6FEJzGWNc9AapjvZDNO1hs23slomM9rTaA=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.535.0.tgz",
|
||||
"integrity": "sha512-h9eQRdFnjDRVBnPJIKXuX7D+isSAioIfZPC4PQwsL5BscTRlk4c90DX0R0uk64YUtp7LZu8TNtrosFZ/1HtTrQ=="
|
||||
},
|
||||
"@aws-sdk/client-sso-oidc": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.525.0.tgz",
|
||||
"integrity": "sha512-zz13k/6RkjPSLmReSeGxd8wzGiiZa4Odr2Tv3wTcxClM4wOjD+zOgGv4Fe32b9AMqaueiCdjbvdu7AKcYxFA4A=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.535.0.tgz",
|
||||
"integrity": "sha512-M2cG4EQXDpAJQyq33ORIr6abmdX9p9zX0ssVy8XwFNB7lrgoIKxuVoGL+fX+XMgecl24x7ELz6b4QlILOevbCw=="
|
||||
},
|
||||
"@aws-sdk/client-sts": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.525.0.tgz",
|
||||
"integrity": "sha512-a8NUGRvO6rkfTZCbMaCsjDjLbERCwIUU9dIywFYcRgbFhkupJ7fSaZz3Het98U51M9ZbTEpaTa3fz0HaJv8VJw=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.535.0.tgz",
|
||||
"integrity": "sha512-ii9OOm3TJwP3JmO1IVJXKWIShVKPl0VtdlgROc/SkDglO/kuAw9eDdlROgc+qbFl+gm6bBTguOVTUXt3tS3flw=="
|
||||
},
|
||||
"@aws-sdk/core": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.525.0.tgz",
|
||||
"integrity": "sha512-E3LtEtMWCriQOFZpVKpLYzbdw/v2PAOEAMhn2VRRZ1g0/g1TXzQrfhEU2yd8l/vQEJaCJ82ooGGg7YECviBUxA=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.535.0.tgz",
|
||||
"integrity": "sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw=="
|
||||
},
|
||||
"@aws-sdk/credential-provider-cognito-identity": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.525.0.tgz",
|
||||
"integrity": "sha512-0djjCN/zN6QFQt1xU64VBOSRP4wJckU6U7FjLPrGpL6w03hF0dUmVUXjhQZe5WKNPCicVc2S3BYPohl/PzCx1w=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.535.0.tgz",
|
||||
"integrity": "sha512-Lc+RJTNzp22H31W/O7iSmCZUP+KYZMuzK8hKU4/RXo7D8t/cFLb4VpvvcCCa4UOZqdmxVqEhwc1oXyMkoszITQ=="
|
||||
},
|
||||
"@aws-sdk/credential-provider-env": {
|
||||
"version": "3.523.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.523.0.tgz",
|
||||
"integrity": "sha512-Y6DWdH6/OuMDoNKVzZlNeBc6f1Yjk1lYMjANKpIhMbkRCvLJw/PYZKOZa8WpXbTYdgg9XLjKybnLIb3ww3uuzA=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.535.0.tgz",
|
||||
"integrity": "sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA=="
|
||||
},
|
||||
"@aws-sdk/credential-provider-http": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.525.0.tgz",
|
||||
"integrity": "sha512-RNWQGuSBQZhl3iqklOslUEfQ4br1V3DCPboMpeqFtddUWJV3m2u2extFur9/4Uy+1EHVF120IwZUKtd8dF+ibw=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.535.0.tgz",
|
||||
"integrity": "sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw=="
|
||||
},
|
||||
"@aws-sdk/credential-provider-ini": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.525.0.tgz",
|
||||
"integrity": "sha512-JDnccfK5JRb9jcgpc9lirL9PyCwGIqY0nKdw3LlX5WL5vTpTG4E1q7rLAlpNh7/tFD1n66Itarfv2tsyHMIqCw=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.535.0.tgz",
|
||||
"integrity": "sha512-bm3XOYlyCjtAb8eeHXLrxqRxYVRw2Iqv9IufdJb4gM13TbNSYniUT1WKaHxGIZ5p+FuNlXVhvk1OpHFM13+gXA=="
|
||||
},
|
||||
"@aws-sdk/credential-provider-node": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.525.0.tgz",
|
||||
"integrity": "sha512-RJXlO8goGXpnoHQAyrCcJ0QtWEOFa34LSbfdqBIjQX/fwnjUuEmiGdXTV3AZmwYQ7juk49tfBneHbtOP3AGqsQ=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.535.0.tgz",
|
||||
"integrity": "sha512-6JXp/EuL6euUkH5k4d+lQFF6gBwukrcCOWfNHCmq14mNJf/cqT3HAX1VMtWFRSK20am0IxfYQGccb0/nZykdKg=="
|
||||
},
|
||||
"@aws-sdk/credential-provider-process": {
|
||||
"version": "3.523.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.523.0.tgz",
|
||||
"integrity": "sha512-f0LP9KlFmMvPWdKeUKYlZ6FkQAECUeZMmISsv6NKtvPCI9e4O4cLTeR09telwDK8P0HrgcRuZfXM7E30m8re0Q=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.535.0.tgz",
|
||||
"integrity": "sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA=="
|
||||
},
|
||||
"@aws-sdk/credential-provider-sso": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.525.0.tgz",
|
||||
"integrity": "sha512-7V7ybtufxdD3plxeIeB6aqHZeFIUlAyPphXIUgXrGY10iNcosL970rQPBeggsohe4gCM6UvY2TfMeEcr+ZE8FA=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.535.0.tgz",
|
||||
"integrity": "sha512-2Dw0YIr8ETdFpq65CC4zK8ZIEbX78rXoNRZXUGNQW3oSKfL0tj8O8ErY6kg1IdEnYbGnEQ35q6luZ5GGNKLgDg=="
|
||||
},
|
||||
"@aws-sdk/credential-provider-web-identity": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.525.0.tgz",
|
||||
"integrity": "sha512-sAukOjR1oKb2JXG4nPpuBFpSwGUhrrY17PG/xbTy8NAoLLhrqRwnErcLfdTfmj6tH+3094k6ws/Sh8a35ae7fA=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.535.0.tgz",
|
||||
"integrity": "sha512-t2/JWrKY0H66A7JW7CqX06/DG2YkJddikt5ymdQvx/Q7dRMJ3d+o/vgjoKr7RvEx/pNruCeyM1599HCvwrVMrg=="
|
||||
},
|
||||
"@aws-sdk/credential-providers": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.525.0.tgz",
|
||||
"integrity": "sha512-zj439Ok1s44nahIJKpBM4jhAxnSw20flXQpMD2aeGdvUuKm2xmzZP0lX5z9a+XQWFtNh251ZcSt2p+RwtLKtiw=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.535.0.tgz",
|
||||
"integrity": "sha512-rC3TguTFbeua3EyTwGm84xeARKE1RO0oIWdtuTmSS5ZCPwllcePGkOVg7gQiPRc01Ebj816S/6P2QbvAfSUxqA=="
|
||||
},
|
||||
"@aws-sdk/middleware-host-header": {
|
||||
"version": "3.523.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.523.0.tgz",
|
||||
"integrity": "sha512-4g3q7Ta9sdD9TMUuohBAkbx/e3I/juTqfKi7TPgP+8jxcYX72MOsgemAMHuP6CX27eyj4dpvjH+w4SIVDiDSmg=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.535.0.tgz",
|
||||
"integrity": "sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew=="
|
||||
},
|
||||
"@aws-sdk/middleware-logger": {
|
||||
"version": "3.523.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.523.0.tgz",
|
||||
"integrity": "sha512-PeDNJNhfiaZx54LBaLTXzUaJ9LXFwDFFIksipjqjvxMafnoVcQwKbkoPUWLe5ytT4nnL1LogD3s55mERFUsnwg=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.535.0.tgz",
|
||||
"integrity": "sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A=="
|
||||
},
|
||||
"@aws-sdk/middleware-recursion-detection": {
|
||||
"version": "3.523.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.523.0.tgz",
|
||||
"integrity": "sha512-nZ3Vt7ehfSDYnrcg/aAfjjvpdE+61B3Zk68i6/hSUIegT3IH9H1vSW67NDKVp+50hcEfzWwM2HMPXxlzuyFyrw=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.535.0.tgz",
|
||||
"integrity": "sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw=="
|
||||
},
|
||||
"@aws-sdk/middleware-user-agent": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.525.0.tgz",
|
||||
"integrity": "sha512-4al/6uO+t/QIYXK2OgqzDKQzzLAYJza1vWFS+S0lJ3jLNGyLB5BMU5KqWjDzevYZ4eCnz2Nn7z0FveUTNz8YdQ=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.535.0.tgz",
|
||||
"integrity": "sha512-Uvb2WJ+zdHdCOtsWVPI/M0BcfNrjOYsicDZWtaljucRJKLclY5gNWwD+RwIC+8b5TvfnVOlH+N5jhvpi5Impog=="
|
||||
},
|
||||
"@aws-sdk/region-config-resolver": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.525.0.tgz",
|
||||
"integrity": "sha512-8kFqXk6UyKgTMi7N7QlhA6qM4pGPWbiUXqEY2RgUWngtxqNFGeM9JTexZeuavQI+qLLe09VPShPNX71fEDcM6w=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.535.0.tgz",
|
||||
"integrity": "sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg=="
|
||||
},
|
||||
"@aws-sdk/token-providers": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.525.0.tgz",
|
||||
"integrity": "sha512-puVjbxuK0Dq7PTQ2HdddHy2eQjOH8GZbump74yWJa6JVpRW84LlOcNmP+79x4Kscvz2ldWB8XDFw/pcCiSDe5A=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.535.0.tgz",
|
||||
"integrity": "sha512-4g+l/B9h1H/SiDtFRosW3pMwc+3PTXljZit+5NUBcET2XqcdUyHmgj3lBdu+CJ9CHdIMggRalYMAFXnRFe3Psg=="
|
||||
},
|
||||
"@aws-sdk/types": {
|
||||
"version": "3.523.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.523.0.tgz",
|
||||
"integrity": "sha512-AqGIu4u+SxPiUuNBp2acCVcq80KDUFjxe6e3cMTvKWTzCbrVk1AXv0dAaJnCmdkWIha6zJDWxpIk/aL4EGhZ9A=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.535.0.tgz",
|
||||
"integrity": "sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg=="
|
||||
},
|
||||
"@aws-sdk/util-endpoints": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.525.0.tgz",
|
||||
"integrity": "sha512-DIW7WWU5tIGkeeKX6NJUyrEIdWMiqjLQG3XBzaUj+ufIENwNjdAHhlD8l2vX7Yr3JZRT6yN/84wBCj7Tw1xd1g=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.535.0.tgz",
|
||||
"integrity": "sha512-c8TlaQsiPchOOmTTR6qvHCO2O7L7NJwlKWAoQJ2GqWDZuC5es/fyuF2rp1h+ZRrUVraUomS0YdGkAmaDC7hJQg=="
|
||||
},
|
||||
"@aws-sdk/util-locate-window": {
|
||||
"version": "3.495.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.495.0.tgz",
|
||||
"integrity": "sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.535.0.tgz",
|
||||
"integrity": "sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA=="
|
||||
},
|
||||
"@aws-sdk/util-user-agent-browser": {
|
||||
"version": "3.523.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.523.0.tgz",
|
||||
"integrity": "sha512-6ZRNdGHX6+HQFqTbIA5+i8RWzxFyxsZv8D3soRfpdyWIKkzhSz8IyRKXRciwKBJDaC7OX2jzGE90wxRQft27nA=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.535.0.tgz",
|
||||
"integrity": "sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig=="
|
||||
},
|
||||
"@aws-sdk/util-user-agent-node": {
|
||||
"version": "3.525.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.525.0.tgz",
|
||||
"integrity": "sha512-88Wjt4efyUSBGcyIuh1dvoMqY1k15jpJc5A/3yi67clBQEFsu9QCodQCQPqmRjV3VRcMtBOk+jeCTiUzTY5dRQ=="
|
||||
"version": "3.535.0",
|
||||
"resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.535.0.tgz",
|
||||
"integrity": "sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ=="
|
||||
},
|
||||
"@aws-sdk/util-utf8-browser": {
|
||||
"version": "3.259.0",
|
||||
@@ -204,214 +204,214 @@
|
||||
"integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw=="
|
||||
},
|
||||
"@mongodb-js/saslprep": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.4.tgz",
|
||||
"integrity": "sha512-8zJ8N1x51xo9hwPh6AWnKdLGEC5N3lDa6kms1YHmFBoRhTpJR6HG8wWk0td1MVCu9cD4YBrvjZEtd5Obw0Fbnw=="
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.5.tgz",
|
||||
"integrity": "sha512-XLNOMH66KhJzUJNwT/qlMnS4WsNDWD5ASdyaSH3EtK+F4r/CFGa3jT4GNi4mfOitGvWXtdLgQJkQjxSVrio+jA=="
|
||||
},
|
||||
"@smithy/abort-controller": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.3.tgz",
|
||||
"integrity": "sha512-c2aYH2Wu1RVE3rLlVgg2kQOBJGM0WbjReQi5DnPTm2Zb7F0gk7J2aeQeaX2u/lQZoHl6gv8Oac7mt9alU3+f4A=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.2.0.tgz",
|
||||
"integrity": "sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw=="
|
||||
},
|
||||
"@smithy/config-resolver": {
|
||||
"version": "2.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.4.tgz",
|
||||
"integrity": "sha512-AW2WUZmBAzgO3V3ovKtsUbI3aBNMeQKFDumoqkNxaVDWF/xfnxAWqBKDr/NuG7c06N2Rm4xeZLPiJH/d+na0HA=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.2.0.tgz",
|
||||
"integrity": "sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA=="
|
||||
},
|
||||
"@smithy/core": {
|
||||
"version": "1.3.5",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.5.tgz",
|
||||
"integrity": "sha512-Rrc+e2Jj6Gu7Xbn0jvrzZlSiP2CZocIOfZ9aNUA82+1sa6GBnxqL9+iZ9EKHeD9aqD1nU8EK4+oN2EiFpSv7Yw=="
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.4.0.tgz",
|
||||
"integrity": "sha512-uu9ZDI95Uij4qk+L6kyFjdk11zqBkcJ3Lv0sc6jZrqHvLyr0+oeekD3CnqMafBn/5PRI6uv6ulW3kNLRBUHeVw=="
|
||||
},
|
||||
"@smithy/credential-provider-imds": {
|
||||
"version": "2.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.4.tgz",
|
||||
"integrity": "sha512-DdatjmBZQnhGe1FhI8gO98f7NmvQFSDiZTwC3WMvLTCKQUY+Y1SVkhJqIuLu50Eb7pTheoXQmK+hKYUgpUWsNA=="
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.3.0.tgz",
|
||||
"integrity": "sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w=="
|
||||
},
|
||||
"@smithy/eventstream-codec": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.3.tgz",
|
||||
"integrity": "sha512-rGlCVuwSDv6qfKH4/lRxFjcZQnIE0LZ3D4lkMHg7ZSltK9rA74r0VuGSvWVQ4N/d70VZPaniFhp4Z14QYZsa+A=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.2.0.tgz",
|
||||
"integrity": "sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw=="
|
||||
},
|
||||
"@smithy/fetch-http-handler": {
|
||||
"version": "2.4.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.3.tgz",
|
||||
"integrity": "sha512-Fn/KYJFo6L5I4YPG8WQb2hOmExgRmNpVH5IK2zU3JKrY5FKW7y9ar5e0BexiIC9DhSKqKX+HeWq/Y18fq7Dkpw=="
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.5.0.tgz",
|
||||
"integrity": "sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw=="
|
||||
},
|
||||
"@smithy/hash-node": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.3.tgz",
|
||||
"integrity": "sha512-FsAPCUj7VNJIdHbSxMd5uiZiF20G2zdSDgrgrDrHqIs/VMxK85Vqk5kMVNNDMCZmMezp6UKnac0B4nAyx7HJ9g=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.2.0.tgz",
|
||||
"integrity": "sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g=="
|
||||
},
|
||||
"@smithy/invalid-dependency": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.3.tgz",
|
||||
"integrity": "sha512-wkra7d/G4CbngV4xsjYyAYOvdAhahQje/WymuQdVEnXFExJopEu7fbL5AEAlBPgWHXwu94VnCSG00gVzRfExyg=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.2.0.tgz",
|
||||
"integrity": "sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q=="
|
||||
},
|
||||
"@smithy/is-array-buffer": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz",
|
||||
"integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
|
||||
"integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA=="
|
||||
},
|
||||
"@smithy/middleware-content-length": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.3.tgz",
|
||||
"integrity": "sha512-aJduhkC+dcXxdnv5ZpM3uMmtGmVFKx412R1gbeykS5HXDmRU6oSsyy2SoHENCkfOGKAQOjVE2WVqDJibC0d21g=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.2.0.tgz",
|
||||
"integrity": "sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ=="
|
||||
},
|
||||
"@smithy/middleware-endpoint": {
|
||||
"version": "2.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.4.tgz",
|
||||
"integrity": "sha512-4yjHyHK2Jul4JUDBo2sTsWY9UshYUnXeb/TAK/MTaPEb8XQvDmpwSFnfIRDU45RY1a6iC9LCnmJNg/yHyfxqkw=="
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.5.0.tgz",
|
||||
"integrity": "sha512-OBhI9ZEAG8Xen0xsFJwwNOt44WE2CWkfYIxTognC8x42Lfsdf0VN/wCMqpdkySMDio/vts10BiovAxQp0T0faA=="
|
||||
},
|
||||
"@smithy/middleware-retry": {
|
||||
"version": "2.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.4.tgz",
|
||||
"integrity": "sha512-Cyolv9YckZTPli1EkkaS39UklonxMd08VskiuMhURDjC0HHa/AD6aK/YoD21CHv9s0QLg0WMLvk9YeLTKkXaFQ=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.2.0.tgz",
|
||||
"integrity": "sha512-PsjDOLpbevgn37yJbawmfVoanru40qVA8UEf2+YA1lvOefmhuhL6ZbKtGsLAWDRnE1OlAmedsbA/htH6iSZjNA=="
|
||||
},
|
||||
"@smithy/middleware-serde": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.3.tgz",
|
||||
"integrity": "sha512-s76LId+TwASrHhUa9QS4k/zeXDUAuNuddKklQzRgumbzge5BftVXHXIqL4wQxKGLocPwfgAOXWx+HdWhQk9hTg=="
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.3.0.tgz",
|
||||
"integrity": "sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q=="
|
||||
},
|
||||
"@smithy/middleware-stack": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.3.tgz",
|
||||
"integrity": "sha512-opMFufVQgvBSld/b7mD7OOEBxF6STyraVr1xel1j0abVILM8ALJvRoFbqSWHGmaDlRGIiV9Q5cGbWi0sdiEaLQ=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.2.0.tgz",
|
||||
"integrity": "sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA=="
|
||||
},
|
||||
"@smithy/node-config-provider": {
|
||||
"version": "2.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.4.tgz",
|
||||
"integrity": "sha512-nqazHCp8r4KHSFhRQ+T0VEkeqvA0U+RhehBSr1gunUuNW3X7j0uDrWBxB2gE9eutzy6kE3Y7L+Dov/UXT871vg=="
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.3.0.tgz",
|
||||
"integrity": "sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg=="
|
||||
},
|
||||
"@smithy/node-http-handler": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.4.1.tgz",
|
||||
"integrity": "sha512-HCkb94soYhJMxPCa61wGKgmeKpJ3Gftx1XD6bcWEB2wMV1L9/SkQu/6/ysKBnbOzWRE01FGzwrTxucHypZ8rdg=="
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.5.0.tgz",
|
||||
"integrity": "sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA=="
|
||||
},
|
||||
"@smithy/property-provider": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.3.tgz",
|
||||
"integrity": "sha512-bMz3se+ySKWNrgm7eIiQMa2HO/0fl2D0HvLAdg9pTMcpgp4SqOAh6bz7Ik6y7uQqSrk4rLjIKgbQ6yzYgGehCQ=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.2.0.tgz",
|
||||
"integrity": "sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg=="
|
||||
},
|
||||
"@smithy/protocol-http": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.2.1.tgz",
|
||||
"integrity": "sha512-KLrQkEw4yJCeAmAH7hctE8g9KwA7+H2nSJwxgwIxchbp/L0B5exTdOQi9D5HinPLlothoervGmhpYKelZ6AxIA=="
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.3.0.tgz",
|
||||
"integrity": "sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ=="
|
||||
},
|
||||
"@smithy/querystring-builder": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.3.tgz",
|
||||
"integrity": "sha512-kFD3PnNqKELe6m9GRHQw/ftFFSZpnSeQD4qvgDB6BQN6hREHELSosVFUMPN4M3MDKN2jAwk35vXHLoDrNfKu0A=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.2.0.tgz",
|
||||
"integrity": "sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A=="
|
||||
},
|
||||
"@smithy/querystring-parser": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.3.tgz",
|
||||
"integrity": "sha512-3+CWJoAqcBMR+yvz6D+Fc5VdoGFtfenW6wqSWATWajrRMGVwJGPT3Vy2eb2bnMktJc4HU4bpjeovFa566P3knQ=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.2.0.tgz",
|
||||
"integrity": "sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA=="
|
||||
},
|
||||
"@smithy/service-error-classification": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.3.tgz",
|
||||
"integrity": "sha512-iUrpSsem97bbXHHT/v3s7vaq8IIeMo6P6cXdeYHrx0wOJpMeBGQF7CB0mbJSiTm3//iq3L55JiEm8rA7CTVI8A=="
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.5.tgz",
|
||||
"integrity": "sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ=="
|
||||
},
|
||||
"@smithy/shared-ini-file-loader": {
|
||||
"version": "2.3.4",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.4.tgz",
|
||||
"integrity": "sha512-CiZmPg9GeDKbKmJGEFvJBsJcFnh0AQRzOtQAzj1XEa8N/0/uSN/v1LYzgO7ry8hhO8+9KB7+DhSW0weqBra4Aw=="
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.4.0.tgz",
|
||||
"integrity": "sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA=="
|
||||
},
|
||||
"@smithy/signature-v4": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.3.tgz",
|
||||
"integrity": "sha512-Jq4iPPdCmJojZTsPePn4r1ULShh6ONkokLuxp1Lnk4Sq7r7rJp4HlA1LbPBq4bD64TIzQezIpr1X+eh5NYkNxw=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.2.0.tgz",
|
||||
"integrity": "sha512-+B5TNzj/fRZzVW3z8UUJOkNx15+4E0CLuvJmJUA1JUIZFp3rdJ/M2H5r2SqltaVPXL0oIxv/6YK92T9TsFGbFg=="
|
||||
},
|
||||
"@smithy/smithy-client": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.4.2.tgz",
|
||||
"integrity": "sha512-ntAFYN51zu3N3mCd95YFcFi/8rmvm//uX+HnK24CRbI6k5Rjackn0JhgKz5zOx/tbNvOpgQIwhSX+1EvEsBLbA=="
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.5.0.tgz",
|
||||
"integrity": "sha512-DDXWHWdimtS3y/Kw1Jo46KQ0ZYsDKcldFynQERUGBPDpkW1lXOTHy491ALHjwfiBQvzsVKVxl5+ocXNIgJuX4g=="
|
||||
},
|
||||
"@smithy/types": {
|
||||
"version": "2.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.10.1.tgz",
|
||||
"integrity": "sha512-hjQO+4ru4cQ58FluQvKKiyMsFg0A6iRpGm2kqdH8fniyNd2WyanoOsYJfMX/IFLuLxEoW6gnRkNZy1y6fUUhtA=="
|
||||
"version": "2.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.12.0.tgz",
|
||||
"integrity": "sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw=="
|
||||
},
|
||||
"@smithy/url-parser": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.3.tgz",
|
||||
"integrity": "sha512-X1NRA4WzK/ihgyzTpeGvI9Wn45y8HmqF4AZ/FazwAv8V203Ex+4lXqcYI70naX9ETqbqKVzFk88W6WJJzCggTQ=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.2.0.tgz",
|
||||
"integrity": "sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ=="
|
||||
},
|
||||
"@smithy/util-base64": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz",
|
||||
"integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g=="
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.3.0.tgz",
|
||||
"integrity": "sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw=="
|
||||
},
|
||||
"@smithy/util-body-length-browser": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz",
|
||||
"integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.2.0.tgz",
|
||||
"integrity": "sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w=="
|
||||
},
|
||||
"@smithy/util-body-length-node": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz",
|
||||
"integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg=="
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.3.0.tgz",
|
||||
"integrity": "sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw=="
|
||||
},
|
||||
"@smithy/util-buffer-from": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz",
|
||||
"integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
|
||||
"integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA=="
|
||||
},
|
||||
"@smithy/util-config-provider": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz",
|
||||
"integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw=="
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.3.0.tgz",
|
||||
"integrity": "sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ=="
|
||||
},
|
||||
"@smithy/util-defaults-mode-browser": {
|
||||
"version": "2.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.4.tgz",
|
||||
"integrity": "sha512-J6XAVY+/g7jf03QMnvqPyU+8jqGrrtXoKWFVOS+n1sz0Lg8HjHJ1ANqaDN+KTTKZRZlvG8nU5ZrJOUL6VdwgcQ=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.2.0.tgz",
|
||||
"integrity": "sha512-2okTdZaCBvOJszAPU/KSvlimMe35zLOKbQpHhamFJmR7t95HSe0K3C92jQPjKY3PmDBD+7iMkOnuW05F5OlF4g=="
|
||||
},
|
||||
"@smithy/util-defaults-mode-node": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.3.tgz",
|
||||
"integrity": "sha512-ttUISrv1uVOjTlDa3nznX33f0pthoUlP+4grhTvOzcLhzArx8qHB94/untGACOG3nlf8vU20nI2iWImfzoLkYA=="
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.3.0.tgz",
|
||||
"integrity": "sha512-hfKXnNLmsW9cmLb/JXKIvtuO6Cf4SuqN5PN1C2Ru/TBIws+m1wSgb+A53vo0r66xzB6E82inKG2J7qtwdi+Kkw=="
|
||||
},
|
||||
"@smithy/util-endpoints": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.4.tgz",
|
||||
"integrity": "sha512-/qAeHmK5l4yQ4/bCIJ9p49wDe9rwWtOzhPHblu386fwPNT3pxmodgcs9jDCV52yK9b4rB8o9Sj31P/7Vzka1cg=="
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.2.0.tgz",
|
||||
"integrity": "sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ=="
|
||||
},
|
||||
"@smithy/util-hex-encoding": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz",
|
||||
"integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.2.0.tgz",
|
||||
"integrity": "sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ=="
|
||||
},
|
||||
"@smithy/util-middleware": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.3.tgz",
|
||||
"integrity": "sha512-/+2fm7AZ2ozl5h8wM++ZP0ovE9/tiUUAHIbCfGfb3Zd3+Dyk17WODPKXBeJ/TnK5U+x743QmA0xHzlSm8I/qhw=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.2.0.tgz",
|
||||
"integrity": "sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw=="
|
||||
},
|
||||
"@smithy/util-retry": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.3.tgz",
|
||||
"integrity": "sha512-Kbvd+GEMuozbNUU3B89mb99tbufwREcyx2BOX0X2+qHjq6Gvsah8xSDDgxISDwcOHoDqUWO425F0Uc/QIRhYkg=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.2.0.tgz",
|
||||
"integrity": "sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g=="
|
||||
},
|
||||
"@smithy/util-stream": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.3.tgz",
|
||||
"integrity": "sha512-HvpEQbP8raTy9n86ZfXiAkf3ezp1c3qeeO//zGqwZdrfaoOpGKQgF2Sv1IqZp7wjhna7pvczWaGUHjcOPuQwKw=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.2.0.tgz",
|
||||
"integrity": "sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA=="
|
||||
},
|
||||
"@smithy/util-uri-escape": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz",
|
||||
"integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw=="
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.2.0.tgz",
|
||||
"integrity": "sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA=="
|
||||
},
|
||||
"@smithy/util-utf8": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz",
|
||||
"integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A=="
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
|
||||
"integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "20.11.24",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz",
|
||||
"integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long=="
|
||||
"version": "20.11.28",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.28.tgz",
|
||||
"integrity": "sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA=="
|
||||
},
|
||||
"@types/webidl-conversions": {
|
||||
"version": "7.0.3",
|
||||
|
||||
24
packages/webapp/.npm/package/npm-shrinkwrap.json
generated
24
packages/webapp/.npm/package/npm-shrinkwrap.json
generated
@@ -32,9 +32,9 @@
|
||||
"integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "20.11.24",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz",
|
||||
"integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long=="
|
||||
"version": "20.11.28",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.28.tgz",
|
||||
"integrity": "sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA=="
|
||||
},
|
||||
"@types/qs": {
|
||||
"version": "6.9.12",
|
||||
@@ -278,9 +278,9 @@
|
||||
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
|
||||
},
|
||||
"hasown": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
|
||||
"integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA=="
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
||||
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="
|
||||
},
|
||||
"http-errors": {
|
||||
"version": "2.0.0",
|
||||
@@ -368,9 +368,9 @@
|
||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
|
||||
},
|
||||
"nan": {
|
||||
"version": "2.18.0",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz",
|
||||
"integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w=="
|
||||
"version": "2.19.0",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz",
|
||||
"integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw=="
|
||||
},
|
||||
"negotiator": {
|
||||
"version": "0.6.3",
|
||||
@@ -492,9 +492,9 @@
|
||||
"integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g=="
|
||||
},
|
||||
"set-function-length": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz",
|
||||
"integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g=="
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
|
||||
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="
|
||||
},
|
||||
"setprototypeof": {
|
||||
"version": "1.2.0",
|
||||
|
||||
@@ -13,6 +13,11 @@ You need to install the Meteor command line tool to create, run, and manage your
|
||||
- Node.js version >= 10 and <= 14 is required.
|
||||
- We recommend you using [nvm](https://github.com/nvm-sh/nvm) or [Volta](https://volta.sh/) for managing Node.js versions.
|
||||
|
||||
If you want to test Meteor v3 that runs on the latest Node.js version, you can use the following command to install it:
|
||||
|
||||
```bash
|
||||
npx meteor@beta
|
||||
```
|
||||
|
||||
### Operating System (OS) {#prereqs-os}
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ Meteor.startup(() => {
|
||||
|
||||
:::
|
||||
|
||||
<ApiBox name="Meteor.wrapAsync" />
|
||||
<ApiBox name="Meteor.promisify" />
|
||||
<ApiBox name="Meteor.defer" />
|
||||
<ApiBox name="Meteor.absoluteUrl" />
|
||||
<ApiBox name="Meteor.settings" />
|
||||
|
||||
@@ -38,7 +38,6 @@ import { fetch, Headers, Request, Response } from "meteor/fetch";
|
||||
For the most part though, you will only need to import `fetch` and `Headers`.
|
||||
|
||||
```js
|
||||
import { Meteor } from 'meteor/meteor';
|
||||
import { fetch, Headers } from 'meteor/fetch';
|
||||
|
||||
async function postData (url, data) {
|
||||
@@ -63,7 +62,6 @@ async function postData (url, data) {
|
||||
}
|
||||
}
|
||||
|
||||
const postDataCall = Meteor.wrapAsync(postData);
|
||||
const results = postDataCall('https://www.example.org/statsSubmission', { totalUsers: 55 }));
|
||||
const result = await postData('https://www.example.org/statsSubmission', { totalUsers: 55 });
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user