From 2ed75f20b8d6d151db5a6e1434038680497861ea Mon Sep 17 00:00:00 2001 From: Will Reiske Date: Mon, 11 Jul 2022 21:35:07 -0700 Subject: [PATCH 001/398] Allow setting a custom rate-limit message per rule Added new DDPRateLimiter.setErrorMessageOnRule function that allows developers to specify custom error messages for each rule instead of being limited to one global error message for every rule. --- packages/ddp-rate-limiter/ddp-rate-limiter.js | 30 +++++++++++++++++++ packages/ddp-rate-limiter/package.js | 2 +- packages/rate-limit/package.js | 2 +- packages/rate-limit/rate-limit.js | 2 ++ 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/packages/ddp-rate-limiter/ddp-rate-limiter.js b/packages/ddp-rate-limiter/ddp-rate-limiter.js index 5ffd6dac02..bf3207b7f5 100644 --- a/packages/ddp-rate-limiter/ddp-rate-limiter.js +++ b/packages/ddp-rate-limiter/ddp-rate-limiter.js @@ -10,9 +10,25 @@ let errorMessage = (rateLimitResult) => { 'trying again.'; }; +// Store rule specific error messages. +const errorMessageByRule = []; + const rateLimiter = new RateLimiter(); DDPRateLimiter.getErrorMessage = (rateLimitResult) => { + // If there is a specific error message for this rule, use it. + if (errorMessageByRule[rateLimitResult.ruleId]) { + // if it's a function, we need to call it + if (typeof errorMessageByRule[rateLimitResult.ruleId] === 'function') { + // call the function with the rateLimitResult + return errorMessageByRule[rateLimitResult.ruleId](rateLimitResult); + } else { + // otherwise, just return the string + return errorMessageByRule[rateLimitResult.ruleId]; + } + } + + // Otherwise, use the default error message. if (typeof errorMessage === 'function') { return errorMessage(rateLimitResult); } else { @@ -33,6 +49,20 @@ DDPRateLimiter.setErrorMessage = (message) => { errorMessage = message; }; +/** + * @summary Set error message text when method or subscription rate limit + * exceeded for a specific rule. + * @param {string} ruleId The ruleId returned from `addRule` + * @param {string|function} message Functions are passed in an object with a + * `timeToReset` field that specifies the number of milliseconds until the next + * method or subscription is allowed to run. The function must return a string + * of the error message. + * @locus Server + */ +DDPRateLimiter.setErrorMessageOnRule = (ruleId, message) => { + errorMessageByRule[ruleId] = message; +}; + /** * @summary * Add a rule that matches against a stream of events describing method or diff --git a/packages/ddp-rate-limiter/package.js b/packages/ddp-rate-limiter/package.js index a38d55936e..0e0bee8230 100644 --- a/packages/ddp-rate-limiter/package.js +++ b/packages/ddp-rate-limiter/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ddp-rate-limiter', - version: '1.1.0', + version: '1.1.1', // Brief, one-line summary of the package. summary: 'The DDPRateLimiter allows users to add rate limits to DDP' + ' methods and subscriptions.', diff --git a/packages/rate-limit/package.js b/packages/rate-limit/package.js index fd9dcda61d..7eadb74233 100644 --- a/packages/rate-limit/package.js +++ b/packages/rate-limit/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'rate-limit', - version: '1.0.9', + version: '1.1.0', // Brief, one-line summary of the package. summary: 'An algorithm for rate limiting anything', // URL to the Git repository containing the source code for this package. diff --git a/packages/rate-limit/rate-limit.js b/packages/rate-limit/rate-limit.js index 46e244b81f..73f0578d9e 100644 --- a/packages/rate-limit/rate-limit.js +++ b/packages/rate-limit/rate-limit.js @@ -164,6 +164,7 @@ class RateLimiter { } reply.allowed = false; reply.numInvocationsLeft = 0; + reply.ruleId = rule.id; rule._executeCallback(reply, input); } else { // If this is an allowed attempt and we haven't failed on any of the @@ -174,6 +175,7 @@ class RateLimiter { reply.numInvocationsLeft = rule.options.numRequestsAllowed - numInvocations; } + reply.ruleId = rule.id; rule._executeCallback(reply, input); } }); From 351851ed17653b782fb90ebc445293a3a34c4bba Mon Sep 17 00:00:00 2001 From: William Reiske Date: Mon, 11 Jul 2022 23:25:14 -0700 Subject: [PATCH 002/398] Applied changes requested in code review Convert errorMessageByRule from [] to new Map() --- packages/ddp-rate-limiter/ddp-rate-limiter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ddp-rate-limiter/ddp-rate-limiter.js b/packages/ddp-rate-limiter/ddp-rate-limiter.js index bf3207b7f5..76fe39ed2a 100644 --- a/packages/ddp-rate-limiter/ddp-rate-limiter.js +++ b/packages/ddp-rate-limiter/ddp-rate-limiter.js @@ -11,7 +11,7 @@ let errorMessage = (rateLimitResult) => { }; // Store rule specific error messages. -const errorMessageByRule = []; +const errorMessageByRule = new Map(); const rateLimiter = new RateLimiter(); From 6c0988c7a582dfda64a2c9c4e637d87d028aae35 Mon Sep 17 00:00:00 2001 From: William Reiske Date: Mon, 11 Jul 2022 23:29:07 -0700 Subject: [PATCH 003/398] Convert to use map --- packages/ddp-rate-limiter/ddp-rate-limiter.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/ddp-rate-limiter/ddp-rate-limiter.js b/packages/ddp-rate-limiter/ddp-rate-limiter.js index 76fe39ed2a..b8e8f78b66 100644 --- a/packages/ddp-rate-limiter/ddp-rate-limiter.js +++ b/packages/ddp-rate-limiter/ddp-rate-limiter.js @@ -17,14 +17,15 @@ const rateLimiter = new RateLimiter(); DDPRateLimiter.getErrorMessage = (rateLimitResult) => { // If there is a specific error message for this rule, use it. - if (errorMessageByRule[rateLimitResult.ruleId]) { + if (errorMessageByRule.has(rateLimitResult.ruleId)) { + const message = errorMessageByRule.get(rateLimitResult.ruleId); // if it's a function, we need to call it - if (typeof errorMessageByRule[rateLimitResult.ruleId] === 'function') { + if (typeof message === 'function') { // call the function with the rateLimitResult - return errorMessageByRule[rateLimitResult.ruleId](rateLimitResult); + return message(rateLimitResult); } else { // otherwise, just return the string - return errorMessageByRule[rateLimitResult.ruleId]; + return message; } } @@ -60,7 +61,7 @@ DDPRateLimiter.setErrorMessage = (message) => { * @locus Server */ DDPRateLimiter.setErrorMessageOnRule = (ruleId, message) => { - errorMessageByRule[ruleId] = message; + errorMessageByRule.set(ruleId, message); }; /** From 05c48eb05c539a5dd1868bb29750794f5264eabb Mon Sep 17 00:00:00 2001 From: William Reiske Date: Wed, 13 Jul 2022 10:35:14 -0700 Subject: [PATCH 004/398] Code cleanup / removed unneeded else statements These else statements are not needed since the if statements are returning. --- packages/ddp-rate-limiter/ddp-rate-limiter.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/ddp-rate-limiter/ddp-rate-limiter.js b/packages/ddp-rate-limiter/ddp-rate-limiter.js index b8e8f78b66..c1cb53883e 100644 --- a/packages/ddp-rate-limiter/ddp-rate-limiter.js +++ b/packages/ddp-rate-limiter/ddp-rate-limiter.js @@ -23,18 +23,16 @@ DDPRateLimiter.getErrorMessage = (rateLimitResult) => { if (typeof message === 'function') { // call the function with the rateLimitResult return message(rateLimitResult); - } else { - // otherwise, just return the string - return message; } + // otherwise, just return the string + return message; } // Otherwise, use the default error message. if (typeof errorMessage === 'function') { return errorMessage(rateLimitResult); - } else { - return errorMessage; } + return errorMessage; }; /** From bf1d0388110e4b48471f56b32f687f20a61c5521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Miernik?= Date: Fri, 4 Nov 2022 22:11:20 +0100 Subject: [PATCH 005/398] Implemented async Tracker with explicit values. --- packages/tracker/tracker.js | 26 +++---- packages/tracker/tracker_tests.js | 112 ++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+), 12 deletions(-) diff --git a/packages/tracker/tracker.js b/packages/tracker/tracker.js index cb39f51741..df1bfdbb2c 100644 --- a/packages/tracker/tracker.js +++ b/packages/tracker/tracker.js @@ -32,11 +32,6 @@ Tracker.active = false; */ Tracker.currentComputation = null; -function setCurrentComputation(c) { - Tracker.currentComputation = c; - Tracker.active = !! c; -} - function _debugFunc() { // We want this code to work without Meteor, and also without // "console" (which is technically non-standard and may be missing @@ -300,14 +295,13 @@ Tracker.Computation = class Computation { _compute() { this.invalidated = false; - var previous = Tracker.currentComputation; - setCurrentComputation(this); var previousInCompute = inCompute; inCompute = true; try { - withNoYieldsAllowed(this._func)(this); + Tracker.withComputation(this, () => { + withNoYieldsAllowed(this._func)(this); + }); } finally { - setCurrentComputation(previous); inCompute = previousInCompute; } } @@ -597,12 +591,20 @@ Tracker.autorun = function (f, options) { * @param {Function} func A function to call immediately. */ Tracker.nonreactive = function (f) { - var previous = Tracker.currentComputation; - setCurrentComputation(null); + return Tracker.withComputation(null, f); +}; + +Tracker.withComputation = function (computation, f) { + var previousComputation = Tracker.currentComputation; + + Tracker.currentComputation = computation; + Tracker.active = !!computation; + try { return f(); } finally { - setCurrentComputation(previous); + Tracker.currentComputation = previousComputation; + Tracker.active = !!previousComputation; } }; diff --git a/packages/tracker/tracker_tests.js b/packages/tracker/tracker_tests.js index 8b72023aaa..78480b7e97 100644 --- a/packages/tracker/tracker_tests.js +++ b/packages/tracker/tracker_tests.js @@ -518,6 +518,118 @@ testAsyncMulti('tracker - Tracker.autorun, onError option', [function (test, exp Tracker.flush(); }]); +Tinytest.addAsync('tracker - async function - basics', function (test, onComplete) { + const computation = Tracker.autorun(async function (computation) { + test.equal(computation.firstRun, true, 'before (firstRun)'); + test.equal(Tracker.currentComputation, computation, 'before'); + const x = await Promise.resolve().then(() => + Tracker.withComputation(computation, () => { + // The `firstRun` is `false` as soon as the first `await` happens. + test.equal(computation.firstRun, false, 'inside (firstRun)'); + test.equal(Tracker.currentComputation, computation, 'inside'); + return 123; + }) + ); + test.equal(x, 123, 'await (value)'); + test.equal(computation.firstRun, false, 'await (firstRun)'); + Tracker.withComputation(computation, () => { + test.equal(Tracker.currentComputation, computation, 'await'); + }); + await new Promise(resolve => setTimeout(resolve, 10)); + Tracker.withComputation(computation, () => { + test.equal(computation.firstRun, false, 'sleep (firstRun)'); + test.equal(Tracker.currentComputation, computation, 'sleep'); + }); + try { + await Promise.reject('example'); + test.fail(); + } catch (error) { + Tracker.withComputation(computation, () => { + test.equal(error, 'example', 'catch (error)'); + test.equal(computation.firstRun, false, 'catch (firstRun)'); + test.equal(Tracker.currentComputation, computation, 'catch'); + }); + } + onComplete(); + }); + + test.equal(Tracker.currentComputation, null, 'outside (computation)'); + test.instanceOf(computation, Tracker.Computation, 'outside (result)'); +}); + +Tinytest.addAsync('tracker - async function - interleaved', async function (test) { + let count = 0; + const limit = 100; + for (let index = 0; index < limit; ++index) { + Tracker.autorun(async function (computation) { + test.equal(Tracker.currentComputation, computation, `before (${index})`); + await new Promise(resolve => setTimeout(resolve, Math.random() * limit)); + count++; + Tracker.withComputation(computation, () => { + test.equal(Tracker.currentComputation, computation, `after (${index})`); + }); + }); + } + + test.equal(count, 0, 'before resolve'); + await new Promise(resolve => setTimeout(resolve, limit)); + test.equal(count, limit, 'after resolve'); +}); + +Tinytest.addAsync('tracker - async function - parallel', async function (test) { + let resolvePromise; + const promise = new Promise(resolve => { + resolvePromise = resolve; + }); + + let count = 0; + const limit = 100; + const dependency = new Tracker.Dependency(); + for (let index = 0; index < limit; ++index) { + Tracker.autorun(async function (computation) { + count++; + Tracker.withComputation(computation, () => { + dependency.depend(); + }); + await promise; + count--; + }); + } + + test.equal(count, limit, 'before'); + dependency.changed(); + await new Promise(setTimeout); + test.equal(count, limit * 2, 'changed'); + resolvePromise(); + await new Promise(setTimeout); + test.equal(count, 0, 'after'); +}); + +Tinytest.addAsync('tracker - async function - stepped', async function (test) { + let resolvePromise; + const promise = new Promise(resolve => { + resolvePromise = resolve; + }); + + let count = 0; + const limit = 100; + for (let index = 0; index < limit; ++index) { + Tracker.autorun(async function (computation) { + test.equal(Tracker.currentComputation, computation, `before (${index})`); + await promise; + count++; + Tracker.withComputation(computation, () => { + test.equal(Tracker.currentComputation, computation, `after (${index})`); + }); + }); + } + + test.equal(count, 0, 'before resolve'); + resolvePromise(); + await new Promise(setTimeout); + test.equal(count, limit, 'after resolve'); +}); + Tinytest.add('computation - #flush', function (test) { var i = 0, j = 0, d = new Tracker.Dependency; var c1 = Tracker.autorun(function () { From cd4c1541d9f1ee4d291e9bd09687de385851ae4b Mon Sep 17 00:00:00 2001 From: afrokick Date: Fri, 18 Nov 2022 16:17:13 +0300 Subject: [PATCH 006/398] relax eslint rules for codebase --- package.json | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 4fb2932309..e53fc797ab 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,20 @@ "eslintConfig": { "extends": [ "@quave/quave" - ] + ], + "rules": { + "global-require": "off", + "no-console": "off", + "camelcase": "warn", + "consistent-return": "off", + "quotes": "warn", + "no-shadow": [ + "error", + { + "allow": ["resolve"] + } + ], + "no-use-before-define": "warn" + } } } From 8ba603e6dc5e868bed99103b8a7f6ee6958a5cbd Mon Sep 17 00:00:00 2001 From: afrokick Date: Fri, 18 Nov 2022 16:17:26 +0300 Subject: [PATCH 007/398] apply ESLint --- npm-packages/meteor-installer/cli.js | 2 +- npm-packages/meteor-installer/config.js | 5 +-- npm-packages/meteor-installer/extract.js | 8 ++-- npm-packages/meteor-installer/install.js | 43 +++++++++++++--------- npm-packages/meteor-installer/uninstall.js | 10 ++--- 5 files changed, 38 insertions(+), 30 deletions(-) diff --git a/npm-packages/meteor-installer/cli.js b/npm-packages/meteor-installer/cli.js index d53d38bc10..ea3c2034cc 100755 --- a/npm-packages/meteor-installer/cli.js +++ b/npm-packages/meteor-installer/cli.js @@ -14,7 +14,7 @@ if (!command) { } if (command === 'install') { - require('./install.js'); + require('./install'); } else if (command === 'uninstall') { const { uninstall } = require('./uninstall'); uninstall(); diff --git a/npm-packages/meteor-installer/config.js b/npm-packages/meteor-installer/config.js index 676cf07665..99ea8a61aa 100644 --- a/npm-packages/meteor-installer/config.js +++ b/npm-packages/meteor-installer/config.js @@ -31,9 +31,8 @@ if (isWindows() && !localAppData) { throw new Error('LOCALAPPDATA env var is not set.'); } -const shouldSetupExecPath = () => { - return !process.env.npm_config_ignore_meteor_setup_exec_path; -} +const shouldSetupExecPath = () => + !process.env.npm_config_ignore_meteor_setup_exec_path; const meteorLocalFolder = '.meteor'; const meteorPath = path.resolve(rootPath, meteorLocalFolder); diff --git a/npm-packages/meteor-installer/extract.js b/npm-packages/meteor-installer/extract.js index e2abe6ae8a..39e8c0776f 100644 --- a/npm-packages/meteor-installer/extract.js +++ b/npm-packages/meteor-installer/extract.js @@ -4,7 +4,7 @@ const Seven = require('node-7z'); const fs = require('fs'); const { resolve, dirname } = require('path'); const child_process = require('child_process'); -const { isMac } = require('./config.js') +const { isMac } = require('./config.js'); function extractWith7Zip(tarPath, destination, onProgress) { return new Promise((resolve, reject) => { @@ -29,7 +29,7 @@ function extractWith7Zip(tarPath, destination, onProgress) { function createSymlinks(symlinks, baseDir) { symlinks.forEach(({ path, linkPath }) => { try { - let resolveBase = resolve(baseDir, dirname(path)); + const resolveBase = resolve(baseDir, dirname(path)); const result = fs.statSync(resolve(resolveBase, linkPath)); if (result.isDirectory()) { @@ -45,7 +45,7 @@ function createSymlinks(symlinks, baseDir) { }); } -function extractWithNativeTar(tarPath, destination, onProgress) { +function extractWithNativeTar(tarPath, destination) { child_process.execSync( `tar -xf "${tarPath}" ${ !isMac() ? `--checkpoint-action=ttyout="#%u: %T \r"` : `` @@ -60,7 +60,7 @@ function extractWithNativeTar(tarPath, destination, onProgress) { } function extractWithTar(tarPath, destination, onProgress) { - let symlinks = []; + const symlinks = []; let total = 0; // This takes a few seconds, but lets us show the progress diff --git a/npm-packages/meteor-installer/install.js b/npm-packages/meteor-installer/install.js index 6f52bfb93b..7785fa49e6 100644 --- a/npm-packages/meteor-installer/install.js +++ b/npm-packages/meteor-installer/install.js @@ -4,11 +4,14 @@ const cliProgress = require('cli-progress'); const Seven = require('node-7z'); const path = require('path'); const sevenBin = require('7zip-bin'); -const fs = require('fs'); +const semver = require('semver'); const child_process = require('child_process'); -const fsPromises = fs.promises; const tmp = require('tmp'); const os = require('os'); +const fs = require('fs'); + +const fsPromises = fs.promises; + const { meteorPath, release, @@ -21,26 +24,30 @@ const { isMac, METEOR_LATEST_VERSION, shouldSetupExecPath, -} = require('./config.js'); +} = require('./config'); const { uninstall } = require('./uninstall'); const { extractWithTar, extractWith7Zip, extractWithNativeTar, -} = require('./extract.js'); -const semver = require('semver'); -const isInstalledGlobally = process.env.npm_config_global === 'true'; +} = require('./extract'); +const { engines } = require('./package.json'); -const { engines } = require('./package'); const nodeVersion = engines.node; const npmVersion = engines.npm; // Compare installed NodeJs version with required NodeJs version if (!semver.satisfies(process.version, nodeVersion)) { - console.warn(`WARNING: Recommended versions are Node.js ${nodeVersion} and npm ${npmVersion}.`); - console.warn(`We recommend using a Node version manager like NVM or Volta to install Node.js and npm.\n`); + console.warn( + `WARNING: Recommended versions are Node.js ${nodeVersion} and npm ${npmVersion}.` + ); + console.warn( + `We recommend using a Node version manager like NVM or Volta to install Node.js and npm.\n` + ); } +const isInstalledGlobally = process.env.npm_config_global === 'true'; + if (!isInstalledGlobally) { console.error('******************************************'); console.error( @@ -55,7 +62,10 @@ process.on('unhandledRejection', err => { throw err; }); if (os.arch() !== 'x64') { - const isValidM1Version = semver.gte(semver.coerce(METEOR_LATEST_VERSION), '2.5.1-beta.3'); + const isValidM1Version = semver.gte( + semver.coerce(METEOR_LATEST_VERSION), + '2.5.1-beta.3' + ); if (os.arch() !== 'arm64' || !isMac() || !isValidM1Version) { console.error( 'The current architecture is not supported in this version: ', @@ -169,8 +179,8 @@ function download() { override: true, fileName: tarGzName, httpsRequestOptions: { - agent: generateProxyAgent() - } + agent: generateProxyAgent(), + }, }); dl.on('progress', ({ progress }) => { @@ -249,7 +259,7 @@ async function extract() { fileCount: 0, }); - let tarPath = path.resolve(tempPath, tarName); + const tarPath = path.resolve(tempPath, tarName); // 7Zip is ~15% faster, but doesn't work when the user doesn't have permission to create symlinks // TODO: we could always use 7zip if we have it ignore the symlinks, and then manually create them as // is done in extractWithTar @@ -278,15 +288,14 @@ async function setup() { } async function setupExecPath() { if (isWindows()) { - //set for the current session and beyond + // set for the current session and beyond child_process.execSync(`setx path "${meteorPath}/;%path%`); return; } const exportCommand = `export PATH=${meteorPath}:$PATH`; - const appendPathToFile = async file => { - return fsPromises.appendFile(`${rootPath}/${file}`, `${exportCommand}\n`); - }; + const appendPathToFile = async file => + fsPromises.appendFile(`${rootPath}/${file}`, `${exportCommand}\n`); if (process.env.SHELL && process.env.SHELL.includes('zsh')) { await appendPathToFile('.zshrc'); diff --git a/npm-packages/meteor-installer/uninstall.js b/npm-packages/meteor-installer/uninstall.js index 7f098c96fa..28c638e3c0 100644 --- a/npm-packages/meteor-installer/uninstall.js +++ b/npm-packages/meteor-installer/uninstall.js @@ -1,20 +1,20 @@ -const { meteorPath } = require('./config.js'); +const { meteorPath } = require('./config'); const rimraf = require('rimraf'); function uninstall() { console.log(`Uninstalling Meteor from ${meteorPath}`); try { - rimraf.sync(meteorPath) + rimraf.sync(meteorPath); } catch (err) { console.log('Encountered error while uninstalling:'); console.error(err); process.exit(1); } - + console.log('Successfully uninstalled Meteor'); } module.exports = { - uninstall -} + uninstall, +}; From 53b38b46da3c88e8cdd3a9e144c8c9f64cc0117d Mon Sep 17 00:00:00 2001 From: afrokick Date: Fri, 18 Nov 2022 16:33:48 +0300 Subject: [PATCH 008/398] add check-code-style workflow --- .github/workflows/check-code-style.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/workflows/check-code-style.yml diff --git a/.github/workflows/check-code-style.yml b/.github/workflows/check-code-style.yml new file mode 100644 index 0000000000..81d07bb50e --- /dev/null +++ b/.github/workflows/check-code-style.yml @@ -0,0 +1,21 @@ +name: Check code-style +on: + push: + paths: + - 'npm-packages/meteor-installer/**' + pull_request: + paths: + - 'npm-packages/meteor-installer/**' +jobs: + test: + runs-on: ubuntu-latest + defaults: + run: + working-directory: npm-packages/meteor-installer + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18.x + - name: Run ESLint@8 + run: npx eslint@8 ./ From fcee0ba3ca237c23e2289e428c2abf4a2c51a3dd Mon Sep 17 00:00:00 2001 From: afrokick Date: Fri, 18 Nov 2022 16:38:33 +0300 Subject: [PATCH 009/398] fix workflow --- .github/workflows/check-code-style.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/check-code-style.yml b/.github/workflows/check-code-style.yml index 81d07bb50e..69ccbfcfff 100644 --- a/.github/workflows/check-code-style.yml +++ b/.github/workflows/check-code-style.yml @@ -9,13 +9,11 @@ on: jobs: test: runs-on: ubuntu-latest - defaults: - run: - working-directory: npm-packages/meteor-installer steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: 18.x + node-version: 14.x + - run: npm i - name: Run ESLint@8 - run: npx eslint@8 ./ + run: npx eslint@8 "./npm-packages/meteor-installer/**/*.js" From 2c0eb00c4278be3de4fefb03741c428fe14fa5a1 Mon Sep 17 00:00:00 2001 From: afrokick Date: Fri, 18 Nov 2022 16:45:32 +0300 Subject: [PATCH 010/398] fix import/no-unresolved --- .github/workflows/check-code-style.yml | 2 +- package.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-code-style.yml b/.github/workflows/check-code-style.yml index 69ccbfcfff..ae2ede79b5 100644 --- a/.github/workflows/check-code-style.yml +++ b/.github/workflows/check-code-style.yml @@ -7,7 +7,7 @@ on: paths: - 'npm-packages/meteor-installer/**' jobs: - test: + check-code-style: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/package.json b/package.json index e53fc797ab..c701631f53 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,8 @@ "allow": ["resolve"] } ], - "no-use-before-define": "warn" + "no-use-before-define": "warn", + "import/no-unresolved": "warn" } } } From 37cc6ebd4a04dbe79db32986dc6d78d882043277 Mon Sep 17 00:00:00 2001 From: afrokick Date: Fri, 18 Nov 2022 16:58:52 +0300 Subject: [PATCH 011/398] use versions from lock file --- .github/workflows/check-code-style.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-code-style.yml b/.github/workflows/check-code-style.yml index ae2ede79b5..21f854bfec 100644 --- a/.github/workflows/check-code-style.yml +++ b/.github/workflows/check-code-style.yml @@ -14,6 +14,6 @@ jobs: - uses: actions/setup-node@v3 with: node-version: 14.x - - run: npm i + - run: npm ci - name: Run ESLint@8 run: npx eslint@8 "./npm-packages/meteor-installer/**/*.js" From 20a31b84dfcf6c354c452e61076ef1b472df2f01 Mon Sep 17 00:00:00 2001 From: Tom Soukup Date: Sat, 10 Dec 2022 20:03:02 +0100 Subject: [PATCH 012/398] remove svelte-meteor-data --- tools/static-assets/skel-svelte/.meteor/packages | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/static-assets/skel-svelte/.meteor/packages b/tools/static-assets/skel-svelte/.meteor/packages index 0e3c38c047..c09c0b86ad 100644 --- a/tools/static-assets/skel-svelte/.meteor/packages +++ b/tools/static-assets/skel-svelte/.meteor/packages @@ -20,5 +20,4 @@ autopublish # Publish all data to the clients (for prototyping) insecure # Allow all DB writes from clients (for prototyping) static-html # Define static page content in .html files zodern:melte # Meteor package to allow us to create files with the .svelte extension -rdb:svelte-meteor-data # Meteor package which allows us to consume Meteor's reactive data sources inside of our Svelte components hot-module-replacement # Update client in development without reloading the page From 8c3496a46bf089b986048708ae562b8ce63211e8 Mon Sep 17 00:00:00 2001 From: Tom Soukup Date: Sat, 10 Dec 2022 20:04:15 +0100 Subject: [PATCH 013/398] utilize collections on the client --- .../skel-svelte/imports/ui/App.svelte | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/tools/static-assets/skel-svelte/imports/ui/App.svelte b/tools/static-assets/skel-svelte/imports/ui/App.svelte index 4bbdfecdc4..31a4ae46de 100644 --- a/tools/static-assets/skel-svelte/imports/ui/App.svelte +++ b/tools/static-assets/skel-svelte/imports/ui/App.svelte @@ -1,8 +1,21 @@ @@ -13,10 +26,13 @@

You've pressed the button {counter} times.

Learn Meteor!

- + {#if subIsReady} +
    + {#each links as link (link._id)} +
  • {link.title}
  • + {/each} +
+ {:else} +
Loading ...
+ {/if} From e7808b3a550c83d0096a9b7f30e60670adcd2655 Mon Sep 17 00:00:00 2001 From: Drew Fisher Date: Sat, 10 Dec 2022 13:17:44 -0800 Subject: [PATCH 014/398] Fix fetch() type declaration `fetch()` is the type of `globalThis.fetch`; it is not a function which returns a `globalThis.fetch`. Fixes #12351. --- packages/fetch/fetch.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/fetch/fetch.d.ts b/packages/fetch/fetch.d.ts index 8d6eb289ad..9fdaddd3fd 100644 --- a/packages/fetch/fetch.d.ts +++ b/packages/fetch/fetch.d.ts @@ -1,4 +1,4 @@ -export declare function fetch(): typeof globalThis.fetch; +export declare var fetch: typeof globalThis.fetch; export declare var Headers: typeof globalThis.Headers; export declare var Request: typeof globalThis.Request; export declare var Response: typeof globalThis.Response; From 10784fc7ba983c0a780b6a6e1edf09229be6f317 Mon Sep 17 00:00:00 2001 From: Tom Soukup Date: Mon, 12 Dec 2022 20:45:31 +0100 Subject: [PATCH 015/398] update packages --- docs/source/commandline.md | 17 ++++++++--------- .../static-assets/skel-svelte/.meteor/packages | 1 - 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/docs/source/commandline.md b/docs/source/commandline.md index ebb9381d3a..78f7eacf49 100644 --- a/docs/source/commandline.md +++ b/docs/source/commandline.md @@ -164,38 +164,37 @@ Create a basic [Solid](https://www.solidjs.com/) app. | | Default (`--react`) | `--bare` | `--full` | `--minimal` | `--blaze` | `--apollo` | `--vue-2` | `--svelte` | `--tailwind` | `--chakra-ui` | `--solid` | `--vue` | |------------------------------------------------------------------------------------------------------|:-------------------:|:--------:|:--------:|:-----------:|:---------:|:----------:|:---------:|:----------:|:------------:|:-------------:|:---------:|:-------:| -| [autopublish](https://atmospherejs.com/meteor/autopublish) | X | | | | X | | | X | X | X | X | | +| [autopublish](https://atmospherejs.com/meteor/autopublish) | X | | | | X | | | | X | X | X | | | [akryum:vue-component](https://atmospherejs.com/akryum/vue-component) | | | | | | | X | | | | | | | [apollo](https://atmospherejs.com/meteor/apollo) | | | | | | X | | | | | | | | [blaze-html-templates](https://atmospherejs.com/meteor/blaze-html-templates) | | | X | | X | | | | | | | | | [ecmascript](https://atmospherejs.com/meteor/ecmascript) | X | X | X | X | X | X | X | X | X | X | X | X | | [es5-shim](https://atmospherejs.com/meteor/es5-shim) | X | X | X | X | X | X | X | X | X | X | X | X | -| [hot-module-replacement](https://atmospherejs.com/meteor/hot-module-replacement) | X | | | | X | X | | | X | X | X | X | -| [insecure](https://atmospherejs.com/meteor/insecure) | X | | | | X | | | X | X | X | X | X | +| [hot-module-replacement](https://atmospherejs.com/meteor/hot-module-replacement) | X | | | | X | X | | X | X | X | X | X | +| [insecure](https://atmospherejs.com/meteor/insecure) | X | | | | X | | | | X | X | X | X | | [johanbrook:publication-collector](https://atmospherejs.com/meteor/johanbrook/publication-collector) | | | X | | | X | | | | | | | | [jquery](https://atmospherejs.com/meteor/jquery) | | | X | | X | | | | | | | | -| [ostrio:flow-router-extra](https://atmospherejs.com/meteor/ostrio/flow-router-extra) | | | X | | | | | | | | | | | [less](https://atmospherejs.com/meteor/less) | | | X | | | | | | | | | | | [meteor](https://atmospherejs.com/meteor/meteor) | | | | X | | | | | | | | | | [meteor-base](https://atmospherejs.com/meteor/meteor-base) | X | X | X | | X | X | X | X | X | X | X | X | | [mobile-experience](https://atmospherejs.com/meteor/mobile-experience) | X | X | X | | X | X | X | X | X | X | X | X | | [mongo](https://atmospherejs.com/meteor/mongo) | X | X | X | | X | X | X | X | X | X | X | X | | [meteortesting:mocha](https://atmospherejs.com/meteortesting/mocha) | | | X | | | | X | | | | | | -| [reactive-var](https://atmospherejs.com/meteor/reactive-var) | X | X | X | | X | X | X | X | X | X | X | X | -| [rdb:svelte-meteor-data](https://atmospherejs.com/rdb/svelte-meteor-data) | | | | | | | | X | | | | | +| [ostrio:flow-router-extra](https://atmospherejs.com/meteor/ostrio/flow-router-extra) | | | X | | | | | | | | | | +| [react-meteor-data](https://atmospherejs.com/meteor/react-meteor-data) | X | | | | | | | | X | X | | | +| [reactive-var](https://atmospherejs.com/meteor/reactive-var) | X | X | X | | X | X | X | | X | X | X | X | | [server-render](https://atmospherejs.com/meteor/server-render) | | | | X | | X | X | | | | | | | [shell-server](https://atmospherejs.com/meteor/shell-server) | | X | | X | X | X | X | X | X | X | X | X | | [standard-minifier-css](https://atmospherejs.com/meteor/standard-minifier-css) | X | X | X | X | X | X | X | X | X | X | X | X | | [standard-minifier-js](https://atmospherejs.com/meteor/standard-minifier-js) | X | X | X | X | X | X | X | X | X | X | X | X | | [static-html](https://atmospherejs.com/meteor/static-html) | | X | | X | | X | X | X | | | | | -| [svelte:compiler](https://atmospherejs.com/svelte/compiler) | | | | | | | | X | | | | | | [swydo:graphql](https://atmospherejs.com/swydo/graphql) | | | | | | X | | | | | | | | [tailwindcss](https://tailwindcss.com) | | X | X | | X | | X | | X | | | | | [tracker](https://atmospherejs.com/meteor/tracker) | | X | X | | X | | X | | | | | | | [typescript](https://atmospherejs.com/meteor/typescript) | X | X | X | X | X | X | X | X | X | X | X | | -| [webapp](https://atmospherejs.com/meteor/webapp) | | | | X | | | | | | | | | -| [react-meteor-data](https://atmospherejs.com/meteor/react-meteor-data) | X | | | | | | | | X | X | | | | [vite:bundler](https://atmospherejs.com/vite/bundler) | | | | | | | | | | | X | X | +| [webapp](https://atmospherejs.com/meteor/webapp) | | | | X | | | | | | | | | +| [zodern:melte](https://atmospherejs.com/zodern/melte) | | | | | | | | X | | | | |

meteor generate

diff --git a/tools/static-assets/skel-svelte/.meteor/packages b/tools/static-assets/skel-svelte/.meteor/packages index 283d99b9b2..110aaf8f8c 100644 --- a/tools/static-assets/skel-svelte/.meteor/packages +++ b/tools/static-assets/skel-svelte/.meteor/packages @@ -7,7 +7,6 @@ meteor-base # Packages every Meteor app needs to have mobile-experience # Packages for a great mobile UX mongo # The database Meteor supports right now -reactive-var # Reactive variable for tracker standard-minifier-css # CSS minifier run for production mode standard-minifier-js # JS minifier run for production mode From bb9e5a9815d1c5cd68b2727c01d94c30fede1a9c Mon Sep 17 00:00:00 2001 From: Tom Soukup Date: Mon, 12 Dec 2022 20:45:40 +0100 Subject: [PATCH 016/398] utilize pub/sub --- .../skel-svelte/imports/ui/App.svelte | 14 ++++++-------- tools/static-assets/skel-svelte/server/main.js | 4 ++++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/tools/static-assets/skel-svelte/imports/ui/App.svelte b/tools/static-assets/skel-svelte/imports/ui/App.svelte index 31a4ae46de..101098e37b 100644 --- a/tools/static-assets/skel-svelte/imports/ui/App.svelte +++ b/tools/static-assets/skel-svelte/imports/ui/App.svelte @@ -6,15 +6,13 @@ counter += 1; } - const subIsReady = true; // remove this line if you want to use the code below - // no need to publish/subscribe as there is autopublish package installed - // let subIsReady = false; - // $m: { - // const handle = Meteor.subscribe('links.all'); // todo: setup the server-side publication - // subIsReady = handle.ready(); - // } + let subIsReady = false; + $m: { + const handle = Meteor.subscribe('links.all'); + subIsReady = handle.ready(); + } - // $m is available from zodern:melte package + // more information about $m at https://atmospherejs.com/zodern/melte#tracker-statements $m: links = LinksCollection.find().fetch(); diff --git a/tools/static-assets/skel-svelte/server/main.js b/tools/static-assets/skel-svelte/server/main.js index b43489013b..ef8955bc7c 100644 --- a/tools/static-assets/skel-svelte/server/main.js +++ b/tools/static-assets/skel-svelte/server/main.js @@ -5,6 +5,10 @@ async function insertLink({ title, url }) { await LinksCollection.insertAsync({ title, url, createdAt: new Date() }); } +Meteor.publish('links.all', function () { + return LinksCollection.find(); +}) + Meteor.startup(async () => { // If the Links collection is empty, add some data. if (await LinksCollection.find().countAsync() === 0) { From 2baa715de6c8979f8a141e88c8377dea4ba6a1f2 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 13 Dec 2022 11:06:29 -0300 Subject: [PATCH 017/398] chore: reverted missing types --- packages/meteor/package.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 7007d77957..839475f713 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -55,6 +55,8 @@ Package.onUse(function (api) { // People expect process.exit() to not swallow console output. // On Windows, it sometimes does, so we fix it for all apps and packages api.addFiles('flush-buffers-on-exit-in-windows.js', 'server'); + + api.addAssets('meteor.d.ts', 'server'); }); Package.onTest(function (api) { From d740b6831e87ae5d7c15448cb45d48e60b1c1de3 Mon Sep 17 00:00:00 2001 From: Tom Soukup Date: Tue, 13 Dec 2022 17:58:25 +0100 Subject: [PATCH 018/398] add TS support --- .../skel-svelte/.meteor/packages | 1 + .../skel-svelte/imports/ui/App.svelte | 3 +++ tools/static-assets/skel-svelte/package.json | 9 ++++++--- .../static-assets/skel-svelte/server/main.js | 2 +- tools/static-assets/skel-svelte/tsconfig.json | 20 +++++++++++++++++++ 5 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 tools/static-assets/skel-svelte/tsconfig.json diff --git a/tools/static-assets/skel-svelte/.meteor/packages b/tools/static-assets/skel-svelte/.meteor/packages index 110aaf8f8c..b6c7d8a95d 100644 --- a/tools/static-assets/skel-svelte/.meteor/packages +++ b/tools/static-assets/skel-svelte/.meteor/packages @@ -19,3 +19,4 @@ shell-server # Server-side component of the `meteor shell` command static-html # Define static page content in .html files zodern:melte # Meteor package to allow us to create files with the .svelte extension hot-module-replacement # Update client in development without reloading the page +zodern:types # Enable types from meteor/atmosphere packages diff --git a/tools/static-assets/skel-svelte/imports/ui/App.svelte b/tools/static-assets/skel-svelte/imports/ui/App.svelte index 101098e37b..2456b485bd 100644 --- a/tools/static-assets/skel-svelte/imports/ui/App.svelte +++ b/tools/static-assets/skel-svelte/imports/ui/App.svelte @@ -33,4 +33,7 @@ {:else}
Loading ...
{/if} + +

Typescript ready

+

Just add lang="ts" to .svelte components.

diff --git a/tools/static-assets/skel-svelte/package.json b/tools/static-assets/skel-svelte/package.json index 0b0aae237d..0ae79b3327 100644 --- a/tools/static-assets/skel-svelte/package.json +++ b/tools/static-assets/skel-svelte/package.json @@ -8,9 +8,12 @@ "visualize": "meteor --production --extra-packages bundle-visualizer" }, "dependencies": { - "@babel/runtime": "^7.17.9", - "meteor-node-stubs": "^1.2.1", - "svelte": "^3.46.4" + "@babel/runtime": "^7.20.6", + "meteor-node-stubs": "^1.2.5", + "svelte": "^3.54.0" + }, + "devDependencies": { + "svelte-preprocess": "^5.0.0" }, "meteor": { "mainModule": { diff --git a/tools/static-assets/skel-svelte/server/main.js b/tools/static-assets/skel-svelte/server/main.js index ef8955bc7c..886520b487 100644 --- a/tools/static-assets/skel-svelte/server/main.js +++ b/tools/static-assets/skel-svelte/server/main.js @@ -5,7 +5,7 @@ async function insertLink({ title, url }) { await LinksCollection.insertAsync({ title, url, createdAt: new Date() }); } -Meteor.publish('links.all', function () { +Meteor.publish('links.all', function publishLinksAll() { return LinksCollection.find(); }) diff --git a/tools/static-assets/skel-svelte/tsconfig.json b/tools/static-assets/skel-svelte/tsconfig.json new file mode 100644 index 0000000000..11f2c45698 --- /dev/null +++ b/tools/static-assets/skel-svelte/tsconfig.json @@ -0,0 +1,20 @@ +{ + // see https://guide.meteor.com/build-tool.html#typescript for a config example + "compilerOptions": { + "allowSyntheticDefaultImports": true, // to be able to import eg meteor/mongo + "baseUrl": ".", // required by "paths" + "module": "esNext", // required by "preserveValueImports" + "moduleResolution": "node", // required by zodern:types (not documented) + "paths": { + "/*": ["*"], // support absolute /imports/* with a leading '/' + // support Meteor/Atmospehere packages, required by zodern:types + "meteor/*": [ + "node_modules/@types/meteor/*", + ".meteor/local/types/packages.d.ts" + ] + }, + "preserveSymlinks": true, // required by zodern:types + "preserveValueImports": true // otherwise TS will remove imported components + }, + "exclude": ["./.meteor/**", "./packages/**"] // this may solve VS Code Svelte plugin warnings +} From 524360bb407a3ccf6cdd8e52d990534569deba0b Mon Sep 17 00:00:00 2001 From: Tom Soukup Date: Tue, 13 Dec 2022 18:06:35 +0100 Subject: [PATCH 019/398] convert to TS --- docs/source/commandline.md | 1 + .../skel-svelte/imports/api/links.js | 3 --- .../skel-svelte/imports/api/links.ts | 9 +++++++++ .../skel-svelte/imports/ui/App.svelte | 17 ++++++++--------- 4 files changed, 18 insertions(+), 12 deletions(-) delete mode 100644 tools/static-assets/skel-svelte/imports/api/links.js create mode 100644 tools/static-assets/skel-svelte/imports/api/links.ts diff --git a/docs/source/commandline.md b/docs/source/commandline.md index 78f7eacf49..9891dbadda 100644 --- a/docs/source/commandline.md +++ b/docs/source/commandline.md @@ -195,6 +195,7 @@ Create a basic [Solid](https://www.solidjs.com/) app. | [vite:bundler](https://atmospherejs.com/vite/bundler) | | | | | | | | | | | X | X | | [webapp](https://atmospherejs.com/meteor/webapp) | | | | X | | | | | | | | | | [zodern:melte](https://atmospherejs.com/zodern/melte) | | | | | | | | X | | | | | +| [zodern:types](https://atmospherejs.com/zodern/types) | | | | | | | | X | | | | |

meteor generate

diff --git a/tools/static-assets/skel-svelte/imports/api/links.js b/tools/static-assets/skel-svelte/imports/api/links.js deleted file mode 100644 index 050c508eae..0000000000 --- a/tools/static-assets/skel-svelte/imports/api/links.js +++ /dev/null @@ -1,3 +0,0 @@ -import { Mongo } from 'meteor/mongo'; - -export const LinksCollection = new Mongo.Collection('links'); diff --git a/tools/static-assets/skel-svelte/imports/api/links.ts b/tools/static-assets/skel-svelte/imports/api/links.ts new file mode 100644 index 0000000000..291d640b9b --- /dev/null +++ b/tools/static-assets/skel-svelte/imports/api/links.ts @@ -0,0 +1,9 @@ +import { Mongo } from 'meteor/mongo'; + +export interface Link { + _id: string; + url: string; + title: string; +} + +export const LinksCollection = new Mongo.Collection('links'); diff --git a/tools/static-assets/skel-svelte/imports/ui/App.svelte b/tools/static-assets/skel-svelte/imports/ui/App.svelte index 2456b485bd..147a9e2f97 100644 --- a/tools/static-assets/skel-svelte/imports/ui/App.svelte +++ b/tools/static-assets/skel-svelte/imports/ui/App.svelte @@ -1,18 +1,20 @@ - @@ -33,7 +35,4 @@ {:else}
Loading ...
{/if} - -

Typescript ready

-

Just add lang="ts" to .svelte components.

From 8379f4ac14173b9e37ec7966cb8a690822f8c760 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 13 Dec 2022 14:43:19 -0300 Subject: [PATCH 020/398] chore: updated node version --- scripts/build-dev-bundle-common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index ef6013c4e5..6928825c20 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -5,7 +5,7 @@ set -u UNAME=$(uname) ARCH=$(uname -m) -NODE_VERSION=14.21.1 +NODE_VERSION=14.21.2 MONGO_VERSION_64BIT=5.0.5 MONGO_VERSION_32BIT=3.2.22 NPM_VERSION=6.14.17 From f279e55bb2b6bab2a531c9adb268299202de90f5 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 13 Dec 2022 14:43:29 -0300 Subject: [PATCH 021/398] bump to node 14.21.2 --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index be2307e734..70956fb22d 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.21.1.4 +BUNDLE_VERSION=14.21.2.0 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 6c8db261472690692be7d32517866cae4183bfb4 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 13 Dec 2022 15:39:33 -0300 Subject: [PATCH 022/398] revert 524360bb40 --- .../skel-svelte/imports/api/links.js | 3 +++ .../skel-svelte/imports/api/links.ts | 9 --------- .../skel-svelte/imports/ui/App.svelte | 18 ++++++++++-------- 3 files changed, 13 insertions(+), 17 deletions(-) create mode 100644 tools/static-assets/skel-svelte/imports/api/links.js delete mode 100644 tools/static-assets/skel-svelte/imports/api/links.ts diff --git a/tools/static-assets/skel-svelte/imports/api/links.js b/tools/static-assets/skel-svelte/imports/api/links.js new file mode 100644 index 0000000000..050c508eae --- /dev/null +++ b/tools/static-assets/skel-svelte/imports/api/links.js @@ -0,0 +1,3 @@ +import { Mongo } from 'meteor/mongo'; + +export const LinksCollection = new Mongo.Collection('links'); diff --git a/tools/static-assets/skel-svelte/imports/api/links.ts b/tools/static-assets/skel-svelte/imports/api/links.ts deleted file mode 100644 index 291d640b9b..0000000000 --- a/tools/static-assets/skel-svelte/imports/api/links.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Mongo } from 'meteor/mongo'; - -export interface Link { - _id: string; - url: string; - title: string; -} - -export const LinksCollection = new Mongo.Collection('links'); diff --git a/tools/static-assets/skel-svelte/imports/ui/App.svelte b/tools/static-assets/skel-svelte/imports/ui/App.svelte index 147a9e2f97..d64c1297ee 100644 --- a/tools/static-assets/skel-svelte/imports/ui/App.svelte +++ b/tools/static-assets/skel-svelte/imports/ui/App.svelte @@ -1,20 +1,20 @@ - @@ -33,6 +33,8 @@ {/each} {:else} -
Loading ...
+
Loading ...
{/if} +

Typescript ready

+

Just add lang="ts" to .svelte components.

From cde0d0998ec31c0492321188e2ac356242162625 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 13 Dec 2022 15:49:22 -0300 Subject: [PATCH 023/398] =?UTF-8?q?Meteor=20version=20to=202.9.1-beta.0?= =?UTF-8?q?=C2=A0:comet:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/fetch/package.js | 2 +- packages/meteor/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/fetch/package.js b/packages/fetch/package.js index 5648235dac..79eec048f2 100644 --- a/packages/fetch/package.js +++ b/packages/fetch/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "fetch", - version: '0.1.2', + version: '0.1.3-beta.0', summary: "Isomorphic modern/legacy/Node polyfill for WHATWG fetch()", documentation: "README.md" }); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 839475f713..7022a02698 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.10.3' + version: '1.10.4-beta.0' }); Package.registerBuildPlugin({ diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index acce35a806..c826e4b54d 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.9.0", + "version": "2.9.1.beta.0", "recommended": false, "official": false, "description": "Meteor experimental release" From 782b3d12a3dc81924d118eb5c44f1a0a7c484449 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Tue, 13 Dec 2022 17:02:02 -0300 Subject: [PATCH 024/398] Update _config.yml --- docs/_config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/_config.yml b/docs/_config.yml index 7a70499147..1bd31f0460 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,6 +1,7 @@ title: Meteor API Docs subtitle: API Docs versions: + - '2.9' - '2.8' - '2.7' - '2.6' From 89fbfa5bf139e06d7cde97a590f3bbcb89702de5 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 13 Dec 2022 17:16:00 -0300 Subject: [PATCH 025/398] Meteor version to 2.9.1-beta.0 :comet: --- packages/meteor-tool/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index bafb59a62e..ee4b6a75b8 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: '2.9.0', + version: '2.9.1-beta.0', }); Package.includeTool(); From c16f3df846f91564bea3553f5aabdf0d39f65b7f Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 14 Dec 2022 10:48:24 -0300 Subject: [PATCH 026/398] tests: trying to make ci pass --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 70956fb22d..3f9ee0af69 100755 --- a/meteor +++ b/meteor @@ -146,5 +146,5 @@ fi exec "$DEV_BUNDLE/bin/node" \ --max-old-space-size=4096 \ --no-wasm-code-gc \ - ${TOOL_NODE_FLAGS} \ + "${TOOL_NODE_FLAGS}" \ "$METEOR" "$@" From 36702ee1c3eb153818439015241543fa4fdf9ab1 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 14 Dec 2022 10:50:26 -0300 Subject: [PATCH 027/398] revert c16f3df846 --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 3f9ee0af69..70956fb22d 100755 --- a/meteor +++ b/meteor @@ -146,5 +146,5 @@ fi exec "$DEV_BUNDLE/bin/node" \ --max-old-space-size=4096 \ --no-wasm-code-gc \ - "${TOOL_NODE_FLAGS}" \ + ${TOOL_NODE_FLAGS} \ "$METEOR" "$@" From fa8387c1c23838bcc1270157495bf86ba2295903 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 14 Dec 2022 11:41:41 -0300 Subject: [PATCH 028/398] test: making the ci pass again --- tools/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/index.js b/tools/index.js index 6522c41c3d..8fb6686582 100644 --- a/tools/index.js +++ b/tools/index.js @@ -13,7 +13,7 @@ require("./cli/dev-bundle-bin-commands.js").then(function (child) { throw error; }); }); - +process.env.DISABLE_FIBERS = process.env.DISABLE_FIBERS || 0; function continueSetup() { // Set up the Babel transpiler require('./tool-env/install-babel.js'); From 0d5ddb0af2382889b31bb2949c6742da56c95bf2 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 14 Dec 2022 12:02:48 -0300 Subject: [PATCH 029/398] Revert "test: making the ci pass again" This reverts commit fa8387c1c23838bcc1270157495bf86ba2295903. --- tools/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/index.js b/tools/index.js index 8fb6686582..6522c41c3d 100644 --- a/tools/index.js +++ b/tools/index.js @@ -13,7 +13,7 @@ require("./cli/dev-bundle-bin-commands.js").then(function (child) { throw error; }); }); -process.env.DISABLE_FIBERS = process.env.DISABLE_FIBERS || 0; + function continueSetup() { // Set up the Babel transpiler require('./tool-env/install-babel.js'); From b82942d33605ce586fb675952213cc501f8a94ee Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 14 Dec 2022 16:31:17 -0300 Subject: [PATCH 030/398] chore: update on dev bundle --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 70956fb22d..24d2dbb783 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.21.2.0 +BUNDLE_VERSION=14.21.2.1 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 34940db7c6a947c576cec831d69b95f226d4db10 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 14 Dec 2022 20:00:31 -0300 Subject: [PATCH 031/398] Docs: updated 2.9.1 changelog --- docs/history.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/docs/history.md b/docs/history.md index 2c41408d65..47cd81e0a3 100644 --- a/docs/history.md +++ b/docs/history.md @@ -1,3 +1,43 @@ +## v2.9.1, 2022-XX-XX + +### Highlights + +* Reverted missing types [PR](https://github.com/meteor/meteor/pull/12366) by [Grubba27](https://github.com/Grubba27). +* Fix fetch() type declaration [PR](https://github.com/meteor/meteor/pull/12352) by [zarvox](https://github.com/zarvox). +* update svelte skeleton [PR](https://github.com/meteor/meteor/pull/12350) by [tosinek](https://github.com/tosinek). +* Bump to node 14.21.2.0 [PR](https://github.com/meteor/meteor/pull/12370) by [Grubba27](https://github.com/Grubba27). + +#### Breaking Changes + +N/A + +#### Internal API changes + +N/A + +#### Migration Steps + +N/a + +#### Meteor Version Release + +* `fetch@0.1.3`: + - Updated fetch type definition. +* `fetch@1.10.4: + - Added back meteor type definitions that were removed by mistake in earlier version. + +* `Comand line`: + - Updated Svelte skeleton to now be able to support typescript out of the box and some idioms to the skeleton + - Updated node to 14.21.2 changes can be seen [here](https://github.com/nodejs/node/releases/tag/v14.21.2) + - +#### Special thanks to +- [@zarvox](https://github.com/zarvox). +- [@tosinek](https://github.com/tosinek). +- [@Grubba27](https://github.com/Grubba27). + +For making this great framework even better! + + ## v2.9, 2022-12-12 ### Highlights From dfaf5aebf0732ce524b8a5d18401c2403cbe7096 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 14 Dec 2022 20:07:05 -0300 Subject: [PATCH 032/398] Meteor version to 2.9.1-beta.1 :comet: --- packages/fetch/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/fetch/package.js b/packages/fetch/package.js index 79eec048f2..e65ca62183 100644 --- a/packages/fetch/package.js +++ b/packages/fetch/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "fetch", - version: '0.1.3-beta.0', + version: '0.1.3-beta291.1', summary: "Isomorphic modern/legacy/Node polyfill for WHATWG fetch()", documentation: "README.md" }); diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index ee4b6a75b8..d242083410 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: '2.9.1-beta.0', + version: '2.9.1-beta.1', }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 7022a02698..d589702138 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.10.4-beta.0' + version: '1.10.4-beta291.1' }); Package.registerBuildPlugin({ diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index c826e4b54d..9ad4808c2c 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.9.1.beta.0", + "version": "2.9.1.beta.1", "recommended": false, "official": false, "description": "Meteor experimental release" From 5eb91aab9f8628b27a9671c53764d620ecc19db8 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 15 Dec 2022 11:33:58 -0300 Subject: [PATCH 033/398] Meteor version to 2.9.1-beta.2 :comet: --- packages/fetch/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/fetch/package.js b/packages/fetch/package.js index e65ca62183..ba6933af1a 100644 --- a/packages/fetch/package.js +++ b/packages/fetch/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "fetch", - version: '0.1.3-beta291.1', + version: '0.1.3-beta291.2', summary: "Isomorphic modern/legacy/Node polyfill for WHATWG fetch()", documentation: "README.md" }); diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index d242083410..d569d4ae7a 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: '2.9.1-beta.1', + version: '2.9.1-beta.2', }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index d589702138..cadc5f247b 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.10.4-beta291.1' + version: '1.10.4-beta291.2' }); Package.registerBuildPlugin({ diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 9ad4808c2c..6ff8224d31 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.9.1.beta.1", + "version": "2.9.1.beta.2", "recommended": false, "official": false, "description": "Meteor experimental release" From c9ee57ceb0bcdb3ca33a079ff67f5b8ddc83cc7c Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 15 Dec 2022 12:11:02 -0300 Subject: [PATCH 034/398] Meteor version to 2.9.1-beta.3 :comet: --- packages/fetch/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/fetch/package.js b/packages/fetch/package.js index ba6933af1a..86050aff48 100644 --- a/packages/fetch/package.js +++ b/packages/fetch/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "fetch", - version: '0.1.3-beta291.2', + version: '0.1.3-beta291.3', summary: "Isomorphic modern/legacy/Node polyfill for WHATWG fetch()", documentation: "README.md" }); diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index d569d4ae7a..bdc73e3b68 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: '2.9.1-beta.2', + version: '2.9.1-beta.3', }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index cadc5f247b..ad76232d21 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.10.4-beta291.2' + version: '1.10.4-beta291.3' }); Package.registerBuildPlugin({ diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 6ff8224d31..3de04c2a36 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.9.1.beta.2", + "version": "2.9.1-beta.3", "recommended": false, "official": false, "description": "Meteor experimental release" From 24d87e19b22ba717d88b71cacd60fbd2d2bf1b9d Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 15 Dec 2022 12:55:33 -0300 Subject: [PATCH 035/398] updated chmod From 70248a133046205ca86590c103d2be2b9c3d5dcc Mon Sep 17 00:00:00 2001 From: harryadel Date: Fri, 16 Dec 2022 14:39:39 +0200 Subject: [PATCH 036/398] [test-in-browser] Update Blaze package --- packages/test-in-browser/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/test-in-browser/package.js b/packages/test-in-browser/package.js index 57e3474024..3840a847c1 100644 --- a/packages/test-in-browser/package.js +++ b/packages/test-in-browser/package.js @@ -19,7 +19,7 @@ Package.onUse(function (api) { api.use([ 'webapp', - 'blaze@2.3.4', + 'blaze@2.6.1', 'templating@1.3.2', 'spacebars@1.0.15', 'jquery@3.0.0', From fb35643ca60a73c7f3188a5a0c97e12ab926c118 Mon Sep 17 00:00:00 2001 From: harryadel Date: Fri, 16 Dec 2022 15:26:10 +0200 Subject: [PATCH 037/398] [test-in-browser] Update diff match patch library --- .../diff_match_patch_uncompressed.js | 215 ++++++++++-------- 1 file changed, 120 insertions(+), 95 deletions(-) diff --git a/packages/test-in-browser/diff_match_patch_uncompressed.js b/packages/test-in-browser/diff_match_patch_uncompressed.js index 112130e097..4d5542c1d3 100644 --- a/packages/test-in-browser/diff_match_patch_uncompressed.js +++ b/packages/test-in-browser/diff_match_patch_uncompressed.js @@ -1,8 +1,7 @@ /** * Diff Match and Patch - * - * Copyright 2006 Google Inc. - * http://code.google.com/p/google-diff-match-patch/ + * Copyright 2018 The diff-match-patch Authors. + * https://github.com/google/diff-match-patch * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,7 +26,7 @@ * Class containing the diff, match and patch methods. * @constructor */ -function diff_match_patch() { +var diff_match_patch = function() { // Defaults. // Redefine these in your program to override the defaults. @@ -52,7 +51,7 @@ function diff_match_patch() { // The number of bits in an int. this.Match_MaxBits = 32; -} +}; // DIFF FUNCTIONS @@ -67,9 +66,18 @@ var DIFF_DELETE = -1; var DIFF_INSERT = 1; var DIFF_EQUAL = 0; -/** @typedef {{0: number, 1: string}} */ -diff_match_patch.Diff; - +/** + * Class representing one diff tuple. + * ~Attempts to look like a two-element array (which is what this used to be).~ + * Constructor returns an actual two-element array, to allow destructing @JackuB + * See https://github.com/JackuB/diff-match-patch/issues/14 for details + * @param {number} op Operation, one of: DIFF_DELETE, DIFF_INSERT, DIFF_EQUAL. + * @param {string} text Text to be deleted, inserted, or retained. + * @constructor + */ +diff_match_patch.Diff = function(op, text) { + return [op, text]; +}; /** * Find the differences between two texts. Simplifies the problem by stripping @@ -79,7 +87,7 @@ diff_match_patch.Diff; * @param {boolean=} opt_checklines Optional speedup flag. If present and false, * then don't run a line-level diff first to identify the changed areas. * Defaults to true, which does a faster, slightly less optimal diff. - * @param {number} opt_deadline Optional time when the diff should be complete + * @param {number=} opt_deadline Optional time when the diff should be complete * by. Used internally for recursive calls. Users should set DiffTimeout * instead. * @return {!Array.} Array of diff tuples. @@ -104,7 +112,7 @@ diff_match_patch.prototype.diff_main = function(text1, text2, opt_checklines, // Check for equality (speedup). if (text1 == text2) { if (text1) { - return [[DIFF_EQUAL, text1]]; + return [new diff_match_patch.Diff(DIFF_EQUAL, text1)]; } return []; } @@ -131,10 +139,10 @@ diff_match_patch.prototype.diff_main = function(text1, text2, opt_checklines, // Restore the prefix and suffix. if (commonprefix) { - diffs.unshift([DIFF_EQUAL, commonprefix]); + diffs.unshift(new diff_match_patch.Diff(DIFF_EQUAL, commonprefix)); } if (commonsuffix) { - diffs.push([DIFF_EQUAL, commonsuffix]); + diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, commonsuffix)); } this.diff_cleanupMerge(diffs); return diffs; @@ -159,12 +167,12 @@ diff_match_patch.prototype.diff_compute_ = function(text1, text2, checklines, if (!text1) { // Just add some text (speedup). - return [[DIFF_INSERT, text2]]; + return [new diff_match_patch.Diff(DIFF_INSERT, text2)]; } if (!text2) { // Just delete some text (speedup). - return [[DIFF_DELETE, text1]]; + return [new diff_match_patch.Diff(DIFF_DELETE, text1)]; } var longtext = text1.length > text2.length ? text1 : text2; @@ -172,9 +180,10 @@ diff_match_patch.prototype.diff_compute_ = function(text1, text2, checklines, var i = longtext.indexOf(shorttext); if (i != -1) { // Shorter text is inside the longer text (speedup). - diffs = [[DIFF_INSERT, longtext.substring(0, i)], - [DIFF_EQUAL, shorttext], - [DIFF_INSERT, longtext.substring(i + shorttext.length)]]; + diffs = [new diff_match_patch.Diff(DIFF_INSERT, longtext.substring(0, i)), + new diff_match_patch.Diff(DIFF_EQUAL, shorttext), + new diff_match_patch.Diff(DIFF_INSERT, + longtext.substring(i + shorttext.length))]; // Swap insertions for deletions if diff is reversed. if (text1.length > text2.length) { diffs[0][0] = diffs[2][0] = DIFF_DELETE; @@ -185,7 +194,8 @@ diff_match_patch.prototype.diff_compute_ = function(text1, text2, checklines, if (shorttext.length == 1) { // Single character string. // After the previous speedup, the character can't be an equality. - return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]]; + return [new diff_match_patch.Diff(DIFF_DELETE, text1), + new diff_match_patch.Diff(DIFF_INSERT, text2)]; } // Check to see if the problem can be split in two. @@ -201,7 +211,8 @@ diff_match_patch.prototype.diff_compute_ = function(text1, text2, checklines, var diffs_a = this.diff_main(text1_a, text2_a, checklines, deadline); var diffs_b = this.diff_main(text1_b, text2_b, checklines, deadline); // Merge the results. - return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b); + return diffs_a.concat([new diff_match_patch.Diff(DIFF_EQUAL, mid_common)], + diffs_b); } if (checklines && text1.length > 100 && text2.length > 100) { @@ -238,7 +249,7 @@ diff_match_patch.prototype.diff_lineMode_ = function(text1, text2, deadline) { // Rediff any replacement blocks, this time character-by-character. // Add a dummy entry at the end. - diffs.push([DIFF_EQUAL, '']); + diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, '')); var pointer = 0; var count_delete = 0; var count_insert = 0; @@ -261,11 +272,12 @@ diff_match_patch.prototype.diff_lineMode_ = function(text1, text2, deadline) { diffs.splice(pointer - count_delete - count_insert, count_delete + count_insert); pointer = pointer - count_delete - count_insert; - var a = this.diff_main(text_delete, text_insert, false, deadline); - for (var j = a.length - 1; j >= 0; j--) { - diffs.splice(pointer, 0, a[j]); + var subDiff = + this.diff_main(text_delete, text_insert, false, deadline); + for (var j = subDiff.length - 1; j >= 0; j--) { + diffs.splice(pointer, 0, subDiff[j]); } - pointer = pointer + a.length; + pointer = pointer + subDiff.length; } count_insert = 0; count_delete = 0; @@ -399,7 +411,8 @@ diff_match_patch.prototype.diff_bisect_ = function(text1, text2, deadline) { } // Diff took too long and hit the deadline or // number of diffs equals number of characters, no commonality at all. - return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]]; + return [new diff_match_patch.Diff(DIFF_DELETE, text1), + new diff_match_patch.Diff(DIFF_INSERT, text2)]; }; @@ -471,21 +484,29 @@ diff_match_patch.prototype.diff_linesToChars_ = function(text1, text2) { lineEnd = text.length - 1; } var line = text.substring(lineStart, lineEnd + 1); - lineStart = lineEnd + 1; if (lineHash.hasOwnProperty ? lineHash.hasOwnProperty(line) : (lineHash[line] !== undefined)) { chars += String.fromCharCode(lineHash[line]); } else { + if (lineArrayLength == maxLines) { + // Bail out at 65535 because + // String.fromCharCode(65536) == String.fromCharCode(0) + line = text.substring(lineStart); + lineEnd = text.length; + } chars += String.fromCharCode(lineArrayLength); lineHash[line] = lineArrayLength; lineArray[lineArrayLength++] = line; } + lineStart = lineEnd + 1; } return chars; } - + // Allocate 2/3rds of the space for text1, the rest for text2. + var maxLines = 40000; var chars1 = diff_linesToCharsMunge_(text1); + maxLines = 65535; var chars2 = diff_linesToCharsMunge_(text2); return {chars1: chars1, chars2: chars2, lineArray: lineArray}; }; @@ -499,13 +520,13 @@ diff_match_patch.prototype.diff_linesToChars_ = function(text1, text2) { * @private */ diff_match_patch.prototype.diff_charsToLines_ = function(diffs, lineArray) { - for (var x = 0; x < diffs.length; x++) { - var chars = diffs[x][1]; + for (var i = 0; i < diffs.length; i++) { + var chars = diffs[i][1]; var text = []; - for (var y = 0; y < chars.length; y++) { - text[y] = lineArray[chars.charCodeAt(y)]; + for (var j = 0; j < chars.length; j++) { + text[j] = lineArray[chars.charCodeAt(j)]; } - diffs[x][1] = text.join(''); + diffs[i][1] = text.join(''); } }; @@ -523,7 +544,7 @@ diff_match_patch.prototype.diff_commonPrefix = function(text1, text2) { return 0; } // Binary search. - // Performance analysis: http://neil.fraser.name/news/2007/10/09/ + // Performance analysis: https://neil.fraser.name/news/2007/10/09/ var pointermin = 0; var pointermax = Math.min(text1.length, text2.length); var pointermid = pointermax; @@ -555,7 +576,7 @@ diff_match_patch.prototype.diff_commonSuffix = function(text1, text2) { return 0; } // Binary search. - // Performance analysis: http://neil.fraser.name/news/2007/10/09/ + // Performance analysis: https://neil.fraser.name/news/2007/10/09/ var pointermin = 0; var pointermax = Math.min(text1.length, text2.length); var pointermid = pointermax; @@ -604,7 +625,7 @@ diff_match_patch.prototype.diff_commonOverlap_ = function(text1, text2) { // Start by looking for a single character match // and increase length until no match is found. - // Performance analysis: http://neil.fraser.name/news/2010/11/04/ + // Performance analysis: https://neil.fraser.name/news/2010/11/04/ var best = 0; var length = 1; while (true) { @@ -731,7 +752,7 @@ diff_match_patch.prototype.diff_cleanupSemantic = function(diffs) { var equalities = []; // Stack of indices where equalities are found. var equalitiesLength = 0; // Keeping our own length var is faster in JS. /** @type {?string} */ - var lastequality = null; + var lastEquality = null; // Always equal to diffs[equalities[equalitiesLength - 1]][1] var pointer = 0; // Index of current position. // Number of characters that changed prior to the equality. @@ -747,7 +768,7 @@ diff_match_patch.prototype.diff_cleanupSemantic = function(diffs) { length_deletions1 = length_deletions2; length_insertions2 = 0; length_deletions2 = 0; - lastequality = diffs[pointer][1]; + lastEquality = diffs[pointer][1]; } else { // An insertion or deletion. if (diffs[pointer][0] == DIFF_INSERT) { length_insertions2 += diffs[pointer][1].length; @@ -756,13 +777,13 @@ diff_match_patch.prototype.diff_cleanupSemantic = function(diffs) { } // Eliminate an equality that is smaller or equal to the edits on both // sides of it. - if (lastequality && (lastequality.length <= + if (lastEquality && (lastEquality.length <= Math.max(length_insertions1, length_deletions1)) && - (lastequality.length <= Math.max(length_insertions2, + (lastEquality.length <= Math.max(length_insertions2, length_deletions2))) { // Duplicate record. diffs.splice(equalities[equalitiesLength - 1], 0, - [DIFF_DELETE, lastequality]); + new diff_match_patch.Diff(DIFF_DELETE, lastEquality)); // Change second copy to insert. diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT; // Throw away the equality we just deleted. @@ -774,7 +795,7 @@ diff_match_patch.prototype.diff_cleanupSemantic = function(diffs) { length_deletions1 = 0; length_insertions2 = 0; length_deletions2 = 0; - lastequality = null; + lastEquality = null; changes = true; } } @@ -805,8 +826,8 @@ diff_match_patch.prototype.diff_cleanupSemantic = function(diffs) { if (overlap_length1 >= deletion.length / 2 || overlap_length1 >= insertion.length / 2) { // Overlap found. Insert an equality and trim the surrounding edits. - diffs.splice(pointer, 0, - [DIFF_EQUAL, insertion.substring(0, overlap_length1)]); + diffs.splice(pointer, 0, new diff_match_patch.Diff(DIFF_EQUAL, + insertion.substring(0, overlap_length1))); diffs[pointer - 1][1] = deletion.substring(0, deletion.length - overlap_length1); diffs[pointer + 1][1] = insertion.substring(overlap_length1); @@ -817,8 +838,8 @@ diff_match_patch.prototype.diff_cleanupSemantic = function(diffs) { overlap_length2 >= insertion.length / 2) { // Reverse overlap found. // Insert an equality and swap and trim the surrounding edits. - diffs.splice(pointer, 0, - [DIFF_EQUAL, deletion.substring(0, overlap_length2)]); + diffs.splice(pointer, 0, new diff_match_patch.Diff(DIFF_EQUAL, + deletion.substring(0, overlap_length2))); diffs[pointer - 1][0] = DIFF_INSERT; diffs[pointer - 1][1] = insertion.substring(0, insertion.length - overlap_length2); @@ -976,7 +997,7 @@ diff_match_patch.prototype.diff_cleanupEfficiency = function(diffs) { var equalities = []; // Stack of indices where equalities are found. var equalitiesLength = 0; // Keeping our own length var is faster in JS. /** @type {?string} */ - var lastequality = null; + var lastEquality = null; // Always equal to diffs[equalities[equalitiesLength - 1]][1] var pointer = 0; // Index of current position. // Is there an insertion operation before the last equality. @@ -995,11 +1016,11 @@ diff_match_patch.prototype.diff_cleanupEfficiency = function(diffs) { equalities[equalitiesLength++] = pointer; pre_ins = post_ins; pre_del = post_del; - lastequality = diffs[pointer][1]; + lastEquality = diffs[pointer][1]; } else { // Not a candidate, and can never become one. equalitiesLength = 0; - lastequality = null; + lastEquality = null; } post_ins = post_del = false; } else { // An insertion or deletion. @@ -1016,16 +1037,16 @@ diff_match_patch.prototype.diff_cleanupEfficiency = function(diffs) { * AXCD * ABXC */ - if (lastequality && ((pre_ins && pre_del && post_ins && post_del) || - ((lastequality.length < this.Diff_EditCost / 2) && + if (lastEquality && ((pre_ins && pre_del && post_ins && post_del) || + ((lastEquality.length < this.Diff_EditCost / 2) && (pre_ins + pre_del + post_ins + post_del) == 3))) { // Duplicate record. diffs.splice(equalities[equalitiesLength - 1], 0, - [DIFF_DELETE, lastequality]); + new diff_match_patch.Diff(DIFF_DELETE, lastEquality)); // Change second copy to insert. diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT; equalitiesLength--; // Throw away the equality we just deleted; - lastequality = null; + lastEquality = null; if (pre_ins && pre_del) { // No changes made which could affect previous entry, keep going. post_ins = post_del = true; @@ -1054,7 +1075,8 @@ diff_match_patch.prototype.diff_cleanupEfficiency = function(diffs) { * @param {!Array.} diffs Array of diff tuples. */ diff_match_patch.prototype.diff_cleanupMerge = function(diffs) { - diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end. + // Add a dummy entry at the end. + diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, '')); var pointer = 0; var count_delete = 0; var count_insert = 0; @@ -1086,8 +1108,8 @@ diff_match_patch.prototype.diff_cleanupMerge = function(diffs) { diffs[pointer - count_delete - count_insert - 1][1] += text_insert.substring(0, commonlength); } else { - diffs.splice(0, 0, [DIFF_EQUAL, - text_insert.substring(0, commonlength)]); + diffs.splice(0, 0, new diff_match_patch.Diff(DIFF_EQUAL, + text_insert.substring(0, commonlength))); pointer++; } text_insert = text_insert.substring(commonlength); @@ -1105,19 +1127,19 @@ diff_match_patch.prototype.diff_cleanupMerge = function(diffs) { } } // Delete the offending records and add the merged ones. - if (count_delete === 0) { - diffs.splice(pointer - count_insert, - count_delete + count_insert, [DIFF_INSERT, text_insert]); - } else if (count_insert === 0) { - diffs.splice(pointer - count_delete, - count_delete + count_insert, [DIFF_DELETE, text_delete]); - } else { - diffs.splice(pointer - count_delete - count_insert, - count_delete + count_insert, [DIFF_DELETE, text_delete], - [DIFF_INSERT, text_insert]); + pointer -= count_delete + count_insert; + diffs.splice(pointer, count_delete + count_insert); + if (text_delete.length) { + diffs.splice(pointer, 0, + new diff_match_patch.Diff(DIFF_DELETE, text_delete)); + pointer++; } - pointer = pointer - count_delete - count_insert + - (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1; + if (text_insert.length) { + diffs.splice(pointer, 0, + new diff_match_patch.Diff(DIFF_INSERT, text_insert)); + pointer++; + } + pointer++; } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) { // Merge this equality with the previous one. diffs[pointer - 1][1] += diffs[pointer][1]; @@ -1355,7 +1377,8 @@ diff_match_patch.prototype.diff_fromDelta = function(text1, delta) { switch (tokens[x].charAt(0)) { case '+': try { - diffs[diffsLength++] = [DIFF_INSERT, decodeURI(param)]; + diffs[diffsLength++] = + new diff_match_patch.Diff(DIFF_INSERT, decodeURI(param)); } catch (ex) { // Malformed URI sequence. throw new Error('Illegal escape in diff_fromDelta: ' + param); @@ -1370,9 +1393,9 @@ diff_match_patch.prototype.diff_fromDelta = function(text1, delta) { } var text = text1.substring(pointer, pointer += n); if (tokens[x].charAt(0) == '=') { - diffs[diffsLength++] = [DIFF_EQUAL, text]; + diffs[diffsLength++] = new diff_match_patch.Diff(DIFF_EQUAL, text); } else { - diffs[diffsLength++] = [DIFF_DELETE, text]; + diffs[diffsLength++] = new diff_match_patch.Diff(DIFF_DELETE, text); } break; default: @@ -1575,6 +1598,9 @@ diff_match_patch.prototype.patch_addContext_ = function(patch, text) { if (text.length == 0) { return; } + if (patch.start2 === null) { + throw Error('patch not initialized'); + } var pattern = text.substring(patch.start2, patch.start2 + patch.length1); var padding = 0; @@ -1593,13 +1619,13 @@ diff_match_patch.prototype.patch_addContext_ = function(patch, text) { // Add the prefix. var prefix = text.substring(patch.start2 - padding, patch.start2); if (prefix) { - patch.diffs.unshift([DIFF_EQUAL, prefix]); + patch.diffs.unshift(new diff_match_patch.Diff(DIFF_EQUAL, prefix)); } // Add the suffix. var suffix = text.substring(patch.start2 + patch.length1, patch.start2 + patch.length1 + padding); if (suffix) { - patch.diffs.push([DIFF_EQUAL, suffix]); + patch.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, suffix)); } // Roll back the start points. @@ -1627,9 +1653,9 @@ diff_match_patch.prototype.patch_addContext_ = function(patch, text) { * * @param {string|!Array.} a text1 (methods 1,3,4) or * Array of diff tuples for text1 to text2 (method 2). - * @param {string|!Array.} opt_b text2 (methods 1,4) or + * @param {string|!Array.=} opt_b text2 (methods 1,4) or * Array of diff tuples for text1 to text2 (method 3) or undefined (method 2). - * @param {string|!Array.} opt_c Array of diff tuples + * @param {string|!Array.=} opt_c Array of diff tuples * for text1 to text2 (method 4) or undefined (methods 1,2,3). * @return {!Array.} Array of Patch objects. */ @@ -1718,7 +1744,7 @@ diff_match_patch.prototype.patch_make = function(a, opt_b, opt_c) { patch = new diff_match_patch.patch_obj(); patchDiffLength = 0; // Unlike Unidiff, our patch lists have a rolling context. - // http://code.google.com/p/google-diff-match-patch/wiki/Unidiff + // https://github.com/google/diff-match-patch/wiki/Unidiff // Update prepatch text & pos to reflect the application of the // just completed patch. prepatch_text = postpatch_text; @@ -1759,7 +1785,8 @@ diff_match_patch.prototype.patch_deepCopy = function(patches) { var patchCopy = new diff_match_patch.patch_obj(); patchCopy.diffs = []; for (var y = 0; y < patch.diffs.length; y++) { - patchCopy.diffs[y] = patch.diffs[y].slice(); + patchCopy.diffs[y] = + new diff_match_patch.Diff(patch.diffs[y][0], patch.diffs[y][1]); } patchCopy.start1 = patch.start1; patchCopy.start2 = patch.start2; @@ -1903,7 +1930,7 @@ diff_match_patch.prototype.patch_addPadding = function(patches) { var diffs = patch.diffs; if (diffs.length == 0 || diffs[0][0] != DIFF_EQUAL) { // Add nullPadding equality. - diffs.unshift([DIFF_EQUAL, nullPadding]); + diffs.unshift(new diff_match_patch.Diff(DIFF_EQUAL, nullPadding)); patch.start1 -= paddingLength; // Should be 0. patch.start2 -= paddingLength; // Should be 0. patch.length1 += paddingLength; @@ -1923,7 +1950,7 @@ diff_match_patch.prototype.patch_addPadding = function(patches) { diffs = patch.diffs; if (diffs.length == 0 || diffs[diffs.length - 1][0] != DIFF_EQUAL) { // Add nullPadding equality. - diffs.push([DIFF_EQUAL, nullPadding]); + diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, nullPadding)); patch.length1 += paddingLength; patch.length2 += paddingLength; } else if (paddingLength > diffs[diffs.length - 1][1].length) { @@ -1964,7 +1991,7 @@ diff_match_patch.prototype.patch_splitMax = function(patches) { patch.start2 = start2 - precontext.length; if (precontext !== '') { patch.length1 = patch.length2 = precontext.length; - patch.diffs.push([DIFF_EQUAL, precontext]); + patch.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, precontext)); } while (bigpatch.diffs.length !== 0 && patch.length1 < patch_size - this.Patch_Margin) { @@ -1983,7 +2010,7 @@ diff_match_patch.prototype.patch_splitMax = function(patches) { patch.length1 += diff_text.length; start1 += diff_text.length; empty = false; - patch.diffs.push([diff_type, diff_text]); + patch.diffs.push(new diff_match_patch.Diff(diff_type, diff_text)); bigpatch.diffs.shift(); } else { // Deletion or equality. Only take as much as we can stomach. @@ -1997,7 +2024,7 @@ diff_match_patch.prototype.patch_splitMax = function(patches) { } else { empty = false; } - patch.diffs.push([diff_type, diff_text]); + patch.diffs.push(new diff_match_patch.Diff(diff_type, diff_text)); if (diff_text == bigpatch.diffs[0][1]) { bigpatch.diffs.shift(); } else { @@ -2020,7 +2047,7 @@ diff_match_patch.prototype.patch_splitMax = function(patches) { patch.diffs[patch.diffs.length - 1][0] === DIFF_EQUAL) { patch.diffs[patch.diffs.length - 1][1] += postcontext; } else { - patch.diffs.push([DIFF_EQUAL, postcontext]); + patch.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, postcontext)); } } if (!empty) { @@ -2099,13 +2126,13 @@ diff_match_patch.prototype.patch_fromText = function(textline) { } if (sign == '-') { // Deletion. - patch.diffs.push([DIFF_DELETE, line]); + patch.diffs.push(new diff_match_patch.Diff(DIFF_DELETE, line)); } else if (sign == '+') { // Insertion. - patch.diffs.push([DIFF_INSERT, line]); + patch.diffs.push(new diff_match_patch.Diff(DIFF_INSERT, line)); } else if (sign == ' ') { // Minor equality. - patch.diffs.push([DIFF_EQUAL, line]); + patch.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, line)); } else if (sign == '@') { // Start of next patch. break; @@ -2141,9 +2168,9 @@ diff_match_patch.patch_obj = function() { /** - * Emmulate GNU diff's format. + * Emulate GNU diff's format. * Header: @@ -382,8 +481,9 @@ - * Indicies are printed as 1-based, not 0-based. + * Indices are printed as 1-based, not 0-based. * @return {string} The GNU diff string. */ diff_match_patch.patch_obj.prototype.toString = function() { @@ -2183,11 +2210,9 @@ diff_match_patch.patch_obj.prototype.toString = function() { }; -// Export these global variables so that they survive Google's JS compiler. -// In a browser, 'this' will be 'window'. -// Users of node.js should 'require' the uncompressed version since Google's -// JS compiler may break the following exports for non-browser environments. -this['diff_match_patch'] = diff_match_patch; -this['DIFF_DELETE'] = DIFF_DELETE; -this['DIFF_INSERT'] = DIFF_INSERT; -this['DIFF_EQUAL'] = DIFF_EQUAL; +// The following export code was added by @ForbesLindesay +module.exports = diff_match_patch; +module.exports['diff_match_patch'] = diff_match_patch; +module.exports['DIFF_DELETE'] = DIFF_DELETE; +module.exports['DIFF_INSERT'] = DIFF_INSERT; +module.exports['DIFF_EQUAL'] = DIFF_EQUAL; \ No newline at end of file From 8cc18f8897f1c0b792ea5bc26e3dbfdde6e61ea5 Mon Sep 17 00:00:00 2001 From: denihs Date: Fri, 16 Dec 2022 15:05:29 -0400 Subject: [PATCH 038/398] chore: changing the methods resetPassword and verifyEmail to no longer sign in the user automatically if they have 2fa enabled --- docs/history.md | 4 +++- docs/source/api/passwords.md | 7 ++++++ packages/accounts-password/package.js | 2 +- packages/accounts-password/password_client.js | 4 ++-- packages/accounts-password/password_server.js | 22 +++++++++++++++++++ 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/docs/history.md b/docs/history.md index 47cd81e0a3..4f25ea7ea0 100644 --- a/docs/history.md +++ b/docs/history.md @@ -9,7 +9,9 @@ #### Breaking Changes -N/A +* `accounts-password@2.3.3` + - The methods `resetPassword` and `verifyEmail` no longer logs the user if they have 2FA enabled. Now, the functions work as before, but instead of automatically logging in the user at the end, an error with the code `2fa-enabled` will be thrown. + #### Internal API changes diff --git a/docs/source/api/passwords.md b/docs/source/api/passwords.md index 49bcff2e6d..a1967e174e 100644 --- a/docs/source/api/passwords.md +++ b/docs/source/api/passwords.md @@ -59,6 +59,10 @@ email with a link the user can use to verify their email address. {% apibox "Accounts.verifyEmail" %} +If the user trying to verify the email has 2FA enabled, this error will be thrown: +* "Email verified, but user not logged in because 2FA is enabled [2fa-enabled]": No longer signing in the user automatically if the user has 2FA enabled. + + This function accepts tokens passed into the callback registered with [`Accounts.onEmailVerificationLink`](#Accounts-onEmailVerificationLink). @@ -89,6 +93,9 @@ This function accepts tokens passed into the callbacks registered with [`AccountsClient#onResetPasswordLink`](#Accounts-onResetPasswordLink) and [`Accounts.onEnrollmentLink`](#Accounts-onEnrollmentLink). +If the user trying to reset the password has 2FA enabled, this error will be thrown: +* "Changed password, but user not logged in because 2FA is enabled [2fa-enabled]": No longer signing in the user automatically if the user has 2FA enabled. + {% apibox "Accounts.setPassword" %} {% apibox "Accounts.sendResetPasswordEmail" %} diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index 719191d8dc..ecf98e10ba 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: '2.3.2', + version: '2.3.3-beta291.3', }); Npm.depends({ diff --git a/packages/accounts-password/password_client.js b/packages/accounts-password/password_client.js index 30d3b49450..a55609919e 100644 --- a/packages/accounts-password/password_client.js +++ b/packages/accounts-password/password_client.js @@ -201,7 +201,7 @@ Accounts.forgotPassword = (options, callback) => { // @param callback (optional) {Function(error|undefined)} /** - * @summary Reset the password for a user using a token received in email. Logs the user in afterwards. + * @summary Reset the password for a user using a token received in email. Logs the user in afterwards if the user doesn't have 2FA enabled. * @locus Client * @param {String} token The token retrieved from the reset password URL. * @param {String} newPassword A new password for the user. This is __not__ sent in plain text over the wire. @@ -234,7 +234,7 @@ Accounts.resetPassword = (token, newPassword, callback) => { // @param callback (optional) {Function(error|undefined)} /** - * @summary Marks the user's email address as verified. Logs the user in afterwards. + * @summary Marks the user's email address as verified. Logs the user in afterwards if the user doesn't have 2FA enabled. * @locus Client * @param {String} token The token retrieved from the verification URL. * @param {Function} [callback] Optional callback. Called with no arguments on success, or with a single `Error` argument on failure. diff --git a/packages/accounts-password/password_server.js b/packages/accounts-password/password_server.js index c44be77f66..198b7a9c34 100644 --- a/packages/accounts-password/password_server.js +++ b/packages/accounts-password/password_server.js @@ -687,6 +687,17 @@ Meteor.methods({resetPassword: async function (...args) { // password should invalidate existing sessions). Accounts._clearAllLoginTokens(user._id); + if (Accounts._check2faEnabled?.(user)) { + return { + userId: user._id, + error: Accounts._handleError( + 'Changed password, but user not logged in because 2FA is enabled', + false, + '2fa-enabled' + ), + }; + } + return {userId: user._id}; } ); @@ -778,6 +789,17 @@ Meteor.methods({verifyEmail: async function (...args) { {$set: {'emails.$.verified': true}, $pull: {'services.email.verificationTokens': {address: tokenRecord.address}}}); + if (Accounts._check2faEnabled?.(user)) { + return { + userId: user._id, + error: Accounts._handleError( + 'Email verified, but user not logged in because 2FA is enabled', + false, + '2fa-enabled' + ), + }; + } + return {userId: user._id}; } ); From 2f377966552c1c3fcc2282f451504d42071b40f1 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 19 Dec 2022 11:21:50 -0300 Subject: [PATCH 039/398] docs: update docs about --prototype --- docs/source/commandline.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/source/commandline.md b/docs/source/commandline.md index 1be73f5058..333cc27219 100644 --- a/docs/source/commandline.md +++ b/docs/source/commandline.md @@ -91,6 +91,12 @@ You can pass an absolute or relative path. **Flags for default packages** +`--prototype` + +Creates a package with the prototype packages. +It can be used together with other flags that create apps such as `--react` or `--typescript`. + + `--bare` Creates a basic, blaze project. From 32a786a81ef7144eaa089dc83557d7427e931d51 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 19 Dec 2022 14:00:19 -0300 Subject: [PATCH 040/398] docs: updated docs about --prototype --- docs/source/commandline.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/source/commandline.md b/docs/source/commandline.md index 333cc27219..a3a242df17 100644 --- a/docs/source/commandline.md +++ b/docs/source/commandline.md @@ -93,7 +93,11 @@ You can pass an absolute or relative path. `--prototype` -Creates a package with the prototype packages. +Creates a package with the prototype purpose packages(`autopublish` and `insecure`) +if you use them you can change your collections quickly, +but it is not supposed to be used in production. +For more information about security you can check +it [here](https://guide.meteor.com/security.html#checklist) It can be used together with other flags that create apps such as `--react` or `--typescript`. From 40dfd2edbc3711093e0c4b0455f1ca35cd0e2970 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 19 Dec 2022 14:38:37 -0300 Subject: [PATCH 041/398] chore: added permissions to run meteor script --- meteor | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 meteor diff --git a/meteor b/meteor old mode 100644 new mode 100755 From 7778e74a735b6fec2df98fceb360c60e9efdbb93 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 19 Dec 2022 14:38:50 -0300 Subject: [PATCH 042/398] chore: added permissions to run meteor script --- meteor | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 meteor diff --git a/meteor b/meteor old mode 100755 new mode 100644 From 89dab6e8de0535159900c10d568245740a8ef759 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 19 Dec 2022 14:38:57 -0300 Subject: [PATCH 043/398] chore: added permissions to run meteor script --- meteor | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 meteor diff --git a/meteor b/meteor old mode 100644 new mode 100755 From a0d76557b183d4b3555aee554f0592da12a4f728 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 19 Dec 2022 14:39:10 -0300 Subject: [PATCH 044/398] "chore: added permissions to run meteor script" --- meteor | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 meteor diff --git a/meteor b/meteor old mode 100755 new mode 100644 From b73b31404ae9c9d6e9c138047b93bd37521884bd Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 19 Dec 2022 14:43:30 -0300 Subject: [PATCH 045/398] chore: added permissions to run meteor script --- meteor | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 meteor diff --git a/meteor b/meteor old mode 100644 new mode 100755 From d733351f04ca37616eab0d70dec20c91def119b0 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 19 Dec 2022 14:43:40 -0300 Subject: [PATCH 046/398] "chore: added permissions to run meteor script" --- meteor | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 meteor diff --git a/meteor b/meteor old mode 100755 new mode 100644 From 190e396958e9ffbe8adc560828118fb948797829 Mon Sep 17 00:00:00 2001 From: denihs Date: Mon, 19 Dec 2022 13:44:29 -0400 Subject: [PATCH 047/398] Changing meteor file permissions --- meteor | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 meteor diff --git a/meteor b/meteor old mode 100644 new mode 100755 From 7ee47054fd3547f658cb0089d537c38e3a657e44 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 19 Dec 2022 15:24:30 -0300 Subject: [PATCH 048/398] doc: updated 2.9.1 docs --- docs/history.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/history.md b/docs/history.md index 4f25ea7ea0..912c968c79 100644 --- a/docs/history.md +++ b/docs/history.md @@ -6,7 +6,8 @@ * Fix fetch() type declaration [PR](https://github.com/meteor/meteor/pull/12352) by [zarvox](https://github.com/zarvox). * update svelte skeleton [PR](https://github.com/meteor/meteor/pull/12350) by [tosinek](https://github.com/tosinek). * Bump to node 14.21.2.0 [PR](https://github.com/meteor/meteor/pull/12370) by [Grubba27](https://github.com/Grubba27). - +* resetPassword and verifyEmail to no longer sign in the user automatically [PR](https://github.com/meteor/meteor/pull/12385) by [denihs](https://github.com/denihs). +* #### Breaking Changes * `accounts-password@2.3.3` @@ -25,9 +26,13 @@ N/a * `fetch@0.1.3`: - Updated fetch type definition. + * `fetch@1.10.4: - Added back meteor type definitions that were removed by mistake in earlier version. +* `accounts-password@2.3.3` + - The methods `resetPassword` and `verifyEmail` no longer logs the user if they have 2FA enabled. Now, the functions work as before, but instead of automatically logging in the user at the end, an error with the code `2fa-enabled` will be thrown. + * `Comand line`: - Updated Svelte skeleton to now be able to support typescript out of the box and some idioms to the skeleton - Updated node to 14.21.2 changes can be seen [here](https://github.com/nodejs/node/releases/tag/v14.21.2) @@ -36,6 +41,7 @@ N/a - [@zarvox](https://github.com/zarvox). - [@tosinek](https://github.com/tosinek). - [@Grubba27](https://github.com/Grubba27). +- [@denihs](https://github.com/denihs) For making this great framework even better! From 2660146d37629fa8ddde9833b5ce640714f139ae Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 19 Dec 2022 15:39:27 -0300 Subject: [PATCH 049/398] Chore: update dev-bundle with devel --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 386ea5693b..1146deb2ff 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.21.2.1 +BUNDLE_VERSION=14.21.2.2 # OS Check. Put here because here is where we download the precompiled From 986de31ccbbc5ddfe7e1caef92569d282d424d8c Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 19 Dec 2022 16:56:06 -0300 Subject: [PATCH 050/398] Meteor version to 2.9.1-beta.4 :comet: --- packages/accounts-password/package.js | 2 +- packages/fetch/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index ecf98e10ba..4a101f7ff6 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: '2.3.3-beta291.3', + version: '2.3.3-beta291.4', }); Npm.depends({ diff --git a/packages/fetch/package.js b/packages/fetch/package.js index 86050aff48..0b52838105 100644 --- a/packages/fetch/package.js +++ b/packages/fetch/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "fetch", - version: '0.1.3-beta291.3', + version: '0.1.3-beta291.4', summary: "Isomorphic modern/legacy/Node polyfill for WHATWG fetch()", documentation: "README.md" }); diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index bdc73e3b68..9d8ac5e94b 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: '2.9.1-beta.3', + version: '2.9.1-beta.4', }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index ad76232d21..711be04d7e 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.10.4-beta291.3' + version: '1.10.4-beta291.4' }); Package.registerBuildPlugin({ diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 3de04c2a36..8031905a03 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.9.1-beta.3", + "version": "2.9.1-beta.4", "recommended": false, "official": false, "description": "Meteor experimental release" From 1a8e3179668259e46630c9da09f7449417a729e9 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 19 Dec 2022 17:06:14 -0300 Subject: [PATCH 051/398] chore: updated will publish text to show version as well for better understatind --- tools/cli/commands-packages.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cli/commands-packages.js b/tools/cli/commands-packages.js index 6a5c4d071c..9f26b97089 100644 --- a/tools/cli/commands-packages.js +++ b/tools/cli/commands-packages.js @@ -927,7 +927,7 @@ main.registerCommand({ return; } toPublish.push(packageName); - Console.info("Will publish new version for " + packageName); + Console.info(`Will publish new version for ${ packageName }: ${ packageSource.version }`); return; } else { var isopk = projectContext.isopackCache.getIsopack(packageName); From 9b7c9729b64ef5d7341dc905f1ac54150a910ed2 Mon Sep 17 00:00:00 2001 From: Dirk Stolle Date: Thu, 3 Nov 2022 16:59:22 +0100 Subject: [PATCH 052/398] update actions used in GitHub workflows to newest versions - bump actions/checkout to v3 - bump actions/setup-node to v3 - bump actions/labeler to v4 - bump nwtgck/actions-netlify to v1.2.4 --- .github/workflows/docs.yml | 6 +++--- .github/workflows/guide.yml | 6 +++--- .github/workflows/labeler.yml | 2 +- .github/workflows/npm-eslint-plugin-meteor.yml | 4 ++-- .github/workflows/npm-meteor-babel.yml | 4 ++-- .github/workflows/npm-meteor-promise.yml | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 168b487427..a9624d9ad1 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -10,14 +10,14 @@ jobs: run: working-directory: docs/ steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: node-version: 12.x - name: Build the Docs run: npm ci && npm run build - name: Deploy to Netlify for preview - uses: nwtgck/actions-netlify@v1.2.2 + uses: nwtgck/actions-netlify@v1.2.4 with: publish-dir: './docs/public/' production-branch: devel diff --git a/.github/workflows/guide.yml b/.github/workflows/guide.yml index 4a8a7f1ce5..124b500ce9 100644 --- a/.github/workflows/guide.yml +++ b/.github/workflows/guide.yml @@ -10,14 +10,14 @@ jobs: run: working-directory: guide/ steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: node-version: 12.x - name: Build the Guide run: npm ci && npm run build - name: Deploy to Netlify for preview - uses: nwtgck/actions-netlify@v1.2.2 + uses: nwtgck/actions-netlify@v1.2.4 with: publish-dir: './guide/public' production-branch: devel diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 1861d20d9e..a9d25b1e47 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -17,6 +17,6 @@ jobs: label: runs-on: ubuntu-latest steps: - - uses: actions/labeler@v3 + - uses: actions/labeler@v4 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/npm-eslint-plugin-meteor.yml b/.github/workflows/npm-eslint-plugin-meteor.yml index 33c0ca5921..b1415fb405 100644 --- a/.github/workflows/npm-eslint-plugin-meteor.yml +++ b/.github/workflows/npm-eslint-plugin-meteor.yml @@ -20,9 +20,9 @@ jobs: matrix: node-version: [12.x, 14.x] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} cache: npm diff --git a/.github/workflows/npm-meteor-babel.yml b/.github/workflows/npm-meteor-babel.yml index c2a260b3ae..56ac244b85 100644 --- a/.github/workflows/npm-meteor-babel.yml +++ b/.github/workflows/npm-meteor-babel.yml @@ -20,9 +20,9 @@ jobs: matrix: node-version: [12.x, 14.x] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} cache: npm diff --git a/.github/workflows/npm-meteor-promise.yml b/.github/workflows/npm-meteor-promise.yml index 6351c718fd..484ccd7769 100644 --- a/.github/workflows/npm-meteor-promise.yml +++ b/.github/workflows/npm-meteor-promise.yml @@ -20,9 +20,9 @@ jobs: matrix: node-version: [12.x, 14.x] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} cache: npm From 5d62691a6a4570e71fe403fa7c2a9f22e7da366e Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 21 Dec 2022 10:09:34 +0900 Subject: [PATCH 053/398] Bump Typescript to v4.7.4 --- .../eslint-plugin-meteor/scripts/dev-bundle-tool-package.js | 4 ++-- npm-packages/meteor-babel/package.json | 4 ++-- packages/babel-compiler/package.js | 4 ++-- packages/typescript/package.js | 2 +- tools/static-assets/skel-typescript/package.json | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/npm-packages/eslint-plugin-meteor/scripts/dev-bundle-tool-package.js b/npm-packages/eslint-plugin-meteor/scripts/dev-bundle-tool-package.js index de71198d42..1b0fb50666 100644 --- a/npm-packages/eslint-plugin-meteor/scripts/dev-bundle-tool-package.js +++ b/npm-packages/eslint-plugin-meteor/scripts/dev-bundle-tool-package.js @@ -14,8 +14,8 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/a81b0324686e85d22c7688c47629d4009000e8b8", "node-gyp": "8.0.0", "node-pre-gyp": "0.15.0", - typescript: "4.6.4", - "@meteorjs/babel": "7.17.1-beta.0", + typescript: "4.7.4", + "@meteorjs/babel": "7.18.0-beta.5", // Keep the versions of these packages consistent with the versions // found in dev-bundle-server-package.js. "meteor-promise": "0.9.0", diff --git a/npm-packages/meteor-babel/package.json b/npm-packages/meteor-babel/package.json index 56a18465f3..27cccf1c73 100644 --- a/npm-packages/meteor-babel/package.json +++ b/npm-packages/meteor-babel/package.json @@ -1,7 +1,7 @@ { "name": "@meteorjs/babel", "author": "Meteor ", - "version": "7.18.0-beta.4", + "version": "7.18.0-beta.5", "license": "MIT", "description": "Babel wrapper package for use with Meteor", "keywords": [ @@ -47,7 +47,7 @@ "convert-source-map": "^1.6.0", "lodash": "^4.17.21", "meteor-babel-helpers": "0.0.3", - "typescript": "~4.6.4" + "typescript": "~4.7.4" }, "devDependencies": { "@babel/plugin-proposal-decorators": "7.14.5", diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index a3ecdbed82..a78caae77c 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -1,11 +1,11 @@ Package.describe({ name: "babel-compiler", summary: "Parser/transpiler for ECMAScript 2015+ syntax", - version: '7.10.1' + version: '7.10.2' }); Npm.depends({ - '@meteorjs/babel': '7.17.2-beta.0', + '@meteorjs/babel': '7.18.0-beta.5', 'json5': '2.1.1' }); diff --git a/packages/typescript/package.js b/packages/typescript/package.js index 21db263e8c..34caaba00c 100644 --- a/packages/typescript/package.js +++ b/packages/typescript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'typescript', - version: '4.6.4', + version: '4.7.4', summary: 'Compiler plugin that compiles TypeScript and ECMAScript in .ts and .tsx files', documentation: 'README.md', diff --git a/tools/static-assets/skel-typescript/package.json b/tools/static-assets/skel-typescript/package.json index 76457880f7..ccb071d0f3 100644 --- a/tools/static-assets/skel-typescript/package.json +++ b/tools/static-assets/skel-typescript/package.json @@ -18,7 +18,7 @@ "@types/mocha": "^8.2.3", "@types/react": "^17.0.43", "@types/react-dom": "^17.0.14", - "typescript": "^4.6.4" + "typescript": "^4.7.4" }, "meteor": { "mainModule": { From 3fd99a4c169c6496255a23cfb8510ee90535d69a Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 21 Dec 2022 14:17:04 -0300 Subject: [PATCH 054/398] fix: missing vue2 declaration --- tools/cli/commands.js | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index 22ffdebaeb..2467f05879 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -521,6 +521,7 @@ export const AVAILABLE_SKELETONS = [ DEFAULT_SKELETON, "typescript", "vue", + 'vue-2', "svelte", "tailwind", "chakra-ui", From 82b040762616128db9209222f3dd1f51c004c69f Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 21 Dec 2022 14:25:40 -0300 Subject: [PATCH 055/398] docs: updated 2.9.1 docs --- docs/history.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/history.md b/docs/history.md index 912c968c79..42e99c987a 100644 --- a/docs/history.md +++ b/docs/history.md @@ -7,7 +7,8 @@ * update svelte skeleton [PR](https://github.com/meteor/meteor/pull/12350) by [tosinek](https://github.com/tosinek). * Bump to node 14.21.2.0 [PR](https://github.com/meteor/meteor/pull/12370) by [Grubba27](https://github.com/Grubba27). * resetPassword and verifyEmail to no longer sign in the user automatically [PR](https://github.com/meteor/meteor/pull/12385) by [denihs](https://github.com/denihs). -* +* Added missing vue2 declaration for skeletons [PR](https://github.com/meteor/meteor/pull/12396) by [Grubba27](https://github.com/Grubba27) & [planning](https://github.com/mlanning) + #### Breaking Changes * `accounts-password@2.3.3` @@ -33,16 +34,16 @@ N/a * `accounts-password@2.3.3` - The methods `resetPassword` and `verifyEmail` no longer logs the user if they have 2FA enabled. Now, the functions work as before, but instead of automatically logging in the user at the end, an error with the code `2fa-enabled` will be thrown. -* `Comand line`: +* `Command line`: - Updated Svelte skeleton to now be able to support typescript out of the box and some idioms to the skeleton - Updated node to 14.21.2 changes can be seen [here](https://github.com/nodejs/node/releases/tag/v14.21.2) - - + - Solved [issue](https://github.com/meteor/meteor/issues/12395) that could not allow vue2 apps being created in command line #### Special thanks to - [@zarvox](https://github.com/zarvox). - [@tosinek](https://github.com/tosinek). - [@Grubba27](https://github.com/Grubba27). - [@denihs](https://github.com/denihs) - +- [mlanning](https://github.com/mlanning) For making this great framework even better! From f094515825c30771359f8245e713a8dd123ace79 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 22 Dec 2022 10:28:48 -0300 Subject: [PATCH 056/398] Meteor version to 2.9.1-rc.0 :comet: --- packages/accounts-password/package.js | 2 +- packages/fetch/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index 4a101f7ff6..f93bca9c7c 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: '2.3.3-beta291.4', + version: '2.3.3-rc291.0', }); Npm.depends({ diff --git a/packages/fetch/package.js b/packages/fetch/package.js index 0b52838105..b868b2df94 100644 --- a/packages/fetch/package.js +++ b/packages/fetch/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "fetch", - version: '0.1.3-beta291.4', + version: '0.1.3-rc291.0', summary: "Isomorphic modern/legacy/Node polyfill for WHATWG fetch()", documentation: "README.md" }); diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 9d8ac5e94b..a252d11ff3 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: '2.9.1-beta.4', + version: '2.9.1-rc.0', }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 711be04d7e..75067dae3b 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.10.4-beta291.4' + version: '1.10.4-rc291.0' }); Package.registerBuildPlugin({ diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 8031905a03..7a18f6f0ef 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.9.1-beta.4", + "version": "2.9.1-rc.0", "recommended": false, "official": false, "description": "Meteor experimental release" From fdec5f2ea6ea20144abd0ed94d231302f9ee2fbf Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Tue, 27 Dec 2022 10:06:57 +0900 Subject: [PATCH 057/398] #12398 doc fix --- docs/history.md | 2 +- guide/source/2.9-migration.md | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/history.md b/docs/history.md index 2c41408d65..a1ebdc3b7a 100644 --- a/docs/history.md +++ b/docs/history.md @@ -31,7 +31,7 @@ by [henriquealbert](https://github.com/henriquealbert). #### Breaking Changes - N/A +* `Accounts.createUserVerifyingEmail` is now async #### Internal API changes * Internal methods from `OAuth` that are now async: diff --git a/guide/source/2.9-migration.md b/guide/source/2.9-migration.md index 6da327420a..41e18525dd 100644 --- a/guide/source/2.9-migration.md +++ b/guide/source/2.9-migration.md @@ -70,6 +70,12 @@ We now have async version of methods that you already use. They are: - [Meteor.userAsync()](https://github.com/meteor/meteor/pull/12274) - [CssTools.minifyCssAsync()](https://github.com/meteor/meteor/pull/12105) +

Breaking async

+ +`Accounts.createUserVerifyingEmail` is now completely async: + +- [Accounts.createUserVerifyingEmail](https://github.com/meteor/meteor/issues/12398) +

Accounts-base without service-configuration

Now `accounts-base` is [no longer tied up](https://github.com/meteor/meteor/pull/12202) with `service-configuration`. So, if you don't use third-party login on your project, you don't need to add the package `service-configuration` anymore. From a134c818752ff0094edad7ab138bd9e33809069e Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Tue, 27 Dec 2022 10:11:10 +0900 Subject: [PATCH 058/398] #12398 add migration example --- guide/source/2.9-migration.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/guide/source/2.9-migration.md b/guide/source/2.9-migration.md index 41e18525dd..0ea83e0730 100644 --- a/guide/source/2.9-migration.md +++ b/guide/source/2.9-migration.md @@ -76,6 +76,37 @@ We now have async version of methods that you already use. They are: - [Accounts.createUserVerifyingEmail](https://github.com/meteor/meteor/issues/12398) +To upgrade change from +```js +Meteor.methods({ + createUserAccount (user) { + /** + * This seems to be the issue. + * Using the other method `createUser` works as expected. + */ + Accounts.createUserVerifyingEmail({ + username: user.username, + email: user.email, + password: user.password, + }); + } +}); +``` + +to + +```js +Meteor.methods({ + async createUserAccount (user) { + await Accounts.createUserVerifyingEmail({ + username: user.username, + email: user.email, + password: user.password, + }); + } +}); +``` +

Accounts-base without service-configuration

Now `accounts-base` is [no longer tied up](https://github.com/meteor/meteor/pull/12202) with `service-configuration`. So, if you don't use third-party login on your project, you don't need to add the package `service-configuration` anymore. From 2be640693740f9852d61a4782b86c4ac0ad9126e Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 27 Dec 2022 13:37:06 -0300 Subject: [PATCH 059/398] docs: updated 2.9.1 docs --- docs/history.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/history.md b/docs/history.md index 42e99c987a..e18f1b1981 100644 --- a/docs/history.md +++ b/docs/history.md @@ -1,4 +1,4 @@ -## v2.9.1, 2022-XX-XX +## v2.9.1, 2022-12-27 ### Highlights @@ -7,7 +7,7 @@ * update svelte skeleton [PR](https://github.com/meteor/meteor/pull/12350) by [tosinek](https://github.com/tosinek). * Bump to node 14.21.2.0 [PR](https://github.com/meteor/meteor/pull/12370) by [Grubba27](https://github.com/Grubba27). * resetPassword and verifyEmail to no longer sign in the user automatically [PR](https://github.com/meteor/meteor/pull/12385) by [denihs](https://github.com/denihs). -* Added missing vue2 declaration for skeletons [PR](https://github.com/meteor/meteor/pull/12396) by [Grubba27](https://github.com/Grubba27) & [planning](https://github.com/mlanning) +* Added missing vue2 declaration for skeletons [PR](https://github.com/meteor/meteor/pull/12396) by [Grubba27](https://github.com/Grubba27) & [mlanning](https://github.com/mlanning) #### Breaking Changes @@ -21,14 +21,14 @@ N/A #### Migration Steps -N/a +N/A #### Meteor Version Release * `fetch@0.1.3`: - Updated fetch type definition. -* `fetch@1.10.4: +* `meteor@1.10.4`: - Added back meteor type definitions that were removed by mistake in earlier version. * `accounts-password@2.3.3` @@ -38,12 +38,14 @@ N/a - Updated Svelte skeleton to now be able to support typescript out of the box and some idioms to the skeleton - Updated node to 14.21.2 changes can be seen [here](https://github.com/nodejs/node/releases/tag/v14.21.2) - Solved [issue](https://github.com/meteor/meteor/issues/12395) that could not allow vue2 apps being created in command line + #### Special thanks to - [@zarvox](https://github.com/zarvox). - [@tosinek](https://github.com/tosinek). - [@Grubba27](https://github.com/Grubba27). -- [@denihs](https://github.com/denihs) -- [mlanning](https://github.com/mlanning) +- [@denihs](https://github.com/denihs). +- [@mlanning](https://github.com/mlanning). + For making this great framework even better! From 0d9abe8b75c3477e22d13594ac4bbc10a2ecb7cf Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 27 Dec 2022 13:39:40 -0300 Subject: [PATCH 060/398] docs: updated unclear definitions --- docs/history.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/history.md b/docs/history.md index db5f6cdd85..25430a93e5 100644 --- a/docs/history.md +++ b/docs/history.md @@ -35,7 +35,7 @@ N/A - The methods `resetPassword` and `verifyEmail` no longer logs the user if they have 2FA enabled. Now, the functions work as before, but instead of automatically logging in the user at the end, an error with the code `2fa-enabled` will be thrown. * `Command line`: - - Updated Svelte skeleton to now be able to support typescript out of the box and some idioms to the skeleton + - Updated Svelte skeleton to now be able to support typescript out of the box and added ``#each`` in links in the skeleton. - Updated node to 14.21.2 changes can be seen [here](https://github.com/nodejs/node/releases/tag/v14.21.2) - Solved [issue](https://github.com/meteor/meteor/issues/12395) that could not allow vue2 apps being created in command line From 67ba2f65a6619b1a38ecf42bf2816e0d811e2ef5 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 27 Dec 2022 13:43:35 -0300 Subject: [PATCH 061/398] docs: added missing ponctuation in history.md --- docs/history.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/history.md b/docs/history.md index 25430a93e5..6a845af21d 100644 --- a/docs/history.md +++ b/docs/history.md @@ -7,7 +7,7 @@ * update svelte skeleton [PR](https://github.com/meteor/meteor/pull/12350) by [tosinek](https://github.com/tosinek). * Bump to node 14.21.2.0 [PR](https://github.com/meteor/meteor/pull/12370) by [Grubba27](https://github.com/Grubba27). * resetPassword and verifyEmail to no longer sign in the user automatically [PR](https://github.com/meteor/meteor/pull/12385) by [denihs](https://github.com/denihs). -* Added missing vue2 declaration for skeletons [PR](https://github.com/meteor/meteor/pull/12396) by [Grubba27](https://github.com/Grubba27) & [mlanning](https://github.com/mlanning) +* Added missing vue2 declaration for skeletons [PR](https://github.com/meteor/meteor/pull/12396) by [Grubba27](https://github.com/Grubba27) & [mlanning](https://github.com/mlanning). #### Breaking Changes @@ -36,8 +36,8 @@ N/A * `Command line`: - Updated Svelte skeleton to now be able to support typescript out of the box and added ``#each`` in links in the skeleton. - - Updated node to 14.21.2 changes can be seen [here](https://github.com/nodejs/node/releases/tag/v14.21.2) - - Solved [issue](https://github.com/meteor/meteor/issues/12395) that could not allow vue2 apps being created in command line + - Updated node to 14.21.2 changes can be seen [here](https://github.com/nodejs/node/releases/tag/v14.21.2). + - Solved [issue](https://github.com/meteor/meteor/issues/12395) that could not allow vue2 apps being created in command line. #### Special thanks to - [@zarvox](https://github.com/zarvox). From bc3d27e022c8363b6293bc73725aa38b8915f560 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 27 Dec 2022 13:59:41 -0300 Subject: [PATCH 062/398] Meteor version to 2.9.1 :comet: --- packages/accounts-password/package.js | 2 +- packages/fetch/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- scripts/admin/meteor-release-official.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index f93bca9c7c..2b23a6373d 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: '2.3.3-rc291.0', + version: '2.3.3', }); Npm.depends({ diff --git a/packages/fetch/package.js b/packages/fetch/package.js index b868b2df94..1d13e505d5 100644 --- a/packages/fetch/package.js +++ b/packages/fetch/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "fetch", - version: '0.1.3-rc291.0', + version: '0.1.3', summary: "Isomorphic modern/legacy/Node polyfill for WHATWG fetch()", documentation: "README.md" }); diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index a252d11ff3..e31fcbacf3 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: '2.9.1-rc.0', + version: '2.9.1', }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 75067dae3b..9056fec7d6 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.10.4-rc291.0' + version: '1.10.4' }); Package.registerBuildPlugin({ diff --git a/scripts/admin/meteor-release-official.json b/scripts/admin/meteor-release-official.json index 27a0c865e4..2920330372 100644 --- a/scripts/admin/meteor-release-official.json +++ b/scripts/admin/meteor-release-official.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.9.0", + "version": "2.9.1", "recommended": false, "official": true, "description": "The Official Meteor Distribution" From d4042b2cc81316b3681a14ec60fe1d2c42bc9fcc Mon Sep 17 00:00:00 2001 From: Evan Broder Date: Wed, 28 Dec 2022 13:12:37 -0800 Subject: [PATCH 063/398] Fix errors in Mongo types Both the synchronous and asynchronous iterators for Mongo.Cursor are defined to have a "next" argument type of never. However, TypeScript will reject using such an iterator in a for-of loop with: > Cannot iterate value because the 'next' method of its iterator expects > type 'never', but for-of will always send 'undefined'.ts(2763) This changes back to the default (undefined), which is acceptable, since the iterators ignore any arguments passed into next() anyway. It also correctly declares the return type of dropIndexAsync, which should return a Promise, not void. --- packages/mongo/mongo.d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/mongo/mongo.d.ts b/packages/mongo/mongo.d.ts index 43e8e9c3e7..67dc5e0ccb 100644 --- a/packages/mongo/mongo.d.ts +++ b/packages/mongo/mongo.d.ts @@ -269,7 +269,7 @@ export namespace Mongo { transform?: Fn | undefined; }): boolean; dropCollectionAsync(): Promise; - dropIndexAsync(indexName: string): void; + dropIndexAsync(indexName: string): Promise; /** * Find the documents in a collection that match the selector. * @param selector A query describing the documents to find @@ -541,8 +541,8 @@ export namespace Mongo { callbacks: ObserveChangesCallbacks, options?: { nonMutatingCallbacks?: boolean | undefined } ): Meteor.LiveQueryHandle; - [Symbol.iterator](): Iterator; - [Symbol.asyncIterator](): AsyncIterator; + [Symbol.iterator](): Iterator; + [Symbol.asyncIterator](): AsyncIterator; } var ObjectID: ObjectIDStatic; From aaefcc9abf3375873e902174ee55acba52350e15 Mon Sep 17 00:00:00 2001 From: Tim Gates Date: Fri, 30 Dec 2022 11:24:39 +1100 Subject: [PATCH 064/398] docs: Fix a few typos There are small typos in: - docs/source/commandline.md - tools/isobuild/compiler-deprecated-compile-step.js - tools/utils/buildmessage.js Fixes: - Should read `libraries` rather than `libaries`. - Should read `file name` rather than `filenanme`. - Should read `compatibility` rather than `compitability`. Signed-off-by: Tim Gates --- docs/source/commandline.md | 2 +- tools/isobuild/compiler-deprecated-compile-step.js | 2 +- tools/utils/buildmessage.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/commandline.md b/docs/source/commandline.md index a3a242df17..db994e03e1 100644 --- a/docs/source/commandline.md +++ b/docs/source/commandline.md @@ -926,7 +926,7 @@ from npm to your `node_modules` directory and save its usage in your Using the `meteor npm ...` commands in place of traditional `npm ...` commands is particularly important when using Node.js modules that have binary dependencies that make native C calls (like [`bcrypt`](https://www.npmjs.com/package/bcrypt)) -because doing so ensures that they are built using the same libaries. +because doing so ensures that they are built using the same libraries. Additionally, this access to the npm that comes with Meteor avoids the need to download and install npm separately. diff --git a/tools/isobuild/compiler-deprecated-compile-step.js b/tools/isobuild/compiler-deprecated-compile-step.js index fe3b9c76c8..0fad0c671d 100644 --- a/tools/isobuild/compiler-deprecated-compile-step.js +++ b/tools/isobuild/compiler-deprecated-compile-step.js @@ -1,7 +1,7 @@ // This file contains an old definition of CompileStep, an object that is passed // to the package-provided file handler. // Since then, the newer API called "Batch Plugins" have replaced it but we keep -// the functionality for the backwards-compitability. +// the functionality for the backwards-compatibility. // @deprecated // XXX COMPAT WITH 1.1.0.2 diff --git a/tools/utils/buildmessage.js b/tools/utils/buildmessage.js index 0d468624c1..48cbec19c4 100644 --- a/tools/utils/buildmessage.js +++ b/tools/utils/buildmessage.js @@ -75,7 +75,7 @@ Object.assign(Job.prototype, { } line += ": "; } else { - // not sure how to display messages without a filenanme.. try this? + // not sure how to display messages without a file name.. try this? line += "error: "; } // XXX line wrapping would be nice.. From fe1602c95711e42c9ff266dbe6d7ba0759d0e708 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Tue, 3 Jan 2023 11:11:47 +0900 Subject: [PATCH 065/398] Update skeletons to use React 18 --- tools/static-assets/skel-apollo/client/main.jsx | 6 ++++-- tools/static-assets/skel-apollo/package.json | 8 ++++---- tools/static-assets/skel-react/client/main.jsx | 6 ++++-- tools/static-assets/skel-react/package.json | 8 ++++---- tools/static-assets/skel-typescript/client/main.tsx | 8 +++++--- tools/static-assets/skel-typescript/package.json | 12 ++++++------ 6 files changed, 27 insertions(+), 21 deletions(-) diff --git a/tools/static-assets/skel-apollo/client/main.jsx b/tools/static-assets/skel-apollo/client/main.jsx index a42cee8ff3..d2e380f93c 100644 --- a/tools/static-assets/skel-apollo/client/main.jsx +++ b/tools/static-assets/skel-apollo/client/main.jsx @@ -1,8 +1,10 @@ import React from 'react'; +import { createRoot } from 'react-dom/client'; import { Meteor } from 'meteor/meteor'; -import { render } from 'react-dom'; import { App } from '/imports/ui/App'; Meteor.startup(() => { - render(, document.getElementById('react-target')); + const container = document.getElementById('react-target'); + const root = createRoot(container); + root.render(); }); diff --git a/tools/static-assets/skel-apollo/package.json b/tools/static-assets/skel-apollo/package.json index 169453642c..5b0908c844 100644 --- a/tools/static-assets/skel-apollo/package.json +++ b/tools/static-assets/skel-apollo/package.json @@ -8,12 +8,12 @@ "visualize": "meteor --production --extra-packages bundle-visualizer" }, "dependencies": { - "@apollo/client": "^3.6.9", - "@babel/runtime": "^7.18.6", + "@apollo/client": "^3.7.3", + "@babel/runtime": "^7.20.7", "apollo-server-express": "^3.10.0", "express": "^4.18.1", - "graphql": "^15.8.0", - "meteor-node-stubs": "^1.2.3", + "graphql": "^16.6.0", + "meteor-node-stubs": "^1.2.5", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/tools/static-assets/skel-react/client/main.jsx b/tools/static-assets/skel-react/client/main.jsx index a42cee8ff3..d2e380f93c 100644 --- a/tools/static-assets/skel-react/client/main.jsx +++ b/tools/static-assets/skel-react/client/main.jsx @@ -1,8 +1,10 @@ import React from 'react'; +import { createRoot } from 'react-dom/client'; import { Meteor } from 'meteor/meteor'; -import { render } from 'react-dom'; import { App } from '/imports/ui/App'; Meteor.startup(() => { - render(, document.getElementById('react-target')); + const container = document.getElementById('react-target'); + const root = createRoot(container); + root.render(); }); diff --git a/tools/static-assets/skel-react/package.json b/tools/static-assets/skel-react/package.json index 2b26e9c8cd..1b0c4457f4 100644 --- a/tools/static-assets/skel-react/package.json +++ b/tools/static-assets/skel-react/package.json @@ -8,10 +8,10 @@ "visualize": "meteor --production --extra-packages bundle-visualizer" }, "dependencies": { - "@babel/runtime": "^7.17.9", - "meteor-node-stubs": "^1.2.1", - "react": "^17.0.2", - "react-dom": "^17.0.2" + "@babel/runtime": "^7.20.7", + "meteor-node-stubs": "^1.2.5", + "react": "^18.2.0", + "react-dom": "^18.2.0" }, "meteor": { "mainModule": { diff --git a/tools/static-assets/skel-typescript/client/main.tsx b/tools/static-assets/skel-typescript/client/main.tsx index 5e9849b062..523141b528 100644 --- a/tools/static-assets/skel-typescript/client/main.tsx +++ b/tools/static-assets/skel-typescript/client/main.tsx @@ -1,8 +1,10 @@ import React from 'react'; +import { createRoot } from 'react-dom/client'; import { Meteor } from 'meteor/meteor'; -import { render } from 'react-dom'; -import { App } from '/imports/ui/App' +import { App } from '/imports/ui/App'; Meteor.startup(() => { - render(, document.getElementById('react-target')); + const container = document.getElementById('react-target'); + const root = createRoot(container!); + root.render(); }); diff --git a/tools/static-assets/skel-typescript/package.json b/tools/static-assets/skel-typescript/package.json index 76457880f7..f9ac32d489 100644 --- a/tools/static-assets/skel-typescript/package.json +++ b/tools/static-assets/skel-typescript/package.json @@ -8,16 +8,16 @@ "visualize": "meteor --production --extra-packages bundle-visualizer" }, "dependencies": { - "@babel/runtime": "^7.17.9", - "meteor-node-stubs": "^1.2.1", - "react": "^17.0.2", - "react-dom": "^17.0.2" + "@babel/runtime": "^7.20.7", + "meteor-node-stubs": "^1.2.5", + "react": "^18.2.0", + "react-dom": "^18.2.0" }, "devDependencies": { "@types/meteor": "^1.4.87", "@types/mocha": "^8.2.3", - "@types/react": "^17.0.43", - "@types/react-dom": "^17.0.14", + "@types/react": "^18.0.26", + "@types/react-dom": "^18.0.10", "typescript": "^4.6.4" }, "meteor": { From 59e7fedccfc721def2991a4ef63b931fd7b940e8 Mon Sep 17 00:00:00 2001 From: harryadel Date: Tue, 3 Jan 2023 11:25:36 +0200 Subject: [PATCH 066/398] [test-in-browser] Import diff_match_patch instead of global import --- packages/test-in-browser/driver.js | 2 +- packages/test-in-browser/package.js | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/test-in-browser/driver.js b/packages/test-in-browser/driver.js index b8fb0a9ecf..d14a6fecde 100644 --- a/packages/test-in-browser/driver.js +++ b/packages/test-in-browser/driver.js @@ -1,7 +1,7 @@ //// //// Setup //// - +import { diff_match_patch } from './diff_match_patch_uncompressed' import 'bootstrap/dist/css/bootstrap.min.css'; // dependency for the count of tests running/passed/failed, etc. drives diff --git a/packages/test-in-browser/package.js b/packages/test-in-browser/package.js index 3840a847c1..4fceca27d6 100644 --- a/packages/test-in-browser/package.js +++ b/packages/test-in-browser/package.js @@ -27,8 +27,6 @@ Package.onUse(function (api) { 'tracker', ], 'client'); - api.addFiles('diff_match_patch_uncompressed.js', 'client'); - api.addFiles([ 'driver.html', 'driver.js', From 46f001ebe9d5d8b56879aea8ade285f43f8f5aea Mon Sep 17 00:00:00 2001 From: harryadel Date: Tue, 3 Jan 2023 11:48:09 +0200 Subject: [PATCH 067/398] [test-in-browser] Update blaze submodule --- packages/non-core/blaze | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/non-core/blaze b/packages/non-core/blaze index c856c6604b..646383bc37 160000 --- a/packages/non-core/blaze +++ b/packages/non-core/blaze @@ -1 +1 @@ -Subproject commit c856c6604b6e54b9a8fe87cd941a8bd660fd7e4f +Subproject commit 646383bc3730648c98ce8be8930d697f6eca83f3 From a61bcc395105bd4a0ddfe9f2ee5c9d63f158ff99 Mon Sep 17 00:00:00 2001 From: harryadel Date: Tue, 3 Jan 2023 12:29:54 +0200 Subject: [PATCH 068/398] Fix blaze-html-templates version constraint --- tools/tests/apps/shell/.meteor/packages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tests/apps/shell/.meteor/packages b/tools/tests/apps/shell/.meteor/packages index c45a0da55a..62532884c8 100644 --- a/tools/tests/apps/shell/.meteor/packages +++ b/tools/tests/apps/shell/.meteor/packages @@ -7,7 +7,7 @@ meteor-base # Packages every Meteor app needs to have mobile-experience # Packages for a great mobile UX mongo # The database Meteor supports right now -blaze-html-templates # Compile .html files into Meteor Blaze views +blaze-html-templates@2.0.0! # Compile .html files into Meteor Blaze views reactive-var # Reactive variable for tracker jquery # Helpful client-side library tracker # Meteor's client-side reactive programming library From 76c85ee0e457dfe467f0dc5adfbda7090cfae11b Mon Sep 17 00:00:00 2001 From: harryadel Date: Tue, 3 Jan 2023 13:24:50 +0200 Subject: [PATCH 069/398] [test-in-browser] Update blaze-html-templates version in dynamic-import --- tools/tests/apps/dynamic-import/.meteor/packages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tests/apps/dynamic-import/.meteor/packages b/tools/tests/apps/dynamic-import/.meteor/packages index 1570f6c394..04a1d2b87d 100644 --- a/tools/tests/apps/dynamic-import/.meteor/packages +++ b/tools/tests/apps/dynamic-import/.meteor/packages @@ -7,7 +7,7 @@ meteor-base@1.4.0 # Packages every Meteor app needs to have mobile-experience@1.1.0 # Packages for a great mobile UX mongo@1.9.0 # The database Meteor supports right now -blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views +blaze-html-templates@2.0.0! # Compile .html files into Meteor Blaze views reactive-var@1.0.12 # Reactive variable for tracker tracker@1.2.1 # Meteor's client-side reactive programming library From 2fca78bf43a915811bfaf1019b56fe8280c159d0 Mon Sep 17 00:00:00 2001 From: Per Bergland Date: Fri, 30 Dec 2022 15:30:06 +0100 Subject: [PATCH 070/398] Use native driver types instead of homebuilt --- packages/mongo/mongo.d.ts | 111 +++----------------------------------- 1 file changed, 8 insertions(+), 103 deletions(-) diff --git a/packages/mongo/mongo.d.ts b/packages/mongo/mongo.d.ts index 43e8e9c3e7..38682bde81 100644 --- a/packages/mongo/mongo.d.ts +++ b/packages/mongo/mongo.d.ts @@ -15,78 +15,11 @@ export type UnionOmit = T extends T : never; export namespace Mongo { - // prettier-ignore - type BsonType = 1 | "double" | - 2 | "string" | - 3 | "object" | - 4 | "array" | - 5 | "binData" | - 6 | "undefined" | - 7 | "objectId" | - 8 | "bool" | - 9 | "date" | - 10 | "null" | - 11 | "regex" | - 12 | "dbPointer" | - 13 | "javascript" | - 14 | "symbol" | - 15 | "javascriptWithScope" | - 16 | "int" | - 17 | "timestamp" | - 18 | "long" | - 19 | "decimal" | - -1 | "minKey" | - 127 | "maxKey" | "number"; - type FieldExpression = { - $eq?: T | undefined; - $gt?: T | undefined; - $gte?: T | undefined; - $lt?: T | undefined; - $lte?: T | undefined; - $in?: T[] | undefined; - $nin?: T[] | undefined; - $ne?: T | undefined; - $exists?: boolean | undefined; - $type?: BsonType[] | BsonType | undefined; - $not?: FieldExpression | undefined; - $expr?: FieldExpression | undefined; - $jsonSchema?: any; - $mod?: number[] | undefined; - $regex?: RegExp | string | undefined; - $options?: string | undefined; - $text?: - | { - $search: string; - $language?: string | undefined; - $caseSensitive?: boolean | undefined; - $diacriticSensitive?: boolean | undefined; - } - | undefined; - $where?: string | Function | undefined; - $geoIntersects?: any; - $geoWithin?: any; - $near?: any; - $nearSphere?: any; - $all?: T[] | undefined; - $elemMatch?: T extends {} ? Query : FieldExpression | undefined; - $size?: number | undefined; - $bitsAllClear?: any; - $bitsAllSet?: any; - $bitsAnyClear?: any; - $bitsAnySet?: any; - $comment?: string | undefined; - }; - - type Flatten = T extends any[] ? T[0] : T; - - type Query = { - [P in keyof T]?: Flatten | RegExp | FieldExpression>; - } & { - $or?: Query[] | undefined; - $and?: Query[] | undefined; - $nor?: Query[] | undefined; - } & Dictionary; + /** + * Alias for {@link MongoNpmModule.Filter} + */ + type Query = MongoNpmModule.Filter; type QueryWithModifiers = { $query: Query; @@ -122,41 +55,13 @@ export namespace Mongo { $sort?: 1 | -1 | Dictionary | undefined; }; }; - type ArraysOrEach = { - [P in keyof T]?: OnlyElementsOfArrays | { $each: T[P] }; - }; - type CurrentDateModifier = { $type: 'timestamp' | 'date' } | true; - type Modifier = - | T - | { - $currentDate?: - | (Partial> & - Dictionary) - | undefined; - $inc?: (PartialMapTo & Dictionary) | undefined; - $min?: - | (PartialMapTo & Dictionary) - | undefined; - $max?: - | (PartialMapTo & Dictionary) - | undefined; - $mul?: (PartialMapTo & Dictionary) | undefined; - $rename?: (PartialMapTo & Dictionary) | undefined; - $set?: (Partial & Dictionary) | undefined; - $setOnInsert?: (Partial & Dictionary) | undefined; - $unset?: - | (PartialMapTo & Dictionary) - | undefined; - $addToSet?: (ArraysOrEach & Dictionary) | undefined; - $push?: (PushModifier & Dictionary) | undefined; - $pull?: (ElementsOf & Dictionary) | undefined; - $pullAll?: (Partial & Dictionary) | undefined; - $pop?: (PartialMapTo & Dictionary<1 | -1>) | undefined; - }; + + type Modifier = MongoNpmModule.UpdateFilter; type OptionalId = UnionOmit & { _id?: any }; - interface SortSpecifier {} + type SortSpecifier = MongoNpmModule.Sort; + interface FieldSpecifier { [id: string]: Number; } From 12be986301ed4c746ee187286ab844214f3ebdd2 Mon Sep 17 00:00:00 2001 From: Per Bergland Date: Fri, 30 Dec 2022 19:29:31 +0100 Subject: [PATCH 071/398] copy over fix from definitelytyped --- packages/mongo/mongo.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mongo/mongo.d.ts b/packages/mongo/mongo.d.ts index 38682bde81..59b74e2da6 100644 --- a/packages/mongo/mongo.d.ts +++ b/packages/mongo/mongo.d.ts @@ -446,8 +446,8 @@ export namespace Mongo { callbacks: ObserveChangesCallbacks, options?: { nonMutatingCallbacks?: boolean | undefined } ): Meteor.LiveQueryHandle; - [Symbol.iterator](): Iterator; - [Symbol.asyncIterator](): AsyncIterator; + [Symbol.iterator](): Iterator; + [Symbol.asyncIterator](): AsyncIterator; } var ObjectID: ObjectIDStatic; From fa23757abd083653d6b70750fb25342cd97fab50 Mon Sep 17 00:00:00 2001 From: Per Bergland Date: Wed, 4 Jan 2023 09:02:56 +0100 Subject: [PATCH 072/398] remove unused types, export more types --- packages/mongo/mongo.d.ts | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/packages/mongo/mongo.d.ts b/packages/mongo/mongo.d.ts index 59b74e2da6..4689b4e95d 100644 --- a/packages/mongo/mongo.d.ts +++ b/packages/mongo/mongo.d.ts @@ -16,12 +16,9 @@ export type UnionOmit = T extends T export namespace Mongo { - /** - * Alias for {@link MongoNpmModule.Filter} - */ type Query = MongoNpmModule.Filter; - type QueryWithModifiers = { + export type QueryWithModifiers = { $query: Query; $comment?: string | undefined; $explain?: any; @@ -36,39 +33,21 @@ export namespace Mongo { $natural?: any; }; - type Selector = Query | QueryWithModifiers; + export type Selector = Query | QueryWithModifiers; - type Dictionary = { [key: string]: T }; - type PartialMapTo = Partial>; - type OnlyArrays = T extends any[] ? T : never; - type OnlyElementsOfArrays = T extends any[] ? Partial : never; - type ElementsOf = { - [P in keyof T]?: OnlyElementsOfArrays; - }; - type PushModifier = { - [P in keyof T]?: - | OnlyElementsOfArrays - | { - $each?: T[P] | undefined; - $position?: number | undefined; - $slice?: number | undefined; - $sort?: 1 | -1 | Dictionary | undefined; - }; - }; - type Modifier = MongoNpmModule.UpdateFilter; - type OptionalId = UnionOmit & { _id?: any }; + export type OptionalId = UnionOmit & { _id?: any }; type SortSpecifier = MongoNpmModule.Sort; - interface FieldSpecifier { + export interface FieldSpecifier { [id: string]: Number; } type Transform = ((doc: T) => any) | null | undefined; - type Options = { + export type Options = { /** Sort order (default: natural order) */ sort?: SortSpecifier | undefined; /** Number of results to skip at the beginning */ From b1507e0325cf96036610a6e41dbc3b4e6b54d230 Mon Sep 17 00:00:00 2001 From: Per Bergland Date: Wed, 4 Jan 2023 09:10:35 +0100 Subject: [PATCH 073/398] export one more --- 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 4689b4e95d..aff69ba8e4 100644 --- a/packages/mongo/mongo.d.ts +++ b/packages/mongo/mongo.d.ts @@ -45,7 +45,7 @@ export namespace Mongo { [id: string]: Number; } - type Transform = ((doc: T) => any) | null | undefined; + export type Transform = ((doc: T) => any) | null | undefined; export type Options = { /** Sort order (default: natural order) */ From 5e0331a7b71f76850182ef73fcdfdbd7189276db Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 4 Jan 2023 13:33:45 -0300 Subject: [PATCH 074/398] Meteor version to 2.9.1 :comet: --- npm-packages/meteor-installer/README.md | 2 ++ npm-packages/meteor-installer/config.js | 2 +- npm-packages/meteor-installer/package.json | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/npm-packages/meteor-installer/README.md b/npm-packages/meteor-installer/README.md index 91ad13de8f..54dc2a47b1 100644 --- a/npm-packages/meteor-installer/README.md +++ b/npm-packages/meteor-installer/README.md @@ -14,6 +14,8 @@ npm install -g meteor | NPM Package | Meteor Official Release | |-------------|-------------------------| +| 2.9.1 | 2.9.1 | +| 2.9.0 | 2.9.0 | | 2.8.2 | 2.8.1 | | 2.8.1 | 2.8.1 | | 2.8.0 | 2.8.0 | diff --git a/npm-packages/meteor-installer/config.js b/npm-packages/meteor-installer/config.js index fcae57bcec..4c2e1ac925 100644 --- a/npm-packages/meteor-installer/config.js +++ b/npm-packages/meteor-installer/config.js @@ -1,7 +1,7 @@ const path = require('path'); const os = require('os'); -const METEOR_LATEST_VERSION = '2.9.0'; +const METEOR_LATEST_VERSION = '2.9.1'; const sudoUser = process.env.SUDO_USER || ''; function isRoot() { return process.getuid && process.getuid() === 0; diff --git a/npm-packages/meteor-installer/package.json b/npm-packages/meteor-installer/package.json index 53d344ef33..af52942de4 100644 --- a/npm-packages/meteor-installer/package.json +++ b/npm-packages/meteor-installer/package.json @@ -1,6 +1,6 @@ { "name": "meteor", - "version": "2.9.0", + "version": "2.9.1", "description": "Install Meteor", "main": "install.js", "scripts": { From 6a331ffe2022b69d12a59e2b103fc586f35993d2 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 4 Jan 2023 16:45:30 -0300 Subject: [PATCH 075/398] docs: added initial docs to 2.10 --- docs/history.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/docs/history.md b/docs/history.md index 6a845af21d..fe4bf5491e 100644 --- a/docs/history.md +++ b/docs/history.md @@ -1,3 +1,50 @@ +## v2.10.0, 2023-01-XX + +### Highlights + +* Update skeletons to use React 18 [PR](https://github.com/meteor/meteor/pull/12419) by [StorytellerCZ](https://github.com/StorytellerCZ). +* Use MongoDB types instead of the homebuilt [PR](https://github.com/meteor/meteor/pull/12415) by [perbergland](https://github.com/perbergland). +* Fixing wrong type definitions in MongoDB package [PR](https://github.com/meteor/meteor/pull/12409) by [ebroder](https://github.com/ebroder). +* Typescript to version v4.7.4 [PR](https://github.com/meteor/meteor/pull/12393) by [StorytellerCZ](https://github.com/StorytellerCZ). +* Update test-in-browser dependencies [PR](https://github.com/meteor/meteor/pull/12384) by [harryadel](https://github.com/harryadel). + +#### Breaking Changes + +N/A + +#### Internal API changes + +N/A + +#### Migration Steps + +N/A + +#### Meteor Version Release + +* `mongo@1.16.4`: + - Fixed wrong type definitions. + - switch to using MongoDB types instead of the homebuilt. + +* `test-in-browser@1.3.3`: + - Updated dependencies and removed unused libs. + +* `typescript@4.7.4` + - Updated typescript to version 4.7.4. + +* `Command line`: + - Updated React skeletons to use react 18 + +#### Special thanks to + - [@StorytellerCZ](https://github.com/StorytellerCZ). + - [@perbergland](https://github.com/perbergland). + - [@ebroder](https://github.com/ebroder). + - [@harryadel](https://github.com/harryadel). + +For making this great framework even better! + + + ## v2.9.1, 2022-12-27 ### Highlights From c11dd67656102041014607e85659e2b9e5dba3ac Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 4 Jan 2023 16:49:02 -0300 Subject: [PATCH 076/398] docs: fixed React typo --- docs/history.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/history.md b/docs/history.md index fe4bf5491e..2f1515bb11 100644 --- a/docs/history.md +++ b/docs/history.md @@ -33,7 +33,7 @@ N/A - Updated typescript to version 4.7.4. * `Command line`: - - Updated React skeletons to use react 18 + - Updated React skeletons to use React 18 #### Special thanks to - [@StorytellerCZ](https://github.com/StorytellerCZ). From 7eed486800e2fdf9ee0329667047b18b8d6ef663 Mon Sep 17 00:00:00 2001 From: Evan Broder Date: Wed, 4 Jan 2023 14:11:30 -0800 Subject: [PATCH 077/398] Allow multiple runtime config and updated runtime hooks The forEach method on Hook will stop iterating unless the iterator function returns a truthy value. Previously, this meant that only the first registered runtime config hook would be called. --- packages/webapp/webapp_server.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index 03d6de971b..1c659da0ad 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -429,10 +429,11 @@ function getBoilerplateAsync(request, arch) { encodedCurrentConfig: boilerplate.baseData.meteorRuntimeConfig, updated: runtimeConfig.isUpdatedByArch[arch], }); - if (!meteorRuntimeConfig) return; + if (!meteorRuntimeConfig) return true; boilerplate.baseData = Object.assign({}, boilerplate.baseData, { meteorRuntimeConfig, }); + return true; }); runtimeConfig.isUpdatedByArch[arch] = false; const data = Object.assign( @@ -509,6 +510,7 @@ WebAppInternals.generateBoilerplateInstance = function( }; runtimeConfig.updateHooks.forEach(cb => { cb({ arch, manifest, runtimeConfig: rtimeConfig }); + return true; }); const meteorRuntimeConfig = JSON.stringify( From 9a87c3562b68b6ea7b5dc7346fff3fb1355680cb Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Thu, 5 Jan 2023 15:54:33 +0900 Subject: [PATCH 078/398] Update react-fast-refresh dependencies --- packages/react-fast-refresh/package.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/react-fast-refresh/package.js b/packages/react-fast-refresh/package.js index f37a6b5ee1..036810d29e 100644 --- a/packages/react-fast-refresh/package.js +++ b/packages/react-fast-refresh/package.js @@ -1,14 +1,14 @@ Package.describe({ name: 'react-fast-refresh', - version: '0.2.3', + version: '0.2.4', summary: 'Automatically update React components with HMR', documentation: 'README.md', devOnly: true, }); Npm.depends({ - 'react-refresh': '0.11.0', - semver: '7.3.4', + 'react-refresh': '0.14.0', + semver: '7.3.8', }); Package.onUse(function(api) { From 9a4993b6432a685357b5ee8948e1923e77fa65b4 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 5 Jan 2023 09:57:23 -0300 Subject: [PATCH 079/398] docs: updated docs from 2.10 --- docs/history.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/history.md b/docs/history.md index 2f1515bb11..5d754415c3 100644 --- a/docs/history.md +++ b/docs/history.md @@ -7,6 +7,7 @@ * Fixing wrong type definitions in MongoDB package [PR](https://github.com/meteor/meteor/pull/12409) by [ebroder](https://github.com/ebroder). * Typescript to version v4.7.4 [PR](https://github.com/meteor/meteor/pull/12393) by [StorytellerCZ](https://github.com/StorytellerCZ). * Update test-in-browser dependencies [PR](https://github.com/meteor/meteor/pull/12384) by [harryadel](https://github.com/harryadel). +* Allow multiple runtime config and updated runtime hooks [PR](https://github.com/meteor/meteor/pull/12426) by [ebroder](https://github.com/ebroder). #### Breaking Changes @@ -30,7 +31,11 @@ N/A - Updated dependencies and removed unused libs. * `typescript@4.7.4` - - Updated typescript to version 4.7.4. + - Updated typescript to version 4.7.4. + +* `webapp@1.13.3` + - The forEach method on Hook will stop iterating unless the iterator function returns a truthy value. + Previously, this meant that only the first registered runtime config hook would be called. * `Command line`: - Updated React skeletons to use React 18 From f3950ff881235502d7fac4c9f2efd359c0d97d27 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 5 Jan 2023 09:58:50 -0300 Subject: [PATCH 080/398] cherry picked from e6efc44c2e6dcc7ee80217ef9b0d85e75931aba3 --- packages/callback-hook/hook.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/callback-hook/hook.js b/packages/callback-hook/hook.js index 8a8aa29ecd..f40151a288 100644 --- a/packages/callback-hook/hook.js +++ b/packages/callback-hook/hook.js @@ -84,6 +84,11 @@ export class Hook { }; } + clear() { + this.nextCallbackId = 0; + this.callbacks = []; + } + /** * For each registered callback, call the passed iterator function with the callback. * @@ -114,6 +119,20 @@ export class Hook { } } + async forEachAsync(iterator) { + const ids = Object.keys(this.callbacks); + for (let i = 0; i < ids.length; ++i) { + const id = ids[i]; + // check to see if the callback was removed during iteration + if (hasOwn.call(this.callbacks, id)) { + const callback = this.callbacks[id]; + if (!await iterator(callback)) { + break; + } + } + } + } + /** * @deprecated use forEach * @param iterator From 458267507877173323993a542de2c8eab845acfb Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 5 Jan 2023 10:06:48 -0300 Subject: [PATCH 081/398] docs: added docs to forEachAsync in hook.js --- packages/callback-hook/hook.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/callback-hook/hook.js b/packages/callback-hook/hook.js index f40151a288..58d33cc17e 100644 --- a/packages/callback-hook/hook.js +++ b/packages/callback-hook/hook.js @@ -119,6 +119,14 @@ export class Hook { } } + /** + * For each registered callback, call the passed iterator function with the callback. + * + * it is a counterpart of forEach, but it is async and returns a promise + * @param iterator + * @return {Promise} + * @see forEach + */ async forEachAsync(iterator) { const ids = Object.keys(this.callbacks); for (let i = 0; i < ids.length; ++i) { From c3bae92204527946d3023189dd1eb2aab435f4c4 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 5 Jan 2023 10:07:05 -0300 Subject: [PATCH 082/398] docs: updated changelog for callback-hook --- docs/history.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/history.md b/docs/history.md index 5d754415c3..57f544dddc 100644 --- a/docs/history.md +++ b/docs/history.md @@ -36,6 +36,9 @@ N/A * `webapp@1.13.3` - The forEach method on Hook will stop iterating unless the iterator function returns a truthy value. Previously, this meant that only the first registered runtime config hook would be called. + +* `callback-hook@1.5.0` + - Added forEachAsync . * `Command line`: - Updated React skeletons to use React 18 From 629303484b3115c5a9d53e0b14ce1119f97be274 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 5 Jan 2023 10:24:15 -0300 Subject: [PATCH 083/398] chore: turned hooks into async --- packages/accounts-base/accounts_client.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/accounts-base/accounts_client.js b/packages/accounts-base/accounts_client.js index 842e927ad9..98bcaf6e92 100644 --- a/packages/accounts-base/accounts_client.js +++ b/packages/accounts-base/accounts_client.js @@ -228,15 +228,15 @@ export class AccountsClient extends AccountsCommon { called = true; this._loginCallbacksCalled = true; if (!error) { - this._onLoginHook.forEach(callback => { - callback(loginDetails); + this._onLoginHook.forEachAsync(async callback => { + await callback(loginDetails); return true; - }); + }).then(); } else { - this._onLoginFailureHook.forEach(callback => { - callback({ error }); + this._onLoginFailureHook.forEachAsync(async callback => { + await callback({ error }); return true; - }); + }).then(); } options.userCallback(error, loginDetails); } @@ -377,10 +377,10 @@ export class AccountsClient extends AccountsCommon { makeClientLoggedOut() { // Ensure client was successfully logged in before running logout hooks. if (this.connection._userId) { - this._onLogoutHook.each(callback => { - callback(); + this._onLogoutHook.forEachAsync(async callback => { + await callback(); return true; - }); + }).then(); } this._unstoreLoginToken(); this.connection.setUserId(null); From 88b61119b01043d3d5d80aeb4fc618a95f64160e Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 5 Jan 2023 10:53:02 -0300 Subject: [PATCH 084/398] tests: added tests for on login --- packages/accounts-base/accounts_client_tests.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/accounts-base/accounts_client_tests.js b/packages/accounts-base/accounts_client_tests.js index 880a71e4fe..d92d1ef818 100644 --- a/packages/accounts-base/accounts_client_tests.js +++ b/packages/accounts-base/accounts_client_tests.js @@ -146,6 +146,21 @@ Tinytest.addAsync( } ); +Tinytest.addAsync( + 'accounts async - make async call onLogin', + (test, done) => { + const onLogin = Accounts.onLogin( async () => { + const sleep = + (ms) => new Promise(resolve => setTimeout(() => resolve(true), ms)); + const async = await sleep(10) + test.isTrue(async); + onLogin.stop() + removeTestUser(done); + }); + logoutAndCreateUser(test, done, () => {}); + } +); + Tinytest.addAsync( 'accounts - onLogin callback receives { type: "resume" } param on ' + 'reconnect, if already logged in', From 05b39ad7e9e02c1ad349a0af3276967581113f45 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 5 Jan 2023 11:02:43 -0300 Subject: [PATCH 085/398] tests: created test for onLoginFailture --- .../accounts-base/accounts_client_tests.js | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/packages/accounts-base/accounts_client_tests.js b/packages/accounts-base/accounts_client_tests.js index d92d1ef818..f7652f8ed6 100644 --- a/packages/accounts-base/accounts_client_tests.js +++ b/packages/accounts-base/accounts_client_tests.js @@ -161,6 +161,27 @@ Tinytest.addAsync( } ); +Tinytest.addAsync( + 'accounts async - make async call onLoginFailure', + (test, done) => { + logoutAndCreateUser(test, done, () => { + const onLoginFailure = Accounts.onLoginFailure( async () => { + const sleep = + (ms) => new Promise(resolve => setTimeout(() => resolve(true), ms)); + const async = await sleep(10) + test.isTrue(async); + onLoginFailure.stop() + removeTestUser(done); + }); + + Meteor.loginWithPassword(username, "somewrongstring", () => { + test.isFalse(Meteor.loggingIn()); + removeTestUser(done); + }); + + }); + } +); Tinytest.addAsync( 'accounts - onLogin callback receives { type: "resume" } param on ' + 'reconnect, if already logged in', From 8c6f5bbb8eceee357ed2e180324b61655fc62400 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 5 Jan 2023 14:10:18 -0300 Subject: [PATCH 086/398] tests: reverted changes --- .../accounts-base/accounts_client_tests.js | 36 ------------------- 1 file changed, 36 deletions(-) diff --git a/packages/accounts-base/accounts_client_tests.js b/packages/accounts-base/accounts_client_tests.js index f7652f8ed6..880a71e4fe 100644 --- a/packages/accounts-base/accounts_client_tests.js +++ b/packages/accounts-base/accounts_client_tests.js @@ -146,42 +146,6 @@ Tinytest.addAsync( } ); -Tinytest.addAsync( - 'accounts async - make async call onLogin', - (test, done) => { - const onLogin = Accounts.onLogin( async () => { - const sleep = - (ms) => new Promise(resolve => setTimeout(() => resolve(true), ms)); - const async = await sleep(10) - test.isTrue(async); - onLogin.stop() - removeTestUser(done); - }); - logoutAndCreateUser(test, done, () => {}); - } -); - -Tinytest.addAsync( - 'accounts async - make async call onLoginFailure', - (test, done) => { - logoutAndCreateUser(test, done, () => { - const onLoginFailure = Accounts.onLoginFailure( async () => { - const sleep = - (ms) => new Promise(resolve => setTimeout(() => resolve(true), ms)); - const async = await sleep(10) - test.isTrue(async); - onLoginFailure.stop() - removeTestUser(done); - }); - - Meteor.loginWithPassword(username, "somewrongstring", () => { - test.isFalse(Meteor.loggingIn()); - removeTestUser(done); - }); - - }); - } -); Tinytest.addAsync( 'accounts - onLogin callback receives { type: "resume" } param on ' + 'reconnect, if already logged in', From 95ac8a9a3016e35fa55b46886e685af82eb9ae5d Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 5 Jan 2023 14:10:31 -0300 Subject: [PATCH 087/398] Revert "chore: turned hooks into async" This reverts commit 629303484b3115c5a9d53e0b14ce1119f97be274. --- packages/accounts-base/accounts_client.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/accounts-base/accounts_client.js b/packages/accounts-base/accounts_client.js index 98bcaf6e92..842e927ad9 100644 --- a/packages/accounts-base/accounts_client.js +++ b/packages/accounts-base/accounts_client.js @@ -228,15 +228,15 @@ export class AccountsClient extends AccountsCommon { called = true; this._loginCallbacksCalled = true; if (!error) { - this._onLoginHook.forEachAsync(async callback => { - await callback(loginDetails); + this._onLoginHook.forEach(callback => { + callback(loginDetails); return true; - }).then(); + }); } else { - this._onLoginFailureHook.forEachAsync(async callback => { - await callback({ error }); + this._onLoginFailureHook.forEach(callback => { + callback({ error }); return true; - }).then(); + }); } options.userCallback(error, loginDetails); } @@ -377,10 +377,10 @@ export class AccountsClient extends AccountsCommon { makeClientLoggedOut() { // Ensure client was successfully logged in before running logout hooks. if (this.connection._userId) { - this._onLogoutHook.forEachAsync(async callback => { - await callback(); + this._onLogoutHook.each(callback => { + callback(); return true; - }).then(); + }); } this._unstoreLoginToken(); this.connection.setUserId(null); From 3d7ced61d048b5669370689323a77c45dbe113ac Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 5 Jan 2023 14:10:40 -0300 Subject: [PATCH 088/398] Revert "tests: reverted changes" This reverts commit 8c6f5bbb8eceee357ed2e180324b61655fc62400. --- .../accounts-base/accounts_client_tests.js | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/packages/accounts-base/accounts_client_tests.js b/packages/accounts-base/accounts_client_tests.js index 880a71e4fe..f7652f8ed6 100644 --- a/packages/accounts-base/accounts_client_tests.js +++ b/packages/accounts-base/accounts_client_tests.js @@ -146,6 +146,42 @@ Tinytest.addAsync( } ); +Tinytest.addAsync( + 'accounts async - make async call onLogin', + (test, done) => { + const onLogin = Accounts.onLogin( async () => { + const sleep = + (ms) => new Promise(resolve => setTimeout(() => resolve(true), ms)); + const async = await sleep(10) + test.isTrue(async); + onLogin.stop() + removeTestUser(done); + }); + logoutAndCreateUser(test, done, () => {}); + } +); + +Tinytest.addAsync( + 'accounts async - make async call onLoginFailure', + (test, done) => { + logoutAndCreateUser(test, done, () => { + const onLoginFailure = Accounts.onLoginFailure( async () => { + const sleep = + (ms) => new Promise(resolve => setTimeout(() => resolve(true), ms)); + const async = await sleep(10) + test.isTrue(async); + onLoginFailure.stop() + removeTestUser(done); + }); + + Meteor.loginWithPassword(username, "somewrongstring", () => { + test.isFalse(Meteor.loggingIn()); + removeTestUser(done); + }); + + }); + } +); Tinytest.addAsync( 'accounts - onLogin callback receives { type: "resume" } param on ' + 'reconnect, if already logged in', From df982206dc79788d61489aa85ca565c1abbaee09 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 5 Jan 2023 14:10:45 -0300 Subject: [PATCH 089/398] Revert "tests: created test for onLoginFailture" This reverts commit 05b39ad7e9e02c1ad349a0af3276967581113f45. --- .../accounts-base/accounts_client_tests.js | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/packages/accounts-base/accounts_client_tests.js b/packages/accounts-base/accounts_client_tests.js index f7652f8ed6..d92d1ef818 100644 --- a/packages/accounts-base/accounts_client_tests.js +++ b/packages/accounts-base/accounts_client_tests.js @@ -161,27 +161,6 @@ Tinytest.addAsync( } ); -Tinytest.addAsync( - 'accounts async - make async call onLoginFailure', - (test, done) => { - logoutAndCreateUser(test, done, () => { - const onLoginFailure = Accounts.onLoginFailure( async () => { - const sleep = - (ms) => new Promise(resolve => setTimeout(() => resolve(true), ms)); - const async = await sleep(10) - test.isTrue(async); - onLoginFailure.stop() - removeTestUser(done); - }); - - Meteor.loginWithPassword(username, "somewrongstring", () => { - test.isFalse(Meteor.loggingIn()); - removeTestUser(done); - }); - - }); - } -); Tinytest.addAsync( 'accounts - onLogin callback receives { type: "resume" } param on ' + 'reconnect, if already logged in', From 82baf4a39050813157a730c226054f08fe5d3bcc Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 5 Jan 2023 14:10:48 -0300 Subject: [PATCH 090/398] Revert "tests: added tests for on login" This reverts commit 88b61119b01043d3d5d80aeb4fc618a95f64160e. --- packages/accounts-base/accounts_client_tests.js | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/packages/accounts-base/accounts_client_tests.js b/packages/accounts-base/accounts_client_tests.js index d92d1ef818..880a71e4fe 100644 --- a/packages/accounts-base/accounts_client_tests.js +++ b/packages/accounts-base/accounts_client_tests.js @@ -146,21 +146,6 @@ Tinytest.addAsync( } ); -Tinytest.addAsync( - 'accounts async - make async call onLogin', - (test, done) => { - const onLogin = Accounts.onLogin( async () => { - const sleep = - (ms) => new Promise(resolve => setTimeout(() => resolve(true), ms)); - const async = await sleep(10) - test.isTrue(async); - onLogin.stop() - removeTestUser(done); - }); - logoutAndCreateUser(test, done, () => {}); - } -); - Tinytest.addAsync( 'accounts - onLogin callback receives { type: "resume" } param on ' + 'reconnect, if already logged in', From 2c73f46a03c07ce6c252a8705f7e095fe29a61ea Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Fri, 6 Jan 2023 11:35:12 -0300 Subject: [PATCH 091/398] docs: updated changelog showing tracker async --- docs/history.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/history.md b/docs/history.md index 57f544dddc..0a8002a5bc 100644 --- a/docs/history.md +++ b/docs/history.md @@ -8,6 +8,8 @@ * Typescript to version v4.7.4 [PR](https://github.com/meteor/meteor/pull/12393) by [StorytellerCZ](https://github.com/StorytellerCZ). * Update test-in-browser dependencies [PR](https://github.com/meteor/meteor/pull/12384) by [harryadel](https://github.com/harryadel). * Allow multiple runtime config and updated runtime hooks [PR](https://github.com/meteor/meteor/pull/12426) by [ebroder](https://github.com/ebroder). +* Added async forEach and clear for method Hooks [PR](https://github.com/meteor/meteor/pull/12427) by [Grubba27](https://github.com/Grubba27). +* Implemented async Tracker with explicit values [PR](https://github.com/meteor/meteor/pull/12294) by [radekmie](https://github.com/radekmie). #### Breaking Changes @@ -39,15 +41,21 @@ N/A * `callback-hook@1.5.0` - Added forEachAsync . - + +* `Tracker@1.3.0`: + - Implemented async Tracker with explicit values + * `Command line`: - Updated React skeletons to use React 18 + #### Special thanks to - [@StorytellerCZ](https://github.com/StorytellerCZ). - [@perbergland](https://github.com/perbergland). - [@ebroder](https://github.com/ebroder). - [@harryadel](https://github.com/harryadel). + - [@radekmie](https://github.com/radekmie). + - [@Grubba27](https://github.com/Grubba27). For making this great framework even better! From 2ab8f2122074c86dd08bd7ed7704c37d58c3050a Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Fri, 6 Jan 2023 12:04:41 -0300 Subject: [PATCH 092/398] chore: added get-branch-name script --- scripts/admin/update-semver/get-branch-name.sh | 4 ++++ 1 file changed, 4 insertions(+) create mode 100755 scripts/admin/update-semver/get-branch-name.sh diff --git a/scripts/admin/update-semver/get-branch-name.sh b/scripts/admin/update-semver/get-branch-name.sh new file mode 100755 index 0000000000..da9bada006 --- /dev/null +++ b/scripts/admin/update-semver/get-branch-name.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +cd ../../.. + +git rev-parse --abbrev-ref HEAD From 49d22f481254ac16b5b67e5ea8f8e7ae332a6207 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Fri, 6 Jan 2023 12:05:00 -0300 Subject: [PATCH 093/398] chore: updated packagelock in auto-updater --- scripts/admin/update-semver/package-lock.json | 4949 ----------------- 1 file changed, 4949 deletions(-) diff --git a/scripts/admin/update-semver/package-lock.json b/scripts/admin/update-semver/package-lock.json index 4fc9157812..80901d6328 100644 --- a/scripts/admin/update-semver/package-lock.json +++ b/scripts/admin/update-semver/package-lock.json @@ -9,2425 +9,9 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "jscodeshift": "^0.14.0", "semver": "^7.3.8" } }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", - "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", - "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.3", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.3", - "@babel/types": "^7.19.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.19.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", - "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", - "dependencies": { - "@babel/types": "^7.19.4", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "peer": true, - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", - "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", - "dependencies": { - "@babel/compat-data": "^7.19.3", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", - "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", - "peer": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "peer": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "peer": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "dependencies": { - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "peer": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", - "dependencies": { - "@babel/types": "^7.19.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", - "dependencies": { - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", - "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", - "peer": true, - "dependencies": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz", - "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==", - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.4", - "@babel/types": "^7.19.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", - "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", - "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", - "peer": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "peer": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", - "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", - "peer": true, - "dependencies": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "peer": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "peer": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "peer": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", - "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "peer": true, - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz", - "integrity": "sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", - "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", - "peer": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz", - "integrity": "sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "peer": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "peer": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", - "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-flow": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "peer": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", - "peer": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", - "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", - "peer": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "peer": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", - "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", - "peer": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz", - "integrity": "sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-typescript": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "peer": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", - "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", - "peer": true, - "dependencies": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.19.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.19.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.19.4", - "@babel/plugin-transform-classes": "^7.19.0", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.19.4", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.0", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.19.4", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.18.6.tgz", - "integrity": "sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-flow-strip-types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/register": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz", - "integrity": "sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==", - "dependencies": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", - "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", - "peer": true, - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz", - "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.4", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.4", - "@babel/types": "^7.19.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", - "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", - "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "peer": true, - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "peer": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "peer": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "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==" - }, - "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==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001420", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001420.tgz", - "integrity": "sha512-OnyeJ9ascFA9roEj72ok2Ikp7PHJTKubtEJIQ/VK3fdsS50q4KWy+Z5X0A1/GswEItKX0ctAp8n4SYDE7wTu6A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "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/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "node_modules/core-js-compat": { - "version": "3.25.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.5.tgz", - "integrity": "sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==", - "peer": true, - "dependencies": { - "browserslist": "^4.21.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.283", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.283.tgz", - "integrity": "sha512-g6RQ9zCOV+U5QVHW9OpFR7rdk/V7xfopNXnyAamdpFgCHgZ1sjI8VuR1+zG2YG/TZk+tQ8mpNkug4P8FU0fuOA==" - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/flow-parser": { - "version": "0.190.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.190.0.tgz", - "integrity": "sha512-9jxaqkeeARD//nhwDoN//j+EFcwzKJCGPtTQzUdKZdlZG3JmUdbV6XJFLD9sbWFPUmcCT1mblwILwdoq0mKWQw==", - "engines": { - "node": ">=0.4.0" - } - }, - "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/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "engines": { - "node": ">=0.8.19" - } - }, - "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==", - "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-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", - "peer": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/jscodeshift": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", - "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", - "dependencies": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.21.0", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" - } - }, - "node_modules/jscodeshift/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jscodeshift/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jscodeshift/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jscodeshift/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==" - }, - "node_modules/jscodeshift/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jscodeshift/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "peer": true - }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -2439,325 +23,6 @@ "node": ">=10" } }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", - "dependencies": { - "minimatch": "^3.0.2" - }, - "engines": { - "node": ">= 0.10.5" - } - }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "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/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "peer": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/recast": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", - "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", - "dependencies": { - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "peer": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "peer": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==", - "peer": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "peer": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexpu-core": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", - "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", - "peer": true, - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", - "peer": true - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "peer": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "peer": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "peer": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", @@ -2772,177 +37,6 @@ "node": ">=10" } }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", - "dependencies": { - "rimraf": "~2.6.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "peer": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "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/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -2950,1688 +44,6 @@ } }, "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", - "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==" - }, - "@babel/core": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", - "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.3", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.3", - "@babel/types": "^7.19.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/generator": { - "version": "7.19.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", - "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", - "requires": { - "@babel/types": "^7.19.4", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "peer": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", - "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", - "requires": { - "@babel/compat-data": "^7.19.3", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", - "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", - "peer": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "peer": true, - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "peer": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "peer": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "peer": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", - "requires": { - "@babel/types": "^7.19.4" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" - }, - "@babel/helper-wrap-function": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", - "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", - "peer": true, - "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - } - }, - "@babel/helpers": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz", - "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==", - "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.4", - "@babel/types": "^7.19.4" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", - "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", - "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", - "peer": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "peer": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", - "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", - "peer": true, - "requires": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "peer": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "peer": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "peer": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", - "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "peer": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz", - "integrity": "sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", - "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", - "peer": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz", - "integrity": "sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "peer": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "peer": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", - "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-flow": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "peer": true, - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", - "peer": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", - "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", - "peer": true, - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "peer": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", - "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", - "peer": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz", - "integrity": "sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-typescript": "^7.18.6" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "peer": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", - "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", - "peer": true, - "requires": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.19.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.19.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.19.4", - "@babel/plugin-transform-classes": "^7.19.0", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.19.4", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.0", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.19.4", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "peer": true - } - } - }, - "@babel/preset-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.18.6.tgz", - "integrity": "sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-flow-strip-types": "^7.18.6" - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "peer": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - } - }, - "@babel/register": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz", - "integrity": "sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==", - "requires": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - } - }, - "@babel/runtime": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", - "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", - "peer": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - } - }, - "@babel/traverse": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz", - "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.4", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.4", - "@babel/types": "^7.19.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", - "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "ast-types": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", - "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", - "requires": { - "tslib": "^2.0.1" - } - }, - "babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "requires": {} - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "peer": true, - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "peer": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "peer": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "peer": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caniuse-lite": { - "version": "1.0.30001420", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001420.tgz", - "integrity": "sha512-OnyeJ9ascFA9roEj72ok2Ikp7PHJTKubtEJIQ/VK3fdsS50q4KWy+Z5X0A1/GswEItKX0ctAp8n4SYDE7wTu6A==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "core-js-compat": { - "version": "3.25.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.5.tgz", - "integrity": "sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==", - "peer": true, - "requires": { - "browserslist": "^4.21.4" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "electron-to-chromium": { - "version": "1.4.283", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.283.tgz", - "integrity": "sha512-g6RQ9zCOV+U5QVHW9OpFR7rdk/V7xfopNXnyAamdpFgCHgZ1sjI8VuR1+zG2YG/TZk+tQ8mpNkug4P8FU0fuOA==" - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "peer": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "flow-parser": { - "version": "0.190.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.190.0.tgz", - "integrity": "sha512-9jxaqkeeARD//nhwDoN//j+EFcwzKJCGPtTQzUdKZdlZG3JmUdbV6XJFLD9sbWFPUmcCT1mblwILwdoq0mKWQw==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "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" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", - "peer": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "jscodeshift": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.14.0.tgz", - "integrity": "sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==", - "requires": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.4", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.21.0", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "peer": true - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -4640,248 +52,6 @@ "yallist": "^4.0.0" } }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", - "requires": { - "minimatch": "^3.0.2" - } - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - }, - "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==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "peer": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "requires": { - "find-up": "^3.0.0" - } - }, - "recast": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.5.tgz", - "integrity": "sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==", - "requires": { - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "peer": true - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "peer": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==", - "peer": true - }, - "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "peer": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexpu-core": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", - "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", - "peer": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", - "peer": true - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "peer": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "peer": true - } - } - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "peer": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": { - "glob": "^7.1.3" - } - }, "semver": { "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", @@ -4890,125 +60,6 @@ "lru-cache": "^6.0.0" } }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "requires": { - "kind-of": "^6.0.2" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "peer": true - }, - "temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", - "requires": { - "rimraf": "~2.6.2" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "peer": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "peer": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "peer": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "peer": true - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", From 3468a19ad09b2dc293a64586d63e2f9b591ea9a1 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Fri, 6 Jan 2023 12:09:21 -0300 Subject: [PATCH 094/398] chore: updated semver script to reflect correctly our style --- scripts/admin/update-semver/index.js | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/scripts/admin/update-semver/index.js b/scripts/admin/update-semver/index.js index 73c4a0fce8..0c6f3027e7 100644 --- a/scripts/admin/update-semver/index.js +++ b/scripts/admin/update-semver/index.js @@ -9,6 +9,11 @@ const fs = require('fs'); const { exec } = require("child_process"); const { readdir } = require("fs/promises"); +/** + * + * @param command + * @return {Promise} + */ const runCommand = async (command) => { return new Promise((resolve, reject) => { exec(command, (error, stdout, stderr) => { @@ -34,6 +39,22 @@ const runCommand = async (command) => { async function getPackages() { return await runCommand("./get-diff.sh"); } +async function getReleaseNumber() { + // only works if you are in the release branch. it will return someting + // like release-2.4 or release-2.4.2 + const gitBranch = await runCommand("./get-branch-name.sh"); + if (!gitBranch.includes('release')) throw new Error('You are not in a release branch'); + + const releaseNumber = gitBranch + .replace('release-', '') + .replace('.', '') + .replace('\n', ''); + + // this is when we have release-2.4 and we want to make sure that we have release-2.4.0 + if (gitBranch.match(/\./g).length === 1) return `${ releaseNumber }0`; + + return releaseNumber; +} async function getFile(path) { try { @@ -56,7 +77,7 @@ async function main() { * @type {string[]} */ let args = process.argv.slice(2); - + const releaseNumber = await getReleaseNumber(); if (args[0].startsWith('@all')) { const [_, type] = args[0].split('.'); const allPackages = await getDirectories('../../../packages'); @@ -119,7 +140,9 @@ async function main() { */ function incrementNewVersion(release) { if (release.includes('beta') || release.includes('rc')) { - return semver.inc(currentVersion, 'prerelease', release); + const version = + semver.inc(currentVersion, 'prerelease', release); + return version.replace(release, `${release}${releaseNumber}`); } return semver.inc(currentVersion, release); } From 2d0cb940bb2595d096115b6b45fe416d5ea68d05 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Fri, 6 Jan 2023 13:33:13 -0300 Subject: [PATCH 095/398] Meteor version to 2.10.0-beta.0 :comet: --- packages/callback-hook/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/mongo/package.js | 2 +- packages/react-fast-refresh/package.js | 2 +- packages/test-in-browser/package.js | 2 +- packages/tracker/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/callback-hook/package.js b/packages/callback-hook/package.js index c26f2b217b..07edb85981 100644 --- a/packages/callback-hook/package.js +++ b/packages/callback-hook/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Register callbacks on a hook", - version: '1.4.0' + version: '1.5.0-beta2100.0' }); Package.onUse(function (api) { diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index e31fcbacf3..1d8d83ec45 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: '2.9.1', + version: '2.10.0-beta.0', }); Package.includeTool(); diff --git a/packages/mongo/package.js b/packages/mongo/package.js index e744c56705..391d54a050 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: '1.16.3' + version: '1.16.4-beta2100.0' }); Npm.depends({ diff --git a/packages/react-fast-refresh/package.js b/packages/react-fast-refresh/package.js index 036810d29e..eb442fcfcb 100644 --- a/packages/react-fast-refresh/package.js +++ b/packages/react-fast-refresh/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'react-fast-refresh', - version: '0.2.4', + version: '0.2.5-beta2100.0', summary: 'Automatically update React components with HMR', documentation: 'README.md', devOnly: true, diff --git a/packages/test-in-browser/package.js b/packages/test-in-browser/package.js index 4fceca27d6..90884ae940 100644 --- a/packages/test-in-browser/package.js +++ b/packages/test-in-browser/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Run tests interactively in the browser", - version: '1.3.2', + version: '1.3.3-beta2100.0', documentation: null }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 4448d88383..93f3f550ad 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.2.1" + version: "1.3.0-beta2100.0" }); Package.onUse(function (api) { diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 56e920fea2..c4653b1f8f 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: '1.13.2', + version: '1.13.3-beta2100.0', }); Npm.depends({ diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 7a18f6f0ef..30ef741681 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.9.1-rc.0", + "version": "2.10.0-beta.0", "recommended": false, "official": false, "description": "Meteor experimental release" From fdc2bd1c257248f7ff7cb3cad8eb303cbe0f9aef Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Fri, 6 Jan 2023 13:45:14 -0300 Subject: [PATCH 096/398] Revert "[test-in-browser] Update blaze submodule" This reverts commit 46f001ebe9d5d8b56879aea8ade285f43f8f5aea. --- packages/non-core/blaze | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/non-core/blaze b/packages/non-core/blaze index 646383bc37..c856c6604b 160000 --- a/packages/non-core/blaze +++ b/packages/non-core/blaze @@ -1 +1 @@ -Subproject commit 646383bc3730648c98ce8be8930d697f6eca83f3 +Subproject commit c856c6604b6e54b9a8fe87cd941a8bd660fd7e4f From b7da96fdf6918eab83ca3892349bfdb5e3d7ccf5 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Fri, 6 Jan 2023 13:53:36 -0300 Subject: [PATCH 097/398] Update blaze --- packages/non-core/blaze | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/non-core/blaze b/packages/non-core/blaze index c856c6604b..646383bc37 160000 --- a/packages/non-core/blaze +++ b/packages/non-core/blaze @@ -1 +1 @@ -Subproject commit c856c6604b6e54b9a8fe87cd941a8bd660fd7e4f +Subproject commit 646383bc3730648c98ce8be8930d697f6eca83f3 From 75efa9c22e769a03278280878799ee5066d2482d Mon Sep 17 00:00:00 2001 From: Per Bergland Date: Fri, 6 Jan 2023 18:33:48 +0100 Subject: [PATCH 098/398] Remove Blaze dependency and types that live in blaze.d.ts --- packages/meteor/meteor.d.ts | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/packages/meteor/meteor.d.ts b/packages/meteor/meteor.d.ts index eb08d994bd..98dcded000 100644 --- a/packages/meteor/meteor.d.ts +++ b/packages/meteor/meteor.d.ts @@ -1,6 +1,5 @@ import { Mongo } from 'meteor/mongo'; import { EJSONable, EJSONableProperty } from 'meteor/ejson'; -import { Blaze } from 'meteor/blaze'; import { DDP } from 'meteor/ddp'; export type global_Error = Error; @@ -372,26 +371,6 @@ export namespace Meteor { ): void; /** Login **/ - /** Event **/ - interface Event { - type: string; - target: HTMLElement; - currentTarget: HTMLElement; - which: number; - stopPropagation(): void; - stopImmediatePropagation(): void; - preventDefault(): void; - isPropagationStopped(): boolean; - isImmediatePropagationStopped(): boolean; - isDefaultPrevented(): boolean; - } - interface EventHandlerFunction extends Function { - (event?: Meteor.Event, templateInstance?: Blaze.TemplateInstance): void; - } - interface EventMap { - [id: string]: Meteor.EventHandlerFunction; - } - /** Event **/ /** Connection **/ function reconnect(): void; From 4137685b5d4b1cc7b7938b42f8673cfb1a8d0fe1 Mon Sep 17 00:00:00 2001 From: harryadel Date: Fri, 6 Jan 2023 20:48:59 +0200 Subject: [PATCH 099/398] [boilerplate-generator-tests] Update parse5 --- packages/boilerplate-generator-tests/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 7878ff66f2..b2763c8e3c 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -7,7 +7,7 @@ Package.describe({ }); Npm.depends({ - parse5: '3.0.2', + parse5: '6.0.1', 'stream-to-string': '1.1.0' }); From 8a63222420167dfa4ffcf924b8c6685603d7571c Mon Sep 17 00:00:00 2001 From: harryadel Date: Fri, 6 Jan 2023 20:50:04 +0200 Subject: [PATCH 100/398] [boilerplate-generator-tests] Remove stream-to-string --- packages/boilerplate-generator-tests/package.js | 3 +-- packages/boilerplate-generator-tests/test-lib.js | 9 ++++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index b2763c8e3c..269aeaf17b 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -7,8 +7,7 @@ Package.describe({ }); Npm.depends({ - parse5: '6.0.1', - 'stream-to-string': '1.1.0' + parse5: '6.0.1' }); Package.onTest(function (api) { diff --git a/packages/boilerplate-generator-tests/test-lib.js b/packages/boilerplate-generator-tests/test-lib.js index 189db622f4..0e8546ad52 100644 --- a/packages/boilerplate-generator-tests/test-lib.js +++ b/packages/boilerplate-generator-tests/test-lib.js @@ -1,4 +1,11 @@ -import streamToString from "stream-to-string"; +function streamToString (stream) { + const chunks = []; + return new Promise((resolve, reject) => { + stream.on('data', (chunk) => chunks.push(Buffer.from(chunk))); + stream.on('error', (err) => reject(err)); + stream.on('end', () => resolve(Buffer.concat(chunks).toString('utf8'))); + }) +} export async function generateHTMLForArch(arch, includeHead) { // Use a dummy manifest. None of these paths will be read from the filesystem, but css / js should be handled differently From 9a4221b419d13bee4c46b34e30868102c175b9a3 Mon Sep 17 00:00:00 2001 From: harryadel Date: Fri, 6 Jan 2023 20:51:52 +0200 Subject: [PATCH 101/398] Revert blaze update --- tools/tests/apps/dynamic-import/.meteor/packages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tests/apps/dynamic-import/.meteor/packages b/tools/tests/apps/dynamic-import/.meteor/packages index 04a1d2b87d..1570f6c394 100644 --- a/tools/tests/apps/dynamic-import/.meteor/packages +++ b/tools/tests/apps/dynamic-import/.meteor/packages @@ -7,7 +7,7 @@ meteor-base@1.4.0 # Packages every Meteor app needs to have mobile-experience@1.1.0 # Packages for a great mobile UX mongo@1.9.0 # The database Meteor supports right now -blaze-html-templates@2.0.0! # Compile .html files into Meteor Blaze views +blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views reactive-var@1.0.12 # Reactive variable for tracker tracker@1.2.1 # Meteor's client-side reactive programming library From bd15da978415fb4094cb374e92bc5487995b1fce Mon Sep 17 00:00:00 2001 From: Harry Adel Date: Mon, 9 Jan 2023 16:48:46 +0200 Subject: [PATCH 102/398] Replace double-ended-queue with denque (#12430) * Replace double-ended-queue with denque * Import denque instead of double-ended-queue --- packages/meteor/fiber_helpers.js | 2 +- packages/meteor/package.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor/fiber_helpers.js b/packages/meteor/fiber_helpers.js index fd56ee29b7..39be3faecf 100644 --- a/packages/meteor/fiber_helpers.js +++ b/packages/meteor/fiber_helpers.js @@ -13,7 +13,7 @@ Meteor._noYieldsAllowed = function (f) { } }; -Meteor._DoubleEndedQueue = Npm.require('double-ended-queue'); +Meteor._DoubleEndedQueue = Npm.require('denque'); // Meteor._SynchronousQueue is a queue which runs task functions serially. // Tasks are assumed to be synchronous: ie, it's assumed that they are diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 9056fec7d6..a9ef69605e 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -11,7 +11,7 @@ Package.registerBuildPlugin({ }); Npm.depends({ - "double-ended-queue": "2.1.0-0" + "denque": "2.1.0" }); Package.onUse(function (api) { From 854e5286b45eeb7af1b95d387e05a5d4f78ae201 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 9 Jan 2023 11:49:18 -0300 Subject: [PATCH 103/398] Revert "Update boilerplate-generator-tests" --- packages/boilerplate-generator-tests/package.js | 3 ++- packages/boilerplate-generator-tests/test-lib.js | 9 +-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 269aeaf17b..7878ff66f2 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -7,7 +7,8 @@ Package.describe({ }); Npm.depends({ - parse5: '6.0.1' + parse5: '3.0.2', + 'stream-to-string': '1.1.0' }); Package.onTest(function (api) { diff --git a/packages/boilerplate-generator-tests/test-lib.js b/packages/boilerplate-generator-tests/test-lib.js index 0e8546ad52..189db622f4 100644 --- a/packages/boilerplate-generator-tests/test-lib.js +++ b/packages/boilerplate-generator-tests/test-lib.js @@ -1,11 +1,4 @@ -function streamToString (stream) { - const chunks = []; - return new Promise((resolve, reject) => { - stream.on('data', (chunk) => chunks.push(Buffer.from(chunk))); - stream.on('error', (err) => reject(err)); - stream.on('end', () => resolve(Buffer.concat(chunks).toString('utf8'))); - }) -} +import streamToString from "stream-to-string"; export async function generateHTMLForArch(arch, includeHead) { // Use a dummy manifest. None of these paths will be read from the filesystem, but css / js should be handled differently From b40a2474768cdde9c52f6cf3d20fdbe35c7c4b67 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 9 Jan 2023 11:51:01 -0300 Subject: [PATCH 104/398] docs: updated 2.10 docs --- docs/history.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/history.md b/docs/history.md index 0a8002a5bc..abf107d31a 100644 --- a/docs/history.md +++ b/docs/history.md @@ -7,6 +7,8 @@ * Fixing wrong type definitions in MongoDB package [PR](https://github.com/meteor/meteor/pull/12409) by [ebroder](https://github.com/ebroder). * Typescript to version v4.7.4 [PR](https://github.com/meteor/meteor/pull/12393) by [StorytellerCZ](https://github.com/StorytellerCZ). * Update test-in-browser dependencies [PR](https://github.com/meteor/meteor/pull/12384) by [harryadel](https://github.com/harryadel). +* Update boilerplate-generator-tests [PR](https://github.com/meteor/meteor/pull/12429) by [harryadel](https://github.com/harryadel). +* Replace double-ended-queue with denque [PR](https://github.com/meteor/meteor/pull/12430) by [harryadel](https://github.com/harryadel). * Allow multiple runtime config and updated runtime hooks [PR](https://github.com/meteor/meteor/pull/12426) by [ebroder](https://github.com/ebroder). * Added async forEach and clear for method Hooks [PR](https://github.com/meteor/meteor/pull/12427) by [Grubba27](https://github.com/Grubba27). * Implemented async Tracker with explicit values [PR](https://github.com/meteor/meteor/pull/12294) by [radekmie](https://github.com/radekmie). @@ -32,6 +34,9 @@ N/A * `test-in-browser@1.3.3`: - Updated dependencies and removed unused libs. +* `boilerplate-generator-tests@1.5.1`: + - Updated parse5 and turned streamToString into a local function. + * `typescript@4.7.4` - Updated typescript to version 4.7.4. @@ -44,6 +49,9 @@ N/A * `Tracker@1.3.0`: - Implemented async Tracker with explicit values + +* `Meteor@1.10.4`: + - Replaced double-ended-queue with denque * `Command line`: - Updated React skeletons to use React 18 From 12dbae0fb2295ce8f1f1fa96037bf42fe55fe5c8 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 9 Jan 2023 11:55:06 -0300 Subject: [PATCH 105/398] copied code from #12429 --- packages/boilerplate-generator-tests/package.js | 3 +-- packages/boilerplate-generator-tests/test-lib.js | 9 ++++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 7878ff66f2..269aeaf17b 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -7,8 +7,7 @@ Package.describe({ }); Npm.depends({ - parse5: '3.0.2', - 'stream-to-string': '1.1.0' + parse5: '6.0.1' }); Package.onTest(function (api) { diff --git a/packages/boilerplate-generator-tests/test-lib.js b/packages/boilerplate-generator-tests/test-lib.js index 189db622f4..0e8546ad52 100644 --- a/packages/boilerplate-generator-tests/test-lib.js +++ b/packages/boilerplate-generator-tests/test-lib.js @@ -1,4 +1,11 @@ -import streamToString from "stream-to-string"; +function streamToString (stream) { + const chunks = []; + return new Promise((resolve, reject) => { + stream.on('data', (chunk) => chunks.push(Buffer.from(chunk))); + stream.on('error', (err) => reject(err)); + stream.on('end', () => resolve(Buffer.concat(chunks).toString('utf8'))); + }) +} export async function generateHTMLForArch(arch, includeHead) { // Use a dummy manifest. None of these paths will be read from the filesystem, but css / js should be handled differently From 1d7ecee2941a6fc5f64fa43ac1563d4df04e1277 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 9 Jan 2023 14:28:02 -0300 Subject: [PATCH 106/398] new dev bundle due new typescript --- meteor | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meteor b/meteor index 1146deb2ff..240d1e166a 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.21.2.2 +BUNDLE_VERSION=14.21.2.3 # OS Check. Put here because here is where we download the precompiled diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 13c5ba5771..5e72889b85 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -15,7 +15,7 @@ var packageJson = { "node-gyp": "8.0.0", "node-pre-gyp": "0.15.0", typescript: "4.5.4", - "@meteorjs/babel": "7.18.0-beta.4", + "@meteorjs/babel": "7.18.0-beta.5", // Keep the versions of these packages consistent with the versions // found in dev-bundle-server-package.js. "meteor-promise": "0.9.0", From 0eabc108c73ca00a621df10ee3a0125e27068fbf Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 9 Jan 2023 15:09:10 -0300 Subject: [PATCH 107/398] Meteor version to 2.10.0-beta.1 :comet: --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/typescript/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index a78caae77c..f671c81397 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-compiler", summary: "Parser/transpiler for ECMAScript 2015+ syntax", - version: '7.10.2' + version: '7.10.2-beta2100.1' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 269aeaf17b..2607faaf96 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.0', + version: '1.5.1-beta2100.1', documentation: null }); diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 1d8d83ec45..73f76f73ff 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: '2.10.0-beta.0', + version: '2.10.0-beta.1', }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index a9ef69605e..2860920094 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.10.4' + version: '1.11.0-beta2100.0' }); Package.registerBuildPlugin({ diff --git a/packages/typescript/package.js b/packages/typescript/package.js index 34caaba00c..5d3b40e53e 100644 --- a/packages/typescript/package.js +++ b/packages/typescript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'typescript', - version: '4.7.4', + version: '4.7.4-beta2100.1', summary: 'Compiler plugin that compiles TypeScript and ECMAScript in .ts and .tsx files', documentation: 'README.md', diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 30ef741681..ae13d8cc84 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.10.0-beta.0", + "version": "2.10.0-beta.1", "recommended": false, "official": false, "description": "Meteor experimental release" From 96aa38dd201c6ed1cc6001e89bace7fb83904a87 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 9 Jan 2023 15:16:53 -0300 Subject: [PATCH 108/398] Meteor version to 2.10.0-beta.1 :comet: --- packages/meteor/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 2860920094..05f480bf94 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.11.0-beta2100.0' + version: '1.11.0-beta2100.1' }); Package.registerBuildPlugin({ From 863bc3606b5ded5715702f404072403e1deb759a Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 10 Jan 2023 09:45:50 -0300 Subject: [PATCH 109/398] docs: updated 2.10 docs --- docs/history.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/history.md b/docs/history.md index abf107d31a..b270c150c6 100644 --- a/docs/history.md +++ b/docs/history.md @@ -30,6 +30,10 @@ N/A * `mongo@1.16.4`: - Fixed wrong type definitions. - switch to using MongoDB types instead of the homebuilt. + - Fixed wrong type definitions in MongoDB package related to dropIndexAsync + +* `babel-compiler@7.10.2`: + - Updated @meteorjs/babel to version 7.18.0. * `test-in-browser@1.3.3`: - Updated dependencies and removed unused libs. @@ -50,8 +54,8 @@ N/A * `Tracker@1.3.0`: - Implemented async Tracker with explicit values -* `Meteor@1.10.4`: - - Replaced double-ended-queue with denque +* `Meteor@1.11.0`: + - Replaced double-ended-queue with [denque](https://github.com/invertase/denque) * `Command line`: - Updated React skeletons to use React 18 From ca4821e84ef9d2d93cd7578bc51cd8b1cdd0583c Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 10 Jan 2023 10:14:23 -0300 Subject: [PATCH 110/398] docs: updated 2.10 docs regarding #12309 --- docs/history.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/history.md b/docs/history.md index b270c150c6..7ca981e277 100644 --- a/docs/history.md +++ b/docs/history.md @@ -12,6 +12,7 @@ * Allow multiple runtime config and updated runtime hooks [PR](https://github.com/meteor/meteor/pull/12426) by [ebroder](https://github.com/ebroder). * Added async forEach and clear for method Hooks [PR](https://github.com/meteor/meteor/pull/12427) by [Grubba27](https://github.com/Grubba27). * Implemented async Tracker with explicit values [PR](https://github.com/meteor/meteor/pull/12294) by [radekmie](https://github.com/radekmie). +* Improved eslint config [PR](https://github.com/meteor/meteor/pull/12309) by [afrokick](https://github.com/afrokick). #### Breaking Changes @@ -56,6 +57,7 @@ N/A * `Meteor@1.11.0`: - Replaced double-ended-queue with [denque](https://github.com/invertase/denque) + * `Command line`: - Updated React skeletons to use React 18 @@ -68,6 +70,7 @@ N/A - [@harryadel](https://github.com/harryadel). - [@radekmie](https://github.com/radekmie). - [@Grubba27](https://github.com/Grubba27). + - [@afrokick](https://github.com/afrokick). For making this great framework even better! From c7690c014eca3cfc38db312db63baba7e9fd41f3 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 10 Jan 2023 10:17:43 -0300 Subject: [PATCH 111/398] tests: updating lockfile for babel tests --- npm-packages/meteor-babel/package-lock.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/npm-packages/meteor-babel/package-lock.json b/npm-packages/meteor-babel/package-lock.json index 17c5612fb7..76469e0a04 100644 --- a/npm-packages/meteor-babel/package-lock.json +++ b/npm-packages/meteor-babel/package-lock.json @@ -1,12 +1,12 @@ { "name": "@meteorjs/babel", - "version": "7.17.2-beta.0", + "version": "7.18.0-beta.5", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@meteorjs/babel", - "version": "7.17.2-beta.0", + "version": "7.18.0-beta.5", "license": "MIT", "dependencies": { "@babel/core": "^7.17.2", @@ -26,7 +26,7 @@ "convert-source-map": "^1.6.0", "lodash": "^4.17.21", "meteor-babel-helpers": "0.0.3", - "typescript": "~4.6.4" + "typescript": "~4.7.4" }, "devDependencies": { "@babel/plugin-proposal-decorators": "7.14.5", @@ -3617,9 +3617,9 @@ } }, "node_modules/typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -6590,9 +6590,9 @@ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, "typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==" + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" }, "unbox-primitive": { "version": "1.0.1", From c607cde65aef6dea1649209f366120c84ed973fa Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 10 Jan 2023 15:45:56 -0300 Subject: [PATCH 112/398] chore: bump dev bundle typescript to 4.7.4 --- scripts/dev-bundle-tool-package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 5e72889b85..3145db753e 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,7 +14,7 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/a81b0324686e85d22c7688c47629d4009000e8b8", "node-gyp": "8.0.0", "node-pre-gyp": "0.15.0", - typescript: "4.5.4", + typescript: "4.7.4", "@meteorjs/babel": "7.18.0-beta.5", // Keep the versions of these packages consistent with the versions // found in dev-bundle-server-package.js. From 22f4449a99fca3c64ce54e9118dd35a4d01a15ca Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 10 Jan 2023 15:46:13 -0300 Subject: [PATCH 113/398] chore: bump in dev bundle --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 240d1e166a..d4a7652a57 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.21.2.3 +BUNDLE_VERSION=14.21.2.4 # OS Check. Put here because here is where we download the precompiled From daef26d90d9b55c2fa614ea4c5be642331f4aa18 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 10 Jan 2023 16:25:31 -0300 Subject: [PATCH 114/398] chore: updated shrinkwraps --- .../.npm/package/npm-shrinkwrap.json | 208 +++++++++--------- .../.npm/package/npm-shrinkwrap.json | 16 +- .../meteor/.npm/package/npm-shrinkwrap.json | 8 +- 3 files changed, 116 insertions(+), 116 deletions(-) diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index 453a9ea4d2..abf747c68c 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -12,26 +12,26 @@ "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==" }, "@babel/compat-data": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", - "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==" + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==" }, "@babel/core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", - "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", "dependencies": { "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" } } }, "@babel/generator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", - "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", "dependencies": { "@jridgewell/gen-mapping": { "version": "0.3.2", @@ -51,14 +51,14 @@ "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==" }, "@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==" }, "@babel/helper-create-class-features-plugin": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", - "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==" + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz", + "integrity": "sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==" }, "@babel/helper-create-regexp-features-plugin": { "version": "7.20.5", @@ -91,9 +91,9 @@ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==" }, "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==" }, "@babel/helper-module-imports": { "version": "7.18.6", @@ -101,9 +101,9 @@ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==" }, "@babel/helper-module-transforms": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", - "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==" + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==" }, "@babel/helper-optimise-call-expression": { "version": "7.18.6", @@ -121,9 +121,9 @@ "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==" }, "@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==" }, "@babel/helper-simple-access": { "version": "7.20.2", @@ -161,9 +161,9 @@ "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==" }, "@babel/helpers": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", - "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", + "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==" }, "@babel/highlight": { "version": "7.18.6", @@ -171,14 +171,14 @@ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==" }, "@babel/parser": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", - "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", - "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==" }, "@babel/plugin-proposal-class-properties": { "version": "7.18.6", @@ -186,9 +186,9 @@ "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==" }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==" }, "@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.18.6", @@ -196,9 +196,9 @@ "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==" }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", - "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==" }, "@babel/plugin-proposal-optional-catch-binding": { "version": "7.18.6", @@ -206,9 +206,9 @@ "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==" }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", + "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==" }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", @@ -256,14 +256,14 @@ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" }, "@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==" }, "@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==" }, "@babel/plugin-transform-block-scoped-functions": { "version": "7.18.6", @@ -271,24 +271,24 @@ "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==" }, "@babel/plugin-transform-block-scoping": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz", - "integrity": "sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==" + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", + "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==" }, "@babel/plugin-transform-classes": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", - "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", + "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==" }, "@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==" }, "@babel/plugin-transform-destructuring": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", - "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==" }, "@babel/plugin-transform-exponentiation-operator": { "version": "7.18.6", @@ -306,9 +306,9 @@ "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==" }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", - "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==" + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==" }, "@babel/plugin-transform-object-super": { "version": "7.18.6", @@ -316,9 +316,9 @@ "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==" }, "@babel/plugin-transform-parameters": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", - "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==" }, "@babel/plugin-transform-property-literals": { "version": "7.18.6", @@ -331,9 +331,9 @@ "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==" }, "@babel/plugin-transform-react-jsx": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", - "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.7.tgz", + "integrity": "sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ==" }, "@babel/plugin-transform-react-jsx-development": { "version": "7.18.6", @@ -361,9 +361,9 @@ "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==" }, "@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==" }, "@babel/plugin-transform-sticky-regex": { "version": "7.18.6", @@ -396,19 +396,19 @@ "integrity": "sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==" }, "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==" }, "@babel/traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", - "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==" + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz", + "integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==" }, "@babel/types": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", - "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==" }, "@jridgewell/gen-mapping": { "version": "0.1.1", @@ -436,9 +436,9 @@ "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==" }, "@meteorjs/babel": { - "version": "7.17.2-beta.0", - "resolved": "https://registry.npmjs.org/@meteorjs/babel/-/babel-7.17.2-beta.0.tgz", - "integrity": "sha512-gFXgGNIUu2mVvLRTtEPRE8OdpbdwDY2+vAOSn4/O//w42n7xKBDuYkiyNQtXCWIVuEjO4UBFkX2CHD88eTKhxA==" + "version": "7.18.0-beta.5", + "resolved": "https://registry.npmjs.org/@meteorjs/babel/-/babel-7.18.0-beta.5.tgz", + "integrity": "sha512-OWtjVxsaOgMc1PAzRXEicYc7ZDwTFQDAJ3C8UfwIPGhSojVj3OiLz8vZMZGeAiEac8IxZffiskirsc7NwresyQ==" }, "@meteorjs/reify": { "version": "0.23.0", @@ -648,9 +648,9 @@ "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==" }, "caniuse-lite": { - "version": "1.0.30001436", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001436.tgz", - "integrity": "sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg==" + "version": "1.0.30001442", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz", + "integrity": "sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==" }, "chalk": { "version": "2.4.2", @@ -673,9 +673,9 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "core-js-compat": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", - "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==" + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", + "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==" }, "debug": { "version": "4.3.4", @@ -767,6 +767,11 @@ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" + }, "magic-string": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", @@ -788,9 +793,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==" }, "path-parse": { "version": "1.0.7", @@ -880,9 +885,9 @@ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" }, "typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==" + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", @@ -908,6 +913,11 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } } diff --git a/packages/boilerplate-generator-tests/.npm/package/npm-shrinkwrap.json b/packages/boilerplate-generator-tests/.npm/package/npm-shrinkwrap.json index a27c22fcd6..15ed96ef52 100644 --- a/packages/boilerplate-generator-tests/.npm/package/npm-shrinkwrap.json +++ b/packages/boilerplate-generator-tests/.npm/package/npm-shrinkwrap.json @@ -2,19 +2,9 @@ "lockfileVersion": 1, "dependencies": { "parse5": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.2.tgz", - "integrity": "sha1-Be/1fw70V3+xRKefi5qWemzERRA=" - }, - "promise-polyfill": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", - "integrity": "sha1-zQTv9G9clcOn0EVZHXm14+AfEtc=" - }, - "stream-to-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.1.0.tgz", - "integrity": "sha1-OSELATF+ars16FRTjgEwN7ajWUA=" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" } } } diff --git a/packages/meteor/.npm/package/npm-shrinkwrap.json b/packages/meteor/.npm/package/npm-shrinkwrap.json index 52408cae43..f148a9994c 100644 --- a/packages/meteor/.npm/package/npm-shrinkwrap.json +++ b/packages/meteor/.npm/package/npm-shrinkwrap.json @@ -1,10 +1,10 @@ { "lockfileVersion": 1, "dependencies": { - "double-ended-queue": { - "version": "2.1.0-0", - "resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz", - "integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=" + "denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==" } } } From eebe2b476ba5bb081395ef9ed864099bbbe7ae1c Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 10 Jan 2023 16:26:03 -0300 Subject: [PATCH 115/398] Meteor version to 2.10.0-rc.0 :comet: --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/callback-hook/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/mongo/package.js | 2 +- packages/react-fast-refresh/package.js | 2 +- packages/test-in-browser/package.js | 2 +- packages/tracker/package.js | 2 +- packages/typescript/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/babel-compiler/package.js b/packages/babel-compiler/package.js index f671c81397..28e99ab9e8 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-compiler", summary: "Parser/transpiler for ECMAScript 2015+ syntax", - version: '7.10.2-beta2100.1' + version: '7.10.2-rc2100.0' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 2607faaf96..31f125cb4c 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.1-beta2100.1', + version: '1.5.1-rc2100.0', documentation: null }); diff --git a/packages/callback-hook/package.js b/packages/callback-hook/package.js index 07edb85981..b06eb434ef 100644 --- a/packages/callback-hook/package.js +++ b/packages/callback-hook/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Register callbacks on a hook", - version: '1.5.0-beta2100.0' + version: '1.5.0-rc2100.0' }); Package.onUse(function (api) { diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index a43b8dec7e..5ad92aeb3e 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.16.4', + version: '0.16.5-rc2100.0', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md', }); diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 73f76f73ff..ddfdbc59a7 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: '2.10.0-beta.1', + version: '2.10.0-rc.0', }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 05f480bf94..2972665466 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.11.0-beta2100.1' + version: '1.11.0-rc2100.0' }); Package.registerBuildPlugin({ diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 391d54a050..29ee06e55d 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: '1.16.4-beta2100.0' + version: '1.16.4-rc2100.0' }); Npm.depends({ diff --git a/packages/react-fast-refresh/package.js b/packages/react-fast-refresh/package.js index eb442fcfcb..2c2ccc05a3 100644 --- a/packages/react-fast-refresh/package.js +++ b/packages/react-fast-refresh/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'react-fast-refresh', - version: '0.2.5-beta2100.0', + version: '0.2.5-rc2100.0', summary: 'Automatically update React components with HMR', documentation: 'README.md', devOnly: true, diff --git a/packages/test-in-browser/package.js b/packages/test-in-browser/package.js index 90884ae940..c6a36ebaa4 100644 --- a/packages/test-in-browser/package.js +++ b/packages/test-in-browser/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Run tests interactively in the browser", - version: '1.3.3-beta2100.0', + version: '1.3.3-rc2100.0', documentation: null }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 93f3f550ad..1d48b8fef8 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.3.0-beta2100.0" + version: "1.3.0-rc2100.0" }); Package.onUse(function (api) { diff --git a/packages/typescript/package.js b/packages/typescript/package.js index 5d3b40e53e..f11308b3ae 100644 --- a/packages/typescript/package.js +++ b/packages/typescript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'typescript', - version: '4.7.4-beta2100.1', + version: '4.7.4-rc2100.0', summary: 'Compiler plugin that compiles TypeScript and ECMAScript in .ts and .tsx files', documentation: 'README.md', diff --git a/packages/webapp/package.js b/packages/webapp/package.js index c4653b1f8f..1b1fbd0672 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: '1.13.3-beta2100.0', + version: '1.13.3-rc2100.0', }); Npm.depends({ diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index ae13d8cc84..55f056f83a 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.10.0-beta.1", + "version": "2.10.0-rc.0", "recommended": false, "official": false, "description": "Meteor experimental release" From eab43ac2e46d55933f40843d499a18b3a1668625 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 10 Jan 2023 17:27:10 -0300 Subject: [PATCH 116/398] docs: updated order and docs for 2.10 --- docs/history.md | 52 ++++++++++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/docs/history.md b/docs/history.md index 7ca981e277..1a6472664e 100644 --- a/docs/history.md +++ b/docs/history.md @@ -28,40 +28,48 @@ N/A #### Meteor Version Release -* `mongo@1.16.4`: - - Fixed wrong type definitions. - - switch to using MongoDB types instead of the homebuilt. - - Fixed wrong type definitions in MongoDB package related to dropIndexAsync - * `babel-compiler@7.10.2`: - Updated @meteorjs/babel to version 7.18.0. - -* `test-in-browser@1.3.3`: - - Updated dependencies and removed unused libs. + - Updated to typescript to version v4.7.4. * `boilerplate-generator-tests@1.5.1`: - Updated parse5 and turned streamToString into a local function. -* `typescript@4.7.4` - - Updated typescript to version 4.7.4. - -* `webapp@1.13.3` - - The forEach method on Hook will stop iterating unless the iterator function returns a truthy value. - Previously, this meant that only the first registered runtime config hook would be called. - * `callback-hook@1.5.0` - - Added forEachAsync . - -* `Tracker@1.3.0`: - - Implemented async Tracker with explicit values + - Added forEachAsync. -* `Meteor@1.11.0`: - - Replaced double-ended-queue with [denque](https://github.com/invertase/denque) +* `ecmascript@0.16.5` + - Updated typescript to version 4.7.4. - * `Command line`: - Updated React skeletons to use React 18 +* `Meteor@1.11.0`: + - Replaced double-ended-queue with [denque](https://github.com/invertase/denque) + +* `mongo@1.16.4`: + - Fixed wrong type definitions. + - switch to using MongoDB types instead of the homebuilt. + - Fixed wrong type definitions in MongoDB package related to dropIndexAsync + +* `react-fast-refresh@0.2.5`: + - Updated react-refresh dependency. + +* `test-in-browser@1.3.3`: + - Updated dependencies and removed unused libs. + +* `Tracker@1.3.0`: + - Implemented async Tracker with explicit values + +* `typescript@4.7.4` + - Updated typescript to version 4.7.4. + +* `webapp@1.13.3` + - The forEach method on Hook will stop iterating unless the iterator function returns a truthy value. + Previously, this meant that only the first registered runtime config hook would be called. + +* `@meteorjs/babel@7.18.0-beta.5` + - Updated typescript to version 4.7.4. #### Special thanks to - [@StorytellerCZ](https://github.com/StorytellerCZ). From d1edb6f73812f84b32c0a84b861643a21a466f46 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 12 Jan 2023 18:20:40 -0300 Subject: [PATCH 117/398] docs: updated tracker docs regarding 2.10 --- docs/history.md | 2 +- docs/source/api/tracker.md | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/docs/history.md b/docs/history.md index 1a6472664e..da924afab4 100644 --- a/docs/history.md +++ b/docs/history.md @@ -1,4 +1,4 @@ -## v2.10.0, 2023-01-XX +## v2.10.0, 2023-01-13 ### Highlights diff --git a/docs/source/api/tracker.md b/docs/source/api/tracker.md index 70e72cdbcb..1523c67df0 100644 --- a/docs/source/api/tracker.md +++ b/docs/source/api/tracker.md @@ -80,7 +80,22 @@ If the initial run of an autorun throws an exception, the computation is automatically stopped and won't be rerun. ### Tracker.autorun and async callbacks -`Tracker.autorun` can accept an `async` callback function. However, the async call back function will only be dependent on reactive functions called prior to any called functions that return a promise. +`Tracker.autorun` can accept an `async` callback function. +However, to make the async call reactive, you should wrap your async function in +a `Tracker.withComputation` call. + +```javascript +Tracker.autorun(async function example1(computation) { + let asyncData = + await Tracker.withComputation(computation, () => asyncDataFunction()); + let users = Meteor.users.find({}).fetch(); +}); +``` +> If you want to get computation in other way you can use `Tracker.currentComputation` + +#### Using async callbacks in versions of Meteor prior to 2.10 +`Tracker.autorun` can accept an `async` callback function. +However, the async call back function will only be dependent on reactive functions called prior to any called functions that return a promise. Example 1 - autorun `example1()` **is not** dependent on reactive changes to the `Meteor.users` collection. Because it is dependent on nothing reactive it will run only once: ```javascript @@ -99,7 +114,6 @@ Example 2 - autorun `example2()` **is** dependent on reactive changes to the Me let asyncData = await asyncDataFunction(); }); ``` - {% apibox "Tracker.flush" %} Normally, when you make changes (like writing to the database), From 9b6c797f09e4a16068541667cdde5b3eabfc5c95 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Fri, 13 Jan 2023 17:19:44 -0300 Subject: [PATCH 118/398] =?UTF-8?q?Meteor=20version=20to=202.10.0=C2=A0:co?= =?UTF-8?q?met:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/babel-compiler/package.js | 2 +- packages/boilerplate-generator-tests/package.js | 2 +- packages/callback-hook/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/meteor/package.js | 2 +- packages/mongo/package.js | 2 +- packages/react-fast-refresh/package.js | 2 +- packages/test-in-browser/package.js | 2 +- packages/tracker/package.js | 2 +- packages/typescript/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-official.json | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 28e99ab9e8..a78caae77c 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-compiler", summary: "Parser/transpiler for ECMAScript 2015+ syntax", - version: '7.10.2-rc2100.0' + version: '7.10.2' }); Npm.depends({ diff --git a/packages/boilerplate-generator-tests/package.js b/packages/boilerplate-generator-tests/package.js index 31f125cb4c..833fb0c696 100644 --- a/packages/boilerplate-generator-tests/package.js +++ b/packages/boilerplate-generator-tests/package.js @@ -2,7 +2,7 @@ Package.describe({ // These tests are in a separate package so that we can Npm.depend on // parse5, a html parsing library. summary: "Tests for the boilerplate-generator package", - version: '1.5.1-rc2100.0', + version: '1.5.1', documentation: null }); diff --git a/packages/callback-hook/package.js b/packages/callback-hook/package.js index b06eb434ef..93d8a15b7e 100644 --- a/packages/callback-hook/package.js +++ b/packages/callback-hook/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Register callbacks on a hook", - version: '1.5.0-rc2100.0' + version: '1.5.0' }); Package.onUse(function (api) { diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 5ad92aeb3e..edbb12df58 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.16.5-rc2100.0', + version: '0.16.5', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md', }); diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index ddfdbc59a7..f728723ddf 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: '2.10.0-rc.0', + version: '2.10.0', }); Package.includeTool(); diff --git a/packages/meteor/package.js b/packages/meteor/package.js index 2972665466..9615b758e2 100644 --- a/packages/meteor/package.js +++ b/packages/meteor/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Core Meteor environment", - version: '1.11.0-rc2100.0' + version: '1.11.0' }); Package.registerBuildPlugin({ diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 29ee06e55d..71213f2596 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: '1.16.4-rc2100.0' + version: '1.16.4' }); Npm.depends({ diff --git a/packages/react-fast-refresh/package.js b/packages/react-fast-refresh/package.js index 2c2ccc05a3..9b4142e253 100644 --- a/packages/react-fast-refresh/package.js +++ b/packages/react-fast-refresh/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'react-fast-refresh', - version: '0.2.5-rc2100.0', + version: '0.2.5', summary: 'Automatically update React components with HMR', documentation: 'README.md', devOnly: true, diff --git a/packages/test-in-browser/package.js b/packages/test-in-browser/package.js index c6a36ebaa4..2258d943ca 100644 --- a/packages/test-in-browser/package.js +++ b/packages/test-in-browser/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Run tests interactively in the browser", - version: '1.3.3-rc2100.0', + version: '1.3.3', documentation: null }); diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 1d48b8fef8..4d466ebe5c 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.3.0-rc2100.0" + version: "1.3.0" }); Package.onUse(function (api) { diff --git a/packages/typescript/package.js b/packages/typescript/package.js index f11308b3ae..34caaba00c 100644 --- a/packages/typescript/package.js +++ b/packages/typescript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'typescript', - version: '4.7.4-rc2100.0', + version: '4.7.4', summary: 'Compiler plugin that compiles TypeScript and ECMAScript in .ts and .tsx files', documentation: 'README.md', diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 1b1fbd0672..9edfd97338 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: '1.13.3-rc2100.0', + version: '1.13.3', }); Npm.depends({ diff --git a/scripts/admin/meteor-release-official.json b/scripts/admin/meteor-release-official.json index 2920330372..49001a3f80 100644 --- a/scripts/admin/meteor-release-official.json +++ b/scripts/admin/meteor-release-official.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.9.1", + "version": "2.10.0", "recommended": false, "official": true, "description": "The Official Meteor Distribution" From 94c668ec9411780ccba3b0ea894ff65625b0dd92 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 16 Jan 2023 16:12:31 -0300 Subject: [PATCH 119/398] docs: updated docs config --- docs/_config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/_config.yml b/docs/_config.yml index 1bd31f0460..98cae4bc95 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,6 +1,7 @@ title: Meteor API Docs subtitle: API Docs versions: + - '2.10' - '2.9' - '2.8' - '2.7' From 0f93195496ac61245a0261fd4e0b8f0e38be8487 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 16 Jan 2023 16:12:39 -0300 Subject: [PATCH 120/398] docs: updated guide config --- guide/_config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/guide/_config.yml b/guide/_config.yml index a28b565f8f..0a0530fc92 100644 --- a/guide/_config.yml +++ b/guide/_config.yml @@ -5,6 +5,7 @@ edit_branch: 'devel' edit_path: 'guide' content_root: 'content' versions: + - '2.10' - '2.9' - '2.8' - '2.7' From 1875089e8121f5f5b5683e2685d961524af1b489 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 16 Jan 2023 16:12:56 -0300 Subject: [PATCH 121/398] chore: changed recomended meteor version --- npm-packages/meteor-installer/config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm-packages/meteor-installer/config.js b/npm-packages/meteor-installer/config.js index 6e04ff3b1a..65b8dcd8ef 100644 --- a/npm-packages/meteor-installer/config.js +++ b/npm-packages/meteor-installer/config.js @@ -1,7 +1,7 @@ const path = require('path'); const os = require('os'); -const METEOR_LATEST_VERSION = '2.9.1'; +const METEOR_LATEST_VERSION = '2.10.0'; const sudoUser = process.env.SUDO_USER || ''; function isRoot() { return process.getuid && process.getuid() === 0; From 6ced8e0d14b6f38aff20ce5fa4d4e7df2c6c6d4c Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 16 Jan 2023 16:13:17 -0300 Subject: [PATCH 122/398] chore: updated meteor-installer version in package.json --- npm-packages/meteor-installer/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm-packages/meteor-installer/package.json b/npm-packages/meteor-installer/package.json index af52942de4..b3db20fb06 100644 --- a/npm-packages/meteor-installer/package.json +++ b/npm-packages/meteor-installer/package.json @@ -1,6 +1,6 @@ { "name": "meteor", - "version": "2.9.1", + "version": "2.10.0", "description": "Install Meteor", "main": "install.js", "scripts": { From 1fcb67bc91b6fde1c2be4f98feef9bdccc0d1114 Mon Sep 17 00:00:00 2001 From: Sean Hayes Date: Sat, 14 Jan 2023 17:45:35 +0100 Subject: [PATCH 123/398] Fixes vue tutorial link --- tools/static-assets/skel-vue/server/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/static-assets/skel-vue/server/main.js b/tools/static-assets/skel-vue/server/main.js index 44f7bc045b..e5ef48eccc 100644 --- a/tools/static-assets/skel-vue/server/main.js +++ b/tools/static-assets/skel-vue/server/main.js @@ -10,7 +10,7 @@ Meteor.startup(async () => { if ((await LinksCollection.find().countAsync()) === 0) { await insertLink({ title: 'Do the Tutorial', - url: 'https://www.solidjs.com/tutorial/introduction_basics', + url: 'https://vuejs.org/guide/quick-start.html', }) await insertLink({ From 52054d0a134f9e9f2f93dd564761e97a70075321 Mon Sep 17 00:00:00 2001 From: Sean Hayes Date: Sat, 14 Jan 2023 17:47:18 +0100 Subject: [PATCH 124/398] Revert "Fixes vue tutorial link" This reverts commit e15869e8f413cc15db1e34371b69d8a9be8e7e17. --- tools/static-assets/skel-vue/server/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/static-assets/skel-vue/server/main.js b/tools/static-assets/skel-vue/server/main.js index e5ef48eccc..44f7bc045b 100644 --- a/tools/static-assets/skel-vue/server/main.js +++ b/tools/static-assets/skel-vue/server/main.js @@ -10,7 +10,7 @@ Meteor.startup(async () => { if ((await LinksCollection.find().countAsync()) === 0) { await insertLink({ title: 'Do the Tutorial', - url: 'https://vuejs.org/guide/quick-start.html', + url: 'https://www.solidjs.com/tutorial/introduction_basics', }) await insertLink({ From 7c5c5b05b7bb5b3983bfefd0fe65d24534090a0b Mon Sep 17 00:00:00 2001 From: Sean Hayes Date: Sat, 14 Jan 2023 18:58:06 +0100 Subject: [PATCH 125/398] Fixes #12439 wrong tutorial link for vue Fixes #12439 --- tools/static-assets/skel-vue/server/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/static-assets/skel-vue/server/main.js b/tools/static-assets/skel-vue/server/main.js index 44f7bc045b..e5ef48eccc 100644 --- a/tools/static-assets/skel-vue/server/main.js +++ b/tools/static-assets/skel-vue/server/main.js @@ -10,7 +10,7 @@ Meteor.startup(async () => { if ((await LinksCollection.find().countAsync()) === 0) { await insertLink({ title: 'Do the Tutorial', - url: 'https://www.solidjs.com/tutorial/introduction_basics', + url: 'https://vuejs.org/guide/quick-start.html', }) await insertLink({ From 7df4b458a428ca87c95a203e585843d52fd2a563 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 18 Jan 2023 15:30:42 -0300 Subject: [PATCH 126/398] docs: created 2.10 migration guide --- guide/source/2.10-migration.md | 76 ++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 guide/source/2.10-migration.md diff --git a/guide/source/2.10-migration.md b/guide/source/2.10-migration.md new file mode 100644 index 0000000000..9149af8451 --- /dev/null +++ b/guide/source/2.10-migration.md @@ -0,0 +1,76 @@ +--- +title: Migrating to Meteor 2.10 +description: How to migrate your application to Meteor 2.10. +--- + +Most of the new features in Meteor 2.10 are either applied directly behind the scenes (in a backwards compatible manner) or are opt-in. For a complete breakdown of the changes, please refer to the [changelog](http://docs.meteor.com/changelog.html). + +The above being said, there are a few items that you should implement to have easier time in the future. + +

Async Tracker

+ +Wrapping your async calls in a ```Tracker.withComputation``` method will make sure that even async calls are reactive. + +before if you used a code like the one below it would only run once and would not be reactive +```javascript +Tracker.autorun(async function example1() { + let asyncData = await asyncDataFunction(); + let users = Meteor.users.find({}).fetch(); +}); +``` +To be reactive before 2.10 you would need to call the reactive data sources before the async call + +```javascript +Tracker.autorun(async function example2() { + let users = Meteor.users.find({}).fetch(); + let asyncData = await asyncDataFunction(); +}); +``` +Now you can have both examples reactive by wrapping the async call in a ```Tracker.withComputation``` method + +```javascript + +Tracker.autorun(async function example1(computation) { + let asyncData = await Tracker.withComputation(computation, () => asyncDataFunction()); + let users = Meteor.users.find({}).fetch(); +}); + +Tracker.autorun(async function example2(computation) { + let users = await Tracker.withComputation(computation, () => Meteor.users.find({}).fetch()); + let asyncData = await Tracker.withComputation(computation, () => asyncDataFunction()); + +}); + +// using async mongo api +Tracker.autorun(async function example2(computation) { + let asyncData = await Tracker.withComputation(computation, () => asyncDataFunction()); + let users = await Tracker.withComputation(computation, () => Meteor.users.find({}).fetchAsync()); +}); +``` +

Migrating from a version older than 2.9?

+ +If you're migrating from a version of Meteor older than Meteor 2.9, there may be important considerations not listed in this guide. Please review the older migration guides for details: + +* [Migrating to Meteor 2.9](2.9-migration.html) (from 2.8) +* [Migrating to Meteor 2.8](2.8-migration.html) (from 2.7) +* [Migrating to Meteor 2.7](2.7-migration.html) (from 2.6) +* [Migrating to Meteor 2.6](2.6-migration.html) (from 2.5) +* [Migrating to Meteor 2.5](2.5-migration.html) (from 2.4) +* [Migrating to Meteor 2.4](2.4-migration.html) (from 2.3) +* [Migrating to Meteor 2.3](2.3-migration.html) (from 2.2) +* [Migrating to Meteor 2.2](2.2-migration.html) (from 2.0) +* [Migrating to Meteor 2.0](2.0-migration.html) (from 1.12) +* [Migrating to Meteor 1.12](1.12-migration.html) (from 1.11) +* [Migrating to Meteor 1.11](1.11-migration.html) (from 1.10.2) +* [Migrating to Meteor 1.10.2](1.10.2-migration.html) (from 1.10) +* [Migrating to Meteor 1.10](1.10-migration.html) (from 1.9.3) +* [Migrating to Meteor 1.9.3](1.9.3-migration.html) (from 1.9) +* [Migrating to Meteor 1.9](1.9-migration.html) (from 1.8.3) +* [Migrating to Meteor 1.8.3](1.8.3-migration.html) (from 1.8.2) +* [Migrating to Meteor 1.8.2](1.8.2-migration.html) (from 1.8) +* [Migrating to Meteor 1.8](1.8-migration.html) (from 1.7) +* [Migrating to Meteor 1.7](1.7-migration.html) (from 1.6) +* [Migrating to Meteor 1.6](1.6-migration.html) (from 1.5) +* [Migrating to Meteor 1.5](1.5-migration.html) (from 1.4) +* [Migrating to Meteor 1.4](1.4-migration.html) (from 1.3) +* [Migrating to Meteor 1.3](1.3-migration.html) (from 1.2) From ac474b92d8aca607b7dc313289a39216d1151a8d Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Thu, 19 Jan 2023 17:52:12 +0900 Subject: [PATCH 127/398] Deprecate appcache package --- docs/source/packages/appcache.md | 2 ++ packages/appcache/CHANGELOG.md | 4 ++++ packages/appcache/package.js | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/source/packages/appcache.md b/docs/source/packages/appcache.md index 92914ab81c..d6ff143a07 100644 --- a/docs/source/packages/appcache.md +++ b/docs/source/packages/appcache.md @@ -3,6 +3,8 @@ title: appcache description: Documentation of Meteor's `appcache` package. --- +> This package has been deprecated since [applicationCache](https://developer.mozilla.org/en-US/docs/Web/API/Window/applicationCache), which this package relies on, has been deprecated and is not available on the latest browsers. Plaese consider using [Service Worker](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) as an replacement. + The `appcache` package stores the static parts of a Meteor application (the client side Javascript, HTML, CSS, and images) in the browser's [application cache](https://en.wikipedia.org/wiki/AppCache). To enable diff --git a/packages/appcache/CHANGELOG.md b/packages/appcache/CHANGELOG.md index 415992746a..986ac82764 100644 --- a/packages/appcache/CHANGELOG.md +++ b/packages/appcache/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## v1.2.8, 2022-01-19 + +* Package has been deprecated since [applicationCache](https://developer.mozilla.org/en-US/docs/Web/API/Window/applicationCache), which this package relies on, has been deprecated and is not available on the latest browsers. + ## v1.2.3, 2019-12-13 * Rewrite appcache resources exceed recommended cache size debug message. Fixes [Issue #10321](https://github.com/meteor/meteor/issues/10321). Thanks [@CaptainN](https://github.com/CaptainN) diff --git a/packages/appcache/package.js b/packages/appcache/package.js index f2bbc8679c..c132f792f8 100644 --- a/packages/appcache/package.js +++ b/packages/appcache/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Enable the application cache in the browser", - version: "1.2.7", + version: "1.2.8", + deprecated: true, }); Package.onUse(api => { From 36eb5dab5add6a1d41d5d276427b0eb04f156c37 Mon Sep 17 00:00:00 2001 From: jamauro Date: Fri, 20 Jan 2023 09:54:15 -0600 Subject: [PATCH 128/398] Update security.md Proposing to clarify what is and isn't included in the client bundle when importing `/server` code and using `this.isSimulation` or `Meteor.isServer` --- guide/source/security.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/source/security.md b/guide/source/security.md index cde16b74e0..b824ea2ca5 100644 --- a/guide/source/security.md +++ b/guide/source/security.md @@ -365,7 +365,7 @@ Meteor.users.methods.updateMMR = new ValidatedMethod({ }); ``` -Note that while the Method is defined on the client, the actual secret logic is only accessible from the server. Keep in mind that code inside `if (Meteor.isServer)` blocks is still sent to the client, it is just not executed. So don't put any secret code in there. +Note that while the Method is defined on the client, the actual secret logic is only accessible from the server and the code will **not** be included in the client bundle. Keep in mind that code inside `if (Meteor.isServer)` and `if (!this.isSimulation)` blocks is still sent to the client, it is just not executed. So don't put any secret code in there. Secret API keys should never be stored in your source code at all, the next section will talk about how to handle them. From 2c99effec864641e8f860b62dc0780c096c1748d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Miernik?= Date: Fri, 20 Jan 2023 17:12:38 +0100 Subject: [PATCH 129/398] Optimized makeLookupFunction. --- packages/minimongo/common.js | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/packages/minimongo/common.js b/packages/minimongo/common.js index 82d966fb2b..7a08e569b1 100644 --- a/packages/minimongo/common.js +++ b/packages/minimongo/common.js @@ -972,21 +972,19 @@ export function makeLookupFunction(key, options = {}) { makeLookupFunction(parts.slice(1).join('.'), options) ); - const omitUnnecessaryFields = result => { - if (!result.dontIterate) { - delete result.dontIterate; - } - - if (result.arrayIndices && !result.arrayIndices.length) { - delete result.arrayIndices; - } - - return result; - }; + function buildResult(arrayIndices, dontIterate, value) { + return arrayIndices && arrayIndices.length + ? dontIterate + ? [{ arrayIndices, dontIterate, value }] + : [{ arrayIndices, value }] + : dontIterate + ? [{ dontIterate, value }] + : [{ value }]; + } // Doc will always be a plain object or an array. // apply an explicit numeric index, an array. - return (doc, arrayIndices = []) => { + return (doc, arrayIndices) => { if (Array.isArray(doc)) { // If we're being asked to do an invalid lookup into an array (non-integer // or out-of-bounds), return no results (which is different from returning @@ -998,7 +996,7 @@ export function makeLookupFunction(key, options = {}) { // Remember that we used this array index. Include an 'x' to indicate that // the previous index came from being considered as an explicit array // index (not branching). - arrayIndices = arrayIndices.concat(+firstPart, 'x'); + arrayIndices = arrayIndices ? arrayIndices.concat(+firstPart, 'x') : [+firstPart, 'x']; } // Do our first lookup. @@ -1017,11 +1015,11 @@ export function makeLookupFunction(key, options = {}) { // selectors to iterate over it. eg, {'a.0': 5} does not match {a: [[5]]}. // So in that case, we mark the return value as 'don't iterate'. if (!lookupRest) { - return [omitUnnecessaryFields({ + return buildResult( arrayIndices, - dontIterate: Array.isArray(doc) && Array.isArray(firstLevel), - value: firstLevel - })]; + Array.isArray(doc) && Array.isArray(firstLevel), + firstLevel, + ); } // We need to dig deeper. But if we can't, because what we've found is not @@ -1035,7 +1033,7 @@ export function makeLookupFunction(key, options = {}) { return []; } - return [omitUnnecessaryFields({arrayIndices, value: undefined})]; + return buildResult(arrayIndices, false, undefined); } const result = []; @@ -1067,7 +1065,7 @@ export function makeLookupFunction(key, options = {}) { !(isNumericKey(parts[1]) && options.forSort)) { firstLevel.forEach((branch, arrayIndex) => { if (LocalCollection._isPlainObject(branch)) { - appendToResult(lookupRest(branch, arrayIndices.concat(arrayIndex))); + appendToResult(lookupRest(branch, arrayIndices ? arrayIndices.concat(arrayIndex) : [arrayIndex])); } }); } From f3e78bf89259c12ebed5903f24c988712a9cc4d0 Mon Sep 17 00:00:00 2001 From: Igor Loskutov Date: Sat, 21 Jan 2023 10:54:59 +0700 Subject: [PATCH 130/398] Bump Typescript to v4.9.4 --- .../eslint-plugin-meteor/scripts/dev-bundle-tool-package.js | 4 ++-- npm-packages/meteor-babel/package.json | 4 ++-- packages/babel-compiler/package.js | 4 ++-- packages/typescript/package.js | 2 +- scripts/dev-bundle-tool-package.js | 4 ++-- tools/static-assets/skel-typescript/package.json | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/npm-packages/eslint-plugin-meteor/scripts/dev-bundle-tool-package.js b/npm-packages/eslint-plugin-meteor/scripts/dev-bundle-tool-package.js index 1b0fb50666..c048959e0b 100644 --- a/npm-packages/eslint-plugin-meteor/scripts/dev-bundle-tool-package.js +++ b/npm-packages/eslint-plugin-meteor/scripts/dev-bundle-tool-package.js @@ -14,8 +14,8 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/a81b0324686e85d22c7688c47629d4009000e8b8", "node-gyp": "8.0.0", "node-pre-gyp": "0.15.0", - typescript: "4.7.4", - "@meteorjs/babel": "7.18.0-beta.5", + typescript: "4.9.4", + "@meteorjs/babel": "7.18.0-beta.6", // Keep the versions of these packages consistent with the versions // found in dev-bundle-server-package.js. "meteor-promise": "0.9.0", diff --git a/npm-packages/meteor-babel/package.json b/npm-packages/meteor-babel/package.json index 27cccf1c73..c52337d855 100644 --- a/npm-packages/meteor-babel/package.json +++ b/npm-packages/meteor-babel/package.json @@ -1,7 +1,7 @@ { "name": "@meteorjs/babel", "author": "Meteor ", - "version": "7.18.0-beta.5", + "version": "7.18.0-beta.6", "license": "MIT", "description": "Babel wrapper package for use with Meteor", "keywords": [ @@ -47,7 +47,7 @@ "convert-source-map": "^1.6.0", "lodash": "^4.17.21", "meteor-babel-helpers": "0.0.3", - "typescript": "~4.7.4" + "typescript": "~4.9.4" }, "devDependencies": { "@babel/plugin-proposal-decorators": "7.14.5", diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index a78caae77c..dd37ec9f5f 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -1,11 +1,11 @@ Package.describe({ name: "babel-compiler", summary: "Parser/transpiler for ECMAScript 2015+ syntax", - version: '7.10.2' + version: '7.10.3' }); Npm.depends({ - '@meteorjs/babel': '7.18.0-beta.5', + '@meteorjs/babel': '7.18.0-beta.6', 'json5': '2.1.1' }); diff --git a/packages/typescript/package.js b/packages/typescript/package.js index 34caaba00c..d0403b86c4 100644 --- a/packages/typescript/package.js +++ b/packages/typescript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'typescript', - version: '4.7.4', + version: '4.9.4', summary: 'Compiler plugin that compiles TypeScript and ECMAScript in .ts and .tsx files', documentation: 'README.md', diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 3145db753e..4b8999ed25 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -14,8 +14,8 @@ var packageJson = { pacote: "https://github.com/meteor/pacote/tarball/a81b0324686e85d22c7688c47629d4009000e8b8", "node-gyp": "8.0.0", "node-pre-gyp": "0.15.0", - typescript: "4.7.4", - "@meteorjs/babel": "7.18.0-beta.5", + typescript: "4.9.4", + "@meteorjs/babel": "7.18.0-beta.6", // Keep the versions of these packages consistent with the versions // found in dev-bundle-server-package.js. "meteor-promise": "0.9.0", diff --git a/tools/static-assets/skel-typescript/package.json b/tools/static-assets/skel-typescript/package.json index 947a2f436c..78ef0ea3e6 100644 --- a/tools/static-assets/skel-typescript/package.json +++ b/tools/static-assets/skel-typescript/package.json @@ -18,7 +18,7 @@ "@types/mocha": "^8.2.3", "@types/react": "^18.0.26", "@types/react-dom": "^18.0.10", - "typescript": "^4.7.4" + "typescript": "^4.9.4" }, "meteor": { "mainModule": { From e756c5a62bf4828f8eed9dea69c858ca674ddbc2 Mon Sep 17 00:00:00 2001 From: Evan Broder Date: Mon, 23 Jan 2023 09:11:50 -0800 Subject: [PATCH 131/398] mongo: In async wrappers, catch exceptions and reject Previously, if an exception was thrown in an async method, it would not be caught, which is unusual in an async method. Instead, catch the exception and return it as a rejected promise. --- packages/minimongo/cursor.js | 6 +++++- packages/mongo/collection.js | 6 +++++- packages/mongo/mongo_driver.js | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/minimongo/cursor.js b/packages/minimongo/cursor.js index 0c119a8f81..aaf43c80e2 100644 --- a/packages/minimongo/cursor.js +++ b/packages/minimongo/cursor.js @@ -520,6 +520,10 @@ export default class Cursor { ASYNC_CURSOR_METHODS.forEach(method => { const asyncName = getAsyncMethodName(method); Cursor.prototype[asyncName] = function(...args) { - return Promise.resolve(this[method].apply(this, args)); + try { + return Promise.resolve(this[method].apply(this, args)); + } catch (error) { + return Promise.reject(error); + } }; }); diff --git a/packages/mongo/collection.js b/packages/mongo/collection.js index d5b99edae4..6459e3e5f4 100644 --- a/packages/mongo/collection.js +++ b/packages/mongo/collection.js @@ -919,6 +919,10 @@ function popCallbackFromArgs(args) { ASYNC_COLLECTION_METHODS.forEach(methodName => { const methodNameAsync = getAsyncMethodName(methodName); Mongo.Collection.prototype[methodNameAsync] = function(...args) { - return Promise.resolve(this[methodName](...args)); + try { + return Promise.resolve(this[methodName](...args)); + } catch (error) { + return Promise.reject(error); + } }; }); diff --git a/packages/mongo/mongo_driver.js b/packages/mongo/mongo_driver.js index 7b7b24ec00..cad7529939 100644 --- a/packages/mongo/mongo_driver.js +++ b/packages/mongo/mongo_driver.js @@ -945,7 +945,11 @@ Cursor.prototype.count = function () { const methodNameAsync = getAsyncMethodName(methodName); Cursor.prototype[methodNameAsync] = function (...args) { - return Promise.resolve(this[methodName](...args)); + try { + return Promise.resolve(this[methodName](...args)); + } catch (error) { + return Promise.reject(error); + } }; }); From 86ea32240445f74073f4790f85e6e1b755b3d497 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 24 Jan 2023 14:41:24 -0300 Subject: [PATCH 132/398] docs: updated history.md --- docs/history.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/docs/history.md b/docs/history.md index da924afab4..8d8da618f9 100644 --- a/docs/history.md +++ b/docs/history.md @@ -1,3 +1,38 @@ +## v2.11.0, 2023-02-XX + +### Highlights + +* MongoDB Server 6.x Support +* Embedded Mongo now uses MongoDB 6.0.3 +* Optimized makeLookupFunction by [radekmie](https://github.com/radekmie) [PR](https://github.com/meteor/meteor/pull/12462) + +#### Breaking Changes + +N/A + +#### Internal API changes + +N/A + +#### Migration Steps + +N/A + +#### Meteor Version Release + + +* `Command line`: + - Corrected typo in vue skeleton + +#### Special thanks to + +- [@radekmie](https://github.com/radekmie). + + +For making this great framework even better! + + + ## v2.10.0, 2023-01-13 ### Highlights From 12f6de2f2a4e2fa4ff1a0145ce592c79c7ba5d91 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 24 Jan 2023 14:42:04 -0300 Subject: [PATCH 133/398] docs: created 2.11 migration guide --- guide/source/2.11-migration.md | 100 +++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 guide/source/2.11-migration.md diff --git a/guide/source/2.11-migration.md b/guide/source/2.11-migration.md new file mode 100644 index 0000000000..fd33181392 --- /dev/null +++ b/guide/source/2.11-migration.md @@ -0,0 +1,100 @@ +--- +title: Migrating to Meteor 2.11 +description: How to migrate your application to Meteor 2.11. +--- + +Most of the new features in Meteor 2.11 are either applied directly behind the scenes (in a backwards compatible manner) or are opt-in. For a complete breakdown of the changes, please refer to the [changelog](http://docs.meteor.com/changelog.html). + +The above being said, there are a few items that you should implement to have easier time in the future. + +

MongoDB 6.0.3

+ +#### Introduction +Meteor before 2.11 was supporting MongoDB Server 5.x, starting from this version we've upgraded to MongoDB Node.js driver from version 4.12.1 to 4.13 + +This change was necessary at the time of writing this guide (January 2023) as MongoDB Atlas is going to migrate automatically all the clusters in the plans Atlas M0 (Free Cluster), M2, and M5 to MongoDB 6.0 in February 2022, but this change would be necessary anyway as this is now the latest version of MongoDB Server. The migration in the M0, M2 and M5 is just a sign from MongoDB that they believe MongoDB 5.0 should be the version used by everybody as soon as possible. + +If you are running on MongoDB Atlas and in one of these plans you have to run Meteor 2.11 in order to connect and interact with your MongoDB properly as your MongoDB is going to be upgraded to 6.0 in February. If you are not running at these plans, you can continue to use your MongoDB at previous versions and you can use previous versions of Meteor still without any problems. + +An important note is that we have migrated everything supported by Meteor to be compatible with MongoDB 6.x and also MongoDB Node.js Driver 4.x but this doesn't include, as you should expect, what you do in your code or package using `rawCollection`. `rawCollection` is a way for Meteor to provide you the freedom to interact with MongoDB driver but that also comes with the responsibility to keep your code up-to-date with the version of the driver used by Meteor. + +That said, we encourage everybody to run the latest version of Meteor as soon as possible as you can benefit from a new MongoDB driver and also other features that we are always adding to Meteor. + +This version of Meteor is also compatible with previous version of MongoDB server, so you can continue using the latest Meteor without any issues even if you are not running MongoDB 6.x yet. You can check [here](https://docs.mongodb.com/drivers/node/current/compatibility/) which versions of MongoDB server the Node.js driver in the version 4.13.0 supports and as a consequence these are the versions of MongoDB server supported by Meteor 2.11 as well. In short, Meteor 2.11 supports these versions of MongoDB server:6.1, 6.0, 5.0, 4.4, 4.2, 4.0, 3.6. + +#### Embedded MongoDB + +If you are using Embedded MongoDB in your local environment you should run `meteor reset` in order to have your database working properly after this upgrade. `meteor reset` is going to remove all the data in your local database. + +#### ```meteor mongo``` + +From MongoDB version 6.X, the `mongo` shell is not available anymore. It can be seen [here](https://www.mongodb.com/docs/manual/release-notes/6.0-compatibility/#legacy-mongo-shell-removed for more info. +For this reason the `meteor mongo` command is not going to work anymore. If you are using this command, you should use the `mongosh` command instead. +We will be working for a future version of Meteor to have `meteor mongo` working again with `mongosh` but for now you can use `mongosh` directly. + +#### Removed Operators + +The following operators have been removed from MongoDB 6.0.3 retrieved from the [MongoDB 6.0.3 Release Notes](https://www.mongodb.com/docs/manual/release-notes/6.0-compatibility/#removed-operators): + +- $comment: Use [cursor.comment()](https://www.mongodb.com/docs/manual/reference/method/cursor.comment/#mongodb-method-cursor.comment) +- $explain: Use [cursor.explain()](https://www.mongodb.com/docs/manual/reference/method/cursor.explain/#mongodb-method-cursor.explain) +- $hint: Use [cursor.hint()](https://www.mongodb.com/docs/manual/reference/method/cursor.hint/#mongodb-method-cursor.hint)) +- $max: Use [cursor.max()](https://www.mongodb.com/docs/manual/reference/method/cursor.max/#mongodb-method-cursor.max) +- $maxTimeMS: Use [cursor.maxTimeMS()](https://www.mongodb.com/docs/manual/reference/method/cursor.maxTimeMS/#mongodb-method-cursor.maxTimeMS) +- $min: Use [cursor.min()](https://www.mongodb.com/docs/manual/reference/method/cursor.min/#mongodb-method-cursor.min) +- $orderby: Use [cursor.sort()](https://www.mongodb.com/docs/manual/reference/method/cursor.sort/#mongodb-method-cursor.sort) +- $query: See [Cursor Methods](https://www.mongodb.com/docs/manual/reference/method/js-cursor/#std-label-doc-cursor-methods) +- $returnKey: Use [cursor.returnKey()](https://www.mongodb.com/docs/manual/reference/method/cursor.returnKey/#mongodb-method-cursor.returnKey) +- $showDiskLoc: Use cursor.showRecordId(https://www.mongodb.com/docs/manual/reference/method/cursor.returnKey/#mongodb-method-cursor.showRecordId) +- db.getLastError(): See [Legacy Opcodes Removed](https://www.mongodb.com/docs/manual/release-notes/6.0-compatibility/#std-label-legacy-op-codes-removed) +- db.getLastErrorObj(): See [Legacy Opcodes Removed](https://www.mongodb.com/docs/manual/release-notes/6.0-compatibility/#std-label-legacy-op-codes-removed) +- getLastError: See [Legacy Opcodes Removed](https://www.mongodb.com/docs/manual/release-notes/6.0-compatibility/#std-label-legacy-op-codes-removed) + +We will remove reference of them in our typescript definitions. + +#### Changes +This is still work in progress. Will be updated when we have more information.(when beta phase has ended) + +Below we describe a few common cases in this migration: + +#### 1) Same version of MongoDB server + +If you are not changing your MongoDB server version you don't need to change anything in your code, but as we did many changes on how Meteor interact with MongoDB in order to be compatible with the new driver we recommend that you test your application carefully before releasing to production with this Meteor version. + +We've made many tests in real applications and also in our automatic tests suite, we believe we've fixed all the issues that we found along the way but Meteor interaction with MongoDB is so broad and open that maybe you have different use cases that could lead to different issues. + +Again, we are not aware of any issues that were introduced by these changes, but it's important that you check your app behavior, especially if you have places where you believe you are not using MongoDB in a traditional way. + +#### 2) Migrating from MongoDB 5.x to MongoDB 6.x + +TODO + + +

Migrating from a version older than 2.10?

+ +If you're migrating from a version of Meteor older than Meteor 2.10, there may be important considerations not listed in this guide. Please review the older migration guides for details: + +* [Migrating to Meteor 2.10](2.10-migration.html) (from 2.9) +* [Migrating to Meteor 2.9](2.9-migration.html) (from 2.8) +* [Migrating to Meteor 2.8](2.8-migration.html) (from 2.7) +* [Migrating to Meteor 2.7](2.7-migration.html) (from 2.6) +* [Migrating to Meteor 2.6](2.6-migration.html) (from 2.5) +* [Migrating to Meteor 2.5](2.5-migration.html) (from 2.4) +* [Migrating to Meteor 2.4](2.4-migration.html) (from 2.3) +* [Migrating to Meteor 2.3](2.3-migration.html) (from 2.2) +* [Migrating to Meteor 2.2](2.2-migration.html) (from 2.0) +* [Migrating to Meteor 2.0](2.0-migration.html) (from 1.12) +* [Migrating to Meteor 1.12](1.12-migration.html) (from 1.11) +* [Migrating to Meteor 1.11](1.11-migration.html) (from 1.10.2) +* [Migrating to Meteor 1.10.2](1.10.2-migration.html) (from 1.10) +* [Migrating to Meteor 1.10](1.10-migration.html) (from 1.9.3) +* [Migrating to Meteor 1.9.3](1.9.3-migration.html) (from 1.9) +* [Migrating to Meteor 1.9](1.9-migration.html) (from 1.8.3) +* [Migrating to Meteor 1.8.3](1.8.3-migration.html) (from 1.8.2) +* [Migrating to Meteor 1.8.2](1.8.2-migration.html) (from 1.8) +* [Migrating to Meteor 1.8](1.8-migration.html) (from 1.7) +* [Migrating to Meteor 1.7](1.7-migration.html) (from 1.6) +* [Migrating to Meteor 1.6](1.6-migration.html) (from 1.5) +* [Migrating to Meteor 1.5](1.5-migration.html) (from 1.4) +* [Migrating to Meteor 1.4](1.4-migration.html) (from 1.3) +* [Migrating to Meteor 1.3](1.3-migration.html) (from 1.2) From 61fc68123b150be399f635cd3f6e49a23eb014e3 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 24 Jan 2023 14:42:27 -0300 Subject: [PATCH 134/398] docs: updated _config.yml --- docs/_config.yml | 1 + guide/_config.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/_config.yml b/docs/_config.yml index 98cae4bc95..5e52189195 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,6 +1,7 @@ title: Meteor API Docs subtitle: API Docs versions: + - '2.11' - '2.10' - '2.9' - '2.8' diff --git a/guide/_config.yml b/guide/_config.yml index 0a0530fc92..68bc5cb51a 100644 --- a/guide/_config.yml +++ b/guide/_config.yml @@ -5,6 +5,7 @@ edit_branch: 'devel' edit_path: 'guide' content_root: 'content' versions: + - '2.11' - '2.10' - '2.9' - '2.8' From 3331a09c7e288f957a63643e9816a3536a6313be Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 24 Jan 2023 17:48:05 -0300 Subject: [PATCH 135/398] docs: updated history.md --- docs/history.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/history.md b/docs/history.md index 8d8da618f9..ad2c936e44 100644 --- a/docs/history.md +++ b/docs/history.md @@ -5,6 +5,7 @@ * MongoDB Server 6.x Support * Embedded Mongo now uses MongoDB 6.0.3 * Optimized makeLookupFunction by [radekmie](https://github.com/radekmie) [PR](https://github.com/meteor/meteor/pull/12462) +* In async wrappers, catch exceptions and reject by [ebroder](https://github.com/ebroder) [PR](https://github.com/meteor/meteor/pull/12469) #### Breaking Changes @@ -24,9 +25,21 @@ N/A * `Command line`: - Corrected typo in vue skeleton +* `npm mongo @4.13.0`: + - Updated MongoDB driver to version 4.13.0 + +* `Minimongo@1.9.2`: + - Updated performance of makeLookupFunction + - In async wrappers, catch exceptions and reject + +* `mongo@1.16.5`: + - In async wrappers, catch exceptions and reject + #### Special thanks to - [@radekmie](https://github.com/radekmie). +- [@ebroder](https://github.com/ebroder). + For making this great framework even better! From 1b0eaeb9998d201d57138d095cb5c67687d6e9c5 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 24 Jan 2023 17:48:44 -0300 Subject: [PATCH 136/398] chore: updated packages sem ver --- packages/minimongo/package.js | 2 +- packages/mongo/package.js | 2 +- packages/npm-mongo/package.js | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index 2353ea1305..d3d9d110e4 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: '1.9.1' + version: '1.9.2-beta211.0' }); Package.onUse(api => { diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 71213f2596..0faeeac7b4 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: '1.16.4' + version: '1.16.5-beta211.0' }); Npm.depends({ diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 45d1a87a27..66712466c5 100644 --- a/packages/npm-mongo/package.js +++ b/packages/npm-mongo/package.js @@ -3,12 +3,12 @@ Package.describe({ summary: "Wrapper around the mongo npm package", - version: '4.12.1', + version: '4.13.0', documentation: null }); Npm.depends({ - mongodb: "4.12.1" + mongodb: "4.13.0" }); Package.onUse(function (api) { From ac3d95e05a5575066a747388d425d3134ac5eb86 Mon Sep 17 00:00:00 2001 From: Dhaval chaudhary Date: Wed, 25 Jan 2023 17:03:36 +0530 Subject: [PATCH 137/398] Bumped cordova inapp browser version to fix ios build failing --- packages/oauth/oauth_cordova.js | 3 ++- packages/oauth/package.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/oauth/oauth_cordova.js b/packages/oauth/oauth_cordova.js index 06c8870731..8ba66d5744 100644 --- a/packages/oauth/oauth_cordova.js +++ b/packages/oauth/oauth_cordova.js @@ -19,6 +19,8 @@ OAuth.showPopup = (url, callback, dimensions) => { // works that we don't understand and isn't well-documented. let oauthFinished = false; + const popup = cordova.InAppBrowser.open(url, '_blank', 'location=yes,hidden=yes'); + const pageLoaded = event => { if (oauthFinished) { return; @@ -59,7 +61,6 @@ OAuth.showPopup = (url, callback, dimensions) => { popup.removeEventListener('exit', onExit); }; - const popup = window.open(url, '_blank', 'location=yes,hidden=yes'); popup.addEventListener('loadstop', pageLoaded); popup.addEventListener('loaderror', fail); popup.addEventListener('exit', onExit); diff --git a/packages/oauth/package.js b/packages/oauth/package.js index 4b56f43d33..74c7d551e5 100644 --- a/packages/oauth/package.js +++ b/packages/oauth/package.js @@ -49,5 +49,5 @@ Package.onTest(api => { }); Cordova.depends({ - 'cordova-plugin-inappbrowser': '3.2.0' + 'cordova-plugin-inappbrowser': '5.0.0' }); From 0a6dd7bc8df375647b82b9c68372aed5036f699e Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 25 Jan 2023 15:10:49 -0300 Subject: [PATCH 138/398] chore: updating MongoDB driver --- .../.npm/package/npm-shrinkwrap.json | 352 +++++++++--------- 1 file changed, 181 insertions(+), 171 deletions(-) diff --git a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json index b276e22ce7..9b0564eb3a 100644 --- a/packages/npm-mongo/.npm/package/npm-shrinkwrap.json +++ b/packages/npm-mongo/.npm/package/npm-shrinkwrap.json @@ -2,9 +2,9 @@ "lockfileVersion": 1, "dependencies": { "@aws-crypto/ie11-detection": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", - "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", + "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", "dependencies": { "tslib": { "version": "1.14.1", @@ -14,9 +14,9 @@ } }, "@aws-crypto/sha256-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", - "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", + "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", "dependencies": { "tslib": { "version": "1.14.1", @@ -26,9 +26,9 @@ } }, "@aws-crypto/sha256-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", - "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", "dependencies": { "tslib": { "version": "1.14.1", @@ -38,9 +38,9 @@ } }, "@aws-crypto/supports-web-crypto": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", - "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", + "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", "dependencies": { "tslib": { "version": "1.14.1", @@ -50,9 +50,9 @@ } }, "@aws-crypto/util": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", - "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", "dependencies": { "tslib": { "version": "1.14.1", @@ -62,94 +62,94 @@ } }, "@aws-sdk/abort-controller": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.215.0.tgz", - "integrity": "sha512-HTvL542nawhVqe0oC1AJchdcomEOmPivJEzYUT1LqiG3e8ikxMNa2KWSqqLPeKi2t0A/cfQy7wDUyg9+BZhDSQ==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.257.0.tgz", + "integrity": "sha512-ekWy391lOerS0ZECdhp/c+X7AToJIpfNrCPjuj3bKr+GMQYckGsYsdbm6AUD4sxBmfvuaQmVniSXWovaxwcFcQ==" }, "@aws-sdk/client-cognito-identity": { - "version": "3.218.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.218.0.tgz", - "integrity": "sha512-IHzM9jpLqdeqj2w7YA7FrmLCQyKaun7eXtu1OJYMFbJT5XHx6B4jlQ1T/N8xivSSzDfjpJxG6/MMmjec4pI+CA==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.257.0.tgz", + "integrity": "sha512-/K5kLqZa8xrkk8ueLOdnHKZJxI0dp8J9X39y8B2zfJSqSb+n8ETqt0zo8kFcsn+JG746YyMby3t05YKCI5KLmg==" }, "@aws-sdk/client-sso": { - "version": "3.218.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.218.0.tgz", - "integrity": "sha512-kVMlpjaVblxgb1G8q3wD65mKxO3RzKwnjUjIBmOHpmseXzlSkAdAvYcikaDoJP+CRmys4uXk5DN8c7ZdL0OmgA==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.257.0.tgz", + "integrity": "sha512-sD0yTTctLbjDoSV3hJem+xz9BzusmkkU/4Fts9gEs4C5NjS0YrfPAvQWE++yRzPLPR/dMhDFVCOs7voTzUhUWQ==" }, "@aws-sdk/client-sso-oidc": { - "version": "3.216.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.216.0.tgz", - "integrity": "sha512-O8kmM86BHwiSwyNoIe+iHXuSpUE9PBWl3re8u+/igt/w5W5VmMVz+zQr7gRUDQ1FDgLWNEdAJa0r+JFx3pZdzA==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.257.0.tgz", + "integrity": "sha512-yXf53Zc7DYt/4j7xGXgWaDVhE/XMDLoid5l8bOb4aDJN6kxgl5bXV/sH3DwND/fA09EQHU1W+9oe/8InVqsliw==" }, "@aws-sdk/client-sts": { - "version": "3.218.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.218.0.tgz", - "integrity": "sha512-0A81eHvryKFEPq7IeY34Opzh5b9bVhhLlf2fDy5VuZjCFf4R9vD2ceOANvFSJeMsmdlqVDq8U1mHYl0E6FRUug==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.257.0.tgz", + "integrity": "sha512-AVNngoDGACR7xs9wTU7hrZSvMfNOGvWP/B/ieA0au3H3KDucjCZzBd3j2vYkR6Cph9dY7YkpU2Gtzn+JXD0b1g==" }, "@aws-sdk/config-resolver": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.215.0.tgz", - "integrity": "sha512-DxX4R+YYLQOtg0qfceKBrjVD4t1mQBG1eb7IVr2QSlckFCX8ztUNymFMuaSEo3938Jyy/NpgfUDpFqPDaSKnng==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.257.0.tgz", + "integrity": "sha512-jChjr8ayaXoAcUgrRr+JRIJ6bPtEoS+/xW9khpHOmrEX+uBJ7xLPfdS4e6nmxAQpbem9AsUVvf57DXhSh5/nLg==" }, "@aws-sdk/credential-provider-cognito-identity": { - "version": "3.218.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.218.0.tgz", - "integrity": "sha512-ndhlPBvnxUgje23TnVw0fkDgTZHh0GVapKSgeEIxmxAy3IVLN15iMs7dCV7LWvb7z1P0cYx9cwvxa0nTrVxjtg==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.257.0.tgz", + "integrity": "sha512-KNXKB4llqDpUwxeOMIcOSL4BSklaClOctERDnmShN2h4gS9lgHN8dWQOuEqd0YkBVDtOg//tz0GeS5tsZsL5dA==" }, "@aws-sdk/credential-provider-env": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.215.0.tgz", - "integrity": "sha512-n5G7I7Pxfsn81+tNsSOzspKp9SYai78oRfImsfFY4JLTcWutv7szMgFUbtEzBfUUINHpOxLiO2Lk5yu5K1C7IQ==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.257.0.tgz", + "integrity": "sha512-GsmBi5Di6hk1JAi1iB6/LCY8o+GmlCvJoB7wuoVmXI3VxRVwptUVjuj8EtJbIrVGrF9dSuIRPCzUoSuzEzYGlg==" }, "@aws-sdk/credential-provider-imds": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.215.0.tgz", - "integrity": "sha512-/4FUUR6u9gkNfxB6mEwBr0kk0myIkrDcXbAocWN3fPd/t7otzxpx/JqPZXgM6kcVP7M4T/QT75l1E1RRHLWCCQ==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.257.0.tgz", + "integrity": "sha512-UrxYkHWndy6s/bZZWH2poIyqdISTbILGTcK9tT8cFaUUrNIEFXiVESZMNNaagy0Dyy9wr80ndumxRkutYga9VA==" }, "@aws-sdk/credential-provider-ini": { - "version": "3.218.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.218.0.tgz", - "integrity": "sha512-tDDrGW+4A+PQThVJ+l9ee03CsDoD0XLpOB5dcf+dr/dCHjcQ7x/CeVFZ8eM+XUtGQnZVvuzXZGwzS8bUWEdJIg==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.257.0.tgz", + "integrity": "sha512-69jW9/Os2zGBATQR8Urde+IlzicgJPCO/gAWpm4AYJYT5LSGc0pOuZflSXq+ZfKy3jcSoN0yOFxkoMnmZb8pzg==" }, "@aws-sdk/credential-provider-node": { - "version": "3.218.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.218.0.tgz", - "integrity": "sha512-J9PB6XFA+V0mgxleuY5W6Jjh5WejV8HjMViTJQpp2JN+NWZP3bGvquUSQHRqWGRGg2fSJy6Z/J4zQ8fpPbGsdQ==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.257.0.tgz", + "integrity": "sha512-yXVNOml/w4ipWiRgLWUphGwISqJQRPjALgTsRa0O+CzpaEc/0HRqM8I78VzCzjsb+QE4EP7MZej6tkEAZYgTlg==" }, "@aws-sdk/credential-provider-process": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.215.0.tgz", - "integrity": "sha512-JNvj4L5B7W8byoFdfn/8Y4scoPiwCi+Ha/fRsFCrdSC7C+snDuxM/oQj33HI8DpKY1cjuigzEnpnxiNWaA09EA==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.257.0.tgz", + "integrity": "sha512-xK8uYeNXaclaBCGrLi4z2pxPRngqLf5BM5jg2fn57zqvlL9V5gJF972FehrVBL0bfp1/laG0ZJtD2K2sapyWAw==" }, "@aws-sdk/credential-provider-sso": { - "version": "3.218.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.218.0.tgz", - "integrity": "sha512-HecWvmxD+xffmY8G4SfLRfCOgSoLFki45wOOU8ESgRM9fQp2+3CfRSyiThKZI5PTmE+xhPTRvmR61HUmQjEv8w==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.257.0.tgz", + "integrity": "sha512-I/1TQm6WruqxTTPH+Wo2o+YCLenEY0bWq97EQn+d8Cp0N7cNJUDt8BHF22dQtUzd7bvSspVK5M4qCZKAh3fhOg==" }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.215.0.tgz", - "integrity": "sha512-AWaDDEE3VU1HeLrXvyUrkQ6Wb3PQij5bvvrMil9L0da3b1yrcpoDanQQy7wBFBXcZIVmcmSFe5MMA/nyh2Le4g==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.257.0.tgz", + "integrity": "sha512-Cm0uvRv4JuIbD0Kp3W0J/vwjADIyCx8HoZi5yg+QIi5nilocuTQ3ajvLeuPVSvFvdy+yaxSc5FxNXquWt7Mngw==" }, "@aws-sdk/credential-providers": { - "version": "3.218.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.218.0.tgz", - "integrity": "sha512-MWpb5k+Oq56NrHA5fYPIDX8QRYUAw4Jp8ErTELBd83kLhTgqTw025YQ05YbhIzAs84+viMeWKif0z/5kNshphw==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.257.0.tgz", + "integrity": "sha512-A2bl5M7BlcV94H4rgdYnWRcnQxVARkrWSNQzA1n/wJY3EPXkFN0/Rjie/W7j7hXVtjRVaALSGVNwxQ/BQ7ZMTg==" }, "@aws-sdk/fetch-http-handler": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.215.0.tgz", - "integrity": "sha512-JfZyrJOE+0ik1PumsIUZd0NfgEx4sZ43VSdPCD9GRhssRWudNsSF1B5fz3xA5v+1y5oQPjXZyaWCzKtnYruiWw==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.257.0.tgz", + "integrity": "sha512-zOF+RzQ+wfF7tq7tGUdPcqUTh3+k2f8KCVJE07A8kCopVq4nBu4NH6Eq29Tjpwdya3YlKvE+kFssuQRRRRex+Q==" }, "@aws-sdk/hash-node": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.215.0.tgz", - "integrity": "sha512-MkSRuZvo1RCRmI0VNEmRYCGGD/DkMd9lqnLtOyglMPnSX1mhyD4/DyXmcc3rYa7PsjDRAfykGWJRiMqpoMLjiQ==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.257.0.tgz", + "integrity": "sha512-W/USUuea5Ep3OJ2U7Ve8/5KN1YsDun2WzOFUxc1PyxXP5pW6OgC15/op0e+bmWPG851clvp5S8ZuroUr3aKi3Q==" }, "@aws-sdk/invalid-dependency": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.215.0.tgz", - "integrity": "sha512-++bK4BUQe8/CL/YcLZcQB8qPOhiXxhbuhYzfFS7PNVvW1QOLqKRZL/lKs24gzjcOmw7IhAbCybDZwvu2TM4DAg==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.257.0.tgz", + "integrity": "sha512-T68SAPRNMEhpke0wlxURgogL7q0B8dfqZsSeS20BVR/lksJxLse9+pbmCDxiu1RrXoEIsEwl5rbLN+Hw8BFFYw==" }, "@aws-sdk/is-array-buffer": { "version": "3.201.0", @@ -157,124 +157,124 @@ "integrity": "sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==" }, "@aws-sdk/middleware-content-length": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.215.0.tgz", - "integrity": "sha512-zKJRb6jDLFl9nl/muSFbiQHA4uK3skinuDRcyLbpMvvzhuK/PVodv9QI1+wIUsFdXkaSxAlva1oG4bL8ZFi+sQ==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.257.0.tgz", + "integrity": "sha512-yiawbV2azm6QnMY1L2ypG8PDRdjOcEIvFmT0T7y0F49rfbKJOu21j1ONAoCkLrINK6kMqcD5JSQLVCoURxiTxQ==" }, "@aws-sdk/middleware-endpoint": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.215.0.tgz", - "integrity": "sha512-W0QXL5emcN9IXtMbnWT/abLxBFH2tGIfnre2jPNmZ9M7uVFxUwwv5OTUXxNLGNehJHKhiJPwhfQvMy20IDzVcw==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.257.0.tgz", + "integrity": "sha512-RQNQe/jeVuWZtXXfcOm+e3qMFICY6ERsXUrbt0rjHgvajZCklcrRJgxJSCwrcS7Le3nl9azFPMAMj9L7uSK28g==" }, "@aws-sdk/middleware-host-header": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.215.0.tgz", - "integrity": "sha512-GOqI7VwoENZwn+6tIMrrJ4SipIqL2JCh+BNvORVcy7CQxn1ViKkna7iaCx+QMjpg/kn9cR6kfY0n1FmgZR1w9A==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.257.0.tgz", + "integrity": "sha512-gEi9AJdJfRfU8Qr6HK1hfhxTzyV3Giq4B/h7um99hIFAT/GCg9xiPvAOKPo6UeuiKEv3b7RpSL4s6cBvnJMJBA==" }, "@aws-sdk/middleware-logger": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.215.0.tgz", - "integrity": "sha512-0h4GGF0rV3jnY3jxmcAWsOdqHCYf25s0biSjmgTei+l/5S+geOGrovRPCNep0LLg0i9D8bkZsXISojilETbf+g==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.257.0.tgz", + "integrity": "sha512-8RDXW/VbMKBsXDfcCLmROZcWKyrekyiPa3J1aIaBy0tq9o4xpGoXw/lwwIrNVvISAFslb57rteup34bfn6ta6w==" }, "@aws-sdk/middleware-recursion-detection": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.215.0.tgz", - "integrity": "sha512-KQ+kiEsaluM4i6opjusUukxY78+UhfR7vzXHDkzZK/GplQ1hY0B+rwVO1eaULmlnmf3FK+Wd6lwrPV7xS2W+EA==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.257.0.tgz", + "integrity": "sha512-rUCih6zHh8k9Edf5N5Er4s508FYbwLM0MWTD2axzlj9TjLqEQ9OKED3wHaLffXSDzodd3oTAfJCLPbWQyoZ3ZQ==" }, "@aws-sdk/middleware-retry": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.215.0.tgz", - "integrity": "sha512-I/dnUPVg2Kp3lW+MywBoPp06EOng8IfuaS9ph4bcJpQKrhNU5ekRgCHH2C4k1A6GcP8uyHxQ5TVV6j+l0QPIsA==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.257.0.tgz", + "integrity": "sha512-vDOy4PbSRW2gtgoJZ+yvgyxdlTwbZGpuv/rA2+XYxURmhPMzpmqs4o1DR37LG8O41WouI1rPzA7E+Ffo+iNWjw==" }, "@aws-sdk/middleware-sdk-sts": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.215.0.tgz", - "integrity": "sha512-wJRxoDf+2egbRgochaQL8+zzADx8FM/2W0spKNj8x+t/3iqw70QwxCfuEKW/uFQ3ph6eaIrv7gYc8RRjwhD8rg==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.257.0.tgz", + "integrity": "sha512-d6IJCLRi3O2tm4AFK60WNhIwmMmspj1WzKR1q1TaoPzoREPG2xg+Am18wZBRkCyYuRPPrbizmkvAmAJiUolMAw==" }, "@aws-sdk/middleware-serde": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.215.0.tgz", - "integrity": "sha512-+uhLXdKvvQZcRRFc3UmemSr/YUHA4Jc+1YMjHxc3v8vvfztFJBb0wgBx999myOi8PmkYThlRBQDzXy9UCIhIJw==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.257.0.tgz", + "integrity": "sha512-/JasfXPWFq24mnCrx9fxW/ISBSp07RJwhsF14qzm8Qy3Z0z470C+QRM6otTwAkYuuVt1wuLjja5agq3Jtzq7dQ==" }, "@aws-sdk/middleware-signing": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.215.0.tgz", - "integrity": "sha512-3BqzYqkmdPeOxjI8DVQE7Bm7J5QIvDy30abglXqrDg6npw6KonKI2Q3FIPFf+oLpZTMStwkoQOnwXHTPrSZ6Tg==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.257.0.tgz", + "integrity": "sha512-hCH3D83LHmm6nqmtNrGTWZCVjsQXrGHIXbd17/qrw7aPFvcAhsiiCncGFP+XsUXEKa2ZqcSNMUyPrx69ofNRZQ==" }, "@aws-sdk/middleware-stack": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.215.0.tgz", - "integrity": "sha512-rdSVL7LxRgjlvoluqwODD4ypBy2k/YVl6FrDplyCMSi8m2WHZG99FzdmR9bpnWK+0DGzYZSMRYx6ynJ9N9PsSw==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.257.0.tgz", + "integrity": "sha512-awg2F0SvwACBaw4HIObK8pQGfSqAc4Vy+YFzWSfZNVC35oRO6RsRdKHVU99lRC0LrT2Ptmfghl2DMPSrRDbvlQ==" }, "@aws-sdk/middleware-user-agent": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.215.0.tgz", - "integrity": "sha512-X6GfoMNoEITTw7rGL/gWs8UZ0cmmmezvKcl+KtHsA642R05OR4mY5G7LdbWAw0bcrwKsuKOGmwUrC9lzGqbWUw==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.257.0.tgz", + "integrity": "sha512-37rt75LZyD0UWpbcFuxEGqwF3DZKSixQPl7AsDe6q3KtrO5gGQB+diH5vbY0txNNYyv5IK9WMwvY73mVmoWRmw==" }, "@aws-sdk/node-config-provider": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.215.0.tgz", - "integrity": "sha512-notckD94QwwxC0GsfpTxB7VH8SREIIlMsUSddqGtpModa0cq/wRb9rqnydZSoznbYpK1ND6h0C9hr/2PNz89zw==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.257.0.tgz", + "integrity": "sha512-IfGF7+cU0PyB7RpHlgc445ZAUZDWn4ij2HTB6N+xULwFw2TxnyQ2tvo3Gp5caW9VlJ3eXE9wFrynv+JXUIH7Bg==" }, "@aws-sdk/node-http-handler": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.215.0.tgz", - "integrity": "sha512-btKWSR7m0UuWIN3p5MfSIvhqeYik7xri7U6nWuVI5GVzIYjzxEZOMvPAinDLDxL5wipodi0ZvTUNdDJdm7BcGQ==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.257.0.tgz", + "integrity": "sha512-8KnWHVVwaGKyTlkTU9BSOAiSovNDoagxemU2l10QqBbzUCVpljCUMUkABEGRJ1yoQCl6DJ7RtNkAyZ8Ne/E15A==" }, "@aws-sdk/property-provider": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.215.0.tgz", - "integrity": "sha512-dDPjMCCopkRURAmOJCMSlpIQ5BGWCpYj0+FIfZ5qWQs24fn1PAkQHecOiBhJO0ZSVuQy3xcIyWsAp1NE5e+7ug==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.257.0.tgz", + "integrity": "sha512-3rUbRAcF0GZ5PhDiXhS4yREfZ5hOEtvYEa9S/19OdM5eoypOaLU5XnFcCKfnccSP8SkdgpJujzxOMRWNWadlAQ==" }, "@aws-sdk/protocol-http": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.215.0.tgz", - "integrity": "sha512-qp6Y6v4S534LAjadiVl9p7ErK7ImphOKq6yhFyQwxko6iITLcz8ib3yU27fs4QJcnNj5ZooqW/YlL/0EikDxCQ==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.257.0.tgz", + "integrity": "sha512-xt7LGOgZIvbLS3418AYQLacOqx+mo5j4mPiIMz7f6AaUg+/fBUgESVsncKDqxbEJVwwCXSka8Ca0cntJmoeMSw==" }, "@aws-sdk/querystring-builder": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.215.0.tgz", - "integrity": "sha512-eilk8CqG37BVhQklLif00K2dOJgDzacUi8h3KVQ72ry1V3h345i4HsmaFIxvnz8XtNyDvV8qFAzeYg9n2P9RQA==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.257.0.tgz", + "integrity": "sha512-mZHWLP7XIkzx1GIXO5WfX/iJ+aY9TWs02RE9FkdL2+by0HEMR65L3brQTbU1mIBJ7BjaPwYH24dljUOSABX7yg==" }, "@aws-sdk/querystring-parser": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.215.0.tgz", - "integrity": "sha512-8h/9H8dWM4fZO27UGzo8W5JXln4yJMugPyUl4qFA437gzPgNFN95+oLJWXtHMlfCHC5T/PDKetY9TarMDgBD0Q==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.257.0.tgz", + "integrity": "sha512-UDrE1dEwWrWT8dG2VCrGYrPxCWOkZ1fPTPkjpkR4KZEdQDZBqU5gYZF2xPj8Nz7pjQVHFuW2wFm3XYEk56GEjg==" }, "@aws-sdk/service-error-classification": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.215.0.tgz", - "integrity": "sha512-SKBvClGFGzMPsjBBKjneaUazLCNr6bSxe9eFvOr3gCwuwE2jPQwW3VE1mb62howuvm6cLthEDwLQp/FsT1gMsw==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.257.0.tgz", + "integrity": "sha512-FAyR0XsueGkkqDtkP03cTJQk52NdQ9sZelLynmmlGPUP75LApRPvFe1riKrou6+LsDbwVNVffj6mbDfIcOhaOw==" }, "@aws-sdk/shared-ini-file-loader": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.215.0.tgz", - "integrity": "sha512-unzQeLOyUiYHr8WxxandHo0OaCj31gx0wpt8dn2cZcHm/MdCqHcHcsQqOVnQsWQrrxY/XZ27cPyMVQeicNKYwQ==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.257.0.tgz", + "integrity": "sha512-HNjC1+Wx3xHiJc+CP14GhIdVhfQGSjroAsWseRxAhONocA9Fl1ZX4hx7+sA5c9nOoMVOovi6ivJ/6lCRPTDRrQ==" }, "@aws-sdk/signature-v4": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.215.0.tgz", - "integrity": "sha512-Rc73uUCi3eJneO25DydLTfJYamXeuKS9YIhNMTKlpvcN1UQAmAnUbAmCuEmqvkYOiGD1i4/kd8kBga708iIikQ==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.257.0.tgz", + "integrity": "sha512-aLQQN59X/D0+ShzPD3Anj5ntdMA/RFeNLOUCDyDvremViGi6yxUS98usQ/8bG5Rq0sW2GGMdbFUFmrDvqdiqEQ==" }, "@aws-sdk/smithy-client": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.215.0.tgz", - "integrity": "sha512-PiZfCdZkPohzMPrRmJ46TPOf2Tr/dhKYdwQArRnOOIsJABUGXjlzCUE8vysDN35XZYRx5f9hd+/U7kayhniq2w==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.257.0.tgz", + "integrity": "sha512-Vy/en+llpslHG6WZ2yuN+On6u7p2hROEURwAST/lpReAwBETjbsxylkWvP8maeGKQ54u9uC6lIZAOJut2I3INw==" }, "@aws-sdk/token-providers": { - "version": "3.216.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.216.0.tgz", - "integrity": "sha512-cEmOfG7njWl0OA5lR65Sp2SW1i8ZLjf7C95TZ1e6t2Oo5aUFeN3aKBxMOV//1yc+BNzcFBnoHP/f29GhWxUOxA==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.257.0.tgz", + "integrity": "sha512-Ysd1dpWiI2oBOrJpkSJkgPsY0dwMtavIBzF3d5JYN1HCl14Aqc2jcNqBjD+7nEeL6CHXcFeyB7jmCDqiuP0V3A==" }, "@aws-sdk/types": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.215.0.tgz", - "integrity": "sha512-eRbCVjwzTYd9C5e2mceScJ6D2kYDDEC3PLkYfJa+1wH9iiF2JlbiYozAokyeYBHQ+AjmD93MK58RBoM8iZfH0Q==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.257.0.tgz", + "integrity": "sha512-LmqXuBQBGeaGi/3Rp7XiEX1B5IPO2UUfBVvu0wwGqVsmstT0SbOVDZGPmxygACbm64n+PRx3uTSDefRfoiWYZg==" }, "@aws-sdk/url-parser": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.215.0.tgz", - "integrity": "sha512-r/qIk3TUlV36JvoRjTErFm0LzzgNKLB1YUG8zVZCGAc2TEATi8OVEmsZvi+KfTmsbszulITJVcjZKbHLbGoUzg==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.257.0.tgz", + "integrity": "sha512-Qe/AcFe/NFZHa6cN2afXEQn9ehXxh57dWGdRjfjd2lQqNV4WW1R2pl2Tm1ZJ1dwuCNLJi4NHLMk8lrD3QQ8rdg==" }, "@aws-sdk/util-base64": { "version": "3.208.0", @@ -302,19 +302,19 @@ "integrity": "sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg==" }, "@aws-sdk/util-defaults-mode-browser": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.215.0.tgz", - "integrity": "sha512-MiNfZgB0I4dR8CBxH163W7c9KvE38sgCHNPWopMqSX5ezz7cuCPohCU0XsWd4I7K31PvzuqmKgOiKBAZraQJMA==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.257.0.tgz", + "integrity": "sha512-nkfK+MNacVd3Px/fcAvU0hDeh+r7d+RLLt3sJ5Zc0gGd+i3OQEP58V8QzR9PYMvUvSvGQP16fQVQHSbRZtuWyQ==" }, "@aws-sdk/util-defaults-mode-node": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.215.0.tgz", - "integrity": "sha512-mSp3R8GljQ+4UT3QMOksQk9L0cWbFLvR7bBmAlt4+GobgTjpRfzFjBP3uwrCqFa3BKDUR3FeJq3qwo+xeY1Krg==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.257.0.tgz", + "integrity": "sha512-qsIb7aPbGFcKbBGoAQmlzv1gMcscgbpfrRh4rgNqkJXVbJ52Ql6+vXXfBmlWaBho0fcsNh5XnYu1fzdCuu+N7g==" }, "@aws-sdk/util-endpoints": { - "version": "3.216.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.216.0.tgz", - "integrity": "sha512-uHje4H6Qj/z/op8UZoSuvGpEZhz/r+AGY0rCihFo7XjhT4RYVxb2Eb9uHRK/IAeHU4kjHAdpQiWGMSmnT/UacA==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.257.0.tgz", + "integrity": "sha512-3bvmRn5XGYzPPWjLuvHBKdJOb+fijnb8Ungu9bfXnTYFsng/ndHUWeHC22O/p8w3OWoRYUIMaZHxdxe27BFozg==" }, "@aws-sdk/util-hex-encoding": { "version": "3.201.0", @@ -327,9 +327,14 @@ "integrity": "sha512-iua1A2+P7JJEDHVgvXrRJSvsnzG7stYSGQnBVphIUlemwl6nN5D+QrgbjECtrbxRz8asYFHSzhdhECqN+tFiBg==" }, "@aws-sdk/util-middleware": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.215.0.tgz", - "integrity": "sha512-DfHGlFlQCr+T/xhjS36HH8JEThDVB5lg5NZ6x4Cibhyeps9YX/4ovLAIx3B19H34sdWhZi7q6LfslCHLRu2+7Q==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.257.0.tgz", + "integrity": "sha512-F9ieon8B8eGVs5tyZtAIG3DZEObDvujkspho0qRbUTHUosM0ylJLsMU800fmC/uRHLRrZvb/RSp59+kNDwSAMw==" + }, + "@aws-sdk/util-retry": { + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.257.0.tgz", + "integrity": "sha512-l9TOsOAYtZxwW3q5fQKW4rsD9t2HVaBfQ4zBamHkNTfB4vBVvCnz4oxkvSvA2MlxCA6am+K1K/oj917Tpqk53g==" }, "@aws-sdk/util-uri-escape": { "version": "3.201.0", @@ -337,14 +342,19 @@ "integrity": "sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==" }, "@aws-sdk/util-user-agent-browser": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.215.0.tgz", - "integrity": "sha512-uZz6BJWr8sJcA+onveS1lFqnbIXBHwvkyHLgCuuGhAxd5yY6YNLhpJBnhy9Fb8/aSbk6yao3qxlokqw9gthmAw==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.257.0.tgz", + "integrity": "sha512-YdavWK6/8Cw6mypEgysGGX/dT9p9qnzFbnN5PQsUY+JJk2Nx8fKFydjGiQ+6rWPeW17RAv9mmbboh9uPVWxVlw==" }, "@aws-sdk/util-user-agent-node": { - "version": "3.215.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.215.0.tgz", - "integrity": "sha512-4lrdd1oGRwJEwfvgvg1jcJ2O0bwElsvtiqZfTRHN6MNTFUqsKl0xHlgFChQsz3Hfrc1niWtZCmbqQKGdO5ARpw==" + "version": "3.257.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.257.0.tgz", + "integrity": "sha512-fOHh80kiVomUkABmOv3ZxB/SNLnOPAja7uhQmGWfKHXBkcxTVfWO2KBs5vzU5qhVZA0c1zVEvZPcBdRsonnhlw==" + }, + "@aws-sdk/util-utf8": { + "version": "3.254.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.254.0.tgz", + "integrity": "sha512-14Kso/eIt5/qfIBmhEL9L1IfyUqswjSTqO2mY7KOzUZ9SZbwn3rpxmtkhmATkRjD7XIlLKaxBkI7tU9Zjzj8Kw==" }, "@aws-sdk/util-utf8-browser": { "version": "3.188.0", @@ -357,9 +367,9 @@ "integrity": "sha512-jKY87Acv0yWBdFxx6bveagy5FYjz+dtV8IPT7ay1E2WPWH1czoIdMAkc8tSInK31T6CRnHWkLZ1qYwCbgRfERQ==" }, "@types/node": { - "version": "18.11.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", - "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" }, "@types/webidl-conversions": { "version": "7.0.0", @@ -382,9 +392,9 @@ "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" }, "bson": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz", - "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==" + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.2.tgz", + "integrity": "sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ==" }, "buffer": { "version": "5.7.1", @@ -412,9 +422,9 @@ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" }, "mongodb": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.12.1.tgz", - "integrity": "sha512-koT87tecZmxPKtxRQD8hCKfn+ockEL2xBiUvx3isQGI6mFmagWt4f4AyCE9J4sKepnLhMacoCTQQA6SLAI2L6w==" + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.13.0.tgz", + "integrity": "sha512-+taZ/bV8d1pYuHL4U+gSwkhmDrwkWbH1l4aah4YpmpscMwgFBkufIKxgP/G7m87/NUuQzc2Z75ZTI7ZOyqZLbw==" }, "mongodb-connection-string-url": { "version": "2.6.0", @@ -422,9 +432,9 @@ "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==" }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" }, "saslprep": { "version": "1.0.3", From 66849e9c81756958aecff0fb8161610d5ffc6c1e Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 25 Jan 2023 15:29:25 -0300 Subject: [PATCH 139/398] chore: updated console colors to use template literals --- tools/console/console.js | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/tools/console/console.js b/tools/console/console.js index 7715560354..762a0f4957 100644 --- a/tools/console/console.js +++ b/tools/console/console.js @@ -1320,11 +1320,21 @@ class Console extends ConsoleBase { } } -const yellow = (text) => `\x1b[33m${ text }\x1b[0m`; -const red = (text) => `\x1b[31m${ text }\x1b[0m`; -const purple = (text) => `\x1b[35m${ text }\x1b[0m`; -const green = (text) => `\x1b[32m${ text }\x1b[0m`; -const blue = (text) => `\x1b[34m${ text }\x1b[0m`; +const yellow = + (text, ...values) => + `\x1b[33m${ String.raw({ raw: text }, ...values) }\x1b[0m` +const red = + (text, ...values) => + `\x1b[31m${ String.raw({ raw: text }, ...values) }\x1b[0m`; +const purple = + (text, ...values) => + `\x1b[35m${ String.raw({ raw: text }, ...values) }\x1b[0m`; +const green = + (text, ...values) => + `\x1b[32m${ String.raw({ raw: text }, ...values) }\x1b[0m`; +const blue = + (text, ...values) => + `\x1b[34m${ String.raw({ raw: text }, ...values) }\x1b[0m`; const colors = { yellow, From e18d7cd3a5245503924e1dcec07d5a35683971c3 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 25 Jan 2023 15:29:49 -0300 Subject: [PATCH 140/398] chore: updated run mongo shell to use mongosh --- tools/runners/run-mongo.js | 32 +++----------------------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/tools/runners/run-mongo.js b/tools/runners/run-mongo.js index 80f6d103cd..7a7bcd8444 100644 --- a/tools/runners/run-mongo.js +++ b/tools/runners/run-mongo.js @@ -10,41 +10,15 @@ var Console = require('../console/console.js').Console; // Given a Mongo URL, open an interactive Mongo shell on this terminal // on that database. -var runMongoShell = function(url) { - var mongoPath = files.pathJoin( - files.getDevBundle(), - 'mongodb', - 'bin', - 'mongo' - ); +var runMongoShell = function (url, err) { // XXX mongo URLs are not real URLs (notably, the comma-separation for // multiple hosts). We've had a little better luck using the mongodb-uri npm // package. var mongoUrl = require('url').parse(url); - var auth = mongoUrl.auth && mongoUrl.auth.split(':'); - var ssl = require('querystring').parse(mongoUrl.query).ssl === 'true'; - - var args = []; - if (ssl) { - args.push('--ssl'); - } - if (auth) { - args.push('-u', auth[0]); - } - if (auth) { - args.push('-p', auth[1]); - } - args.push(mongoUrl.hostname + ':' + mongoUrl.port + mongoUrl.pathname); - - // run with rosetta on mac m1 - if (process.platform === 'darwin' && process.arch === 'arm64') { - args = ['-x86_64', mongoPath, ...args]; - mongoPath = 'arch'; - } - - child_process.spawn(files.convertToOSPath(mongoPath), args, { + const ls = child_process.spawn('mongosh', [mongoUrl.href], { stdio: 'inherit', }); + ls.on('error', err); }; // Start mongod with a dummy replSet and wait for it to listen. From 1ab510e83b120d9537e2102e85f1f277d4c0ab23 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 25 Jan 2023 15:30:22 -0300 Subject: [PATCH 141/398] chore: updated console colors and mongo shell to mongosh --- tools/cli/commands.js | 58 +++++++++++++++++++++++++++++++------------ 1 file changed, 42 insertions(+), 16 deletions(-) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index 2467f05879..1af6ed7a18 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -1383,7 +1383,8 @@ main.registerCommand({ name: 'mongo', maxArgs: 1, options: { - url: { type: Boolean, short: 'U' } + url: { type: Boolean, short: 'U' }, + verbose: { type: Boolean, short: 'V' }, }, requiresApp: function (options) { return options.args.length === 0; @@ -1427,20 +1428,45 @@ to this command.`); mongoUrl = deploy.temporaryMongoUrl(site); usedMeteorAccount = true; - if (! mongoUrl) { + if (!mongoUrl) { // temporaryMongoUrl() will have printed an error message return 1; } } if (options.url) { - console.log(mongoUrl); + console.log(`${yellow`$`} ${ purple`mongosh` } ${ blue(mongoUrl) }`); } else { if (usedMeteorAccount) { auth.maybePrintRegistrationLink(); } process.stdin.pause(); var runMongo = require('../runners/run-mongo.js'); - runMongo.runMongoShell(mongoUrl); + runMongo.runMongoShell(mongoUrl, + (err) => { + console.log(red`Some error occured while trying to run mongosh.`); + console.log(yellow`Check bellow for some more info:`); + console.log(` + Since version v5.0.5 the mongo shell has been superseded by the mongosh + below there is the url to use with mongosh + ${yellow`$`} ${ purple`mongosh` } ${ blue(mongoUrl) } + `) + + if (err.code === 'ENOENT') { + console.log(red`The 'mongosh' command line tool was not found in your PATH.`); + console.log(`Check https://www.mongodb.com/docs/mongodb-shell/`); + process.exit(2); + return; + } + + if (options.verbose) { + console.log("here is a more verbose error message:"); + console.log(yellow`=====================================`); + console.log(err); + console.log(yellow`=====================================`); + } + + process.exit(1); + }); throw new main.WaitForExit; } }); @@ -2617,13 +2643,13 @@ main.registerCommand({ if (arg0 === undefined) { const ask = createPrompt(); // the ANSI color chart is here: https://en.wikipedia.org/wiki/ANSI_escape_code#Colors - const scaffoldName = await ask(`What is the name of your ${yellow('model')}? `); + const scaffoldName = await ask(`What is the name of your ${yellow`model`}? `); checkScaffoldName(scaffoldName); - const areMethods = await ask(`There will be methods [${green('Y')}/${red('n')}]? press enter for ${green('yes')} `); + const areMethods = await ask(`There will be methods [${green`Y`}/${red`n`}]? press enter for ${green`yes`} `); const methods = sanitizeBoolAnswer(areMethods); - const arePublications = await ask(`There will be publications [${green('Y')}/${red('n')}]? press enter for ${green('yes')} `); + const arePublications = await ask(`There will be publications [${green`Y`}/${red`n`}]? press enter for ${green`yes`} `); const publications = sanitizeBoolAnswer(arePublications); - const path = await ask(`Where it will be placed? press enter for ${yellow('./imports/api/')} `); + const path = await ask(`Where it will be placed? press enter for ${yellow`./imports/api/`} `); return { isWizard: true, scaffoldName, @@ -2686,8 +2712,8 @@ main.registerCommand({ const path = files.pathResolve(files.pathJoin(appDir, options.replaceFn)); const replaceFn = require(path).transformFilename; if (typeof replaceFn !== 'function') { - Console.error(red('You must provide a valid function transformFilename.')); - Console.error(yellow('The function should be named transformFilename and should be exported.')); + Console.error(red`You must provide a valid function transformFilename.`); + Console.error(yellow`The function should be named transformFilename and should be exported.`); throw new main.ExitWithCode(2); } return replaceFn(scaffoldName, filename); @@ -2700,8 +2726,8 @@ main.registerCommand({ const path = files.pathResolve(files.pathJoin(appDir, options.replaceFn)); const replaceFn = require(path).transformContents; if (typeof replaceFn !== 'function') { - Console.error(red('You must provide a valid function transformContents.')); - Console.error(yellow('The function should be named transformContents and should be exported.')); + Console.error(red`You must provide a valid function transformContents.`); + Console.error(yellow`The function should be named transformContents and should be exported.`); throw new main.ExitWithCode(2); } return replaceFn(scaffoldName, contents, fileName); @@ -2755,8 +2781,8 @@ main.registerCommand({ /// Program const rootFiles = getFilesInDir(appDir); if (!rootFiles.includes('.meteor')) { - Console.error(red('You must be in a Meteor project to run this command')); - Console.error(yellow('You can create a new Meteor project with `meteor create`')); + Console.error(red`You must be in a Meteor project to run this command`); + Console.error(yellow`You can create a new Meteor project with 'meteor create'`); throw new main.ExitWithCode(2); } @@ -2776,8 +2802,8 @@ main.registerCommand({ // create directory const isOk = files.mkdir_p(scaffoldPath); if (!isOk) { - Console.error(red('Something went wrong when creating the folder')); - Console.error(yellow('Do you have the correct permissions?')); + Console.error(red`Something went wrong when creating the folder`); + Console.error(yellow`Do you have the correct permissions?`); throw new main.ExitWithCode(2); } From cc6c738f9d7b44eb45074a7430d83ba8c554f671 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 25 Jan 2023 15:30:48 -0300 Subject: [PATCH 142/398] docs: updated meteor mongo to explain that uses mongosh --- tools/cli/help.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/cli/help.txt b/tools/cli/help.txt index 71b63daf23..c5cc820414 100644 --- a/tools/cli/help.txt +++ b/tools/cli/help.txt @@ -478,14 +478,18 @@ commands can be accessed by pressing the up arrow. Connect to the local Mongo database Usage: meteor mongo [--url] -Opens a Mongo shell to view or manipulate collections. +Opens a Mongo shell(mongosh) to view or manipulate collections. Instead of opening a shell, specifying --url (-U) will return a URL suitable for an external program to connect to the database. For remote databases on deployed applications, the URL is valid for one hour. +Note that you must have mongosh installed to use this option. + Options: --url, -U return a Mongo database URL + --verbose, -v to show the errors that have occurred while connecting to the + database Currently, this feature can only be used when developing locally. The opened Mongo shell connects to the current project's local From e6537550d15fbc8eec3ab3d20f2df3631f8dd39a Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 25 Jan 2023 17:05:56 -0300 Subject: [PATCH 143/398] tests: updated match str --- tools/tests/mongo.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/tests/mongo.js b/tools/tests/mongo.js index ca73f19397..38c4fb641c 100644 --- a/tools/tests/mongo.js +++ b/tools/tests/mongo.js @@ -35,7 +35,7 @@ function testMeteorMongo(appDir) { // Make sure we match the DB version that's printed as part of the // non-quiet shell startup text, so that we don't confuse it with the // output of the db.version() command below. - mongoRun.match(/MongoDB server version: 5\.\d+\.\d+/); + mongoRun.match(/MongoDB server version: v5\.\d+\.\d+/); // Make sure the shell does not display the banner about Mongo's free // monitoring service. @@ -43,7 +43,7 @@ function testMeteorMongo(appDir) { // Note: when mongo shell's input is not a tty, there is no prompt. mongoRun.write('db.version()\n'); - mongoRun.match(/5\.\d+\.\d+/); + mongoRun.match(/v5\.\d+\.\d+/); mongoRun.stop(); run.stop(); From 18708d54e4fa26f57b43e7a42f6c1a8f568b066a Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Wed, 25 Jan 2023 21:44:59 -0300 Subject: [PATCH 144/398] tests: updeted matcher text --- tools/tests/mongo.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tests/mongo.js b/tools/tests/mongo.js index 38c4fb641c..94664d163d 100644 --- a/tools/tests/mongo.js +++ b/tools/tests/mongo.js @@ -35,7 +35,7 @@ function testMeteorMongo(appDir) { // Make sure we match the DB version that's printed as part of the // non-quiet shell startup text, so that we don't confuse it with the // output of the db.version() command below. - mongoRun.match(/MongoDB server version: v5\.\d+\.\d+/); + mongoRun.match(/v5\.\d+\.\d+/); // Make sure the shell does not display the banner about Mongo's free // monitoring service. From 5c6b6f53d1f0855e0e4a73dba8d90c54ce4cc693 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 10:59:06 -0300 Subject: [PATCH 145/398] testes: fixed tests --- tools/tests/mongo.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/tests/mongo.js b/tools/tests/mongo.js index 94664d163d..2ceaeae1a2 100644 --- a/tools/tests/mongo.js +++ b/tools/tests/mongo.js @@ -35,7 +35,9 @@ function testMeteorMongo(appDir) { // Make sure we match the DB version that's printed as part of the // non-quiet shell startup text, so that we don't confuse it with the // output of the db.version() command below. - mongoRun.match(/v5\.\d+\.\d+/); + mongoRun.match(/Current Mongosh Log ID:/); + mongoRun.match(/Using MongoDB:/); + mongoRun.match(/Using Mongosh:/); // Make sure the shell does not display the banner about Mongo's free // monitoring service. @@ -43,7 +45,7 @@ function testMeteorMongo(appDir) { // Note: when mongo shell's input is not a tty, there is no prompt. mongoRun.write('db.version()\n'); - mongoRun.match(/v5\.\d+\.\d+/); + mongoRun.match(/5\.\d+\.\d+/); mongoRun.stop(); run.stop(); From 9fbbad47330e04f09336518a4e3ea5b47ac25d8a Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 15:40:57 -0300 Subject: [PATCH 146/398] tests: tryied again --- tools/tests/mongo.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tools/tests/mongo.js b/tools/tests/mongo.js index 2ceaeae1a2..be58231d4f 100644 --- a/tools/tests/mongo.js +++ b/tools/tests/mongo.js @@ -35,17 +35,15 @@ function testMeteorMongo(appDir) { // Make sure we match the DB version that's printed as part of the // non-quiet shell startup text, so that we don't confuse it with the // output of the db.version() command below. - mongoRun.match(/Current Mongosh Log ID:/); - mongoRun.match(/Using MongoDB:/); - mongoRun.match(/Using Mongosh:/); - + mongoRun.match(/mongosh/); + // Make sure the shell does not display the banner about Mongo's free // monitoring service. mongoRun.forbidAll("free cloud-based monitoring service"); // Note: when mongo shell's input is not a tty, there is no prompt. mongoRun.write('db.version()\n'); - mongoRun.match(/5\.\d+\.\d+/); + mongoRun.match(/v5\.\d+\.\d+/); mongoRun.stop(); run.stop(); From f0a9700ab9048c604555144c52f1dff9cb410fe5 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 16:12:34 -0300 Subject: [PATCH 147/398] docs: updated history.md --- docs/history.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/history.md b/docs/history.md index ad2c936e44..62c92b495a 100644 --- a/docs/history.md +++ b/docs/history.md @@ -6,6 +6,7 @@ * Embedded Mongo now uses MongoDB 6.0.3 * Optimized makeLookupFunction by [radekmie](https://github.com/radekmie) [PR](https://github.com/meteor/meteor/pull/12462) * In async wrappers, catch exceptions and reject by [ebroder](https://github.com/ebroder) [PR](https://github.com/meteor/meteor/pull/12469) +* Bump Typescript to v4.9.4 by [Firfi](https://github.com/Firfi) [PR](https://github.com/meteor/meteor/pull/12465) #### Breaking Changes @@ -35,6 +36,12 @@ N/A * `mongo@1.16.5`: - In async wrappers, catch exceptions and reject +* `typescript@4.9.4` + - Updated typescript to version 4.9.4. + +* `@meteorjs/babel@7.18.0-beta.6` + - Updated typescript to version 4.9.4. + #### Special thanks to - [@radekmie](https://github.com/radekmie). From 2fe86ab7163362b504b4974c70cd982ed3115308 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 16:13:07 -0300 Subject: [PATCH 148/398] chore: adjusted semver --- packages/babel-compiler/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/typescript/package.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index dd37ec9f5f..37addc68b4 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -1,7 +1,7 @@ Package.describe({ name: "babel-compiler", summary: "Parser/transpiler for ECMAScript 2015+ syntax", - version: '7.10.3' + version: '7.10.3-beta2110.0' }); Npm.depends({ diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index edbb12df58..83874369b9 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.16.5', + version: '0.16.6-beta2110.0', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md', }); diff --git a/packages/typescript/package.js b/packages/typescript/package.js index d0403b86c4..52865f26f2 100644 --- a/packages/typescript/package.js +++ b/packages/typescript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'typescript', - version: '4.9.4', + version: '4.9.4-beta2110.0', summary: 'Compiler plugin that compiles TypeScript and ECMAScript in .ts and .tsx files', documentation: 'README.md', From 4047047e039ad77e9a70239ea2655f244caac33e Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 16:13:49 -0300 Subject: [PATCH 149/398] adding with computation tracker to types --- packages/tracker/tracker.d.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/tracker/tracker.d.ts b/packages/tracker/tracker.d.ts index 9ab6e0bdc5..6b7620d67a 100644 --- a/packages/tracker/tracker.d.ts +++ b/packages/tracker/tracker.d.ts @@ -109,6 +109,16 @@ export namespace Tracker { } ): Computation; + /** + * Helper function to make the tracker work with promises. + * @param computation Computation that tracked + * @param func async function that needs to be called and be reactive + */ + function withComputation( + computation: Computation, + func: () => Promise + ): Promise; + /** * Process all reactive updates immediately and ensure that all invalidated computations are rerun. */ From 2ec87891532d1f79134c6f9ba2e6ab2796cf2262 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 16:14:00 -0300 Subject: [PATCH 150/398] chore: update tracker sem ver --- packages/tracker/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/tracker/package.js b/packages/tracker/package.js index 4d466ebe5c..d5f05677c1 100644 --- a/packages/tracker/package.js +++ b/packages/tracker/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Dependency tracker to allow reactive callbacks", - version: "1.3.0" + version: "1.3.1-beta2110.0" }); Package.onUse(function (api) { From b4bfdec85b3763a17feedc0368913a21817c5209 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 16:19:58 -0300 Subject: [PATCH 151/398] docs: updated history.md --- docs/history.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/history.md b/docs/history.md index 62c92b495a..db3e639d46 100644 --- a/docs/history.md +++ b/docs/history.md @@ -36,6 +36,9 @@ N/A * `mongo@1.16.5`: - In async wrappers, catch exceptions and reject +* `Tracker@1.3.1`: + - Added missing withComputation method in types + * `typescript@4.9.4` - Updated typescript to version 4.9.4. From 042f0786fe524517041e2affb80356ccf00fb0b0 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 16:30:45 -0300 Subject: [PATCH 152/398] chore: updated sem-ver --- packages/minimongo/package.js | 2 +- packages/npm-mongo/package.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index d3d9d110e4..9ab2e9d716 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: '1.9.2-beta211.0' + version: '1.9.2-beta2110.0' }); Package.onUse(api => { diff --git a/packages/npm-mongo/package.js b/packages/npm-mongo/package.js index 66712466c5..4163316862 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.13.0', + version: '4.13.0-beta2110.0', documentation: null }); From 7441d4f2acb1532dea73630c0f02c783985f475a Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 16:36:49 -0300 Subject: [PATCH 153/398] chore: updates on the dev bundle --- meteor | 2 +- scripts/build-dev-bundle-common.sh | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/meteor b/meteor index d4a7652a57..a15cf9668e 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.21.2.4 +BUNDLE_VERSION=14.21.2.5 # OS Check. Put here because here is where we download the precompiled diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 6928825c20..4b7541a1f2 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -6,8 +6,7 @@ set -u UNAME=$(uname) ARCH=$(uname -m) NODE_VERSION=14.21.2 -MONGO_VERSION_64BIT=5.0.5 -MONGO_VERSION_32BIT=3.2.22 +MONGO_VERSION_64BIT=6.0.3 NPM_VERSION=6.14.17 From 7b27d65fcb0928693dcc6444bcc550b3734ae318 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 17:21:30 -0300 Subject: [PATCH 154/398] updated again --- scripts/generate-dev-bundle.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/generate-dev-bundle.sh b/scripts/generate-dev-bundle.sh index 5a6d10eeb6..0db482d7f9 100755 --- a/scripts/generate-dev-bundle.sh +++ b/scripts/generate-dev-bundle.sh @@ -85,7 +85,7 @@ curl -L "${MONGO_URL}" | tar zx # Put Mongo binaries in the right spot (mongodb/bin) mkdir -p "mongodb/bin" mv "${MONGO_NAME}/bin/mongod" "mongodb/bin" -mv "${MONGO_NAME}/bin/mongo" "mongodb/bin" +mv "${MONGO_NAME}/bin/mongos" "mongodb/bin" rm -rf "${MONGO_NAME}" # export path so we use the downloaded node and npm From abf2e38bdc5f87090fa1f91424851700476f55f5 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 17:29:34 -0300 Subject: [PATCH 155/398] updated mongodb 32bits --- scripts/build-dev-bundle-common.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 4b7541a1f2..7f5b1fda21 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -7,6 +7,7 @@ UNAME=$(uname) ARCH=$(uname -m) NODE_VERSION=14.21.2 MONGO_VERSION_64BIT=6.0.3 +MONGO_VERSION_32BIT=3.2.22 NPM_VERSION=6.14.17 From d028fe8a114d036711b211985800f2b00be0418f Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 17:34:13 -0300 Subject: [PATCH 156/398] updated windows scripts --- scripts/generate-dev-bundle.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/generate-dev-bundle.ps1 b/scripts/generate-dev-bundle.ps1 index 13863f0b9d..9d8d5e81d3 100644 --- a/scripts/generate-dev-bundle.ps1 +++ b/scripts/generate-dev-bundle.ps1 @@ -253,8 +253,8 @@ Function Add-Mongo { Write-Host "Putting MongoDB mongod.exe in mongodb\bin" -ForegroundColor Magenta cp "$DIR\mongodb\$mongo_zip_name\bin\mongod.exe" $DIR\mongodb\bin - Write-Host "Putting MongoDB mongo.exe in mongodb\bin" -ForegroundColor Magenta - cp "$DIR\mongodb\$mongo_zip_name\bin\mongo.exe" $DIR\mongodb\bin + Write-Host "Putting MongoDB mongos.exe in mongodb\bin" -ForegroundColor Magenta + cp "$DIR\mongodb\$mongo_zip_name\bin\mongos.exe" $DIR\mongodb\bin Write-Host "Removing the old Mongo zip..." -ForegroundColor Magenta rm -Recurse -Force $mongo_zip From b9907910c8058269d52e23acf523d0e5d350e9c2 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 17:54:28 -0300 Subject: [PATCH 157/398] =?UTF-8?q?Meteor=20version=20to=202.11.0-beta.0?= =?UTF-8?q?=C2=A0:comet:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index f728723ddf..aa4b6158ad 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: '2.10.0', + version: '2.11.0-beta.0', }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 55f056f83a..ad091e6616 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.10.0-rc.0", + "version": "2.11.0-beta.0", "recommended": false, "official": false, "description": "Meteor experimental release" From 886f7d9256ea69d30224a065e549373e9bde8a0c Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Thu, 26 Jan 2023 18:05:04 -0300 Subject: [PATCH 158/398] Meteor version to 2.11.0-beta.0 :comet: --- packages/mongo/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 0faeeac7b4..0a79089701 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: '1.16.5-beta211.0' + version: '1.16.5-beta2110.0' }); Npm.depends({ From 4b9844fb9e2e5c7593297b84878036ccc1519804 Mon Sep 17 00:00:00 2001 From: Joshua Maserow Date: Thu, 26 Jan 2023 23:59:43 +0200 Subject: [PATCH 159/398] 'Made minifyStdCSS aka standard-minifier-css debuggable. It becomes verbose with either --verbose or --debug commandline arguments or DEBUG_CSS environment variable, which can be used to prevent it being verbose with a value of "0" or "false". Bumped version number.' --- packages/standard-minifier-css/package.js | 2 +- .../plugin/minify-css.js | 47 +++++++++++++++++-- 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/packages/standard-minifier-css/package.js b/packages/standard-minifier-css/package.js index 7d6b2746e9..f77019a615 100644 --- a/packages/standard-minifier-css/package.js +++ b/packages/standard-minifier-css/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'standard-minifier-css', - version: '1.8.3', + version: '1.8.4', summary: 'Standard css minifier used with Meteor apps by default.', documentation: 'README.md' }); diff --git a/packages/standard-minifier-css/plugin/minify-css.js b/packages/standard-minifier-css/plugin/minify-css.js index 8ac2b0db75..7507c2ebe4 100644 --- a/packages/standard-minifier-css/plugin/minify-css.js +++ b/packages/standard-minifier-css/plugin/minify-css.js @@ -3,6 +3,10 @@ import { createHash } from "crypto"; import LRU from "lru-cache"; import { loadPostCss, watchAndHashDeps, usePostCss } from './postcss.js'; +const verbose = (process.env.DEBUG_CSS!=="false" && process.env.DEBUG_CSS!=="0" && ( + process.env.DEBUG_CSS || process.argv.indexOf('--verbose') > -1 || process.argv.indexOf('--debug') > -1 +)); + Plugin.registerMinifier({ extensions: ["css"], archMatching: "web" @@ -18,12 +22,19 @@ class CssToolsMinifier { }); this.depsHashCache = Object.create(null); + this.totalSize = 0; + this.totalMinifiedSize = 0; + this.haveHitAnyCache = false; // once we hit the cache, there's no point in showing 'Adding CSS', we know it will be fine and floods the terminal needlessly. } beforeMinify() { this.depsHashCache = Object.create(null); } + formatSize(bytes) { + return bytes < 1024 ? `${bytes} bytes` : `${Math.round(bytes/1024)}k`; + } + watchAndHashDeps(deps, file) { const cacheKey = JSON.stringify(deps); @@ -47,11 +58,28 @@ class CssToolsMinifier { cachedResult && cachedResult.depsCacheKey === this.watchAndHashDeps(cachedResult.deps, files[0]) ) { + if (verbose && !this.haveHitAnyCache) { + clearTimeout(this.tmrShowStats); // after we hit the cache, it's a good time to show stats + this.tmrShowStats = setTimeout( () => { // we use a timeout to give all files a chance to finish being minified + const stats = [`minifyStdCSS: Total CSS ${this.formatSize(this.totalSize)}`]; + if (this.totalMinifiedSize!==0) { + stats.push(`minified ${this.formatSize(this.totalMinifiedSize)}`); + stats.push(`reduction ${Math.round(100-this.totalMinifiedSize*100/this.totalSize)}%`); + } + console.log(stats.join(", ")); + }, 500); + this.haveHitAnyCache = true; + } return cachedResult.stylesheets; } let result = []; + if (verbose) process.stdout.write(` > Merging [ ${files.map( ({ _source:{ targetPath } }) => targetPath ).join(' ')} ]`); const merged = await mergeCss(files, postcssConfig); + if (verbose) { + process.stdout.write(` > ${this.formatSize(merged.code.length)}`); + this.totalSize += merged.code.length; + } if (mode === 'development') { result = [{ @@ -60,13 +88,20 @@ class CssToolsMinifier { path: 'merged-stylesheets.css' }]; } else { - const minifiedFiles = await CssTools.minifyCssAsync(merged.code); + if (verbose) process.stdout.write(` > minifying`); - result = minifiedFiles.map(minified => ({ - data: minified - })); + const minifiedFiles = await CssTools.minifyCssAsync(merged.code); + result = minifiedFiles.map( minified => ({ data:minified }) ); + + if (verbose) { + const minifiedSize = minifiedFiles.reduce( (sum, minifiedFile) => sum + minifiedFile.length, 0); + process.stdout.write(` > ${this.formatSize(minifiedSize)}`); + this.totalMinifiedSize += minifiedSize; + } } + if (verbose) process.stdout.write('\n'); + this.cache.set(cacheKey, { stylesheets: result, deps: merged.deps, @@ -81,13 +116,15 @@ class CssToolsMinifier { const { error, postcssConfig } = await loadPostCss(); if (error) { + if (verbose) console.log('processFilesForBundle loadPostCss error', error); files[0].error(error); return; } const stylesheets = await this.minifyFiles(files, minifyMode, postcssConfig); - stylesheets.forEach(stylesheet => { + stylesheets.forEach( (stylesheet,i) => { + if (verbose && !this.haveHitAnyCache) process.stdout.write(`Adding CSS${i===0?'':' '+i+1}`); files[0].addStylesheet(stylesheet); }); } From ec26f011088e672dee8f87289dce0e8c2708b34f Mon Sep 17 00:00:00 2001 From: Joshua Maserow Date: Fri, 27 Jan 2023 00:54:13 +0200 Subject: [PATCH 160/398] 'minify-css.js Cleaned up the timeout code.' --- packages/standard-minifier-css/plugin/minify-css.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/standard-minifier-css/plugin/minify-css.js b/packages/standard-minifier-css/plugin/minify-css.js index 7507c2ebe4..0768a2422d 100644 --- a/packages/standard-minifier-css/plugin/minify-css.js +++ b/packages/standard-minifier-css/plugin/minify-css.js @@ -59,8 +59,8 @@ class CssToolsMinifier { cachedResult.depsCacheKey === this.watchAndHashDeps(cachedResult.deps, files[0]) ) { if (verbose && !this.haveHitAnyCache) { - clearTimeout(this.tmrShowStats); // after we hit the cache, it's a good time to show stats - this.tmrShowStats = setTimeout( () => { // we use a timeout to give all files a chance to finish being minified + this.haveHitAnyCache = true; + setTimeout( () => { // we use a timeout to give all files a chance to finish being minified const stats = [`minifyStdCSS: Total CSS ${this.formatSize(this.totalSize)}`]; if (this.totalMinifiedSize!==0) { stats.push(`minified ${this.formatSize(this.totalMinifiedSize)}`); @@ -68,7 +68,6 @@ class CssToolsMinifier { } console.log(stats.join(", ")); }, 500); - this.haveHitAnyCache = true; } return cachedResult.stylesheets; } From a6c5b122b3258544c52335dfb43ef39128a84004 Mon Sep 17 00:00:00 2001 From: Joshua Maserow Date: Fri, 27 Jan 2023 11:31:01 +0200 Subject: [PATCH 161/398] 'minify-css.js destructure process.env.DEBUG_CSS and process.argv for terseness.' --- packages/standard-minifier-css/plugin/minify-css.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/standard-minifier-css/plugin/minify-css.js b/packages/standard-minifier-css/plugin/minify-css.js index 0768a2422d..ddb8d759ab 100644 --- a/packages/standard-minifier-css/plugin/minify-css.js +++ b/packages/standard-minifier-css/plugin/minify-css.js @@ -3,8 +3,9 @@ import { createHash } from "crypto"; import LRU from "lru-cache"; import { loadPostCss, watchAndHashDeps, usePostCss } from './postcss.js'; -const verbose = (process.env.DEBUG_CSS!=="false" && process.env.DEBUG_CSS!=="0" && ( - process.env.DEBUG_CSS || process.argv.indexOf('--verbose') > -1 || process.argv.indexOf('--debug') > -1 +const { argv, env:{ DEBUG_CSS } } = process; +const verbose = (DEBUG_CSS!=="false" && DEBUG_CSS!=="0" && ( + DEBUG_CSS || argv.indexOf('--verbose') > -1 || argv.indexOf('--debug') > -1 )); Plugin.registerMinifier({ From 0559229370b4ddadeed587361775b22b4e09889f Mon Sep 17 00:00:00 2001 From: Joshua Maserow Date: Fri, 27 Jan 2023 11:32:01 +0200 Subject: [PATCH 162/398] 'package.js Increased package version to 1.9.0 to reflect new feature release.' --- packages/standard-minifier-css/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/standard-minifier-css/package.js b/packages/standard-minifier-css/package.js index f77019a615..d934253332 100644 --- a/packages/standard-minifier-css/package.js +++ b/packages/standard-minifier-css/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'standard-minifier-css', - version: '1.8.4', + version: '1.9.0', summary: 'Standard css minifier used with Meteor apps by default.', documentation: 'README.md' }); From 39916d761a6996c25731fb201b97b6ea2bfac86b Mon Sep 17 00:00:00 2001 From: Joshua Maserow Date: Fri, 27 Jan 2023 11:40:22 +0200 Subject: [PATCH 163/398] 'minify-css.js Changed `if (error)` to use console.error, rather than console.log' --- packages/standard-minifier-css/plugin/minify-css.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/standard-minifier-css/plugin/minify-css.js b/packages/standard-minifier-css/plugin/minify-css.js index ddb8d759ab..91303ba0b2 100644 --- a/packages/standard-minifier-css/plugin/minify-css.js +++ b/packages/standard-minifier-css/plugin/minify-css.js @@ -116,7 +116,7 @@ class CssToolsMinifier { const { error, postcssConfig } = await loadPostCss(); if (error) { - if (verbose) console.log('processFilesForBundle loadPostCss error', error); + if (verbose) console.error('processFilesForBundle loadPostCss error', error); files[0].error(error); return; } From d09becbe17e56fd3898cc3ad5259222eb8b6b926 Mon Sep 17 00:00:00 2001 From: Joshua Maserow Date: Fri, 27 Jan 2023 12:27:07 +0200 Subject: [PATCH 164/398] 'minify-css.js package.js Implemented Log.error() and Log.warn()' --- packages/standard-minifier-css/package.js | 4 +++- packages/standard-minifier-css/plugin/minify-css.js | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/standard-minifier-css/package.js b/packages/standard-minifier-css/package.js index d934253332..7af43ea370 100644 --- a/packages/standard-minifier-css/package.js +++ b/packages/standard-minifier-css/package.js @@ -9,7 +9,8 @@ Package.registerBuildPlugin({ name: "minifyStdCSS", use: [ 'minifier-css', - 'ecmascript' + 'ecmascript', + 'logging', ], npmDependencies: { "@babel/runtime": "7.18.9", @@ -25,4 +26,5 @@ Package.registerBuildPlugin({ Package.onUse(function(api) { api.use('minifier-css@1.5.4'); api.use('isobuild:minifier-plugin@1.0.0'); + api.use('logging@1.3.1'); }); diff --git a/packages/standard-minifier-css/plugin/minify-css.js b/packages/standard-minifier-css/plugin/minify-css.js index 91303ba0b2..6a28464c4a 100644 --- a/packages/standard-minifier-css/plugin/minify-css.js +++ b/packages/standard-minifier-css/plugin/minify-css.js @@ -2,6 +2,7 @@ import sourcemap from "source-map"; import { createHash } from "crypto"; import LRU from "lru-cache"; import { loadPostCss, watchAndHashDeps, usePostCss } from './postcss.js'; +import { Log } from 'meteor/logging'; const { argv, env:{ DEBUG_CSS } } = process; const verbose = (DEBUG_CSS!=="false" && DEBUG_CSS!=="0" && ( @@ -116,7 +117,7 @@ class CssToolsMinifier { const { error, postcssConfig } = await loadPostCss(); if (error) { - if (verbose) console.error('processFilesForBundle loadPostCss error', error); + if (verbose) Log.error('processFilesForBundle loadPostCss error', error); files[0].error(error); return; } @@ -326,5 +327,5 @@ function warnCb (filename, msg) { // XXX make this a buildmessage.warning call rather than a random log. // this API would be like buildmessage.error, but wouldn't cause // the build to fail. - console.log(`${filename}: warn: ${msg}`); + Log.warn(`${filename}: warn: ${msg}`); }; From bbacd0ce7749796d79c21a72669ee5f4fb7e6aa5 Mon Sep 17 00:00:00 2001 From: Joshua Maserow Date: Fri, 27 Jan 2023 12:47:41 +0200 Subject: [PATCH 165/398] 'package.js postcss.js Added trailing commas 'This makes version-control diffs cleaner and editing code might be less troublesome.' https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas IIRC I first learned about this many years ago from a Meteor contributor, but can't find the original reference, perhaps it was a change to the meteor babel package.' --- packages/standard-minifier-css/package.js | 6 +++--- packages/standard-minifier-css/plugin/postcss.js | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/standard-minifier-css/package.js b/packages/standard-minifier-css/package.js index 7af43ea370..c8f218fb66 100644 --- a/packages/standard-minifier-css/package.js +++ b/packages/standard-minifier-css/package.js @@ -2,7 +2,7 @@ Package.describe({ name: 'standard-minifier-css', version: '1.9.0', summary: 'Standard css minifier used with Meteor apps by default.', - documentation: 'README.md' + documentation: 'README.md', }); Package.registerBuildPlugin({ @@ -16,10 +16,10 @@ Package.registerBuildPlugin({ "@babel/runtime": "7.18.9", "source-map": "0.7.4", "lru-cache": "6.0.0", - "micromatch": "4.0.5" + "micromatch": "4.0.5", }, sources: [ - 'plugin/minify-css.js' + 'plugin/minify-css.js', ] }); diff --git a/packages/standard-minifier-css/plugin/postcss.js b/packages/standard-minifier-css/plugin/postcss.js index 9bcf35b51c..f761e5371a 100644 --- a/packages/standard-minifier-css/plugin/postcss.js +++ b/packages/standard-minifier-css/plugin/postcss.js @@ -16,7 +16,7 @@ const missingPostCssError = new Error([ 'directory. Please run the following command to install it:', ' meteor npm install postcss@8', 'or disable postcss by removing the postcss config.', - '' + '', ].join('\n')); export async function loadPostCss() { @@ -73,7 +73,7 @@ export async function loadPostCss() { 'directory. standard-minifier-css is only compatible with', 'version 8 of PostCSS. Please restart Meteor after installing', 'a supported version of PostCSS', - '' + '', ].join('\n')); return { error }; From ab9511442e5c7c7892a9b5dc68f6f98e38483982 Mon Sep 17 00:00:00 2001 From: Joshua Maserow Date: Fri, 27 Jan 2023 12:48:13 +0200 Subject: [PATCH 166/398] 'postcss.js Removed whitespace from empty lines.' --- .../standard-minifier-css/plugin/postcss.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/standard-minifier-css/plugin/postcss.js b/packages/standard-minifier-css/plugin/postcss.js index f761e5371a..9650b75012 100644 --- a/packages/standard-minifier-css/plugin/postcss.js +++ b/packages/standard-minifier-css/plugin/postcss.js @@ -109,7 +109,7 @@ export const watchAndHashDeps = Profile( let fileCount = 0; let folderCount = 0; let start = performance.now(); - + deps.forEach(dep => { if (dep.type === 'dependency') { fileCount += 1; @@ -123,16 +123,16 @@ export const watchAndHashDeps = Profile( } } }); - - + + Object.entries(globsByDir).forEach(([parentDir, globs]) => { const matchers = globs.map(glob => micromatch.matcher(glob)); - + function walk(relDir) { const absDir = path.join(parentDir, relDir); hash.update(absDir).update('\0'); folderCount += 1; - + const entries = fs.readdirWithTypesSync(absDir); for (const entry of entries) { const relPath = path.join(relDir, entry.name); @@ -148,12 +148,12 @@ export const watchAndHashDeps = Profile( } } } - + walk('./'); }); - + let digest = hash.digest('hex'); - + if (DEBUG_CACHE) { console.log('--- PostCSS Cache Info ---'); console.log('Glob deps', JSON.stringify(globsByDir, null, 2)); @@ -162,6 +162,6 @@ export const watchAndHashDeps = Profile( console.log('Created dep cache key in', performance.now() - start, 'ms'); console.log('--------------------------'); } - + return digest; }); From 6490e49c20a95dee14e208f7c2ef15e4567a6e9f Mon Sep 17 00:00:00 2001 From: Joshua Maserow Date: Fri, 27 Jan 2023 13:28:03 +0200 Subject: [PATCH 167/398] 'minify-css.js Added trailing commas 'This makes version-control diffs cleaner and editing code might be less troublesome.' https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas' --- .../plugin/minify-css.js | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/standard-minifier-css/plugin/minify-css.js b/packages/standard-minifier-css/plugin/minify-css.js index 6a28464c4a..319b39e8e3 100644 --- a/packages/standard-minifier-css/plugin/minify-css.js +++ b/packages/standard-minifier-css/plugin/minify-css.js @@ -11,7 +11,7 @@ const verbose = (DEBUG_CSS!=="false" && DEBUG_CSS!=="0" && ( Plugin.registerMinifier({ extensions: ["css"], - archMatching: "web" + archMatching: "web", }, function () { const minifier = new CssToolsMinifier(); return minifier; @@ -20,7 +20,7 @@ Plugin.registerMinifier({ class CssToolsMinifier { constructor() { this.cache = new LRU({ - max: 100 + max: 100, }); this.depsHashCache = Object.create(null); @@ -86,7 +86,7 @@ class CssToolsMinifier { result = [{ data: merged.code, sourceMap: merged.sourceMap, - path: 'merged-stylesheets.css' + path: 'merged-stylesheets.css', }]; } else { if (verbose) process.stdout.write(` > minifying`); @@ -106,7 +106,7 @@ class CssToolsMinifier { this.cache.set(cacheKey, { stylesheets: result, deps: merged.deps, - depsCacheKey: this.watchAndHashDeps(merged.deps, files[0]) + depsCacheKey: this.watchAndHashDeps(merged.deps, files[0]), }); return result; } @@ -166,7 +166,7 @@ const mergeCss = Profile("mergeCss", async function (css, postcssConfig) { postcssConfig.plugins ).process(content, { from: Plugin.convertToOSPath(file.getSourcePath()), - parser: postcssConfig.options.parser + parser: postcssConfig.options.parser, }); result.warnings().forEach(warning => { @@ -188,7 +188,7 @@ const mergeCss = Profile("mergeCss", async function (css, postcssConfig) { file.error({ message: e.reason, line: e.line, - column: e.column + column: e.column, }); } else { // Just in case it's not the normal error the library makes. @@ -209,7 +209,7 @@ const mergeCss = Profile("mergeCss", async function (css, postcssConfig) { const stringifiedCss = CssTools.stringifyCss(mergedCssAst, { sourcemap: true, // don't try to read the referenced sourcemaps from the input - inputSourcemaps: false + inputSourcemaps: false, }); if (! stringifiedCss.code) { @@ -258,7 +258,7 @@ const mergeCss = Profile("mergeCss", async function (css, postcssConfig) { let original = { line: mapping.originalLine, - column: mapping.originalColumn + column: mapping.originalColumn, }; // If there is a source map for the original file, e.g., if it has been @@ -294,7 +294,7 @@ const mergeCss = Profile("mergeCss", async function (css, postcssConfig) { newMap.addMapping({ generated: { line: mapping.generatedLine, - column: mapping.generatedColumn + column: mapping.generatedColumn, }, original, source, @@ -319,7 +319,7 @@ const mergeCss = Profile("mergeCss", async function (css, postcssConfig) { return { code: stringifiedCss.code, sourceMap: newMap.toString(), - deps + deps, }; }); From 08645e236097e23648c4d2eb68605d38844908f8 Mon Sep 17 00:00:00 2001 From: Joshua Maserow Date: Fri, 27 Jan 2023 13:46:35 +0200 Subject: [PATCH 168/398] 'postcss.js Added trailing comma 'This makes version-control diffs cleaner and editing code might be less troublesome.' https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Trailing_commas' --- packages/standard-minifier-css/plugin/postcss.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/standard-minifier-css/plugin/postcss.js b/packages/standard-minifier-css/plugin/postcss.js index 9650b75012..7e374d8d25 100644 --- a/packages/standard-minifier-css/plugin/postcss.js +++ b/packages/standard-minifier-css/plugin/postcss.js @@ -52,7 +52,7 @@ export async function loadPostCss() { e.message = `While loading postcss config: ${e.message}`; return { - error: e + error: e, }; } From 36837749d01c8a63a160d65bcc3e350f6386339a Mon Sep 17 00:00:00 2001 From: Joshua Maserow Date: Fri, 27 Jan 2023 13:47:07 +0200 Subject: [PATCH 169/398] 'postcss.js Added missing semicolon and removed whitespace from empty line.' --- packages/standard-minifier-css/plugin/postcss.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/standard-minifier-css/plugin/postcss.js b/packages/standard-minifier-css/plugin/postcss.js index 7e374d8d25..a34d3fd455 100644 --- a/packages/standard-minifier-css/plugin/postcss.js +++ b/packages/standard-minifier-css/plugin/postcss.js @@ -95,7 +95,7 @@ export function usePostCss(file, postcssConfig) { const path = file.getPathInBundle(); const excluded = excludedPackages.some(name => { - return path.includes(`packages/${name.replace(':', '_')}`) + return path.includes(`packages/${name.replace(':', '_')}`); }); return !excluded; @@ -136,7 +136,7 @@ export const watchAndHashDeps = Profile( const entries = fs.readdirWithTypesSync(absDir); for (const entry of entries) { const relPath = path.join(relDir, entry.name); - + if (entry.isFile() && matchers.some(isMatch => isMatch(relPath))) { const absPath = path.join(absDir, entry.name); fileCount += 1; From 86bc95626d0173b3c16ec226f6fdff8ee689a6f6 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 27 Jan 2023 22:22:14 +0900 Subject: [PATCH 170/398] Update Apollo starter to Apollo server v4 --- .../skel-apollo/imports/ui/App.jsx | 5 ++-- tools/static-assets/skel-apollo/package.json | 9 ++++--- .../skel-apollo/server/apollo.js | 25 ++++++++++++------- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/tools/static-assets/skel-apollo/imports/ui/App.jsx b/tools/static-assets/skel-apollo/imports/ui/App.jsx index 7ebf0cb3a0..b6d8114398 100644 --- a/tools/static-assets/skel-apollo/imports/ui/App.jsx +++ b/tools/static-assets/skel-apollo/imports/ui/App.jsx @@ -1,6 +1,5 @@ import React from 'react'; -import { InMemoryCache, ApolloProvider, ApolloClient, ApolloLink } from '@apollo/client'; -import { BatchHttpLink } from '@apollo/client/link/batch-http' +import { InMemoryCache, ApolloProvider, ApolloClient, ApolloLink, HttpLink } from '@apollo/client'; // import { MeteorAccountsLink } from 'meteor/apollo' import { Hello } from './Hello.jsx'; import { Info } from './Info.jsx'; @@ -9,7 +8,7 @@ const cache = new InMemoryCache().restore(window.__APOLLO_STATE__); const link = ApolloLink.from([ // MeteorAccountsLink(), - new BatchHttpLink({ + new HttpLink({ uri: '/graphql' }) ]); diff --git a/tools/static-assets/skel-apollo/package.json b/tools/static-assets/skel-apollo/package.json index 5b0908c844..f0b3fcf289 100644 --- a/tools/static-assets/skel-apollo/package.json +++ b/tools/static-assets/skel-apollo/package.json @@ -8,10 +8,11 @@ "visualize": "meteor --production --extra-packages bundle-visualizer" }, "dependencies": { - "@apollo/client": "^3.7.3", - "@babel/runtime": "^7.20.7", - "apollo-server-express": "^3.10.0", - "express": "^4.18.1", + "@apollo/client": "^3.7.5", + "@apollo/server": "^4.3.2", + "@babel/runtime": "^7.20.13", + "body-parser": "^1.20.1", + "express": "^4.18.2", "graphql": "^16.6.0", "meteor-node-stubs": "^1.2.5", "react": "^18.2.0", diff --git a/tools/static-assets/skel-apollo/server/apollo.js b/tools/static-assets/skel-apollo/server/apollo.js index 376f28f1c2..44b51d0cac 100644 --- a/tools/static-assets/skel-apollo/server/apollo.js +++ b/tools/static-assets/skel-apollo/server/apollo.js @@ -1,8 +1,11 @@ -import { ApolloServer } from 'apollo-server-express'; +import { ApolloServer } from '@apollo/server'; import { WebApp } from 'meteor/webapp'; import { getUser } from 'meteor/apollo'; import { LinksCollection } from '/imports/api/links'; import typeDefs from '/imports/apollo/schema.graphql'; +import express from 'express'; +import { expressMiddleware } from '@apollo/server/express4'; +import { json } from 'body-parser'; const resolvers = { Query: { @@ -11,21 +14,25 @@ const resolvers = { } }; +const context = async ({ req }) => ({ + user: await getUser(req.headers.authorization) +}) + const server = new ApolloServer({ cache: 'bounded', typeDefs, resolvers, - context: async ({ req }) => ({ - user: await getUser(req.headers.authorization) - }) }); export async function startApolloServer() { await server.start(); - const app = WebApp.connectHandlers; - server.applyMiddleware({ - app, - cors: true - }); + WebApp.connectHandlers.use( + '/graphql', // Configure the path as you want. + express() // Create new Express router. + .disable('etag') // We don't server GET requests, so there's no need for that. + .disable('x-powered-by') // A small safety measure. + .use(json()) // From `body-parser`. + .use(expressMiddleware(server, { context })), // From `@apollo/server/express4`. + ) } From 144193f449b6f97d671b3db8d1865c72c7545cac Mon Sep 17 00:00:00 2001 From: Dan Rosart Date: Sat, 28 Jan 2023 18:13:24 -0800 Subject: [PATCH 171/398] Ensure the meteor.loginServiceConfiguration subscription always becomes ready. --- packages/accounts-base/accounts_server.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/accounts-base/accounts_server.js b/packages/accounts-base/accounts_server.js index 2fd0a6d41b..9c44679a5b 100644 --- a/packages/accounts-base/accounts_server.js +++ b/packages/accounts-base/accounts_server.js @@ -766,6 +766,7 @@ export class AccountsServer extends AccountsCommon { const { ServiceConfiguration } = Package['service-configuration']; return ServiceConfiguration.configurations.find({}, {fields: {secret: 0}}); } + this.ready(); }, {is_auto: true}); // not technically autopublish, but stops the warning. // Use Meteor.startup to give other packages a chance to call From 09096973d1016207edc693a5de8e4c3f9ed10df1 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 09:47:19 -0300 Subject: [PATCH 172/398] added babel-compile .lock file --- .../.npm/package/npm-shrinkwrap.json | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index abf747c68c..2318003140 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -161,9 +161,9 @@ "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==" }, "@babel/helpers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", - "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==" + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz", + "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==" }, "@babel/highlight": { "version": "7.18.6", @@ -171,9 +171,9 @@ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==" }, "@babel/parser": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", - "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==" + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", + "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==" }, "@babel/plugin-proposal-async-generator-functions": { "version": "7.20.7", @@ -331,9 +331,9 @@ "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==" }, "@babel/plugin-transform-react-jsx": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.7.tgz", - "integrity": "sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ==" + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.13.tgz", + "integrity": "sha512-MmTZx/bkUrfJhhYAYt3Urjm+h8DQGrPrnKQ94jLo7NLuOU+T89a7IByhKmrb8SKhrIYIQ0FN0CHMbnFRen4qNw==" }, "@babel/plugin-transform-react-jsx-development": { "version": "7.18.6", @@ -401,9 +401,9 @@ "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==" }, "@babel/traverse": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz", - "integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==" + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz", + "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==" }, "@babel/types": { "version": "7.20.7", @@ -436,9 +436,9 @@ "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==" }, "@meteorjs/babel": { - "version": "7.18.0-beta.5", - "resolved": "https://registry.npmjs.org/@meteorjs/babel/-/babel-7.18.0-beta.5.tgz", - "integrity": "sha512-OWtjVxsaOgMc1PAzRXEicYc7ZDwTFQDAJ3C8UfwIPGhSojVj3OiLz8vZMZGeAiEac8IxZffiskirsc7NwresyQ==" + "version": "7.18.0-beta.6", + "resolved": "https://registry.npmjs.org/@meteorjs/babel/-/babel-7.18.0-beta.6.tgz", + "integrity": "sha512-M3BL5ivQQBE4iQ9my7WqXZdkhR61x2H/Z0xshYuv8kppFzuS9/saksET1T7JrTGJnnfONpoxqYkiBGIHSw8+cQ==" }, "@meteorjs/reify": { "version": "0.23.0", @@ -648,9 +648,9 @@ "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==" }, "caniuse-lite": { - "version": "1.0.30001442", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz", - "integrity": "sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==" + "version": "1.0.30001449", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz", + "integrity": "sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw==" }, "chalk": { "version": "2.4.2", @@ -673,9 +673,9 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "core-js-compat": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", - "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==" + "version": "3.27.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.2.tgz", + "integrity": "sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg==" }, "debug": { "version": "4.3.4", @@ -885,9 +885,9 @@ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" }, "typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==" }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", From 2595e57c34b0c89369fc90370b6d56052b4d2c2d Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 10:24:39 -0300 Subject: [PATCH 173/398] chore: updated meteor-babel/package-lock.json --- npm-packages/meteor-babel/package-lock.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/npm-packages/meteor-babel/package-lock.json b/npm-packages/meteor-babel/package-lock.json index 76469e0a04..18e8305a96 100644 --- a/npm-packages/meteor-babel/package-lock.json +++ b/npm-packages/meteor-babel/package-lock.json @@ -1,12 +1,12 @@ { "name": "@meteorjs/babel", - "version": "7.18.0-beta.5", + "version": "7.18.0-beta.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@meteorjs/babel", - "version": "7.18.0-beta.5", + "version": "7.18.0-beta.6", "license": "MIT", "dependencies": { "@babel/core": "^7.17.2", @@ -26,7 +26,7 @@ "convert-source-map": "^1.6.0", "lodash": "^4.17.21", "meteor-babel-helpers": "0.0.3", - "typescript": "~4.7.4" + "typescript": "~4.9.4" }, "devDependencies": { "@babel/plugin-proposal-decorators": "7.14.5", @@ -3617,9 +3617,9 @@ } }, "node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -6590,9 +6590,9 @@ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, "typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==" }, "unbox-primitive": { "version": "1.0.1", From 4d916350140f658c10f386f7a53f92b956d838f9 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 10:24:46 -0300 Subject: [PATCH 174/398] docs: updated merged prs --- docs/history.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/history.md b/docs/history.md index db3e639d46..37b69b233c 100644 --- a/docs/history.md +++ b/docs/history.md @@ -7,7 +7,7 @@ * Optimized makeLookupFunction by [radekmie](https://github.com/radekmie) [PR](https://github.com/meteor/meteor/pull/12462) * In async wrappers, catch exceptions and reject by [ebroder](https://github.com/ebroder) [PR](https://github.com/meteor/meteor/pull/12469) * Bump Typescript to v4.9.4 by [Firfi](https://github.com/Firfi) [PR](https://github.com/meteor/meteor/pull/12465) - +* Ensure the meteor.loginServiceConfiguration subscription always becomes ready by [Torgen](https://github.com/Torgen) [PR](https://github.com/meteor/meteor/pull/12480) #### Breaking Changes N/A @@ -49,6 +49,8 @@ N/A - [@radekmie](https://github.com/radekmie). - [@ebroder](https://github.com/ebroder). +- [@Firfi](https://github.com/Firfi). +- [@Torgen](https://github.com/Torgen). From 486fc136b19daa650a1cc8ed058d6168409b2e3d Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 11:20:46 -0300 Subject: [PATCH 175/398] chore: updated chakra ui to useSubscription --- .../skel-chakra-ui/imports/ui/Info.jsx | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/tools/static-assets/skel-chakra-ui/imports/ui/Info.jsx b/tools/static-assets/skel-chakra-ui/imports/ui/Info.jsx index 5b483a097b..b226c2df63 100644 --- a/tools/static-assets/skel-chakra-ui/imports/ui/Info.jsx +++ b/tools/static-assets/skel-chakra-ui/imports/ui/Info.jsx @@ -1,22 +1,25 @@ import React from 'react'; -import { useTracker } from 'meteor/react-meteor-data'; +import { useFind, useSubscribe } from 'meteor/react-meteor-data'; import { LinksCollection } from '../api/links'; -import {Box, Heading, Link, ListItem, UnorderedList} from "@chakra-ui/react"; -import {ExternalLinkIcon} from "@chakra-ui/icons"; +import { Box, Heading, Link, ListItem, UnorderedList } from "@chakra-ui/react"; +import { ExternalLinkIcon } from "@chakra-ui/icons"; export const Info = () => { - const links = useTracker(() => { - return LinksCollection.find().fetch(); - }); + const isLoading = useSubscribe('links'); + const links = useFind(() => LinksCollection.find()); + + if (isLoading()) { + return Loading...; + } return ( Learn Meteor! - {links.map( - link => - {link.title} + { links.map( + link => + { link.title } - )} + ) } ); }; From a60b4a91167bf898a61333892a7967bbfbca176d Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 11:21:05 -0300 Subject: [PATCH 176/398] chore: added publication to chakra ui skeleton --- tools/static-assets/skel-chakra-ui/server/main.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/static-assets/skel-chakra-ui/server/main.js b/tools/static-assets/skel-chakra-ui/server/main.js index 9c774d214c..0198535e0a 100644 --- a/tools/static-assets/skel-chakra-ui/server/main.js +++ b/tools/static-assets/skel-chakra-ui/server/main.js @@ -28,4 +28,10 @@ Meteor.startup(async () => { url: 'https://forums.meteor.com', }); } + + // We publish the entire Links collection to all clients. + // In order to be fetched in real-time to the clients + Meteor.publish("links", function () { + return LinksCollection.find(); + }); }); From c6bfed9c0a9cc47f1a91c86008d0ca1292a7fdd1 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 11:21:16 -0300 Subject: [PATCH 177/398] chore: added publication react skeleton --- tools/static-assets/skel-react/server/main.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/static-assets/skel-react/server/main.js b/tools/static-assets/skel-react/server/main.js index 9c774d214c..0198535e0a 100644 --- a/tools/static-assets/skel-react/server/main.js +++ b/tools/static-assets/skel-react/server/main.js @@ -28,4 +28,10 @@ Meteor.startup(async () => { url: 'https://forums.meteor.com', }); } + + // We publish the entire Links collection to all clients. + // In order to be fetched in real-time to the clients + Meteor.publish("links", function () { + return LinksCollection.find(); + }); }); From 8045ad9aacaae8cef8ffaa63a2daae501e3e67d5 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 11:21:30 -0300 Subject: [PATCH 178/398] chore: added useSubscribe to react skeleton --- tools/static-assets/skel-react/imports/ui/Info.jsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/static-assets/skel-react/imports/ui/Info.jsx b/tools/static-assets/skel-react/imports/ui/Info.jsx index 62a0100d67..a9a7a45cfe 100644 --- a/tools/static-assets/skel-react/imports/ui/Info.jsx +++ b/tools/static-assets/skel-react/imports/ui/Info.jsx @@ -1,11 +1,14 @@ import React from 'react'; -import { useTracker } from 'meteor/react-meteor-data'; +import { useFind, useSubscribe } from 'meteor/react-meteor-data'; import { LinksCollection } from '../api/links'; export const Info = () => { - const links = useTracker(() => { - return LinksCollection.find().fetch(); - }); + const isLoading = useSubscribe('links'); + const links = useFind(() => LinksCollection.find()); + + if(isLoading()) { + return
Loading...
; + } return (
From c8fbbb679d0f3fc37a084e824b7c82ab6a2b5449 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 11:21:36 -0300 Subject: [PATCH 179/398] chore: added useSubscribe to tailwind skeleton --- .../skel-tailwind/imports/ui/Info.jsx | 115 +++++++++++------- 1 file changed, 72 insertions(+), 43 deletions(-) diff --git a/tools/static-assets/skel-tailwind/imports/ui/Info.jsx b/tools/static-assets/skel-tailwind/imports/ui/Info.jsx index 8272c26f94..4d8436df8a 100644 --- a/tools/static-assets/skel-tailwind/imports/ui/Info.jsx +++ b/tools/static-assets/skel-tailwind/imports/ui/Info.jsx @@ -1,77 +1,106 @@ -import React from 'react'; -import { useTracker } from 'meteor/react-meteor-data'; -import { LinksCollection } from '../api/links'; +import React from "react"; +import { useFind, useSubscribe } from "meteor/react-meteor-data"; +import { LinksCollection } from "../api/links"; function classNames(...classes) { - return classes.filter(Boolean).join(' '); + return classes.filter(Boolean).join(" "); } export const Info = () => { - const links = useTracker(() => { - const data = LinksCollection.find().fetch(); + const foreGroundColors = [ + "text-red-700", + "text-orange-700", + "text-rose-700", + "text-yellow-700", + ]; + const backgroundColors = [ + "bg-red-50", + "bg-orange-50", + "bg-rose-50", + "bg-yellow-50", + ]; + const isLoading = useSubscribe("links"); - const foreGroundColors = ['text-red-700', 'text-orange-700', 'text-rose-700', 'text-yellow-700']; - const backgroundColors = ['bg-red-50', 'bg-orange-50', 'bg-rose-50', 'bg-yellow-50']; + const data = useFind(() => LinksCollection.find()); - return data.map((d, index) => ({ - ...d, - iconForeground: foreGroundColors[index], - iconBackground: backgroundColors[index], - })) - }); + const links = data.map((d, index) => ({ + ...d, + iconForeground: foreGroundColors[index], + iconBackground: backgroundColors[index], + })); - const actions = links.map(link => ({ + if (isLoading()) { + return
Loading...
; + } + + const actions = links.map((link) => ({ id: link._id, title: link.title, href: link.url, - icon: - - , + icon: ( + + + + ), ...link, })); - - return ( -
- {actions.map((action, actionIdx) => ( +
+ { actions.map((action, actionIdx) => ( - ))} + )) }
); }; From 42d6de8a1262e551b2a1e32d20c1f9f63fb2f498 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 11:21:48 -0300 Subject: [PATCH 180/398] chore: added publication to tailwind skeleton --- tools/static-assets/skel-tailwind/server/main.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/static-assets/skel-tailwind/server/main.js b/tools/static-assets/skel-tailwind/server/main.js index 5c4e8951b3..6d8dd672ad 100644 --- a/tools/static-assets/skel-tailwind/server/main.js +++ b/tools/static-assets/skel-tailwind/server/main.js @@ -28,4 +28,10 @@ Meteor.startup(async () => { url: 'https://forums.meteor.com', }); } + + // We publish the entire Links collection to all clients. + // In order to be fetched in real-time to the clients + Meteor.publish("links", function () { + return LinksCollection.find(); + }); }); From 3397c778afdb65ce12564865a7ecde899b866ecd Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 11:22:11 -0300 Subject: [PATCH 181/398] chore: added useSubscribe typescript skeleton --- .../skel-typescript/imports/ui/Info.tsx | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/tools/static-assets/skel-typescript/imports/ui/Info.tsx b/tools/static-assets/skel-typescript/imports/ui/Info.tsx index 3bcf685386..23cb8f07a3 100644 --- a/tools/static-assets/skel-typescript/imports/ui/Info.tsx +++ b/tools/static-assets/skel-typescript/imports/ui/Info.tsx @@ -1,16 +1,19 @@ -import React from 'react'; -import { useTracker } from 'meteor/react-meteor-data'; -import { LinksCollection, Link } from '../api/links'; +import React from "react"; +import { useFind, useSubscribe } from "meteor/react-meteor-data"; +import { LinksCollection, Link } from "../api/links"; export const Info = () => { - const links = useTracker(() => { - return LinksCollection.find().fetch(); - }); + const isLoading = useSubscribe("links"); + const links = useFind(() => LinksCollection.find()); + + if (isLoading()) { + return
Loading...
; + } const makeLink = (link: Link) => { return ( -
  • - {link.title} +
  • + { link.title }
  • ); } @@ -18,7 +21,7 @@ export const Info = () => { return (

    Learn Meteor!

    -
      {links.map(makeLink)}
    +
      { links.map(makeLink) }
    ); }; From 72ade5dec82f7b6c305f7d093d36678f24973dcc Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 11:22:24 -0300 Subject: [PATCH 182/398] chore: added publication to typescript skeleton --- tools/static-assets/skel-typescript/server/main.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/static-assets/skel-typescript/server/main.ts b/tools/static-assets/skel-typescript/server/main.ts index 9c774d214c..0198535e0a 100644 --- a/tools/static-assets/skel-typescript/server/main.ts +++ b/tools/static-assets/skel-typescript/server/main.ts @@ -28,4 +28,10 @@ Meteor.startup(async () => { url: 'https://forums.meteor.com', }); } + + // We publish the entire Links collection to all clients. + // In order to be fetched in real-time to the clients + Meteor.publish("links", function () { + return LinksCollection.find(); + }); }); From 53e1db25c5956f545b1e3f5203a66a1764fcc28b Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 12:02:09 -0300 Subject: [PATCH 183/398] Chore: adding publication to solid skeleton --- tools/static-assets/skel-solid/server/main.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/static-assets/skel-solid/server/main.js b/tools/static-assets/skel-solid/server/main.js index 99eab74e29..3eb4465cdb 100644 --- a/tools/static-assets/skel-solid/server/main.js +++ b/tools/static-assets/skel-solid/server/main.js @@ -28,4 +28,10 @@ Meteor.startup(async () => { url: 'https://forums.meteor.com', }); } + + // We publish the entire Links collection to all clients. + // In order to be fetched in real-time to the clients + Meteor.publish('links', function () { + return LinksCollection.find(); + }); }); From a0d2f57fa035021fe7d8593af86979d3b48ff41e Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 12:02:21 -0300 Subject: [PATCH 184/398] Chore: adding subscription to solid skeleton --- .../skel-solid/imports/ui/Info.jsx | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/tools/static-assets/skel-solid/imports/ui/Info.jsx b/tools/static-assets/skel-solid/imports/ui/Info.jsx index 6f4a441e79..cf6f585c2e 100644 --- a/tools/static-assets/skel-solid/imports/ui/Info.jsx +++ b/tools/static-assets/skel-solid/imports/ui/Info.jsx @@ -1,26 +1,36 @@ import { LinksCollection } from "../api/links"; import { createSignal, For } from "solid-js"; import { Tracker } from "meteor/tracker"; +import { Meteor } from "meteor/meteor"; export const Info = () => { + const loading = Meteor.subscribe("links"); + const [isLoading, setIsLoading] = createSignal(loading.ready()); const [links, setLinks] = createSignal([]); Tracker.autorun(() => { + setIsLoading(loading.ready()); setLinks(LinksCollection.find().fetch()); }); + if (isLoading()) { + return
    Loading...
    ; + } + return (

    Learn Meteor!

    - ) - -} + ); +}; From 8de669b83403215ae6272afe471c58879138ab89 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Mon, 30 Jan 2023 17:20:13 -0300 Subject: [PATCH 185/398] chore: updating vue2 app subscriptions --- .../skel-vue-2/imports/ui/components/Info.vue | 30 +++++++++++-------- tools/static-assets/skel-vue-2/package.json | 2 +- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/tools/static-assets/skel-vue-2/imports/ui/components/Info.vue b/tools/static-assets/skel-vue-2/imports/ui/components/Info.vue index 376d60562b..b52b2be838 100644 --- a/tools/static-assets/skel-vue-2/imports/ui/components/Info.vue +++ b/tools/static-assets/skel-vue-2/imports/ui/components/Info.vue @@ -9,29 +9,27 @@ -
  • {{link.title}}
  • + +
  • + {{ link.title }} +
  • +
    diff --git a/tools/static-assets/skel-vue-2/package.json b/tools/static-assets/skel-vue-2/package.json index e8cfe3ee72..0012ccbef0 100644 --- a/tools/static-assets/skel-vue-2/package.json +++ b/tools/static-assets/skel-vue-2/package.json @@ -11,7 +11,7 @@ "@babel/runtime": "^7.17.9", "meteor-node-stubs": "^1.2.1", "vue": "^2.6.14", - "vue-meteor-tracker": "^2.0.0-beta.5" + "vue-meteor-tracker": "^3.0.0-beta.7" }, "meteor": { "mainModule": { From fe55cb3d7b3cdce9a13a416994a1a7b0c46279c8 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 31 Jan 2023 12:39:08 -0300 Subject: [PATCH 186/398] docs: updated history.md --- docs/history.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/docs/history.md b/docs/history.md index 37b69b233c..43cff9fa86 100644 --- a/docs/history.md +++ b/docs/history.md @@ -8,17 +8,22 @@ * In async wrappers, catch exceptions and reject by [ebroder](https://github.com/ebroder) [PR](https://github.com/meteor/meteor/pull/12469) * Bump Typescript to v4.9.4 by [Firfi](https://github.com/Firfi) [PR](https://github.com/meteor/meteor/pull/12465) * Ensure the meteor.loginServiceConfiguration subscription always becomes ready by [Torgen](https://github.com/Torgen) [PR](https://github.com/meteor/meteor/pull/12480) +* Deprecate appcache package by [StorytellerCZ](https://github.com/StorytellerCZ) [PR](https://github.com/meteor/meteor/pull/12456) +* Made standard-minifier-css debuggable by [softwarecreations](https://github.com/softwarecreations)[PR](https://github.com/meteor/meteor/pull/12478). + #### Breaking Changes N/A #### Internal API changes -N/A +App cache is now deprecated. #### Migration Steps -N/A +_ If you are using a version of MongoDB older than 6.0, you will need to upgrade your MongoDB server to 6.0 or later._ + +Read our [Migration Guide](https://guide.meteor.com/2.11-migration.html) for this version. #### Meteor Version Release @@ -39,19 +44,25 @@ N/A * `Tracker@1.3.1`: - Added missing withComputation method in types +* `standard-minifier-css@1.9.0`: + - standard-minifier-css is now debuggable + * `typescript@4.9.4` - Updated typescript to version 4.9.4. * `@meteorjs/babel@7.18.0-beta.6` - Updated typescript to version 4.9.4. +* `appcache@1.2.8` + - Depracated appcache package. [applicationCache](https://developer.mozilla.org/en-US/docs/Web/API/Window/applicationCache), which this package relies on, has been deprecated and is not available on the latest browsers. + #### Special thanks to - [@radekmie](https://github.com/radekmie). - [@ebroder](https://github.com/ebroder). - [@Firfi](https://github.com/Firfi). - [@Torgen](https://github.com/Torgen). - +- [@StorytellerCZ](https://github.com/StorytellerCZ). For making this great framework even better! From 475f1bd3361bb4c9812530dddfb77cd28c273838 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 31 Jan 2023 12:39:36 -0300 Subject: [PATCH 187/398] updated standard minifier,md --- docs/source/packages/standard-minifier-css.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/source/packages/standard-minifier-css.md b/docs/source/packages/standard-minifier-css.md index d6041116a5..b547b1660f 100644 --- a/docs/source/packages/standard-minifier-css.md +++ b/docs/source/packages/standard-minifier-css.md @@ -50,3 +50,19 @@ module.exports = { ### Tailwind CSS Tailwind CSS is fully supported. Since HMR applies updates to js files earlier than the css is updated, there can be a delay when using a Tailwind CSS class the first time before the styles are applied. + + +### Debbuging + +_Since Meteor.js 2.11.0 in this [PR](https://github.com/meteor/meteor/pull/12478) we have a debbug mode for the minifier_ + +#### How standard-minifier-css becomes verbose + +- Either of the common debugging commandline arguments + - `--verbose` + - `--debug` +- Environment variable + - `DEBUG_CSS` + +Side notes: +`DEBUG_CSS=false` or `DEBUG_CSS=0` will prevent it from being verbose regardless of `--verbose` or `--debug` commandline arguments, because `DEBUG_CSS` is specific. \ No newline at end of file From bbbfecd34968a873048a649d841fa18ded6e9ceb Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 31 Jan 2023 14:37:36 -0300 Subject: [PATCH 188/398] updated thankings --- docs/history.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/history.md b/docs/history.md index 43cff9fa86..0454ed91f8 100644 --- a/docs/history.md +++ b/docs/history.md @@ -9,7 +9,7 @@ * Bump Typescript to v4.9.4 by [Firfi](https://github.com/Firfi) [PR](https://github.com/meteor/meteor/pull/12465) * Ensure the meteor.loginServiceConfiguration subscription always becomes ready by [Torgen](https://github.com/Torgen) [PR](https://github.com/meteor/meteor/pull/12480) * Deprecate appcache package by [StorytellerCZ](https://github.com/StorytellerCZ) [PR](https://github.com/meteor/meteor/pull/12456) -* Made standard-minifier-css debuggable by [softwarecreations](https://github.com/softwarecreations)[PR](https://github.com/meteor/meteor/pull/12478). +* Made standard-minifier-css debuggable by [softwarecreations](https://github.com/softwarecreations) [PR](https://github.com/meteor/meteor/pull/12478). #### Breaking Changes @@ -63,6 +63,7 @@ Read our [Migration Guide](https://guide.meteor.com/2.11-migration.html) for thi - [@Firfi](https://github.com/Firfi). - [@Torgen](https://github.com/Torgen). - [@StorytellerCZ](https://github.com/StorytellerCZ). +- [@softwarecreations](https://github.com/softwarecreations) For making this great framework even better! From 5f424d15831876673bb7510e009d61e3797f4b5d Mon Sep 17 00:00:00 2001 From: Gabriel Grubba Date: Tue, 31 Jan 2023 15:47:23 -0300 Subject: [PATCH 189/398] docs: adding before 2.10 docs to generator --- .../changelog/docs/0-before-2.10.md | 9657 +++++++++++++++++ 1 file changed, 9657 insertions(+) create mode 100644 docs/generators/changelog/docs/0-before-2.10.md diff --git a/docs/generators/changelog/docs/0-before-2.10.md b/docs/generators/changelog/docs/0-before-2.10.md new file mode 100644 index 0000000000..9ee0122e33 --- /dev/null +++ b/docs/generators/changelog/docs/0-before-2.10.md @@ -0,0 +1,9657 @@ + + + +## v2.9.1, 2022-12-27 + +### Highlights + +* Reverted missing types [PR](https://github.com/meteor/meteor/pull/12366) by [Grubba27](https://github.com/Grubba27). +* Fix fetch() type declaration [PR](https://github.com/meteor/meteor/pull/12352) by [zarvox](https://github.com/zarvox). +* update svelte skeleton [PR](https://github.com/meteor/meteor/pull/12350) by [tosinek](https://github.com/tosinek). +* Bump to node 14.21.2.0 [PR](https://github.com/meteor/meteor/pull/12370) by [Grubba27](https://github.com/Grubba27). +* resetPassword and verifyEmail to no longer sign in the user automatically [PR](https://github.com/meteor/meteor/pull/12385) by [denihs](https://github.com/denihs). +* Added missing vue2 declaration for skeletons [PR](https://github.com/meteor/meteor/pull/12396) by [Grubba27](https://github.com/Grubba27) & [mlanning](https://github.com/mlanning). + +#### Breaking Changes + +* `accounts-password@2.3.3` + - The methods `resetPassword` and `verifyEmail` no longer logs the user if they have 2FA enabled. Now, the functions work as before, but instead of automatically logging in the user at the end, an error with the code `2fa-enabled` will be thrown. + + +#### Internal API changes + +N/A + +#### Migration Steps + +N/A + +#### Meteor Version Release + +* `fetch@0.1.3`: + - Updated fetch type definition. + +* `meteor@1.10.4`: + - Added back meteor type definitions that were removed by mistake in earlier version. + +* `accounts-password@2.3.3` + - The methods `resetPassword` and `verifyEmail` no longer logs the user if they have 2FA enabled. Now, the functions work as before, but instead of automatically logging in the user at the end, an error with the code `2fa-enabled` will be thrown. + +* `Command line`: + - Updated Svelte skeleton to now be able to support typescript out of the box and added ``#each`` in links in the skeleton. + - Updated node to 14.21.2 changes can be seen [here](https://github.com/nodejs/node/releases/tag/v14.21.2). + - Solved [issue](https://github.com/meteor/meteor/issues/12395) that could not allow vue2 apps being created in command line. + +#### Special thanks to +- [@zarvox](https://github.com/zarvox). +- [@tosinek](https://github.com/tosinek). +- [@Grubba27](https://github.com/Grubba27). +- [@denihs](https://github.com/denihs). +- [@mlanning](https://github.com/mlanning). + +For making this great framework even better! + + +## v2.9, 2022-12-12 + +### Highlights + +* TypeScript update to v4.6.4 [PR](https://github.com/meteor/meteor/pull/12204) by [@StorytellerCZ](https://github.com/StorytellerCZ). +* Create Email.sendAsync method without using Fibers [PR](https://github.com/meteor/meteor/pull/12101) + by [edimarlnx](https://github.com/edimarlnx). +* Create async method CssTools.minifyCssAsync [PR](https://github.com/meteor/meteor/pull/12105) + by [edimarlnx](https://github.com/edimarlnx). +* Change Accounts and Oauth to use Async methods [PR](https://github.com/meteor/meteor/pull/12156) + by [edimarlnx](https://github.com/edimarlnx). +* TinyTest package without Future [PR](https://github.com/meteor/meteor/pull/12222) + by [matheusccastroo](https://github.com/matheusccastroo). +* Feat: user accounts base async [PR](https://github.com/meteor/meteor/pull/12274) + by [Grubba27](https://github.com/Grubba27). +* Move somed methods from OAuth of out of accounts-base [PR](https://github.com/meteor/meteor/pull/12202) + by [StorytellerCZ](https://github.com/StorytellerCZ). +* Feat: not using insecure & autopublish [PR](https://github.com/meteor/meteor/pull/12220) + by [Grubba27](https://github.com/Grubba27). +* Don't apply babel async-await plugin when not running on Fibers [PR](https://github.com/meteor/meteor/pull/12221). + by [matheusccastroo](https://github.com/matheusccastroo). +* Implemented Fibers-less MongoDB count methods [PR](https://github.com/meteor/meteor/pull/12295) + by [radekmie](https://github.com/radekmie). +* Feat: Generate scaffold in cli [PR](https://github.com/meteor/meteor/pull/12298) + by [Grubba27](https://github.com/Grubba27). +* Update types [PR](https://github.com/meteor/meteor/pull/12306) by [piotrpospiech](https://github.com/piotrpospiech). +* Remove underscore from package-version-parser [PR](https://github.com/meteor/meteor/pull/12248) + by [harryadel](https://github.com/harryadel). +* Update MongoDB driver version [PR](https://github.com/meteor/meteor/pull/12333) by [Grubba27](https://github.com/Grubba27). +* New Vue3 Skeleton [PR](https://github.com/meteor/meteor/pull/12302) + by [henriquealbert](https://github.com/henriquealbert). + +#### Breaking Changes +* `Accounts.createUserVerifyingEmail` is now async + +#### Internal API changes +* Internal methods from `OAuth` that are now async: + - _attemptLogin + - _loginMethod + - _runLoginHandlers + - OAuth.registerService now accepts async functions + +OAuth related code has been moved from `accounts-base` to `accounts-oauth`, removing the dependency on `service-configuration` +more can be seen in this [discussion](https://github.com/meteor/meteor/discussions/12171) and in the [PR](https://github.com/meteor/meteor/pull/12202). +This means that if you don’t use third-party login on your project, you don’t need to add the package service-configuration anymore. + +#### Migration Steps + +You can follow in [here](https://guide.meteor.com/2.9-migration.html). + +#### Meteor Version Release + +* `eslint-plugin-meteor@7.4.0`: + - updated Typescript deps and meteor babel. +* `eslint-plugin-meteor@7.4.0`: + - updated Typescript deps and meteor babel. +* `accounts-base@2.2.6` + - Moved some functions to accounts-oauth. +* `accounts-oauth@1.4.2` + - Received functions from accounts-base. +* `accounts-password@2.3.2` + - Asyncfied functions such as `changePassword`, `forgotPassword`, `resetPassword`, `verifyEmail`, `setPasswordAsync`. +* `babel-compiler@7.10.1` + - Updated babel to 7.17.1. +* `email@2.2.3` + - Create Email.sendAsync method without using Fibers. +* `facebook-oauth@1.11.2` + - Updated facebook-oauth to use async functions. +* `github-oauth@1.4.1` + - Updated github-oauth to use async functions. +* `google-oauth@1.4.3` + - Updated google-oauth to use async functions. +* `meetup-oauth@1.1.2` + - Updated meetup-oauth to use async functions. +* `meteor-developer-oauth@1.3.2` + - Updated meteor-developer-oauth to use async functions. +* `meteor@1.10.3` + - Added Async Local Storage helpers. +* `minifier-css@1.6.2` + - Asyncfied `minifyCss` function. +* `minimongo@1.9.1` + - Implemented Fibers-less MongoDB count methods. +* `mongo@1.16.2` + - Implemented Fibers-less MongoDB count methods. +* `npm-mongo@4.12.1` + - Updated npm-mongo to 4.12. +* `oauth@2.1.3` + - Asyncfied methods. +* `oauth1@1.5.1` + - Asyncfied methods. +* `oauth2@1.3.2` + - Asyncfied methods. +* `package-version-parser@3.2.1` + - Removed underscore. +* `promise@0.12.2` + - Added DISABLE_FIBERS flag. +* `standard-minifier-css@1.8.3` + - Asyncfied minify method. +* `test-helpers@1.3.1` + - added runAndThrowIfNeeded function. +* `test-in-browser@1.3.2` + - Adjusted e[type] to e.type +* `tinytest@1.2.2` + - TinyTest package without Future. +* `twitter-oauth@1.3.2` + - Asyncfied methods. +* `typescript@4.6.4` + - updated typescript to 4.6.4. +* `weibo-oauth@1.3.2` + - Asyncfied methods. + +#### Special thanks to +- [@henriquealbert](https://github.com/henriquealbert); +- [@edimarlnx](https://github.com/edimarlnx); +- [@matheusccastroo](https://github.com/matheusccastroo); +- [@Grubba27](https://github.com/Grubba27); +- [@StorytellerCZ](https://github.com/StorytellerCZ); +- [@radekmie](https://github.com/radekmie); +- [@piotrpospiech](https://github.com/piotrpospiech); +- [@harryadel](https://github.com/harryadel); + +For making this great framework even better! + + +## v2.8.2, 2022-11-29 + +#### Highlights +* `mongo@1.16.2`: + - Make count NOT create a cursor. [PR](https://github.com/meteor/meteor/pull/12326). +* `meteorjs/babel@7.16.1-beta.0` + - Adjusted config to Auto import React on jsx,tsx files [PR](https://github.com/meteor/meteor/pull/12327). + - needs to use directly from npm the meteorjs/babel@7.16.1-beta.0. + +#### Breaking Changes +N/A + +#### Migration Steps + +#### Meteor Version Release +* `mongo@1.16.2`: + - Make count NOT create a cursor. [PR](https://github.com/meteor/meteor/pull/12326). + +#### Special thanks to +- [@henriquealbert](https://github.com/henriquealbert); +- [@znewsham](https://github.com/znewsham); + +For making this great framework even better! + + + +## v2.8.1, 2022-11-14 + +#### Highlights + +- modernize tools/run-updater.js by [afrokick](https://github.com/afrokick) +- feat(error message): Especifing error message when cross-boundary by [Grubba27](https://github.com/Grubba27) +- Type definitions for core packages by [piotrpospiech](https://github.com/piotrpospiech) +- Add https proxy support to meteor-installer by [heschong](https://github.com/heschong) +- Fix case insensitive lookup resource overuse by [ToyboxZach](https://github.com/ToyboxZach) +- Update default Facebook API to v15 and fix local changelog by [StorytellerCZ](https://github.com/StorytellerCZ) +- Bump to Node v14.21.1 by [StorytellerCZ](https://github.com/StorytellerCZ) +- Use true mongo binary types by [znewsham](https://github.com/znewsham) +- Add docs for Accounts.registerLoginHandler by [shivam1646](https://github.com/shivam1646) +- Updated MongoDB driver to 4.11 by [radekmie](https://github.com/radekmie) +- Show port in restart message by [harryadel](https://github.com/harryadel) +- In the client, don't wait if the stub doesn't return a promise by [denihs](https://github.com/denihs) +- The rest of type definitions for core packages by [piotrpospiech](https://github.com/piotrpospiech) +- Removing underscore in packages by [harryadel](https://github.com/harryadel): + - [twitter-oauth] Remove underscore + - [test-in-browser] Remove underscore + - [webapp-hashing] Remove underscore + - [browser-policy] Remove underscore + - [ecmascript] Remove underscore + - [browser-policy-framing] Remove underscore + - [diff-sequence] Remove underscore + - [facts-ui] Remove underscore + - [geojson-utils] Remove underscore + +#### Breaking Changes + +N/A + +#### Migration Steps + +_In case you want types in your app using the core packages types/zodern:types (now you do have the option)_ + +1. Remove `@types/meteor` package +2. Install [`zodern:types`](https://github.com/zodern/meteor-types) package +3. Follow [installation guide for the Meteor Apps](https://github.com/zodern/meteor-types#meteor-apps) to update + +#### Meteor Version Release + +* `accounts-base@2.2.5` + - added types for package. +* `browser-policy@1.1.1` + - adjusted package tests. +* `browser-policy-common@1.0.12` + - added types for package. +* `browser-policy-framing@1.1.1` + - removed underscore. +* `check@1.3.2` + - added types for package. +* `ddp@1.4.0` + - added types for package. +* `ddp-client@2.6.1` + - In the client, don't wait if the stub doesn't return a promise. +* `ddp-rate-limiter@1.1.1` + - added types for package. +* `diff-sequence@1.1.2` + - removed underscore. +* `ecmascript@0.16.3` + - removed underscore. +* `ejson@1.1.3` + - added types for package. +* `ejson@2.2.2` + - added types for package. +* `facebook-oauth@1.12.0` + - Updated default version of Facebook GraphAPI to v15 +* `facts-ui@1.0.1` + - removed underscore. +* `fetch@0.1.2` + - added types for package. +* `geojson-utils@1.0.11` + - removed underscore. +* `hot-module-replacement@0.5.2` + - added types for package. +* `meteor@1.10.2` + - added types for package. +* `modern-browsers@0.1.9` + - added types for package. +* `modules-runtime@0.13.2` + - added accurate error messages. +* `modules-runtime-hot@0.14.1` + - added accurate error messages. +* `mongo@1.16.1` + - added types for package. + - added true mongo binary +* `npm-mongo@4.11.0` + - updated npm mongo version to match npm one. +* `promise@0.13.0` + - added types for package. +* `random@1.2.1` + - added types for package. +* `reactive-dict@1.3.1` + - added types for package. +* `reactive-dict@1.0.12` + - added types for package. +* `server-render@0.4.1` + - added types for package. +* `service-configuration@1.3.1` + - added types for package. +* `session@1.2.1` + - added types for package. +* `test-in-browser@1.3.1` + - removed underscore. +* `tracker@1.2.1` +- added types for package. +* `twitter-oauth@1.3.1` + - removed underscore. +* `underscore@1.0.11` + - added types for package. +* `webapp@1.13.2` + - added types for package. +* `webapp-hashing@1.1.1` + - added types for package. +## v2.8, 2022-10-19 + +#### Highlights +* New MongoDB Package Async API. [PR](https://github.com/meteor/meteor/pull/12028) +* Node update to [v14.20.1](https://nodejs.org/en/blog/release/v14.20.1/) as part of the [September 22nd security release](https://nodejs.org/en/blog/vulnerability/september-2022-security-releases/) +* Update MongoDB driver to 4.9. [PR](https://github.com/meteor/meteor/pull/12097) +* Meteor.callAsync method. [PR](https://github.com/meteor/meteor/pull/12196) +* Added new Chakra-ui Skeleton. [PR](https://github.com/meteor/meteor/pull/12181) +* Added new Solid Skeleton. [PR](https://github.com/meteor/meteor/pull/12186) + +#### Breaking Changes +N/A + +#### Migration Steps +Read our [Migration Guide](https://guide.meteor.com/2.8-migration.html) for this version. + +#### Meteor Version Release +* `modules@0.19.0`: + - Updating reify version. [PR](https://github.com/meteor/meteor/pull/12055). +* `minimongo@1.9.0`: + - New methods to work with the Async API. [PR](https://github.com/meteor/meteor/pull/12028). + - Solved invalid dates in Minimongo Matcher [PR](https://github.com/meteor/meteor/pull/12165). +* `mongo@1.16.0`: + - Adding async counterparts that allows gradual migration from Fibers. [PR](https://github.com/meteor/meteor/pull/12028). + - Improved oplogV2V1Converter implementation. [PR](https://github.com/meteor/meteor/pull/12116). + - Exit on MongoDB connection error. [PR](https://github.com/meteor/meteor/pull/12115). + - Fixed MongoConnection._onFailover hook. [PR](https://github.com/meteor/meteor/pull/12125). + - Fixed handling objects in oplogV2V1Converter. [PR](https://github.com/meteor/meteor/pull/12107). +* `meteor@1.10.1`: + - Create method to check if Fibers is enabled by flag DISABLE_FIBERS. [PR](https://github.com/meteor/meteor/pull/12100). + - Fix bugs for linter build plugins. [PR](https://github.com/meteor/meteor/pull/12120). + - Document meteor show METEOR. [PR](https://github.com/meteor/meteor/pull/12124). + - Update Cordova Android to 10.1.2. [PR](https://github.com/meteor/meteor/pull/12131). + - Fixed flaky test. [PR](https://github.com/meteor/meteor/pull/12129). + - Refactoring/Remove unused imports from tools folder. [PR](https://github.com/meteor/meteor/pull/12084). + - Fix problem when publishing async methods. [PR](https://github.com/meteor/meteor/pull/12152). + - Update skeletons Apollo[PR](https://github.com/meteor/meteor/pull/12091) and other skeletons [PR](https://github.com/meteor/meteor/pull/12099) + - Added callAsync method for calling async methods [PR](https://github.com/meteor/meteor/pull/12196). +* `meteor-installer@2.7.5`: + - Validates required Node.js version. [PR](https://github.com/meteor/meteor/pull/12066). +* `npm-mongo@4.9.0`: + - Updated MongoDB driver to 4.9. [PR](https://github.com/meteor/meteor/pull/12163). +* `@meteorjs/babel@7.17.0` + - Upgrade TypeScript to `4.6.4` +* `babel-compiler@7.10.0` + - Upgrade TypeScript to `4.6.4` +* `ecmascript@0.16.3` + - Upgrade TypeScript to `4.6.4` +* `typescript@4.6.4` + - Upgrade TypeScript to `4.6.4` +* `eslint-plugin-meteor@7.4.0` + - Upgrade TypeScript to `4.6.4` + +#### Independent Releases +* `accounts-passwordless@2.1.3`: + - Fixing bug where tokens where never expiring. [PR](https://github.com/meteor/meteor/pull/12088). +* `accounts-base@2.2.4`: + - Adding new options to the `Accounts.config()` method: `loginTokenExpirationHours` and `tokenSequenceLength`. [PR](https://github.com/meteor/meteor/pull/12088). +* `Meteor Repo`: + - Included githubactions in the dependabot config. [PR](https://github.com/meteor/meteor/pull/12061). + - Visual rework in meteor readme. [PR](https://github.com/meteor/meteor/pull/12133). + - Remove useraccounts from Guide. [PR](https://github.com/meteor/meteor/pull/12090). +* `minifier-css@1.6.1`: + - Update postcss package to avoid issues with `Browserslist` and `caniuse-lite`. [PR](https://github.com/meteor/meteor/pull/12136). +* `minifier-js@2.7.5`: + - Update terser package due to security fixes and to take advantage of terser improvements. [PR](https://github.com/meteor/meteor/pull/12137). +* `standard-minifier-css@1.8.2`: + - Update dependencies to avoid issues with `Browserslist` and `caniuse-lite`. [PR](https://github.com/meteor/meteor/pull/12141). +* `standard-minifier-js@2.8.1`: + - Update dependencies to avoid issues with `Browserslist` and `caniuse-lite`. [PR](https://github.com/meteor/meteor/pull/12142). +* `ddp-server@2.5.1`: + - Rename setPublicationStrategy and getPublicationStrategy arguments. [PR](https://github.com/meteor/meteor/pull/12166). + +#### Special thanks to +- [@fredmaiaarantes](https://github.com/fredmaiaarantes) +- [@radekmie](https://github.com/radekmie) +- [@naveensrinivasan](https://github.com/naveensrinivasan) +- [@zodern](https://github.com/zodern) +- [@brucejo75](https://github.com/brucejo75) +- [@matheusccastroo](https://github.com/matheusccastroo) +- [@victoriaquasar](https://github.com/victoriaquasar) +- [@StorytellerCZ](https://github.com/StorytellerCZ) +- [@Grubba27](https://github.com/Grubba27) +- [@denihs](https://github.com/denihs) +- [@edimarlnx](https://github.com/edimarlnx) + +For making this great framework even better! + +## v2.7.3, 2022-05-3 + +#### Highlights +* `accounts-passwordless@2.1.2`: + - Throwing an error when the login tokens are not generated well calling requestLoginTokenForUser. [PR](https://github.com/meteor/meteor/pull/12047/files). +* Node updated to v14.19.3 +* npm update to v6.14.17 +* Fix recompiling npm packages for web arch. [PR](https://github.com/meteor/meteor/pull/12023). + +#### Breaking Changes +N/A + +#### Migration Steps + +#### Meteor Version Release +* `accounts-passwordless@2.1.2`: + - Throwing an error when the login tokens are not generated well calling requestLoginTokenForUser. [PR](https://github.com/meteor/meteor/pull/12047/files). +* `babel-runtime@1.5.1`: + - Make client 25kb smaller. [PR](https://github.com/meteor/meteor/pull/12051). +* Node updated to v14.19.3 +* npm update to v6.14.17 +* Fix win style paths being added to watch sets. +* Fix recompiling npm packages for web arch. [PR](https://github.com/meteor/meteor/pull/12023). + +## v2.7.2, 2022-05-10 + +#### Highlights + +#### Breaking Changes +N/A +#### Migration Steps + +#### Meteor Version Release + +* `mongo@1.15.0` + - New option `Meteor.settings.packages.mongo.reCreateIndexOnOptionMismatch` for case when an index with the same name, but different options exists it will be re-created. + - If there is an error on index creation Meteor will output a better message naming the collection and index where the error occured. [PR](https://github.com/meteor/meteor/pull/11995). +* `modern-browsers@0.1.8` + - New api `getMinimumBrowserVersions` to access the `minimumBrowserVersions`. [PR](https://github.com/meteor/meteor/pull/11998). +* `socket-stream-client@0.5.0` + - Ability to disable sockjs on client side. [PR](https://github.com/meteor/meteor/pull/12007/). +* `meteor-node-stubs@1.2.3`: + - Fix using meteor-node-stubs in IE. [PR](https://github.com/meteor/meteor/pull/12014). +* New ARCH environment variable that permit users to set uname info. [PR](https://github.com/meteor/meteor/pull/12020). +* Skeleton dependencies updated. +* New Tailwind skeleton. [PR](https://github.com/meteor/meteor/pull/12000). + +#### Independent Releases + +## v2.7.1, 2022-03-31 + +#### Highlights + +#### Breaking Changes + +* `accounts-2fa@2.0.0` + - The method `has2faEnabled` no longer takes a selector as an argument, just the callback. + - `generate2faActivationQrCode` now throws an error if it's being called when the user already has 2FA enabled. + +#### Migration Steps + +#### Meteor Version Release + +* `accounts-2fa@2.0.0` + - Reduce one DB call on 2FA login. [PR](https://github.com/meteor/meteor/pull/11985) + - Throw error when user is not found on `Accounts._is2faEnabledForUser` + - Remove vulnerability from the method `has2faEnabled` + - Now the package auto-publish the field `services.twoFactorAuthentication.type` for logged in users. +* `accounts-password@2.3.1` + - Use method `Accounts._check2faEnabled` when validating 2FA +* `accounts-passwordless@2.1.1` + - Use method `Accounts._check2faEnabled` when validating 2FA +* `oauth@2.1.2` + - Check effectively if popup was blocked by browser. [PR](https://github.com/meteor/meteor/pull/11984) +* `standard-minifier-css@1.8.1` + - PostCSS bug fixes. [PR](https://github.com/meteor/meteor/pull/11987/files) + +#### Independent Releases + +## v2.7, 2022-03-24 + +#### Highlights +* Bump node version to 14.19.1 +* TailwindCSS 3.x support +* Typescript `4.5.4` upgrade +* New core package: `accounts-2fa` +* Support for 2FA in `accounts-password` and `accounts-passwordless` +* PostCSS's plugins are run by `standard-minifier-css` if the app has PostCSS configured +* App skeletons and test packages were updated to `meteor-node-stubs@1.2.1` + +#### Breaking Changes + +N/A + +#### Migration Steps + +Read our [Migration Guide](https://guide.meteor.com/2.7-migration.html) for this version. + +#### Meteor Version Release + +* `standard-minifier-css@1.8.0` + - Runs PostCSS plugins if the app has a PostCSS config and the `postcss-load-config` npm package installed. Supports TailwindCSS 3.x [PR 1](https://github.com/Meteor-Community-Packages/meteor-postcss/pull/56) [PR 2](https://github.com/meteor/meteor/pull/11903) + +* `react-fast-refresh@0.2.3` + - Fix tracking states with circular dependencies. [PR](https://github.com/meteor/meteor/pull/11923) + +* `accounts-2fa@1.0.0` + - New package to provide 2FA support + +* `accounts-password@2.3.0` + - 2FA support + +* `accounts-passwordless@2.1.0` + - 2FA support + +* `@meteorjs/babel@7.16.0` + - Upgrade TypeScript to `4.5.4` + +* `babel-compiler@7.9.0` + - Upgrade TypeScript to `4.5.4` + +* `ecmascript@0.16.2` + - Upgrade TypeScript to `4.5.4` + +* `typescript@4.5.4` + - Upgrade TypeScript to `4.5.4` [PR](https://github.com/meteor/meteor/pull/11846) + +* `accounts-ui-unstyled@1.6.0` + - `Accounts.ui.config` can now be set via `Meteor.settings.public.packages.accounts-ui-unstyled`. + +* `meteor-tool@2.7` + - CSS minifiers must now handle any caching themselves [PR](https://github.com/meteor/meteor/pull/11882) + - CSS minifiers are always given lazy css resources instead of only during production builds [PR](https://github.com/meteor/meteor/pull/11897) + - Files passed to CSS minifiers now have `file.readAndWatchFileWithHash`, same as for compilers [PR](https://github.com/meteor/meteor/pull/11882) + - If a minifier has a `beforeMinify` function, it will be called once during each build before the minifier is run the first time [PR](https://github.com/meteor/meteor/pull/11882) + - Add `Plugin.fs.readdirWithTypesSync` [PR](https://github.com/meteor/meteor/pull/11882) + +* `ejson@1.1.2` + - Fixing error were EJSON.equals fail to compare object and array if first param is object and second is array. [PR](https://github.com/meteor/meteor/pull/11866), [Issue](https://github.com/meteor/meteor/issues/11864). + +* `oauth@1.4.1` + - If OAuth._retrieveCredentialSecret() fails trying to get credentials inside Accounts.oauth.tryLoginAfterPopupClosed(), we call it again once more. + +* `accounts-base@2.2.2` + - Fix an issue where an extra field defined in `defaultFieldSelector` would not get published to the client + - Proving the login results to the `_onLoginHook` when finishing login inside `callLoginMethod`. [PR](https://github.com/meteor/meteor/pull/11913). + +* `github-oauth@1.4.0` + - More data will be retrieved and saved under `services.github` on the user account. + - Add option to disallow sign-up on GitHub using `allow_signup` [parameter](https://docs.github.com/en/developers/apps/building-oauth-apps/authorizing-oauth-apps#parameters), this will be activated based on your Accounts settings, specifically if the option `forbidClientAccountCreation` is set to `true`. + +* `email@2.2.1` + - Throwing error when trying to send email in a production environment but without a mail URL set. [PR](https://github.com/meteor/meteor/pull/11891), [Issue](https://github.com/meteor/meteor/issues/11709). + +* `facebook-oauth@1.11.0` + - Updated Facebook API to version 12.0 + +* `google-oauth@1.4.2` + - Migrate from `http` to `fetch` + +* `modules-runtime@0.13.0` + - Fix some npm modules being imported as an empty object. [PR](https://github.com/meteor/meteor/pull/11954), [Issue 1](https://github.com/meteor/meteor/issues/11900), [Issue 2](https://github.com/meteor/meteor/issues/11853). + +* `meteor-node-stubs@1.2.1` + - Adds support for [node:](https://nodejs.org/api/esm.html#node-imports) imports. + +* `minifier-jss@2.8.0` + - Updating terser. It will fix this [issue](https://github.com/meteor/meteor/issues/11721) and [this](https://github.com/meteor/meteor/issues/11930) one. [PR](https://github.com/meteor/meteor/pull/11983). + +#### Independent Releases + +## v2.6.1, 2022-02-18 + +#### Highlights + +* Fix regression on build speed by updating babel dependencies to 7.17.x +* We have removed IE 9 from our browser test list +* We are changing the device used for testing, Samsung Galaxy S7, as browserstack is having issues provisioning it. We will be using now Samsung Galaxy Note 10. +* Fix issue when generating tarballs from Windows systems related to execute permissions +* Fix issues with HMR and meteor build --debug [PR](https://github.com/meteor/meteor/pull/11922) + + +#### Breaking Changes + +- IE 9 might not be compatible from now on, although, we will still consider PR's fixing it. + +#### Migration Steps + +#### Meteor Version Release + +* `meteor-tool@2.6.1` + - Use latest @meteor/babel dependency with @babel@7.17.x + +* `@meteorjs/babel@7.15.1` + - Use babel@7.17.x + +* `babel-compiler@7.8.1` + - Use latest @meteor/babel dependency with @babel@7.17.x + +* `hot-module-replacement@0.5.1` + - Fix issues with HMR and meteor build --debug [PR](https://github.com/meteor/meteor/pull/11922) + +* `webapp@1.13.1` + - Fix issues with HMR and meteor build --debug [PR](https://github.com/meteor/meteor/pull/11922) + +#### Independent Releases + +* `mongo@1.14.6` at 2022-02-18 + - Remove false-positive warning for supported operation a.0.b:{} +* `mongo@1.14.5` at 2022-02-16 + - Fix multiple array operators bug and add support for debug messages + - Fix isArrayOperator function regexp false-positive +* `mongo@1.14.4` at 2022-02-11 + - Fix sync return for insert methods inside _collection private method [PR](https://github.com/meteor/meteor/pull/11907) + - Support the new "projection" field inside the decision of using oplog for a published cursor or not [PR](https://github.com/meteor/meteor/pull/11908) +* `mongo@1.14.3` at 2022-02-08 + - Remove throw on _id exclusion inside mongo collection finds. [PR](https://github.com/meteor/meteor/pull/11894). +* `mongo@1.14.2` at 2022-02-06 + - Fix flatten object issue when internal object value is an array on oplog converter. [PR](https://github.com/meteor/meteor/pull/11888). +* `mongo@1.14.1` at 2022-02-04 + - Fix flatten object issue when the object is empty on oplog converter. [PR](https://github.com/meteor/meteor/pull/11885), [Issue](https://github.com/meteor/meteor/issues/11884). + +## v2.6, 2022-02-01 + +#### Highlights + +* MongoDB Node.js driver Upgrade from 3.6.10 to 4.3.1 +* MongoDB Server 5.x Support +* Embedded Mongo now uses MongoDB 5.0.5 +* You are now able to use dark theme specific splash screens for both iOS and Android by passing an object `{src: 'light-image-src-here.png', srcDarkMode: 'dark-mode-src-here.png'}` to the corresponding key in `App.launchScreens` + +#### Breaking Changes + +* `mongo@1.14.0` + - This is not a breaking change in Meteor itself but as this is a major upgrade in the MongoDB Node.js driver you should read the [Migration Guide](https://guide.meteor.com/2.6-migration.html), especially if you are using rawCollection. + +* `meteor-tool@2.6` + - Legacy launch screens keys for iOS on `App.launchScreens` are now deprecated in favor of new storyboard compliant keys [PR #11797](https://github.com/meteor/meteor/pull/11797). This will drop the following keys we have: `['iphone5','iphone6','iphone6p_portrait','iphone6p_landscape','iphoneX_portrait','iphoneX_landscape','ipad_portrait_2x','ipad_landscape_2x','iphone','iphone_2x','ipad_portrait','ipad_landscape']`. Read the [Migration Guide](https://guide.meteor.com/2.6-migration.html) for more details. + +#### Migration Steps + +Read our [Migration Guide](https://guide.meteor.com/2.6-migration.html) for this version. + +#### Meteor Version Release + +* `mongo@1.14.0` + - `applySkipLimit` option for count() on find cursors is no longer supported. Read more about it [here](https://guide.meteor.com/2.6-migration.html), in the `Cursor.count()` section. + - internal result of operations inside Node.js MongoDB driver have changed. If you are depending on rawCollection results (not only the effect inside the DB), please review the expected format as we have done [here](https://github.com/meteor/meteor/blob/155ae639ee590bae66237fc1c29295072ec92aef/packages/mongo/mongo_driver.js#L658) + - useUnifiedTopology is not an option anymore, it defaults to true. + - native parser is not an option anymore, it defaults to false in the mongo connection. + - poolSize not an option anymore, we are using max/minPoolSize for the same behavior on mongo connection. + - fields option is deprecated, we are maintaining a translation layer to "projection" field (now prefered) until the next minor version, where we will start showing alerts. + - _ensureIndex is now showing a deprecation message + - we are maintaining a translation layer for the new oplog format, so if you read or rely on any behavior of it please read our oplog_v2_converter.js code + - update/insert/remove behavior is maintained in the Meteor way, documented in our docs, but we are now using replaceOne/updateOne/updateMany internally. This is subject to changes in the API rewrite of MongoDB without Fibers AND if you are using rawCollection directly you have to review your methods otherwise you will see deprecation messages if you are still using the old mongodb style directly. + - waitForStepDownOnNonCommandShutdown=false is not needed anymore when spawning the mongodb process + - _synchronousCursor._dbCursor.operation is not an option anymore in the raw cursor from nodejs mongodb driver. If you want to access the options, use _synchronousCursor._dbCursor.(GETTERS) - for example, _synchronousCursor._dbCursor.readPreference. + - the default write preference for replica sets on mongo v5 is w:majority + - If you are using MongoDB inside a Docker container in your dev environment, you might need to append directConnection=true in your mongouri to avoid the new mongo driver Service Discovery feature + +* `allow-deny@1.1.1` + - Handle `MongoBulkWriteError` as `BulkWriteError` was already handled. + +* `meteor-tool@2.6.0` + - Cordova changes to support new Launch Screens. + - Mongo changes to support new embedded version, 5.0.5. + - Fix resolving npm deps of local packages when on different drive. [PR](https://github.com/meteor/meteor/pull/11868) + +* `minimongo@1.8.0` + - Changes to keep everything compatible with MongoDB Server 5.x and MongoDB Node.js driver 4.x. + +* `npm-mongo@4.3.1` + - Upgraded MongoDB Node.js driver to 4.3.1 + +* `tinytest@1.2.1` + - Custom message support for `throws` + +#### Independent Releases + +## v2.5.8, 2022-05-31 + +#### Highlights + +* Fixed 2.5.7 MongoDB error +* Patch release to update Node to version 14.19.3 and npm version to 6.14.17. + +#### Breaking Changes + +- N/A + +#### Migration Steps + +- N/A + +## v2.5.7, 2022-05-31 + +#### Highlights + +* Patch release to update Node and npm versions. + +#### Breaking Changes + +- N/A + +#### Migration Steps + +- N/A + +#### Meteor Version Release + +* `meteor-tool@2.5.7` + - Patch release to update Node and npm versions. + +## v2.5.6, 2022-01-25 + +#### Highlights + +* Go back to using node-fibers mainline dependency instead of a fork. Also ships fibers binaries. + +#### Breaking Changes + +- N/A + +#### Migration Steps + +- N/A + +#### Meteor Version Release + +* `meteor-tool@2.5.6` + - Go back to using node-fibers mainline dependency instead of a fork. Also ships fibers binaries. + +## v2.5.5, 2022-01-18 + +#### Highlights + +* Bump node version to 14.18.3 - security patch +* Change the tar implementation for streams, used on deploying and unpacking packages. Reduced "upload bundle" time when deploying is expected. + +#### Breaking Changes + +- N/A + +#### Migration Steps + +- N/A + +#### Meteor Version Release + +* `meteor-tool@2.5.5` + - Bump node version to 14.18.3 - security patch + - Change the tar implementation for streams, used on deploying and unpacking packages. Reduced "upload bundle" time when deploying is expected. + +* `accounts-base@2.2.1` + - Fixes onLogin firing twice. [PR](https://github.com/meteor/meteor/pull/11785) and [Issue](https://github.com/meteor/meteor/issues/10853) + +#### Independent Releases + +* `oauth@2.1.1` + - Fixes end of redirect response for oauth inside iframes. [PR](https://github.com/meteor/meteor/pull/11825) and [Issue](https://github.com/meteor/meteor/issues/11817) + +## v2.5.4, 2022-01-14 + +This version should be ignored. Proceed to 2.5.5 above. + +## v2.5.3, 2022-01-04 + +#### Highlights + +* Fixes invalid package.json error with `resolve` + +#### Breaking Changes + +- N/A + +#### Migration Steps + +- N/A + +#### Meteor Version Release + +* `meteor-tool@2.5.3` + - Fixes invalid package.json files breaking Meteor run. [PR](https://github.com/meteor/meteor/pull/11832) and [Issue](https://github.com/meteor/meteor/issues/11830) + +#### Independent Releases + +## v2.5.2, 2021-12-21 + +#### Highlights + +* Reify performance improvements +* Node.js update to 14.18.2 +* HMR Fixes + +#### Breaking Changes + +* If a module calls `module.hot.decline()`, calling `module.hot.accept()` later now does nothing instead of overriding `module.hot.decline()`. + +#### Migration Steps + +- N/A + +#### Meteor Version Release + +* `meteor-tool@2.5.2` + - Changes @meteorjs/babel and @meteorjs/reify to improve Reify performance. + - Upgrades Node.js to 14.18.2 + - Fixes isopacket [load failure](https://github.com/meteor/meteor/issues/10930) on Windows. [PR](https://github.com/meteor/meteor/pull/11740) + +* `hot-module-replacement@0.5.0` + - Prevents hot.accept from overriding hot.decline. [PR](https://github.com/meteor/meteor/pull/11801) + - Fixes falling back to hot code push on web archs. [PR](https://github.com/meteor/meteor/pull/11795) + +* `@meteorjs/babel@7.15.0` + - Updates @meteorjs/reify to improve Reify performance. + +* `@meteorjs/reify@0.23.0` + - Uses `@meteorjs/reify` instead of `reify` + - Check scope when wrapping to fix slowness in MUI v5. [PR](https://github.com/meteor/reify/pull/1) and [Issue](https://github.com/benjamn/reify/issues/277). + +* `standard-minifier-js@2.8.0` + - Bump to apply improvements from Reify + +* `typescript@4.4.1` + - Bump to apply improvements from Reify + +* `babel-compiler@7.8.0` + - Bump to apply improvements from Reify + +* `ecmascript@0.16.1` + - Bump to apply improvements from Reify + +* `modules@0.18.0` + - Bump to apply improvements from Reify + +#### Independent Releases + +* `react-fast-refresh@0.2.2` + - [Fixes](https://github.com/meteor/meteor/issues/11744) bugs. [PR](https://github.com/meteor/meteor/pull/11794/) + +* `accounts-ui@1.4.2` + - Update usage of `accounts-passwordless` to be compatible with 2.0.0. + +* `minifier-js@2.7.3` + - Revert `evaluate` option that was set to false in 2.7.2. + +* `standard-minifier-js@2.7.3` + - Using `minifier-js@2.7.3` + + +* `npm-mongo@4.2.1` + - Update MongoDB driver version to 4.2.1 + +## v2.5.1, 2021-11-17 + +#### Highlights +- Mac M1 Support - darwin arm64. [Read more](https://blog.meteor.com/). + +#### Breaking Changes +- `Meteor.loginWithToken` from the new package `accounts-passwordless` was conflicting with another method with the same name on `accounts-base` so we had to rename the method of `accounts-passwordless` package to `Meteor.passwordlessLoginWithToken`. + +#### Meteor Version Release + +* `meteor-tool@2.5.1` + - Meteor supports now Mac M1 chips (darwin arm64) + +* `accounts-passwordless@2.0.0` + - `Meteor.loginWithToken` from the new package `accounts-passwordless` was conflicting with another method with the same name on `accounts-base` so we had to rename the method of `accounts-passwordless` package to `Meteor.passwordlessLoginWithToken`. + +#### Independent Releases +* `minifier-js@2.7.2` + - Stopped using `evaluate` option in the compression to fix a [bug](https://github.com/meteor/meteor/issues/11756). + - Updated `terser` to [v5.9.0](https://github.com/terser/terser/blob/master/CHANGELOG.md#v590) to fix various bugs + +* `standard-minifier-js@2.7.2` + - Using `minifier-js@2.7.2` + +* `github-oauth@1.3.2` + - Migrate from `http` to `fetch` + - Fix GitHub login params to adhere to changes in GitHub API + +## v2.5, 2021-10-21 + +#### Highlights + +* New package: `accounts-passwordless` +* Cordova Android v10 +* HMR now works on all architectures and legacy browsers +* `Accounts.config()` and third-party login services can now be configured from Meteor settings + +#### Breaking Changes + +* Cordova Android v10 now enables AndroidX. If you use any cordova-plugin that depends or uses any old support library, you need to include the cordova-plugin-androidx-adapter cordova-plugin, otherwise you will get build errors. + +#### Meteor Version Release + +* CircleCI testing image was updated to include Android 30 and Node 14 + +* `meteor-tool@2.5` + - Cordova Android upgraded to v10 + - HMR improvements related to `hot-module-replacement@0.4.0` + - Fix finding local packages on Windows located on drives other than C + - Fix infinite loop in import scanner when file is on a different drive than source root + - Fix Meteor sometimes not detecting changes to a file after the first time it is modified + - Fixes Meteor sometimes hanging on Windows. Reverts the temporary fix in Meteor 2.4 of disabling native file watchers for some commands + - Uses recursive file watchers on Windows and macOS. In most situations removes the up to 5 seconds delay before detecting the first change to a file, and is more efficient. + - Node updated to [v14.18.1](https://nodejs.org/en/blog/release/v14.18.1/), following [October 12th 2021 security release](https://nodejs.org/en/blog/vulnerability/oct-2021-security-releases/) + - Skeletons had their dependencies updated + +* `accounts-passwordless@1.0.0` + - New accounts package to provide passwordless authentication. + +* `accounts-password@2.2.0` + - Changes to reuse code between passwordless and password packages. + +* `accounts-base@2.2.0` + - You can now apply all the settings for `Accounts.config` in `Meteor.settings.packages.accounts-base`. They will be applied automatically at the start of your app. Given the limitations of `json` format you can only apply configuration that can be applied via types supported by `json` (ie. booleans, strings, numbers, arrays). If you need a function in any of the config options the current approach will still work. The options should have the same name as in `Accounts.config`, [check them out in docs.](https://docs.meteor.com/api/accounts-multi.html#AccountsCommon-config). + - Changes to reuse code between passwordless and password packages. + +* `accounts-ui-unstyled@1.6.0` + - Add support for `accounts-passwordless`. + +* `service-configuration@1.3.0` + - You can now define services configuration via `Meteor.settings.packages.service-configuration` by adding keys as service names and their objects being the service settings. You will need to refer to the specific service for the settings that are expected, most commonly those will be `secret` and `appId`. + +* `autoupdate@1.8.0` + - Enable HMR for all web arch's + +* `ecmascript@0.16.0` + - Enable HMR for all web arch's + +* `hot-module-replacement@0.4.0` + - Provides polyfills needed by Meteor.absoluteUrl in legacy browsers + - Improvements for HMR to work in all architectures and legacy browsers + +* `module-runtime@0.14.0` + - Improvements for legacy browsers + +* `react-fast-refrest@0.2.0` + - Enable HMR for all web arch's + +* `typescript@4.4.0` + - Enable HMR for all web arch's + +* `webapp@1.13.0` + - Update `cordova-plugin-meteor-webapp` to v2 + - Removed dependency on `cordova-plugin-whitelist` as it is now included in core + - Cordova Meteor plugin is now using AndroidX + - Added new settings option `Meteor.settings.packages.webapp.alwaysReturnContent` that will always return content on requests like `POST`, essentially enabling behavior prior to Meteor 2.3.1. + +#### Independent Releases + +* `modern-browsers@0.1.6` + - Added `mobileSafariUI` as an alias for Mobile Safari + +* `minifier-js@2.7.1` + - Updated `terser` to [v5.8.0](https://github.com/terser/terser/blob/master/CHANGELOG.md#v580) to fix various bugs + +* `standard-minifier-js@2.7.1` + - Updated `@babel/runtime` to [v7.15.4](https://github.com/babel/babel/releases/tag/v7.15.4) + +* `accounts-ui@1.4.1` + - Update compatibility range with `less` from 3.0.2 to 4.0.0 + +* `accounts-ui-unstyled@1.5.1` + - Update compatibility range with `less` from 3.0.2 to 4.0.0 + +* `google-config-ui@1.0.3` + - Deliver siteUrl in the same way as other config-ui packages + +* `ecmascript-runtime-client@0.12.1` + - Revert `core-js` to v3.15.2 due to issues in legacy build with arrays, [see issue for more details](https://github.com/meteor/meteor/issues/11662) + +* `modern-browsers@0.1.7` + - Added `firefoxMobile` as an alias for `firefox` + +* `dynamic-import@0.7.2` + - Fixes 404 in dynamic-import/fetch when ROOT_URL is set with a custom path. [see issue](https://github.com/meteor/meteor/issues/11701) + +## v2.4.1, 2021-10-12 + +#### Meteor Version Release + +* `meteor-tool@2.4.1` + - Patch to make 2.4.1 compatible with Push to Deploy feature in Galaxy (Meteor Cloud) + +## v2.4, 2021-09-15 + +#### Highlights + +* Typescript updated to [v4.3.5](https://github.com/Microsoft/TypeScript/releases/tag/v4.3.5) +* Email package now allows setting `Email.customTransport` to override sending method. +* Use `createIndex` instead of `_ensureIndex` to align with new MongoDB naming. +* Apollo skeleton has been upgraded for [Apollo server v3](https://github.com/apollographql/apollo-server/blob/main/CHANGELOG_historical.md#v300) +* `reify` has been updated to v0.22.2 which reduces the overhead of `import` statements and some uses of `export ... from`, especially when a module is imported a large number of times or re-exports a large number of exports from other modules. PRs [1](https://github.com/benjamn/reify/pull/246), [2](https://github.com/benjamn/reify/pull/291) +* Meteor NPM installer is [now available for all platforms](https://github.com/meteor/meteor/pull/11590). +* DDP server now allows you to set publication strategies for your publications to control mergebox behavior +* On Windows Meteor should no longer be hanging on commands + +#### Migration steps + +1. Replace all usage of `collection._ensureIndex` with `collection.createIndex`. You only need to rename the method as the functionality is the same. +2. If you are using a [well known service](https://nodemailer.com/smtp/well-known/) for the email package switch to using `Meteor.settings.packages.email` settings instead of `MAIL_URL` env variable. Alternatively you can utilize the new `Email.customTransport` function to override the default package behavior and use your own. [Read the email docs](https://docs.meteor.com/api/email.html) for implementation details. + +#### Meteor Version Release + +* Skeletons dependencies updated + +* `meteor-tool@2.4` + - `meteor show` now reports if a package is deprecated + - `reify` update to v0.22.2 which bring optimizations for imports. PRs [1](https://github.com/benjamn/reify/pull/246), [2](https://github.com/benjamn/reify/pull/291) + - Apollo skeleton now uses [Apollo server v3](https://github.com/apollographql/apollo-server/blob/main/CHANGELOG.md#v300) - [migration guide](https://www.apollographql.com/docs/apollo-server/migration/) + - Upgraded `chalk` to v4.1.1 + - Typescript updated to [v4.3.5](https://github.com/Microsoft/TypeScript/releases/tag/v4.3.5) + - `METEOR_SETTINGS` is now accepted an all modes + - Native file watchers are now disabled on Windows for many file-intensive actions (like, `create`, `update`, `build` etc.), this solves an issue with hanging Meteor commands on Windows + +* `webapp@1.12` + - npm dependencies have been updated + - Added hook to change runtime config delivered to the client app, [read more](https://github.com/meteor/meteor/pull/11506) + - Added hook to get notified when the app is updated, [read more](https://github.com/meteor/meteor/pull/11607) + - `@vlasky/whomst@0.1.7` + - Added `addUpdateNotifyHook` that gets called when runtime configuration is updated + +* `logging@1.3.0` + - Switch from `cli-color` to `chalk` to have the same dependency as meteor-tool + - Fix detecting eval + - Copy over code from `Meteor._debug` to `Log.debug` which will be deprecated in the future + +* `email@2.2` + - Modernized package code + - Add alternative API function that you can hook into to utilize your own sending method: `Email.customTransport`. [Read the docs](https://docs.meteor.com/api/email.html#Email-customTransport) + - Use `Meteor.settings` for easy setup to sending email via [known providers](https://nodemailer.com/smtp/well-known/). [Read the docs](https://docs.meteor.com/api/email.html) + +* `ddp-server@2.5.0` + - One of three different publication strategies can be selected for any Meteor publication - SERVER_MERGE, NO_MERGE and NO_MERGE_NO_HISTORY. These control the behaviour of the Meteor mergebox, providing a compromise between client-server bandwidth usage and server side memory usage. [See PR](https://github.com/meteor/meteor/pull/11368) or [the documentation](https://docs.meteor.com/api/pubsub.html#Publication-strategies) for more details. + +* `mongo@1.13.0` + - Add `createIndex` as a collection function (in MongoDB since MongoDB v3). This is a new name for `_ensureIndex` which MongoDB has deprecated and removed in MongoDB 5.0. Use of `_ensureIndex` will show a deprecation warning on development. + +* `accounts-base@2.1.0` + - Migrated usage of `_ensureIndex` to `createIndex` + +* `accounts-oauth@1.4.0` + - Migrated usage of `_ensureIndex` to `createIndex` + +* `accounts-password@2.1.0` + - Migrated usage of `_ensureIndex` to `createIndex` + +* `oauth@2.1.0` + - Migrated usage of `_ensureIndex` to `createIndex` + +* `oauth1@1.5.0` + - Migrated usage of `_ensureIndex` to `createIndex` + +* `facebook-oauth@1.10.0` + - Added login handler hook, like in the Google package for easier management in React Native and similar apps. [PR](https://github.com/meteor/meteor/pull/11603) + +* `service-configuration@1.5.0` + - Migrated usage of `_ensureIndex` to `createIndex` + +* `ecmascript-runtime-client@0.12.0` + - `core-js@3.16.0` + +* `ecmascript-runtime-server@0.11.0` + - `core-js@3.16.0` + +* `ecmascript-runtime@0.8.0` + - Version bump to ensure changes from server & client runtime get propagated. + +* `tinytest@1.2.0` + - Add option to temporarily replace `Tinytest.add` or `Tinytest.addAsync` by `Tinytest.only` or `Tinytest.onlyAsync` so only the tests added using `only*` are going to be executed. + +* `test-helpers@1.3.0` + - Support for `Tinytest.only` and `Tinytest.onlyAsync` + +* `modules@0.17.0` + - Update `reify` to `0.22.2` + +* `standard-minifier-js@2.7.0` + - `@babel/runtime@7.15.3` + - Code modernization + - Improved error handling + +* `minifier-js@2.7.0` + - Added tests + - Code modernization + +* `standard-minifier-css@1.7.4` + - `@babel/runtime@7.15.3` + +* `minifier-css@1.6.0` + - Updated dependencies + - `postcss@8.3.5` + - `cssnano@4.1.11` + +* `callback-hook@1.4.0` + - Added `forEach` iterator to be more in-line with the ES use for iterations. `each` is now deprecated, but will remain supported. + +## v2.3.7, 2021-10-12 + +#### Meteor Version Release + +* `meteor-tool@2.3.7` + - Patch to make 2.3.7 compatible with Push to Deploy feature in Galaxy (Meteor Cloud) + +## v2.3.6, 2021-09-02 + +#### Highlights + +* Updated Node.js per [August 31st security release](https://nodejs.org/en/blog/vulnerability/aug-2021-security-releases2/) + +#### Meteor Version Release + +* `meteor-tool@2.3.6` + - Node.js updated to [v14.17.6](https://nodejs.org/en/blog/release/v14.17.6/) + +#### Independent Releases + +* `minifier-js@2.6.1` + - Terser updated to [4.8.0](https://github.com/terser/terser/blob/master/CHANGELOG.md#v480) + +* `routepolicy@1.1.1` + - Removed `underscore` dependency since it was not used in the package + +* `email@2.1.1` + - Updated `nodemailer` to v6.6.3 + +* `callback-hook@1.3.1` + - Modernized the code + - Fixed a variable assignment bug in `dontBindEnvironment` function + +* `less@4.0.0` + - Updated `less` to v4.1.1 + - Fixed tests + +* `npm-mongo@3.9.1` + - `mongodb@3.6.10` + +* `accounts-base@2.0.1` + - Create index on `services.password.enroll.when` + - Blaze weak dependency updated to v2.5.0 + +* `facebook-oauth@1.9.1` + - Allow usage of `http` package both v1 and v2 for backward compatibility + +* `github-oauth@1.3.1` + - Allow usage of `http` package both v1 and v2 for backward compatibility + +* `google-oauth@1.3.1` + - Allow usage of `http` package both v1 and v2 for backward compatibility + +* `meetup-oauth@1.1.1` + - Allow usage of `http` package both v1 and v2 for backward compatibility + +* `meteor-developer-oauth@1.3.1` + - Allow usage of `http` package both v1 and v2 for backward compatibility + +* `weibo-oauth@1.3.1` + - Allow usage of `http` package both v1 and v2 for backward compatibility + +* `oauth1@1.4.1` + - Allow usage of `http` package both v1 and v2 for backward compatibility + - Blaze weak dependency updated to v2.5.0 + +* `ddp-server@2.4.1` + - Fix a bug where `testMessageOnConnect` has always been sent + +* `accounts-password@2.0.1` + - Fix use of `isEnroll` in reset password + +* `mdg:geolocation@1.3.1` + - Fixed API to work with Meteor 2.3+ + +* `mdg:reload-on-resume@1.0.5` + - Fixed API to work with Meteor 2.3+ + +## v2.3.5, 2021-08-12 + +#### Highlights + +* Updated Node.js per the [August security release](https://nodejs.org/en/blog/vulnerability/aug-2021-security-releases/) +* Includes same improvements as in Meteor v2.2.3 + - Typescript updated to [v4.3.5](https://github.com/Microsoft/TypeScript/releases/tag/v4.3.5) + - `@meteorjs/babel@7.12.0` + +#### Meteor Version Release + +* `meteor-tool@2.3.5` + - Node.js updated to [v14.17.5](https://nodejs.org/en/blog/release/v14.17.5/) + - Typescript updated to [v4.3.5](https://github.com/Microsoft/TypeScript/releases/tag/v4.3.5) + - `@meteorjs/babel@7.12.0` + - Fix broken source maps in VSCode - [PR](https://github.com/meteor/meteor/pull/11584) + +## v2.3.4, 2021-08-03 + +* Fix an issue in `bare` and `vue` skeletons + +## v2.3.3, 2021-08-02 + +* Security patch of Node.js to [14.17.4](https://nodejs.org/en/blog/release/v14.17.4/) +* App skeletons had the following dependencies updated: + - `meteor-node-stubs@1.1.0` + - `@babel/runtime@7.14.8` +* `babel/parser@7.14.9` for server dev bundle + +## v2.3.2, 2021-07-13 + +#### Meteor Version Release + +* `meteor-tool@2.3.2` + - fixes a bug that makes `meteor run android` run with the new aab package flag + +## v2.3.1, 2021-07-08 + +#### Highlights + +* Fix windows issue when running webapp package. +* Node.js updated to 14.17.3, following [security release](https://nodejs.org/en/blog/vulnerability/july-2021-security-releases/) + +#### Breaking Changes + +* Meteor will now generate ".aab" (bundle files) by default when building for Android. This is the [new default format](https://android-developers.googleblog.com/2021/06/the-future-of-android-app-bundles-is.html) for Android apps. Use the new build flag `--packageType=apk` if you still need to generate APK. + +#### Meteor Version Release + +* Updated travis CI environment to use Node.js 14.17.3 + +* `meteor-tool@2.3.1` + - Node.js updated to [14.17.2](https://nodejs.org/en/blog/release/v14.17.2/) and [14.17.3](https://nodejs.org/en/blog/release/v14.17.3/) + - `@babel/runtime` dependency updated to v7.14.6 across the tool and testing apps + - Skeletons dependencies updated + - Apollo skeleton removed `apollo-boost` dependency which is no longer needed + - New build flag `--packageType` to choose between apk/bundle for android builds (defaults to bundle). + +#### Independent Releases + +* `webapp@1.11.1` + - Remove `posix` from npm shrinkwrap, to fix a bug it causes on Windows. + +* `less@3.0.2` + - Updated `@babel/runtime` to v7.14.6 + - Updated `less` to v3.11.3 + +* `standard-minifiers-css@1.7.3` + - Updated `@babel/runtime` to v7.14.6 + +* `standard-minifiers-js@2.6.1` + - Updated `@babel/runtime` to v7.14.6 + +* `dynamic-import@0.7.1` + - Fix [Safari 14 bug](https://bugs.webkit.org/show_bug.cgi?id=226547) with indexedDB + +## v2.3, 2021-06-24 + +#### Highlights + +* Node.js update to 14.17.1 from 12.22.1 🎉 + +* Typescript update to [4.3.2](https://devblogs.microsoft.com/typescript/announcing-typescript-4-3/) + +* Packages had their backward compatibility to before Meteor 1.0 removed. See below for more details. + +* Improved tracking of which files are used by build plugins to know when it should do a full rebuild, a faster client-only rebuild, or can completely skip rebuilding after a file is modified. This should work with any type of file in any directory, and for both files in the app and files in packages. The most noticeable improvement is when modifying a file only used on the client Meteor will only rebuild the client, even if the file is not inside `imports` or a `client` folder. + +### Summary of breaking changes + +- As Node.js version was upgraded to a new major version we recommend that you review if your npm dependencies are compatible with Node.js 14. + - If we receive reports from breaking changes we are going to list them here but so far we are not aware of any. + - We recommend that you read Node.js [release notes](https://nodejs.org/en/blog/release/v14.0.0/) though. + +- Accounts have undergone some major changes including major version bump. See below for more details. + +- All official packages that have been deprecated have now the deprecated flag and will inform you about that if you install or update them. + +- If you are working with enrollments in user accounts, do note that the enrollment token handling is now separate from reset password token. The token is now under `services.password.enroll`, so adjust your code accordingly if you use it. + +### Migration steps + +- As Node.js version was upgraded we recommend that you remove your `node_modules` folder (`rm -rf node_modules`) and run `meteor npm i` to be sure you compile all the binary dependencies again using the new Node.js version. + - Maybe you also want to recreate your lock file. + - If you get an error try `meteor reset` which will clear caches, beware that this will also remove your local DB for your app. + +- If you are maintaining a package that depends on one of the accounts packages which had a major version bump you will either need to set the new version manually or set `api.versionsFrom('2.3')`. + You can also have it reference its current version and 2.3 like this: `api.versionsFrom(['1.12', '2.3'])`, for specific package it can be like this: `api.use('accounts-base@1.0.1 || 2.0.0')`. + +- Old API for packages definitions has been removed. The old underscore method names (e.g. `api.add_files()`) will no longer work, please use the camel case method names (e.g. `api.addFiles()`). + +### Breaking changes +* Removed deprecated `mobile-port` flag + +* Removed deprecated `raw` name from `isobuild` + +* Removed deprecated package API method names `Package.on_use`, `Package.on_test`, `Package._transitional_registerBuildPlugin` and `api.add_files`, if you haven't till now, please use the current camel case versions. + +* `accounts-base@2.0.0` + - Deprecated backward compatibility function `logoutOtherClients` has been removed. + +* `accounts-password@2.0.0` + - Deprecated backward compatibility functionality for `SRP` passwords from pre-Meteor 1.0 days has been removed. + - Enroll account workflow has been separated from reset password workflow (the enrollment token records are now stored in a separate db field `services.password.enroll`). + +* `ddp-client@2.5.0` + - Removed deprecated backward compatibility method names for Meteor before 1.0 + +* `ddp-server@2.4.0` + - Removed deprecated backward compatibility method names for Meteor before 1.0 + +* `meteor-base@1.5.0` + - Removed `livedata` dependency which was there for packages build for 0.9.0 + +* `minimongo@1.7.0` + - Removed the `rewind` method that was noop for compatibility with Meteor 0.8.1 + +* `mongo@1.12.0` + - Removed the `rewind` method that was noop for compatibility with Meteor 0.8.1 + +* `oauth@2.0.0` + - Removed deprecated `OAuth.initiateLogin` and other functionality like the addition of `?close` in return URI for deprecated OAuth flow pre Meteor 1.0 + +* `markdown@2.0.0` + - Use lazy imports to prevent it from being added to the initial bundle + - This package is now deprecated + +* `http@2.0.0` + - Internally http has been replaced by [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API), should still work as previous version, but edge cases might be different. This is to aid you in transition to fetch. Note that this means that the `npmRequestOptions` parameter to `HTTP.call` has been removed, as `request` is no longer used internally. + +* `socket-stream-client@0.4.0` + - Remove IE8 checks + +#### Meteor Version Release + +* `meteor-tool@2.3` + - Node.js update to 14.17.1 from 12.22.1 🎉 + - This is a major upgrade in Node.js. See the [release notes](https://nodejs.org/en/blog/release/v14.0.0/) for more details. + - `npm` update to 6.14.13. + - `fibers` has been updated to v5.0.0. + - `promise` has been updated to v8.1.0. + - `node-gyp` has been updated to v8.0.0. + - `node-pre-gyp` has been updated to v0.15.0. + - `@babel/runtime` has been updated to v7.14.0. + - `request` has been updated to v2.88.2. + - `uuid` has been updated to v3.4.0. + - `graceful-fs` has been updated to v4.2.6. + - `tar` has been updated to v2.2.2. + - `sqlite3` has been updated to v5.0.2. + - `http-proxy` has been updated to v1.18.1. + - `wordwrap` has been updated to v1.0.0. + - `moment` has been updated to v2.29.1. + - `glob` has been updated to v7.1.6. + - `split2` has been updated to v3.2.2. + - `lru-cache` has been updated to v4.1.5. + - `anser` has been updated to v2.0.1. + - `xmlbuilder2` has been updated to v1.8.1. + - `ws` has been updated to v7.4.5. + - `underscore` has been updated to v1.13.1 + - `optimism` has been updated to v0.16.1 + - `@wry/context` has been update to v0.6.0 + - Reduced time spent by server (re)start in development by adding a cache for Reify. This optimization is on by default in development. Set the new `METEOR_TOOL_ENABLE_REIFY_RUNTIME_CACHE` and `METEOR_REIFY_CACHE_DIR` environment variables to adjust it or turn it on for production [read more in the PR](https://github.com/meteor/meteor/pull/11400). + - New flag `--platforms` has been added to the `build` command to specify the platform you want to build for. `meteor build . --platforms=android`. This is useful for example when you are not using a MacOS and you want to build your app only for Android. Also to save time on CI not building all the platforms all the time. See [PR](https://github.com/meteor/meteor/pull/11437) for details. + - The undocumented environment variable `DDP_DEFAULT_CONNECTION_URL` behavior has changed. Setting `DDP_DEFAULT_CONNECTION_URL` when running the server (development: `meteor run` or production: `node main.js`) sets the default DDP server value for meteor. But this did not work for `cordova` apps. Now you can define the `cordova` app default DDP server value by setting `DDP_DEFAULT_CONNECTION_URL` when building (`meteor build`). + - Skeletons dependencies updated to latest version + - Svelte skeleton now has HMR + - New deploy option: `--build-only`. Helpful if you want to build first and after some validations proceeding with the upload and deploy. [Read more](https://galaxy-guide.meteor.com/deploy-command-line.html#cache-only) + - Improved watched system to properly rebuild `client` even when a file is outside of `client` or `imports` folders. See [PR](https://github.com/meteor/meteor/pull/11474) for details. + - Fix an issue when `App.appendToConfig` crashed Cordova build. + - Reify compiler now uses cache in runtime. [Read more](https://github.com/meteor/meteor/pull/11400) + +* `launch-screen@1.3.0` + - Removes LaunchScreen from web clients. + +* `meteor-babel@7.11.0 (@meteorjs/babel)` + - Fixes for Samsung Internet v6.2+ to be considered modern browser and addition of [logical assignment operators](https://github.com/tc39/proposal-logical-assignment) via `babel-presets-meteor`. + - This package was renamed to `@meteorjs/babel`. + +* `hot-module-replacement@0.3.0` + - Fixes various HMR bugs and edge cases see [PR for more](https://github.com/meteor/meteor/pull/11405). + +* `email@2.1.0` + - Updates `nodemailer` to `6.6.0` and it now adds `charset=utf-8` to `text/plain` messages by default. + +* `server-render@0.4.0` + - Updated npm dependencies + +* `accounts-base@2.0.0` + - New hook `setAdditionalFindUserOnExternalLogin` has been added which allows you to customize user selection on external logins if you want to, for example, login a user who has the same e-mail as the external account. + +* `ddp-server@2.4.0` + - Added support for `this.unblock()` in `Meteor.publish()` context. See [PR](https://github.com/meteor/meteor/pull/11392) for more details. + - Add support in `Meteor.publish()` for async functions + +* `webapp@1.11.0` + - Webapp will respond appropriately to unsupported requests instead of sending content, including handling for new HTTP verbs. See [PR](https://github.com/meteor/meteor/pull/11224) for more details. + +#### Independent Releases + +* `ddp-server@2.3.3` + - Updates dependencies which removes Node's HTTP deprecation warning. + +* `socket-stream-client@0.3.2` + - Updates dependencies which removes Node's HTTP deprecation warning. + +* `ddp-client@2.4.1` + - Re-ordering fields in DDP message for better client readability. + +* `mongo@1.11.1` + - Fixes a `Timestamp.ONE is undefined` bug. + +* `mongo-id@1.0.8` + - Removes unused dependency `id-map`. + +* `accounts-server@1.7.1` + - To better test password format & limit password to 256 characters, you can change this limit by setting `Meteor.settings.packages.accounts.passwordMaxLength`. + +* `static-html@1.3.1` + - Removes `underscore` dependency. + +* `dev-error-overlay@0.1.1` + - Fixes sometimes page content being on top of error overlay. + +* `id-map@1.1.1` + - Removes unused dependencies and modernizing the code. + +* `http@1.4.4` + - Used the new deprecation package flag instead of loud console warning. + +* `logic-solver@2.0.8` + - Fixed `package.js` to use current `api` method calls. + +* `socket-stream-client@0.3.3` + - Update `faye-websocket` dependency to v0.11.4. + +* `jshint@1.1.8` + - The package has been deprecated. + +* `npm-bcrypt@0.9.4` + - The package has been deprecated. + +* `ecmascript-runtime-client@0.11.1` + - Updated `core-js` to v3.14.0 + +* `ecmascript-runtime-server@0.11.1` + - Updated `core-js` to v3.14.0 + +* `url@1.3.2` + - Updated `core-js` to v3.14.0 + +* `hot-module-replacement@0.2.1` + - Add missing dependency. + +* `observe-sequence@1.0.17` + - Updated dependencies + +* `observe-sequence@1.0.18` + - When `#each` argument is unsupported it will be shown + - Moving package under Blaze repository + +* `react-fast-refresh@0.1.1` + - Fixed the package to work in IE11 + +## v2.2.4, 2021-10-12 + +#### Meteor Version Release + +* `meteor-tool@2.2.4` + - Patch to make 2.2.4 compatible with Push to Deploy feature in Galaxy (Meteor Cloud) + +## v2.2.3, 2021-08-12 + +#### Highlights + +* Security update to Node.js [12.22.5](https://nodejs.org/en/blog/release/v12.22.5/) +* Typescript updated to [v4.3.5](https://github.com/Microsoft/TypeScript/releases/tag/v4.3.5) + +#### Meteor Version Release + +* `meteor-tool@2.3.3` + - Updated Node.js to 12.22.5 per [Node security update](https://nodejs.org/en/blog/vulnerability/aug-2021-security-releases/) + - Typescript updated to [v4.3.5](https://github.com/Microsoft/TypeScript/releases/tag/v4.3.5) + - `@meteorjs/babel@7.12.0` + +* `@meteorjs/babel@7.12.0` && `@meteorjs/babel@7.13.0` + - Dependencies updated to their latest versions + +* `babel-compile@7.7.0` + - `@meteorjs/babel@7.12.0` + +* `ecmascript@0.15.3` + - Typescript and Babel version bump + +* `typescript@4.3.5` + - [`typescript@4.3.5`](https://github.com/Microsoft/TypeScript/releases/tag/v4.3.5) + +## v2.2.2, 2021-08-02 + +#### Highlights + +- Security update to Node.js [12.22.4](https://nodejs.org/en/blog/release/v12.22.4/) + +## v2.2.1, 2021-06-02 + +#### Highlights + +- Node.js updated to [12.22.2](https://nodejs.org/en/blog/release/v12.22.2/) +- npm updated to 6.14.13 + +#### Meteor Version Release + +* `meteor-tool@2.2.1` + - Updated Node.js to 12.22.2 per [Node security update](https://nodejs.org/en/blog/vulnerability/july-2021-security-releases/) + +## v2.2, 2021-04-15 + +#### Highlights + +- MongoDB Update to 4.4.4 +- Cordova Update to 10 +- Typescript Update to 4.2.2 +- New skeleton: `meteor create myapp --svelte` + +### Breaking changes + +* N/A + +### Migration steps + +* `meteor-tool` maybe you need to install the new Visual C++ Redistributable for Visual Studio 2019 to run MongoDB 4.4.4 on Windows. [read more](https://docs.meteor.com/windows.html) + +* `mongo` package is now using useUnifiedTopology as `true` by default otherwise the new driver was producing a warning (see details below). It's important to test your app with this change. + +* `cordova` plugins and main libraries were updated from 9 to 10. It's important to test your app with these changes. + +* `typescript` was updated to 4.2.2, make sure your read the [breaking changes](https://devblogs.microsoft.com/typescript/announcing-typescript-4-2/#breaking-changes). + +#### Meteor Version Release + +* `meteor-tool@2.2` + - Update embedded MongoDB version to 4.4.4 [#11341](https://github.com/meteor/meteor/pull/11341) + - Maybe you need to install the new Visual C++ Redistributable for Visual Studio 2019 to run on Windows. [read more](https://docs.meteor.com/windows.html) + - Fix WindowsLikeFilesystem true when release string includes case insensitive word microsoft. [#11321](https://github.com/meteor/meteor/pull/11321) + - Fix absoluteFilePath on Windows. [#11346](https://github.com/meteor/meteor/pull/11346) + - New skeleton: `meteor create myapp --svelte` + - Update Blaze skeleton to use HMR + +* `npm-mongo@3.9.0` + - Update MongoDB driver version to 3.6.6 + +* `mongo@1.11.0` + - Using useUnifiedTopology as `true` by default to avoid the warning: `(node:59240) [MONGODB DRIVER] Warning: Current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor. You can still use it as false with `Mongo._connectionOptions` or `Meteor.settings?.packages?.mongo?.options`. + +* `cordova@10` + - Update Cordova to 10.0.0 [#11208](https://github.com/meteor/meteor/pull/11208) + +* `typescript@4.2.2` + - Update Typescript to 4.2.2, make sure your read the [breaking changes](https://devblogs.microsoft.com/typescript/announcing-typescript-4-2/#breaking-changes) [#11329](https://github.com/meteor/meteor/pull/11329) + +* `accounts-base@1.9.0` + - Allow to set token expiration to be set in milliseconds. [#11366](https://github.com/meteor/meteor/pull/11366) + +* `facebook-oauth@1.9.0` + - Upgrade default Facebook API to v10 & allow overriding this value. [#11362](https://github.com/meteor/meteor/pull/11362) + +* `minimongo@1.6.2` + - Add [$mul](https://docs.mongodb.com/manual/reference/operator/update/mul/#up._S_mul) to minimongo. [#11364](https://github.com/meteor/meteor/pull/11364) + +* `webapp@1.10.1` + - Fix for UNIX sockets with node cluster. [#11369](https://github.com/meteor/meteor/pull/11369) + + +## v2.1.2, 2021-10-12 + +#### Meteor Version Release + +* `meteor-tool@2.1.2` + - Patch to make 2.1.2 compatible with Push to Deploy feature in Galaxy (Meteor Cloud) + +## v2.1.1, 2021-04-06 + +### Changes + +#### Highlights + +- Node.js security [update](https://nodejs.org/en/blog/vulnerability/april-2021-security-releases/) to 12.22.1 + +#### Meteor Version Release + +* `meteor-tool@2.1.1` + - Node.js security [update](https://nodejs.org/en/blog/vulnerability/april-2021-security-releases/) to 12.22.1 + - npm update to 6.14.12 + +### Breaking changes + +* N/A + +### Migration steps + +* N/A + +## v2.1, 2021-02-24 + +### Changes + +#### Highlights + +- Node.js security [update](https://nodejs.org/en/blog/vulnerability/february-2021-security-releases/) to 12.21.0 + +#### Meteor Version Release + +* `meteor-tool@2.1` + - Node.js security [update](https://nodejs.org/en/blog/vulnerability/february-2021-security-releases/) to 12.21.0 + - `meteor create my-app --plan professional` new flag `plan` to enable you to choose a plan from the deploy command. + +### Breaking changes + +* N/A + +### Migration steps + +* N/A + +## v2.0.1, 2021-10-12 + +#### Meteor Version Release + +* `meteor-tool@2.0.1` + - Patch to make 2.0.1 compatible with Push to Deploy feature in Galaxy (Meteor Cloud) + +## v2.0, 2021-01-20 + +### Changes + +#### Highlights + +- Free deploy on [Cloud](https://www.meteor.com/cloud): Deploy for free to Cloud with one command: `meteor deploy myapp.meteorapp.com --free`. ([docs](https://docs.meteor.com/commandline.html#meteordeploy)) + + +- Deploy including MongoDB on [Cloud](https://www.meteor.com/cloud): Deploy including MongoDB in a shared instance for free to Cloud with one command: `meteor deploy myapp.meteorapp.com --free --mongo`. ([docs](https://docs.meteor.com/commandline.html#meteordeploy)) + + +- Hot Module Replacement (HMR): Updates the javascript modules in a running app that were modified during a rebuild. Reduces the feedback cycle while developing so you can view and test changes quicker (it even updates the app before the build has finished). Enabled by adding the `hot-module-replacement` package to an app. React components are automatically updated by default using React Fast Refresh. Integrations with other libraries and view layers can be provided by third party packages. Support for Blaze is coming soon. This first version supports app code in the modern web architecture. ([docs](https://guide.meteor.com/build-tool.html#hot-module-replacement)) [#11117](https://github.com/meteor/meteor/pull/11117) + +#### Meteor Version Release + +* `meteor-tool@2.0` + - `meteor create my-app` now creates by default a project using React. If you want to create a new project using Blaze you should use the new option `--blaze`. + - `meteor create --react my-app` is still going to create a React project. + - `meteor create --free` deploy for free to Cloud with one command: `meteor deploy myapp.meteorapp.com --free`. ([docs](https://docs.meteor.com/commandline.html#meteordeploy)). + - `meteor create --free --mongo` deploy including MongoDB in a shared instance for free to Cloud with one command: `meteor deploy myapp.meteorapp.com --free --mongo`. ([docs](https://docs.meteor.com/commandline.html#meteordeploy)) + - `isobuild` fixes a regression on recompiling node modules in different architectures. [#11290](https://github.com/meteor/meteor/pull/11290) + - `isobuild` converts npm-discards.js to TypeScript. [#10663](https://github.com/meteor/meteor/pull/10663) + - `cordova` ensures the pathname of the rootUrl is used in the mobile URL. [#11053](hhttps://github.com/meteor/meteor/pull/11053) + - Add `file.hmrAvailable()` for compiler plugins to check if a file meets the minimum requirements to be updated with HMR [#11117](https://github.com/meteor/meteor/pull/11117) + + +* `hot-module-replacement@1.0.0` + - New package that enables Hot Module Replacement for the Meteor app and provides an API to configure how updates are applied. HMR reduces the feedback cycle while developing by updating modified javascript modules within the running application. ([docs](https://docs.meteor.com/packages/hot-module-replacement.html)) [#11117](https://github.com/meteor/meteor/pull/11117) + - These packages have been updated to support HMR: `autoupdate@1.7.0`, `babel-compiler@7.6.0`, `ddp-client@2.4.0`, `dynamic-import@0.6.0`, `ecmascript@0.15.0`, `modules@0.16.0`, `modules-runtime-hot@0.13.0`, `standard-minifier-css@1.7.2`, `webapp@1.10.0`, `webapp-hashing@1.1.0` + + +* `react-fast-refresh@0.1.0` + - New package that updates React components using HMR. This is enabled by default in apps that have HMR enabled and use a supported React version. ([docs](https://atmospherejs.com/meteor/react-fast-refresh)) [#11117](https://github.com/meteor/meteor/pull/11117) + + +* `dev-error-overlay@0.1.0` + - New package that allows you to see build errors and server crashes in your browser during development. Requires the app to have HMR enabled. [#11117](https://github.com/meteor/meteor/pull/11117) + + +* `accounts-base@1.8.0` and `accounts-password@1.7.0` + - Extra parameters can now be added to reset password, verify e-mail and enroll account links that are generated for account e-mails. By default, these are added as search parameters to the generated url. You can pass them as an object in the appropriate functions. E.g. `Accounts.sendEnrollmentEmail(userId, email, null, extraParams);`. [#11288](https://github.com/meteor/meteor/pull/11288) + + +* `logging@1.2.0` + - Updates dependencies and make debug available for use in non production environments. [#11068](https://github.com/meteor/meteor/pull/11068) + +#### Independent Releases +* `react-meteor-data@2.2.0` + - Fix issue with useTracker and Subscriptions when using deps. [#306](https://github.com/meteor/react-packages/pull/306) + - Remove version constraint on core TypeScript package [#308](https://github.com/meteor/react-packages/pull/308) + + +* `http` + - It has been deprecated. [#11068](https://github.com/meteor/meteor/pull/11068) + +### Breaking changes + +* `http` package has been deprecated. Please start on migrating towards the [fetch](https://atmospherejs.com/meteor/fetch) package instead. + +### Migration steps + +Simple run `meteor update` in your app. + +Great new features and no breaking changes (except one package deprecation). You can always check our [Roadmap](https://docs.meteor.com/roadmap.html) to understand what is next. + +## v1.12.2, 2021-10-12 + +#### Meteor Version Release + +* `meteor-tool@1.12.2` + - Patch to make 1.12.2 compatible with Push to Deploy feature in Galaxy (Meteor Cloud) + +## v1.12.1, 2021-01-06 + +### Breaking changes + +N/A + +### Migration steps + +N/A + +### Changes + +#### Highlights + +- Node.js 12.20.1 [release notes](https://nodejs.org/en/blog/vulnerability/january-2021-security-releases/) +- Fixes problem on IE because of modern syntax on `dynamic-import` package. + +#### Meteor Version Release + +* `dynamic-import@0.5.5` + - Fixes problem on IE because of modern syntax (arrow function). + +* `meteor-babel@7.10.6` + - Allows to disable sourceMap generation [#36](https://github.com/meteor/babel/pull/36) + +* `babel-compiler@7.5.5` + - Allows to disable sourceMap generation [#36](https://github.com/meteor/babel/pull/36) + +## v1.12, 2020-12-04 + +### Breaking changes + +- When importing types, you might need to use the "type" qualifier, like so: +```js +import { Point } from 'react-easy-crop/types'; +``` +to +```ts +import type { Point } from 'react-easy-crop/types'; +``` +Because now emitDecoratorsMetadata is enabled. + +- Refer to typescript breaking changes before migrating your existing project, from 3.7.6 to 4.1.2: https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes + +### Migration steps + +N/A + +### Changes + +#### Highlights +- TypeScript update from 3.7.6 to 4.1.2. + - enables decorators and metadata reflection. Important: these are stage 2 features so be aware that breaking changes could be introduced before they reach stage 3. + +#### Meteor Version Release +* `meteor-tool@1.12` + - updates TypeScript to 4.1.2. [#11225](https://github.com/meteor/meteor/pull/11225) and [#11255](https://github.com/meteor/meteor/pull/11255) + - adds new options for `meteor list` command (TODO pending link to updated doc). [#11165](https://github.com/meteor/meteor/pull/11165) + - supports Cordova add plugin command working again with plugin id or plugin name in the git URL as it was before Meteor 1.11. [#11202](https://github.com/meteor/meteor/pull/11202) + - avoids MiTM by downloading through https. [#11188](https://github.com/meteor/meteor/pull/11188) + +* `meteor-babel@7.10.5` + - updates TypeScript to 4.1.2 and enables decorators and metadata reflection. [#11225](https://github.com/meteor/meteor/pull/11225) and [#11255](https://github.com/meteor/meteor/pull/11255) + +* `minimongo@1.6.1` + - fixes a null reference exception, if an array contains null values while compiling a fields projection. [#10499](https://github.com/meteor/meteor/pull/10499). + +* `accounts-password@1.6.3` + - adds a new function `createUserVerifyingEmail` (TODO pending link to updated doc). [#11080](https://github.com/meteor/meteor/pull/11080) + - fixes a typo. [#11182](https://github.com/meteor/meteor/pull/11182) + +* `browser-content-policy@1.1.1` + - adds support to nonce + ```js + BrowserPolicy.content.allowScriptOrigin(`nonce-${nonce}`); + ``` + +* `accounts-ui@1.3.2` + - follow accounts-ui-unstyled release + +* `accounts-ui-unstyled@1.4.3` + - fixes the login form would send the server two login requests + - fixes the "forgot password" form would not only send the email but also refresh the page + +* `dynamic-import@0.5.4` + - fixes prefetching errors. [#11209](https://github.com/meteor/meteor/pull/11209) + - adds the option for dynamic-imports to fetch from the current origin instead of the absolute URL. [#11105](https://github.com/meteor/meteor/pull/11105) + +* `mongo-decimal@0.1.2` + - updates npm dependency `decimal.js` to v10.2.1 + +* `accounts-base@1.7.1` + - adds the ability to define default user fields published on login. [#11118](https://github.com/meteor/meteor/pull/11118) + +* `standard-minifier-css@1.7.0` + - modernize and update dependencies. [#11196](https://github.com/meteor/meteor/pull/11196) + + +#### Independent Releases +* `facebook-oauth@1.7.3` + - is now using Facebook GraphAPI v8. [#11160](https://github.com/meteor/meteor/pull/11160) + +## v1.11.1, 2020-09-16 + +### Breaking changes + +N/A + +### Migration steps + +N/A + +### Changes + +* `--apollo` skeleton was missing client cache setup [more](https://github.com/meteor/meteor/pull/11146) + +* `--vue` skeleton was updated to use proper folder structure [more](https://github.com/meteor/meteor/pull/11174) + +* All skeletons got their `npm` dependencies updated. [more](https://github.com/meteor/meteor/pull/11172) + +* Node.js has been updated to version [12.18.4](https://nodejs.org/en/blog/release/v12.18.4/), this is a [security release](https://nodejs.org/en/blog/vulnerability/september-2020-security-releases/) + +* Updated npm to version 6.14.8 [more](https://blog.npmjs.org/post/626732790304686080/release-6148) + +* `npm-mongo` version 3.8.1 was published, updating `mongodb` to [3.6.2](https://github.com/mongodb/node-mongodb-native/releases/tag/v3.6.2) [more](https://github.com/advisories/GHSA-pp7h-53gx-mx7r) + +* Updated PostCSS from 7.0.31 to 7.0.32 [more](https://github.com/meteor/meteor/issues/10682) + +* Allow android-webview-video-poster [more](https://github.com/meteor/meteor/pull/11159) + +## v1.11, 2020-08-18 + +### Breaking changes + +* `email` package dependencies have been update and package version has been bumped to 2.0.0 + There is a potential breaking change as the underlying package started to use `dns.resolve()` + instead of `dns.lookup()` which might be breaking on some environments. + See [nodemailer changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md) for more information. + +* (Added later) Cordova add plugin is not working with plugin name in the git URL when the plugin id was different than the name in the config.xml. Fixed on [#11202](https://github.com/meteor/meteor/pull/11202) + +### Migration steps + +N/A + +### Changes + +* `meteor create --apollo` is now available thanks to [@StorytellerCZ](https://github.com/StorytellerCZ). PR [#11119](https://github.com/meteor/meteor/pull/11119) + +* `meteor create --vue` is now available thanks to [@chris-visser](https://github.com/chris-visser). PR [#11086](https://github.com/meteor/meteor/pull/11086) + +* `--cache-build` option is now available on `meteor deploy` command and you can use it safely all the time if you are using a Git repository to run your deploy. This is helpful if your upload is failing then you can retry just the upload and also if you deploy the same bundle to multiple environments. [Read more](https://galaxy-guide.meteor.com/deploy-command-line.html#cache-build) + +* Multiple optimizations in build performance, many of them for Windows thanks to [@zodern](https://github.com/zodern). PRs [#10838](https://github.com/meteor/meteor/pull/10838), [#11114](https://github.com/meteor/meteor/pull/11114), [#11115](https://github.com/meteor/meteor/pull/11115), [#11102](https://github.com/meteor/meteor/pull/11102), [#10839](https://github.com/meteor/meteor/pull/10839) + +* Fixes error when removing cordova plugin that depends on cli variables. PR [#10976](https://github.com/meteor/meteor/pull/11052) + +* `email` package now exposes `hookSend` that runs before emails are send. + +* Node.js has been updated to version + [12.18.3](https://nodejs.org/en/blog/release/v12.18.3/) + +* Updated npm to version 6.14.5 + +* `mongodb` driver npm dependency has been updated to 3.6.0 + +* The version of MongoDB used by Meteor in development has been updated + from 4.2.5 to 4.2.8 + +## v1.10.2, 2020-04-21 + +### Breaking changes + +* The `babel-compiler` package, used by both `ecmascript` and + `typescript`, no longer supports stripping [Flow](https://flow.org/) + type annotations by default, which may be a breaking change if your + application (or Meteor package) relied on Flow syntax. + +### Migration steps + +* If you still need Babel's Flow plugins, you can install them with npm + and then enable them with a custom `.babelrc` file in your application's + (or package's) root directory: + ```json + { + "plugins": [ + "@babel/plugin-syntax-flow", + "@babel/plugin-transform-flow-strip-types" + ] + } + ``` + +### Changes + +* Adds support to override MongoDB options via Meteor settings. Code PR + [#10976](https://github.com/meteor/meteor/pull/10976), Docs PR + [#662](https://github.com/meteor/docs/pull/662) + +* The `meteor-babel` npm package has been updated to version 7.9.0. + +* The `typescript` npm package has been updated to version 3.8.3. + +* To pass Node command line flags to the server node instance, + now it is recommended to use `SERVER_NODE_OPTIONS` instead of `NODE_OPTIONS`. + Since Meteor 0.5.3, Meteor allowed to pass node command line flags via the `NODE_OPTIONS` + environment variable. + However, since Node version 8 / Meteor 1.6 this has become a default node + envar with the same behavior. The side effect is that this now also affects + Meteor tool. The command line parameters could already be set separately + via the `TOOL_NODE_FLAGS` envar. This is now also possible (again) for the server. + +* The version of MongoDB used by Meteor in development has been updated from + 4.2.1 to 4.2.5. + [PR #11020](https://github.com/meteor/meteor/pull/11020) + +* The `url` package now provides an isomorphic implementation of the [WHATWG `url()` + API](https://url.spec.whatwg.org/). + While remaining backwards compatible, you can now also import `URL` and `URLSearchParams` from `meteor/url`. + These will work for both modern and legacy browsers as well as node. + + +## v1.10.1, 2020-03-12 + +### Breaking changes + +* Cordova has been updated from version 7 to 9. We recommend that you test + your features that are taking advantage of Cordova plugins to be sure + they are still working as expected. + + * WKWebViewOnly is set by default now as true so if you are relying on + UIWebView or plugins that are using UIWebView APIs you probably want to + set it as false, you can do this by calling + `App.setPreference('WKWebViewOnly', false);` in your mobile-config.js. But we + don't recommend turning this into false because + [Apple have said](https://developer.apple.com/news/?id=12232019b) they are + going to reject apps using UIWebView. + +* Because MongoDB since 3.4 no longer supports 32-bit Windows, Meteor 1.10 has + also dropped support for 32-bit Windows. In other words, Meteor 1.10 supports + 64-bit Mac, Windows 64-bit, and Linux 64-bit. + +### Migration Steps +* If you get `Unexpected mongo exit code 62. Restarting.` when starting your local + MongoDB, you can either reset your project (`meteor reset`) + (if you don't care about your local data) + or you will need to update the feature compatibility version of your local MongoDB: + + 1. Downgrade your app to earlier version of Meteor `meteor update --release 1.9.2` + 2. Start your application + 3. While your application is running open a new terminal window, navigate to the + app directory and open `mongo` shell: `meteor mongo` + 4. Use: `db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })` to + check the current feature compatibility. + 5. If the returned version is less than 4.0 update like this: + `db.adminCommand({ setFeatureCompatibilityVersion: "4.2" })` + 6. You can now stop your app and update to Meteor 1.10. + + For more information about this, check out [MongoDB documentation](https://docs.mongodb.com/manual/release-notes/4.2-upgrade-standalone/). + +### Changes + +* The version of MongoDB used by Meteor in development has been updated + from 4.0.6 to 4.2.1, and the `mongodb` driver package has been updated + from 3.2.7 to 3.5.4, thanks to [@klaussner](https://github.com/klaussner). + [Feature #361](https://github.com/meteor/meteor-feature-requests/issues/361) + [PR #10723](https://github.com/meteor/meteor/pull/10723) + +* The `npm` command-line tool used by the `meteor npm` command (and by + Meteor internally) has been updated to version 6.14.0, and our + [fork](https://github.com/meteor/pacote/tree/v9.5.12-meteor) of its + `pacote` dependency has been updated to version 9.5.12. + +* Cordova was updated from version 7 to 9 + * cordova-lib from 7.1.0 to 9.0.1 [release notes](https://github.com/apache/cordova-lib/blob/master/RELEASENOTES.md) + * cordova-common from 2.1.1 to 3.2.1 [release notes](https://github.com/apache/cordova-common/blob/master/RELEASENOTES.md) + * cordova-android from 7.1.4 to 8.1.0 [release notes](https://github.com/apache/cordova-android/blob/master/RELEASENOTES.md) + * cordova-ios from 4.5.5 to 5.1.1 [release notes](https://github.com/apache/cordova-ios/blob/master/RELEASENOTES.md) + * cordova-plugin-wkwebview-engine from 1.1.4 to 1.2.1 [release notes](https://github.com/apache/cordova-plugin-wkwebview-engine/blob/master/RELEASENOTES.md#121-jul-20-2019) + * cordova-plugin-whitelist from 1.3.3 to 1.3.4 [release notes](https://github.com/apache/cordova-plugin-whitelist/blob/master/RELEASENOTES.md#134-jun-19-2019) + * cordova-plugin-splashscreen (included by mobile-experience > launch-screen) + from 4.1.0 to 5.0.3 [release notes](https://github.com/apache/cordova-plugin-splashscreen/blob/master/RELEASENOTES.md#503-may-09-2019) + * cordova-plugin-statusbar (included by mobile-experience > mobile-status-bar) + from 2.3.0 to 2.4.3 [release notes](https://github.com/apache/cordova-plugin-statusbar/blob/master/RELEASENOTES.md#243-jun-19-2019) + * On iOS WKWebViewOnly is set by default now as true. + * On iOS the Swift version is now set by default to `5` this change can make + your app to produce some warnings if your plugins are using old Swift code. + You can override the Swift version using + `App.setPreference('SwiftVersion', 4.2);` but we don't recommend that. + +* New command to ensure that Cordova dependencies are installed. Usage: + `meteor ensure-cordova-dependencies`. Meteor handles this automatically but in + some cases, like running in a CI, is useful to install them in advance. + +* You can now pass an `--exclude-archs` option to the `meteor run` and + `meteor test` commands to temporarily disable building certain web + architectures. For example, `meteor run --exclude-archs web.browser.legacy`. + Multiple architectures should be separated by commas. This option can be + used to improve (re)build times if you're not actively testing the + excluded architectures during development. + [Feature #333](https://github.com/meteor/meteor-feature-requests/issues/333), + [PR #10824](https://github.com/meteor/meteor/pull/10824) + +* `meteor create --react app` and `--typescript` now use `useTracker` hook instead of + `withTracker` HOC, it also uses `function` components instead of `classes`. + +## v1.9.3, 2020-03-09 + +### Breaking changes +* The MongoDB `retryWrites` option now defaults to `true` (it previously defaulted to false). Users of database services that don't support retryWrites will experience a fatal error due to this. + +### Migration Steps +* If you get the error `MongoError: This MongoDB deployment does not support retryable writes. Please add retryWrites=false to your connection string.`, append `retryWrites=false` to your MongoDB connection string. + +### Changes +* `mongodb` driver package has been updated + from 3.2.7 to 3.5.4 [#10961](https://github.com/meteor/meteor/pull/10961) + +## v1.9.2, 2020-02-20 + +### Breaking changes +N/A + +### Migration Steps +N/A + +### Changes + +* Node.js has been updated to version + [12.16.1](https://nodejs.org/en/blog/release/v12.16.1/), fixing several unintended + [regressions](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V12.md#12.16.1) + introduced in 12.16.0. + +* The `meteor-babel` npm package has been updated to version 7.8.2. + +* The `typescript` npm package has been updated to version 3.7.5. + +## v1.9.1, 2020-02-18 + +### Breaking changes + +N/A + +### Migration Steps +N/A + +### Changes + +* Node.js has been updated to version + 12.16.0 from 12.14.0, which includes + security updates and small changes: + * [12.16.0](https://nodejs.org/en/blog/release/v12.16.0/) + * Updated V8 to [release v7.8](https://v8.dev/blog/v8-release-78) which includes improvements in performance, for example, object destructuring now is as fast as the equivalent variable assignment. + * [12.15.0](https://nodejs.org/en/blog/release/v12.15.0/) + +* `cursor.observeChanges` now accepts a second options argument. + If your observer functions do not mutate the passed arguments, you can specify + `{ nonMutatingCallbacks: true }`, which improves performance by reducing + the amount of data copies. + +## v1.9, 2020-01-09 + +### Breaking changes + +* Because Node.js 12 no longer supports 32-bit Linux, Meteor 1.9 has also + dropped support for 32-bit Linux. In other words, Meteor 1.9 supports + 64-bit Mac, Windows, and Linux, as well as 32-bit Windows. + +### Migration Steps +N/A + +### Changes + +* Node.js has been updated to version + [12.14.0](https://nodejs.org/en/blog/release/v12.14.0/), which includes + several major Node.js versions since 8.17.0 (used by Meteor 1.8.3): + * [12.0.0](https://nodejs.org/en/blog/release/v12.0.0/) + * [11.0.0](https://nodejs.org/en/blog/release/v10.0.0/) + * [10.0.0](https://nodejs.org/en/blog/release/v10.0.0/) + * [9.0.0](https://nodejs.org/en/blog/release/v9.0.0/) + +* The `fibers` npm package has been updated to version 4.0.3, which + includes [changes](https://github.com/laverdet/node-fibers/pull/429) + that may drastically reduce garbage collection pressure resulting from + heavy `Fiber` usage. + +* The `pathwatcher` npm package has been updated to use a fork of version + 8.0.2, with [PR #128](https://github.com/atom/node-pathwatcher/pull/128) + applied. + +* The `sqlite3` npm package has been updated to version 4.1.0. + +* The `node-gyp` npm package has been updated to version 6.0.1, and + `node-pre-gyp` has been updated to version 0.14.0. + +* The feature that restarts the application up to two times if it crashes + on startup has been removed. + [Feature #335](https://github.com/meteor/meteor-feature-requests/issues/335) + [PR #10345](https://github.com/meteor/meteor/pull/10345) + +* Facebook OAuth has been updated to call v5 API endpoints. [PR #10738](https://github.com/meteor/meteor/pull/10738) + +* `Meteor.user()`, `Meteor.findUserByEmail()` and `Meteor.findUserByUserName()` can take a new + `options` parameter which can be used to limit the returned fields. Useful for minimizing + DB bandwidth on the server and avoiding unnecessary reactive UI updates on the client. + [Issue #10469](https://github.com/meteor/meteor/issues/10469) + +* `Accounts.config()` has a new option `defaultFieldSelector` which will apply to all + `Meteor.user()` and `Meteor.findUserBy...()` functions without explicit field selectors, and + also to all `onLogin`, `onLogout` and `onLoginFailure` callbacks. This is useful if you store + large data on the user document (e.g. a growing list of transactions) which do no need to be + retrieved from the DB whenever you or a package author call `Meteor.user()` without limiting the + fields. [Issue #10469](https://github.com/meteor/meteor/issues/10469) + +* Lots of internal calls to `Meteor.user()` without field specifiers in `accounts-base` and + `accounts-password` packages have been optimized with explicit field selectors to only + the fields needed by the functions they are in. + [Issue #10469](https://github.com/meteor/meteor/issues/10469) + +## v1.8.3, 2019-12-19 + +### Migration Steps + +* If your application uses `blaze-html-templates`, the Meteor `jquery` + package will be automatically installed in your `.meteor/packages` file + when you update to Meteor 1.8.3. However, this new version of the Meteor + `jquery` package no longer bundles its own copy of the `jquery` npm + implementation, so you may need to install `jquery` from npm by running + ```sh + meteor npm i jquery + ``` + in your application directory. Symptoms of not installing jquery include + a blank browser window, with helpful error messages in the console. + +### Changes + +* Node has been updated to version + [8.17.0](https://nodejs.org/en/blog/release/v8.17.0/). + +* The `npm` npm package has been updated to version 6.13.4, and our + [fork](https://github.com/meteor/pacote/tree/v9.5.11-meteor) of its + `pacote` dependency has been updated to version 9.5.11, an important + [security release](https://nodejs.org/en/blog/vulnerability/december-2019-security-releases/). + +* Prior to Meteor 1.8.3, installing the `jquery` package from npm along + with the Meteor `jquery` package could result in bundling jQuery twice. + Thanks to [PR #10498](https://github.com/meteor/meteor/pull/10498), the + Meteor `jquery` package will no longer provide its own copy of jQuery, + but will simply display a warning in the console if the `jquery` npm + package cannot be found in your `node_modules` directory. If you are + using `blaze` in your application, updating to Meteor 1.8.3 will + automatically add this new version of the Meteor `jquery` package to + your application if you were not already using it (thanks to + [PR #10801](https://github.com/meteor/meteor/pull/10801)), but you might + need to run `meteor npm i jquery` manually, so that `blaze` can import + `jquery` from your `node_modules` directory. + +* The `meteor-babel` npm package has been updated to version 7.7.5. + +* The `typescript` npm package has been updated to version 3.7.3. + +## v1.8.2, 2019-11-14 + +### Breaking changes + +* Module-level variable declarations named `require` or `exports` are no + longer automatically renamed, so they may collide with module function + parameters of the same name, leading to errors like + `Uncaught SyntaxError: Identifier 'exports' has already been declared`. + See [this comment](https://github.com/meteor/meteor/pull/10522#issuecomment-535535056) + by [@SimonSimCity](https://github.com/SimonSimCity). + +* `Plugin.fs` methods are now always sync and no longer accept a callback. + +### Migration Steps + +* Be sure to update the `@babel/runtime` npm package to its latest version + (currently 7.7.2): + ```sh + meteor npm install @babel/runtime@latest + ``` + +* New Meteor applications now depend on `meteor-node-stubs@1.0.0`, so it + may be a good idea to update to the same major version: + ```sh + meteor npm install meteor-node-stubs@next + ``` + +* If you are the author of any Meteor packages, and you encounter errors + when using those packages in a Meteor 1.8.2 application (for example, + `module.watch` being undefined), we recommend that you bump the minor + version of your package and republish it using Meteor 1.8.2, so + Meteor 1.8.2 applications will automatically use the new version of the + package, as compiled by Meteor 1.8.2: + ```sh + cd path/to/your/package + # Add api.versionsFrom("1.8.2") to Package.onUse in package.js... + meteor --release 1.8.2 publish + ``` + This may not be necessary for all packages, especially those that have + been recently republished using Meteor 1.8.1, or local packages in the + `packages/` directory (which are always recompiled from source). + However, republishing packages is a general solution to a wide variety + of package versioning and compilation problems, and package authors can + make their users' lives easier by handling these issues proactively. + +### Changes + +* Node has been updated to version + [8.16.2](https://nodejs.org/en/blog/release/v8.16.2/). + +* The `npm` npm package has been updated to version 6.13.0, and our + [fork](https://github.com/meteor/pacote/tree/v9.5.9-meteor) of its + `pacote` dependency has been updated to version 9.5.9. + +* New Meteor applications now include an official `typescript` package, + supporting TypeScript compilation of `.ts` and `.tsx` modules, which can + be added to existing apps by running `meteor add typescript`. + +* New TypeScript-based Meteor applications can be created by running + ```sh + meteor create --typescript new-typescript-app + ``` + This app skeleton contains a recommended tsconfig.json file, and should + serve as a reference for how to make TypeScript and Meteor work together + (to the best of our current knowledge). + [PR #10695](https://github.com/meteor/meteor/pull/10695) + +* When bundling modern client code, the Meteor module system now prefers + the `"module"` field in `package.json` (if defined) over the `"main"` + field, which should unlock various `import`/`export`-based optimizations + such as tree shaking in future versions of Meteor. As before, server + code uses only the `"main"` field, like Node.js, and legacy client code + prefers `"browser"`, `"main"`, and then `"module"`. + [PR #10541](https://github.com/meteor/meteor/pull/10541), + [PR #10765](https://github.com/meteor/meteor/pull/10765). + +* ECMAScript module syntax (`import`, `export`, and dynamic `import()`) is + now supported by default everywhere, including in modules imported from + `node_modules`, thanks to the [Reify](https://github.com/benjamn/reify) + compiler. + +* If you need to import code from `node_modules` that uses modern syntax + beyond module syntax, it is now possible to enable recompilation for + specific npm packages using the `meteor.nodeModules.recompile` option in + your application's `package.json` file. + See [PR #10603](https://github.com/meteor/meteor/pull/10603) for further + explanation. + +* The Meteor build process is now able to detect whether files changed in + development were actually used by the server bundle, so that a full + server restart can be avoided when no files used by the server bundle + have changed. Client-only refreshes are typically much faster than + server restarts. Run `meteor add autoupdate` to enable client refreshes, + if you are not already using the `autoupdate` package. + [Issue #10449](https://github.com/meteor/meteor/issues/10449) + [PR #10686](https://github.com/meteor/meteor/pull/10686) + +* The `mongodb` npm package used by the `npm-mongo` Meteor package has + been updated to version 3.2.7. + +* The `meteor-babel` npm package has been updated to version 7.7.0, + enabling compilation of the `meteor/tools` codebase with TypeScript + (specifically, version 3.7.2 of the `typescript` npm package). + +* The `reify` npm package has been updated to version 0.20.12. + +* The `core-js` npm package used by `ecmascript-runtime-client` and + `ecmascript-runtime-server` has been updated to version 3.2.1. + +* The `terser` npm package used by `minifier-js` (and indirectly by + `standard-minifier-js`) has been updated to version 4.3.1. + +* The `node-gyp` npm package has been updated to version 5.0.1, and + `node-pre-gyp` has been updated to 0.13.0. + +* The `optimism` npm package has been updated to version 0.11.3, which + enables caching of thrown exceptions as well as ordinary results, in + addition to performance improvements. + +* The `pathwatcher` npm package has been updated to version 8.1.0. + +* The `underscore` npm package installed in the Meteor dev bundle (for use + by the `meteor/tools` codebase) has been updated from version 1.5.2 to + version 1.9.1, and `@types/underscore` has been installed for better + TypeScript support. + +* In addition to the `.js` and `.jsx` file extensions, the `ecmascript` + compiler plugin now automatically handles JavaScript modules with the + `.mjs` file extension. + +* Add `--cordova-server-port` option to override local port where Cordova will + serve static resources, which is useful when multiple Cordova apps are built + from the same application source code, since by default the port is generated + using the ID from the application's `.meteor/.id` file. + +* The `--test-app-path ` option for `meteor test-packages` and + `meteor test` now accepts relative paths as well as absolute paths. + +## v1.8.1, 2019-04-03 + +### Breaking changes + +* Although we are not aware of any specific backwards incompatibilities, + the major upgrade of `cordova-android` from 6.4.0 to 7.1.4 likely + deserves extra attention, if you use Cordova to build Android apps. + +### Migration Steps +N/A + +### Changes + +* Node has been updated from version 8.11.4 to version + [8.15.1](https://nodejs.org/en/blog/release/v8.15.1/), an important + [security release](https://nodejs.org/en/blog/vulnerability/february-2019-security-releases/), + which includes the changes from four other minor releases: + * [8.15.0](https://nodejs.org/en/blog/release/v8.15.0/) + * [8.14.0](https://nodejs.org/en/blog/release/v8.14.0/), an important + [security release](https://nodejs.org/en/blog/vulnerability/november-2018-security-releases/) + * [8.12.0](https://nodejs.org/en/blog/release/v8.12.0/) + * [8.13.0](https://nodejs.org/en/blog/release/v8.13.0/) + + > Note: While Node 8.12.0 included changes that may improve the + performance of Meteor apps, there have been reports of CPU usage spikes + in production due to excessive garbage collection, so this version of + Meteor should be considered experimental until those problems have been + fixed. [Issue #10216](https://github.com/meteor/meteor/issues/10216) + +* The `npm` tool has been upgraded to version + [6.9.0](https://github.com/npm/cli/releases/tag/v6.9.0), and our + [fork](https://github.com/meteor/pacote/tree/v9.5.0-meteor) of its + `pacote` dependency has been updated to version 9.5.0. + +* Mongo has been upgraded to version 4.0.6 for 64-bit systems (was 4.0.2), + and 3.2.22 for 32-bit systems (was 3.2.19). The `mongodb` npm package + used by `npm-mongo` has been updated to version 3.1.13 (was 3.1.6). + +* The `fibers` npm package has been updated to version 3.1.1, a major + update from version 2.0.0. Building this version of `fibers` requires a + C++11 compiler, unlike previous versions. If you deploy your Meteor app + manually (without using Galaxy), you may need to update the version of + `g++` used when running `npm install` in the `bundle/programs/server` + directory. + +* The `meteor-babel` npm package has been updated to version 7.3.4. + +* Cordova Hot Code Push mechanism is now switching versions explicitly with + call to `WebAppLocalServer.switchToPendingVersion` instead of trying to + switch every time a browser reload is detected. If you use any third + party package or have your own HCP routines implemented be sure to call + it before forcing a browser reload. If you use the automatic reload from + the `Reload` meteor package you do not need to do anything. + [cordova-plugin-meteor-webapp PR #62](https://github.com/meteor/cordova-plugin-meteor-webapp/pull/62) + +* Multiple Cordova-related bugs have been fixed, including Xcode 10 build + incompatibilities and hot code push errors due to duplicated + images/assets. [PR #10339](https://github.com/meteor/meteor/pull/10339) + +* The `cordova-android` and `cordova-ios` npm dependencies have been + updated to 7.1.4 (from 6.4.0) and 4.5.5 (from 4.5.4), respectively. + +* Build performance has improved (especially on Windows) thanks to + additional caching implemented by [@zodern](https://github.com/zodern) + in PRs [#10399](https://github.com/meteor/meteor/pull/10399), + [#10452](https://github.com/meteor/meteor/pull/10452), + [#10453](https://github.com/meteor/meteor/pull/10453), and + [#10454](https://github.com/meteor/meteor/pull/10454). + +* The `meteor mongo` command no longer uses the `--quiet` option, so the + normal startup text will be displayed, albeit without the banner about + Mongo's free monitoring service. See this + [MongoDB Jira issue](https://jira.mongodb.org/browse/SERVER-38862) + for more details. + +* In Meteor packages, `client/` and `server/` directories no longer have + any special meaning. In application code, `client/` directories are + ignored during the server build, and `server/` directories are ignored + during the client build, as before. This special behavior previously + applied to packages as well, but has now been removed. + [Issue #10393](https://github.com/meteor/meteor/issues/10393) + [PR #10414](https://github.com/meteor/meteor/pull/10414) + +* If your application is using Git for version control, the current Git + commit hash will now be exposed via the `Meteor.gitCommitHash` property + while the app is running (in both server and client code), and also via + the `"gitCommitHash"` property in the `star.json` file located in the + root directory of builds produced by `meteor build`, for consumption by + deployment tools. If you are not using Git, neither property will be + defined. [PR #10442](https://github.com/meteor/meteor/pull/10442) + +* The Meteor Tool now uses a more reliable method (the MongoDB + [`isMaster` command](https://docs.mongodb.com/manual/reference/command/isMaster/)) + to detect when the local development database has started and is ready to + accept read and write operations. + [PR #10500](https://github.com/meteor/meteor/pull/10500) + +* Setting the `x-no-compression` request header will prevent the `webapp` + package from compressing responses with `gzip`, which may be useful if + your Meteor app is behind a proxy that compresses resources with another + compression algorithm, such as [brotli](https://github.com/google/brotli). + [PR #10378](https://github.com/meteor/meteor/pull/10378) + +## v1.8.0.2, 2019-01-07 + +### Breaking changes +N/A + +### Migration steps +N/A + +### Changes + +* The [React tutorial](https://www.meteor.com/tutorials/react/creating-an-app) + has been updated to address a number of inaccuracies due to changes in + recent Meteor releases that were not fully incorporated back into the + tutorial. As a reminder, Meteor now supports a `meteor create --react` + command that can be used to create a new React-based app quickly. + +* Fixed a bug where modules named with `*.app-tests.js` (or `*.tests.js`) + file extensions sometimes could not be imported by the + `meteor.testModule` entry point when running the `meteor test` command + (or `meteor test --full-app`). + [PR #10402](https://github.com/meteor/meteor/pull/10402) + +* The `meteor-promise` package has been updated to version 0.8.7, which + includes a [commit](https://github.com/meteor/promise/commit/bbe4f0d20b70417950381aea112993c4cc8c1168) + that should prevent memory leaks when excess fibers are discarded from + the `Fiber` pool. + +* The `meteor-babel` npm package has been updated to version 7.2.0, + improving source maps for applications with custom `.babelrc` files. + +## v1.8.0.1, 2018-11-23 + +### Breaking changes +N/A + +### Migration steps +N/A + +### Changes + +* The `useragent` npm package used by `webapp` and (indirectly) by the + `modern-browsers` package has been updated from 2.2.1 to 2.3.0. The + `chromium` browser name has been aliased to use the same minimum modern + version as `chrome`, and browser names are now processed + case-insensitively by the `modern-browsers` package. + [PR #10334](https://github.com/meteor/meteor/pull/10334) + +* Fixed a module caching bug that allowed `findImportedModuleIdentifiers` + to return the same identifiers for the modern and legacy versions of a + given module, even if the set of imported modules is different (for + example, because Babel injects fewer `@babel/runtime/...` imports into + modern code). Now the caching is always based on the SHA-1 hash of the + _generated_ code, rather than trusting the hash provided by compiler + plugins. [PR #10330](https://github.com/meteor/meteor/pull/10330) + +## v1.8, 2018-10-08 + +### Breaking changes +N/A + +### Migration Steps + +* Update the `@babel/runtime` npm package to version 7.0.0 or later: + ```sh + meteor npm install @babel/runtime@latest + ``` + +### Changes + +* Although Node 8.12.0 has been released, Meteor 1.8 still uses Node + 8.11.4, due to concerns about excessive garbage collection and CPU usage + in production. To enable Galaxy customers to use Node 8.12.0, we are + planning a quick follow-up Meteor 1.8.1 release, which can be obtained + by running the command + ```bash + meteor update --release 1.8.1-beta.n + ``` + where `-beta.n` is the latest beta release according to the + [releases](https://github.com/meteor/meteor/releases) page (currently + `-beta.6`). + [Issue #10216](https://github.com/meteor/meteor/issues/10216) + [PR #10248](https://github.com/meteor/meteor/pull/10248) + +* Meteor 1.7 introduced a new client bundle called `web.browser.legacy` in + addition to the `web.browser` (modern) and `web.cordova` bundles. + Naturally, this extra bundle increased client (re)build times. Since + developers spend most of their time testing the modern bundle in + development, and the legacy bundle mostly provides a safe fallback in + production, Meteor 1.8 cleverly postpones building the legacy bundle + until just after the development server restarts, so that development + can continue as soon as the modern bundle has finished building. Since + the legacy build happens during a time when the build process would + otherwise be completely idle, the impact of the legacy build on server + performance is minimal. Nevertheless, the legacy bundle still gets + rebuilt regularly, so any legacy build errors will be surfaced in a + timely fashion, and legacy clients can test the new legacy bundle by + waiting a bit longer than modern clients. Applications using the + `autoupdate` or `hot-code-push` packages will reload modern and legacy + clients independently, once each new bundle becomes available. + [Issue #9948](https://github.com/meteor/meteor/issues/9948) + [PR #10055](https://github.com/meteor/meteor/pull/10055) + +* Compiler plugins that call `inputFile.addJavaScript` or + `inputFile.addStylesheet` may now delay expensive compilation work by + passing partial options (`{ path, hash }`) as the first argument, + followed by a callback function as the second argument, which will be + called by the build system once it knows the module will actually be + included in the bundle. For example, here's the old implementation of + `BabelCompiler#processFilesForTarget`: + ```js + processFilesForTarget(inputFiles) { + inputFiles.forEach(inputFile => { + var toBeAdded = this.processOneFileForTarget(inputFile); + if (toBeAdded) { + inputFile.addJavaScript(toBeAdded); + } + }); + } + ``` + and here's the new version: + ```js + processFilesForTarget(inputFiles) { + inputFiles.forEach(inputFile => { + if (inputFile.supportsLazyCompilation) { + inputFile.addJavaScript({ + path: inputFile.getPathInPackage(), + hash: inputFile.getSourceHash(), + }, function () { + return this.processOneFileForTarget(inputFile); + }); + } else { + var toBeAdded = this.processOneFileForTarget(inputFile); + if (toBeAdded) { + inputFile.addJavaScript(toBeAdded); + } + } + }); + } + ``` + If you are an author of a compiler plugin, we strongly recommend using + this new API, since unnecessary compilation of files that are not + included in the bundle can be a major source of performance problems for + compiler plugins. Although this new API is only available in Meteor 1.8, + you can use `inputFile.supportsLazyCompilation` to determine dynamically + whether the new API is available, so you can support older versions of + Meteor without having to publish multiple versions of your package. [PR + #9983](https://github.com/meteor/meteor/pull/9983) + +* New [React](https://reactjs.org/)-based Meteor applications can now be + created using the command + ```bash + meteor create --react new-react-app + ``` + Though relatively simple, this application template reflects the ideas + of many contributors, especially [@dmihal](https://github.com/dmihal) + and [@alexsicart](https://github.com/alexsicart), and it will no doubt + continue to evolve in future Meteor releases. + [Feature #182](https://github.com/meteor/meteor-feature-requests/issues/182) + [PR #10149](https://github.com/meteor/meteor/pull/10149) + +* The `.meteor/packages` file supports a new syntax for overriding + problematic version constraints from packages you do not control. + + If a package version constraint in `.meteor/packages` ends with a `!` + character, any other (non-`!`) constraints on that package elsewhere in + the application will be _weakened_ to allow any version greater than or + equal to the constraint, even if the major/minor versions do not match. + + For example, using both CoffeeScript 2 and `practicalmeteor:mocha` used + to be impossible (or at least very difficult) because of this + [`api.versionsFrom("1.3")`](https://github.com/practicalmeteor/meteor-mocha/blob/3a2658070a920f8846df48bb8d8c7b678b8c6870/package.js#L28) + statement, which unfortunately constrained the `coffeescript` package to + version 1.x. In Meteor 1.8, if you want to update `coffeescript` to + 2.x, you can relax the `practicalmeteor:mocha` constraint by putting + ``` + coffeescript@2.2.1_1! # note the ! + ``` + in your `.meteor/packages` file. The `coffeescript` version still needs + to be at least 1.x, so that `practicalmeteor:mocha` can count on that + minimum. However, `practicalmeteor:mocha` will no longer constrain the + major version of `coffeescript`, so `coffeescript@2.2.1_1` will work. + + [Feature #208](https://github.com/meteor/meteor-feature-requests/issues/208) + [Commit 4a70b12e](https://github.com/meteor/meteor/commit/4a70b12eddef00b6700f129e90018a6076cb1681) + [Commit 9872a3a7](https://github.com/meteor/meteor/commit/9872a3a71df033e4cf6290b75fea28f44427c0c2) + +* The `npm` package has been upgraded to version 6.4.1, and our + [fork](https://github.com/meteor/pacote/tree/v8.1.6-meteor) of its + `pacote` dependency has been rebased against version 8.1.6. + +* The `node-gyp` npm package has been updated to version 3.7.0, and the + `node-pre-gyp` npm package has been updated to version 0.10.3. + +* Scripts run via `meteor npm ...` can now use the `meteor` command more + safely, since the `PATH` environment variable will now be set so that + `meteor` always refers to the same `meteor` used to run `meteor npm`. + [PR #9941](https://github.com/meteor/meteor/pull/9941) + +* Minimongo's behavior for sorting fields containing an array + is now compatible with the behavior of [Mongo 3.6+](https://docs.mongodb.com/manual/release-notes/3.6-compatibility/#array-sort-behavior). + Note that this means it is now incompatible with the behavior of earlier MongoDB versions. + [PR #10214](https://github.com/meteor/meteor/pull/10214) + +* Meteor's `self-test` has been updated to use "headless" Chrome rather + than PhantomJS for browser tests. PhantomJS can still be forced by + passing the `--phantom` flag to the `meteor self-test` command. + [PR #9814](https://github.com/meteor/meteor/pull/9814) + +* Importing a directory containing an `index.*` file now works for + non-`.js` file extensions. As before, the list of possible extensions is + defined by which compiler plugins you have enabled. + [PR #10027](https://github.com/meteor/meteor/pull/10027) + +* Any client (modern or legacy) may now request any static JS or CSS + `web.browser` or `web.browser.legacy` resource, even if it was built for + a different architecture, which greatly simplifies CDN setup if your CDN + does not forward the `User-Agent` header to the origin. + [Issue #9953](https://github.com/meteor/meteor/issues/9953) + [PR #9965](https://github.com/meteor/meteor/pull/9965) + +* Cross-origin dynamic `import()` requests will now succeed in more cases. + [PR #9954](https://github.com/meteor/meteor/pull/9954) + +* Dynamic CSS modules (which are compiled to JS and handled like any other + JS module) will now be properly minified in production and source mapped + in development. [PR #9998](https://github.com/meteor/meteor/pull/9998) + +* While CSS is only minified in production, CSS files must be merged + together into a single stylesheet in both development and production. + This merging is [cached by `standard-minifier-css`](https://github.com/meteor/meteor/blob/183d5ff9500d908d537f58d35ce6cd6d780ab270/packages/standard-minifier-css/plugin/minify-css.js#L58-L62) + so that it does not happen on every rebuild in development, but not all + CSS minifier packages use the same caching techniques. Thanks to + [1ed095c36d](https://github.com/meteor/meteor/pull/9942/commits/1ed095c36d7b2915872eb0c943dae0c4f870d7e4), + this caching is now performed within the Meteor build tool, so it works + the same way for all CSS minifier packages, which may eliminate a few + seconds of rebuild time for projects with lots of CSS. + +* The `meteor-babel` npm package used by `babel-compiler` has been updated + to version 7.1.0. **Note:** This change _requires_ also updating the + `@babel/runtime` npm package to version 7.0.0-beta.56 or later: + ```sh + meteor npm install @babel/runtime@latest + ``` + [`meteor-babel` issue #22](https://github.com/meteor/babel/issues/22) + +* The `@babel/preset-env` and `@babel/preset-react` presets will be + ignored by Meteor if included in a `.babelrc` file, since Meteor already + provides equivalent/superior functionality without them. However, you + should feel free to leave these plugins in your `.babelrc` file if they + are needed by external tools. + +* The `install` npm package used by `modules-runtime` has been updated to + version 0.12.0. + +* The `reify` npm package has been updated to version 0.17.3, which + introduces the `module.link(id, {...})` runtime method as a replacement + for `module.watch(require(id), {...})`. Note: in future versions of + `reify` and Meteor, the `module.watch` runtime API will be removed, but + for now it still exists (and is used to implement `module.link`), so + that existing code will continue to work without recompilation. + +* The `uglify-es` npm package used by `minifier-js` has been replaced with + [`terser@3.9.2`](https://www.npmjs.com/package/terser), a fork of + `uglify-es` that appears to be (more actively) maintained. + [Issue #10042](https://github.com/meteor/meteor/issues/10042) + +* Mongo has been updated to version 4.0.2 and the `mongodb` npm package + used by `npm-mongo` has been updated to version 3.1.6. + [PR #10058](https://github.com/meteor/meteor/pull/10058) + [Feature Request #269](https://github.com/meteor/meteor-feature-requests/issues/269) + +* When a Meteor application uses a compiler plugin to process files with a + particular file extension (other than `.js` or `.json`), those file + extensions should be automatically appended to imports that do not + resolve as written. However, this behavior was not previously enabled + for modules inside `node_modules`. Thanks to + [8b04c25390](https://github.com/meteor/meteor/pull/9942/commits/8b04c253900e4ca2a194d2fcaf6fc2ce9a9085e7), + the same file extensions that are applied to modules outside the + `node_modules` directory will now be applied to those within it, though + `.js` and `.json` will always be tried first. + +* As foreshadowed in this [talk](https://youtu.be/vpCotlPieIY?t=29m18s) + about Meteor 1.7's modern/legacy bundling system + ([slides](https://slides.com/benjamn/meteor-night-may-2018#/46)), Meteor + now provides an isomorphic implementation of the [WHATWG `fetch()` + API](https://fetch.spec.whatwg.org/), which can be installed by running + ```sh + meteor add fetch + ``` + This package is a great demonstration of the modern/legacy bundling + system, since it has very different implementations in modern + browsers, legacy browsers, and Node. + [PR #10029](https://github.com/meteor/meteor/pull/10029) + +* The [`bundle-visualizer` + package](https://github.com/meteor/meteor/tree/release-1.7.1/packages/non-core/bundle-visualizer) + has received a number of UI improvements thanks to work by + [@jamesmillerburgess](https://github.com/jamesmillerburgess) in + [PR #10025](https://github.com/meteor/meteor/pull/10025). + [Feature #310](https://github.com/meteor/meteor-feature-requests/issues/310) + +* Sub-resource integrity hashes (sha512) can now be enabled for static CSS + and JS assets by calling `WebAppInternals.enableSubresourceIntegrity()`. + [PR #9933](https://github.com/meteor/meteor/pull/9933) + [PR #10050](https://github.com/meteor/meteor/pull/10050) + +* The environment variable `METEOR_PROFILE=milliseconds` now works for the + build portion of the `meteor build` and `meteor deploy` commands. + [Feature #239](https://github.com/meteor/meteor-feature-requests/issues/239) + +* Babel compiler plugins will now receive a `caller` option of the + following form: + ```js + { name: "meteor", arch } + ``` + where `arch` is the target architecture, e.g. `os.*`, `web.browser`, + `web.cordova`, or `web.browser.legacy`. + [PR #10211](https://github.com/meteor/meteor/pull/10211) + +## v1.7.0.5, 2018-08-16 + +### Breaking changes +N/A + +### Migration Steps +N/A + +### Changes + +* Node has been updated to version + [8.11.4](https://nodejs.org/en/blog/release/v8.11.4/), an important + [security release](https://nodejs.org/en/blog/vulnerability/august-2018-security-releases/). + +## v1.7.0.4, 2018-08-07 + +### Breaking changes +N/A + +### Migration Steps +N/A + +### Changes + +* The npm package `@babel/runtime`, which is depended on by most Meteor + apps, introduced a breaking change in version `7.0.0-beta.56` with the + removal of the `@babel/runtime/helpers/builtin` directory. While this + change has clear benefits in the long term, in the short term it has + been disruptive for Meteor 1.7.0.x applications that accidentally + updated to the latest version of `@babel/runtime`. Meteor 1.7.0.4 is a + patch release that provides better warnings about this problem, and + ensures newly created Meteor applications do not use `7.0.0-beta.56`. + [PR #10134](https://github.com/meteor/meteor/pull/10134) + +* The `npm` package has been upgraded to version 6.3.0, and our + [fork](https://github.com/meteor/pacote/tree/v8.1.6-meteor) of its + `pacote` dependency has been rebased against version 8.1.6. + [Issue #9940](https://github.com/meteor/meteor/issues/9940) + +* The `reify` npm package has been updated to version 0.16.4. + +## v1.7.0.3, 2018-06-13 + +### Breaking changes +N/A + +### Migration Steps +N/A + +### Changes + +* Fixed [Issue #9991](https://github.com/meteor/meteor/issues/9991), + introduced in + [Meteor 1.7.0.2](https://github.com/meteor/meteor/pull/9990) + by [PR #9977](https://github.com/meteor/meteor/pull/9977). + +## v1.7.0.2, 2018-06-13 + +### Breaking changes +N/A + +### Migration Steps +N/A + +### Changes + +* Node has been updated to version + [8.11.3](https://nodejs.org/en/blog/release/v8.11.3/), an important + [security release](https://nodejs.org/en/blog/vulnerability/june-2018-security-releases/). + +* The `meteor-babel` npm package has been updated to version + [7.0.0-beta.51](https://github.com/babel/babel/releases/tag/v7.0.0-beta.51). + +* Meteor apps created with `meteor create` or `meteor create --minimal` + will now have a directory called `tests/` rather than `test/`, so that + test code will not be eagerly loaded if you decide to remove the + `meteor.mainModule` configuration from `package.json`, thanks to + [PR #9977](https://github.com/meteor/meteor/pull/9977) by + [@robfallows](https://github.com/robfallows). + [Issue #9961](https://github.com/meteor/meteor/issues/9961) + +## v1.7.0.1, 2018-05-29 + +### Breaking changes + +* The `aggregate` method of raw Mongo collections now returns an + `AggregationCursor` rather than returning the aggregation result + directly. To obtain an array of aggregation results, you will need to + call the `.toArray()` method of the cursor: + ```js + // With MongoDB 2.x, callback style: + rawCollection.aggregate( + pipeline, + (error, results) => {...} + ); + + // With MongoDB 2.x, wrapAsync style: + const results = Meteor.wrapAsync( + rawCollection.aggregate, + rawCollection + )(pipeline); + + // With MongoDB 3.x, callback style: + rawCollection.aggregate( + pipeline, + (error, aggregationCursor) => { + ... + const results = aggregationCursor.toArray(); + ... + } + ); + + // With MongoDB 3.x, wrapAsync style: + const results = Meteor.wrapAsync( + rawCollection.aggregate, + rawCollection + )(pipeline).toArray(); + ``` + [Issue #9936](https://github.com/meteor/meteor/issues/9936) + +### Migration Steps + +* Update `@babel/runtime` (as well as other Babel-related packages) and + `meteor-node-stubs` to their latest versions: + ```sh + meteor npm install @babel/runtime@latest meteor-node-stubs@latest + ``` + +### Changes + +* Reverted an [optimization](https://github.com/meteor/meteor/pull/9825) + introduced in Meteor 1.7 to stop scanning `node_modules` for files that + might be of interest to compiler plugins, since the intended workarounds + (creating symlinks) did not satisfy all existing use cases. We will + revisit this optimization in Meteor 1.8. + [mozfet/meteor-autoform-materialize#43](https://github.com/mozfet/meteor-autoform-materialize/issues/43) + +* After updating to Meteor 1.7 or 1.7.0.1, you should update the + `@babel/runtime` npm package (as well as other Babel-related packages) + to their latest versions, along with the `meteor-node-stubs` package, + by running the following command: + ```sh + meteor npm install @babel/runtime@latest meteor-node-stubs@latest + ``` + +## v1.7, 2018-05-28 + +### Breaking changes +N/A + +### Migration Steps +N/A + +### Changes + +* More than 80% of internet users worldwide have access to a web browser + that natively supports the latest ECMAScript features and keeps itself + updated automatically, which means new features become available almost + as soon as they ship. In other words, the future we envisioned when we + first began [compiling code with + Babel](https://blog.meteor.com/how-much-does-ecmascript-2015-cost-2ded41d70914) + is finally here, yet most web frameworks and applications still compile + a single client-side JavaScript bundle that must function simultaneously + in the oldest and the newest browsers the application developer wishes + to support. + + That choice is understandable, because the alternative is daunting: not + only must you build multiple JavaScript and CSS bundles for different + browsers, with different dependency graphs and compilation rules and + webpack configurations, but your server must also be able to detect the + capabilities of each visiting client, so that it can deliver the + appropriate assets at runtime. Testing a matrix of different browsers + and application versions gets cumbersome quickly, so it's no surprise + that responsible web developers would rather ship a single, well-tested + bundle, and forget about taking advantage of modern features until + legacy browsers have disappeared completely. + + With Meteor 1.7, this awkward balancing act is no longer necessary, + because Meteor now automatically builds two sets of client-side assets, + one tailored to the capabilities of modern browsers, and the other + designed to work in all supported browsers, thus keeping legacy browsers + working exactly as they did before. Best of all, the entire Meteor + community relies on the same system, so any bugs or differences in + behavior can be identified and fixed quickly. + + In this system, a "modern" browser can be loosely defined as one with + full native support for `async` functions and `await` expressions, which + includes more than 80% of the world market, and 85% of the US market + ([source](https://caniuse.com/#feat=async-functions)). This standard may + seem extremely strict, since `async`/`await` was [just finalized in + ECMAScript 2017](http://2ality.com/2016/10/async-function-tips.html), + but the statistics clearly justify it. As another example, any modern + browser can handle native `class` syntax, though newer syntax like class + fields may still need to be compiled for now, whereas a legacy browser + will need compilation for both advanced and basic `class` syntax. And of + course you can safely assume that any modern browser has a native + `Promise` implementation, because `async` functions must return + `Promise`s. The list goes on and on. + + This boundary between modern and legacy browsers is designed to be tuned + over time, not only by the Meteor framework itself but also by each + individual Meteor application. For example, here's how the minimum + versions for native ECMAScript `class` support might be expressed: + + ```js + import { setMinimumBrowserVersions } from "meteor/modern-browsers"; + + setMinimumBrowserVersions({ + chrome: 49, + firefox: 45, + edge: 12, + ie: Infinity, // Sorry, IE11. + mobile_safari: [9, 2], // 9.2.0+ + opera: 36, + safari: 9, + electron: 1, + }, "classes"); + ``` + + The minimum modern version for each browser is simply the maximum of all + versions passed to `setMinimumBrowserVersions` for that browser. The + Meteor development server decides which assets to deliver to each client + based on the `User-Agent` string of the HTTP request. In production, + different bundles are named with unique hashes, which prevents cache + collisions, though Meteor also sets the `Vary: User-Agent` HTTP response + header to let well-behaved clients know they should cache modern and + legacy resources separately. + + For the most part, the modern/legacy system will transparently determine + how your code is compiled, bundled, and delivered—and yes, it + works with every existing part of Meteor, including dynamic `import()` + and even [the old `appcache` + package](https://github.com/meteor/meteor/pull/9776). However, if you're + writing dynamic code that depends on modern features, you can use the + boolean `Meteor.isModern` flag to detect the status of the current + environment (Node 8 is modern, too, of course). If you're writing a + Meteor package, you can call `api.addFiles(files, "legacy")` in your + `package.js` configuration file to add extra files to the legacy bundle, + or `api.addFiles(files, "client")` to add files to all client bundles, + or `api.addFiles(files, "web.browser")` to add files only to the modern + bundle, and the same rules apply to `api.mainModule`. Just be sure to + call `setMinimumBrowserVersions` (in server startup code) to enforce + your assumptions about ECMAScript feature support. + + We think this modern/legacy system is one of the most powerful features + we've added since we first introduced the `ecmascript` package in Meteor + 1.2, and we look forward to other frameworks attempting to catch up. + + [PR #9439](https://github.com/meteor/meteor/pull/9439) + +* Although Meteor does not recompile packages installed in `node_modules` + by default, compilation of specific npm packages (for example, to + support older browsers that the package author neglected) can now be + enabled in one of two ways: + + * Clone the package repository into your application's `imports` + directory, make any modifications necessary, then use `npm install` to + link `the-package` into `node_modules`: + ```sh + meteor npm install imports/the-package + ``` + Meteor will compile the contents of the package exposed via + `imports/the-package`, and this compiled code will be used when you + import `the-package` in any of the usual ways: + ```js + import stuff from "the-package" + require("the-package") === require("/imports/the-package") + import("the-package").then(...) + ``` + This reuse of compiled code is the critical new feature that was added + in Meteor 1.7. + + * Install the package normally with `meteor npm install the-package`, + then create a symbolic link *to* the installed package elsewhere in + your application, outside of `node_modules`: + ```sh + meteor npm install the-package + cd imports + ln -s ../node_modules/the-package . + ``` + Again, Meteor will compile the contents of the package because they + are exposed outside of `node_modules`, and the compiled code will be + used whenever `the-package` is imported from `node_modules`. + + > Note: this technique also works if you create symbolic links to + individual files, rather than linking the entire package directory. + + In both cases, Meteor will compile the exposed code as if it was part of + your application, using whatever compiler plugins you have installed. + You can influence this compilation using `.babelrc` files or any other + techniques you would normally use to configure compilation of + application code. [PR #9771](https://github.com/meteor/meteor/pull/9771) + [Feature #6](https://github.com/meteor/meteor-feature-requests/issues/6) + + > ~Note: since compilation of npm packages can now be enabled using the + techniques described above, Meteor will no longer automatically scan + `node_modules` directories for modules that can be compiled by + compiler plugins. If you have been using that functionality to import + compiled-to-JS modules from `node_modules`, you should start using the + symlinking strategy instead.~ **Follow-up note: this optimization was + reverted in Meteor 1.7.0.1 (see [above](#v1701-2018-05-29)).** + +* Node has been updated to version + [8.11.2](https://nodejs.org/en/blog/release/v8.11.2/), officially fixing + a [cause](https://github.com/nodejs/node/issues/19274) of frequent + segmentation faults in Meteor applications that was introduced in Node + 8.10.0. Meteor 1.6.1.1 shipped with a custom build of Node that patched + this problem, but that approach was never intended to be permanent. + +* The `npm` package has been upgraded to version 5.10.0, and our + [fork](https://github.com/meteor/pacote/tree/v7.6.1-meteor) of its + `pacote` dependency has been rebased against version 7.6.1. + +* Applications may now specify client and server entry point modules in a + newly-supported `"meteor"` section of `package.json`: + ```js + "meteor": { + "mainModule": { + "client": "client/main.js", + "server": "server/main.js" + } + } + ``` + When specified, these entry points override Meteor's default module + loading semantics, rendering `imports` directories unnecessary. If + `mainModule` is left unspecified for either client or server, the + default rules will apply for that architecture, as before. To disable + eager loading of modules on a given architecture, simply provide a + `mainModule` value of `false`: + ```js + "meteor": { + "mainModule": { + "client": false, + "server": "server/main.js" + } + } + ``` + [Feature #135](https://github.com/meteor/meteor-feature-requests/issues/135) + [PR #9690](https://github.com/meteor/meteor/pull/9690) + +* In addition to `meteor.mainModule`, the `"meteor"` section of + `package.json` may also specify `meteor.testModule` to control which + test modules are loaded by `meteor test` or `meteor test --full-app`: + ```js + "meteor": { + "mainModule": {...}, + "testModule": "tests.js" + } + ``` + If your client and server test files are different, you can expand the + `testModule` configuration using the same syntax as `mainModule`: + ```js + "meteor": { + "testModule": { + "client": "client/tests.js", + "server": "server/tests.js" + } + } + ``` + The same test module will be loaded whether or not you use the + `--full-app` option. Any tests that need to detect `--full-app` should + check `Meteor.isAppTest`. The module(s) specified by `meteor.testModule` + can import other test modules at runtime, so you can still distribute + test files across your codebase; just make sure you import the ones you + want to run. [PR #9714](https://github.com/meteor/meteor/pull/9714) + +* The `meteor create` command now supports a `--minimal` option, which + creates an app with as few Meteor packages as possible, in order to + minimize client bundle size while still demonstrating advanced features + such as server-side rendering. This starter application is a solid + foundation for any application that doesn't need Mongo or DDP. + +* The `meteor-babel` npm package has been updated to version + 7.0.0-beta.49-1. Note: while Babel has recently implemented support for + a new kind of `babel.config.js` configuration file (see [this + PR](https://github.com/babel/babel/pull/7358)), and future versions of + Meteor will no doubt embrace this functionality, Meteor 1.7 supports + only `.babelrc` files as a means of customizing the default Babel + configuration provided by Meteor. In other words, if your project + contains a `babel.config.js` file, it will be ignored by Meteor 1.7. + +* The `reify` npm package has been updated to version 0.16.2. + +* The `meteor-node-stubs` package, which provides stub implementations for + any Node built-in modules used by the client (such as `path` and + `http`), has a new minor version (0.4.1) that may help with Windows + installation problems. To install the new version, run + ```sh + meteor npm install meteor-node-stubs@latest + ``` + +* The `optimism` npm package has been updated to version 0.6.3. + +* The `minifier-js` package has been updated to use `uglify-es` 3.3.9. + +* Individual Meteor `self-test`'s can now be skipped by adjusting their + `define` call to be prefixed by `skip`. For example, + `selftest.skip.define('some test', ...` will skip running "some test". + [PR #9579](https://github.com/meteor/meteor/pull/9579) + +* Mongo has been upgraded to version 3.6.4 for 64-bit systems, and 3.2.19 + for 32-bit systems. [PR #9632](https://github.com/meteor/meteor/pull/9632) + + **NOTE:** After upgrading an application to use Mongo 3.6.4, it has been + observed ([#9591](https://github.com/meteor/meteor/issues/9591)) + that attempting to run that application with an older version of + Meteor (via `meteor --release X`), that uses an older version of Mongo, can + prevent the application from starting. This can be fixed by either + running `meteor reset`, or by repairing the Mongo database. To repair the + database, find the `mongod` binary on your system that lines up with the + Meteor release you're jumping back to, and run + `mongodb --dbpath your-apps-db --repair`. For example: + ```sh + ~/.meteor/packages/meteor-tool/1.6.0_1/mt-os.osx.x86_64/dev_bundle/mongodb/bin/mongod --dbpath /my-app/.meteor/local/db --repair + ``` + [PR #9632](https://github.com/meteor/meteor/pull/9632) + +* The `mongodb` driver package has been updated from version 2.2.34 to + version 3.0.7. [PR #9790](https://github.com/meteor/meteor/pull/9790) + [PR #9831](https://github.com/meteor/meteor/pull/9831) + [Feature #268](https://github.com/meteor/meteor-feature-requests/issues/268) + +* The `cordova-plugin-meteor-webapp` package depended on by the Meteor + `webapp` package has been updated to version 1.6.0. + [PR #9761](https://github.com/meteor/meteor/pull/9761) + +* Any settings read from a JSON file passed with the `--settings` option + during Cordova run/build/deploy will be exposed in `mobile-config.js` + via the `App.settings` property, similar to `Meteor.settings`. + [PR #9873](https://github.com/meteor/meteor/pull/9873) + +* The `@babel/plugin-proposal-class-properties` plugin provided by + `meteor-babel` now runs with the `loose:true` option, as required by + other (optional) plugins like `@babel/plugin-proposal-decorators`. + [Issue #9628](https://github.com/meteor/meteor/issues/9628) + +* The `underscore` package has been removed as a dependency from `meteor-base`. + This opens up the possibility of removing 14.4 kb from production bundles. + Since this would be a breaking change for any apps that may have been + using `_` without having any packages that depend on `underscore` + besides `meteor-base`, we have added an upgrader that will automatically + add `underscore` to the `.meteor/packages` file of any project which + lists `meteor-base`, but not `underscore`. Apps which do not require this + package can safely remove it using `meteor remove underscore`. + [PR #9596](https://github.com/meteor/meteor/pull/9596) + +* Meteor's `promise` package has been updated to support + [`Promise.prototype.finally`](https://github.com/tc39/proposal-promise-finally). + [Issue 9639](https://github.com/meteor/meteor/issues/9639) + [PR #9663](https://github.com/meteor/meteor/pull/9663) + +* Assets made available via symlinks in the `public` and `private` directories + of an application are now copied into Meteor application bundles when + using `meteor build`. This means npm package assets that need to be made + available publicly can now be symlinked from their `node_modules` location, + in the `public` directory, and remain available in production bundles. + [Issue #7013](https://github.com/meteor/meteor/issues/7013) + [PR #9666](https://github.com/meteor/meteor/pull/9666) + +* The `facts` package has been split into `facts-base` and `facts-ui`. The + original `facts` package has been deprecated. + [PR #9629](https://github.com/meteor/meteor/pull/9629) + +* If the new pseudo tag `` is used anywhere in the + `` of an app, it will be replaced by the `link` to Meteor's bundled + CSS. If the new tag isn't used, the bundle will be placed at the top of + the `` section as before (for backwards compatibility). + [Feature #24](https://github.com/meteor/meteor-feature-requests/issues/24) + [PR #9657](https://github.com/meteor/meteor/pull/9657) + +## v1.6.1.4, 2018-08-16 + +### Breaking changes +N/A + +### Migration Steps +N/A + +### Changes + +* Node has been updated to version + [8.11.4](https://nodejs.org/en/blog/release/v8.11.4/), an important + [security release](https://nodejs.org/en/blog/vulnerability/august-2018-security-releases/). + +## v1.6.1.3, 2018-06-16 + +### Breaking changes +N/A + +### Migration Steps +N/A + +### Changes + +* Node has been updated to version + [8.11.3](https://nodejs.org/en/blog/release/v8.11.3/), an important + [security release](https://nodejs.org/en/blog/vulnerability/june-2018-security-releases/). + +## v1.6.1.2, 2018-05-28 + +### Breaking changes +N/A + +### Migration Steps +N/A + +### Changes + +* Meteor 1.6.1.2 is a very small release intended to fix + [#9863](https://github.com/meteor/meteor/issues/9863) by making + [#9887](https://github.com/meteor/meteor/pull/9887) available to Windows + users without forcing them to update to Meteor 1.7 (yet). Thanks very + much to [@zodern](https://github.com/zodern) for identifying a solution + to this problem. [PR #9910](https://github.com/meteor/meteor/pull/9910) + +## v1.6.1.1, 2018-04-02 + +### Breaking changes +N/A + +### Migration Steps +* Update `@babel/runtime` npm package and any custom Babel plugin enabled in + `.babelrc` + ```sh + meteor npm install @babel/runtime@latest + ``` + +### Changes + +* Node has been updated to version + [8.11.1](https://nodejs.org/en/blog/release/v8.11.1/), an important + [security release](https://nodejs.org/en/blog/vulnerability/march-2018-security-releases/), + with a critical [patch](https://github.com/nodejs/node/pull/19477) + [applied](https://github.com/meteor/node/commits/v8.11.1-meteor) to + solve a segmentation fault + [problem](https://github.com/nodejs/node/issues/19274) that was + introduced in Node 8.10.0. + +* The `meteor-babel` npm package has been updated to version + 7.0.0-beta.42, which may require updating any custom Babel plugins + you've enabled in a `.babelrc` file, and/or running the following + command to update `@babel/runtime`: + ```sh + meteor npm install @babel/runtime@latest + ``` + +## v1.6.1, 2018-01-19 + +### Breaking changes + +* Meteor's Node Mongo driver is now configured with the + [`ignoreUndefined`](http://mongodb.github.io/node-mongodb-native/2.2/api/MongoClient.html#connect) + connection option set to `true`, to make sure fields with `undefined` + values are not first converted to `null`, when inserted/updated. `undefined` + values are now removed from all Mongo queries and insert/update documents. + + This is a potentially breaking change if you are upgrading an existing app + from an earlier version of Meteor. + + For example: + ```js + // return data pertaining to the current user + db.privateUserData.find({ + userId: currentUser._id // undefined + }); + ``` + Assuming there are no documents in the `privateUserData` collection with + `userId: null`, in Meteor versions prior to 1.6.1 this query will return + zero documents. From Meteor 1.6.1 onwards, this query will now return + _every_ document in the collection. It is highly recommend you review all + your existing queries to ensure that any potential usage of `undefined` in + query objects won't lead to problems. + +### Migration Steps +N/A + +### Changes + +* Node has been updated to version + [8.9.4](https://nodejs.org/en/blog/release/v8.9.4/). + +* The `meteor-babel` npm package (along with its Babel-related + dependencies) has been updated to version 7.0.0-beta.38, a major + update from Babel 6. Thanks to the strong abstraction of the + `meteor-babel` package, the most noticeable consequence of the Babel 7 + upgrade is that the `babel-runtime` npm package has been replaced by + `@babel/runtime`, which can be installed by running + ```js + meteor npm install @babel/runtime + ``` + in your application directory. There's a good chance that the old + `babel-runtime` package can be removed from your `package.json` + dependencies, though there's no harm in leaving it there. Please see + [this blog post](https://babeljs.io/blog/2017/09/12/planning-for-7.0) + for general information about updating to Babel 7 (note especially any + changes to plugins you've been using in any `.babelrc` files). + [PR #9440](https://github.com/meteor/meteor/pull/9440) + +* Because `babel-compiler@7.0.0` is a major version bump for a core + package, any package that explicitly depends on `babel-compiler` with + `api.use` or `api.imply` will need to be updated and republished in + order to remain compatible with Meteor 1.6.1. One notable example is the + `practicalmeteor:mocha` package. If you have been using this test-driver + package, we strongly recommend switching to `meteortesting:mocha` + instead. If you are the author of a package that depends on + `babel-compiler`, we recommend publishing your updated version using a + new major or minor version, so that you can continue releasing patch + updates compatible with older versions of Meteor, if necessary. + +* Meteor's Node Mongo driver is now configured with the + [`ignoreUndefined`](http://mongodb.github.io/node-mongodb-native/2.2/api/MongoClient.html#connect) + connection option set to `true`, to make sure fields with `undefined` + values are not first converted to `null`, when inserted/updated. `undefined` + values are now removed from all Mongo queries and insert/update documents. + [Issue #6051](https://github.com/meteor/meteor/issues/6051) + [PR #9444](https://github.com/meteor/meteor/pull/9444) + +* The `server-render` package now supports passing a `Stream` object to + `ServerSink` methods that previously expected a string, which enables + [streaming server-side rendering with React + 16](https://hackernoon.com/whats-new-with-server-side-rendering-in-react-16-9b0d78585d67): + ```js + import React from "react"; + import { renderToNodeStream } from "react-dom/server"; + import { onPageLoad } from "meteor/server-render"; + import App from "/imports/Server.js"; + + onPageLoad(sink => { + sink.renderIntoElementById("app", renderToNodeStream( + + )); + }); + ``` + [PR #9343](https://github.com/meteor/meteor/pull/9343) + +* The [`cordova-lib`](https://github.com/apache/cordova-cli) package has + been updated to version 7.1.0, + [`cordova-android`](https://github.com/apache/cordova-android/) has been + updated to version 6.4.0 (plus one additional + [commit](https://github.com/meteor/cordova-android/commit/317db7df0f7a054444197bc6d28453cf4ab23280)), + and [`cordova-ios`](https://github.com/apache/cordova-ios/) has been + updated to version 4.5.4. The cordova plugins `cordova-plugin-console`, + `cordova-plugin-device-motion`, and `cordova-plugin-device-orientation` + have been [deprecated](https://cordova.apache.org/news/2017/09/22/plugins-release.html) + and will likely be removed in a future Meteor release. + [Feature Request #196](https://github.com/meteor/meteor-feature-requests/issues/196) + [PR #9213](https://github.com/meteor/meteor/pull/9213) + [Issue #9447](https://github.com/meteor/meteor/issues/9447) + [PR #9448](https://github.com/meteor/meteor/pull/9448) + +* The previously-served `/manifest.json` application metadata file is now + served from `/__browser/manifest.json` for web browsers, to avoid + confusion with other kinds of `manifest.json` files. Cordova clients + will continue to load the manifest file from `/__cordova/manifest.json`, + as before. [Issue #6674](https://github.com/meteor/meteor/issues/6674) + [PR #9424](https://github.com/meteor/meteor/pull/9424) + +* The bundled version of MongoDB used by `meteor run` in development + on 64-bit architectures has been updated to 3.4.10. 32-bit architectures + will continue to use MongoDB 3.2.x versions since MongoDB is no longer + producing 32-bit versions of MongoDB for newer release tracks. + [PR #9396](https://github.com/meteor/meteor/pull/9396) + +* Meteor's internal `minifier-css` package has been updated to use `postcss` + for CSS parsing and minifying, instead of the abandoned `css-parse` and + `css-stringify` packages. Changes made to the `CssTools` API exposed by the + `minifier-css` package are mostly backwards compatible (the + `standard-minifier-css` package that uses it didn't have to change for + example), but now that we're using `postcss` the AST accepted and returned + from certain functions is different. This could impact developers who are + tying into Meteor's internal `minifier-css` package directly. The AST based + function changes are: + + * `CssTools.parseCss` now returns a PostCSS + [`Root`](http://api.postcss.org/Root.html) object. + * `CssTools.stringifyCss` expects a PostCSS `Root` object as its first + parameter. + * `CssTools.mergeCssAsts` expects an array of PostCSS `Root` objects as its + first parameter. + * `CssTools.rewriteCssUrls` expects a PostCSS `Root` object as its first + parameter. + + [PR #9263](https://github.com/meteor/meteor/pull/9263) + +* The `_` variable will once again remain bound to `underscore` (if + installed) in `meteor shell`, fixing a regression introduced by Node 8. + [PR #9406](https://github.com/meteor/meteor/pull/9406) + +* Dynamically `import()`ed modules will now be fetched from the + application server using an HTTP POST request, rather than a WebSocket + message. This strategy has all the benefits of the previous strategy, + except that it does not require establishing a WebSocket connection + before fetching dynamic modules, in exchange for slightly higher latency + per request. [PR #9384](https://github.com/meteor/meteor/pull/9384) + +* To reduce the total number of HTTP requests for dynamic modules, rapid + sequences of `import()` calls within the same tick of the event loop + will now be automatically batched into a single HTTP request. In other + words, the following code will result in only one HTTP request: + ```js + const [ + React, + ReactDOM + ] = await Promise.all([ + import("react"), + import("react-dom") + ]); + ``` + +* Thanks to a feature request and pull request from + [@CaptainN](https://github.com/CaptainN), all available dynamic modules + will be automatically prefetched after page load and permanently cached + in IndexedDB when the `appcache` package is in use, ensuring that + dynamic `import()` will work for offline apps. Although the HTML5 + Application Cache was deliberately *not* used for this prefetching, the + new behavior matches the spirit/intention of the `appcache` package. + [Feature Request #236](https://github.com/meteor/meteor-feature-requests/issues/236) + [PR #9482](https://github.com/meteor/meteor/pull/9482) + [PR #9434](https://github.com/meteor/meteor/pull/9434) + +* The `es5-shim` library is no longer included in the initial JavaScript + bundle, but is instead injected using a `