From c760a4cf2a22d072cc17f5a9e175d1f7889aaafa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joa=CC=83o=20Ramos?= Date: Mon, 6 Apr 2020 13:41:58 +0100 Subject: [PATCH 001/182] Sourcemaps are now being loaded from the ROOT_URL server instead of the current domain (#10671) --- tools/isobuild/bundler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index 5311ebbfd6..295a5fd0ec 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -2828,7 +2828,7 @@ function addSourceMappingURL(data, url, targetPath) { parts.push( newLineBuffer, - Buffer.from("//# sourceMappingURL=" + url, "utf8"), + Buffer.from("//# sourceMappingURL=" + (process.env.ROOT_URL || "") + url, "utf8"), newLineBuffer // trailing newline ); From eaade939c48a21c8248a8966a5ac63b01f0726ca Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Thu, 1 Oct 2020 11:48:00 +0200 Subject: [PATCH 002/182] Upgrade to Node v14 --- .circleci/config.yml | 2 +- History.md | 2 +- scripts/build-dev-bundle-common.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4228dd9986..9146b6e610 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -61,7 +61,7 @@ run_save_node_bin: &run_save_node_bin build_machine_environment: &build_machine_environment # Specify that we want an actual machine (ala Circle 1.0), not a Docker image. docker: - - image: meteor/circleci:android-28-node-12 + - image: meteor/circleci:android-28-node-14 environment: # This multiplier scales the waitSecs for selftests. TIMEOUT_SCALE_FACTOR: 8 diff --git a/History.md b/History.md index 0188317d83..312b802134 100644 --- a/History.md +++ b/History.md @@ -2,7 +2,7 @@ ### Breaking changes -N/A +* `node` has been updated to v14.13.0, this means among other things that Meteor is now build with [full-icu](https://nodejs.org/api/intl.html) support. ### Migration steps diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 5feb85aa56..a7d7f3a83c 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=12.18.4 +NODE_VERSION=14.13.0 MONGO_VERSION_64BIT=4.2.8 MONGO_VERSION_32BIT=3.2.22 NPM_VERSION=6.14.8 From 0c26503e6bbef1b42ea193aa61337ce93b7609ff Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Thu, 1 Oct 2020 12:01:05 +0200 Subject: [PATCH 003/182] Initial internal dependencies update --- scripts/dev-bundle-server-package.js | 20 ++++++------ scripts/dev-bundle-tool-package.js | 45 ++++++++++++++------------- tools/console/console.js | 4 --- tools/tests/apps/modules/package.json | 2 +- 4 files changed, 34 insertions(+), 37 deletions(-) diff --git a/scripts/dev-bundle-server-package.js b/scripts/dev-bundle-server-package.js index 8f400155d7..30a4725627 100644 --- a/scripts/dev-bundle-server-package.js +++ b/scripts/dev-bundle-server-package.js @@ -10,23 +10,23 @@ var packageJson = { dependencies: { // Keep the versions of these packages consistent with the versions // found in dev-bundle-tool-package.js. - fibers: "4.0.3", + fibers: "5.0.0", "meteor-promise": "0.8.7", - promise: "8.0.2", + promise: "8.1.0", reify: "0.20.12", - "@babel/parser": "7.9.4", - "@types/underscore": "1.9.2", - underscore: "1.9.1", + "@babel/parser": "7.11.5", + "@types/underscore": "1.10.24", + underscore: "1.11.0", "source-map-support": "https://github.com/meteor/node-source-map-support/tarball/1912478769d76e5df4c365e147f25896aee6375e", - "@types/semver": "5.4.0", - semver: "5.4.1" + "@types/semver": "5.5.0", + semver: "5.7.0" }, // These are only used in dev mode (by shell.js) so end-users can avoid // needing to install them if they use `npm install --production`. devDependencies: { - split2: "2.1.1", - multipipe: "1.0.2", - chalk: "0.5.1" + split2: "2.2.0", + multipipe: "2.0.1", + chalk: "4.1.0" } }; diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 82a717de51..37bc2f0aba 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -12,43 +12,44 @@ var packageJson = { // and we want to make sure there are no dependencies on a higher version npm: "6.14.8", pacote: "https://github.com/meteor/pacote/tarball/a81b0324686e85d22c7688c47629d4009000e8b8", - "node-gyp": "6.0.1", - "node-pre-gyp": "0.14.0", - typescript: "3.8.3", + "node-gyp": "6.1.0", + "node-pre-gyp": "0.15.0", + typescript: "3.9.5", "meteor-babel": "7.9.0", // Keep the versions of these packages consistent with the versions // found in dev-bundle-server-package.js. "meteor-promise": "0.8.7", - fibers: "4.0.3", + fibers: "5.0.0", reify: "0.20.12", // So that Babel can emit require("@babel/runtime/helpers/...") calls. - "@babel/runtime": "7.9.2", + "@babel/runtime": "7.11.2", // For backwards compatibility with isopackets that still depend on // babel-runtime rather than @babel/runtime. "babel-runtime": "7.0.0-beta.3", - "@types/underscore": "1.9.2", - underscore: "1.9.1", + "@types/underscore": "1.10.24", + underscore: "1.11.0", "source-map-support": "https://github.com/meteor/node-source-map-support/tarball/1912478769d76e5df4c365e147f25896aee6375e", "@types/semver": "5.4.0", - semver: "5.4.1", + semver: "5.7.0", request: "2.88.0", - uuid: "3.3.2", + uuid: "3.4.0", "graceful-fs": "4.2.2", fstream: "https://github.com/meteor/fstream/tarball/cf4ea6c175355cec7bee38311e170d08c4078a5d", - tar: "2.2.1", + tar: "2.2.2", // Fork of kexec@3.0.0 with my Node.js 12 compatibility PR // https://github.com/jprichardson/node-kexec/pull/37 applied. + // TODO: We should replace this with: https://github.com/jprichardson/node-kexec/pull/38 kexec: "https://github.com/meteor/node-kexec/tarball/f29f54037c7db6ad29e1781463b182e5929215a0", "source-map": "0.7.3", - chalk: "0.5.1", - sqlite3: "4.1.0", - "http-proxy": "1.16.2", + chalk: "4.1.0", + sqlite3: "5.0.0", + "http-proxy": "1.18.1", "is-reachable": "3.1.0", - "wordwrap": "0.0.2", - "moment": "2.20.1", - "rimraf": "2.6.2", - "glob": "7.1.2", - ignore: "3.3.7", + "wordwrap": "1.0.0", + "moment": "2.29.0", + "rimraf": "3.0.2", + "glob": "7.1.6", + ignore: "4.0.6", // XXX: When we update this, see if it fixes this Github issue: // https://github.com/jgm/CommonMark/issues/276 . If it does, remove the // workaround from the tool. @@ -59,11 +60,11 @@ var packageJson = { pathwatcher: "8.1.0", // The @wry/context package version must be compatible with the // version constraint imposed by optimism/package.json. - optimism: "0.11.3", - "@wry/context": "0.4.4", - 'lru-cache': '4.1.3', + optimism: "0.12.2", + "@wry/context": "0.5.2", + 'lru-cache': '4.1.5', "anser": "1.4.8", - 'xmlbuilder2': '1.3.0' + 'xmlbuilder2': '1.8.1' } }; diff --git a/tools/console/console.js b/tools/console/console.js index 4c96edfe81..b5dab8ce7e 100644 --- a/tools/console/console.js +++ b/tools/console/console.js @@ -78,10 +78,6 @@ const CARRIAGE_RETURN = process.platform === 'win32' && const FORCE_PRETTY = process.env.METEOR_PRETTY_OUTPUT && process.env.METEOR_PRETTY_OUTPUT != '0'; -if (! process.env.METEOR_COLOR) { - chalk.enabled = false; -} - const STATUS_MAX_LENGTH = 40; const PROGRESS_MAX_WIDTH = 40; diff --git a/tools/tests/apps/modules/package.json b/tools/tests/apps/modules/package.json index 0852a5fca0..d720d69a11 100644 --- a/tools/tests/apps/modules/package.json +++ b/tools/tests/apps/modules/package.json @@ -31,7 +31,7 @@ "regenerator-runtime": "^0.11.1", "stripe": "^4.4.0", "styled-components": "^4.3.2", - "uuid": "^3.1.0", + "uuid": "^3.4.0", "winston": "^2.3.1" }, "scripts": { From 0f32b0007877dbf1301c10f65bd97b03cc9008ed Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 1 Oct 2020 06:15:42 -0400 Subject: [PATCH 004/182] dev-bundle-14.13.0.0 --- meteor | 2 +- scripts/build-dev-bundle-common.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meteor b/meteor index 61f0feb7a5..8684419044 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=12.18.4.0 +BUNDLE_VERSION=14.13.0.0 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 5feb85aa56..a7d7f3a83c 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=12.18.4 +NODE_VERSION=14.13.0 MONGO_VERSION_64BIT=4.2.8 MONGO_VERSION_32BIT=3.2.22 NPM_VERSION=6.14.8 From 7711c754b1a78de3919a078b654b58a22ab5df80 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Sun, 4 Oct 2020 12:48:04 +0200 Subject: [PATCH 005/182] Update comment on MongoDB feature & remove versionFrom from dynamic-import Updated comment on parsing MongoDB error messages. Removed `api.versionFrom` from dynamic-import due to an error on startup: `error: packages in isopackets may not use versionsFrom` --- packages/accounts-base/accounts_server.js | 1 + packages/accounts-password/password_server.js | 2 +- packages/dynamic-import/package.js | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/accounts-base/accounts_server.js b/packages/accounts-base/accounts_server.js index eeea919ae5..060d80c96c 100644 --- a/packages/accounts-base/accounts_server.js +++ b/packages/accounts-base/accounts_server.js @@ -1111,6 +1111,7 @@ export class AccountsServer extends AccountsCommon { } catch (e) { // XXX string parsing sucks, maybe // https://jira.mongodb.org/browse/SERVER-3069 will get fixed one day + // https://jira.mongodb.org/browse/SERVER-4637 if (!e.errmsg) throw e; if (e.errmsg.includes('emails.address')) throw new Meteor.Error(403, "Email already exists."); diff --git a/packages/accounts-password/password_server.js b/packages/accounts-password/password_server.js index bfcc817710..d878bfffbf 100644 --- a/packages/accounts-password/password_server.js +++ b/packages/accounts-password/password_server.js @@ -222,7 +222,7 @@ const generateCasePermutationsForString = string => { permutations = [].concat(...(permutations.map(prefix => { const lowerCaseChar = ch.toLowerCase(); const upperCaseChar = ch.toUpperCase(); - // Don't add unneccesary permutations when ch is not a letter + // Don't add unnecessary permutations when ch is not a letter if (lowerCaseChar === upperCaseChar) { return [prefix + ch]; } else { diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index cc52ef3f70..96735ba5a4 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -6,7 +6,6 @@ Package.describe({ }); Package.onUse(function (api) { - api.versionsFrom('1.11.1'); // Do not allow this package to be used in pre-Meteor 1.5 apps. api.use("isobuild:dynamic-import@1.5.0"); From e7b4372c731d3512789d45e353cf23532f9bc550 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Tue, 6 Oct 2020 20:19:38 -0400 Subject: [PATCH 006/182] Upgrade to Node.js 14 - removes unused var --- scripts/generate-dev-bundle.ps1 | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/generate-dev-bundle.ps1 b/scripts/generate-dev-bundle.ps1 index d1f239f864..ac8fec6c56 100644 --- a/scripts/generate-dev-bundle.ps1 +++ b/scripts/generate-dev-bundle.ps1 @@ -19,7 +19,6 @@ $BUNDLE_VERSION = Read-VariableFromShellScript "${dirCheckout}\meteor" 'BUNDLE_V # extract the major package versions from the build-dev-bundle-common script. $MONGO_VERSION_64BIT = Read-VariableFromShellScript $shCommon 'MONGO_VERSION_64BIT' -$MONGO_VERSION_32BIT = Read-VariableFromShellScript $shCommon 'MONGO_VERSION_32BIT' $NPM_VERSION = Read-VariableFromShellScript $shCommon 'NPM_VERSION' From 67b72aa4779aa3fe77b183c2cf8d871788d49b87 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 30 Oct 2020 11:15:13 +0100 Subject: [PATCH 007/182] Update to Node v14.15 LTS --- meteor | 2 +- scripts/build-dev-bundle-common.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meteor b/meteor index 8684419044..326429534b 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.13.0.0 +BUNDLE_VERSION=14.15.0.0 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index a7d7f3a83c..28fd546a4a 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.13.0 +NODE_VERSION=14.15.0 MONGO_VERSION_64BIT=4.2.8 MONGO_VERSION_32BIT=3.2.22 NPM_VERSION=6.14.8 From 6644fcdf9500167ebd4359368e0b89fad971a462 Mon Sep 17 00:00:00 2001 From: Nathan Muir Date: Wed, 28 Oct 2020 11:08:06 +1300 Subject: [PATCH 008/182] webapp: respond appropriately to each http request method Fix incorrect responses, like sending content to OPTIONS requests, by implementing the following scheme: GET - Respond with the requested resource; static asset, boilerplate etc. HEAD - Return headers identical to GET request - Do not send content (Node.js will automatically skip response content) OPTIONS - Respond with 200 - Send an Allow Header listing acceptable request methods - Do not send content CONNECT, DELETE, PATCH, POST, PUT, TRACE, etc. - Respond with 405 Method Not Allowed - Send an Allow Header listing acceptable request methods - Do not send content --- packages/webapp/webapp_server.js | 42 +++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index bb81e549e7..e0de0f6c5f 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -426,10 +426,6 @@ WebAppInternals.staticFilesMiddleware = async function ( res, next, ) { - if ('GET' != req.method && 'HEAD' != req.method && 'OPTIONS' != req.method) { - next(); - return; - } var pathname = parseRequest(req).pathname; try { pathname = decodeURIComponent(pathname); @@ -439,11 +435,21 @@ WebAppInternals.staticFilesMiddleware = async function ( } var serveStaticJs = function (s) { - res.writeHead(200, { - 'Content-type': 'application/javascript; charset=UTF-8' - }); - res.write(s); - res.end(); + if (req.method === 'GET' || req.method === 'HEAD') { + res.writeHead(200, { + 'Content-type': 'application/javascript; charset=UTF-8', + 'Content-Length': Buffer.byteLength(s), + }); + res.write(s); + res.end(); + } else { + const status = req.method === 'OPTIONS' ? 200 : 405; + res.writeHead(status, { + 'Allow': 'OPTIONS, GET, HEAD', + 'Content-Length': '0', + }); + res.end(); + } }; if (_.has(additionalStaticJs, pathname) && @@ -476,6 +482,16 @@ WebAppInternals.staticFilesMiddleware = async function ( next(); return; } + // "send" will handle HEAD & GET requests + if (req.method !== 'HEAD' && req.method !== 'GET') { + const status = req.method === 'OPTIONS' ? 200 : 405; + res.writeHead(status, { + 'Allow': 'OPTIONS, GET, HEAD', + 'Content-Length': '0', + }) + res.end(); + return; + } // We don't need to call pause because, unlike 'static', once we call into // 'send' and yield to the event loop, we never call another handler with @@ -522,6 +538,7 @@ WebAppInternals.staticFilesMiddleware = async function ( } if (info.content) { + res.setHeader('Content-Length', Buffer.byteLength(info.content)); res.write(info.content); res.end(); } else { @@ -961,6 +978,13 @@ function runWebAppServer() { if (! appUrl(req.url)) { return next(); + } else if (req.method !== 'HEAD' && req.method !== 'GET') { + const status = req.method === 'OPTIONS' ? 200 : 405; + res.writeHead(status, { + 'Allow': 'OPTIONS, GET, HEAD', + 'Content-Length': '0', + }) + res.end(); } else { var headers = { 'Content-Type': 'text/html; charset=utf-8' From dd66cdf24aaffe29c16e806e8818ea698dc501f5 Mon Sep 17 00:00:00 2001 From: Nathan Muir Date: Wed, 28 Oct 2020 11:12:51 +1300 Subject: [PATCH 009/182] dynamic-import: add Allow & Content-Length headers to responses [RFC 7231 OPTIONS](https://tools.ietf.org/html/rfc7231#section-4.3.7) > A server generating a successful response to OPTIONS SHOULD send any header fields that might indicate optional features implemented by the server and applicable to the target resource (e.g., Allow) > A server MUST generate a Content-Length field with a value of "0" if no payload body is to be sent in the response. [RFC 7231 405 Method Not Allowed](https://tools.ietf.org/html/rfc7231#section-6.5.5) > The origin server MUST generate an Allow header field in a 405 response containing a list of the target resource's currently supported methods --- packages/dynamic-import/server.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/dynamic-import/server.js b/packages/dynamic-import/server.js index 8854b205f5..cb7561b109 100644 --- a/packages/dynamic-import/server.js +++ b/packages/dynamic-import/server.js @@ -67,6 +67,8 @@ function middleware(request, response) { if (request.method === "OPTIONS") { const acrh = request.headers["access-control-request-headers"]; + response.setHeader('Allow', 'OPTIONS, POST'); + response.setHeader('Content-Length', '0'); response.setHeader( "Access-Control-Allow-Headers", typeof acrh === "string" ? acrh : "*" @@ -102,11 +104,13 @@ function middleware(request, response) { }); } else { + const body = `method ${request.method} not allowed`; response.writeHead(405, { + Allow: "OPTIONS, POST", + 'Content-Length': Buffer.byteLength(body), "Cache-Control": "no-cache" }); - - response.end(`method ${request.method} not allowed`); + response.end(body); } } From 5f59a6ad157b444a550677a2e4ce8d71ca39660a Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 25 Nov 2020 14:24:57 +0100 Subject: [PATCH 010/182] Bump to Node 14.15.1 to include security patch Bumps to latest Node 14 version to include October security patch & bumps minimum node versions in dev bundle and boot. --- meteor | 2 +- scripts/build-dev-bundle-common.sh | 2 +- tools/cli/main.js | 2 +- tools/static-assets/server/boot.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meteor b/meteor index 326429534b..1f7464e68f 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.15.0.0 +BUNDLE_VERSION=14.15.1.0 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 28fd546a4a..9232e8b229 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.15.0 +NODE_VERSION=14.15.1 MONGO_VERSION_64BIT=4.2.8 MONGO_VERSION_32BIT=3.2.22 NPM_VERSION=6.14.8 diff --git a/tools/cli/main.js b/tools/cli/main.js index 16934fc0e7..be9c527cd0 100644 --- a/tools/cli/main.js +++ b/tools/cli/main.js @@ -604,7 +604,7 @@ Fiber(function () { // Check required Node version. // This code is duplicated in tools/server/boot.js. - var MIN_NODE_VERSION = 'v12.0.0'; + var MIN_NODE_VERSION = 'v14.0.0'; if (require('semver').lt(process.version, MIN_NODE_VERSION)) { Console.error( 'Meteor requires Node ' + MIN_NODE_VERSION + ' or later.'); diff --git a/tools/static-assets/server/boot.js b/tools/static-assets/server/boot.js index 6e78d35170..0db6c743cc 100644 --- a/tools/static-assets/server/boot.js +++ b/tools/static-assets/server/boot.js @@ -10,7 +10,7 @@ var npmRequire = require('./npm-require.js').require; var Profile = require('./profile').Profile; // This code is duplicated in tools/main.js. -var MIN_NODE_VERSION = 'v12.0.0'; +var MIN_NODE_VERSION = 'v14.0.0'; var hasOwn = Object.prototype.hasOwnProperty; From e6773ed40f179a5653ac7857e8335c4dde0ab9c4 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Sat, 19 Dec 2020 19:15:03 +0100 Subject: [PATCH 011/182] Update to Node v14.15.3 --- History.md | 2 +- meteor | 2 +- scripts/build-dev-bundle-common.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/History.md b/History.md index 312b802134..943617b3f3 100644 --- a/History.md +++ b/History.md @@ -2,7 +2,7 @@ ### Breaking changes -* `node` has been updated to v14.13.0, this means among other things that Meteor is now build with [full-icu](https://nodejs.org/api/intl.html) support. +* `node` has been updated to v14.15.3, this means among other things that Meteor is now build with [full-icu](https://nodejs.org/api/intl.html) support. ### Migration steps diff --git a/meteor b/meteor index 1f7464e68f..fda0ef07d7 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.15.1.0 +BUNDLE_VERSION=14.15.3.0 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 9232e8b229..21e1ba90a3 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.15.1 +NODE_VERSION=14.15.3 MONGO_VERSION_64BIT=4.2.8 MONGO_VERSION_32BIT=3.2.22 NPM_VERSION=6.14.8 From fd8707f27f4efc8d2053fedc99bbf41890fb264a Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Tue, 5 Jan 2021 14:37:27 +0100 Subject: [PATCH 012/182] Bump to Node 14.15.4 --- History.md | 2 +- meteor | 2 +- scripts/build-dev-bundle-common.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/History.md b/History.md index 8c327def12..5b221b7013 100644 --- a/History.md +++ b/History.md @@ -2,7 +2,7 @@ ### Breaking changes -* `node` has been updated to v14.15.3, this means among other things that Meteor is now build with [full-icu](https://nodejs.org/api/intl.html) support. +* `node` has been updated to v14.15.4, this means among other things that Meteor is now build with [full-icu](https://nodejs.org/api/intl.html) support. ### Migration steps diff --git a/meteor b/meteor index fda0ef07d7..4d7994b04d 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.15.3.0 +BUNDLE_VERSION=14.15.4.0 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 21e1ba90a3..3d72ecc771 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.15.3 +NODE_VERSION=14.15.4 MONGO_VERSION_64BIT=4.2.8 MONGO_VERSION_32BIT=3.2.22 NPM_VERSION=6.14.8 From 37b009d9136107f3c0d43f80469d4ee8f08436e0 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 14 Jan 2021 09:40:50 -0400 Subject: [PATCH 013/182] Uses docker image with node-12 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8789b394ad..c2de637bcf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -61,7 +61,7 @@ run_save_node_bin: &run_save_node_bin build_machine_environment: &build_machine_environment # Specify that we want an actual machine (ala Circle 1.0), not a Docker image. docker: - - image: meteor/circleci:android-28-node-14 + - image: meteor/circleci:android-28-node-12 environment: # This multiplier scales the waitSecs for selftests. TIMEOUT_SCALE_FACTOR: 8 From fc0a48242fd2ae3dadb3ccdfe33c69308dfcd123 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 14 Jan 2021 10:26:11 -0400 Subject: [PATCH 014/182] Install types to avoid: error TS2688: Cannot find type definition file for 'node'. --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index c2de637bcf..ed518d709a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -149,6 +149,7 @@ jobs: command: | eval $PRE_TEST_COMMANDS; pushd tools + npm install @types/node --save-dev # Ensure that meteor/tools has no TypeScript errors. ../meteor npx tsc --noEmit popd From 3da156c11b26b62f2205a7e295a1a02925e5f094 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 14 Jan 2021 10:50:00 -0400 Subject: [PATCH 015/182] Fixes longest type on archinfo --- tools/utils/archinfo.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/utils/archinfo.ts b/tools/utils/archinfo.ts index 4d77c2d853..64f5bd2cbd 100644 --- a/tools/utils/archinfo.ts +++ b/tools/utils/archinfo.ts @@ -299,7 +299,7 @@ export function leastSpecificDescription(programs: string[]): string { } // Find the longest string - const longest = max(programs, (p: string) => p.length); + const longest = String(max(programs, (p: string) => p.length)); // If everything else in the list is compatible with the longest, // then it must be the most specific, and if everything is From 04b5d9b33c061a6bebc161e18dcecd051eec6a1d Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 14 Jan 2021 11:50:15 -0400 Subject: [PATCH 016/182] Fixes tests using writeFileSync without content --- packages/webapp/socket_file_tests.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/webapp/socket_file_tests.js b/packages/webapp/socket_file_tests.js index b263e6c695..90c86147a3 100644 --- a/packages/webapp/socket_file_tests.js +++ b/packages/webapp/socket_file_tests.js @@ -18,7 +18,7 @@ const removeTestSocketFile = () => { } Tinytest.add("socket file - don't remove a non-socket file", test => { - writeFileSync(testSocketFile); + writeFileSync(testSocketFile, ""); test.throws( () => { removeExistingSocketFile(testSocketFile); }, /An existing file was found/ @@ -58,7 +58,7 @@ Tinytest.add('socket file - remove socket file on exit', test => { const testEventEmitter = new EventEmitter(); registerSocketFileCleanup(testSocketFile, testEventEmitter); ['exit', 'SIGINT', 'SIGHUP', 'SIGTERM'].forEach(signal => { - writeFileSync(testSocketFile); + writeFileSync(testSocketFile, ""); test.isNotUndefined(statSync(testSocketFile)); testEventEmitter.emit(signal); test.throws( From dc2b2ca1e1cd999de4677f91c29512fe427554d8 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 14 Jan 2021 15:34:17 -0400 Subject: [PATCH 017/182] Adds timeout as an option to Sandbox.createApp --- tools/tests/update-tests.js | 3 ++- tools/tool-testing/sandbox.js | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/tests/update-tests.js b/tools/tests/update-tests.js index 035246d3d9..3da4f8bfe0 100644 --- a/tools/tests/update-tests.js +++ b/tools/tests/update-tests.js @@ -35,7 +35,8 @@ selftest.define("'meteor update' alters constraints in `.meteor/packages`", () = }); s.createApp("myapp", "very-simple-app-with-no-package-constraints", { - release: DEFAULT_RELEASE_TRACK + '@v1' + release: DEFAULT_RELEASE_TRACK + '@v1', + timeout: 300, }); s.cd("myapp"); diff --git a/tools/tool-testing/sandbox.js b/tools/tool-testing/sandbox.js index 03bd27d317..86ab0b9f4d 100644 --- a/tools/tool-testing/sandbox.js +++ b/tools/tool-testing/sandbox.js @@ -83,7 +83,7 @@ export default class Sandbox { this.warehouse = files.pathJoin(this.root, 'tropohouse'); this._makeWarehouse(this.options.warehouse); } - + const meteorScript = process.platform === "win32" ? "meteor.bat" : "meteor"; // Figure out the 'meteor' to run @@ -211,7 +211,7 @@ export default class Sandbox { // multiple calls to createApp with the same template get the same cache? // This is a little tricky because isopack-buildinfo.json uses absolute // paths. - run.waitSecs(120); + run.waitSecs(options.timeout || 120); run.expectExit(0); }); } From e41276fd5237d0fd40883dacc93095e373f4e1c8 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 14 Jan 2021 16:04:19 -0400 Subject: [PATCH 018/182] Revert "Adds timeout as an option to Sandbox.createApp" This reverts commit dc2b2ca1 --- tools/tests/update-tests.js | 3 +-- tools/tool-testing/sandbox.js | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/tools/tests/update-tests.js b/tools/tests/update-tests.js index 3da4f8bfe0..035246d3d9 100644 --- a/tools/tests/update-tests.js +++ b/tools/tests/update-tests.js @@ -35,8 +35,7 @@ selftest.define("'meteor update' alters constraints in `.meteor/packages`", () = }); s.createApp("myapp", "very-simple-app-with-no-package-constraints", { - release: DEFAULT_RELEASE_TRACK + '@v1', - timeout: 300, + release: DEFAULT_RELEASE_TRACK + '@v1' }); s.cd("myapp"); diff --git a/tools/tool-testing/sandbox.js b/tools/tool-testing/sandbox.js index 86ab0b9f4d..03bd27d317 100644 --- a/tools/tool-testing/sandbox.js +++ b/tools/tool-testing/sandbox.js @@ -83,7 +83,7 @@ export default class Sandbox { this.warehouse = files.pathJoin(this.root, 'tropohouse'); this._makeWarehouse(this.options.warehouse); } - + const meteorScript = process.platform === "win32" ? "meteor.bat" : "meteor"; // Figure out the 'meteor' to run @@ -211,7 +211,7 @@ export default class Sandbox { // multiple calls to createApp with the same template get the same cache? // This is a little tricky because isopack-buildinfo.json uses absolute // paths. - run.waitSecs(options.timeout || 120); + run.waitSecs(120); run.expectExit(0); }); } From fda5e54ac414216a678f7b0486778e4646f3a47e Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 14 Jan 2021 16:06:07 -0400 Subject: [PATCH 019/182] Dont prepare app --- tools/tests/update-tests.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/tests/update-tests.js b/tools/tests/update-tests.js index 035246d3d9..b8e7015821 100644 --- a/tools/tests/update-tests.js +++ b/tools/tests/update-tests.js @@ -35,7 +35,8 @@ selftest.define("'meteor update' alters constraints in `.meteor/packages`", () = }); s.createApp("myapp", "very-simple-app-with-no-package-constraints", { - release: DEFAULT_RELEASE_TRACK + '@v1' + release: DEFAULT_RELEASE_TRACK + '@v1', + dontPrepareApp: true, }); s.cd("myapp"); From 11f5745b39fd93c9f93600f6f1eab106b31afcf2 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 11 Feb 2021 15:17:46 -0400 Subject: [PATCH 020/182] bump to Node 14.15.5 --- meteor | 2 +- scripts/build-dev-bundle-common.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meteor b/meteor index 763dad4d3f..05c62a68e4 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.15.4.1 +BUNDLE_VERSION=14.15.4.2 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 3d72ecc771..235f8354b2 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -5,10 +5,10 @@ set -u UNAME=$(uname) ARCH=$(uname -m) -NODE_VERSION=14.15.4 +NODE_VERSION=14.15.5 MONGO_VERSION_64BIT=4.2.8 MONGO_VERSION_32BIT=3.2.22 -NPM_VERSION=6.14.8 +NPM_VERSION=6.14.11 # If we built Node from source on Jenkins, this is the build number. NODE_BUILD_NUMBER= From 6e1624fd603abadaaf88778ca8d85ccfa8f71863 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 11 Feb 2021 15:19:47 -0400 Subject: [PATCH 021/182] bump to Node 14.15.5 --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 05c62a68e4..02c11d9d70 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.15.4.2 +BUNDLE_VERSION=14.15.5.0 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 8b9296e2de22b3195b4f2fa37cf5d7c222d0fd06 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Tue, 23 Feb 2021 20:14:21 -0400 Subject: [PATCH 022/182] bump to Node 14.16.0 --- meteor | 2 +- scripts/build-dev-bundle-common.sh | 2 +- scripts/dev-bundle-tool-package.js | 2 +- scripts/generate-dev-bundle.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meteor b/meteor index 02c11d9d70..4743293ca6 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.15.5.0 +BUNDLE_VERSION=14.16.0.0 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 235f8354b2..2589e8c369 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.15.5 +NODE_VERSION=14.16.0 MONGO_VERSION_64BIT=4.2.8 MONGO_VERSION_32BIT=3.2.22 NPM_VERSION=6.14.11 diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 5b65d1864b..7c2f9d3a78 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -10,7 +10,7 @@ var packageJson = { dependencies: { // Explicit dependency because we are replacing it with a bundled version // and we want to make sure there are no dependencies on a higher version - npm: "6.14.8", + npm: "6.14.11", pacote: "https://github.com/meteor/pacote/tarball/a81b0324686e85d22c7688c47629d4009000e8b8", "node-gyp": "6.1.0", "node-pre-gyp": "0.15.0", diff --git a/scripts/generate-dev-bundle.sh b/scripts/generate-dev-bundle.sh index 50a9dfc053..47f6684300 100755 --- a/scripts/generate-dev-bundle.sh +++ b/scripts/generate-dev-bundle.sh @@ -176,7 +176,7 @@ find . -path '*/esprima-fb/test' | xargs rm -rf INSTALLED_NPM_VERSION=$(cat "$DIR/lib/node_modules/npm/package.json" | xargs -0 node -e "console.log(JSON.parse(process.argv[1]).version)") if [ "$INSTALLED_NPM_VERSION" != "$NPM_VERSION" ]; then - echo "Unexpected NPM version in lib/node_modules: $INSTALLED_NPM_VERSION" + echo "Error: Unexpected NPM version in lib/node_modules: $INSTALLED_NPM_VERSION" echo "Update this check if you know what you're doing." exit 1 fi From 5ed26e96b2ceaa8bf3fa155bd30f69b7291dd4e5 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Tue, 23 Feb 2021 20:46:38 -0400 Subject: [PATCH 023/182] fix BigIntStats error on TypeScript ignore Operator '&' cannot be applied to types 'number | bigint' and 'number'. --- tools/fs/files.ts | 6 ++++++ tools/fs/safe-watcher.ts | 4 ++-- tools/fs/watch.ts | 6 +++--- tools/isobuild/resolver.ts | 6 +++--- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/tools/fs/files.ts b/tools/fs/files.ts index b91a5a6799..9980d767ff 100644 --- a/tools/fs/files.ts +++ b/tools/fs/files.ts @@ -404,6 +404,8 @@ export function treeHash(root: string, optionsParams: { } hash.update('file ' + JSON.stringify(relativePath) + ' ' + stat.size + ' ' + fileHash(absPath) + '\n'); + + // @ts-ignore if (stat.mode & 0o100) { hash.update('exec\n'); } @@ -537,6 +539,8 @@ export function cp_r(from: string, to: string, options: { // owner. (This mode will be modified by umask.) We don't copy the // mode *directly* because this function is used by 'meteor create' // which is copying from the read-only tools tree into a writable app. + + // @ts-ignore mode: (stat.mode & 0o100) ? 0o777 : 0o666, }); @@ -1698,6 +1702,8 @@ export function copyFile(from: string, to: string, flags = 0) { // modified by umask.) We don't copy the mode *directly* because this function // is used by 'meteor create' which is copying from the read-only tools tree // into a writable app. + + // @ts-ignore chmod(to, (stat.mode & 0o100) ? 0o777 : 0o666); } } diff --git a/tools/fs/safe-watcher.ts b/tools/fs/safe-watcher.ts index c90fa56c18..909dfa6b26 100644 --- a/tools/fs/safe-watcher.ts +++ b/tools/fs/safe-watcher.ts @@ -1,4 +1,4 @@ -import { FSWatcher, Stats } from "fs"; +import { FSWatcher, Stats, BigIntStats } from "fs"; import { Profile } from "../tool-env/profile"; import { statOrNull, @@ -89,7 +89,7 @@ function acquireWatcher(absPath: string, callback: EntryCallback) { } function startNewWatcher(absPath: string): Entry { - let stat: Stats | null = null; + let stat: Stats | BigIntStats | null = null; if (DEDUPLICATE_BY_INO) { stat = statOrNull(absPath); diff --git a/tools/fs/watch.ts b/tools/fs/watch.ts index f473840331..970d38be09 100644 --- a/tools/fs/watch.ts +++ b/tools/fs/watch.ts @@ -1,4 +1,4 @@ -import { Stats, FSWatcher, Dirent } from "fs"; +import { Stats, BigIntStats, FSWatcher, Dirent } from "fs"; import * as files from "./files"; import * as safeWatcher from "./safe-watcher"; import { createHash } from "crypto"; @@ -351,7 +351,7 @@ function readAndStatDirectory(absPath: string) { // Add slashes to the end of directories. const contentsWithSlashes: string[] = []; contents.forEach(entry => { - let stat: Dirent | Stats | null = entry; + let stat: Dirent | Stats | BigIntStats | null = entry; let name = entry.name; if (entry.isSymbolicLink()) { @@ -428,7 +428,7 @@ export class Watcher { watcher: safeWatcher.SafeWatcher | null; // Undefined until we stat the file for the first time, then null // if the file is observed to be missing. - lastStat?: Stats | null + lastStat?: Stats | BigIntStats | null }> = Object.create(null); constructor(options: { diff --git a/tools/isobuild/resolver.ts b/tools/isobuild/resolver.ts index 0092f20fb4..c84c56f29e 100644 --- a/tools/isobuild/resolver.ts +++ b/tools/isobuild/resolver.ts @@ -14,7 +14,7 @@ import { convertToOSPath, convertToPosixPath, } from "../fs/files"; -import { Stats } from "fs"; +import { Stats, BigIntStats } from "fs"; import { wrap } from "optimism"; import { optimisticStatOrNull, @@ -42,7 +42,7 @@ export type ResolverOptions = { } export type Resolution = { - stat: Stats; + stat: Stats | BigIntStats; path: string; packageJsonMap?: Record>; id?: string; @@ -63,7 +63,7 @@ export default class Resolver { private nodeModulesPaths: string[]; private mainFields: string[]; - public statOrNull = optimisticStatOrNull as (path: string) => Stats | null; + public statOrNull = optimisticStatOrNull as (path: string) => Stats | BigIntStats | null; constructor({ sourceRoot, From c4b72f457e97cd7582673cedfb311612dd0ff041 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Tue, 23 Feb 2021 21:34:24 -0400 Subject: [PATCH 024/182] Increases get-ready timeout to 30m --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d77c6fddd9..2043685b38 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -154,8 +154,8 @@ jobs: ../meteor npx tsc --noEmit popd ./meteor --get-ready - # shouldn't take longer than 20 minutes - no_output_timeout: 20m + # shouldn't take longer than 30 minutes + no_output_timeout: 30m - run: <<: *run_save_node_bin - persist_to_workspace: From c231fe7daa7bac173b3315d26080b1086ca96f8d Mon Sep 17 00:00:00 2001 From: filipenevola Date: Tue, 23 Feb 2021 22:45:57 -0400 Subject: [PATCH 025/182] Testing circleci without get-ready --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2043685b38..9739f53310 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -153,7 +153,7 @@ jobs: # Ensure that meteor/tools has no TypeScript errors. ../meteor npx tsc --noEmit popd - ./meteor --get-ready +# METEOR_TEST_PRINT_LINKER_CACHE_DEBUG=1 METEOR_PROFILE=1 ./meteor --get-ready # shouldn't take longer than 30 minutes no_output_timeout: 30m - run: From 19b4442cec6dd86b7cf79d46b0398e40b63127b9 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Wed, 24 Feb 2021 06:19:18 -0400 Subject: [PATCH 026/182] Change selftest plan flag to preview to avoid conflict with deploy plan flag --- tools/cli/commands.js | 4 ++-- tools/tool-testing/selftest.js | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index 5c8653aab2..876ff244b3 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -2300,7 +2300,7 @@ main.registerCommand({ // Limit tests, after filter limit: { type: Number }, // Don't run tests, just show the plan after filter, skip and limit - plan: { type: Boolean }, + preview: { type: Boolean }, }, hidden: true, catalogRefresh: new catalog.Refresh.Never() @@ -2405,7 +2405,7 @@ main.registerCommand({ 'with-tag': options['with-tag'], skip: options.skip, limit: options.limit, - plan: options.plan, + preview: options.preview, }); }); diff --git a/tools/tool-testing/selftest.js b/tools/tool-testing/selftest.js index 50883e6b19..920d9a123e 100644 --- a/tools/tool-testing/selftest.js +++ b/tools/tool-testing/selftest.js @@ -601,17 +601,17 @@ export function runTests(options) { options, }); const skipMessage = shouldSkip - ? options.plan + ? options.preview ? 'will skip' : 'skipped' - : options.plan + : options.preview ? 'will run' : 'running'; const countMessage = `(${index + 1}/${testList.filteredTests.length})`; const testMessage = `${test.file}.js test:${test.name} ...`; Console.error(`${skipMessage} ${countMessage} ${testMessage}`); - if (shouldSkip || options.plan) { + if (shouldSkip || options.preview) { return; } From 133a36b40583e7880054117bc9d1dc47e734aa7c Mon Sep 17 00:00:00 2001 From: filipenevola Date: Wed, 24 Feb 2021 06:21:56 -0400 Subject: [PATCH 027/182] Increases get-ready timeout to 40m - It's running in less than 3 minutes on my machine but ....CircleCi is always like this --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9739f53310..c5a21aa179 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -153,9 +153,9 @@ jobs: # Ensure that meteor/tools has no TypeScript errors. ../meteor npx tsc --noEmit popd -# METEOR_TEST_PRINT_LINKER_CACHE_DEBUG=1 METEOR_PROFILE=1 ./meteor --get-ready - # shouldn't take longer than 30 minutes - no_output_timeout: 30m + ./meteor --get-ready + # shouldn't take longer than 40 minutes + no_output_timeout: 40m - run: <<: *run_save_node_bin - persist_to_workspace: From a57ea935f46705849556ed788d91fc27ee301c31 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Wed, 24 Feb 2021 08:49:15 -0400 Subject: [PATCH 028/182] Create a script to run selftest in the new CI --- scripts/ci/run-selftest-ci.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 scripts/ci/run-selftest-ci.sh diff --git a/scripts/ci/run-selftest-ci.sh b/scripts/ci/run-selftest-ci.sh new file mode 100644 index 0000000000..66a9e5084e --- /dev/null +++ b/scripts/ci/run-selftest-ci.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -e +set -u + +ulimit -c unlimited; # Set core dump size as Ubuntu 14.04 lacks prlimit. +ulimit -a # Display all ulimit settings for transparency. + +pushd tools +# Ensure that meteor/tools has no TypeScript errors. +../meteor npx tsc --noEmit +popd +./meteor --get-ready From 33f42647d16564988162275ab4bbeb354a72d2ff Mon Sep 17 00:00:00 2001 From: filipenevola Date: Wed, 24 Feb 2021 08:50:03 -0400 Subject: [PATCH 029/182] Create a script to run selftest in the new CI --- scripts/ci/run-selftest-ci.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/ci/run-selftest-ci.sh b/scripts/ci/run-selftest-ci.sh index 66a9e5084e..00485477cb 100644 --- a/scripts/ci/run-selftest-ci.sh +++ b/scripts/ci/run-selftest-ci.sh @@ -6,6 +6,7 @@ set -u ulimit -c unlimited; # Set core dump size as Ubuntu 14.04 lacks prlimit. ulimit -a # Display all ulimit settings for transparency. +cd ../../ pushd tools # Ensure that meteor/tools has no TypeScript errors. ../meteor npx tsc --noEmit From cde966e4356904d19b9b504fa5ccdb718df60950 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Wed, 24 Feb 2021 08:51:58 -0400 Subject: [PATCH 030/182] Create a script to run selftest in the new CI --- scripts/ci/run-selftest-ci.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/ci/run-selftest-ci.sh b/scripts/ci/run-selftest-ci.sh index 00485477cb..66a9e5084e 100644 --- a/scripts/ci/run-selftest-ci.sh +++ b/scripts/ci/run-selftest-ci.sh @@ -6,7 +6,6 @@ set -u ulimit -c unlimited; # Set core dump size as Ubuntu 14.04 lacks prlimit. ulimit -a # Display all ulimit settings for transparency. -cd ../../ pushd tools # Ensure that meteor/tools has no TypeScript errors. ../meteor npx tsc --noEmit From 3c72ff7edd5f33331531778b5a88e3b92962a862 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Wed, 24 Feb 2021 10:01:23 -0400 Subject: [PATCH 031/182] Create a script to run selftest in the new CI --- scripts/ci/run-selftest-ci.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/ci/run-selftest-ci.sh b/scripts/ci/run-selftest-ci.sh index 66a9e5084e..1667ee11c7 100644 --- a/scripts/ci/run-selftest-ci.sh +++ b/scripts/ci/run-selftest-ci.sh @@ -8,6 +8,10 @@ ulimit -a # Display all ulimit settings for transparency. pushd tools # Ensure that meteor/tools has no TypeScript errors. +echo "typescript compiler starting" ../meteor npx tsc --noEmit +echo "typescript compiler finished" popd +echo "meteor get-ready starting" ./meteor --get-ready +echo "meteor get-ready finished" From f5daf8544fb0d9483655d2f5d6bd991a387aa874 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Wed, 24 Feb 2021 10:07:17 -0400 Subject: [PATCH 032/182] Create a script to run selftest in the new CI --- scripts/ci/run-selftest-ci.sh | 36 +++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/scripts/ci/run-selftest-ci.sh b/scripts/ci/run-selftest-ci.sh index 1667ee11c7..ec9a8111af 100644 --- a/scripts/ci/run-selftest-ci.sh +++ b/scripts/ci/run-selftest-ci.sh @@ -6,6 +6,8 @@ set -u ulimit -c unlimited; # Set core dump size as Ubuntu 14.04 lacks prlimit. ulimit -a # Display all ulimit settings for transparency. +METEOR_SELF_TEST_RETRIES=0 + pushd tools # Ensure that meteor/tools has no TypeScript errors. echo "typescript compiler starting" @@ -15,3 +17,37 @@ popd echo "meteor get-ready starting" ./meteor --get-ready echo "meteor get-ready finished" + +# selftest +echo "meteor self-test isolated starting" +./meteor self-test \ + 'add debugOnly and prodOnly packages' \ + --retries ${METEOR_SELF_TEST_RETRIES} \ + --headless +echo "meteor self-test isolated finished" +echo "meteor self-test first 0-50 starting" +./meteor self-test \ + --headless \ + --without-tag "custom-warehouse" \ + --retries ${METEOR_SELF_TEST_RETRIES} \ + --exclude "add debugOnly and prodOnly packages" \ + --limit 50 \ + --skip 0 +echo "meteor self-test first 0-50 finished" +echo "meteor self-test first 51-100 starting" +./meteor self-test \ + --headless \ + --without-tag "custom-warehouse" \ + --retries ${METEOR_SELF_TEST_RETRIES} \ + --exclude "add debugOnly and prodOnly packages" \ + --limit 100 \ + --skip 50 +echo "meteor self-test first 51-100 finished" +echo "meteor self-test first 101- starting" +./meteor self-test \ + --headless \ + --without-tag "custom-warehouse" \ + --retries ${METEOR_SELF_TEST_RETRIES} \ + --exclude "add debugOnly and prodOnly packages" \ + --skip 100 +echo "meteor self-test first 101- finished" From 91191af045a805b0a44b70d62846c59cf993755d Mon Sep 17 00:00:00 2001 From: filipenevola Date: Wed, 24 Feb 2021 10:10:58 -0400 Subject: [PATCH 033/182] Create a script to run selftest in the new CI --- scripts/ci/run-selftest-ci.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/ci/run-selftest-ci.sh b/scripts/ci/run-selftest-ci.sh index ec9a8111af..7135481f85 100644 --- a/scripts/ci/run-selftest-ci.sh +++ b/scripts/ci/run-selftest-ci.sh @@ -19,12 +19,6 @@ echo "meteor get-ready starting" echo "meteor get-ready finished" # selftest -echo "meteor self-test isolated starting" -./meteor self-test \ - 'add debugOnly and prodOnly packages' \ - --retries ${METEOR_SELF_TEST_RETRIES} \ - --headless -echo "meteor self-test isolated finished" echo "meteor self-test first 0-50 starting" ./meteor self-test \ --headless \ @@ -51,3 +45,9 @@ echo "meteor self-test first 101- starting" --exclude "add debugOnly and prodOnly packages" \ --skip 100 echo "meteor self-test first 101- finished" +echo "meteor self-test isolated starting" +./meteor self-test \ + 'add debugOnly and prodOnly packages' \ + --retries ${METEOR_SELF_TEST_RETRIES} \ + --headless +echo "meteor self-test isolated finished" From eff63159b6fc03bfedd27b6f9f2ccbf6b31b0a7e Mon Sep 17 00:00:00 2001 From: filipenevola Date: Wed, 17 Mar 2021 10:47:08 -0400 Subject: [PATCH 034/182] Install @types/node in the new CI setup --- scripts/ci/run-selftest-ci.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/ci/run-selftest-ci.sh b/scripts/ci/run-selftest-ci.sh index 7135481f85..649d86b3b2 100644 --- a/scripts/ci/run-selftest-ci.sh +++ b/scripts/ci/run-selftest-ci.sh @@ -10,6 +10,8 @@ METEOR_SELF_TEST_RETRIES=0 pushd tools # Ensure that meteor/tools has no TypeScript errors. +echo "install @types/node" +npm install @types/node --save-dev echo "typescript compiler starting" ../meteor npx tsc --noEmit echo "typescript compiler finished" From 67d225cc5ef64e330315b68486a4cce5dc3030e7 Mon Sep 17 00:00:00 2001 From: Vlad Lasky Date: Mon, 29 Mar 2021 16:13:33 +1100 Subject: [PATCH 035/182] Added support for this.unblock() in Meteor.publish() context. Based on code in Atmosphere package lamhieu:unblock, forked from meteorhacks:unblock See: https://github.com/lamhieu-vk/unblock/ https://github.com/meteorhacks/unblock/ --- packages/ddp-server/livedata_server.js | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/ddp-server/livedata_server.js b/packages/ddp-server/livedata_server.js index 7de0f1517d..d6bd47f2e8 100644 --- a/packages/ddp-server/livedata_server.js +++ b/packages/ddp-server/livedata_server.js @@ -2,6 +2,9 @@ DDPServer = {}; var Fiber = Npm.require('fibers'); +let cachedUnblock; +function emptyFunction() {}; + // This file contains classes: // * Session - The server's connection to a single DDP client // * Subscription - A single subscription for a single client @@ -567,9 +570,13 @@ _.extend(Session.prototype, { }, protocol_handlers: { - sub: function (msg) { + sub: function (msg, unblock) { var self = this; + // cacheUnblock temporarly, so we can capture it later + // we will use unblock in current eventLoop, so this is safe + cachedUnblock = unblock; + // reject malformed messages if (typeof (msg.id) !== "string" || typeof (msg.name) !== "string" || @@ -624,6 +631,8 @@ _.extend(Session.prototype, { self._startSubscription(handler, msg.id, msg.params, msg.name); + // cleaning cached unblock + cachedUnblock = null; }, unsub: function (msg) { @@ -852,6 +861,13 @@ _.extend(Session.prototype, { var sub = new Subscription( self, handler, subId, params, name); + + let unblockHander = cachedUnblock; + // _startSubscription may call from a lot places + // so cachedUnblock might be null in somecases + // assign the cachedUnblock + sub.unblock = unblockHander || emptyFunction; + if (subId) self._namedSubs.set(subId, sub); else @@ -1039,6 +1055,10 @@ _.extend(Subscription.prototype, { // methods waiting on data from Mongo (or whatever else the function // blocks on). This probably slows page load in common cases. + if (!this.unblock) { + this.unblock = emptyFunction; + } + var self = this; try { var res = DDP._CurrentPublicationInvocation.withValue( From 7b46df4564bb6d315064218acba5ed103163abc0 Mon Sep 17 00:00:00 2001 From: Vlad Lasky Date: Wed, 31 Mar 2021 15:38:55 +1100 Subject: [PATCH 036/182] Made additional cleanups/simplifications to unblock code. --- packages/ddp-server/livedata_server.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/ddp-server/livedata_server.js b/packages/ddp-server/livedata_server.js index d6bd47f2e8..6ca24210d1 100644 --- a/packages/ddp-server/livedata_server.js +++ b/packages/ddp-server/livedata_server.js @@ -2,9 +2,6 @@ DDPServer = {}; var Fiber = Npm.require('fibers'); -let cachedUnblock; -function emptyFunction() {}; - // This file contains classes: // * Session - The server's connection to a single DDP client // * Subscription - A single subscription for a single client @@ -244,6 +241,8 @@ var Session = function (server, version, socket, options) { self.blocked = false; self.workerRunning = false; + self.cachedUnblock = null; + // Sub objects for active subscriptions self._namedSubs = new Map(); self._universalSubs = []; @@ -575,7 +574,7 @@ _.extend(Session.prototype, { // cacheUnblock temporarly, so we can capture it later // we will use unblock in current eventLoop, so this is safe - cachedUnblock = unblock; + self.cachedUnblock = unblock; // reject malformed messages if (typeof (msg.id) !== "string" || @@ -632,7 +631,7 @@ _.extend(Session.prototype, { self._startSubscription(handler, msg.id, msg.params, msg.name); // cleaning cached unblock - cachedUnblock = null; + self.cachedUnblock = null; }, unsub: function (msg) { @@ -862,11 +861,11 @@ _.extend(Session.prototype, { var sub = new Subscription( self, handler, subId, params, name); - let unblockHander = cachedUnblock; + let unblockHander = self.cachedUnblock; // _startSubscription may call from a lot places // so cachedUnblock might be null in somecases // assign the cachedUnblock - sub.unblock = unblockHander || emptyFunction; + sub.unblock = unblockHander || (() => {}); if (subId) self._namedSubs.set(subId, sub); @@ -1056,7 +1055,7 @@ _.extend(Subscription.prototype, { // blocks on). This probably slows page load in common cases. if (!this.unblock) { - this.unblock = emptyFunction; + this.unblock = () => {}; } var self = this; From 6467b0a4457628138f8b1a41e750e16dd9cd6439 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Tue, 6 Apr 2021 19:22:30 +0200 Subject: [PATCH 037/182] Update npm version to fix security vulnerability --- scripts/build-dev-bundle-common.sh | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index 2589e8c369..e35c326879 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -8,7 +8,7 @@ ARCH=$(uname -m) NODE_VERSION=14.16.0 MONGO_VERSION_64BIT=4.2.8 MONGO_VERSION_32BIT=3.2.22 -NPM_VERSION=6.14.11 +NPM_VERSION=6.14.12 # If we built Node from source on Jenkins, this is the build number. NODE_BUILD_NUMBER= diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 7c2f9d3a78..37c7c3b2ee 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -10,7 +10,7 @@ var packageJson = { dependencies: { // Explicit dependency because we are replacing it with a bundled version // and we want to make sure there are no dependencies on a higher version - npm: "6.14.11", + npm: "6.14.12", pacote: "https://github.com/meteor/pacote/tarball/a81b0324686e85d22c7688c47629d4009000e8b8", "node-gyp": "6.1.0", "node-pre-gyp": "0.15.0", From 14424b9e36c8d610eb8edcbee37338ecffae1536 Mon Sep 17 00:00:00 2001 From: denyhs Date: Thu, 15 Apr 2021 17:30:36 -0400 Subject: [PATCH 038/182] #606 - Svelte Tutorial adding HMR to the svelte skeleton --- tools/static-assets/skel-svelte/.meteor/packages | 5 +++-- tools/static-assets/skel-svelte/imports/ui/App.svelte | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/static-assets/skel-svelte/.meteor/packages b/tools/static-assets/skel-svelte/.meteor/packages index 8931fa7b4c..0e3c38c047 100644 --- a/tools/static-assets/skel-svelte/.meteor/packages +++ b/tools/static-assets/skel-svelte/.meteor/packages @@ -19,5 +19,6 @@ shell-server # Server-side component of the `meteor shell` command 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 -svelte:compiler # 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 \ No newline at end of file +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 diff --git a/tools/static-assets/skel-svelte/imports/ui/App.svelte b/tools/static-assets/skel-svelte/imports/ui/App.svelte index 7efa602339..4bbdfecdc4 100644 --- a/tools/static-assets/skel-svelte/imports/ui/App.svelte +++ b/tools/static-assets/skel-svelte/imports/ui/App.svelte @@ -14,7 +14,7 @@

Learn Meteor!

    -
  • Do the Tutorial
  • +
  • Do the Tutorial
  • Follow the Guide
  • Read the Docs
  • Discussions
  • From b5b7306bedc3e8eb241e64efb1e281925aa75dd3 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 28 Oct 2020 20:14:17 +0100 Subject: [PATCH 039/182] Remove deprecated code from before v1.0 Remove deprecated code from before Meteor 1.0 that was documented via XXX COMPAT in comments. Move deprecated packages into the deprecated folder (deps, livedata, srp). --- packages/accounts-base/accounts_server.js | 56 ------------ packages/accounts-password/password_client.js | 79 ++-------------- packages/accounts-password/password_server.js | 90 +------------------ .../ddp-client/client/client_convenience.js | 10 --- .../ddp-client/common/livedata_connection.js | 9 -- packages/ddp-server/server_convenience.js | 5 -- packages/ddp-server/stream_server.js | 9 +- packages/{ => deprecated}/deps/.gitignore | 0 packages/{ => deprecated}/deps/README.md | 0 packages/{ => deprecated}/deps/package.js | 0 packages/{ => deprecated}/livedata/.gitignore | 0 packages/{ => deprecated}/livedata/DDP.md | 0 packages/{ => deprecated}/livedata/README.md | 0 packages/{ => deprecated}/livedata/package.js | 0 packages/{ => deprecated}/srp/.gitignore | 0 packages/{ => deprecated}/srp/README.md | 0 packages/{ => deprecated}/srp/biginteger.js | 0 packages/{ => deprecated}/srp/package.js | 0 packages/{ => deprecated}/srp/srp.js | 0 packages/{ => deprecated}/srp/srp_tests.js | 0 packages/meteor-base/package.js | 1 - packages/minimongo/cursor.js | 6 -- packages/mongo/mongo_driver.js | 7 -- packages/oauth/CHANGELOG.md | 4 + packages/oauth/deprecated.js | 3 - packages/oauth/oauth_client.js | 10 --- packages/oauth/oauth_common.js | 11 +-- packages/oauth/package.js | 20 +---- tools/cli/commands.js | 38 +------- tools/fs/files.ts | 10 --- tools/isobuild/compiler-plugin.js | 7 +- tools/isobuild/isopack.js | 42 +-------- tools/isobuild/package-api.js | 3 - tools/tests/cordova-builds.js | 7 -- 34 files changed, 20 insertions(+), 407 deletions(-) rename packages/{ => deprecated}/deps/.gitignore (100%) rename packages/{ => deprecated}/deps/README.md (100%) rename packages/{ => deprecated}/deps/package.js (100%) rename packages/{ => deprecated}/livedata/.gitignore (100%) rename packages/{ => deprecated}/livedata/DDP.md (100%) rename packages/{ => deprecated}/livedata/README.md (100%) rename packages/{ => deprecated}/livedata/package.js (100%) rename packages/{ => deprecated}/srp/.gitignore (100%) rename packages/{ => deprecated}/srp/README.md (100%) rename packages/{ => deprecated}/srp/biginteger.js (100%) rename packages/{ => deprecated}/srp/package.js (100%) rename packages/{ => deprecated}/srp/srp.js (100%) rename packages/{ => deprecated}/srp/srp_tests.js (100%) delete mode 100644 packages/oauth/deprecated.js diff --git a/packages/accounts-base/accounts_server.js b/packages/accounts-base/accounts_server.js index 13ac0c3ea8..b185288fe3 100644 --- a/packages/accounts-base/accounts_server.js +++ b/packages/accounts-base/accounts_server.js @@ -569,62 +569,6 @@ export class AccountsServer extends AccountsCommon { this.setUserId(null); }; - // Delete all the current user's tokens and close all open connections logged - // in as this user. Returns a fresh new login token that this client can - // use. Tests set Accounts._noConnectionCloseDelayForTest to delete tokens - // immediately instead of using a delay. - // - // XXX COMPAT WITH 0.7.2 - // This single `logoutOtherClients` method has been replaced with two - // methods, one that you call to get a new token, and another that you - // call to remove all tokens except your own. The new design allows - // clients to know when other clients have actually been logged - // out. (The `logoutOtherClients` method guarantees the caller that - // the other clients will be logged out at some point, but makes no - // guarantees about when.) This method is left in for backwards - // compatibility, especially since application code might be calling - // this method directly. - // - // @returns {Object} Object with token and tokenExpires keys. - methods.logoutOtherClients = function () { - const user = accounts.users.findOne(this.userId, { - fields: { - "services.resume.loginTokens": true - } - }); - if (user) { - // Save the current tokens in the database to be deleted in - // CONNECTION_CLOSE_DELAY_MS ms. This gives other connections in the - // caller's browser time to find the fresh token in localStorage. We save - // the tokens in the database in case we crash before actually deleting - // them. - const tokens = user.services.resume.loginTokens; - const newToken = accounts._generateStampedLoginToken(); - accounts.users.update(this.userId, { - $set: { - "services.resume.loginTokensToDelete": tokens, - "services.resume.haveLoginTokensToDelete": true - }, - $push: { "services.resume.loginTokens": accounts._hashStampedToken(newToken) } - }); - Meteor.setTimeout(() => { - // The observe on Meteor.users will take care of closing the connections - // associated with `tokens`. - accounts._deleteSavedTokensForUser(this.userId, tokens); - }, accounts._noConnectionCloseDelayForTest ? 0 : - CONNECTION_CLOSE_DELAY_MS); - // We do not set the login token on this connection, but instead the - // observe closes the connection and the client will reconnect with the - // new token. - return { - token: newToken.token, - tokenExpires: accounts._tokenExpiration(newToken.when) - }; - } else { - throw new Meteor.Error("You are not logged in."); - } - }; - // Generates a new login token with the same expiration as the // connection's current token and saves it to the database. Associates // the connection with this new token and returns it. Throws an error diff --git a/packages/accounts-password/password_client.js b/packages/accounts-password/password_client.js index 871393127a..d4d53c04d3 100644 --- a/packages/accounts-password/password_client.js +++ b/packages/accounts-password/password_client.js @@ -43,27 +43,7 @@ Meteor.loginWithPassword = (selector, password, callback) => { password: Accounts._hashPassword(password) }], userCallback: (error, result) => { - if (error && error.error === 400 && - error.reason === 'old password format') { - // The "reason" string should match the error thrown in the - // password login handler in password_server.js. - - // XXX COMPAT WITH 0.8.1.3 - // If this user's last login was with a previous version of - // Meteor that used SRP, then the server throws this error to - // indicate that we should try again. The error includes the - // user's SRP identity. We provide a value derived from the - // identity and the password to prove to the server that we know - // the password without requiring a full SRP flow, as well as - // SHA256(password), which the server bcrypts and stores in - // place of the old SRP information for this user. - srpUpgradePath({ - upgradeError: error, - userSelector: selector, - plaintextPassword: password - }, callback); - } - else if (error) { + if (error) { reportError(error, callback); } else { callback && callback(); @@ -77,35 +57,6 @@ Accounts._hashPassword = password => ({ algorithm: "sha-256" }); - -// XXX COMPAT WITH 0.8.1.3 -// The server requested an upgrade from the old SRP password format, -// so supply the needed SRP identity to login. Options: -// - upgradeError: the error object that the server returned to tell -// us to upgrade from SRP to bcrypt. -// - userSelector: selector to retrieve the user object -// - plaintextPassword: the password as a string -const srpUpgradePath = (options, callback) => { - let details; - try { - details = EJSON.parse(options.upgradeError.details); - } catch (e) {} - if (!(details && details.format === 'srp')) { - reportError( - new Meteor.Error(400, "Password is old. Please reset your " + - "password."), callback); - } else { - Accounts.callLoginMethod({ - methodArguments: [{ - user: options.userSelector, - srp: SHA256(`${details.identity}:${options.plaintextPassword}`), - password: Accounts._hashPassword(options.plaintextPassword) - }], - userCallback: callback - }); - } -}; - // Attempt to log in as a new user. /** @@ -172,30 +123,10 @@ Accounts.changePassword = (oldPassword, newPassword, callback) => { [oldPassword ? Accounts._hashPassword(oldPassword) : null, Accounts._hashPassword(newPassword)], (error, result) => { - if (error || !result) { - if (error && error.error === 400 && - error.reason === 'old password format') { - // XXX COMPAT WITH 0.8.1.3 - // The server is telling us to upgrade from SRP to bcrypt, as - // in Meteor.loginWithPassword. - srpUpgradePath({ - upgradeError: error, - userSelector: { id: Meteor.userId() }, - plaintextPassword: oldPassword - }, err => { - if (err) { - reportError(err, callback); - } else { - // Now that we've successfully migrated from srp to - // bcrypt, try changing the password again. - Accounts.changePassword(oldPassword, newPassword, callback); - } - }); - } else { - // A normal error, not an error telling us to upgrade to bcrypt - reportError( - error || new Error("No result from changePassword."), callback); - } + if (error || !result) { + // A normal error, not an error telling us to upgrade to bcrypt + reportError( + error || new Error("No result from changePassword."), callback); } else { callback && callback(); } diff --git a/packages/accounts-password/password_server.js b/packages/accounts-password/password_server.js index 2076985362..7879f5d808 100644 --- a/packages/accounts-password/password_server.js +++ b/packages/accounts-password/password_server.js @@ -351,79 +351,6 @@ Accounts.registerLoginHandler("password", options => { ); }); -// Handler to login using the SRP upgrade path. To use this login -// handler, the client must provide: -// - srp: H(identity + ":" + password) -// - password: a string or an object with properties 'digest' and 'algorithm' -// -// We use `options.srp` to verify that the client knows the correct -// password without doing a full SRP flow. Once we've checked that, we -// upgrade the user to bcrypt and remove the SRP information from the -// user document. -// -// The client ends up using this login handler after trying the normal -// login handler (above), which throws an error telling the client to -// try the SRP upgrade path. -// -// XXX COMPAT WITH 0.8.1.3 -Accounts.registerLoginHandler("password", options => { - if (!options.srp || !options.password) { - return undefined; // don't handle - } - - check(options, { - user: userQueryValidator, - srp: String, - password: passwordValidator - }); - - const user = Accounts._findUserByQuery(options.user, {fields: { - services: 1, - ...Accounts._checkPasswordUserFields, - }}); - if (!user) { - handleError("User not found"); - } - - // Check to see if another simultaneous login has already upgraded - // the user record to bcrypt. - if (user.services && user.services.password && user.services.password.bcrypt) { - return checkPassword(user, options.password); - } - - if (!(user.services && user.services.password && user.services.password.srp)) { - handleError("User has no password set"); - } - - const v1 = user.services.password.srp.verifier; - const v2 = SRP.generateVerifier( - null, - { - hashedIdentityAndPassword: options.srp, - salt: user.services.password.srp.salt - } - ).verifier; - if (v1 !== v2) { - return { - userId: Accounts._options.ambiguousErrorMessages ? null : user._id, - error: handleError("Incorrect password", false) - }; - } - - // Upgrade to bcrypt on successful login. - const salted = hashPassword(options.password); - Meteor.users.update( - user._id, - { - $unset: { 'services.password.srp': 1 }, - $set: { 'services.password.bcrypt': salted } - } - ); - - return {userId: user._id}; -}); - - /// /// CHANGING /// @@ -470,12 +397,6 @@ Accounts.setUsername = (userId, newUsername) => { // password. `oldPassword` and `newPassword` should be objects with keys // `digest` and `algorithm` (representing the SHA256 of the password). // -// XXX COMPAT WITH 0.8.1.3 -// Like the login method, if the user hasn't been upgraded from SRP to -// bcrypt yet, then this method will throw an 'old password format' -// error. The client should call the SRP upgrade login handler and then -// retry this method again. -// // UNLIKE the login method, there is no way to avoid getting SRP upgrade // errors thrown. The reasoning for this is that clients using this // method directly will need to be updated anyway because we no longer @@ -497,18 +418,10 @@ Meteor.methods({changePassword: function (oldPassword, newPassword) { handleError("User not found"); } - if (!user.services || !user.services.password || - (!user.services.password.bcrypt && !user.services.password.srp)) { + if (!user.services || !user.services.password || !user.services.password.bcrypt) { handleError("User has no password set"); } - if (! user.services.password.bcrypt) { - throw new Meteor.Error(400, "old password format", EJSON.stringify({ - format: 'srp', - identity: user.services.password.srp.identity - })); - } - const result = checkPassword(user, oldPassword); if (result.error) { throw result.error; @@ -557,7 +470,6 @@ Accounts.setPassword = (userId, newPlaintextPassword, options) => { const update = { $unset: { - 'services.password.srp': 1, // XXX COMPAT WITH 0.8.1.3 'services.password.reset': 1 }, $set: {'services.password.bcrypt': hashPassword(newPlaintextPassword)} diff --git a/packages/ddp-client/client/client_convenience.js b/packages/ddp-client/client/client_convenience.js index 4111eac4cc..4f21582a37 100644 --- a/packages/ddp-client/client/client_convenience.js +++ b/packages/ddp-client/client/client_convenience.js @@ -55,13 +55,3 @@ Meteor.connection = DDP.connect(ddpUrl, { ].forEach(name => { Meteor[name] = Meteor.connection[name].bind(Meteor.connection); }); - -// Meteor.connection used to be called -// Meteor.default_connection. Provide backcompat as a courtesy even -// though it was never documented. -// XXX COMPAT WITH 0.6.4 -Meteor.default_connection = Meteor.connection; - -// We should transition from Meteor.connect to DDP.connect. -// XXX COMPAT WITH 0.6.4 -Meteor.connect = DDP.connect; diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 740a7f4abb..320e4d60f9 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -1621,15 +1621,6 @@ export class Connection { this._heartbeat.messageReceived(); } - if (msg === null || !msg.msg) { - // XXX COMPAT WITH 0.6.6. ignore the old welcome message for back - // compat. Remove this 'if' once the server stops sending welcome - // messages (stream_server.js). - if (!(msg && msg.server_id)) - Meteor._debug('discarding invalid livedata message', msg); - return; - } - if (msg.msg === 'connected') { this._version = this._versionSuggestion; this._livedata_connected(msg); diff --git a/packages/ddp-server/server_convenience.js b/packages/ddp-server/server_convenience.js index 28fca40b2b..5d34986053 100755 --- a/packages/ddp-server/server_convenience.js +++ b/packages/ddp-server/server_convenience.js @@ -15,8 +15,3 @@ _.each(['publish', 'methods', 'call', 'apply', 'onConnection', 'onMessage'], function (name) { Meteor[name] = _.bind(Meteor.server[name], Meteor.server); }); - -// Meteor.server used to be called Meteor.default_server. Provide -// backcompat as a courtesy even though it was never documented. -// XXX COMPAT WITH 0.6.4 -Meteor.default_server = Meteor.server; diff --git a/packages/ddp-server/stream_server.js b/packages/ddp-server/stream_server.js index cf044a1d95..a949633a96 100644 --- a/packages/ddp-server/stream_server.js +++ b/packages/ddp-server/stream_server.js @@ -119,16 +119,9 @@ StreamServer = function () { }); self.open_sockets.push(socket); - // XXX COMPAT WITH 0.6.6. Send the old style welcome message, which - // will force old clients to reload. Remove this once we're not - // concerned about people upgrading from a pre-0.7.0 release. Also, - // remove the clause in the client that ignores the welcome message - // (livedata_connection.js) - socket.send(JSON.stringify({server_id: "0"})); - // call all our callbacks when we get a new socket. they will do the // work of setting up handlers and such for specific messages. - _.each(self.registration_callbacks, function (callback) { + self.registration_callbacks.forEach((callback) => { callback(socket); }); }); diff --git a/packages/deps/.gitignore b/packages/deprecated/deps/.gitignore similarity index 100% rename from packages/deps/.gitignore rename to packages/deprecated/deps/.gitignore diff --git a/packages/deps/README.md b/packages/deprecated/deps/README.md similarity index 100% rename from packages/deps/README.md rename to packages/deprecated/deps/README.md diff --git a/packages/deps/package.js b/packages/deprecated/deps/package.js similarity index 100% rename from packages/deps/package.js rename to packages/deprecated/deps/package.js diff --git a/packages/livedata/.gitignore b/packages/deprecated/livedata/.gitignore similarity index 100% rename from packages/livedata/.gitignore rename to packages/deprecated/livedata/.gitignore diff --git a/packages/livedata/DDP.md b/packages/deprecated/livedata/DDP.md similarity index 100% rename from packages/livedata/DDP.md rename to packages/deprecated/livedata/DDP.md diff --git a/packages/livedata/README.md b/packages/deprecated/livedata/README.md similarity index 100% rename from packages/livedata/README.md rename to packages/deprecated/livedata/README.md diff --git a/packages/livedata/package.js b/packages/deprecated/livedata/package.js similarity index 100% rename from packages/livedata/package.js rename to packages/deprecated/livedata/package.js diff --git a/packages/srp/.gitignore b/packages/deprecated/srp/.gitignore similarity index 100% rename from packages/srp/.gitignore rename to packages/deprecated/srp/.gitignore diff --git a/packages/srp/README.md b/packages/deprecated/srp/README.md similarity index 100% rename from packages/srp/README.md rename to packages/deprecated/srp/README.md diff --git a/packages/srp/biginteger.js b/packages/deprecated/srp/biginteger.js similarity index 100% rename from packages/srp/biginteger.js rename to packages/deprecated/srp/biginteger.js diff --git a/packages/srp/package.js b/packages/deprecated/srp/package.js similarity index 100% rename from packages/srp/package.js rename to packages/deprecated/srp/package.js diff --git a/packages/srp/srp.js b/packages/deprecated/srp/srp.js similarity index 100% rename from packages/srp/srp.js rename to packages/deprecated/srp/srp.js diff --git a/packages/srp/srp_tests.js b/packages/deprecated/srp/srp_tests.js similarity index 100% rename from packages/srp/srp_tests.js rename to packages/deprecated/srp/srp_tests.js diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index a8b550e634..3e47ccc3b1 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -20,7 +20,6 @@ Package.onUse(function(api) { // The protocol and client/server libraries that Meteor uses to send data 'ddp', - 'livedata', // XXX COMPAT WITH PACKAGES BUILT FOR 0.9.0. // This package uses the user agent of each incoming HTTP request to // decide whether to inject - - -
    -

    Welcome to Meteor!

    - - -

    You've pressed the button {counter} times.

    - -

    Learn Meteor!

    - -
    + + + +
    +

    Welcome to Meteor!

    + + +

    You've pressed the button {counter} times.

    + +

    Learn Meteor!

    + +
    diff --git a/tools/static-assets/skel-typescript/package.json b/tools/static-assets/skel-typescript/package.json index d775e21420..c22fe3b97b 100644 --- a/tools/static-assets/skel-typescript/package.json +++ b/tools/static-assets/skel-typescript/package.json @@ -1,30 +1,30 @@ -{ - "name": "~name~", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3", - "react": "^17.0.2", - "react-dom": "^17.0.2" - }, - "devDependencies": { - "@types/meteor": "^1.4.49", - "@types/mocha": "^8.0.3", - "@types/react": "^17.0.3", - "@types/react-dom": "^17.0.3", - "typescript": "^4.2.4" - }, - "meteor": { - "mainModule": { - "client": "client/main.tsx", - "server": "server/main.ts" - }, - "testModule": "tests/main.ts" - } -} +{ + "name": "~name~", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3", + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "devDependencies": { + "@types/meteor": "^1.4.49", + "@types/mocha": "^8.0.3", + "@types/react": "^17.0.3", + "@types/react-dom": "^17.0.3", + "typescript": "^4.2.4" + }, + "meteor": { + "mainModule": { + "client": "client/main.tsx", + "server": "server/main.ts" + }, + "testModule": "tests/main.ts" + } +} diff --git a/tools/static-assets/skel-vue/package.json b/tools/static-assets/skel-vue/package.json index 6b09c6c734..67bd46fd36 100644 --- a/tools/static-assets/skel-vue/package.json +++ b/tools/static-assets/skel-vue/package.json @@ -1,23 +1,23 @@ -{ - "name": "~name~", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3", - "vue": "^2.6.12", - "vue-meteor-tracker": "^2.0.0-beta.5" - }, - "meteor": { - "mainModule": { - "client": "client/main.js", - "server": "server/main.js" - }, - "testModule": "tests/main.js" - } -} +{ + "name": "~name~", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3", + "vue": "^2.6.12", + "vue-meteor-tracker": "^2.0.0-beta.5" + }, + "meteor": { + "mainModule": { + "client": "client/main.js", + "server": "server/main.js" + }, + "testModule": "tests/main.js" + } +} diff --git a/tools/tests/apps/app-config/package.json b/tools/tests/apps/app-config/package.json index d992ebe0db..cdc7b4f58f 100644 --- a/tools/tests/apps/app-config/package.json +++ b/tools/tests/apps/app-config/package.json @@ -1,15 +1,15 @@ -{ - "name": "app-config", - "private": true, - "scripts": { - "start": "meteor run" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3", - "puppeteer": "^2.1.1" - }, - "meteor": { - "testModule": "tests.js" - } -} +{ + "name": "app-config", + "private": true, + "scripts": { + "start": "meteor run" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3", + "puppeteer": "^2.1.1" + }, + "meteor": { + "testModule": "tests.js" + } +} diff --git a/tools/tests/apps/client-refresh/package.json b/tools/tests/apps/client-refresh/package.json index a40f825a1e..57cd351eb9 100644 --- a/tools/tests/apps/client-refresh/package.json +++ b/tools/tests/apps/client-refresh/package.json @@ -1,20 +1,20 @@ -{ - "name": "client-refresh", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3" - }, - "meteor": { - "mainModule": { - "client": "client/main.js", - "server": "server/main.js" - } - } -} +{ + "name": "client-refresh", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3" + }, + "meteor": { + "mainModule": { + "client": "client/main.js", + "server": "server/main.js" + } + } +} diff --git a/tools/tests/apps/custom-minifier/package.json b/tools/tests/apps/custom-minifier/package.json index 8da40ecb65..786e3a833e 100644 --- a/tools/tests/apps/custom-minifier/package.json +++ b/tools/tests/apps/custom-minifier/package.json @@ -1,18 +1,18 @@ -{ - "name": "custom-minifiers", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "jquery": "^3.6.0", - "meteor-node-stubs": "^1.0.3" - }, - "meteor": { - "mainModule": "code.js" - } -} +{ + "name": "custom-minifiers", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "jquery": "^3.6.0", + "meteor-node-stubs": "^1.0.3" + }, + "meteor": { + "mainModule": "code.js" + } +} diff --git a/tools/tests/apps/dynamic-import/package.json b/tools/tests/apps/dynamic-import/package.json index 4174c5cabc..c71db9d861 100644 --- a/tools/tests/apps/dynamic-import/package.json +++ b/tools/tests/apps/dynamic-import/package.json @@ -1,22 +1,22 @@ -{ - "name": "dynamic-import", - "private": true, - "scripts": { - "start": "meteor run", - "test": "TEST_BROWSER_DRIVER=puppeteer meteor test --full-app --driver-package meteortesting:mocha" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "acorn": "^7.4.1", - "arson": "^0.2.6", - "jquery": "^3.6.0", - "meteor-node-stubs": "^1.0.3", - "moment": "^2.29.1", - "optimism": "^0.11.5", - "private": "^0.1.8", - "puppeteer": "^2.1.1", - "react": "^17.0.2", - "regenerator-runtime": "^0.13.5", - "uuid": "^7.0.2" - } -} +{ + "name": "dynamic-import", + "private": true, + "scripts": { + "start": "meteor run", + "test": "TEST_BROWSER_DRIVER=puppeteer meteor test --full-app --driver-package meteortesting:mocha" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "acorn": "^7.4.1", + "arson": "^0.2.6", + "jquery": "^3.6.0", + "meteor-node-stubs": "^1.0.3", + "moment": "^2.29.1", + "optimism": "^0.11.5", + "private": "^0.1.8", + "puppeteer": "^2.1.1", + "react": "^17.0.2", + "regenerator-runtime": "^0.13.5", + "uuid": "^7.0.2" + } +} diff --git a/tools/tests/apps/git-commit-hash/package.json b/tools/tests/apps/git-commit-hash/package.json index ea30a2f000..123f71afa1 100644 --- a/tools/tests/apps/git-commit-hash/package.json +++ b/tools/tests/apps/git-commit-hash/package.json @@ -1,20 +1,20 @@ -{ - "name": "git-commit-hash", - "private": true, - "scripts": { - "start": "meteor run", - "test": "TEST_BROWSER_DRIVER=puppeteer meteor test --once --full-app --driver-package meteortesting:mocha" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3", - "puppeteer": "^2.1.1" - }, - "meteor": { - "mainModule": { - "client": "client/main.js", - "server": "server/main.js" - }, - "testModule": "tests/main.js" - } -} +{ + "name": "git-commit-hash", + "private": true, + "scripts": { + "start": "meteor run", + "test": "TEST_BROWSER_DRIVER=puppeteer meteor test --once --full-app --driver-package meteortesting:mocha" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3", + "puppeteer": "^2.1.1" + }, + "meteor": { + "mainModule": { + "client": "client/main.js", + "server": "server/main.js" + }, + "testModule": "tests/main.js" + } +} diff --git a/tools/tests/apps/link-config-npm-package/package.json b/tools/tests/apps/link-config-npm-package/package.json index 414ecbd466..b8ae8c21dc 100644 --- a/tools/tests/apps/link-config-npm-package/package.json +++ b/tools/tests/apps/link-config-npm-package/package.json @@ -1,21 +1,21 @@ -{ - "name": "link-config-npm-package", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "config": "file:../config-package", - "meteor-node-stubs": "^1.0.3" - }, - "meteor": { - "mainModule": { - "client": false, - "server": "main.js" - } - } -} +{ + "name": "link-config-npm-package", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "config": "file:../config-package", + "meteor-node-stubs": "^1.0.3" + }, + "meteor": { + "mainModule": { + "client": false, + "server": "main.js" + } + } +} diff --git a/tools/tests/apps/linked-external-npm-package/package.json b/tools/tests/apps/linked-external-npm-package/package.json index af13bf29d9..12961b6e46 100644 --- a/tools/tests/apps/linked-external-npm-package/package.json +++ b/tools/tests/apps/linked-external-npm-package/package.json @@ -1,21 +1,21 @@ -{ - "name": "linked-external-npm-package", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "external-package": "file:../external-package", - "meteor-node-stubs": "^1.0.3" - }, - "meteor": { - "mainModule": { - "client": false, - "server": "main.js" - } - } -} +{ + "name": "linked-external-npm-package", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "external-package": "file:../external-package", + "meteor-node-stubs": "^1.0.3" + }, + "meteor": { + "mainModule": { + "client": false, + "server": "main.js" + } + } +} diff --git a/tools/tests/apps/meteor-ignore/package.json b/tools/tests/apps/meteor-ignore/package.json index 84a8a9686d..961e3c8acc 100644 --- a/tools/tests/apps/meteor-ignore/package.json +++ b/tools/tests/apps/meteor-ignore/package.json @@ -1,11 +1,11 @@ -{ - "name": "meteor-ignore", - "private": true, - "scripts": { - "start": "meteor run" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3" - } -} +{ + "name": "meteor-ignore", + "private": true, + "scripts": { + "start": "meteor run" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3" + } +} diff --git a/tools/tests/apps/package-tests/package.json b/tools/tests/apps/package-tests/package.json index 03611f8f6d..3e575939d6 100644 --- a/tools/tests/apps/package-tests/package.json +++ b/tools/tests/apps/package-tests/package.json @@ -1,10 +1,10 @@ -{ - "name": "package-tests", - "private": true, - "scripts": { - "start": "meteor run" - }, - "dependencies": { - "@babel/runtime": "^7.13.17" - } -} +{ + "name": "package-tests", + "private": true, + "scripts": { + "start": "meteor run" + }, + "dependencies": { + "@babel/runtime": "^7.13.17" + } +} diff --git a/tools/tests/apps/shell/package.json b/tools/tests/apps/shell/package.json index 99ee04601c..524f16a6c2 100644 --- a/tools/tests/apps/shell/package.json +++ b/tools/tests/apps/shell/package.json @@ -1,11 +1,11 @@ -{ - "name": "shell", - "private": true, - "scripts": { - "start": "meteor run" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3" - } -} +{ + "name": "shell", + "private": true, + "scripts": { + "start": "meteor run" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3" + } +} diff --git a/tools/tests/apps/standard-app/package.json b/tools/tests/apps/standard-app/package.json index 0138c3e4d0..df03691835 100644 --- a/tools/tests/apps/standard-app/package.json +++ b/tools/tests/apps/standard-app/package.json @@ -1,18 +1,18 @@ -{ - "name": "standard-app", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3" - }, - "meteor": { - "mainModule": false, - "testModule": false - } -} +{ + "name": "standard-app", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3" + }, + "meteor": { + "mainModule": false, + "testModule": false + } +} From 2a5dd145772236409bcb648616d93a4849baa640 Mon Sep 17 00:00:00 2001 From: Bruce Johnson Date: Thu, 6 May 2021 10:37:56 -0700 Subject: [PATCH 072/182] PR 11408: DDP_DEFAULT_CONNECTION_URL behavior change --- History.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/History.md b/History.md index e38ab97df3..593a26d849 100644 --- a/History.md +++ b/History.md @@ -1,6 +1,13 @@ ## v2.3, UNRELEASED ### Changes +* 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`). + +Additionally, the environment variable is now documented. #### Highlights From cb9224137a1fb5880ffe3c73984f96440787fbb8 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Thu, 6 May 2021 21:07:16 +0200 Subject: [PATCH 073/182] Bump npm patch version --- scripts/build-dev-bundle-common.sh | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index d13a6fb41c..34c2b73289 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -8,7 +8,7 @@ ARCH=$(uname -m) NODE_VERSION=14.16.1 MONGO_VERSION_64BIT=4.4.4 MONGO_VERSION_32BIT=3.2.22 -NPM_VERSION=7.11.1 +NPM_VERSION=7.11.2 # If we built Node from source on Jenkins, this is the build number. NODE_BUILD_NUMBER= diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 8c0c078b27..77675a0a16 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -10,7 +10,7 @@ var packageJson = { dependencies: { // Explicit dependency because we are replacing it with a bundled version // and we want to make sure there are no dependencies on a higher version - npm: "7.11.1", + npm: "7.11.2", pacote: "https://github.com/meteor/pacote/tarball/a81b0324686e85d22c7688c47629d4009000e8b8", "node-gyp": "8.0.0", "node-pre-gyp": "0.15.0", From 142398e7dff90529f33b6783cf3e9aa25f1fd699 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Thu, 6 May 2021 21:14:52 +0200 Subject: [PATCH 074/182] Bump bundle version --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 449225e7e4..ee3f7eb677 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.16.1.0 +BUNDLE_VERSION=14.16.1.1 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From e61e90a53ef3932c1f897df3953cb1d8ce044acf Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Thu, 6 May 2021 18:14:09 -0300 Subject: [PATCH 075/182] Upgrade pacote to latest version for node 14 support --- 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 77675a0a16..dd3e7f0fa9 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -11,7 +11,7 @@ var packageJson = { // Explicit dependency because we are replacing it with a bundled version // and we want to make sure there are no dependencies on a higher version npm: "7.11.2", - pacote: "https://github.com/meteor/pacote/tarball/a81b0324686e85d22c7688c47629d4009000e8b8", + pacote: "11.3.3", "node-gyp": "8.0.0", "node-pre-gyp": "0.15.0", typescript: "4.2.4", From ad8ec94fe4c86939c87981519e592ef97f568293 Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Thu, 6 May 2021 18:55:18 -0300 Subject: [PATCH 076/182] Rollback semver version, and create new dev bundle --- meteor | 2 +- scripts/dev-bundle-server-package.js | 4 ++-- scripts/dev-bundle-tool-package.js | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/meteor b/meteor index ee3f7eb677..ce664e5296 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.16.1.1 +BUNDLE_VERSION=14.16.1.2 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. diff --git a/scripts/dev-bundle-server-package.js b/scripts/dev-bundle-server-package.js index 30a4725627..39fe6d5afd 100644 --- a/scripts/dev-bundle-server-package.js +++ b/scripts/dev-bundle-server-package.js @@ -18,8 +18,8 @@ var packageJson = { "@types/underscore": "1.10.24", underscore: "1.11.0", "source-map-support": "https://github.com/meteor/node-source-map-support/tarball/1912478769d76e5df4c365e147f25896aee6375e", - "@types/semver": "5.5.0", - semver: "5.7.0" + "@types/semver": "5.4.0", + semver: "5.4.1" }, // These are only used in dev mode (by shell.js) so end-users can avoid // needing to install them if they use `npm install --production`. diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index dd3e7f0fa9..0c92e89181 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -29,8 +29,8 @@ var packageJson = { "@types/underscore": "1.11.1", underscore: "1.13.1", "source-map-support": "https://github.com/meteor/node-source-map-support/tarball/1912478769d76e5df4c365e147f25896aee6375e", - "@types/semver": "7.3.4", - semver: "7.3.0", + "@types/semver": "5.4.0", + semver: "5.4.1", request: "2.88.2", uuid: "3.4.0", "graceful-fs": "4.2.6", From b3fa3da152323098a9aaaf623b9a3981ff365e3b Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 7 May 2021 10:30:18 +0200 Subject: [PATCH 077/182] Fix numbering in development docs --- DEVELOPMENT.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 7a888d74df..1131e40009 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -24,7 +24,7 @@ can run Meteor directly from a Git checkout using these steps: > > $ git submodule update --init --recursive -0. **Run a Meteor command to install dependencies** +2. **Run a Meteor command to install dependencies** > If you did not compile dependencies above, this will also download the binaries. @@ -33,7 +33,7 @@ can run Meteor directly from a Git checkout using these steps: $ ./meteor --help ``` -0. **Ready to Go!** +3. **Ready to Go!** Your local Meteor checkout is now ready to use! You can use this `./meteor` anywhere you would normally call the system `meteor`. For example,: From 866c1833de5cd575f4e06583a6af945c96e33243 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 7 May 2021 10:48:20 +0200 Subject: [PATCH 078/182] Update history to add `launch-screen@1.3.0` --- History.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/History.md b/History.md index 0950d83307..38ca3114bc 100644 --- a/History.md +++ b/History.md @@ -8,9 +8,11 @@ #### Meteor Version Release +* Released `launch-screen@1.3.0` that remove LaunchScreen from web clients. + #### Independent Releases -* Updated `ddp-server@2.3.3` and `socket-stream-client@0.3.2` dependencies which removes Node's HTTP deprecation warning. +* Released `ddp-server@2.3.3` and `socket-stream-client@0.3.2` with updated dependencies which removes Node's HTTP deprecation warning. * Released `ddp-client@2.4.1` re-ordering fields in DDP message for better client readability. From 4068f4f6823c9d157460b2f96e3eed96c4e71475 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Fri, 7 May 2021 08:46:35 -0400 Subject: [PATCH 079/182] Get Ready ts check should not check node_modules folder --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9759aec532..4ab5a51476 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -151,7 +151,7 @@ jobs: pushd tools npm install @types/node --save-dev # Ensure that meteor/tools has no TypeScript errors. - ../meteor npx tsc --noEmit + ../meteor npx tsc --noEmit --skipLibCheck popd ./meteor --get-ready # shouldn't take longer than 60 minutes From 96bc502515a49f3fc05899f53721e80808721f4f Mon Sep 17 00:00:00 2001 From: filipenevola Date: Fri, 7 May 2021 10:15:52 -0400 Subject: [PATCH 080/182] bump ddp-server version --- packages/ddp-server/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index 787c22d8e2..3a84a21baa 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.3.3', + version: '2.4.0-beta230.0', documentation: null }); From ccd535d4f0a85b02d056dc23fbf794c6d5ec5e00 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Fri, 7 May 2021 10:23:42 -0400 Subject: [PATCH 081/182] Fixes #11371 launch-screen --- packages/launch-screen/package.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/launch-screen/package.js b/packages/launch-screen/package.js index 78b34858f9..1085cdfca3 100644 --- a/packages/launch-screen/package.js +++ b/packages/launch-screen/package.js @@ -6,7 +6,7 @@ Package.describe({ // between such packages and the build tool. name: 'launch-screen', summary: 'Default and customizable launch screen on mobile.', - version: '1.2.1' + version: '1.3.0-beta230.0' }); Cordova.depends({ @@ -14,9 +14,9 @@ Cordova.depends({ }); Package.onUse(function(api) { - api.addFiles('mobile-launch-screen.js', 'web'); - api.addFiles('default-behavior.js', 'web'); - api.use(['blaze', 'templating'], 'web', { weak: true }); + api.addFiles('mobile-launch-screen.js', 'web.cordova'); + api.addFiles('default-behavior.js', 'web.cordova'); + api.use(['blaze', 'templating'], 'web.cordova', { weak: true }); api.export('LaunchScreen'); }); From fe17bfd3804e23dfd35bedc9f24c8eb733e01f98 Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Fri, 7 May 2021 11:38:03 -0300 Subject: [PATCH 082/182] Rollback npm version upgrade --- scripts/dev-bundle-tool-package.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 0c92e89181..a16b54c728 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -10,8 +10,8 @@ var packageJson = { dependencies: { // Explicit dependency because we are replacing it with a bundled version // and we want to make sure there are no dependencies on a higher version - npm: "7.11.2", - pacote: "11.3.3", + npm: "6.14.12", + pacote: "https://github.com/meteor/pacote/tarball/a81b0324686e85d22c7688c47629d4009000e8b8", "node-gyp": "8.0.0", "node-pre-gyp": "0.15.0", typescript: "4.2.4", From 6e95144dd35f48500a0ebd39f06a7d198711ed5b Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Fri, 7 May 2021 11:38:27 -0300 Subject: [PATCH 083/182] Dev bundle dev-bundle-14.16.1.3 --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index ce664e5296..c9c478e68b 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.16.1.2 +BUNDLE_VERSION=14.16.1.3 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From ee29afb31712c170a7c12540d168a9d2220bd3d3 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 7 May 2021 16:49:07 +0200 Subject: [PATCH 084/182] Revert "Finish merging in release-2.3" & fix history This reverts commit 2b44993fb5ad06f1c24069b3a0b1af337be31805. --- History.md | 8 +- tools/cordova/project.js | 1884 ++++++++--------- tools/static-assets/skel-apollo/package.json | 54 +- tools/static-assets/skel-bare/package.json | 22 +- tools/static-assets/skel-blaze/package.json | 44 +- tools/static-assets/skel-full/package.json | 32 +- tools/static-assets/skel-minimal/package.json | 42 +- tools/static-assets/skel-react/package.json | 46 +- .../skel-svelte/.meteor/packages | 48 +- .../skel-svelte/imports/ui/App.svelte | 44 +- .../skel-typescript/package.json | 60 +- tools/static-assets/skel-vue/package.json | 46 +- tools/tests/apps/app-config/package.json | 30 +- tools/tests/apps/client-refresh/package.json | 40 +- tools/tests/apps/custom-minifier/package.json | 36 +- tools/tests/apps/dynamic-import/package.json | 44 +- tools/tests/apps/git-commit-hash/package.json | 40 +- .../apps/link-config-npm-package/package.json | 42 +- .../linked-external-npm-package/package.json | 42 +- tools/tests/apps/meteor-ignore/package.json | 22 +- tools/tests/apps/package-tests/package.json | 20 +- tools/tests/apps/shell/package.json | 22 +- tools/tests/apps/standard-app/package.json | 36 +- 23 files changed, 1349 insertions(+), 1355 deletions(-) diff --git a/History.md b/History.md index 99b46cf03f..5c8c159553 100644 --- a/History.md +++ b/History.md @@ -1,13 +1,7 @@ ## v2.3, UNRELEASED ### Changes -* 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`). - -Additionally, the environment variable is now documented. +* 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`). #### Highlights diff --git a/tools/cordova/project.js b/tools/cordova/project.js index 2114314cbd..8b99bf3e2f 100644 --- a/tools/cordova/project.js +++ b/tools/cordova/project.js @@ -1,942 +1,942 @@ -import _ from 'underscore'; -import util from 'util'; -import assert from 'assert'; -import chalk from 'chalk'; -import semver from 'semver'; - -import files from '../fs/files'; -import utils from '../utils/utils.js'; -import { Console } from '../console/console.js'; -import { Profile } from '../tool-env/profile'; -import buildmessage from '../utils/buildmessage.js'; -import main from '../cli/main.js'; -import { execFileSync } from '../utils/processes'; - -import { cordova as cordova_lib, events as cordova_events, CordovaError } - from 'cordova-lib'; -import create from "cordova-create"; -import cordova_util from 'cordova-lib/src/cordova/util.js'; -import PluginInfoProvider from 'cordova-common/src/PluginInfo/PluginInfoProvider.js'; - -import { CORDOVA_PLATFORMS, CORDOVA_PLATFORM_VERSIONS, displayNameForPlatform, displayNamesForPlatforms, - newPluginId, convertPluginVersions, convertToGitUrl } from './index.js'; -import { CordovaBuilder } from './builder.js'; - -cordova_events.on('verbose', logIfVerbose); -cordova_events.on('log', logIfVerbose); -cordova_events.on('info', logIfVerbose); -cordova_events.on('warn', log); -cordova_events.on('error', log); - -cordova_events.on('results', logIfVerbose); - -function logIfVerbose(...args) { - if (Console.verbose) { - log(...args); - } -}; - -function log(...args) { - Console.rawInfo(`%% ${util.format.apply(null, args)}\n`); -} - -// We pin platform versions ourselves instead of relying on cordova-lib -// so we we can update them independently (e.g. use Cordova iOS 4.0.1 -// with Cordova 5.4.1) -const pinnedPlatformVersions = CORDOVA_PLATFORM_VERSIONS; - -// We pin plugin versions to make sure we do not install versions that are -// incompatible with the current platform versions. -// Versions are taken from cordova-lib's package.json and should be updated -// when we update to a newer version of cordova-lib. -const pinnedPluginVersions = { - "cordova-plugin-battery-status": "1.2.4", - "cordova-plugin-camera": "2.4.1", - "cordova-plugin-console": "1.1.0", // Deprecated, remove in future - "cordova-plugin-contacts": "2.3.1", - "cordova-plugin-device": "1.1.6", - "cordova-plugin-device-motion": "2.0.0", // Deprecated, remove in future - "cordova-plugin-device-orientation": "2.0.0", // Deprecated, remove in future - "cordova-plugin-dialogs": "1.3.3", - "cordova-plugin-file": "4.3.3", - "cordova-plugin-file-transfer": "1.6.3", - "cordova-plugin-geolocation": "2.4.3", - "cordova-plugin-globalization": "1.0.7", - "cordova-plugin-inappbrowser": "3.2.0", - "cordova-plugin-legacy-whitelist": "1.1.2", - "cordova-plugin-media": "3.0.1", - "cordova-plugin-media-capture": "1.4.3", - "cordova-plugin-network-information": "1.3.3", - "cordova-plugin-splashscreen": "4.1.0", - "cordova-plugin-statusbar": "2.3.0", - "cordova-plugin-test-framework": "1.1.5", - "cordova-plugin-vibration": "2.1.5", - "cordova-plugin-whitelist": "1.3.2", -} - -/** - * To fix Cordova error: Variable(s) missing we convert the cli_variables - * when removing plugins we want to convert for each plugin, for instance, - * cordova-plugin-facebook4: - * commandOptions { - * ... - * cli_variables: { - * 'cordova-plugin-googleplus': { - * REVERSED_CLIENT_ID: 'com.googleusercontent.apps.11111111-xxkodsuusaiusixuaix' - * }, - * 'cordova-plugin-facebook4': { APP_ID: '1111111111111111', APP_NAME: 'appname' } - * } - * } - * into this - * commandOptions { - * ... - * cli_variables: { APP_ID: '1111111111111111', APP_NAME: 'appname' } - * } - * - * @param plugin - * @param commandOptions - */ -const getCommandOptionsForPlugin = (plugin, commandOptions = {}) => { - const cli_variables = commandOptions && commandOptions.cli_variables - && commandOptions.cli_variables[plugin] || {}; - return {...commandOptions, cli_variables}; -} - -export class CordovaProject { - constructor(projectContext, options = {}) { - - this.projectContext = projectContext; - - this.projectRoot = projectContext.getProjectLocalDirectory('cordova-build'); - this.options = options; - - this.pluginsDir = files.pathJoin(this.projectRoot, 'plugins'); - - this.buildJsonPath = files.convertToOSPath( - files.pathJoin(this.projectRoot, 'build.json')); - - this.createIfNeeded(); - } - - createIfNeeded() { - buildmessage.assertInJob(); - - // Check if we have an existing Cordova project directory with outdated - // platforms. In that case, we remove the whole directory to avoid issues. - if (files.exists(this.projectRoot)) { - const installedPlatforms = this.listInstalledPlatforms(); - - const outdated = _.some(pinnedPlatformVersions, (pinnedVersion, platform) => { - // If the platform is not installed, it cannot be outdated - if (!_.contains(installedPlatforms, platform)) { - return false; - } - - const installedVersion = this.installedVersionForPlatform(platform); - // If we cannot establish the installed version, we consider it outdated - if (!installedVersion) { - return true; - } - - if (! semver.valid(pinnedVersion)) { - // If pinnedVersion is not a semantic version but instead - // something like a GitHub tarball URL, assume not outdated. - return false; - } - - return semver.lt(installedVersion, pinnedVersion); - }); - - if (outdated) { - Console.debug(`Removing Cordova project directory to avoid issues with -outdated platforms`); - // Remove Cordova project directory to start afresh - // and avoid a broken project - files.rm_recursive(this.projectRoot); - } - } - - if (!files.exists(this.projectRoot)) { - // We create a temporary directory with a generated config.xml - // to use as a template for creating the Cordova project - // This way, we are not dependent on the contents of - // cordova-app-hello-world but we base our initial project state on - // our own defaults and optionally a mobile-config.js - - const templatePath = files.mkdtemp('cordova-template-'); - - // If we don't create an empty hooks directory, cordova-lib will attempt - // to install one from a hardcoded path to cordova-app-hello-world - files.mkdir_p(files.pathJoin(templatePath, 'hooks')); - - // If we don't create an empty www directory, cordova-lib will get - // confused - files.mkdir_p(files.pathJoin(templatePath, 'www')); - - const builder = new CordovaBuilder( - this.projectContext, - templatePath, - { mobileServerUrl: this.options.mobileServerUrl, - cordovaServerPort: this.options.cordovaServerPort, - settingsFile: this.options.settingsFile } - ); - - builder.processControlFile(); - - if (buildmessage.jobHasMessages()) { - return; - } - - // Don't copy resources (they will be copied as part of the prepare) - builder.writeConfigXmlAndCopyResources(false); - - // Create the Cordova project root directory - files.mkdir_p(files.pathDirname(this.projectRoot)); - - const config = { - lib: { - www: { - url: files.convertToOSPath(templatePath), - template: true - } - } - }; - - // Don't set cwd to project root in runCommands because it doesn't - // exist yet - this.runCommands('creating Cordova project', async () => { - // No need to pass in appName and appId because these are set from - // the generated config.xml - await create(files.convertToOSPath(this.projectRoot), - undefined, undefined, config); - }, undefined, null); - } - - this.writeBuildJson(); - } - - writeBuildJson() { - if (files.exists(this.buildJsonPath)) { - return; - } - - const iosCommonOptions = { - // See https://github.com/apache/cordova-ios/issues/407: - buildFlag: [ - "-UseModernBuildSystem=0", - ...(Console.verbose ? [] : ["-quiet"]) - ] - }; - - files.writeFile( - this.buildJsonPath, - JSON.stringify({ - ios: { - debug: iosCommonOptions, - release: iosCommonOptions, - } - }, null, 2) + "\n", - ); - } - - // Preparing - - prepareFromAppBundle(bundlePath, pluginVersions) { - assert(bundlePath); - assert(pluginVersions); - - buildmessage.assertInJob(); - - Console.debug('Preparing Cordova project from app bundle'); - - const builder = new CordovaBuilder( - this.projectContext, - this.projectRoot, - { mobileServerUrl: this.options.mobileServerUrl, - cordovaServerPort: this.options.cordovaServerPort, - settingsFile: this.options.settingsFile } - ); - - builder.processControlFile(); - - if (buildmessage.jobHasMessages()) { - return; - } - - builder.writeConfigXmlAndCopyResources(); - builder.copyWWW(bundlePath); - - this.ensurePluginsAreSynchronized(pluginVersions, - builder.pluginsConfiguration); - this.ensurePlatformsAreSynchronized(); - - // Temporary workaround for Cordova iOS bug until - // https://issues.apache.org/jira/browse/CB-10885 is fixed - const iosBuildExtrasPath = - files.pathJoin( - this.projectRoot, - 'platforms/ios/cordova/build-extras.xcconfig'); - - if (files.exists(iosBuildExtrasPath)) { - files.writeFile( - iosBuildExtrasPath, - 'LD_RUNPATH_SEARCH_PATHS = @executable_path/Frameworks;'); - } - - builder.copyBuildOverride(); - } - - prepareForPlatform(platform) { - assert(platform); - - // Temporary workaround for Cordova iOS bug until - // https://issues.apache.org/jira/browse/CB-11731 has been released - delete require.cache[files.pathJoin(this.projectRoot, - 'platforms/ios/cordova/lib/configMunger.js')]; - delete require.cache[files.pathJoin(this.projectRoot, - 'platforms/ios/cordova/lib/prepare.js')]; - - const commandOptions = { - ...this.defaultOptions, - platforms: [platform], - }; - - this.runCommands(`preparing Cordova project for platform \ -${displayNameForPlatform(platform)}`, async () => { - await cordova_lib.prepare(commandOptions); - }); - } - - // Building (includes prepare) - - buildForPlatform(platform, options = {}, extraPaths) { - assert(platform); - - const commandOptions = { - ...this.defaultOptions, - platforms: [platform], - options, - }; - - this.runCommands(`building Cordova app for platform \ -${displayNameForPlatform(platform)}`, async () => { - await cordova_lib.build(commandOptions); - }); - } - - // Running - - async run(platform, isDevice, options = [], extraPaths = []) { - options.push('--buildConfig', this.buildJsonPath); - options.push(isDevice ? '--device' : '--emulator'); - - let env = this.defaultEnvWithPathsAdded(...extraPaths); - const commandOptions = { - ...this.defaultOptions, - platforms: [platform], - device: isDevice, - }; - - this.runCommands(`running Cordova app for platform \ -${displayNameForPlatform(platform)} with options ${options}`, async () => { - await cordova_lib.run(commandOptions); - }); - - } - - // Platforms - - // Checks to see if the requirements for building and running on the - // specified Cordova platform are satisfied, printing - // installation instructions when needed. - checkPlatformRequirements(platform) { - if (platform === 'ios' && process.platform !== 'darwin') { - Console.warn("Currently, it is only possible to build iOS apps \ -on an OS X system."); - return false; - } - - const installedPlatforms = this.listInstalledPlatforms(); - - const inProject = _.contains(installedPlatforms, platform); - if (!inProject) { - Console.warn(`Please add the ${displayNameForPlatform(platform)} \ -platform to your project first.`); - Console.info(`Run: ${Console.command(`meteor add-platform ${platform}`)}`); - return false; - } - - const allRequirements = this.runCommands(`checking Cordova \ -requirements for platform ${displayNameForPlatform(platform)}`, - async () => { - return await cordova_lib.requirements([platform], - this.defaultOptions); - }); - let requirements = allRequirements && allRequirements[platform]; - if (!requirements) { - Console.error(`Failed to check requirements for platform \ -${displayNameForPlatform(platform)}`); - return false; - } else if (requirements instanceof CordovaError) { - Console.error(`Cordova error: ${requirements.message}`); - return false; - } - - // We don't use ios-deploy, but open Xcode to run on a device instead - requirements = _.reject(requirements, - requirement => requirement.id === 'ios-deploy'); - - const satisfied = _.every(requirements, - requirement => requirement.installed); - - if (!satisfied) { - Console.info(); - Console.info(`Your system does not yet seem to fulfill all requirements \ -to build apps for ${displayNameForPlatform(platform)}.`); - - Console.info(); - Console.info("Please follow the installation instructions in the mobile guide:"); - Console.info(Console.url("http://guide.meteor.com/cordova.html#installing-prerequisites")); - - Console.info(); - - Console.info("Status of the individual requirements:"); - for (const requirement of requirements) { - const name = requirement.name; - if (requirement.installed) { - Console.success(name, "installed"); - } else { - const reason = requirement.metadata && requirement.metadata.reason; - if (reason) { - Console.failInfo(`${name}: ${reason}`); - } else { - Console.failInfo(name); - } - } - } - } - return satisfied; - } - - listInstalledPlatforms() { - return cordova_util.listPlatforms(files.convertToOSPath(this.projectRoot)); - } - - installedVersionForPlatform(platform) { - const command = files.convertToOSPath(files.pathJoin( - this.projectRoot, 'platforms', platform, 'cordova', 'version')); - // Make sure the command exists before trying to execute it - if (files.exists(command)) { - return this.runCommands( - `getting installed version for platform ${platform} in Cordova project`, - execFileSync(command, { - env: this.defaultEnvWithPathsAdded(), - cwd: this.projectRoot}), null, null); - } else { - return null; - } - } - - updatePlatforms(platforms = this.listInstalledPlatforms()) { - this.runCommands(`updating Cordova project for platforms \ -${displayNamesForPlatforms(platforms)}`, async () => { - await cordova_lib.platform('update', platforms, this.defaultOptions); - }); - } - - addPlatform(platform) { - this.runCommands(`adding platform ${displayNameForPlatform(platform)} \ -to Cordova project`, async () => { - let version = pinnedPlatformVersions[platform]; - let platformSpec = version ? `${platform}@${version}` : platform; - await cordova_lib.platform('add', platformSpec, this.defaultOptions); - }); - } - - removePlatform(platform) { - this.runCommands(`removing platform ${displayNameForPlatform(platform)} \ -from Cordova project`, async () => { - await cordova_lib.platform('rm', platform, this.defaultOptions); - }); - } - - get cordovaPlatformsInApp() { - return this.projectContext.platformList.getCordovaPlatforms(); - } - - // Ensures that the Cordova platforms are synchronized with the app-level - // platforms. - ensurePlatformsAreSynchronized(platforms = this.cordovaPlatformsInApp) { - buildmessage.assertInCapture(); - - const installedPlatforms = this.listInstalledPlatforms(); - - for (let platform of platforms) { - if (_.contains(installedPlatforms, platform)) { - continue; - } - - this.addPlatform(platform); - } - - for (let platform of installedPlatforms) { - if (!_.contains(platforms, platform) && - _.contains(CORDOVA_PLATFORMS, platform)) { - this.removePlatform(platform); - } - } - } - - // Plugins - - // Because PluginInfoProvider reads in the plugin versions from - // their plugin.xml, that only gives us the declared version and doesn't - // tell us if plugins have been fetched from a Git SHA URL or a local path. - // So we overwrite the declared versions with versions from - // listFetchedPluginVersions that do contain this information. - listInstalledPluginVersions(usePluginInfoId = false) { - const pluginInfoProvider = new PluginInfoProvider(); - const installedPluginVersions = pluginInfoProvider.getAllWithinSearchPath( - files.convertToOSPath(this.pluginsDir)); - const fetchedPluginVersions = this.listFetchedPluginVersions(); - return _.object(installedPluginVersions.map(pluginInfo => { - const fetchedPlugin = fetchedPluginVersions[pluginInfo.id]; - const id = fetchedPlugin.id; - const version = fetchedPlugin.version || pluginInfo.version; - return [usePluginInfoId ? pluginInfo.id : id, version]; - })); - } - - // There is no Cordova function to get the fetched plugin versions, so we - // have to read in fetch.json (a file managed by plugman, a semi-independent - // part of cordova-lib) and parse the format ourselves into a version - // string suitable to be passed to targetForPlugin. - // Note that a plugin can be fetched but not installed, so that's why we - // still need a separate listInstalledPluginVersions. - listFetchedPluginVersions() { - const fetchJsonPath = files.pathJoin(this.pluginsDir, 'fetch.json'); - - if (!files.exists(fetchJsonPath)) { - return {}; - } - - const fetchedPluginsMetadata = JSON.parse(files.readFile( - fetchJsonPath, 'utf8')); - return _.object(_.map(fetchedPluginsMetadata, (metadata, name) => { - const source = metadata.source; - - const idWithVersion = source.id ? source.id : name; - const scoped = idWithVersion[0] === '@'; - const id = `${scoped ? '@' : ''}${idWithVersion.split('@')[scoped ? 1 : 0]}`; - let version; - if (source.type === 'registry') { - version = idWithVersion.split('@')[scoped ? 2 : 1]; - } else if (source.type === 'git') { - version = `${source.url}${'ref' in source ? `#${source.ref}` : ''}`; - } else if (source.type === 'local') { - version = `file://${source.path}`; - } - return [name, { id, version }]; - })); - } - - // Construct a target suitable for 'cordova plugin add' from an id and - // version, converting or resolving a URL or path where needed. - targetForPlugin(id, version, { usePluginName = false } = {}) { - assert(id); - assert(version); - - buildmessage.assertInJob(); - - if (utils.isUrlWithSha(version)) { - return usePluginName ? convertToGitUrl(version) : - `${id}@${convertToGitUrl(version)}`; - } else if (utils.isUrlWithFileScheme(version)) { - // Strip file:// and resolve the path relative to the cordova-build - // directory - const pluginPath = this.resolveLocalPluginPath(version); - // We need to check if the directory exists ourselves because Cordova - // will try to install from npm (and fail with an unhelpful error message) - // if the directory is not found - const stat = files.statOrNull(pluginPath); - if (!(stat && stat.isDirectory())) { - buildmessage.error(`Couldn't find local directory \ -'${files.convertToOSPath(pluginPath)}' \ -(while attempting to install plugin ${id}).`); - return null; - } - return files.convertToOSPath(pluginPath); - } else { - return `${id}@${version}`; - } - } - - // Strips file:// and resolves the path relative to the cordova-build - // directory - resolveLocalPluginPath(pluginPath) { - pluginPath = pluginPath.substr("file://".length); - if (utils.isPathRelative(pluginPath)) { - return files.pathResolve(this.projectContext.projectDir, pluginPath); - } else { - return pluginPath; - } - } - - addPlugin(id, version, config = {}, options = {}) { - const { retry = true } = options; - const target = this.targetForPlugin(id, version, options); - if (target) { - const commandOptions = _.extend(this.defaultOptions, - { cli_variables: config, link: utils.isUrlWithFileScheme(version) }); - - try { - this.runCommands(`adding plugin ${target} \ -to Cordova project`, cordova_lib.plugin.bind(undefined, 'add', [target], - commandOptions)); - } catch (error) { - if (retry && utils.isUrlWithSha(version)) { - Console.warn(`Cordova plugin add for ${id} failed with plugin id - in the URL with hash, retrying now with plugin name. If this works you - can ignore the error above or you can update your plugin declaration - to use the id from config.xml instead of the name from package.json`); - this.addPlugin(id, version, config, { ...options, - usePluginName: true, retry: false }); - return; - } - throw error; - } - } - } - - // plugins is an array of plugin IDs. - removePlugins(plugins, config = {}) { - if (_.isEmpty(plugins)) { - return; - } - - const commandOptions = _.extend(this.defaultOptions, - { cli_variables: config }); - - plugins.forEach(plugin => { - const commandOptionsPlugin = getCommandOptionsForPlugin(plugin, - commandOptions); - - this.runCommands(`removing plugin ${plugin} \ - from Cordova project`, cordova_lib.plugin.bind(undefined, 'rm --force', [plugin], - commandOptionsPlugin)); - }); - } - - // Ensures that the Cordova plugins are synchronized with the app-level - // plugins. - ensurePluginsAreSynchronized(pluginVersions, pluginsConfiguration = {}) { - assert(pluginVersions); - - buildmessage.assertInCapture(); - - buildmessage.enterJob({ title: "installing Cordova plugins"}, () => { - // Cordova plugin IDs have changed as part of moving to npm. - // We convert old plugin IDs to new IDs in the 1.2.0-cordova-changes - // upgrader and when adding plugins, but packages may still depend on - // the old IDs. - // To avoid attempts at duplicate installation, we check for old IDs here - // and convert them to new IDs when needed. We also convert old-style GitHub - // tarball URLs to new Git URLs, and check if other Git URLs contain a - // SHA reference. - pluginVersions = convertPluginVersions(pluginVersions); - - // To ensure we do not attempt to install plugin versions incompatible - // with the current platform versions, we compare them against a list of - // pinned versions and adjust them if necessary. - this.ensurePinnedPluginVersions(pluginVersions); - - if (buildmessage.jobHasMessages()) { - return; - } - - // Also, we warn if any App.configurePlugin calls in mobile-config.js - // need to be updated (and in the meantime we take care of the - // conversion of the plugin configuration to the new ID). - pluginsConfiguration = _.object(_.map(pluginsConfiguration, (config, id) => { - const newId = newPluginId(id); - if (newId) { - Console.warn(); - Console.labelWarn(`Cordova plugin ${id} has been renamed to ${newId} \ -as part of moving to npm. Please change the App.configurePlugin call in \ -mobile-config.js accordingly.`); - return [newId, config]; - } else { - return [id, config]; - } - })); - - const installedPluginVersions = - convertPluginVersions(this.listInstalledPluginVersions()); - - // Due to the dependency structure of Cordova plugins, it is impossible to - // upgrade the version on an individual Cordova plugin. Instead, whenever - // a new Cordova plugin is added or removed, or its version is changed, - // we just reinstall all of the plugins. - let shouldReinstallAllPlugins = false; - - // Iterate through all of the plugins and find if any of them have a new - // version. Additionally, check if we have plugins installed from a local - // path. - const pluginsFromLocalPath = {}; - _.each(pluginVersions, (version, id) => { - // Check if plugin is installed from a local path. - const isPluginFromLocalPath = utils.isUrlWithFileScheme(version); - - if (isPluginFromLocalPath) { - pluginsFromLocalPath[id] = version; - } else { - if (!_.has(installedPluginVersions, id) || - installedPluginVersions[id] !== version) { - // We do not have the plugin installed or the version has changed. - shouldReinstallAllPlugins = true; - Console.debug(`Plugin ${id} version have changed or it was added, will \ -perform cordova plugins reinstall`); - } - } - }); - - const installedPluginsByName = Object.keys(this.listInstalledPluginVersions(true)); - - // Check to see if we have any installed plugins that are not in the - // current set of plugins. - if (!shouldReinstallAllPlugins) { - // We need to know which plugins were installed because they were - // declared in cordova-plugins and which are just dependencies of others. - // Luckily for us android.json and ios.json have that information. - const androidJsonPath = files.pathJoin(this.pluginsDir, 'android.json'); - const iosJsonPath = files.pathJoin(this.pluginsDir, 'ios.json'); - - const androidJson = files.exists(androidJsonPath) ? JSON.parse(files.readFile( - androidJsonPath, 'utf8')) : { installed_plugins: {} }; - const iosJson = files.exists(iosJsonPath) ? JSON.parse(files.readFile( - iosJsonPath, 'utf8')) : { installed_plugins: {} }; - - let previouslyInstalledPlugins = _.union( - Object.keys(androidJson.installed_plugins), Object.keys(iosJson.installed_plugins)); - - // Now the problem is we have a list of names the plugins (name defined in the plugin.xml) - // while in cordova-plugins we have can have their npm ids. We need to translate the list. - const fetched = this.listFetchedPluginVersions(); - previouslyInstalledPlugins = previouslyInstalledPlugins.map(name => { - return fetched[name].id; - }); - - previouslyInstalledPlugins.forEach(id => { - if (!_.has(pluginVersions, id)) { - Console.debug(`Plugin ${id} was removed, will \ -perform cordova plugins reinstall`); - shouldReinstallAllPlugins = true; - } - }); - } - - if (!_.isEmpty(pluginsFromLocalPath) && !shouldReinstallAllPlugins) { - Console.debug('Reinstalling Cordova plugins added from the local path'); - } - - // We either reinstall all plugins or only those fetched from a local - // path. - if (shouldReinstallAllPlugins || !_.isEmpty(pluginsFromLocalPath)) { - let pluginsToRemove; - if (shouldReinstallAllPlugins) { - pluginsToRemove = installedPluginsByName; - } else { - // Only try to remove plugins that are currently installed. - pluginsToRemove = _.intersection( - Object.keys(pluginsFromLocalPath), - Object.keys(installedPluginVersions)); - } - - this.removePlugins(pluginsToRemove, pluginsConfiguration); - - let pluginVersionsToInstall; - - // Now install the necessary plugins. - if (shouldReinstallAllPlugins) { - pluginVersionsToInstall = pluginVersions; - } else { - pluginVersionsToInstall = pluginsFromLocalPath; - } - - const pluginsToInstallCount = _.size(pluginVersionsToInstall); - let installedPluginsCount = 0; - - buildmessage.reportProgress({ current: 0, end: pluginsToInstallCount }); - _.each(pluginVersionsToInstall, (version, id) => { - this.addPlugin(id, version, pluginsConfiguration[id]); - - buildmessage.reportProgress({ - current: ++installedPluginsCount, - end: pluginsToInstallCount - }); - }); - - this.ensurePluginsWereInstalled(pluginVersionsToInstall, pluginsConfiguration, true); - } - }); - } - - // Ensures that the Cordova plugins are installed - ensurePluginsWereInstalled(requiredPlugins, pluginsConfiguration, retryInstall) { - // List of all installed plugins. This should work for global / local / scoped cordova plugins. - // Examples: - // cordova-plugin-whitelist@1.3.2 => { 'cordova-plugin-whitelist': '1.3.2' } - // com.cordova.plugin@file://.cordova-plugins/plugin => { 'com.cordova.plugin': 'file://.cordova-plugins/plugin' } - // @scope/plugin@1.0.0 => { 'com.cordova.plugin': 'scope/plugin' } - const installed = this.listInstalledPluginVersions(); - const installedPluginsNames = Object.keys(installed); - const missingPlugins = {}; - - Object.keys(requiredPlugins).filter(plugin => { - if (!installedPluginsNames.includes(plugin)) { - Console.debug(`Plugin ${plugin} was not installed.`); - if (retryInstall) { - Console.debug(`Retrying to install ${plugin}.`); - this.addPlugin( - plugin, - requiredPlugins[plugin], - pluginsConfiguration[plugin] - ); - } - missingPlugins[plugin] = requiredPlugins[plugin]; - } - }); - - // All plugins were installed - if (Object.keys(missingPlugins).length === 0) { - return; - } - - // Check one more time after re-installation. - if (retryInstall) { - this.ensurePluginsWereInstalled(missingPlugins, pluginsConfiguration, false); - } else { - // Fail, to prevent building and publishing faulty mobile app without at this moment we need to stop. - throw new Error(`Some Cordova plugins installation failed: (${Object.keys(missingPlugins).join(', ')}).`); - } - } - - ensurePinnedPluginVersions(pluginVersions) { - assert(pluginVersions); - - _.each(pluginVersions, (version, id) => { - // Skip plugin specs that are not actual versions - if (utils.isUrlWithSha(version) || utils.isUrlWithFileScheme(version)) { - return; - } - - const pinnedVersion = pinnedPluginVersions[id]; - - if (pinnedVersion && semver.lt(version, pinnedVersion)) { - Console.labelWarn(`Attempting to install plugin ${id}@${version}, but \ -it should have a minimum version of ${pinnedVersion} to ensure compatibility \ -with the current platform versions. Installing the minimum version for \ -convenience, but you should adjust your dependencies.`); - pluginVersions[id] = pinnedVersion; - } - }); - } - - // Cordova commands support - - get defaultOptions() { - return { - silent: !Console.verbose, - verbose: Console.verbose, - buildConfig: this.buildJsonPath, - }; - } - - defaultEnvWithPathsAdded(...extraPaths) { - let paths = (this.defaultPaths || []); - paths.unshift(...extraPaths); - const env = files.currentEnvWithPathsAdded(...paths); - return env; - } - - get defaultPaths() { - const nodeBinDir = files.getCurrentNodeBinDir(); - - // Add the ios-sim bin path so Cordova can find it - const iosSimBinPath = - files.pathJoin(files.getDevBundle(), - 'lib/node_modules/ios-sim/bin'); - - return [nodeBinDir, iosSimBinPath]; - } - - runCommands(title, promiseOrAsyncFunction, env = this.defaultEnvWithPathsAdded(), - cwd = this.projectRoot) { - // Capitalize title for debug output - Console.debug(title[0].toUpperCase() + title.slice(1)); - - const oldCwd = process.cwd(); - if (cwd) { - process.chdir(files.convertToOSPath(cwd)); - } - - const oldEnv = process.env; - if (env) { - // this preserves case insensitivity for PATH on windows - Object.keys(env).forEach(key => { - process.env[key] = env[key]; - }); - } - - try { - const promise = (typeof promiseOrAsyncFunction === 'function') ? - promiseOrAsyncFunction() : promiseOrAsyncFunction; - return Promise.await(promise); - } catch (error) { - Console.arrowError('Errors executing Cordova commands:'); - Console.error(); - const consoleOptions = Console.options({ indent: 3 }); - Console.error(`While ${title}:`, consoleOptions); - - if (error instanceof CordovaError) { - // Only print the message for errors thrown by cordova-lib, because - // these are meant for end-user consumption. - // But warn that they may not completely apply to our situation. - // (We do print the stack trace if we are in verbose mode.) - const errorMessage = Console.verbose ? (error.stack || error.message) : - error.message; - Console.error(`Cordova error: ${errorMessage}`, consoleOptions); - Console.error(chalk.green(`(If the error message contains suggestions \ -for a fix, note that this may not apply to the Meteor integration. You can try \ -running again with the --verbose option to help diagnose the issue.)`), - consoleOptions); - } else { - // Print stack trace for other errors by default, because the message - // usually does not give us enough information to know what is going on - const errorMessage = error && error.stack || error; - Console.error(errorMessage, consoleOptions); - }; - throw new main.ExitWithCode(1); - } finally { - if (cwd && oldCwd) { - process.chdir(oldCwd); - } - if (env && oldEnv) { - process.env = oldEnv; - } - } - } -} - -const CPp = CordovaProject.prototype; -["prepareFromAppBundle", - "prepareForPlatform", - "buildForPlatform", -].forEach(name => { - CPp[name] = Profile(platform => { - const prefix = `CordovaProject#${name}`; - return name.endsWith("ForPlatform") ? `${prefix} for ${ - displayNameForPlatform(platform) - }` : prefix; - }, CPp[name]); -}); +import _ from 'underscore'; +import util from 'util'; +import assert from 'assert'; +import chalk from 'chalk'; +import semver from 'semver'; + +import files from '../fs/files'; +import utils from '../utils/utils.js'; +import { Console } from '../console/console.js'; +import { Profile } from '../tool-env/profile'; +import buildmessage from '../utils/buildmessage.js'; +import main from '../cli/main.js'; +import { execFileSync } from '../utils/processes'; + +import { cordova as cordova_lib, events as cordova_events, CordovaError } + from 'cordova-lib'; +import create from "cordova-create"; +import cordova_util from 'cordova-lib/src/cordova/util.js'; +import PluginInfoProvider from 'cordova-common/src/PluginInfo/PluginInfoProvider.js'; + +import { CORDOVA_PLATFORMS, CORDOVA_PLATFORM_VERSIONS, displayNameForPlatform, displayNamesForPlatforms, + newPluginId, convertPluginVersions, convertToGitUrl } from './index.js'; +import { CordovaBuilder } from './builder.js'; + +cordova_events.on('verbose', logIfVerbose); +cordova_events.on('log', logIfVerbose); +cordova_events.on('info', logIfVerbose); +cordova_events.on('warn', log); +cordova_events.on('error', log); + +cordova_events.on('results', logIfVerbose); + +function logIfVerbose(...args) { + if (Console.verbose) { + log(...args); + } +}; + +function log(...args) { + Console.rawInfo(`%% ${util.format.apply(null, args)}\n`); +} + +// We pin platform versions ourselves instead of relying on cordova-lib +// so we we can update them independently (e.g. use Cordova iOS 4.0.1 +// with Cordova 5.4.1) +const pinnedPlatformVersions = CORDOVA_PLATFORM_VERSIONS; + +// We pin plugin versions to make sure we do not install versions that are +// incompatible with the current platform versions. +// Versions are taken from cordova-lib's package.json and should be updated +// when we update to a newer version of cordova-lib. +const pinnedPluginVersions = { + "cordova-plugin-battery-status": "1.2.4", + "cordova-plugin-camera": "2.4.1", + "cordova-plugin-console": "1.1.0", // Deprecated, remove in future + "cordova-plugin-contacts": "2.3.1", + "cordova-plugin-device": "1.1.6", + "cordova-plugin-device-motion": "2.0.0", // Deprecated, remove in future + "cordova-plugin-device-orientation": "2.0.0", // Deprecated, remove in future + "cordova-plugin-dialogs": "1.3.3", + "cordova-plugin-file": "4.3.3", + "cordova-plugin-file-transfer": "1.6.3", + "cordova-plugin-geolocation": "2.4.3", + "cordova-plugin-globalization": "1.0.7", + "cordova-plugin-inappbrowser": "3.2.0", + "cordova-plugin-legacy-whitelist": "1.1.2", + "cordova-plugin-media": "3.0.1", + "cordova-plugin-media-capture": "1.4.3", + "cordova-plugin-network-information": "1.3.3", + "cordova-plugin-splashscreen": "4.1.0", + "cordova-plugin-statusbar": "2.3.0", + "cordova-plugin-test-framework": "1.1.5", + "cordova-plugin-vibration": "2.1.5", + "cordova-plugin-whitelist": "1.3.2", +} + +/** + * To fix Cordova error: Variable(s) missing we convert the cli_variables + * when removing plugins we want to convert for each plugin, for instance, + * cordova-plugin-facebook4: + * commandOptions { + * ... + * cli_variables: { + * 'cordova-plugin-googleplus': { + * REVERSED_CLIENT_ID: 'com.googleusercontent.apps.11111111-xxkodsuusaiusixuaix' + * }, + * 'cordova-plugin-facebook4': { APP_ID: '1111111111111111', APP_NAME: 'appname' } + * } + * } + * into this + * commandOptions { + * ... + * cli_variables: { APP_ID: '1111111111111111', APP_NAME: 'appname' } + * } + * + * @param plugin + * @param commandOptions + */ +const getCommandOptionsForPlugin = (plugin, commandOptions = {}) => { + const cli_variables = commandOptions && commandOptions.cli_variables + && commandOptions.cli_variables[plugin] || {}; + return {...commandOptions, cli_variables}; +} + +export class CordovaProject { + constructor(projectContext, options = {}) { + + this.projectContext = projectContext; + + this.projectRoot = projectContext.getProjectLocalDirectory('cordova-build'); + this.options = options; + + this.pluginsDir = files.pathJoin(this.projectRoot, 'plugins'); + + this.buildJsonPath = files.convertToOSPath( + files.pathJoin(this.projectRoot, 'build.json')); + + this.createIfNeeded(); + } + + createIfNeeded() { + buildmessage.assertInJob(); + + // Check if we have an existing Cordova project directory with outdated + // platforms. In that case, we remove the whole directory to avoid issues. + if (files.exists(this.projectRoot)) { + const installedPlatforms = this.listInstalledPlatforms(); + + const outdated = _.some(pinnedPlatformVersions, (pinnedVersion, platform) => { + // If the platform is not installed, it cannot be outdated + if (!_.contains(installedPlatforms, platform)) { + return false; + } + + const installedVersion = this.installedVersionForPlatform(platform); + // If we cannot establish the installed version, we consider it outdated + if (!installedVersion) { + return true; + } + + if (! semver.valid(pinnedVersion)) { + // If pinnedVersion is not a semantic version but instead + // something like a GitHub tarball URL, assume not outdated. + return false; + } + + return semver.lt(installedVersion, pinnedVersion); + }); + + if (outdated) { + Console.debug(`Removing Cordova project directory to avoid issues with +outdated platforms`); + // Remove Cordova project directory to start afresh + // and avoid a broken project + files.rm_recursive(this.projectRoot); + } + } + + if (!files.exists(this.projectRoot)) { + // We create a temporary directory with a generated config.xml + // to use as a template for creating the Cordova project + // This way, we are not dependent on the contents of + // cordova-app-hello-world but we base our initial project state on + // our own defaults and optionally a mobile-config.js + + const templatePath = files.mkdtemp('cordova-template-'); + + // If we don't create an empty hooks directory, cordova-lib will attempt + // to install one from a hardcoded path to cordova-app-hello-world + files.mkdir_p(files.pathJoin(templatePath, 'hooks')); + + // If we don't create an empty www directory, cordova-lib will get + // confused + files.mkdir_p(files.pathJoin(templatePath, 'www')); + + const builder = new CordovaBuilder( + this.projectContext, + templatePath, + { mobileServerUrl: this.options.mobileServerUrl, + cordovaServerPort: this.options.cordovaServerPort, + settingsFile: this.options.settingsFile } + ); + + builder.processControlFile(); + + if (buildmessage.jobHasMessages()) { + return; + } + + // Don't copy resources (they will be copied as part of the prepare) + builder.writeConfigXmlAndCopyResources(false); + + // Create the Cordova project root directory + files.mkdir_p(files.pathDirname(this.projectRoot)); + + const config = { + lib: { + www: { + url: files.convertToOSPath(templatePath), + template: true + } + } + }; + + // Don't set cwd to project root in runCommands because it doesn't + // exist yet + this.runCommands('creating Cordova project', async () => { + // No need to pass in appName and appId because these are set from + // the generated config.xml + await create(files.convertToOSPath(this.projectRoot), + undefined, undefined, config); + }, undefined, null); + } + + this.writeBuildJson(); + } + + writeBuildJson() { + if (files.exists(this.buildJsonPath)) { + return; + } + + const iosCommonOptions = { + // See https://github.com/apache/cordova-ios/issues/407: + buildFlag: [ + "-UseModernBuildSystem=0", + ...(Console.verbose ? [] : ["-quiet"]) + ] + }; + + files.writeFile( + this.buildJsonPath, + JSON.stringify({ + ios: { + debug: iosCommonOptions, + release: iosCommonOptions, + } + }, null, 2) + "\n", + ); + } + + // Preparing + + prepareFromAppBundle(bundlePath, pluginVersions) { + assert(bundlePath); + assert(pluginVersions); + + buildmessage.assertInJob(); + + Console.debug('Preparing Cordova project from app bundle'); + + const builder = new CordovaBuilder( + this.projectContext, + this.projectRoot, + { mobileServerUrl: this.options.mobileServerUrl, + cordovaServerPort: this.options.cordovaServerPort, + settingsFile: this.options.settingsFile } + ); + + builder.processControlFile(); + + if (buildmessage.jobHasMessages()) { + return; + } + + builder.writeConfigXmlAndCopyResources(); + builder.copyWWW(bundlePath); + + this.ensurePluginsAreSynchronized(pluginVersions, + builder.pluginsConfiguration); + this.ensurePlatformsAreSynchronized(); + + // Temporary workaround for Cordova iOS bug until + // https://issues.apache.org/jira/browse/CB-10885 is fixed + const iosBuildExtrasPath = + files.pathJoin( + this.projectRoot, + 'platforms/ios/cordova/build-extras.xcconfig'); + + if (files.exists(iosBuildExtrasPath)) { + files.writeFile( + iosBuildExtrasPath, + 'LD_RUNPATH_SEARCH_PATHS = @executable_path/Frameworks;'); + } + + builder.copyBuildOverride(); + } + + prepareForPlatform(platform) { + assert(platform); + + // Temporary workaround for Cordova iOS bug until + // https://issues.apache.org/jira/browse/CB-11731 has been released + delete require.cache[files.pathJoin(this.projectRoot, + 'platforms/ios/cordova/lib/configMunger.js')]; + delete require.cache[files.pathJoin(this.projectRoot, + 'platforms/ios/cordova/lib/prepare.js')]; + + const commandOptions = { + ...this.defaultOptions, + platforms: [platform], + }; + + this.runCommands(`preparing Cordova project for platform \ +${displayNameForPlatform(platform)}`, async () => { + await cordova_lib.prepare(commandOptions); + }); + } + + // Building (includes prepare) + + buildForPlatform(platform, options = {}, extraPaths) { + assert(platform); + + const commandOptions = { + ...this.defaultOptions, + platforms: [platform], + options, + }; + + this.runCommands(`building Cordova app for platform \ +${displayNameForPlatform(platform)}`, async () => { + await cordova_lib.build(commandOptions); + }); + } + + // Running + + async run(platform, isDevice, options = [], extraPaths = []) { + options.push('--buildConfig', this.buildJsonPath); + options.push(isDevice ? '--device' : '--emulator'); + + let env = this.defaultEnvWithPathsAdded(...extraPaths); + const commandOptions = { + ...this.defaultOptions, + platforms: [platform], + device: isDevice, + }; + + this.runCommands(`running Cordova app for platform \ +${displayNameForPlatform(platform)} with options ${options}`, async () => { + await cordova_lib.run(commandOptions); + }); + + } + + // Platforms + + // Checks to see if the requirements for building and running on the + // specified Cordova platform are satisfied, printing + // installation instructions when needed. + checkPlatformRequirements(platform) { + if (platform === 'ios' && process.platform !== 'darwin') { + Console.warn("Currently, it is only possible to build iOS apps \ +on an OS X system."); + return false; + } + + const installedPlatforms = this.listInstalledPlatforms(); + + const inProject = _.contains(installedPlatforms, platform); + if (!inProject) { + Console.warn(`Please add the ${displayNameForPlatform(platform)} \ +platform to your project first.`); + Console.info(`Run: ${Console.command(`meteor add-platform ${platform}`)}`); + return false; + } + + const allRequirements = this.runCommands(`checking Cordova \ +requirements for platform ${displayNameForPlatform(platform)}`, + async () => { + return await cordova_lib.requirements([platform], + this.defaultOptions); + }); + let requirements = allRequirements && allRequirements[platform]; + if (!requirements) { + Console.error(`Failed to check requirements for platform \ +${displayNameForPlatform(platform)}`); + return false; + } else if (requirements instanceof CordovaError) { + Console.error(`Cordova error: ${requirements.message}`); + return false; + } + + // We don't use ios-deploy, but open Xcode to run on a device instead + requirements = _.reject(requirements, + requirement => requirement.id === 'ios-deploy'); + + const satisfied = _.every(requirements, + requirement => requirement.installed); + + if (!satisfied) { + Console.info(); + Console.info(`Your system does not yet seem to fulfill all requirements \ +to build apps for ${displayNameForPlatform(platform)}.`); + + Console.info(); + Console.info("Please follow the installation instructions in the mobile guide:"); + Console.info(Console.url("http://guide.meteor.com/cordova.html#installing-prerequisites")); + + Console.info(); + + Console.info("Status of the individual requirements:"); + for (const requirement of requirements) { + const name = requirement.name; + if (requirement.installed) { + Console.success(name, "installed"); + } else { + const reason = requirement.metadata && requirement.metadata.reason; + if (reason) { + Console.failInfo(`${name}: ${reason}`); + } else { + Console.failInfo(name); + } + } + } + } + return satisfied; + } + + listInstalledPlatforms() { + return cordova_util.listPlatforms(files.convertToOSPath(this.projectRoot)); + } + + installedVersionForPlatform(platform) { + const command = files.convertToOSPath(files.pathJoin( + this.projectRoot, 'platforms', platform, 'cordova', 'version')); + // Make sure the command exists before trying to execute it + if (files.exists(command)) { + return this.runCommands( + `getting installed version for platform ${platform} in Cordova project`, + execFileSync(command, { + env: this.defaultEnvWithPathsAdded(), + cwd: this.projectRoot}), null, null); + } else { + return null; + } + } + + updatePlatforms(platforms = this.listInstalledPlatforms()) { + this.runCommands(`updating Cordova project for platforms \ +${displayNamesForPlatforms(platforms)}`, async () => { + await cordova_lib.platform('update', platforms, this.defaultOptions); + }); + } + + addPlatform(platform) { + this.runCommands(`adding platform ${displayNameForPlatform(platform)} \ +to Cordova project`, async () => { + let version = pinnedPlatformVersions[platform]; + let platformSpec = version ? `${platform}@${version}` : platform; + await cordova_lib.platform('add', platformSpec, this.defaultOptions); + }); + } + + removePlatform(platform) { + this.runCommands(`removing platform ${displayNameForPlatform(platform)} \ +from Cordova project`, async () => { + await cordova_lib.platform('rm', platform, this.defaultOptions); + }); + } + + get cordovaPlatformsInApp() { + return this.projectContext.platformList.getCordovaPlatforms(); + } + + // Ensures that the Cordova platforms are synchronized with the app-level + // platforms. + ensurePlatformsAreSynchronized(platforms = this.cordovaPlatformsInApp) { + buildmessage.assertInCapture(); + + const installedPlatforms = this.listInstalledPlatforms(); + + for (let platform of platforms) { + if (_.contains(installedPlatforms, platform)) { + continue; + } + + this.addPlatform(platform); + } + + for (let platform of installedPlatforms) { + if (!_.contains(platforms, platform) && + _.contains(CORDOVA_PLATFORMS, platform)) { + this.removePlatform(platform); + } + } + } + + // Plugins + + // Because PluginInfoProvider reads in the plugin versions from + // their plugin.xml, that only gives us the declared version and doesn't + // tell us if plugins have been fetched from a Git SHA URL or a local path. + // So we overwrite the declared versions with versions from + // listFetchedPluginVersions that do contain this information. + listInstalledPluginVersions(usePluginInfoId = false) { + const pluginInfoProvider = new PluginInfoProvider(); + const installedPluginVersions = pluginInfoProvider.getAllWithinSearchPath( + files.convertToOSPath(this.pluginsDir)); + const fetchedPluginVersions = this.listFetchedPluginVersions(); + return _.object(installedPluginVersions.map(pluginInfo => { + const fetchedPlugin = fetchedPluginVersions[pluginInfo.id]; + const id = fetchedPlugin.id; + const version = fetchedPlugin.version || pluginInfo.version; + return [usePluginInfoId ? pluginInfo.id : id, version]; + })); + } + + // There is no Cordova function to get the fetched plugin versions, so we + // have to read in fetch.json (a file managed by plugman, a semi-independent + // part of cordova-lib) and parse the format ourselves into a version + // string suitable to be passed to targetForPlugin. + // Note that a plugin can be fetched but not installed, so that's why we + // still need a separate listInstalledPluginVersions. + listFetchedPluginVersions() { + const fetchJsonPath = files.pathJoin(this.pluginsDir, 'fetch.json'); + + if (!files.exists(fetchJsonPath)) { + return {}; + } + + const fetchedPluginsMetadata = JSON.parse(files.readFile( + fetchJsonPath, 'utf8')); + return _.object(_.map(fetchedPluginsMetadata, (metadata, name) => { + const source = metadata.source; + + const idWithVersion = source.id ? source.id : name; + const scoped = idWithVersion[0] === '@'; + const id = `${scoped ? '@' : ''}${idWithVersion.split('@')[scoped ? 1 : 0]}`; + let version; + if (source.type === 'registry') { + version = idWithVersion.split('@')[scoped ? 2 : 1]; + } else if (source.type === 'git') { + version = `${source.url}${'ref' in source ? `#${source.ref}` : ''}`; + } else if (source.type === 'local') { + version = `file://${source.path}`; + } + return [name, { id, version }]; + })); + } + + // Construct a target suitable for 'cordova plugin add' from an id and + // version, converting or resolving a URL or path where needed. + targetForPlugin(id, version, { usePluginName = false } = {}) { + assert(id); + assert(version); + + buildmessage.assertInJob(); + + if (utils.isUrlWithSha(version)) { + return usePluginName ? convertToGitUrl(version) : + `${id}@${convertToGitUrl(version)}`; + } else if (utils.isUrlWithFileScheme(version)) { + // Strip file:// and resolve the path relative to the cordova-build + // directory + const pluginPath = this.resolveLocalPluginPath(version); + // We need to check if the directory exists ourselves because Cordova + // will try to install from npm (and fail with an unhelpful error message) + // if the directory is not found + const stat = files.statOrNull(pluginPath); + if (!(stat && stat.isDirectory())) { + buildmessage.error(`Couldn't find local directory \ +'${files.convertToOSPath(pluginPath)}' \ +(while attempting to install plugin ${id}).`); + return null; + } + return files.convertToOSPath(pluginPath); + } else { + return `${id}@${version}`; + } + } + + // Strips file:// and resolves the path relative to the cordova-build + // directory + resolveLocalPluginPath(pluginPath) { + pluginPath = pluginPath.substr("file://".length); + if (utils.isPathRelative(pluginPath)) { + return files.pathResolve(this.projectContext.projectDir, pluginPath); + } else { + return pluginPath; + } + } + + addPlugin(id, version, config = {}, options = {}) { + const { retry = true } = options; + const target = this.targetForPlugin(id, version, options); + if (target) { + const commandOptions = _.extend(this.defaultOptions, + { cli_variables: config, link: utils.isUrlWithFileScheme(version) }); + + try { + this.runCommands(`adding plugin ${target} \ +to Cordova project`, cordova_lib.plugin.bind(undefined, 'add', [target], + commandOptions)); + } catch (error) { + if (retry && utils.isUrlWithSha(version)) { + Console.warn(`Cordova plugin add for ${id} failed with plugin id + in the URL with hash, retrying now with plugin name. If this works you + can ignore the error above or you can update your plugin declaration + to use the id from config.xml instead of the name from package.json`); + this.addPlugin(id, version, config, { ...options, + usePluginName: true, retry: false }); + return; + } + throw error; + } + } + } + + // plugins is an array of plugin IDs. + removePlugins(plugins, config = {}) { + if (_.isEmpty(plugins)) { + return; + } + + const commandOptions = _.extend(this.defaultOptions, + { cli_variables: config }); + + plugins.forEach(plugin => { + const commandOptionsPlugin = getCommandOptionsForPlugin(plugin, + commandOptions); + + this.runCommands(`removing plugin ${plugin} \ + from Cordova project`, cordova_lib.plugin.bind(undefined, 'rm --force', [plugin], + commandOptionsPlugin)); + }); + } + + // Ensures that the Cordova plugins are synchronized with the app-level + // plugins. + ensurePluginsAreSynchronized(pluginVersions, pluginsConfiguration = {}) { + assert(pluginVersions); + + buildmessage.assertInCapture(); + + buildmessage.enterJob({ title: "installing Cordova plugins"}, () => { + // Cordova plugin IDs have changed as part of moving to npm. + // We convert old plugin IDs to new IDs in the 1.2.0-cordova-changes + // upgrader and when adding plugins, but packages may still depend on + // the old IDs. + // To avoid attempts at duplicate installation, we check for old IDs here + // and convert them to new IDs when needed. We also convert old-style GitHub + // tarball URLs to new Git URLs, and check if other Git URLs contain a + // SHA reference. + pluginVersions = convertPluginVersions(pluginVersions); + + // To ensure we do not attempt to install plugin versions incompatible + // with the current platform versions, we compare them against a list of + // pinned versions and adjust them if necessary. + this.ensurePinnedPluginVersions(pluginVersions); + + if (buildmessage.jobHasMessages()) { + return; + } + + // Also, we warn if any App.configurePlugin calls in mobile-config.js + // need to be updated (and in the meantime we take care of the + // conversion of the plugin configuration to the new ID). + pluginsConfiguration = _.object(_.map(pluginsConfiguration, (config, id) => { + const newId = newPluginId(id); + if (newId) { + Console.warn(); + Console.labelWarn(`Cordova plugin ${id} has been renamed to ${newId} \ +as part of moving to npm. Please change the App.configurePlugin call in \ +mobile-config.js accordingly.`); + return [newId, config]; + } else { + return [id, config]; + } + })); + + const installedPluginVersions = + convertPluginVersions(this.listInstalledPluginVersions()); + + // Due to the dependency structure of Cordova plugins, it is impossible to + // upgrade the version on an individual Cordova plugin. Instead, whenever + // a new Cordova plugin is added or removed, or its version is changed, + // we just reinstall all of the plugins. + let shouldReinstallAllPlugins = false; + + // Iterate through all of the plugins and find if any of them have a new + // version. Additionally, check if we have plugins installed from a local + // path. + const pluginsFromLocalPath = {}; + _.each(pluginVersions, (version, id) => { + // Check if plugin is installed from a local path. + const isPluginFromLocalPath = utils.isUrlWithFileScheme(version); + + if (isPluginFromLocalPath) { + pluginsFromLocalPath[id] = version; + } else { + if (!_.has(installedPluginVersions, id) || + installedPluginVersions[id] !== version) { + // We do not have the plugin installed or the version has changed. + shouldReinstallAllPlugins = true; + Console.debug(`Plugin ${id} version have changed or it was added, will \ +perform cordova plugins reinstall`); + } + } + }); + + const installedPluginsByName = Object.keys(this.listInstalledPluginVersions(true)); + + // Check to see if we have any installed plugins that are not in the + // current set of plugins. + if (!shouldReinstallAllPlugins) { + // We need to know which plugins were installed because they were + // declared in cordova-plugins and which are just dependencies of others. + // Luckily for us android.json and ios.json have that information. + const androidJsonPath = files.pathJoin(this.pluginsDir, 'android.json'); + const iosJsonPath = files.pathJoin(this.pluginsDir, 'ios.json'); + + const androidJson = files.exists(androidJsonPath) ? JSON.parse(files.readFile( + androidJsonPath, 'utf8')) : { installed_plugins: {} }; + const iosJson = files.exists(iosJsonPath) ? JSON.parse(files.readFile( + iosJsonPath, 'utf8')) : { installed_plugins: {} }; + + let previouslyInstalledPlugins = _.union( + Object.keys(androidJson.installed_plugins), Object.keys(iosJson.installed_plugins)); + + // Now the problem is we have a list of names the plugins (name defined in the plugin.xml) + // while in cordova-plugins we have can have their npm ids. We need to translate the list. + const fetched = this.listFetchedPluginVersions(); + previouslyInstalledPlugins = previouslyInstalledPlugins.map(name => { + return fetched[name].id; + }); + + previouslyInstalledPlugins.forEach(id => { + if (!_.has(pluginVersions, id)) { + Console.debug(`Plugin ${id} was removed, will \ +perform cordova plugins reinstall`); + shouldReinstallAllPlugins = true; + } + }); + } + + if (!_.isEmpty(pluginsFromLocalPath) && !shouldReinstallAllPlugins) { + Console.debug('Reinstalling Cordova plugins added from the local path'); + } + + // We either reinstall all plugins or only those fetched from a local + // path. + if (shouldReinstallAllPlugins || !_.isEmpty(pluginsFromLocalPath)) { + let pluginsToRemove; + if (shouldReinstallAllPlugins) { + pluginsToRemove = installedPluginsByName; + } else { + // Only try to remove plugins that are currently installed. + pluginsToRemove = _.intersection( + Object.keys(pluginsFromLocalPath), + Object.keys(installedPluginVersions)); + } + + this.removePlugins(pluginsToRemove, pluginsConfiguration); + + let pluginVersionsToInstall; + + // Now install the necessary plugins. + if (shouldReinstallAllPlugins) { + pluginVersionsToInstall = pluginVersions; + } else { + pluginVersionsToInstall = pluginsFromLocalPath; + } + + const pluginsToInstallCount = _.size(pluginVersionsToInstall); + let installedPluginsCount = 0; + + buildmessage.reportProgress({ current: 0, end: pluginsToInstallCount }); + _.each(pluginVersionsToInstall, (version, id) => { + this.addPlugin(id, version, pluginsConfiguration[id]); + + buildmessage.reportProgress({ + current: ++installedPluginsCount, + end: pluginsToInstallCount + }); + }); + + this.ensurePluginsWereInstalled(pluginVersionsToInstall, pluginsConfiguration, true); + } + }); + } + + // Ensures that the Cordova plugins are installed + ensurePluginsWereInstalled(requiredPlugins, pluginsConfiguration, retryInstall) { + // List of all installed plugins. This should work for global / local / scoped cordova plugins. + // Examples: + // cordova-plugin-whitelist@1.3.2 => { 'cordova-plugin-whitelist': '1.3.2' } + // com.cordova.plugin@file://.cordova-plugins/plugin => { 'com.cordova.plugin': 'file://.cordova-plugins/plugin' } + // @scope/plugin@1.0.0 => { 'com.cordova.plugin': 'scope/plugin' } + const installed = this.listInstalledPluginVersions(); + const installedPluginsNames = Object.keys(installed); + const missingPlugins = {}; + + Object.keys(requiredPlugins).filter(plugin => { + if (!installedPluginsNames.includes(plugin)) { + Console.debug(`Plugin ${plugin} was not installed.`); + if (retryInstall) { + Console.debug(`Retrying to install ${plugin}.`); + this.addPlugin( + plugin, + requiredPlugins[plugin], + pluginsConfiguration[plugin] + ); + } + missingPlugins[plugin] = requiredPlugins[plugin]; + } + }); + + // All plugins were installed + if (Object.keys(missingPlugins).length === 0) { + return; + } + + // Check one more time after re-installation. + if (retryInstall) { + this.ensurePluginsWereInstalled(missingPlugins, pluginsConfiguration, false); + } else { + // Fail, to prevent building and publishing faulty mobile app without at this moment we need to stop. + throw new Error(`Some Cordova plugins installation failed: (${Object.keys(missingPlugins).join(', ')}).`); + } + } + + ensurePinnedPluginVersions(pluginVersions) { + assert(pluginVersions); + + _.each(pluginVersions, (version, id) => { + // Skip plugin specs that are not actual versions + if (utils.isUrlWithSha(version) || utils.isUrlWithFileScheme(version)) { + return; + } + + const pinnedVersion = pinnedPluginVersions[id]; + + if (pinnedVersion && semver.lt(version, pinnedVersion)) { + Console.labelWarn(`Attempting to install plugin ${id}@${version}, but \ +it should have a minimum version of ${pinnedVersion} to ensure compatibility \ +with the current platform versions. Installing the minimum version for \ +convenience, but you should adjust your dependencies.`); + pluginVersions[id] = pinnedVersion; + } + }); + } + + // Cordova commands support + + get defaultOptions() { + return { + silent: !Console.verbose, + verbose: Console.verbose, + buildConfig: this.buildJsonPath, + }; + } + + defaultEnvWithPathsAdded(...extraPaths) { + let paths = (this.defaultPaths || []); + paths.unshift(...extraPaths); + const env = files.currentEnvWithPathsAdded(...paths); + return env; + } + + get defaultPaths() { + const nodeBinDir = files.getCurrentNodeBinDir(); + + // Add the ios-sim bin path so Cordova can find it + const iosSimBinPath = + files.pathJoin(files.getDevBundle(), + 'lib/node_modules/ios-sim/bin'); + + return [nodeBinDir, iosSimBinPath]; + } + + runCommands(title, promiseOrAsyncFunction, env = this.defaultEnvWithPathsAdded(), + cwd = this.projectRoot) { + // Capitalize title for debug output + Console.debug(title[0].toUpperCase() + title.slice(1)); + + const oldCwd = process.cwd(); + if (cwd) { + process.chdir(files.convertToOSPath(cwd)); + } + + const oldEnv = process.env; + if (env) { + // this preserves case insensitivity for PATH on windows + Object.keys(env).forEach(key => { + process.env[key] = env[key]; + }); + } + + try { + const promise = (typeof promiseOrAsyncFunction === 'function') ? + promiseOrAsyncFunction() : promiseOrAsyncFunction; + return Promise.await(promise); + } catch (error) { + Console.arrowError('Errors executing Cordova commands:'); + Console.error(); + const consoleOptions = Console.options({ indent: 3 }); + Console.error(`While ${title}:`, consoleOptions); + + if (error instanceof CordovaError) { + // Only print the message for errors thrown by cordova-lib, because + // these are meant for end-user consumption. + // But warn that they may not completely apply to our situation. + // (We do print the stack trace if we are in verbose mode.) + const errorMessage = Console.verbose ? (error.stack || error.message) : + error.message; + Console.error(`Cordova error: ${errorMessage}`, consoleOptions); + Console.error(chalk.green(`(If the error message contains suggestions \ +for a fix, note that this may not apply to the Meteor integration. You can try \ +running again with the --verbose option to help diagnose the issue.)`), + consoleOptions); + } else { + // Print stack trace for other errors by default, because the message + // usually does not give us enough information to know what is going on + const errorMessage = error && error.stack || error; + Console.error(errorMessage, consoleOptions); + }; + throw new main.ExitWithCode(1); + } finally { + if (cwd && oldCwd) { + process.chdir(oldCwd); + } + if (env && oldEnv) { + process.env = oldEnv; + } + } + } +} + +const CPp = CordovaProject.prototype; +["prepareFromAppBundle", + "prepareForPlatform", + "buildForPlatform", +].forEach(name => { + CPp[name] = Profile(platform => { + const prefix = `CordovaProject#${name}`; + return name.endsWith("ForPlatform") ? `${prefix} for ${ + displayNameForPlatform(platform) + }` : prefix; + }, CPp[name]); +}); diff --git a/tools/static-assets/skel-apollo/package.json b/tools/static-assets/skel-apollo/package.json index 3009b2e32f..75f8095a54 100644 --- a/tools/static-assets/skel-apollo/package.json +++ b/tools/static-assets/skel-apollo/package.json @@ -1,27 +1,27 @@ -{ - "name": "~name~", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@apollo/client": "^3.1.5", - "@babel/runtime": "^7.13.17", - "apollo-boost": "^0.4.9", - "apollo-server-express": "^2.17.0", - "graphql": "^15.3.0", - "meteor-node-stubs": "^1.0.3", - "react": "^16.13.1", - "react-dom": "^16.13.1" - }, - "meteor": { - "mainModule": { - "client": "client/main.jsx", - "server": "server/main.js" - }, - "testModule": "tests/main.js" - } -} +{ + "name": "~name~", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@apollo/client": "^3.1.5", + "@babel/runtime": "^7.13.17", + "apollo-boost": "^0.4.9", + "apollo-server-express": "^2.17.0", + "graphql": "^15.3.0", + "meteor-node-stubs": "^1.0.3", + "react": "^16.13.1", + "react-dom": "^16.13.1" + }, + "meteor": { + "mainModule": { + "client": "client/main.jsx", + "server": "server/main.js" + }, + "testModule": "tests/main.js" + } +} diff --git a/tools/static-assets/skel-bare/package.json b/tools/static-assets/skel-bare/package.json index 51a8a4979b..944d5f1424 100644 --- a/tools/static-assets/skel-bare/package.json +++ b/tools/static-assets/skel-bare/package.json @@ -1,11 +1,11 @@ -{ - "name": "~name~", - "private": true, - "scripts": { - "start": "meteor run" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3" - } -} +{ + "name": "~name~", + "private": true, + "scripts": { + "start": "meteor run" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3" + } +} diff --git a/tools/static-assets/skel-blaze/package.json b/tools/static-assets/skel-blaze/package.json index fbbe276075..93f77e7814 100644 --- a/tools/static-assets/skel-blaze/package.json +++ b/tools/static-assets/skel-blaze/package.json @@ -1,22 +1,22 @@ -{ - "name": "~name~", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "jquery": "^3.6.0", - "meteor-node-stubs": "^1.0.3" - }, - "meteor": { - "mainModule": { - "client": "client/main.js", - "server": "server/main.js" - }, - "testModule": "tests/main.js" - } -} +{ + "name": "~name~", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "jquery": "^3.6.0", + "meteor-node-stubs": "^1.0.3" + }, + "meteor": { + "mainModule": { + "client": "client/main.js", + "server": "server/main.js" + }, + "testModule": "tests/main.js" + } +} diff --git a/tools/static-assets/skel-full/package.json b/tools/static-assets/skel-full/package.json index b840fe5b5f..1e28d346d7 100644 --- a/tools/static-assets/skel-full/package.json +++ b/tools/static-assets/skel-full/package.json @@ -1,16 +1,16 @@ -{ - "name": "~name~", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "jquery": "^3.6.0", - "meteor-node-stubs": "^1.0.3" - }, - "devDependencies": { - "chai": "^4.2.0" - } -} +{ + "name": "~name~", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "jquery": "^3.6.0", + "meteor-node-stubs": "^1.0.3" + }, + "devDependencies": { + "chai": "^4.2.0" + } +} diff --git a/tools/static-assets/skel-minimal/package.json b/tools/static-assets/skel-minimal/package.json index 5f5792c840..75fab72a3b 100644 --- a/tools/static-assets/skel-minimal/package.json +++ b/tools/static-assets/skel-minimal/package.json @@ -1,21 +1,21 @@ -{ - "name": "~name~", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3" - }, - "meteor": { - "mainModule": { - "client": "client/main.js", - "server": "server/main.js" - }, - "testModule": "tests/main.js" - } -} +{ + "name": "~name~", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3" + }, + "meteor": { + "mainModule": { + "client": "client/main.js", + "server": "server/main.js" + }, + "testModule": "tests/main.js" + } +} diff --git a/tools/static-assets/skel-react/package.json b/tools/static-assets/skel-react/package.json index 4164b2664e..b55f02f728 100644 --- a/tools/static-assets/skel-react/package.json +++ b/tools/static-assets/skel-react/package.json @@ -1,23 +1,23 @@ -{ - "name": "~name~", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3", - "react": "^17.0.2", - "react-dom": "^17.0.2" - }, - "meteor": { - "mainModule": { - "client": "client/main.jsx", - "server": "server/main.js" - }, - "testModule": "tests/main.js" - } -} +{ + "name": "~name~", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3", + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "meteor": { + "mainModule": { + "client": "client/main.jsx", + "server": "server/main.js" + }, + "testModule": "tests/main.js" + } +} diff --git a/tools/static-assets/skel-svelte/.meteor/packages b/tools/static-assets/skel-svelte/.meteor/packages index 281c6b6da3..0e3c38c047 100644 --- a/tools/static-assets/skel-svelte/.meteor/packages +++ b/tools/static-assets/skel-svelte/.meteor/packages @@ -1,24 +1,24 @@ -# Meteor packages used by this project, one per line. -# Check this file (and the other files in this directory) into your repository. -# -# 'meteor add' and 'meteor remove' will edit this file for you, -# but you can also edit it by hand. - -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 -es5-shim # ECMAScript 5 compatibility for older browsers -ecmascript # Enable ECMAScript2015+ syntax in app code -typescript # Enable TypeScript syntax in .ts and .tsx modules -shell-server # Server-side component of the `meteor shell` command - -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 +# Meteor packages used by this project, one per line. +# Check this file (and the other files in this directory) into your repository. +# +# 'meteor add' and 'meteor remove' will edit this file for you, +# but you can also edit it by hand. + +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 +es5-shim # ECMAScript 5 compatibility for older browsers +ecmascript # Enable ECMAScript2015+ syntax in app code +typescript # Enable TypeScript syntax in .ts and .tsx modules +shell-server # Server-side component of the `meteor shell` command + +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 diff --git a/tools/static-assets/skel-svelte/imports/ui/App.svelte b/tools/static-assets/skel-svelte/imports/ui/App.svelte index 7706ddfa88..4bbdfecdc4 100644 --- a/tools/static-assets/skel-svelte/imports/ui/App.svelte +++ b/tools/static-assets/skel-svelte/imports/ui/App.svelte @@ -1,22 +1,22 @@ - - - -
    -

    Welcome to Meteor!

    - - -

    You've pressed the button {counter} times.

    - -

    Learn Meteor!

    - -
    + + + +
    +

    Welcome to Meteor!

    + + +

    You've pressed the button {counter} times.

    + +

    Learn Meteor!

    + +
    diff --git a/tools/static-assets/skel-typescript/package.json b/tools/static-assets/skel-typescript/package.json index c22fe3b97b..d775e21420 100644 --- a/tools/static-assets/skel-typescript/package.json +++ b/tools/static-assets/skel-typescript/package.json @@ -1,30 +1,30 @@ -{ - "name": "~name~", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3", - "react": "^17.0.2", - "react-dom": "^17.0.2" - }, - "devDependencies": { - "@types/meteor": "^1.4.49", - "@types/mocha": "^8.0.3", - "@types/react": "^17.0.3", - "@types/react-dom": "^17.0.3", - "typescript": "^4.2.4" - }, - "meteor": { - "mainModule": { - "client": "client/main.tsx", - "server": "server/main.ts" - }, - "testModule": "tests/main.ts" - } -} +{ + "name": "~name~", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3", + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "devDependencies": { + "@types/meteor": "^1.4.49", + "@types/mocha": "^8.0.3", + "@types/react": "^17.0.3", + "@types/react-dom": "^17.0.3", + "typescript": "^4.2.4" + }, + "meteor": { + "mainModule": { + "client": "client/main.tsx", + "server": "server/main.ts" + }, + "testModule": "tests/main.ts" + } +} diff --git a/tools/static-assets/skel-vue/package.json b/tools/static-assets/skel-vue/package.json index 67bd46fd36..6b09c6c734 100644 --- a/tools/static-assets/skel-vue/package.json +++ b/tools/static-assets/skel-vue/package.json @@ -1,23 +1,23 @@ -{ - "name": "~name~", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3", - "vue": "^2.6.12", - "vue-meteor-tracker": "^2.0.0-beta.5" - }, - "meteor": { - "mainModule": { - "client": "client/main.js", - "server": "server/main.js" - }, - "testModule": "tests/main.js" - } -} +{ + "name": "~name~", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3", + "vue": "^2.6.12", + "vue-meteor-tracker": "^2.0.0-beta.5" + }, + "meteor": { + "mainModule": { + "client": "client/main.js", + "server": "server/main.js" + }, + "testModule": "tests/main.js" + } +} diff --git a/tools/tests/apps/app-config/package.json b/tools/tests/apps/app-config/package.json index cdc7b4f58f..d992ebe0db 100644 --- a/tools/tests/apps/app-config/package.json +++ b/tools/tests/apps/app-config/package.json @@ -1,15 +1,15 @@ -{ - "name": "app-config", - "private": true, - "scripts": { - "start": "meteor run" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3", - "puppeteer": "^2.1.1" - }, - "meteor": { - "testModule": "tests.js" - } -} +{ + "name": "app-config", + "private": true, + "scripts": { + "start": "meteor run" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3", + "puppeteer": "^2.1.1" + }, + "meteor": { + "testModule": "tests.js" + } +} diff --git a/tools/tests/apps/client-refresh/package.json b/tools/tests/apps/client-refresh/package.json index 57cd351eb9..a40f825a1e 100644 --- a/tools/tests/apps/client-refresh/package.json +++ b/tools/tests/apps/client-refresh/package.json @@ -1,20 +1,20 @@ -{ - "name": "client-refresh", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3" - }, - "meteor": { - "mainModule": { - "client": "client/main.js", - "server": "server/main.js" - } - } -} +{ + "name": "client-refresh", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3" + }, + "meteor": { + "mainModule": { + "client": "client/main.js", + "server": "server/main.js" + } + } +} diff --git a/tools/tests/apps/custom-minifier/package.json b/tools/tests/apps/custom-minifier/package.json index 786e3a833e..8da40ecb65 100644 --- a/tools/tests/apps/custom-minifier/package.json +++ b/tools/tests/apps/custom-minifier/package.json @@ -1,18 +1,18 @@ -{ - "name": "custom-minifiers", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "jquery": "^3.6.0", - "meteor-node-stubs": "^1.0.3" - }, - "meteor": { - "mainModule": "code.js" - } -} +{ + "name": "custom-minifiers", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "jquery": "^3.6.0", + "meteor-node-stubs": "^1.0.3" + }, + "meteor": { + "mainModule": "code.js" + } +} diff --git a/tools/tests/apps/dynamic-import/package.json b/tools/tests/apps/dynamic-import/package.json index c71db9d861..4174c5cabc 100644 --- a/tools/tests/apps/dynamic-import/package.json +++ b/tools/tests/apps/dynamic-import/package.json @@ -1,22 +1,22 @@ -{ - "name": "dynamic-import", - "private": true, - "scripts": { - "start": "meteor run", - "test": "TEST_BROWSER_DRIVER=puppeteer meteor test --full-app --driver-package meteortesting:mocha" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "acorn": "^7.4.1", - "arson": "^0.2.6", - "jquery": "^3.6.0", - "meteor-node-stubs": "^1.0.3", - "moment": "^2.29.1", - "optimism": "^0.11.5", - "private": "^0.1.8", - "puppeteer": "^2.1.1", - "react": "^17.0.2", - "regenerator-runtime": "^0.13.5", - "uuid": "^7.0.2" - } -} +{ + "name": "dynamic-import", + "private": true, + "scripts": { + "start": "meteor run", + "test": "TEST_BROWSER_DRIVER=puppeteer meteor test --full-app --driver-package meteortesting:mocha" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "acorn": "^7.4.1", + "arson": "^0.2.6", + "jquery": "^3.6.0", + "meteor-node-stubs": "^1.0.3", + "moment": "^2.29.1", + "optimism": "^0.11.5", + "private": "^0.1.8", + "puppeteer": "^2.1.1", + "react": "^17.0.2", + "regenerator-runtime": "^0.13.5", + "uuid": "^7.0.2" + } +} diff --git a/tools/tests/apps/git-commit-hash/package.json b/tools/tests/apps/git-commit-hash/package.json index 123f71afa1..ea30a2f000 100644 --- a/tools/tests/apps/git-commit-hash/package.json +++ b/tools/tests/apps/git-commit-hash/package.json @@ -1,20 +1,20 @@ -{ - "name": "git-commit-hash", - "private": true, - "scripts": { - "start": "meteor run", - "test": "TEST_BROWSER_DRIVER=puppeteer meteor test --once --full-app --driver-package meteortesting:mocha" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3", - "puppeteer": "^2.1.1" - }, - "meteor": { - "mainModule": { - "client": "client/main.js", - "server": "server/main.js" - }, - "testModule": "tests/main.js" - } -} +{ + "name": "git-commit-hash", + "private": true, + "scripts": { + "start": "meteor run", + "test": "TEST_BROWSER_DRIVER=puppeteer meteor test --once --full-app --driver-package meteortesting:mocha" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3", + "puppeteer": "^2.1.1" + }, + "meteor": { + "mainModule": { + "client": "client/main.js", + "server": "server/main.js" + }, + "testModule": "tests/main.js" + } +} diff --git a/tools/tests/apps/link-config-npm-package/package.json b/tools/tests/apps/link-config-npm-package/package.json index b8ae8c21dc..414ecbd466 100644 --- a/tools/tests/apps/link-config-npm-package/package.json +++ b/tools/tests/apps/link-config-npm-package/package.json @@ -1,21 +1,21 @@ -{ - "name": "link-config-npm-package", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "config": "file:../config-package", - "meteor-node-stubs": "^1.0.3" - }, - "meteor": { - "mainModule": { - "client": false, - "server": "main.js" - } - } -} +{ + "name": "link-config-npm-package", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "config": "file:../config-package", + "meteor-node-stubs": "^1.0.3" + }, + "meteor": { + "mainModule": { + "client": false, + "server": "main.js" + } + } +} diff --git a/tools/tests/apps/linked-external-npm-package/package.json b/tools/tests/apps/linked-external-npm-package/package.json index 12961b6e46..af13bf29d9 100644 --- a/tools/tests/apps/linked-external-npm-package/package.json +++ b/tools/tests/apps/linked-external-npm-package/package.json @@ -1,21 +1,21 @@ -{ - "name": "linked-external-npm-package", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "external-package": "file:../external-package", - "meteor-node-stubs": "^1.0.3" - }, - "meteor": { - "mainModule": { - "client": false, - "server": "main.js" - } - } -} +{ + "name": "linked-external-npm-package", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "external-package": "file:../external-package", + "meteor-node-stubs": "^1.0.3" + }, + "meteor": { + "mainModule": { + "client": false, + "server": "main.js" + } + } +} diff --git a/tools/tests/apps/meteor-ignore/package.json b/tools/tests/apps/meteor-ignore/package.json index 961e3c8acc..84a8a9686d 100644 --- a/tools/tests/apps/meteor-ignore/package.json +++ b/tools/tests/apps/meteor-ignore/package.json @@ -1,11 +1,11 @@ -{ - "name": "meteor-ignore", - "private": true, - "scripts": { - "start": "meteor run" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3" - } -} +{ + "name": "meteor-ignore", + "private": true, + "scripts": { + "start": "meteor run" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3" + } +} diff --git a/tools/tests/apps/package-tests/package.json b/tools/tests/apps/package-tests/package.json index 3e575939d6..03611f8f6d 100644 --- a/tools/tests/apps/package-tests/package.json +++ b/tools/tests/apps/package-tests/package.json @@ -1,10 +1,10 @@ -{ - "name": "package-tests", - "private": true, - "scripts": { - "start": "meteor run" - }, - "dependencies": { - "@babel/runtime": "^7.13.17" - } -} +{ + "name": "package-tests", + "private": true, + "scripts": { + "start": "meteor run" + }, + "dependencies": { + "@babel/runtime": "^7.13.17" + } +} diff --git a/tools/tests/apps/shell/package.json b/tools/tests/apps/shell/package.json index 524f16a6c2..99ee04601c 100644 --- a/tools/tests/apps/shell/package.json +++ b/tools/tests/apps/shell/package.json @@ -1,11 +1,11 @@ -{ - "name": "shell", - "private": true, - "scripts": { - "start": "meteor run" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3" - } -} +{ + "name": "shell", + "private": true, + "scripts": { + "start": "meteor run" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3" + } +} diff --git a/tools/tests/apps/standard-app/package.json b/tools/tests/apps/standard-app/package.json index df03691835..0138c3e4d0 100644 --- a/tools/tests/apps/standard-app/package.json +++ b/tools/tests/apps/standard-app/package.json @@ -1,18 +1,18 @@ -{ - "name": "standard-app", - "private": true, - "scripts": { - "start": "meteor run", - "test": "meteor test --once --driver-package meteortesting:mocha", - "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", - "visualize": "meteor --production --extra-packages bundle-visualizer" - }, - "dependencies": { - "@babel/runtime": "^7.13.17", - "meteor-node-stubs": "^1.0.3" - }, - "meteor": { - "mainModule": false, - "testModule": false - } -} +{ + "name": "standard-app", + "private": true, + "scripts": { + "start": "meteor run", + "test": "meteor test --once --driver-package meteortesting:mocha", + "test-app": "TEST_WATCH=1 meteor test --full-app --driver-package meteortesting:mocha", + "visualize": "meteor --production --extra-packages bundle-visualizer" + }, + "dependencies": { + "@babel/runtime": "^7.13.17", + "meteor-node-stubs": "^1.0.3" + }, + "meteor": { + "mainModule": false, + "testModule": false + } +} From 24861c6909e02605ef12b8466dc06328bcb2d83f Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Fri, 7 May 2021 11:45:13 -0300 Subject: [PATCH 085/182] Dev bundle dev-bundle-14.16.1.3 --- 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 34c2b73289..f167430710 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -8,7 +8,7 @@ ARCH=$(uname -m) NODE_VERSION=14.16.1 MONGO_VERSION_64BIT=4.4.4 MONGO_VERSION_32BIT=3.2.22 -NPM_VERSION=7.11.2 +NPM_VERSION=6.14.12 # If we built Node from source on Jenkins, this is the build number. NODE_BUILD_NUMBER= From 017bd4396e3095367418918ee4a01369fd99a12d Mon Sep 17 00:00:00 2001 From: zodern Date: Fri, 7 May 2021 11:40:56 -0500 Subject: [PATCH 086/182] Fix hmr path when rootUrl is undefined --- tools/runners/run-all.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/runners/run-all.js b/tools/runners/run-all.js index 1b92aae90f..59e4ca8ad1 100644 --- a/tools/runners/run-all.js +++ b/tools/runners/run-all.js @@ -8,7 +8,6 @@ const release = require('../packaging/release.js'); const Console = require('../console/console.js').Console; const crypto = require('crypto'); -const url = require('url'); const Proxy = require('./run-proxy.js').Proxy; const Selenium = require('./run-selenium.js').Selenium; @@ -66,8 +65,8 @@ class Runner { }); } - const basePath = utils.parseUrl(self.rootUrl).pathname + '/'; - const HMRPath = url.resolve(basePath, '__meteor__hmr__/websocket'); + const basePath = utils.parseUrl(self.rootUrl).pathname || ''; + const HMRPath = basePath + '/__meteor__hmr__/websocket'; self.proxy = new Proxy({ listenPort, From 3bb42b39890487b30f4e2ad297cf4fbd7985d51e Mon Sep 17 00:00:00 2001 From: zodern Date: Fri, 7 May 2021 11:43:43 -0500 Subject: [PATCH 087/182] Add z-index to error overlay --- packages/dev-error-overlay/client.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/dev-error-overlay/client.js b/packages/dev-error-overlay/client.js index 9712548f22..52b702206c 100644 --- a/packages/dev-error-overlay/client.js +++ b/packages/dev-error-overlay/client.js @@ -13,6 +13,7 @@ const styles = ` box-shadow: inset 0 0 100px #e411111f, 0 0 20px #00000085; box-sizing: border-box; overflow-y: auto; + z-index: 1000000; } .section { From 20674aee57ef18a6bd7c257946c0ee55acdcf9ae Mon Sep 17 00:00:00 2001 From: zodern Date: Fri, 7 May 2021 11:58:04 -0500 Subject: [PATCH 088/182] Reduce logging for connection errors --- packages/hot-module-replacement/client.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/hot-module-replacement/client.js b/packages/hot-module-replacement/client.js index ff20e639f3..6f769ea712 100644 --- a/packages/hot-module-replacement/client.js +++ b/packages/hot-module-replacement/client.js @@ -143,6 +143,7 @@ function handleMessage(message) { } let socket; +let disconnected = false; let pendingMessages = []; function send(message) { @@ -160,6 +161,9 @@ function connect() { return; } + // If we've successfully connected and then was disconnected, we avoid showing + // any more connection errors in the console until we've connected again + let logDisconnect = !disconnected; let wsUrl = Meteor.absoluteUrl('__meteor__hmr__/websocket'); const protocol = wsUrl.startsWith('https://') ? 'wss://' : 'ws://'; wsUrl = wsUrl.replace(/^.+\/\//, protocol); @@ -167,11 +171,19 @@ function connect() { socket.addEventListener('close', function () { socket = null; - console.log('HMR: websocket closed'); + + if (logDisconnect) { + console.log('HMR: websocket closed'); + } + + disconnected = true; setTimeout(connect, 2000); }); socket.addEventListener('open', function () { + logDisconnect = true; + disconnected = false; + console.log('HMR: connected'); socket.send(JSON.stringify({ type: 'register', @@ -191,8 +203,6 @@ function connect() { socket.addEventListener('message', function (event) { handleMessage(JSON.parse(event.data)); }); - - socket.addEventListener('error', console.error); } if (enabled) { From 161aae55d14a121e5d0138a31f2552242809120d Mon Sep 17 00:00:00 2001 From: zodern Date: Fri, 7 May 2021 12:07:42 -0500 Subject: [PATCH 089/182] Delay reloading page if HMR secret is wrong --- packages/hot-module-replacement/client.js | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/packages/hot-module-replacement/client.js b/packages/hot-module-replacement/client.js index 6f769ea712..bd249ae1fb 100644 --- a/packages/hot-module-replacement/client.js +++ b/packages/hot-module-replacement/client.js @@ -53,13 +53,9 @@ function handleMessage(message) { console.log('HMR: A different app is running on', Meteor.absoluteUrl()); console.log('HMR: Once you start this app again reload the page to re-enable HMR'); } else if (message.reason === 'wrong-secret') { - // TODO: we could wait until the first update to use hot code push - // instead of reloading the page immediately in case the user has any - // client state they want to keep for now. - console.log('HMR: Have the wrong secret, possibly because Meteor was restarted'); - console.log('HMR: Reloading page to get new secret'); + console.log('HMR: Have the wrong secret, probably because Meteor was restarted'); + console.log('HMR: Will enable HMR the next time the page is loaded'); mustReload = true; - pendingReload(); } else { console.log(`HMR: Register failed for unknown reason`, message); } @@ -477,7 +473,7 @@ Meteor.startup(() => { pendingReload(); } else if (doc.versionReplaceable !== replaceableVersion) { replaceableVersion = doc.versionReplaceable; - if (enabled) { + if (enabled && !mustReload) { requestChanges(); } else { mustReload = true; From 8ec9f0b7be05f6d74c6c46f5eb9b918cb47df967 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 7 May 2021 19:43:37 +0200 Subject: [PATCH 090/182] meteor-babel => @meteorjs/babel --- packages/babel-compiler/README.md | 2 +- packages/babel-compiler/babel.js | 4 ++-- packages/babel-compiler/package.js | 4 ++-- scripts/dev-bundle-tool-package.js | 2 +- tools/fs/files.ts | 2 +- tools/isobuild/builder.js | 2 +- tools/isobuild/js-analyze.js | 2 +- tools/tool-env/install-babel.js | 2 +- tools/tool-env/source-map-retriever-stack.js | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/babel-compiler/README.md b/packages/babel-compiler/README.md index cf7031e241..369977d182 100644 --- a/packages/babel-compiler/README.md +++ b/packages/babel-compiler/README.md @@ -20,7 +20,7 @@ Meteor's Babel support consists of the following core packages: The `babel-compiler` package exports the `Babel` symbol, which exposes functionality provided by the -[`meteor-babel`](https://www.npmjs.com/package/meteor-babel) NPM package, +[`@meteorjs/babel`](https://www.npmjs.com/package/@meteorjs/babel) NPM package, which is in turn implmented using the [`babel-core`](https://www.npmjs.com/package/babel-core) NPM package. Note that you can only use the `babel-compiler` package on the server. diff --git a/packages/babel-compiler/babel.js b/packages/babel-compiler/babel.js index 2adbbae925..fc8cd6668c 100644 --- a/packages/babel-compiler/babel.js +++ b/packages/babel-compiler/babel.js @@ -1,6 +1,6 @@ var meteorBabel = null; function getMeteorBabel() { - return meteorBabel || (meteorBabel = Npm.require("meteor-babel")); + return meteorBabel || (meteorBabel = Npm.require("@meteorjs/babel")); } /** @@ -46,6 +46,6 @@ Babel = { }, getMinimumModernBrowserVersions: function () { - return Npm.require("meteor-babel/modern-versions.js").get(); + return Npm.require("@meteorjs/babel/modern-versions.js").get(); } }; diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 65017c5f7b..817c8a8e8d 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,11 +6,11 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.6.1' + version: '7.6.2' }); Npm.depends({ - 'meteor-babel': '7.10.7', + '@meteorjs/babel': '7.10.7', 'json5': '2.1.1' }); diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 45c1d4fc82..70af5a15d2 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -15,7 +15,7 @@ var packageJson = { "node-gyp": "6.0.1", "node-pre-gyp": "0.14.0", typescript: "4.2.2", - "meteor-babel": "7.10.7", + "@meteorjs/babel": "7.11.0", // Keep the versions of these packages consistent with the versions // found in dev-bundle-server-package.js. "meteor-promise": "0.8.7", diff --git a/tools/fs/files.ts b/tools/fs/files.ts index 9980d767ff..7ef13ead35 100644 --- a/tools/fs/files.ts +++ b/tools/fs/files.ts @@ -1236,7 +1236,7 @@ export function runJavaScript(code: string, { // node to run the code and parse its output. We instead run an // entirely different JS parser, from the Babel project, but // which at least has a nice API for reporting errors. - const { parse } = require('meteor-babel'); + const { parse } = require('@meteorjs/babel'); try { parse(wrapped, { strictMode: false }); } catch (parseError) { diff --git a/tools/isobuild/builder.js b/tools/isobuild/builder.js index a02d004bdb..5e4e736915 100644 --- a/tools/isobuild/builder.js +++ b/tools/isobuild/builder.js @@ -363,7 +363,7 @@ Previous builder: ${previousBuilder.outputPath}, this builder: ${outputPath}` return; } - const babel = require("meteor-babel"); + const babel = require("@meteorjs/babel"); const commonBabelOptions = babel.getDefaultOptions({ nodeMajorVersion: parseInt(process.versions.node), typescript: true diff --git a/tools/isobuild/js-analyze.js b/tools/isobuild/js-analyze.js index 04cac3fd5a..e56c26ae9c 100644 --- a/tools/isobuild/js-analyze.js +++ b/tools/isobuild/js-analyze.js @@ -1,4 +1,4 @@ -import { parse } from 'meteor-babel'; +import { parse } from '@meteorjs/babel'; import { analyze as analyzeScope } from 'escope'; import LRU from "lru-cache"; diff --git a/tools/tool-env/install-babel.js b/tools/tool-env/install-babel.js index e12e9a12ce..d5cfe12872 100644 --- a/tools/tool-env/install-babel.js +++ b/tools/tool-env/install-babel.js @@ -4,7 +4,7 @@ "use strict"; function babelRegister() { - const meteorBabel = require("meteor-babel"); + const meteorBabel = require("@meteorjs/babel"); const path = require("path"); const toolsPath = path.dirname(__dirname); const meteorPath = path.dirname(toolsPath); diff --git a/tools/tool-env/source-map-retriever-stack.js b/tools/tool-env/source-map-retriever-stack.js index 342190978c..9f49fa7aee 100644 --- a/tools/tool-env/source-map-retriever-stack.js +++ b/tools/tool-env/source-map-retriever-stack.js @@ -75,5 +75,5 @@ Error.METEOR_prepareStackTrace = Error.prepareStackTrace; push(sourceMapSupport.retrieveSourceMap); /* eslint-disable max-len */ -push(require('meteor-babel/register').retrieveSourceMap); // #RemoveInProd this line is removed in isopack.js +push(require('@meteorjs/babel/register').retrieveSourceMap); // #RemoveInProd this line is removed in isopack.js /* eslint-enable max-len */ From ab2a5a904d70aa0e78b46568360f4347dfa15f80 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 7 May 2021 19:58:29 +0200 Subject: [PATCH 091/182] Update history with explanations of new @meteorjs/babel --- History.md | 2 ++ packages/babel-compiler/package.js | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/History.md b/History.md index c5e2a155b1..e1df7760ea 100644 --- a/History.md +++ b/History.md @@ -1,5 +1,7 @@ ## v2.2.1, UNRELEASED +* `meteor-babel` has been update to v7.11.0 and renamed to `@meteorjs/babel`. This update includes a fix for Samsung Internet v6.2+ to be considered modern browser and addition of [logical assingment operators](https://github.com/tc39/proposal-logical-assignment) via `babel-presets-meteor`. + #### Independent Releases * Updated `ddp-server@2.3.3` and `socket-stream-client@0.3.2` dependencies which removes Node's HTTP deprecation warning. diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 817c8a8e8d..e394916deb 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -10,7 +10,7 @@ Package.describe({ }); Npm.depends({ - '@meteorjs/babel': '7.10.7', + '@meteorjs/babel': '7.11.0', 'json5': '2.1.1' }); From a604b7c577b22fec04c66fc03f26da3b83cc6f16 Mon Sep 17 00:00:00 2001 From: zodern Date: Fri, 7 May 2021 16:42:13 -0500 Subject: [PATCH 092/182] Send eager updates for non-reloadable change sets --- packages/hot-module-replacement/client.js | 22 ++++++++++++-- tools/runners/run-hmr.js | 37 ++++++++++++++--------- 2 files changed, 42 insertions(+), 17 deletions(-) diff --git a/packages/hot-module-replacement/client.js b/packages/hot-module-replacement/client.js index bd249ae1fb..b31f45f0c7 100644 --- a/packages/hot-module-replacement/client.js +++ b/packages/hot-module-replacement/client.js @@ -46,6 +46,10 @@ if (module._onRequire) { let pendingReload = () => Reload._reload({ immediateMigration: true }); let mustReload = false; +// Once an eager update fails, we stop processing future updates since they +// might depend on the failed update. This gets reset when we re-try applying +// the changes as non-eager updates. +let applyEagerUpdates = true; function handleMessage(message) { if (message.type === 'register-failed') { @@ -78,6 +82,16 @@ function handleMessage(message) { throw new Error(`Unknown HMR message type ${message.type}`); } + if (message.eager && !applyEagerUpdates) { + return; + } else if (!message.eager) { + // Now that the build has finished, we will finish handling any updates + // that failed while being eagerly applied. Afterwards, we will either + // fall back to hot code push, or be in a state where we can start handling + // eager updates again + applyEagerUpdates = true; + } + const hasUnreloadable = message.changeSets.find(changeSet => { return !changeSet.reloadable; }); @@ -90,6 +104,9 @@ function handleMessage(message) { if (message.eager) { // This was an attempt to reload before the build finishes // If we can't, we will wait until the build finishes to properly handle it + // For now, we will disable eager updates in case future updates depended + // on these + applyEagerUpdates = false; return; } @@ -118,8 +135,9 @@ function handleMessage(message) { }); if (message.eager) { - // We will ignore any failures at this time - // and wait to handle them until the build finishes + // If there were any failures, we will stop applying eager updates for now + // and wait until after the build finishes to handle the failures + applyEagerUpdates = succeeded; return; } diff --git a/tools/runners/run-hmr.js b/tools/runners/run-hmr.js index c821ecd43f..5cb351a20a 100644 --- a/tools/runners/run-hmr.js +++ b/tools/runners/run-hmr.js @@ -177,18 +177,37 @@ export class HMRServer { return; } + // Try to do HMR without waiting for the build to finish + // If it fails, the client will retry after the build finishes so + // it can fall back to hot code push + const sendEagerUpdate = (changeset) => { + if (!this.connByArch[arch]) { + return; + } + + this.connByArch[arch].forEach(conn => { + conn.send(JSON.stringify({ + type: 'changes', + changeSets: [changeset], + eager: true + })); + }); + } + this.cacheKeys[`${arch}-${name}`] = cacheKey; const previous = this.findLastChangeset(name, arch) || {}; if (!hmrAvailable) { - this.changeSetsByArch[arch].push({ + let changeset = { name, reloadable: false, cacheKey, // TODO: use more accurate name linkedAt: Date.now() - }); + }; + this.changeSetsByArch[arch].push(changeset); this._trimChangeSets(arch); + sendEagerUpdate(changeset); return; } @@ -235,19 +254,7 @@ export class HMRServer { this.changeSetsByArch[arch].push(result); this._trimChangeSets(arch); - // Try to do HMR without waiting for the build to finish - // If it fails, it will retry after the build finishes so - // it can fall back to hot code push - if (this.connByArch[arch]) { - this.connByArch[arch].forEach(conn => { - conn.send(JSON.stringify({ - type: 'changes', - changeSets: [result], - eager: true - })); - }); - } - return; + sendEagerUpdate(result); } _trimChangeSets(arch) { From 1f59f04b3b76296e7ce99aa2c84f7918fea1956f Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Sat, 8 May 2021 13:39:57 +0200 Subject: [PATCH 093/182] Bump meteor bundle to 12.22.1.3 --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 0ae0c66be8..722ef1082d 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=12.22.1.2 +BUNDLE_VERSION=12.22.1.3 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 3abb6f1512086c45d7908b14406629e7f43b3af2 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Sat, 8 May 2021 14:00:59 +0200 Subject: [PATCH 094/182] Fix old import --- tools/tool-env/install-babel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tool-env/install-babel.js b/tools/tool-env/install-babel.js index d5cfe12872..9fcc8e4d19 100644 --- a/tools/tool-env/install-babel.js +++ b/tools/tool-env/install-babel.js @@ -18,7 +18,7 @@ function babelRegister() { // meteor/tools modules. babelOptions.sourceMaps = "inline"; - require('meteor-babel/register') + require('@meteorjs/babel/register') .setCacheDirectory(cacheDir) .setSourceMapRootPath(meteorPath) .allowDirectory(toolsPath) From 7191f57f548abbebfdc2628d1ad1aa6012e1b95d Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Tue, 11 May 2021 15:54:12 +0200 Subject: [PATCH 095/182] Update HMR version and add to history --- History.md | 6 +++++- packages/dev-error-overlay/package.js | 2 +- packages/hot-module-replacement/package.js | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/History.md b/History.md index 13350d375f..b343737d1b 100644 --- a/History.md +++ b/History.md @@ -11,7 +11,9 @@ * Released `launch-screen@1.3.0` that remove LaunchScreen from web clients. -* `meteor-babel` has been update to v7.11.0 and renamed to `@meteorjs/babel`. This update includes a fix for Samsung Internet v6.2+ to be considered modern browser and addition of [logical assingment operators](https://github.com/tc39/proposal-logical-assignment) via `babel-presets-meteor`. +* `meteor-babel` has been update to v7.11.0 and renamed to `@meteorjs/babel`. This update includes a fix for Samsung Internet v6.2+ to be considered modern browser and addition of [logical assingment operators](https://github.com/tc39/proposal-logical-assignment) via `babel-presets-meteor`. + +* `hot-module-replacement@0.3.0` Fixing various HMR bugs and edge cases see [PR for more](https://github.com/meteor/meteor/pull/11405) #### Independent Releases @@ -27,6 +29,8 @@ * Released `static-html@1.3.1` removing `underscore` dependency. +* Released `dev-error-overlay@0.1.1` fixing sometimes page content being on top of error overlay + ## v2.2, 2021-04-15 #### Highlights diff --git a/packages/dev-error-overlay/package.js b/packages/dev-error-overlay/package.js index 72a362776f..aab5125c2f 100644 --- a/packages/dev-error-overlay/package.js +++ b/packages/dev-error-overlay/package.js @@ -1,5 +1,5 @@ Package.describe({ - version: '0.1.0', + version: '0.1.1', summary: 'Show build errors in client when using HMR', documentation: 'README.md', devOnly: true diff --git a/packages/hot-module-replacement/package.js b/packages/hot-module-replacement/package.js index 69327361f7..cd858058bf 100644 --- a/packages/hot-module-replacement/package.js +++ b/packages/hot-module-replacement/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'hot-module-replacement', - version: '0.2.0', + version: '0.3.0-beta230.0', summary: 'Update code in development without reloading the page', documentation: 'README.md', debugOnly: true From f7b4c9110dd9c2d2dada2a2dac34ce5a1ba56263 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Tue, 11 May 2021 20:38:49 +0200 Subject: [PATCH 096/182] Update email nodemailer --- History.md | 2 ++ packages/email/package.js | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/History.md b/History.md index 51923d2f33..6173293724 100644 --- a/History.md +++ b/History.md @@ -12,6 +12,8 @@ * Released `dev-error-overlay@0.1.1` fixing sometimes page content being on top of error overlay +* Released `email@2.1.0` with updated `nodemailer@6.6.0` + ## v2.2, 2021-04-15 #### Highlights diff --git a/packages/email/package.js b/packages/email/package.js index 45054f813f..72ce82a0f9 100644 --- a/packages/email/package.js +++ b/packages/email/package.js @@ -1,10 +1,10 @@ Package.describe({ summary: "Send email messages", - version: "2.0.0" + version: "2.1.0" }); Npm.depends({ - nodemailer: "6.4.6", + nodemailer: "6.6.0", "stream-buffers": "3.0.2" }); From b3e3123b2acd1182fc09bed41e1a71c7fa48da70 Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Tue, 11 May 2021 16:23:53 -0300 Subject: [PATCH 097/182] Change circleci docker image --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4ab5a51476..08fc4d4963 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -61,7 +61,7 @@ run_save_node_bin: &run_save_node_bin build_machine_environment: &build_machine_environment # Specify that we want an actual machine (ala Circle 1.0), not a Docker image. docker: - - image: meteor/circleci:android-28-node-12 + - image: meteor/circleci:android-30-node-14 environment: # This multiplier scales the waitSecs for selftests. TIMEOUT_SCALE_FACTOR: 8 @@ -657,7 +657,7 @@ jobs: Docs: docker: # This Node version should match that in the meteor/docs CircleCI config. - - image: meteor/circleci:android-28-node-12 + - image: meteor/circleci:android-30-node-14 environment: CHECKOUT_METEOR_DOCS: /home/circleci/test_docs steps: From 8b8f87b9b6fbb2032ac2bb423e515e875deb94cb Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 12 May 2021 15:15:23 +0200 Subject: [PATCH 098/182] Fix email tests by adding charset=utf-8 --- History.md | 2 +- packages/email/.npm/package/npm-shrinkwrap.json | 6 +++--- packages/email/email_tests.js | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/History.md b/History.md index 6173293724..582859d858 100644 --- a/History.md +++ b/History.md @@ -12,7 +12,7 @@ * Released `dev-error-overlay@0.1.1` fixing sometimes page content being on top of error overlay -* Released `email@2.1.0` with updated `nodemailer@6.6.0` +* Released `email@2.1.0` with updated `nodemailer@6.6.0`, it now adds `charset=utf-8` to `text/plain` messages ## v2.2, 2021-04-15 diff --git a/packages/email/.npm/package/npm-shrinkwrap.json b/packages/email/.npm/package/npm-shrinkwrap.json index e4ffb8f728..cdbc53f991 100644 --- a/packages/email/.npm/package/npm-shrinkwrap.json +++ b/packages/email/.npm/package/npm-shrinkwrap.json @@ -2,9 +2,9 @@ "lockfileVersion": 1, "dependencies": { "nodemailer": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.4.6.tgz", - "integrity": "sha512-/kJ+FYVEm2HuUlw87hjSqTss+GU35D4giOpdSfGp7DO+5h6RlJj7R94YaYHOkoxu1CSaM0d3WRBtCzwXrY6MKA==" + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.0.tgz", + "integrity": "sha512-ikSMDU1nZqpo2WUPE0wTTw/NGGImTkwpJKDIFPZT+YvvR9Sj+ze5wzu95JHkBMglQLoG2ITxU21WukCC/XsFkg==" }, "stream-buffers": { "version": "3.0.2", diff --git a/packages/email/email_tests.js b/packages/email/email_tests.js index 97c0977660..62284aa603 100644 --- a/packages/email/email_tests.js +++ b/packages/email/email_tests.js @@ -42,7 +42,7 @@ Tinytest.add("email - fully customizable", function (test) { test.equal(canonicalize(stream.getContentsAsString("utf8")), "====== BEGIN MAIL #0 ======\n" + devWarningBanner + - "Content-Type: text/plain\r\n" + + "Content-Type: text/plain; charset=utf-8\r\n" + "X-Meteor-Test: a custom header\r\n" + "Date: dummy\r\n" + "From: foo@example.com\r\n" + @@ -116,7 +116,7 @@ Tinytest.add("email - using mail composer", function (test) { test.equal(canonicalize(stream.getContentsAsString("utf8")), "====== BEGIN MAIL #0 ======\n" + devWarningBanner + - "Content-Type: text/plain\r\n" + + "Content-Type: text/plain; charset=utf-8\r\n" + "From: a@b.com\r\n" + "Message-ID: <...>\r\n" + "Content-Transfer-Encoding: 7bit\r\n" + @@ -160,7 +160,7 @@ Tinytest.add("email - long lines", function (test) { test.equal(canonicalize(stream.getContentsAsString("utf8")), "====== BEGIN MAIL #0 ======\n" + devWarningBanner + - "Content-Type: text/plain\r\n" + + "Content-Type: text/plain; charset=utf-8\r\n" + "From: foo@example.com\r\n" + "To: bar@example.com\r\n" + "Subject: This is a very very very very very very very very " + @@ -225,12 +225,12 @@ Tinytest.add("email - text and html", function (test) { "MIME-Version: 1.0\r\n" + "\r\n" + "----...-Part_1\r\n" + - "Content-Type: text/plain\r\n" + + "Content-Type: text/plain; charset=utf-8\r\n" + "Content-Transfer-Encoding: 7bit\r\n" + "\r\n" + "*Cool*, man\r\n" + "----...-Part_1\r\n" + - "Content-Type: text/html\r\n" + + "Content-Type: text/html; charset=utf-8\r\n" + "Content-Transfer-Encoding: 7bit\r\n" + "\r\n" + "Cool, man\r\n" + From 1538dcdf1c240d82fa054026bf3a1da8e02f518d Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Wed, 12 May 2021 16:06:00 -0300 Subject: [PATCH 099/182] Clean all circle ci caches due to node bump and failing tests on node 14. --- .circleci/config.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 08fc4d4963..ed5efda1af 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -111,8 +111,8 @@ jobs: command: (git submodule sync && git submodule update --init --recursive) || (rm -fr .git/config .git/modules && git submodule deinit -f . && git submodule update --init --recursive) - restore_cache: keys: - - v1-dev-bundle-cache-{{ checksum "meteor" }} - - v1-dev-bundle-cache- + - v2-dev-bundle-cache-{{ checksum "meteor" }} + - v2-dev-bundle-cache- - run: name: Combine NPM Shrinkwrap Files command: | @@ -120,21 +120,21 @@ jobs: for d in packages/*/.npm/plugin/*; do cat $d/npm-shrinkwrap.json >> shrinkwraps.txt; done - restore_cache: keys: - - package-npm-deps-cache-group1-v1-{{ checksum "shrinkwraps.txt" }} - - package-npm-deps-cache-group1-v1- + - package-npm-deps-cache-group1-v2-{{ checksum "shrinkwraps.txt" }} + - package-npm-deps-cache-group1-v2- - restore_cache: keys: - - package-npm-deps-cache-group2-v3-{{ checksum "shrinkwraps.txt" }} - - package-npm-deps-cache-group2-v3- + - package-npm-deps-cache-group2-v4-{{ checksum "shrinkwraps.txt" }} + - package-npm-deps-cache-group2-v4- - restore_cache: keys: - - v5-other-deps-cache-{{ .Branch }}-{{ checksum "meteor" }}-{{ .Revision }} - - v5-other-deps-cache-{{ .Branch }}-{{ checksum "meteor" }}- - - v5-other-deps-cache-{{ .Branch }}- + - v6-other-deps-cache-{{ .Branch }}-{{ checksum "meteor" }}-{{ .Revision }} + - v6-other-deps-cache-{{ .Branch }}-{{ checksum "meteor" }}- + - v6-other-deps-cache-{{ .Branch }}- - restore_cache: keys: - - v1-test-groups-{{ .Branch }} - - v1-test-groups- + - v3-test-groups-{{ .Branch }} + - v3-test-groups- - run: name: Create Test Results Directory command: | @@ -707,14 +707,14 @@ jobs: - ./tmp/test-groups when: on_success - save_cache: - key: v1-dev-bundle-cache-{{ checksum "meteor" }} + key: v2-dev-bundle-cache-{{ checksum "meteor" }} paths: - "dev_bundle" # The package npm dependencies are split into two caches to avoid an AWS # `MetadataTooLarge` error that consistently appears if we put all of # these folders in the same cache - save_cache: - key: package-npm-deps-cache-group1-v1-{{ checksum "shrinkwraps.txt" }} + key: package-npm-deps-cache-group1-v2-{{ checksum "shrinkwraps.txt" }} paths: - packages/meteor/.npm/package/node_modules - packages/modules-runtime/.npm/package/node_modules @@ -730,7 +730,7 @@ jobs: - packages/package-version-parser/.npm/package/node_modules - packages/boilerplate-generator/.npm/package/node_modules - save_cache: - key: package-npm-deps-cache-group2-v3-{{ checksum "shrinkwraps.txt" }} + key: package-npm-deps-cache-group2-v4-{{ checksum "shrinkwraps.txt" }} paths: - packages/xmlbuilder/.npm/package/node_modules - packages/logging/.npm/package/node_modules @@ -757,7 +757,7 @@ jobs: - packages/fetch/.npm/package/node_modules - packages/non-core/mongo-decimal/.npm/package/node_modules - save_cache: - key: v5-other-deps-cache-{{ .Branch }}-{{ checksum "meteor" }}-{{ .Revision }} + key: v6-other-deps-cache-{{ .Branch }}-{{ checksum "meteor" }}-{{ .Revision }} paths: - ".babel-cache" - ".meteor" From 116e82d00f348fc2a3d78fc36c060e62ad096593 Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Wed, 12 May 2021 16:26:19 -0300 Subject: [PATCH 100/182] Revert circle ci image update, as the new one only has jdk 11 installed. --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ed5efda1af..2a59854886 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -657,7 +657,7 @@ jobs: Docs: docker: # This Node version should match that in the meteor/docs CircleCI config. - - image: meteor/circleci:android-30-node-14 + - image: meteor/circleci:android-28-node-12 environment: CHECKOUT_METEOR_DOCS: /home/circleci/test_docs steps: From 60256c8c3ba23340b6a36ae229e2d9d049bdb290 Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Wed, 12 May 2021 16:35:27 -0300 Subject: [PATCH 101/182] Revert circle ci image update, as the new one only has jdk 11 installed. --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2a59854886..c4ff42e27b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -61,7 +61,7 @@ run_save_node_bin: &run_save_node_bin build_machine_environment: &build_machine_environment # Specify that we want an actual machine (ala Circle 1.0), not a Docker image. docker: - - image: meteor/circleci:android-30-node-14 + - image: meteor/circleci:android-28-node-12 environment: # This multiplier scales the waitSecs for selftests. TIMEOUT_SCALE_FACTOR: 8 From d5130996c78d5eb064d86083f34741573f8c4931 Mon Sep 17 00:00:00 2001 From: ritwik Date: Thu, 13 May 2021 03:01:06 +0530 Subject: [PATCH 102/182] Initial Commit: Changes to account base for handling enroll account workflow --- packages/accounts-base/accounts_server.js | 36 ++++++++++++++++++----- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/packages/accounts-base/accounts_server.js b/packages/accounts-base/accounts_server.js index 13ac0c3ea8..a42c9deb4f 100644 --- a/packages/accounts-base/accounts_server.js +++ b/packages/accounts-base/accounts_server.js @@ -1029,7 +1029,7 @@ export class AccountsServer extends AccountsCommon { (new Date(new Date() - tokenLifetimeMs)); const tokenFilter = { - "services.password.reset.reason": "enroll" + "services.password.enroll.reason": "enroll" }; expirePasswordToken(this, oldestValidDate, tokenFilter, userId); @@ -1461,20 +1461,42 @@ const expirePasswordToken = ( tokenFilter, userId ) => { + // boolean value used to determine if this method was called from enroll account workflow + let isEnroll = false; const userFilter = userId ? {_id: userId} : {}; - const resetRangeOr = { + // check if this method was called from enroll account workflow + if(tokenFilter['services.password.enroll.reason']) { + isEnroll = true; + } + let resetRangeOr = { $or: [ { "services.password.reset.when": { $lt: oldestValidDate } }, { "services.password.reset.when": { $lt: +oldestValidDate } } ] }; + if(isEnroll) { + resetRangeOr = { + $or: [ + { "services.password.enroll.when": { $lt: oldestValidDate } }, + { "services.password.enroll.when": { $lt: +oldestValidDate } } + ] + }; + } const expireFilter = { $and: [tokenFilter, resetRangeOr] }; + if(isEnroll) { + accounts.users.update({...userFilter, ...expireFilter}, { + $unset: { + "services.password.enroll": "" + } + }, { multi: true }); + } else { + accounts.users.update({...userFilter, ...expireFilter}, { + $unset: { + "services.password.reset": "" + } + }, { multi: true }); + } - accounts.users.update({...userFilter, ...expireFilter}, { - $unset: { - "services.password.reset": "" - } - }, { multi: true }); }; const setExpireTokensInterval = accounts => { From 5a09b2fa1a172b0ca33bbad25c0e5fc6ed4e6bd4 Mon Sep 17 00:00:00 2001 From: ritwik Date: Thu, 13 May 2021 03:17:44 +0530 Subject: [PATCH 103/182] Updating 'generateResetToken' and 'resetPassword' in accounts-password to handle enroll account workflow --- packages/accounts-password/password_server.js | 88 +++++++++++++++---- 1 file changed, 69 insertions(+), 19 deletions(-) diff --git a/packages/accounts-password/password_server.js b/packages/accounts-password/password_server.js index c09b7bb5f8..8b6d534273 100644 --- a/packages/accounts-password/password_server.js +++ b/packages/accounts-password/password_server.js @@ -646,15 +646,27 @@ Accounts.generateResetToken = (userId, email, reason, extraTokenData) => { if (extraTokenData) { Object.assign(tokenRecord, extraTokenData); + } + // if this method is called from the enroll account work-flow then + // store the token record in 'services.password.enroll' db field + // else store the token record in in 'services.password.reset' db field + if(reason === 'enrollAccount') { + Meteor.users.update({_id: user._id}, { + $set : { + 'services.password.enroll': tokenRecord + } + }); + } else { + Meteor.users.update({_id: user._id}, { + $set : { + 'services.password.reset': tokenRecord + } + }); } - Meteor.users.update({_id: user._id}, {$set: { - 'services.password.reset': tokenRecord - }}); - // before passing to template, update user object with new token Meteor._ensure(user, 'services', 'password').reset = tokenRecord; - + Meteor._ensure(user, 'services', 'password').enroll = tokenRecord; return {email, user, token}; }; @@ -823,17 +835,38 @@ Meteor.methods({resetPassword: function (...args) { check(token, String); check(newPassword, passwordValidator); - const user = Meteor.users.findOne( + let user = Meteor.users.findOne( {"services.password.reset.token": token}, {fields: { services: 1, emails: 1, }} ); + + let isEnroll = false; + // if token is in services.password.reset db field implies + // this method is was not called from enroll account workflow + // else this method is called from enroll account workflow + if(!user) { + user = Meteor.users.findOne( + {"services.password.enroll.token": token}, + {fields: { + services: 1, + emails: 1, + }} + ); + isEnroll = true; + } if (!user) { throw new Meteor.Error(403, "Token expired"); } - const { when, reason, email } = user.services.password.reset; + let tokenRecord = {}; + if(isEnroll) { + tokenRecord = user.services.password.enroll; + } else { + tokenRecord = user.services.password.reset; + } + const { when, reason, email } = tokenRecord; let tokenLifetimeMs = Accounts._getPasswordResetTokenLifetimeMs(); if (reason === "enroll") { tokenLifetimeMs = Accounts._getPasswordEnrollTokenLifetimeMs(); @@ -847,7 +880,7 @@ Meteor.methods({resetPassword: function (...args) { error: new Meteor.Error(403, "Token has invalid email address") }; - const hashed = hashPassword(newPassword); + const hashed = hashPassword(newPassword); // NOTE: We're about to invalidate tokens on the user, who we might be // logged in as. Make sure to avoid logging ourselves out if this @@ -861,18 +894,33 @@ Meteor.methods({resetPassword: function (...args) { try { // Update the user record by: // - Changing the password to the new one - // - Forgetting about the reset token that was just used + // - Forgetting about the reset token or enroll token that was just used // - Verifying their email, since they got the password reset via email. - const affectedRecords = Meteor.users.update( - { - _id: user._id, - 'emails.address': email, - 'services.password.reset.token': token - }, - {$set: {'services.password.bcrypt': hashed, - 'emails.$.verified': true}, - $unset: {'services.password.reset': 1, - 'services.password.srp': 1}}); + let affectedRecords = {}; + // if reason is enroll then check services.password.enroll.token field for affected records + if(reason === 'enroll') { + affectedRecords = Meteor.users.update( + { + _id: user._id, + 'emails.address': email, + 'services.password.enroll.token': token + }, + {$set: {'services.password.bcrypt': hashed, + 'emails.$.verified': true}, + $unset: {'services.password.enroll': 1, + 'services.password.srp': 1}}); + } else { + affectedRecords = Meteor.users.update( + { + _id: user._id, + 'emails.address': email, + 'services.password.reset.token': token + }, + {$set: {'services.password.bcrypt': hashed, + 'emails.$.verified': true}, + $unset: {'services.password.reset': 1, + 'services.password.srp': 1}}); + } if (affectedRecords !== 1) return { userId: user._id, @@ -1236,3 +1284,5 @@ Meteor.users._ensureIndex('services.email.verificationTokens.token', { unique: true, sparse: true }); Meteor.users._ensureIndex('services.password.reset.token', { unique: true, sparse: true }); +Meteor.users._ensureIndex('services.password.enroll.token', + { unique: true, sparse: true }); From 4a89bb3554ec1682c6a287c679b438b28554c4a0 Mon Sep 17 00:00:00 2001 From: ritwik Date: Thu, 13 May 2021 03:25:06 +0530 Subject: [PATCH 104/182] Updating account-password test file --- packages/accounts-password/password_tests.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/accounts-password/password_tests.js b/packages/accounts-password/password_tests.js index 207982e894..7fd6661762 100644 --- a/packages/accounts-password/password_tests.js +++ b/packages/accounts-password/password_tests.js @@ -1650,7 +1650,7 @@ if (Meteor.isServer) (() => { test.isTrue(match); const enrollPasswordToken = match[1]; - Meteor.users.update(userId, {$set: {"services.password.reset.when": new Date(Date.now() + -35 * 24 * 3600 * 1000) }}); + Meteor.users.update(userId, {$set: {"services.password.enroll.when": new Date(Date.now() + -35 * 24 * 3600 * 1000) }}); test.throws( () => Meteor.call("resetPassword", enrollPasswordToken, "new-password"), @@ -1663,10 +1663,9 @@ if (Meteor.isServer) (() => { const userId = Accounts.createUser({email: email, password: 'password'}); Accounts.sendEnrollmentEmail(userId, email); - test.isTrue(!!Meteor.users.findOne(userId).services.password.reset); - + test.isTrue(!!Meteor.users.findOne(userId).services.password.enroll); Accounts._expirePasswordEnrollTokens(new Date(), userId); - test.isUndefined(Meteor.users.findOne(userId).services.password.reset); + test.isUndefined(Meteor.users.findOne(userId).services.password.enroll); }); Tinytest.add( @@ -1676,11 +1675,11 @@ if (Meteor.isServer) (() => { const userId = Accounts.createUser({email: email, password: 'password'}); Accounts.sendEnrollmentEmail(userId, email); - const enrollToken = Meteor.users.findOne(userId).services.password.reset; + const enrollToken = Meteor.users.findOne(userId).services.password.enroll; test.isTrue(enrollToken); Accounts._expirePasswordResetTokens(new Date(), userId); - test.equal(enrollToken, Meteor.users.findOne(userId).services.password.reset); + test.equal(enrollToken, Meteor.users.findOne(userId).services.password.enroll); } ) From c9f2bb139c0fdf73ddcaa9cc9d47fb91ebf3571a Mon Sep 17 00:00:00 2001 From: afrokick Date: Thu, 13 May 2021 11:00:56 +0300 Subject: [PATCH 105/182] update TS to 4.2.4 --- packages/ecmascript/package.js | 2 +- packages/typescript/package.js | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index fd6f1aa539..a9a6e42ca5 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.15.1', + version: '0.15.2', 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 09c5c9d427..9b176f93f9 100644 --- a/packages/typescript/package.js +++ b/packages/typescript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "typescript", - version: "4.2.2", + version: "4.2.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 70af5a15d2..aad7b3fe84 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": "6.0.1", "node-pre-gyp": "0.14.0", - typescript: "4.2.2", + typescript: "4.2.4", "@meteorjs/babel": "7.11.0", // Keep the versions of these packages consistent with the versions // found in dev-bundle-server-package.js. From 123c696d86bec44cc2c5bef7c60fd3db0e639034 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 13 May 2021 09:48:58 -0400 Subject: [PATCH 106/182] Changing the way to export NodeModulesDirectory to be like the others in the same file Importing bundler using import instead of require --- tools/isobuild/bundler.js | 10 ++++++---- tools/isobuild/compiler.js | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index 88ae89475d..ef0a8adf01 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -223,7 +223,7 @@ exports._mainJsContents = [ // Represents a node_modules directory that we need to copy into the // bundle or otherwise make available at runtime. -export class NodeModulesDirectory { +class NodeModulesDirectory { constructor({ packageName, sourceRoot, @@ -874,7 +874,7 @@ class Target { hmrAvailable: sourceBatch.hmrAvailable, cacheKey }, - getFileOutput + getFileOutput ); }); @@ -1420,7 +1420,7 @@ class Target { if (typeof file.data === 'string') { file.data = Buffer.from(file.data, "utf8"); } - const replaceable = possiblyReplaceable && + const replaceable = possiblyReplaceable && file.data.equals(source._source.contents()); const newFile = new File({ @@ -3130,7 +3130,7 @@ Find out more about Meteor at meteor.com. * - onJsOutputFiles Called for each unibuild in a client arch with a list of js files * that will be linked, and a function to get their prelink output with their closure * and banner. - * + * * Returns an object with keys: * - errors: A buildmessage.MessageSet, or falsy if bundling succeeded. * - serverWatchSet: Information about server files and paths that were @@ -3567,3 +3567,5 @@ exports.readJsImage = Profile( "bundler.readJsImage", function (controlFilePath) { return JsImage.readFromDisk(controlFilePath); }); + +exports.NodeModulesDirectory = NodeModulesDirectory; diff --git a/tools/isobuild/compiler.js b/tools/isobuild/compiler.js index 3ecdb82d61..16a99f3b45 100644 --- a/tools/isobuild/compiler.js +++ b/tools/isobuild/compiler.js @@ -2,7 +2,6 @@ var _ = require('underscore'); var archinfo = require('../utils/archinfo'); var buildmessage = require('../utils/buildmessage.js'); -var bundler = require('./bundler.js'); var isopack = require('./isopack.js'); var meteorNpm = require('./meteor-npm.js'); var watch = require('../fs/watch'); @@ -13,6 +12,7 @@ var linterPluginModule = require('./linter-plugin.js'); var compileStepModule = require('./compiler-deprecated-compile-step.js'); var Profile = require('../tool-env/profile').Profile; import { SourceProcessorSet } from './build-plugin.js'; +import { NodeModulesDirectory, buildJsImage } from './bundler.js'; import { optimisticReadFile, @@ -66,7 +66,7 @@ compiler.compile = Profile(function (packageSource, options) { "` in package `" + packageSource.name + "`", rootPath: packageSource.sourceRoot }, function () { - var buildResult = bundler.buildJsImage({ + var buildResult = buildJsImage({ name: info.name, packageMap: packageMap, isopackCache: isopackCache, @@ -410,7 +410,7 @@ var compileUnibuild = Profile(function (options) { const nodeModulesDirectories = Object.create(null); function addNodeModulesDirectory(options) { - const nmd = new bundler.NodeModulesDirectory(options); + const nmd = new NodeModulesDirectory(options); nodeModulesDirectories[nmd.sourcePath] = nmd; } From 5fd656316041a2867f3b1fc9e03d201559ac3e59 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 13 May 2021 10:18:28 -0400 Subject: [PATCH 107/182] Removing blaze flag from tests with creation --- tools/tests/create.js | 2 +- tools/tests/releases.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/tests/create.js b/tools/tests/create.js index 984e3c0234..5a154ad85b 100644 --- a/tools/tests/create.js +++ b/tools/tests/create.js @@ -6,7 +6,7 @@ selftest.define("create main", function () { // We need a warehouse so the tool doesn't think we are running from checkout var s = new Sandbox({ warehouse: SIMPLE_WAREHOUSE }); // Can we create an app? Yes! - var run = s.run("create", "foobar", "--blaze"); + var run = s.run("create", "foobar"); run.match("Created a new Meteor app in 'foobar'."); run.match("To run your new app"); run.expectExit(0); diff --git a/tools/tests/releases.js b/tools/tests/releases.js index d126724e44..9403afd481 100644 --- a/tools/tests/releases.js +++ b/tools/tests/releases.js @@ -33,7 +33,7 @@ selftest.define("springboard", ['checkout', 'net', 'custom-warehouse'], function run.expectExit(0); // Apps are created with the latest release ... - run = s.run("create", "myapp", "--blaze"); + run = s.run("create", "myapp"); run.waitSecs(5); run.expectExit(0); s.cd('myapp', function () { @@ -43,7 +43,7 @@ selftest.define("springboard", ['checkout', 'net', 'custom-warehouse'], function }); // ... unless you asked for a different one. - run = s.run("create", "myapp2", "--blaze", "--release", DEFAULT_RELEASE_TRACK + "@v1").expectExit(0); + run = s.run("create", "myapp2", "--release", DEFAULT_RELEASE_TRACK + "@v1").expectExit(0); s.cd('myapp2', function () { run = s.run("--version"); run.read('Meteor v1\n'); @@ -135,7 +135,7 @@ selftest.define("writing versions file", ['checkout', 'net', 'custom-warehouse'] var run; // Create an app with the latest release. - run = s.run("create", "myapp", "--blaze"); + run = s.run("create", "myapp"); run.waitSecs(15); run.expectExit(0); s.cd('myapp'); From 54f9f2d19fda2fcbddfbd1af23a6f3879ec91255 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Thu, 13 May 2021 16:41:16 +0200 Subject: [PATCH 108/182] Bump dev bundle --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 722ef1082d..6feed8a729 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=12.22.1.3 +BUNDLE_VERSION=12.22.1.5 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From b5844ebcd200256e19aac04165347267d3e88d8d Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 13 May 2021 10:50:51 -0400 Subject: [PATCH 109/182] Revert "Removing blaze flag from tests with creation" This reverts commit 5fd65631 --- tools/tests/create.js | 2 +- tools/tests/releases.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/tests/create.js b/tools/tests/create.js index 5a154ad85b..984e3c0234 100644 --- a/tools/tests/create.js +++ b/tools/tests/create.js @@ -6,7 +6,7 @@ selftest.define("create main", function () { // We need a warehouse so the tool doesn't think we are running from checkout var s = new Sandbox({ warehouse: SIMPLE_WAREHOUSE }); // Can we create an app? Yes! - var run = s.run("create", "foobar"); + var run = s.run("create", "foobar", "--blaze"); run.match("Created a new Meteor app in 'foobar'."); run.match("To run your new app"); run.expectExit(0); diff --git a/tools/tests/releases.js b/tools/tests/releases.js index 9403afd481..d126724e44 100644 --- a/tools/tests/releases.js +++ b/tools/tests/releases.js @@ -33,7 +33,7 @@ selftest.define("springboard", ['checkout', 'net', 'custom-warehouse'], function run.expectExit(0); // Apps are created with the latest release ... - run = s.run("create", "myapp"); + run = s.run("create", "myapp", "--blaze"); run.waitSecs(5); run.expectExit(0); s.cd('myapp', function () { @@ -43,7 +43,7 @@ selftest.define("springboard", ['checkout', 'net', 'custom-warehouse'], function }); // ... unless you asked for a different one. - run = s.run("create", "myapp2", "--release", DEFAULT_RELEASE_TRACK + "@v1").expectExit(0); + run = s.run("create", "myapp2", "--blaze", "--release", DEFAULT_RELEASE_TRACK + "@v1").expectExit(0); s.cd('myapp2', function () { run = s.run("--version"); run.read('Meteor v1\n'); @@ -135,7 +135,7 @@ selftest.define("writing versions file", ['checkout', 'net', 'custom-warehouse'] var run; // Create an app with the latest release. - run = s.run("create", "myapp"); + run = s.run("create", "myapp", "--blaze"); run.waitSecs(15); run.expectExit(0); s.cd('myapp'); From c75830e0e721ef3f4e10171810fceec0364b0db5 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 14 May 2021 13:13:55 +0200 Subject: [PATCH 110/182] Bump bundle version for test --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 6feed8a729..b9ffe38398 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=12.22.1.5 +BUNDLE_VERSION=12.22.1.6 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 0b64e87c55339530bfdf3d3bea8df715a9634a65 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Mon, 17 May 2021 17:27:34 +0200 Subject: [PATCH 111/182] Fix tests visual for better visual navigation Instead of everything being red, have passed test be green and information text be white. --- tools/tool-testing/run.js | 2 +- tools/tool-testing/selftest.js | 8 ++++---- tools/tool-testing/test-utils.js | 3 +-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/tools/tool-testing/run.js b/tools/tool-testing/run.js index 69c328adf1..57052f5ae8 100644 --- a/tools/tool-testing/run.js +++ b/tools/tool-testing/run.js @@ -544,7 +544,7 @@ export default class Run { testList.notifyFailed(test, failure); } else { - Console.error(`... ok! (${test.durationMs} ms)`, + Console.success(`... ok! (${test.durationMs} ms)`, Console.options({ indent: 2 })); } } diff --git a/tools/tool-testing/selftest.js b/tools/tool-testing/selftest.js index 920d9a123e..9a7aab827b 100644 --- a/tools/tool-testing/selftest.js +++ b/tools/tool-testing/selftest.js @@ -279,7 +279,7 @@ function getFilteredTests(options) { const tagsToMatch = options['with-tag'] ? [options['with-tag']] : []; return new TestList(allTests, tagsToSkip, tagsToMatch, testState); -}; +} function groupTestsByFile(tests) { const grouped = {}; @@ -514,7 +514,7 @@ class TestList { function getTestStateFilePath() { return files.pathJoin(files.getHomeDir(), '.meteortest'); -}; +} function readTestState() { const testStateFile = getTestStateFilePath(); @@ -526,7 +526,7 @@ function readTestState() { testState = { version: 1, lastPassedHashes: {} }; } return testState; -}; +} function writeTestState(testState) { const testStateFile = getTestStateFilePath(); @@ -609,7 +609,7 @@ export function runTests(options) { : 'running'; const countMessage = `(${index + 1}/${testList.filteredTests.length})`; const testMessage = `${test.file}.js test:${test.name} ...`; - Console.error(`${skipMessage} ${countMessage} ${testMessage}`); + Console.info(`${skipMessage} ${countMessage} ${testMessage}`); if (shouldSkip || options.preview) { return; diff --git a/tools/tool-testing/test-utils.js b/tools/tool-testing/test-utils.js index 0aa5334ffd..1a5dafd0f5 100644 --- a/tools/tool-testing/test-utils.js +++ b/tools/tool-testing/test-utils.js @@ -3,8 +3,7 @@ import { timeoutScaleFactor } from '../utils/utils.js'; import { withAccountsConnection } from '../meteor-services/auth.js'; import { fail, markStack } from './selftest.js'; import { request } from '../utils/http-helpers.js'; -import { isEqual } from 'underscore'; -import { loadIsopackage } from '../tool-env/isopackets.js' +import { loadIsopackage } from '../tool-env/isopackets.js'; export function randomString(charsCount) { var chars = 'abcdefghijklmnopqrstuvwxyz'; From 351aff785cbccbaefd4b5abd55f6947f9995bbe5 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Mon, 17 May 2021 18:07:39 +0200 Subject: [PATCH 112/182] Fix Typescript type issues --- tools/fs/files.ts | 14 +++++++------- tools/fs/optimistic.ts | 2 +- tools/isobuild/npm-discards.ts | 2 +- tools/isobuild/resolver.ts | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/fs/files.ts b/tools/fs/files.ts index 9980d767ff..93d970cd6d 100644 --- a/tools/fs/files.ts +++ b/tools/fs/files.ts @@ -391,25 +391,25 @@ export function treeHash(root: string, optionsParams: { var absPath = pathJoin(root, relativePath); var stat = lstat(absPath); - if (stat.isDirectory()) { + if (stat?.isDirectory()) { if (relativePath) { hash.update('dir ' + JSON.stringify(relativePath) + '\n'); } readdir(absPath).forEach(entry => { traverse(pathJoin(relativePath, entry)); }); - } else if (stat.isFile()) { + } else if (stat?.isFile()) { if (!relativePath) { throw Error("must call files.treeHash on a directory"); } hash.update('file ' + JSON.stringify(relativePath) + ' ' + - stat.size + ' ' + fileHash(absPath) + '\n'); + stat?.size + ' ' + fileHash(absPath) + '\n'); // @ts-ignore if (stat.mode & 0o100) { hash.update('exec\n'); } - } else if (stat.isSymbolicLink()) { + } else if (stat?.isSymbolicLink()) { if (!relativePath) { throw Error("must call files.treeHash on a directory"); } @@ -417,7 +417,7 @@ export function treeHash(root: string, optionsParams: { JSON.stringify(readlink(absPath)) + '\n'); } // ignore anything weirder - }; + } traverse(''); @@ -575,7 +575,7 @@ Profile("files.symlinkWithOverwrite", function symlinkWithOverwrite( return convertToOSPath(path).replace(/[\/\\]$/, "") } - if (lstat(target).isSymbolicLink() && + if (lstat(target)?.isSymbolicLink() && normalizePath(readlink(target)) === normalizePath(source)) { // If the target already points to the desired source, we don't // need to do anything. @@ -623,7 +623,7 @@ export function getPathsInDir(dir: string, options: { function pathIsDirectory(path: string) { var stat = lstat(path); - return stat.isDirectory(); + return stat?.isDirectory() || false; } readdir(absoluteDir).forEach(entry => { diff --git a/tools/fs/optimistic.ts b/tools/fs/optimistic.ts index 47e64228c7..7e4cb45989 100644 --- a/tools/fs/optimistic.ts +++ b/tools/fs/optimistic.ts @@ -398,7 +398,7 @@ wrap((absRootDir: string, relDir: string) => { const optimisticIsSymbolicLink = wrap((path: string) => { try { - return lstat(path).isSymbolicLink(); + return lstat(path)?.isSymbolicLink(); } catch (e) { if (e.code !== "ENOENT") throw e; dependOnParentDirectory(path); diff --git a/tools/isobuild/npm-discards.ts b/tools/isobuild/npm-discards.ts index 3ace0e83f2..8e7e9b9e14 100644 --- a/tools/isobuild/npm-discards.ts +++ b/tools/isobuild/npm-discards.ts @@ -21,7 +21,7 @@ class NpmDiscards { shouldDiscard(candidatePath: string, isDirectory?: boolean): boolean { if (isDirectory === void 0) { - isDirectory = files.lstat(candidatePath).isDirectory(); + isDirectory = files.lstat(candidatePath)?.isDirectory(); } for (let currentPath = candidatePath, parentPath; diff --git a/tools/isobuild/resolver.ts b/tools/isobuild/resolver.ts index c84c56f29e..52b229060c 100644 --- a/tools/isobuild/resolver.ts +++ b/tools/isobuild/resolver.ts @@ -63,7 +63,7 @@ export default class Resolver { private nodeModulesPaths: string[]; private mainFields: string[]; - public statOrNull = optimisticStatOrNull as (path: string) => Stats | BigIntStats | null; + public statOrNull = optimisticStatOrNull as (path: string) => Stats | BigIntStats | null | undefined; constructor({ sourceRoot, From 628397ad7866e924d9c6617b31bdbff93bd60eb8 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Mon, 17 May 2021 18:54:01 +0200 Subject: [PATCH 113/182] More TS fixes --- tools/fs/safe-watcher.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/fs/safe-watcher.ts b/tools/fs/safe-watcher.ts index 909dfa6b26..12c658a363 100644 --- a/tools/fs/safe-watcher.ts +++ b/tools/fs/safe-watcher.ts @@ -89,7 +89,7 @@ function acquireWatcher(absPath: string, callback: EntryCallback) { } function startNewWatcher(absPath: string): Entry { - let stat: Stats | BigIntStats | null = null; + let stat: Stats | BigIntStats | null | undefined = null; if (DEDUPLICATE_BY_INO) { stat = statOrNull(absPath); From e404ab2330ff3f054ac8ddc73e909530bc01e0a8 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Mon, 17 May 2021 19:53:31 +0200 Subject: [PATCH 114/182] More TS fixes --- tools/fs/watch.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/fs/watch.ts b/tools/fs/watch.ts index 970d38be09..719789fb52 100644 --- a/tools/fs/watch.ts +++ b/tools/fs/watch.ts @@ -351,7 +351,7 @@ function readAndStatDirectory(absPath: string) { // Add slashes to the end of directories. const contentsWithSlashes: string[] = []; contents.forEach(entry => { - let stat: Dirent | Stats | BigIntStats | null = entry; + let stat: Dirent | Stats | BigIntStats | null | undefined = entry; let name = entry.name; if (entry.isSymbolicLink()) { From e8dbe6c27d846aed888a52a25a3a92a52df84572 Mon Sep 17 00:00:00 2001 From: Matheus Castro Date: Mon, 17 May 2021 15:12:46 -0300 Subject: [PATCH 115/182] Add platforms options to meteor build: This commit adds the "--platforms" flag to meteor build command. This allows the user to specify which platforms he want to build and build it only. For example, if we pass only android to it, we will build only android and web.cordova. Related to issue #63 (https://github.com/meteor/meteor-feature-requests/issues/63) --- tools/cli/commands.js | 36 +++++++++++++++++++++++++++++++++++- tools/cli/help.txt | 2 ++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index dc794b53c9..db54681c24 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -934,7 +934,8 @@ var buildCommands = { // like progress bars and spinners are unimportant. headless: { type: Boolean }, verbose: { type: Boolean, short: "v" }, - 'allow-incompatible-update': { type: Boolean } + 'allow-incompatible-update': { type: Boolean }, + platforms: { type: String } }, catalogRefresh: new catalog.Refresh.Never() }; @@ -1014,6 +1015,19 @@ var buildCommand = function (options) { // _bundleOnly implies serverOnly const serverOnly = options._bundleOnly || !!options['server-only']; + let selectedPlatforms; + if (options.platforms) { + const platformsArray = options.platforms.trim().split(/\s*,\s*/); + + platformsArray.forEach((plat) => { + if (!excludableWebArchs.concat(['android', 'ios']).includes(plat)) { + throw new Error(`Not allowed platform on '--platforms' flag: ${plat}`) + } + }) + + selectedPlatforms = platformsArray; + } + // options['mobile-settings'] is used to set the initial value of // `Meteor.settings` on mobile apps. Pass it on to options.settings, // which is used in this command. @@ -1029,6 +1043,10 @@ var buildCommand = function (options) { if (!serverOnly) { cordovaPlatforms = projectContext.platformList.getCordovaPlatforms(); + if (selectedPlatforms) { + cordovaPlatforms = _.intersection(selectedPlatforms, cordovaPlatforms) + } + if (process.platform !== 'darwin' && _.contains(cordovaPlatforms, 'ios')) { cordovaPlatforms = _.without(cordovaPlatforms, 'ios'); Console.warn("Currently, it is only possible to build iOS apps \ @@ -1054,6 +1072,21 @@ on an OS X system."); cordovaPlatforms = []; } + // If we specified some platforms, we need to build what was specified. For example, if we want to build only android, + // there is no need to build web.browser. + let webArchs; + if (selectedPlatforms) { + const filteredArchs = projectContext.platformList.getWebArchs().filter((arch) => selectedPlatforms.includes(arch)); + + if (! _.isEmpty(cordovaPlatforms)) { + if (filteredArchs.indexOf("web.cordova") < 0) { + filteredArchs.push("web.cordova"); + } + } + + webArchs = filteredArchs.length ? filteredArchs : undefined; + } + var buildDir = projectContext.getProjectLocalDirectory('build_tar'); var outputPath = files.pathResolve(options.args[0]); // get absolute path @@ -1094,6 +1127,7 @@ ${Console.command("meteor build ../output")}`, // packages with binary npm dependencies serverArch: bundleArch, buildMode: options.debug ? 'development' : 'production', + webArchs, }, }); if (bundleResult.errors) { diff --git a/tools/cli/help.txt b/tools/cli/help.txt index 0bc633c589..4e40a45883 100644 --- a/tools/cli/help.txt +++ b/tools/cli/help.txt @@ -425,6 +425,8 @@ Options: downgraded to versions that are potentially incompatible with the current versions, if required to satisfy all package version constraints. + --platforms Builds only the specified platforms (when available). + >>> lint From 5ca8956f836e28f9e5f9ef4c2bc68eaa45074560 Mon Sep 17 00:00:00 2001 From: Matheus Castro Date: Mon, 17 May 2021 16:02:48 -0300 Subject: [PATCH 116/182] Use split(",") to get the platforms values. --- tools/cli/commands.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index db54681c24..321c29cad2 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -1017,7 +1017,7 @@ var buildCommand = function (options) { let selectedPlatforms; if (options.platforms) { - const platformsArray = options.platforms.trim().split(/\s*,\s*/); + const platformsArray = options.platforms.split(","); platformsArray.forEach((plat) => { if (!excludableWebArchs.concat(['android', 'ios']).includes(plat)) { From c94e08de6999cba3787d6df69a4af15e72af7b66 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Mon, 17 May 2021 21:29:49 +0200 Subject: [PATCH 117/182] History updates Typescript and `METEOR_TOOL_ENABLE_REIFY_RUNTIME_CACHE` --- History.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/History.md b/History.md index ecc8e4da36..0dcac0f1c8 100644 --- a/History.md +++ b/History.md @@ -7,6 +7,10 @@ * Skelets dependencies updated to latest version +* Typescript update to 4.2.4 + +* New env variable `METEOR_TOOL_ENABLE_REIFY_RUNTIME_CACHE` now set to `false` by default to enable Reify runtime cache. This new cache should help with runtime performance when restarting server, but it is not yet ready for general use. Learn more in the [PR](https://github.com/meteor/meteor/pull/11400). + #### Meteor Version Release * Released `launch-screen@1.3.0` that remove LaunchScreen from web clients. From a5ef281bcac78ed43b054c3e7b6ad725f61be848 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Mon, 17 May 2021 21:36:23 +0200 Subject: [PATCH 118/182] Add platform options to readme --- History.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/History.md b/History.md index 0dcac0f1c8..97eb7e3454 100644 --- a/History.md +++ b/History.md @@ -11,6 +11,8 @@ * New env variable `METEOR_TOOL_ENABLE_REIFY_RUNTIME_CACHE` now set to `false` by default to enable Reify runtime cache. This new cache should help with runtime performance when restarting server, but it is not yet ready for general use. Learn 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` See [PR](https://github.com/meteor/meteor/pull/11437) for details. + #### Meteor Version Release * Released `launch-screen@1.3.0` that remove LaunchScreen from web clients. From 839a69db66b41efe08f8ea95bcf3004ccf741a47 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Mon, 17 May 2021 15:52:27 -0400 Subject: [PATCH 119/182] Refactoring platforms flag --- tools/cli/commands.js | 45 +++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/tools/cli/commands.js b/tools/cli/commands.js index 321c29cad2..0a5fccd842 100644 --- a/tools/cli/commands.js +++ b/tools/cli/commands.js @@ -1015,19 +1015,6 @@ var buildCommand = function (options) { // _bundleOnly implies serverOnly const serverOnly = options._bundleOnly || !!options['server-only']; - let selectedPlatforms; - if (options.platforms) { - const platformsArray = options.platforms.split(","); - - platformsArray.forEach((plat) => { - if (!excludableWebArchs.concat(['android', 'ios']).includes(plat)) { - throw new Error(`Not allowed platform on '--platforms' flag: ${plat}`) - } - }) - - selectedPlatforms = platformsArray; - } - // options['mobile-settings'] is used to set the initial value of // `Meteor.settings` on mobile apps. Pass it on to options.settings, // which is used in this command. @@ -1036,10 +1023,22 @@ var buildCommand = function (options) { } const appName = files.pathBasename(options.appDir); + let parsedCordovaServerPort; + let selectedPlatforms = null; + if (options.platforms) { + const platformsArray = options.platforms.split(","); + + platformsArray.forEach(plat => { + if (![...excludableWebArchs, 'android', 'ios'].includes(plat)) { + throw new Error(`Not allowed platform on '--platforms' flag: ${plat}`) + } + }) + + selectedPlatforms = platformsArray; + } let cordovaPlatforms; let parsedMobileServerUrl; - let parsedCordovaServerPort; if (!serverOnly) { cordovaPlatforms = projectContext.platformList.getCordovaPlatforms(); @@ -1072,16 +1071,20 @@ on an OS X system."); cordovaPlatforms = []; } - // If we specified some platforms, we need to build what was specified. For example, if we want to build only android, - // there is no need to build web.browser. + // If we specified some platforms, we need to build what was specified. + // For example, if we want to build only android, there is no need to build + // web.browser. let webArchs; if (selectedPlatforms) { - const filteredArchs = projectContext.platformList.getWebArchs().filter((arch) => selectedPlatforms.includes(arch)); + const filteredArchs = projectContext.platformList + .getWebArchs() + .filter(arch => selectedPlatforms.includes(arch)); - if (! _.isEmpty(cordovaPlatforms)) { - if (filteredArchs.indexOf("web.cordova") < 0) { - filteredArchs.push("web.cordova"); - } + if ( + !_.isEmpty(cordovaPlatforms) && + !filteredArchs.includes('web.cordova') + ) { + filteredArchs.push('web.cordova'); } webArchs = filteredArchs.length ? filteredArchs : undefined; From 04f30638d0b1305af1ad9211a35cb127b7088a6a Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Tue, 18 May 2021 12:53:56 +0200 Subject: [PATCH 120/182] Fix e-mail release notes in History.md --- History.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/History.md b/History.md index 41b2071a1d..cb211fb2c1 100644 --- a/History.md +++ b/History.md @@ -21,6 +21,8 @@ * `hot-module-replacement@0.3.0` Fixing various HMR bugs and edge cases see [PR for more](https://github.com/meteor/meteor/pull/11405) +* `email@2.1.0` with updated `nodemailer@6.6.0`, it now adds `charset=utf-8` to `text/plain` messages by default + #### Independent Releases * Released `ddp-server@2.3.3` and `socket-stream-client@0.3.2` with updated dependencies which removes Node's HTTP deprecation warning. @@ -39,8 +41,6 @@ * Released `id-map@1.1.1` removing unused dependencies and modernizing the code -* Released `email@2.1.0` with updated `nodemailer@6.6.0`, it now adds `charset=utf-8` to `text/plain` messages - ## v2.2, 2021-04-15 #### Highlights From 291647ed40e397c7c0c8810d2afe55034a38e850 Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Tue, 18 May 2021 11:51:26 -0300 Subject: [PATCH 121/182] Upgrade meteor-promise and bump promise package version to beta --- packages/promise/package.js | 6 +++--- scripts/dev-bundle-server-package.js | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/promise/package.js b/packages/promise/package.js index 1af67abed0..cdf4dfd9f4 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,14 +1,14 @@ Package.describe({ name: "promise", - version: "0.11.2", + version: "0.11.2-beta230.0", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" }); Npm.depends({ - "meteor-promise": "0.8.7", - "promise": "8.0.2" + "meteor-promise": "0.9.0", + "promise": "8.1.0" }); Package.onUse(function(api) { diff --git a/scripts/dev-bundle-server-package.js b/scripts/dev-bundle-server-package.js index 39fe6d5afd..c77383352b 100644 --- a/scripts/dev-bundle-server-package.js +++ b/scripts/dev-bundle-server-package.js @@ -11,7 +11,7 @@ var packageJson = { // Keep the versions of these packages consistent with the versions // found in dev-bundle-tool-package.js. fibers: "5.0.0", - "meteor-promise": "0.8.7", + "meteor-promise": "0.9.0", promise: "8.1.0", reify: "0.20.12", "@babel/parser": "7.11.5", diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index a16b54c728..508589a879 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -18,7 +18,7 @@ var packageJson = { "meteor-babel": "7.10.7", // Keep the versions of these packages consistent with the versions // found in dev-bundle-server-package.js. - "meteor-promise": "0.8.7", + "meteor-promise": "0.9.0", fibers: "5.0.0", reify: "0.20.12", // So that Babel can emit require("@babel/runtime/helpers/...") calls. From c8403e307b7646eebf6817fa2dff70697d8f8777 Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Tue, 18 May 2021 11:52:10 -0300 Subject: [PATCH 122/182] Upgrade meteor-promise and bump promise package version to beta --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index c9c478e68b..0b8db49d49 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.16.1.3 +BUNDLE_VERSION=14.16.1.4 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 79607082c0d0a232ec381749132df33bc7bd8674 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Tue, 18 May 2021 17:17:40 +0200 Subject: [PATCH 123/182] Bump promise package version for beta --- packages/promise/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/promise/package.js b/packages/promise/package.js index cdf4dfd9f4..576aca3cf4 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.11.2-beta230.0", + version: "0.12.0-beta230.0", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" From 080f8fb994bbab5c75d3386ed288f4115067a6aa Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Tue, 18 May 2021 16:05:42 -0300 Subject: [PATCH 124/182] Clean all caches for node14 --- .circleci/config.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c4ff42e27b..b16af59e01 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -111,8 +111,8 @@ jobs: command: (git submodule sync && git submodule update --init --recursive) || (rm -fr .git/config .git/modules && git submodule deinit -f . && git submodule update --init --recursive) - restore_cache: keys: - - v2-dev-bundle-cache-{{ checksum "meteor" }} - - v2-dev-bundle-cache- + - v3-dev-bundle-cache-{{ checksum "meteor" }} + - v3-dev-bundle-cache- - run: name: Combine NPM Shrinkwrap Files command: | @@ -120,21 +120,21 @@ jobs: for d in packages/*/.npm/plugin/*; do cat $d/npm-shrinkwrap.json >> shrinkwraps.txt; done - restore_cache: keys: - - package-npm-deps-cache-group1-v2-{{ checksum "shrinkwraps.txt" }} - - package-npm-deps-cache-group1-v2- + - package-npm-deps-cache-group1-v3-{{ checksum "shrinkwraps.txt" }} + - package-npm-deps-cache-group1-v3- - restore_cache: keys: - - package-npm-deps-cache-group2-v4-{{ checksum "shrinkwraps.txt" }} - - package-npm-deps-cache-group2-v4- + - package-npm-deps-cache-group2-v5-{{ checksum "shrinkwraps.txt" }} + - package-npm-deps-cache-group2-v5- - restore_cache: keys: - - v6-other-deps-cache-{{ .Branch }}-{{ checksum "meteor" }}-{{ .Revision }} - - v6-other-deps-cache-{{ .Branch }}-{{ checksum "meteor" }}- - - v6-other-deps-cache-{{ .Branch }}- + - v7-other-deps-cache-{{ .Branch }}-{{ checksum "meteor" }}-{{ .Revision }} + - v7-other-deps-cache-{{ .Branch }}-{{ checksum "meteor" }}- + - v7-other-deps-cache-{{ .Branch }}- - restore_cache: keys: - - v3-test-groups-{{ .Branch }} - - v3-test-groups- + - v4-test-groups-{{ .Branch }} + - v4-test-groups- - run: name: Create Test Results Directory command: | @@ -707,14 +707,14 @@ jobs: - ./tmp/test-groups when: on_success - save_cache: - key: v2-dev-bundle-cache-{{ checksum "meteor" }} + key: v3-dev-bundle-cache-{{ checksum "meteor" }} paths: - "dev_bundle" # The package npm dependencies are split into two caches to avoid an AWS # `MetadataTooLarge` error that consistently appears if we put all of # these folders in the same cache - save_cache: - key: package-npm-deps-cache-group1-v2-{{ checksum "shrinkwraps.txt" }} + key: package-npm-deps-cache-group1-v3-{{ checksum "shrinkwraps.txt" }} paths: - packages/meteor/.npm/package/node_modules - packages/modules-runtime/.npm/package/node_modules @@ -730,7 +730,7 @@ jobs: - packages/package-version-parser/.npm/package/node_modules - packages/boilerplate-generator/.npm/package/node_modules - save_cache: - key: package-npm-deps-cache-group2-v4-{{ checksum "shrinkwraps.txt" }} + key: package-npm-deps-cache-group2-v5-{{ checksum "shrinkwraps.txt" }} paths: - packages/xmlbuilder/.npm/package/node_modules - packages/logging/.npm/package/node_modules @@ -757,7 +757,7 @@ jobs: - packages/fetch/.npm/package/node_modules - packages/non-core/mongo-decimal/.npm/package/node_modules - save_cache: - key: v6-other-deps-cache-{{ .Branch }}-{{ checksum "meteor" }}-{{ .Revision }} + key: v7-other-deps-cache-{{ .Branch }}-{{ checksum "meteor" }}-{{ .Revision }} paths: - ".babel-cache" - ".meteor" From 1429e30a65d752cf0f8334a1d62c96329214aaf4 Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Tue, 18 May 2021 17:42:31 -0300 Subject: [PATCH 125/182] Rollback sqlite3 version, and also some majors that might present breaking changes --- packages/promise/.npm/package/npm-shrinkwrap.json | 12 ++++++------ scripts/dev-bundle-server-package.js | 4 ++-- scripts/dev-bundle-tool-package.js | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/promise/.npm/package/npm-shrinkwrap.json b/packages/promise/.npm/package/npm-shrinkwrap.json index ddaaf50771..92a3f5920c 100644 --- a/packages/promise/.npm/package/npm-shrinkwrap.json +++ b/packages/promise/.npm/package/npm-shrinkwrap.json @@ -7,14 +7,14 @@ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "meteor-promise": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/meteor-promise/-/meteor-promise-0.8.7.tgz", - "integrity": "sha512-wAu9XI3+35H1YyhTnnk5QXCfdrho5n/0Ltj65DhsUwtFCuktV7hre92FjtJgBbs+RHj5/iZ8Zcbml40EGLcFTQ==" + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/meteor-promise/-/meteor-promise-0.9.0.tgz", + "integrity": "sha512-O1Fj1Oa5FfyIkAkDtZVnoYYEIC3miy7lvEeIQZVYunGSbOuivSbfAiPPsD+P45WNlcBALhUo94UzlHeIKBYNuQ==" }, "promise": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.2.tgz", - "integrity": "sha512-EIyzM39FpVOMbqgzEHhxdrEhtOSDOtjMZQ0M6iVfCE+kWNgCkAyOdnuCWqfmflylftfadU6FkiMgHZA2kUzwRw==" + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", + "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==" } } } diff --git a/scripts/dev-bundle-server-package.js b/scripts/dev-bundle-server-package.js index c77383352b..b86a704bd3 100644 --- a/scripts/dev-bundle-server-package.js +++ b/scripts/dev-bundle-server-package.js @@ -25,8 +25,8 @@ var packageJson = { // needing to install them if they use `npm install --production`. devDependencies: { split2: "2.2.0", - multipipe: "2.0.1", - chalk: "4.1.0" + multipipe: "1.0.2", + chalk: "0.5.1" } }; diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 508589a879..9302662a3c 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -41,22 +41,22 @@ var packageJson = { // TODO: We should replace this with: https://github.com/jprichardson/node-kexec/pull/38 kexec: "https://github.com/meteor/node-kexec/tarball/f29f54037c7db6ad29e1781463b182e5929215a0", "source-map": "0.7.3", - chalk: "4.1.0", - sqlite3: "5.0.2", + chalk: "0.5.1", + sqlite3: "4.1.0", "http-proxy": "1.18.1", - "is-reachable": "5.0.0", + "is-reachable": "3.1.0", "wordwrap": "1.0.0", "moment": "2.29.1", - "rimraf": "3.0.2", + "rimraf": "2.6.2", "glob": "7.1.6", - ignore: "5.1.8", + ignore: "3.3.7", // XXX: When we update this, see if it fixes this Github issue: // https://github.com/jgm/CommonMark/issues/276 . If it does, remove the // workaround from the tool. "commonmark": "0.15.0", escope: "3.6.0", split2: "3.2.2", - multipipe: "4.0.0", + multipipe: "2.0.1", pathwatcher: "8.1.0", // The @wry/context package version must be compatible with the // version constraint imposed by optimism/package.json. From 814fc5c497d67756b7675658b6334c584bcc3ee3 Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Tue, 18 May 2021 17:42:48 -0300 Subject: [PATCH 126/182] Rollback sqlite3 version, and also some majors that might present breaking changes - bump dev bundle version --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 0b8db49d49..62f639ea02 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.16.1.4 +BUNDLE_VERSION=14.16.1.5 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 84a41b1fd072834be9bf0bcbd8184ccfc34c0fc8 Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Tue, 18 May 2021 17:53:05 -0300 Subject: [PATCH 127/182] Rollback sqlite3 version, and also some majors that might present breaking changes - bump dev bundle version --- meteor | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meteor b/meteor index 62f639ea02..4f9a515dd7 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.16.1.5 +BUNDLE_VERSION=14.16.1.6 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 9302662a3c..9fffb28348 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -42,7 +42,7 @@ var packageJson = { kexec: "https://github.com/meteor/node-kexec/tarball/f29f54037c7db6ad29e1781463b182e5929215a0", "source-map": "0.7.3", chalk: "0.5.1", - sqlite3: "4.1.0", + sqlite3: "5.0.2", "http-proxy": "1.18.1", "is-reachable": "3.1.0", "wordwrap": "1.0.0", From 685e321fac38205a23bf167f185f3435e418309d Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Wed, 19 May 2021 11:00:50 -0300 Subject: [PATCH 128/182] User commonjs export --- tools/isobuild/compiler.js | 104 +++++++++++------------ tools/packaging/catalog/catalog-local.js | 4 +- tools/project-context.js | 4 +- 3 files changed, 58 insertions(+), 54 deletions(-) diff --git a/tools/isobuild/compiler.js b/tools/isobuild/compiler.js index 16a99f3b45..a1acfa1674 100644 --- a/tools/isobuild/compiler.js +++ b/tools/isobuild/compiler.js @@ -998,65 +998,65 @@ compiler.eachUsedUnibuild = function ( export function isIsobuildFeaturePackage(packageName) { return packageName.startsWith('isobuild:'); } - +exports.KNOWN_ISOBUILD_FEATURE_PACKAGES = // If you update this data structure to add more feature packages, you should // update the wiki page here: // https://docs.meteor.com/api/packagejs.html#isobuild-features -export const KNOWN_ISOBUILD_FEATURE_PACKAGES = { - // This package directly calls Plugin.registerCompiler. Package authors - // must explicitly depend on this feature package to use the API. - 'isobuild:compiler-plugin': ['1.0.0'], + { + // This package directly calls Plugin.registerCompiler. Package authors + // must explicitly depend on this feature package to use the API. + 'isobuild:compiler-plugin': ['1.0.0'], - // This package directly calls Plugin.registerMinifier. Package authors - // must explicitly depend on this feature package to use the API. - 'isobuild:minifier-plugin': ['1.0.0'], + // This package directly calls Plugin.registerMinifier. Package authors + // must explicitly depend on this feature package to use the API. + 'isobuild:minifier-plugin': ['1.0.0'], - // This package directly calls Plugin.registerLinter. Package authors - // must explicitly depend on this feature package to use the API. - 'isobuild:linter-plugin': ['1.0.0'], + // This package directly calls Plugin.registerLinter. Package authors + // must explicitly depend on this feature package to use the API. + 'isobuild:linter-plugin': ['1.0.0'], - // This package is only published in the isopack-2 format, not isopack-1 or - // older. ie, it contains "source" files for compiler plugins, not just - // JS/CSS/static assets/head/body. - // This is implicitly added at publish time to any such package; package - // authors don't have to add it explicitly. It isn't relevant for local - // packages, which can be rebuilt if possible by the older tool. - // - // Specifically, this is to avoid the case where a package is published with a - // dependency like `api.use('less@1.0.0 || 2.0.0')` and the publication - // selects the newer compiler plugin version to generate the isopack. The - // published package (if this feature package wasn't implicitly included) - // could still be selected by the Version Solver to be used with an old - // Isobuild... just because less@2.0.0 depends on isobuild:compiler-plugin - // doesn't mean it couldn't choose less@1.0.0, which is not actually - // compatible with this published package. (Constraints of the form described - // above are not very helpful, but at least we can prevent old Isobuilds from - // choking on confusing packages.) - // - // (Why not isobuild:isopack@2.0.0? Well, that would imply that Version Solver - // would have to choose only one isobuild:isopack feature version, which - // doesn't make sense here.) - 'isobuild:isopack-2': ['1.0.0'], + // This package is only published in the isopack-2 format, not isopack-1 or + // older. ie, it contains "source" files for compiler plugins, not just + // JS/CSS/static assets/head/body. + // This is implicitly added at publish time to any such package; package + // authors don't have to add it explicitly. It isn't relevant for local + // packages, which can be rebuilt if possible by the older tool. + // + // Specifically, this is to avoid the case where a package is published with a + // dependency like `api.use('less@1.0.0 || 2.0.0')` and the publication + // selects the newer compiler plugin version to generate the isopack. The + // published package (if this feature package wasn't implicitly included) + // could still be selected by the Version Solver to be used with an old + // Isobuild... just because less@2.0.0 depends on isobuild:compiler-plugin + // doesn't mean it couldn't choose less@1.0.0, which is not actually + // compatible with this published package. (Constraints of the form described + // above are not very helpful, but at least we can prevent old Isobuilds from + // choking on confusing packages.) + // + // (Why not isobuild:isopack@2.0.0? Well, that would imply that Version Solver + // would have to choose only one isobuild:isopack feature version, which + // doesn't make sense here.) + 'isobuild:isopack-2': ['1.0.0'], - // This package uses the `prodOnly` metadata flag, which causes it to - // automatically depend on the `isobuild:prod-only` feature package. - 'isobuild:prod-only': ['1.0.0'], + // This package uses the `prodOnly` metadata flag, which causes it to + // automatically depend on the `isobuild:prod-only` feature package. + 'isobuild:prod-only': ['1.0.0'], - // This package depends on a specific version of Cordova. Package authors must - // explicitly depend on this feature package to indicate that they are not - // compatible with earlier Cordova versions, which is most likely a result of - // the Cordova plugins they depend on. - // One scenario is a package depending on a Cordova plugin or version - // that is only available on npm, which means downloading the plugin is not - // supported on versions of Cordova below 5.0.0. - 'isobuild:cordova': ['5.4.0'], + // This package depends on a specific version of Cordova. Package authors must + // explicitly depend on this feature package to indicate that they are not + // compatible with earlier Cordova versions, which is most likely a result of + // the Cordova plugins they depend on. + // One scenario is a package depending on a Cordova plugin or version + // that is only available on npm, which means downloading the plugin is not + // supported on versions of Cordova below 5.0.0. + 'isobuild:cordova': ['5.4.0'], - // This package requires functionality introduced in meteor-tool@1.5.0 - // to enable dynamic module fetching via import(...). - 'isobuild:dynamic-import': ['1.5.0'], + // This package requires functionality introduced in meteor-tool@1.5.0 + // to enable dynamic module fetching via import(...). + 'isobuild:dynamic-import': ['1.5.0'], - // This package ensures that processFilesFor{Bundle,Target,Package} are - // allowed to return a Promise instead of having to await async - // compilation using fibers and/or futures. - 'isobuild:async-plugins': ['1.6.1'], -}; + // This package ensures that processFilesFor{Bundle,Target,Package} are + // allowed to return a Promise instead of having to await async + // compilation using fibers and/or futures. + 'isobuild:async-plugins': ['1.6.1'], + }; diff --git a/tools/packaging/catalog/catalog-local.js b/tools/packaging/catalog/catalog-local.js index 1b22227283..9f176aadfa 100644 --- a/tools/packaging/catalog/catalog-local.js +++ b/tools/packaging/catalog/catalog-local.js @@ -1,9 +1,11 @@ + var _ = require('underscore'); var buildmessage = require('../../utils/buildmessage.js'); var files = require('../../fs/files'); var watch = require('../../fs/watch'); +var KNOWN_ISOBUILD_FEATURE_PACKAGES = require('../../isobuild/compiler.js').KNOWN_ISOBUILD_FEATURE_PACKAGES; + var PackageSource = require('../../isobuild/package-source.js'); -import { KNOWN_ISOBUILD_FEATURE_PACKAGES } from '../../isobuild/compiler.js'; import { sync as glob } from "glob"; import { Profile } from "../../tool-env/profile"; import { diff --git a/tools/project-context.js b/tools/project-context.js index 467c1e48bb..b9ec7881df 100644 --- a/tools/project-context.js +++ b/tools/project-context.js @@ -1,3 +1,4 @@ + var assert = require("assert"); var _ = require('underscore'); @@ -15,7 +16,8 @@ var tropohouse = require('./packaging/tropohouse.js'); var utils = require('./utils/utils.js'); var watch = require('./fs/watch'); var Profile = require('./tool-env/profile').Profile; -import { KNOWN_ISOBUILD_FEATURE_PACKAGES } from './isobuild/compiler.js'; +var KNOWN_ISOBUILD_FEATURE_PACKAGES = require('./isobuild/compiler.js').KNOWN_ISOBUILD_FEATURE_PACKAGES + import { optimisticReadJsonOrNull, From 9d7520910cae7836868ac53ef94c8b89f1a431dd Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 19 May 2021 17:22:23 +0200 Subject: [PATCH 129/182] Add cross to run failure to copy the style of success --- tools/tool-testing/run.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/tool-testing/run.js b/tools/tool-testing/run.js index 57052f5ae8..7233732bd9 100644 --- a/tools/tool-testing/run.js +++ b/tools/tool-testing/run.js @@ -448,7 +448,14 @@ export default class Run { test.durationMs = +(new Date) - startTime; if (failure) { - Console.error(`... fail! (${test.durationMs} ms)`, Console.options({ indent: 2 })); + let checkmark; + if (process.platform === "win32") { + checkmark = 'FAIL'; + } else { + checkmark = '\u2717'; // CROSS + } + + Console.error(`... fail! (${test.durationMs} ms)`, Console.options({ bulletPoint: `${checkmark} ` })); if (failure instanceof TestFailure) { const frames = parseStackParse(failure).outsideFiber; From d6aeaf391d80f0085d8f362f5d184538501785bf Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Wed, 19 May 2021 17:56:27 -0300 Subject: [PATCH 130/182] Inline KNOWN_ISOBUILD_FEATURE_PACKAGES constant. On node 14, we faced an issue while importing this constant, probably related to changes on ES6 implementation in this version. See the changelog here: https://nodejs.org/en/blog/release/v14.0.0/#notable-changes --- tools/isobuild/compiler.js | 62 ------------------------ tools/packaging/catalog/catalog-local.js | 59 +++++++++++++++++++++- tools/project-context.js | 58 +++++++++++++++++++++- 3 files changed, 115 insertions(+), 64 deletions(-) diff --git a/tools/isobuild/compiler.js b/tools/isobuild/compiler.js index a1acfa1674..189c3fc1ff 100644 --- a/tools/isobuild/compiler.js +++ b/tools/isobuild/compiler.js @@ -998,65 +998,3 @@ compiler.eachUsedUnibuild = function ( export function isIsobuildFeaturePackage(packageName) { return packageName.startsWith('isobuild:'); } -exports.KNOWN_ISOBUILD_FEATURE_PACKAGES = -// If you update this data structure to add more feature packages, you should -// update the wiki page here: -// https://docs.meteor.com/api/packagejs.html#isobuild-features - { - // This package directly calls Plugin.registerCompiler. Package authors - // must explicitly depend on this feature package to use the API. - 'isobuild:compiler-plugin': ['1.0.0'], - - // This package directly calls Plugin.registerMinifier. Package authors - // must explicitly depend on this feature package to use the API. - 'isobuild:minifier-plugin': ['1.0.0'], - - // This package directly calls Plugin.registerLinter. Package authors - // must explicitly depend on this feature package to use the API. - 'isobuild:linter-plugin': ['1.0.0'], - - // This package is only published in the isopack-2 format, not isopack-1 or - // older. ie, it contains "source" files for compiler plugins, not just - // JS/CSS/static assets/head/body. - // This is implicitly added at publish time to any such package; package - // authors don't have to add it explicitly. It isn't relevant for local - // packages, which can be rebuilt if possible by the older tool. - // - // Specifically, this is to avoid the case where a package is published with a - // dependency like `api.use('less@1.0.0 || 2.0.0')` and the publication - // selects the newer compiler plugin version to generate the isopack. The - // published package (if this feature package wasn't implicitly included) - // could still be selected by the Version Solver to be used with an old - // Isobuild... just because less@2.0.0 depends on isobuild:compiler-plugin - // doesn't mean it couldn't choose less@1.0.0, which is not actually - // compatible with this published package. (Constraints of the form described - // above are not very helpful, but at least we can prevent old Isobuilds from - // choking on confusing packages.) - // - // (Why not isobuild:isopack@2.0.0? Well, that would imply that Version Solver - // would have to choose only one isobuild:isopack feature version, which - // doesn't make sense here.) - 'isobuild:isopack-2': ['1.0.0'], - - // This package uses the `prodOnly` metadata flag, which causes it to - // automatically depend on the `isobuild:prod-only` feature package. - 'isobuild:prod-only': ['1.0.0'], - - // This package depends on a specific version of Cordova. Package authors must - // explicitly depend on this feature package to indicate that they are not - // compatible with earlier Cordova versions, which is most likely a result of - // the Cordova plugins they depend on. - // One scenario is a package depending on a Cordova plugin or version - // that is only available on npm, which means downloading the plugin is not - // supported on versions of Cordova below 5.0.0. - 'isobuild:cordova': ['5.4.0'], - - // This package requires functionality introduced in meteor-tool@1.5.0 - // to enable dynamic module fetching via import(...). - 'isobuild:dynamic-import': ['1.5.0'], - - // This package ensures that processFilesFor{Bundle,Target,Package} are - // allowed to return a Promise instead of having to await async - // compilation using fibers and/or futures. - 'isobuild:async-plugins': ['1.6.1'], - }; diff --git a/tools/packaging/catalog/catalog-local.js b/tools/packaging/catalog/catalog-local.js index 9f176aadfa..a6e220bb9b 100644 --- a/tools/packaging/catalog/catalog-local.js +++ b/tools/packaging/catalog/catalog-local.js @@ -3,7 +3,6 @@ var _ = require('underscore'); var buildmessage = require('../../utils/buildmessage.js'); var files = require('../../fs/files'); var watch = require('../../fs/watch'); -var KNOWN_ISOBUILD_FEATURE_PACKAGES = require('../../isobuild/compiler.js').KNOWN_ISOBUILD_FEATURE_PACKAGES; var PackageSource = require('../../isobuild/package-source.js'); import { sync as glob } from "glob"; @@ -11,6 +10,64 @@ import { Profile } from "../../tool-env/profile"; import { optimisticHashOrNull, } from "../../fs/optimistic"; +const KNOWN_ISOBUILD_FEATURE_PACKAGES = { + // This package directly calls Plugin.registerCompiler. Package authors + // must explicitly depend on this feature package to use the API. + 'isobuild:compiler-plugin': ['1.0.0'], + + // This package directly calls Plugin.registerMinifier. Package authors + // must explicitly depend on this feature package to use the API. + 'isobuild:minifier-plugin': ['1.0.0'], + + // This package directly calls Plugin.registerLinter. Package authors + // must explicitly depend on this feature package to use the API. + 'isobuild:linter-plugin': ['1.0.0'], + + // This package is only published in the isopack-2 format, not isopack-1 or + // older. ie, it contains "source" files for compiler plugins, not just + // JS/CSS/static assets/head/body. + // This is implicitly added at publish time to any such package; package + // authors don't have to add it explicitly. It isn't relevant for local + // packages, which can be rebuilt if possible by the older tool. + // + // Specifically, this is to avoid the case where a package is published with a + // dependency like `api.use('less@1.0.0 || 2.0.0')` and the publication + // selects the newer compiler plugin version to generate the isopack. The + // published package (if this feature package wasn't implicitly included) + // could still be selected by the Version Solver to be used with an old + // Isobuild... just because less@2.0.0 depends on isobuild:compiler-plugin + // doesn't mean it couldn't choose less@1.0.0, which is not actually + // compatible with this published package. (Constraints of the form described + // above are not very helpful, but at least we can prevent old Isobuilds from + // choking on confusing packages.) + // + // (Why not isobuild:isopack@2.0.0? Well, that would imply that Version Solver + // would have to choose only one isobuild:isopack feature version, which + // doesn't make sense here.) + 'isobuild:isopack-2': ['1.0.0'], + + // This package uses the `prodOnly` metadata flag, which causes it to + // automatically depend on the `isobuild:prod-only` feature package. + 'isobuild:prod-only': ['1.0.0'], + + // This package depends on a specific version of Cordova. Package authors must + // explicitly depend on this feature package to indicate that they are not + // compatible with earlier Cordova versions, which is most likely a result of + // the Cordova plugins they depend on. + // One scenario is a package depending on a Cordova plugin or version + // that is only available on npm, which means downloading the plugin is not + // supported on versions of Cordova below 5.0.0. + 'isobuild:cordova': ['5.4.0'], + + // This package requires functionality introduced in meteor-tool@1.5.0 + // to enable dynamic module fetching via import(...). + 'isobuild:dynamic-import': ['1.5.0'], + + // This package ensures that processFilesFor{Bundle,Target,Package} are + // allowed to return a Promise instead of having to await async + // compilation using fibers and/or futures. + 'isobuild:async-plugins': ['1.6.1'], +} // LocalCatalog represents packages located in the application's // package directory, other package directories specified via an diff --git a/tools/project-context.js b/tools/project-context.js index b9ec7881df..5b1559390a 100644 --- a/tools/project-context.js +++ b/tools/project-context.js @@ -16,8 +16,64 @@ var tropohouse = require('./packaging/tropohouse.js'); var utils = require('./utils/utils.js'); var watch = require('./fs/watch'); var Profile = require('./tool-env/profile').Profile; -var KNOWN_ISOBUILD_FEATURE_PACKAGES = require('./isobuild/compiler.js').KNOWN_ISOBUILD_FEATURE_PACKAGES +const KNOWN_ISOBUILD_FEATURE_PACKAGES = { + // This package directly calls Plugin.registerCompiler. Package authors + // must explicitly depend on this feature package to use the API. + 'isobuild:compiler-plugin': ['1.0.0'], + // This package directly calls Plugin.registerMinifier. Package authors + // must explicitly depend on this feature package to use the API. + 'isobuild:minifier-plugin': ['1.0.0'], + + // This package directly calls Plugin.registerLinter. Package authors + // must explicitly depend on this feature package to use the API. + 'isobuild:linter-plugin': ['1.0.0'], + + // This package is only published in the isopack-2 format, not isopack-1 or + // older. ie, it contains "source" files for compiler plugins, not just + // JS/CSS/static assets/head/body. + // This is implicitly added at publish time to any such package; package + // authors don't have to add it explicitly. It isn't relevant for local + // packages, which can be rebuilt if possible by the older tool. + // + // Specifically, this is to avoid the case where a package is published with a + // dependency like `api.use('less@1.0.0 || 2.0.0')` and the publication + // selects the newer compiler plugin version to generate the isopack. The + // published package (if this feature package wasn't implicitly included) + // could still be selected by the Version Solver to be used with an old + // Isobuild... just because less@2.0.0 depends on isobuild:compiler-plugin + // doesn't mean it couldn't choose less@1.0.0, which is not actually + // compatible with this published package. (Constraints of the form described + // above are not very helpful, but at least we can prevent old Isobuilds from + // choking on confusing packages.) + // + // (Why not isobuild:isopack@2.0.0? Well, that would imply that Version Solver + // would have to choose only one isobuild:isopack feature version, which + // doesn't make sense here.) + 'isobuild:isopack-2': ['1.0.0'], + + // This package uses the `prodOnly` metadata flag, which causes it to + // automatically depend on the `isobuild:prod-only` feature package. + 'isobuild:prod-only': ['1.0.0'], + + // This package depends on a specific version of Cordova. Package authors must + // explicitly depend on this feature package to indicate that they are not + // compatible with earlier Cordova versions, which is most likely a result of + // the Cordova plugins they depend on. + // One scenario is a package depending on a Cordova plugin or version + // that is only available on npm, which means downloading the plugin is not + // supported on versions of Cordova below 5.0.0. + 'isobuild:cordova': ['5.4.0'], + + // This package requires functionality introduced in meteor-tool@1.5.0 + // to enable dynamic module fetching via import(...). + 'isobuild:dynamic-import': ['1.5.0'], + + // This package ensures that processFilesFor{Bundle,Target,Package} are + // allowed to return a Promise instead of having to await async + // compilation using fibers and/or futures. + 'isobuild:async-plugins': ['1.6.1'], +} import { optimisticReadJsonOrNull, From b35b32e362351c9bf5b59e27a2cb12072c24c1f9 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 19 May 2021 23:09:05 +0200 Subject: [PATCH 131/182] Deprecate package in deprecated directory Will need to update the metadata. --- packages/deprecated/amplify/package.js | 3 ++- packages/deprecated/backbone/package.js | 3 ++- packages/deprecated/bootstrap/package.js | 3 ++- packages/deprecated/code-prettify/package.js | 3 ++- packages/deprecated/d3/package.js | 3 ++- packages/deprecated/deps/package.js | 3 ++- packages/deprecated/facebook/package.js | 3 ++- packages/deprecated/facts/package.js | 3 ++- packages/deprecated/fastclick/package.js | 3 ++- packages/deprecated/github/package.js | 3 ++- packages/deprecated/google/package.js | 3 ++- packages/deprecated/handlebars/package.js | 3 ++- packages/deprecated/http/package.js | 3 ++- packages/deprecated/jquery-history/package.js | 3 ++- packages/deprecated/jquery-layout/package.js | 3 ++- packages/deprecated/jquery-waypoints/package.js | 3 ++- packages/deprecated/jsparse/package.js | 3 ++- packages/deprecated/livedata/package.js | 3 ++- packages/deprecated/markdown/package.js | 3 ++- packages/deprecated/meetup/package.js | 3 ++- packages/deprecated/meteor-developer/package.js | 3 ++- packages/deprecated/meteor-platform/package.js | 3 ++- packages/deprecated/meyerweb-reset/package.js | 3 ++- packages/deprecated/preserve-inputs/package.js | 3 ++- packages/deprecated/showdown/package.js | 3 ++- packages/deprecated/spiderable/package.js | 3 ++- packages/deprecated/srp/package.js | 3 ++- packages/deprecated/standard-app-packages/package.js | 3 ++- packages/deprecated/startup/package.js | 3 ++- packages/deprecated/stylus/package.js | 3 ++- packages/deprecated/twitter/package.js | 3 ++- packages/deprecated/weibo/package.js | 3 ++- 32 files changed, 64 insertions(+), 32 deletions(-) diff --git a/packages/deprecated/amplify/package.js b/packages/deprecated/amplify/package.js index 66c3652c9b..d64a60e327 100644 --- a/packages/deprecated/amplify/package.js +++ b/packages/deprecated/amplify/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "API for Persistent Storage, PubSub and Request", - version: "1.0.0" + version: "1.0.0", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/backbone/package.js b/packages/deprecated/backbone/package.js index 6d4d29996a..ffecaadd41 100644 --- a/packages/deprecated/backbone/package.js +++ b/packages/deprecated/backbone/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "A minimalist client-side MVC framework", - version: "1.0.0" + version: "1.0.0", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/bootstrap/package.js b/packages/deprecated/bootstrap/package.js index 1098a917ed..c775a689f3 100644 --- a/packages/deprecated/bootstrap/package.js +++ b/packages/deprecated/bootstrap/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Front-end framework from Twitter", - version: "1.0.1" + version: "1.0.1", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/code-prettify/package.js b/packages/deprecated/code-prettify/package.js index 4be4dedee1..a1ea2ca33d 100644 --- a/packages/deprecated/code-prettify/package.js +++ b/packages/deprecated/code-prettify/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: '(Deprecated) Syntax highlighting of code, from Google', - version: '2.0.0' + version: '2.0.0', + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/d3/package.js b/packages/deprecated/d3/package.js index f83c2dbf2a..bc0c8ee69c 100644 --- a/packages/deprecated/d3/package.js +++ b/packages/deprecated/d3/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Library for manipulating documents based on data", - version: "1.0.0" + version: "1.0.0", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/deps/package.js b/packages/deprecated/deps/package.js index 7a3e107d77..b4ea1af666 100644 --- a/packages/deprecated/deps/package.js +++ b/packages/deprecated/deps/package.js @@ -2,7 +2,8 @@ Package.describe({ summary: "Deprecated: Use the 'tracker' package instead.", - version: '1.0.12' + version: '1.0.12', + deprecated: 'Use the \'tracker\' package instead.' }); Package.onUse(function (api) { diff --git a/packages/deprecated/facebook/package.js b/packages/deprecated/facebook/package.js index 6eeda137a4..503a9803bf 100644 --- a/packages/deprecated/facebook/package.js +++ b/packages/deprecated/facebook/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "DEPRECATED - Use facebook-oauth instead - Facebook OAuth flow", - version: "1.3.0" + version: "1.3.0", + deprecated: 'Use facebook-oauth instead' }); Package.onUse(function(api) { diff --git a/packages/deprecated/facts/package.js b/packages/deprecated/facts/package.js index 1c73053180..5d2ffe4148 100644 --- a/packages/deprecated/facts/package.js +++ b/packages/deprecated/facts/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Publish internal app statistics", - version: '1.0.9' + version: '1.0.9', + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/fastclick/package.js b/packages/deprecated/fastclick/package.js index bef7ca2e6e..8d8934ae7d 100755 --- a/packages/deprecated/fastclick/package.js +++ b/packages/deprecated/fastclick/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Faster touch events on mobile", - version: '1.0.13' + version: '1.0.13', + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/github/package.js b/packages/deprecated/github/package.js index a87308e0c3..f88f75fc86 100644 --- a/packages/deprecated/github/package.js +++ b/packages/deprecated/github/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: 'DEPRECATED - Use github-oauth instead - GitHub OAuth flow', - version: '1.2.0' + version: '1.2.0', + deprecated: 'Use github-oauth instead' }); Package.onUse(function (api) { diff --git a/packages/deprecated/google/package.js b/packages/deprecated/google/package.js index 50c9b1ec6d..bddd812c8e 100644 --- a/packages/deprecated/google/package.js +++ b/packages/deprecated/google/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "DEPRECATED - Use google-oauth instead - Google OAuth flow", - version: "1.2.0" + version: "1.2.0", + deprecated: 'Use google-oauth instead' }); Package.onUse(function(api) { diff --git a/packages/deprecated/handlebars/package.js b/packages/deprecated/handlebars/package.js index e0fa978efe..b2a9d9fc15 100644 --- a/packages/deprecated/handlebars/package.js +++ b/packages/deprecated/handlebars/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Deprecated", - version: '1.0.7' + version: '1.0.7', + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/http/package.js b/packages/deprecated/http/package.js index fa72508abf..06eadef12e 100644 --- a/packages/deprecated/http/package.js +++ b/packages/deprecated/http/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Make HTTP calls to remote servers", - version: '1.4.3' + version: '1.4.3', + deprecated: 'Migrate to fetch when possible' }); Npm.depends({ diff --git a/packages/deprecated/jquery-history/package.js b/packages/deprecated/jquery-history/package.js index 96a8856d20..102955a293 100644 --- a/packages/deprecated/jquery-history/package.js +++ b/packages/deprecated/jquery-history/package.js @@ -1,7 +1,8 @@ Package.describe({ name: "jquery-history", summary: "Deprecated package for HTML5 pushState", - version: "1.0.2" + version: "1.0.2", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/jquery-layout/package.js b/packages/deprecated/jquery-layout/package.js index f59be56f70..dab704e9c4 100644 --- a/packages/deprecated/jquery-layout/package.js +++ b/packages/deprecated/jquery-layout/package.js @@ -4,7 +4,8 @@ Package.describe({ name: "jquery-layout", summary: "Deprecated package for JS layout", - version: "1.0.3" + version: "1.0.3", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/jquery-waypoints/package.js b/packages/deprecated/jquery-waypoints/package.js index a1efbf02ec..2f74482cbc 100644 --- a/packages/deprecated/jquery-waypoints/package.js +++ b/packages/deprecated/jquery-waypoints/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Run a function when the user scrolls past an element", - version: "1.0.9" + version: "1.0.9", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/jsparse/package.js b/packages/deprecated/jsparse/package.js index 7e01fea896..b01b35383d 100644 --- a/packages/deprecated/jsparse/package.js +++ b/packages/deprecated/jsparse/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "(Deprecated) Full-featured JavaScript parser", - version: "2.0.0" + version: "2.0.0", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/livedata/package.js b/packages/deprecated/livedata/package.js index 1a5ad0a82e..572ce29662 100644 --- a/packages/deprecated/livedata/package.js +++ b/packages/deprecated/livedata/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Moved to the 'ddp' package", - version: '1.0.18' + version: '1.0.18', + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/markdown/package.js b/packages/deprecated/markdown/package.js index acae2f89d3..762029d901 100644 --- a/packages/deprecated/markdown/package.js +++ b/packages/deprecated/markdown/package.js @@ -2,7 +2,8 @@ Package.describe({ summary: "Markdown-to-HTML processor", - version: "1.0.14" + version: "1.0.14", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/meetup/package.js b/packages/deprecated/meetup/package.js index bcaddfedd7..100322b1f9 100644 --- a/packages/deprecated/meetup/package.js +++ b/packages/deprecated/meetup/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: 'DEPRECATED - Use meetup-oauth instead - Meetup OAuth flow', - version: '1.7.0' + version: '1.7.0', + deprecated: 'Use meetup-oauth instead' }); Package.onUse(function (api) { diff --git a/packages/deprecated/meteor-developer/package.js b/packages/deprecated/meteor-developer/package.js index 77ccbba67d..4f36151c5d 100644 --- a/packages/deprecated/meteor-developer/package.js +++ b/packages/deprecated/meteor-developer/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: 'DEPRECATED - Use meteor-developer-oauth instead - Meteor developer accounts OAuth flow', - version: '1.2.0' + version: '1.2.0', + deprecated: 'Use meteor-developer-oauth instead' }); Package.onUse(function (api) { diff --git a/packages/deprecated/meteor-platform/package.js b/packages/deprecated/meteor-platform/package.js index 6af799157f..7329bbea3f 100644 --- a/packages/deprecated/meteor-platform/package.js +++ b/packages/deprecated/meteor-platform/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "(Deprecated) Include a standard set of Meteor packages in your app", - version: '1.2.6' + version: '1.2.6', + deprecated: true }); Package.onUse(function(api) { diff --git a/packages/deprecated/meyerweb-reset/package.js b/packages/deprecated/meyerweb-reset/package.js index dec2e88d92..c0abed8172 100644 --- a/packages/deprecated/meyerweb-reset/package.js +++ b/packages/deprecated/meyerweb-reset/package.js @@ -3,7 +3,8 @@ // encourage this pattern. Maybe another solution would be better. Package.describe({ summary: "(Deprecated) reset.css v2.0 from http://meyerweb.com/eric/tools/css/reset/", - version: "2.0.0" + version: "2.0.0", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/preserve-inputs/package.js b/packages/deprecated/preserve-inputs/package.js index aade8591ae..9124e4644e 100644 --- a/packages/deprecated/preserve-inputs/package.js +++ b/packages/deprecated/preserve-inputs/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Deprecated package (now empty)", - version: "1.0.11" + version: "1.0.11", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/showdown/package.js b/packages/deprecated/showdown/package.js index 957b773890..e5705ec599 100644 --- a/packages/deprecated/showdown/package.js +++ b/packages/deprecated/showdown/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Moved to the 'markdown' package", - version: '1.0.8' + version: '1.0.8', + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/spiderable/package.js b/packages/deprecated/spiderable/package.js index 9bec266898..2a345d5ddb 100644 --- a/packages/deprecated/spiderable/package.js +++ b/packages/deprecated/spiderable/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Makes the application crawlable to web spiders", - version: "1.0.14-release-testing.0" + version: "1.0.14", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/srp/package.js b/packages/deprecated/srp/package.js index cdb1e54d3b..8809bb0e36 100644 --- a/packages/deprecated/srp/package.js +++ b/packages/deprecated/srp/package.js @@ -5,7 +5,8 @@ Package.describe({ summary: "Library for Secure Remote Password (SRP) exchanges", - version: "1.1.0" + version: "1.1.0", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/standard-app-packages/package.js b/packages/deprecated/standard-app-packages/package.js index fb34e2d183..53efec245f 100644 --- a/packages/deprecated/standard-app-packages/package.js +++ b/packages/deprecated/standard-app-packages/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Moved to meteor-platform", - version: '1.0.9' + version: '1.0.9', + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/startup/package.js b/packages/deprecated/startup/package.js index 15f7655fc3..0290ed295f 100644 --- a/packages/deprecated/startup/package.js +++ b/packages/deprecated/startup/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "Deprecated package (now empty)", - version: "1.0.7" + version: "1.0.7", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/deprecated/stylus/package.js b/packages/deprecated/stylus/package.js index 2a7197eafb..1a42d6b7cf 100644 --- a/packages/deprecated/stylus/package.js +++ b/packages/deprecated/stylus/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: 'Expressive, dynamic, robust CSS', - version: "2.513.15" + version: "2.513.15", + deprecated: true }); Package.registerBuildPlugin({ diff --git a/packages/deprecated/twitter/package.js b/packages/deprecated/twitter/package.js index f0a7664806..e7346aee01 100644 --- a/packages/deprecated/twitter/package.js +++ b/packages/deprecated/twitter/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "DEPRECATED - Use twitter-oauth instead - Twitter OAuth flow", - version: '1.2.0' + version: '1.2.0', + deprecated: 'Use twitter-oauth instead' }); Package.onUse(function(api) { diff --git a/packages/deprecated/weibo/package.js b/packages/deprecated/weibo/package.js index 672c9b8bf7..ab956bbf19 100644 --- a/packages/deprecated/weibo/package.js +++ b/packages/deprecated/weibo/package.js @@ -1,6 +1,7 @@ Package.describe({ summary: "DEPRECATED - Use weibo-oauth instead - Weibo OAuth flow", - version: '1.2.0' + version: '1.2.0', + deprecated: 'Use weibo-oauth instead' }); Package.onUse(function(api) { From 31e7cf96fb7e7584991138c0f26a481ea7e71924 Mon Sep 17 00:00:00 2001 From: Renan Castro Date: Wed, 19 May 2021 18:28:17 -0300 Subject: [PATCH 132/182] Inline KNOWN_ISOBUILD_FEATURE_PACKAGES constant. On node 14, we faced an issue while importing this constant, probably related to changes on ES6 implementation in this version. See the changelog here: https://nodejs.org/en/blog/release/v14.0.0/#notable-changes - documentation to avoid errors --- tools/packaging/catalog/catalog-local.js | 4 ++++ tools/project-context.js | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/tools/packaging/catalog/catalog-local.js b/tools/packaging/catalog/catalog-local.js index a6e220bb9b..0d952a4860 100644 --- a/tools/packaging/catalog/catalog-local.js +++ b/tools/packaging/catalog/catalog-local.js @@ -10,6 +10,10 @@ import { Profile } from "../../tool-env/profile"; import { optimisticHashOrNull, } from "../../fs/optimistic"; + +// This variable was duplicated due to an issue on importing it. +// The issue only happens on node 14, and is most surely related to this: https://nodejs.org/en/blog/release/v14.0.0/ +// !!! When changing this, also change on tools/project-context.js !!! const KNOWN_ISOBUILD_FEATURE_PACKAGES = { // This package directly calls Plugin.registerCompiler. Package authors // must explicitly depend on this feature package to use the API. diff --git a/tools/project-context.js b/tools/project-context.js index 5b1559390a..1711f1c094 100644 --- a/tools/project-context.js +++ b/tools/project-context.js @@ -16,6 +16,10 @@ var tropohouse = require('./packaging/tropohouse.js'); var utils = require('./utils/utils.js'); var watch = require('./fs/watch'); var Profile = require('./tool-env/profile').Profile; + +// This variable was duplicated due to an issue on importing it. +// The issue only happens on node 14, and is most surely related to this: https://nodejs.org/en/blog/release/v14.0.0/ +// !!! When changing this, also change on tools/packaging/catalog/catalog-local.js !!! const KNOWN_ISOBUILD_FEATURE_PACKAGES = { // This package directly calls Plugin.registerCompiler. Package authors // must explicitly depend on this feature package to use the API. From 46ae6099834ccb4fda66347daa1be6a4a3761df2 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Wed, 19 May 2021 17:40:49 -0400 Subject: [PATCH 133/182] dev-bundle-14.16.1.7 --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 4f9a515dd7..3bec0cb3cd 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.16.1.6 +BUNDLE_VERSION=14.16.1.7 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From 1f3b177830176ef6625b12dd17e9ce1053a70e11 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 20 May 2021 07:55:57 -0400 Subject: [PATCH 134/182] Updates History.md with more details Bump dynamic-import and webapp packages --- History.md | 67 ++++++++++++++++++++++-------- packages/dynamic-import/package.js | 2 +- packages/webapp/package.js | 2 +- 3 files changed, 52 insertions(+), 19 deletions(-) diff --git a/History.md b/History.md index 2eb887ead6..ac80709b1f 100644 --- a/History.md +++ b/History.md @@ -1,45 +1,78 @@ ## v2.3, UNRELEASED -### Changes -* 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`). +### 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. + +### Migration steps + +- As Node.js version was upgraded we recommend that you remove your `node_modules` folder (`rm -rf node_modules`) and run `meteor reset` 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. #### Highlights -* Skelets dependencies updated to latest version +* Node.js update to 14.16.1 from 12.22.1 :tada: * Typescript update to 4.2.4 -* New env variable `METEOR_TOOL_ENABLE_REIFY_RUNTIME_CACHE` now set to `false` by default to enable Reify runtime cache. This new cache should help with runtime performance when restarting server, but it is not yet ready for general use. Learn more in the [PR](https://github.com/meteor/meteor/pull/11400). +* New env variable `METEOR_TOOL_ENABLE_REIFY_RUNTIME_CACHE` to improve runtime performance on restarts. -* New flag `--platforms` has been added to the `build` command to specify the platform you want to build for. `meteor build . --platforms=android` See [PR](https://github.com/meteor/meteor/pull/11437) for details. +* New flag `--platforms` has been added to the `build` command to specify the platform you want to build for. `meteor build . --platforms=android`. + +* Skeletons dependencies updated to latest version #### Meteor Version Release -* Released `launch-screen@1.3.0` that remove LaunchScreen from web clients. +* `meteor-tool@2.3` + - Node.js update to 14.16.1 from 12.22.1 :tada: + - This is a major upgrade in Node.js. See the [release notes](https://nodejs.org/en/blog/release/v14.0.0/) for more details. + - New env variable `METEOR_TOOL_ENABLE_REIFY_RUNTIME_CACHE` that improves restarts by caching reify data. This new cache should help with runtime performance when restarting server, but it is not yet ready for general use. By default it is disabled but you can enable it setting `true` in this env var. Learn 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`). + +* `launch-screen@1.3.0` + - Removes LaunchScreen from web clients. -* `meteor-babel` has been update to v7.11.0 and renamed to `@meteorjs/babel`. This update includes a fix for Samsung Internet v6.2+ to be considered modern browser and addition of [logical assingment operators](https://github.com/tc39/proposal-logical-assignment) via `babel-presets-meteor`. +* `meteor-babel@7.11.0 (@meteorjs/babel)` + - Fixes for Samsung Internet v6.2+ to be considered modern browser and addition of [logical assingment 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` Fixing various HMR bugs and edge cases see [PR for more](https://github.com/meteor/meteor/pull/11405) +* `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` with updated `nodemailer@6.6.0`, it now adds `charset=utf-8` to `text/plain` messages by default +* `email@2.1.0` + - Updates `nodemailer` to `6.6.0` and it now adds `charset=utf-8` to `text/plain` messages by default. #### Independent Releases -* Released `ddp-server@2.3.3` and `socket-stream-client@0.3.2` with updated dependencies which removes Node's HTTP deprecation warning. +* `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. -* Released `ddp-client@2.4.1` re-ordering fields in DDP message for better client readability. +* `ddp-client@2.4.1` + - Re-ordering fields in DDP message for better client readability. -* Released `mongo@1.11.1` fixing a `Timestamp.ONE is undefined` bug. +* `mongo@1.11.1` + - Fixes a `Timestamp.ONE is undefined` bug. -* Released `mongo-id@1.0.8` removing unused dependency `id-map`. +* `mongo-id@1.0.8` + - Removes unused dependency `id-map`. -* Released `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` +* `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`. -* Released `static-html@1.3.1` removing `underscore` dependency. +* `static-html@1.3.1` + - Removes `underscore` dependency. -* Released `dev-error-overlay@0.1.1` fixing sometimes page content being on top of error overlay +* `dev-error-overlay@0.1.1` + - Fixes sometimes page content being on top of error overlay. -* Released `id-map@1.1.1` removing unused dependencies and modernizing the code +* `id-map@1.1.1` + - Removes unused dependencies and modernizing the code. ## v2.2, 2021-04-15 diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index d0b29622c3..bf41cb50e1 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.6.0", + version: "0.7.0-beta230.0", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/webapp/package.js b/packages/webapp/package.js index 25a34976d8..b1db73daf4 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.10.1' + version: '1.11.0-beta230.0' }); Npm.depends({"basic-auth-connect": "1.0.0", From 0460a3e3e65dbf4c600a3b92f97b7148be59d329 Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 20 May 2021 07:58:58 -0400 Subject: [PATCH 135/182] Updates Node.js (14.17.0) and npm (6.14.13) --- meteor | 2 +- scripts/build-dev-bundle-common.sh | 4 ++-- scripts/dev-bundle-tool-package.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meteor b/meteor index 3bec0cb3cd..856b8c95e7 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.16.1.7 +BUNDLE_VERSION=14.17.0.0 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. diff --git a/scripts/build-dev-bundle-common.sh b/scripts/build-dev-bundle-common.sh index f167430710..b3ce3759c3 100644 --- a/scripts/build-dev-bundle-common.sh +++ b/scripts/build-dev-bundle-common.sh @@ -5,10 +5,10 @@ set -u UNAME=$(uname) ARCH=$(uname -m) -NODE_VERSION=14.16.1 +NODE_VERSION=14.17.0 MONGO_VERSION_64BIT=4.4.4 MONGO_VERSION_32BIT=3.2.22 -NPM_VERSION=6.14.12 +NPM_VERSION=6.14.13 # If we built Node from source on Jenkins, this is the build number. NODE_BUILD_NUMBER= diff --git a/scripts/dev-bundle-tool-package.js b/scripts/dev-bundle-tool-package.js index 0647281401..ae955aad1f 100644 --- a/scripts/dev-bundle-tool-package.js +++ b/scripts/dev-bundle-tool-package.js @@ -10,7 +10,7 @@ var packageJson = { dependencies: { // Explicit dependency because we are replacing it with a bundled version // and we want to make sure there are no dependencies on a higher version - npm: "6.14.12", + npm: "6.14.13", pacote: "https://github.com/meteor/pacote/tarball/a81b0324686e85d22c7688c47629d4009000e8b8", "node-gyp": "8.0.0", "node-pre-gyp": "0.15.0", From 27e22557cb9fdc6060243a243784c8a88726408f Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 20 May 2021 08:09:13 -0400 Subject: [PATCH 136/182] Updates History.md --- History.md | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/History.md b/History.md index ac80709b1f..852250db5f 100644 --- a/History.md +++ b/History.md @@ -1,19 +1,8 @@ ## v2.3, UNRELEASED -### 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. - -### Migration steps - -- As Node.js version was upgraded we recommend that you remove your `node_modules` folder (`rm -rf node_modules`) and run `meteor reset` 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. - #### Highlights -* Node.js update to 14.16.1 from 12.22.1 :tada: +* Node.js update to 14.17.0 from 12.22.1 :tada: * Typescript update to 4.2.4 @@ -23,11 +12,23 @@ * Skeletons dependencies updated to latest version +### 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. + +### Migration steps + +- As Node.js version was upgraded we recommend that you remove your `node_modules` folder (`rm -rf node_modules`) and run `meteor reset` 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. + #### Meteor Version Release * `meteor-tool@2.3` - - Node.js update to 14.16.1 from 12.22.1 :tada: + - Node.js update to 14.17.0 from 12.22.1 :tada: - 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. - New env variable `METEOR_TOOL_ENABLE_REIFY_RUNTIME_CACHE` that improves restarts by caching reify data. This new cache should help with runtime performance when restarting server, but it is not yet ready for general use. By default it is disabled but you can enable it setting `true` in this env var. Learn 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`). From 4289ec2f7d67fa7a458583c9193f4c2471468a2c Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 20 May 2021 10:03:53 -0400 Subject: [PATCH 137/182] Bump versions for babel-compiler, ecmascript, email, typescript --- packages/babel-compiler/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/email/package.js | 2 +- packages/typescript/package.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index e394916deb..3436b92bff 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.6.2' + version: '7.6.2-beta230.0' }); Npm.depends({ diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index a9a6e42ca5..fd6f1aa539 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.15.2', + version: '0.15.1', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/email/package.js b/packages/email/package.js index 72ce82a0f9..7e8d480a4f 100644 --- a/packages/email/package.js +++ b/packages/email/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Send email messages", - version: "2.1.0" + version: "2.1.0-beta230.0" }); Npm.depends({ diff --git a/packages/typescript/package.js b/packages/typescript/package.js index 9b176f93f9..18101effb0 100644 --- a/packages/typescript/package.js +++ b/packages/typescript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "typescript", - version: "4.2.4", + version: "4.2.4-beta230.0", summary: "Compiler plugin that compiles TypeScript and ECMAScript in .ts and .tsx files", documentation: "README.md" }); From 3bb38b5aed98aad0fb984da38df85cbd887b5a40 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Thu, 20 May 2021 16:06:24 +0200 Subject: [PATCH 138/182] Bump to 2.3 beta 0 --- 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 81d856243c..2c2472e4e2 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.2.0' + version: '2.3.0-beta.0' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index eb8577cf68..a27e3e5c4a 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.2", + "version": "2.3-beta.0", "recommended": false, "official": false, "description": "Meteor" From 427c6b6e218cd8a873a94d726c50b80635ab3665 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Thu, 20 May 2021 19:55:22 +0200 Subject: [PATCH 139/182] Babel-compiler shrongwrap --- .../.npm/package/npm-shrinkwrap.json | 272 +++++++++--------- 1 file changed, 141 insertions(+), 131 deletions(-) diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index b496659435..8eb0913707 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -7,14 +7,14 @@ "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==" }, "@babel/compat-data": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.12.tgz", - "integrity": "sha512-3eJJ841uKxeV8dcN/2yGEUy+RfgQspPEgQat85umsE1rotuquQ2AbIub4S6j7c50a2d+4myc+zSlnXeIHrOnhQ==" + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz", + "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==" }, "@babel/core": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.14.tgz", - "integrity": "sha512-wZso/vyF4ki0l0znlgM4inxbdrUvCb+cVz8grxDq+6C9k6qbqoIJteQOKicaKjCipU3ISV+XedCqpL2RJJVehA==", + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz", + "integrity": "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==", "dependencies": { "json5": { "version": "2.2.0", @@ -24,9 +24,9 @@ } }, "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==" + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz", + "integrity": "sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==" }, "@babel/helper-annotate-as-pure": { "version": "7.12.13", @@ -39,24 +39,24 @@ "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==" }, "@babel/helper-compilation-targets": { - "version": "7.13.13", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz", - "integrity": "sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ==" + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", + "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==" }, "@babel/helper-create-class-features-plugin": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", - "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==" + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.3.tgz", + "integrity": "sha512-BnEfi5+6J2Lte9LeiL6TxLWdIlEv9Woacc1qXzXBgbikcOzMRM2Oya5XGg/f/ngotv1ej2A/b+3iJH8wbS1+lQ==" }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==" + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.3.tgz", + "integrity": "sha512-JIB2+XJrb7v3zceV2XzDhGIB902CmKGSpSl4q2C6agU9SNLG/2V1RtFRGPG1Ajh9STj3+q6zJMOC+N/pp2P9DA==" }, "@babel/helper-define-polyfill-provider": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", - "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", + "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==" }, "@babel/helper-explode-assignable-expression": { "version": "7.13.0", @@ -64,9 +64,9 @@ "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==" }, "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz", + "integrity": "sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==" }, "@babel/helper-get-function-arity": { "version": "7.12.13", @@ -84,9 +84,9 @@ "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==" }, "@babel/helper-module-transforms": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz", - "integrity": "sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz", + "integrity": "sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==" }, "@babel/helper-optimise-call-expression": { "version": "7.12.13", @@ -104,9 +104,9 @@ "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==" }, "@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==" + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.3.tgz", + "integrity": "sha512-Rlh8qEWZSTfdz+tgNV/N4gz1a0TMNwCUcENhMjHTHKp3LseYH5Jha0NSlyTQWMnjbYcwFt+bqAMqSLHVXkQ6UA==" }, "@babel/helper-simple-access": { "version": "7.13.12", @@ -124,9 +124,9 @@ "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==" }, "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", + "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==" }, "@babel/helper-validator-option": { "version": "7.12.17", @@ -139,49 +139,54 @@ "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==" }, "@babel/helpers": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.10.tgz", - "integrity": "sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==" + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz", + "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==" }, "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==" + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", + "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==" }, "@babel/parser": { - "version": "7.13.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz", - "integrity": "sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==" + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.3.tgz", + "integrity": "sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ==" }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz", - "integrity": "sha512-rPBnhj+WgoSmgq+4gQUtXx/vOcU+UYtjy1AA/aeD61Hwj410fwYyqfUcRP3lR8ucgliVJL/G7sXcNUecC75IXA==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.2.tgz", + "integrity": "sha512-b1AM4F6fwck4N8ItZ/AtC4FP/cqZqmKRQ4FaTDutwSYyjuhtvsGEMLK4N/ztV/ImP40BjIDyMgBQAeAMsQYVFQ==" }, "@babel/plugin-proposal-class-properties": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==" }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.2.tgz", + "integrity": "sha512-1JAZtUrqYyGsS7IDmFeaem+/LJqujfLZ2weLR9ugB0ufUPjzf8cguyVT1g5im7f7RXxuLq1xUxEzvm68uYRtGg==" + }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", - "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz", + "integrity": "sha512-ebR0zU9OvI2N4qiAC38KIAK75KItpIPTpAtd2r4OZmMFeKbKJpUFLYP2EuDut82+BmYi8sz42B+TfTptJ9iG5Q==" }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", - "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.2.tgz", + "integrity": "sha512-hBIQFxwZi8GIp934+nj5uV31mqclC1aYDhctDu5khTi9PCCUOczyy0b34W0oE9U/eJXiqQaKyVsmjeagOaSlbw==" }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", - "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.2.tgz", + "integrity": "sha512-XtkJsmJtBaUbOxZsNk0Fvrv8eiqgneug0A6aqLFZ4TSkar2L5dSXWcnUKHgmjJt49pyB/6ZHvkr3dPgl9MOWRQ==" }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz", - "integrity": "sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.2.tgz", + "integrity": "sha512-qQByMRPwMZJainfig10BoaDldx/+VDtNcrA7qdNaEOAj6VXud+gfrkA8j4CRAU5HjnWREXqIpSpH30qZX1xivA==" }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", @@ -203,6 +208,11 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==" }, + "@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==" + }, "@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", @@ -239,14 +249,14 @@ "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==" }, "@babel/plugin-transform-block-scoping": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", - "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.2.tgz", + "integrity": "sha512-neZZcP19NugZZqNwMTH+KoBjx5WyvESPSIOQb4JHpfd+zPfqcH65RMu5xJju5+6q/Y2VzYrleQTr+b6METyyxg==" }, "@babel/plugin-transform-classes": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", - "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.2.tgz", + "integrity": "sha512-7oafAVcucHquA/VZCsXv/gmuiHeYd64UJyyTYU+MPfNu0KeNlxw06IeENBO8bJjXVbolu+j1MM5aKQtH1OMCNg==" }, "@babel/plugin-transform-computed-properties": { "version": "7.13.0", @@ -254,9 +264,9 @@ "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==" }, "@babel/plugin-transform-destructuring": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz", - "integrity": "sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==" + "version": "7.13.17", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", + "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==" }, "@babel/plugin-transform-exponentiation-operator": { "version": "7.12.13", @@ -274,9 +284,9 @@ "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==" }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", - "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==" + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz", + "integrity": "sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==" }, "@babel/plugin-transform-object-super": { "version": "7.12.13", @@ -284,9 +294,9 @@ "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==" }, "@babel/plugin-transform-parameters": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", - "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.2.tgz", + "integrity": "sha512-NxoVmA3APNCC1JdMXkdYXuQS+EMdqy0vIwyDHeKHiJKRxmp1qGSdb0JLEIoPRhkx6H/8Qi3RJ3uqOCYw8giy9A==" }, "@babel/plugin-transform-property-literals": { "version": "7.12.13", @@ -294,14 +304,14 @@ "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==" }, "@babel/plugin-transform-react-display-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.13.tgz", - "integrity": "sha512-MprESJzI9O5VnJZrL7gg1MpdqmiFcUv41Jc7SahxYsNP2kDkFqClxxTZq+1Qv4AFCamm+GXMRDQINNn+qrxmiA==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.2.tgz", + "integrity": "sha512-zCubvP+jjahpnFJvPaHPiGVfuVUjXHhFvJKQdNnsmSsiU9kR/rCZ41jHc++tERD2zV+p7Hr6is+t5b6iWTCqSw==" }, "@babel/plugin-transform-react-jsx": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.13.12.tgz", - "integrity": "sha512-jcEI2UqIcpCqB5U5DRxIl0tQEProI2gcu+g8VTIqxLO5Iidojb4d77q+fwGseCvd8af/lJ9masp4QWzBXFE2xA==" + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.3.tgz", + "integrity": "sha512-uuxuoUNVhdgYzERiHHFkE4dWoJx+UFVyuAl0aqN8P2/AKFHwqgUC5w2+4/PjpKXJsFgBlYAFXlUmDQ3k3DUkXw==" }, "@babel/plugin-transform-react-jsx-development": { "version": "7.12.17", @@ -314,14 +324,14 @@ "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==" }, "@babel/plugin-transform-regenerator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", - "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==" + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", + "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==" }, "@babel/plugin-transform-runtime": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.10.tgz", - "integrity": "sha512-Y5k8ipgfvz5d/76tx7JYbKQTcgFSU6VgJ3kKQv4zGTKr+a9T/KBvfRvGtSFgKDQGt/DBykQixV0vNWKIdzWErA==" + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.3.tgz", + "integrity": "sha512-t960xbi8wpTFE623ef7sd+UpEC5T6EEguQlTBJDEO05+XwnIWVfuqLw/vdLWY6IdFmtZE+65CZAfByT39zRpkg==" }, "@babel/plugin-transform-shorthand-properties": { "version": "7.12.13", @@ -359,9 +369,9 @@ "integrity": "sha512-gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA==" }, "@babel/runtime": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz", - "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==" + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", + "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==" }, "@babel/template": { "version": "7.12.13", @@ -369,14 +379,19 @@ "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==" }, "@babel/traverse": { - "version": "7.13.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.13.tgz", - "integrity": "sha512-CblEcwmXKR6eP43oQGG++0QMTtCjAsa3frUuzHoiIJWpaIIi8dwMyEFUJoXRLxagGqCK+jALRwIO+o3R9p/uUg==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.2.tgz", + "integrity": "sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==" }, "@babel/types": { - "version": "7.13.14", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz", - "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==" + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.2.tgz", + "integrity": "sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==" + }, + "@meteorjs/babel": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@meteorjs/babel/-/babel-7.11.0.tgz", + "integrity": "sha512-/6qog7HOFSCs42/5Svw4VbchZ4B83E7hRwjP1mDPahHqDYer3rFAipYpI6ViM/RwZSeo4MHspHUJYkENYz+JLw==" }, "acorn": { "version": "6.4.2", @@ -489,19 +504,19 @@ "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=" }, "babel-plugin-polyfill-corejs2": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.10.tgz", - "integrity": "sha512-DO95wD4g0A8KRaHKi0D51NdGXzvpqVLnLu5BTvDlpqUEpTmeEtypgC1xqesORaWmiUOQI14UHKlzNd9iZ2G3ZA==" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", + "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==" }, "babel-plugin-polyfill-corejs3": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", - "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", + "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==" }, "babel-plugin-polyfill-regenerator": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.6.tgz", - "integrity": "sha512-OUrYG9iKPKz8NxswXbRAdSwF0GhRdIEMTloQATJi4bDuFqrXaXcCUT/VGNrr8pBcjMh1RxZ7Xt9cytVJTJfvMg==" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", + "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==" }, "babel-plugin-transform-inline-consecutive-adds": { "version": "0.4.3", @@ -559,9 +574,9 @@ "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=" }, "babel-preset-meteor": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.9.0.tgz", - "integrity": "sha512-SB2hGHZ2wKFiqaovO5DlgoYEUjNGP9FytZlLXppDKKP+TGpoGSQUyNhQ/ACSPFbTEBhKSuyV1LCEmHS+yK7FyQ==" + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/babel-preset-meteor/-/babel-preset-meteor-7.10.0.tgz", + "integrity": "sha512-bcdNfRCQAjTV42cUcmaG5/ltLZZQLpZajUcP+o0Lr+aLTY/XLNkGfASM5383wdXiAkEFl0sDOXeknnLlQtrmdg==" }, "babel-preset-minify": { "version": "0.5.1", @@ -569,9 +584,9 @@ "integrity": "sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==" }, "browserslist": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", - "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==" + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==" }, "call-bind": { "version": "1.0.2", @@ -579,9 +594,9 @@ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" }, "caniuse-lite": { - "version": "1.0.30001205", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001205.tgz", - "integrity": "sha512-TL1GrS5V6LElbitPazidkBMD9sa448bQDDLrumDqaggmKFcuU2JW1wTOHJPukAcOMtEmLcmDJEzfRrf+GjM0Og==" + "version": "1.0.30001228", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz", + "integrity": "sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==" }, "chalk": { "version": "2.4.2", @@ -609,9 +624,9 @@ "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==" }, "core-js-compat": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.10.0.tgz", - "integrity": "sha512-9yVewub2MXNYyGvuLnMHcN1k9RkvB7/ofktpeKTIaASyB88YYqGzUnu0ywMMhJrDHOMiTjSHWGzR+i7Wb9Z1kQ==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.12.1.tgz", + "integrity": "sha512-i6h5qODpw6EsHAoIdQhKoZdWn+dGBF3dSS8m5tif36RlWvW3A6+yu2S16QHUo3CrkzrnEskMAt9f8FxmY9fhWQ==", "dependencies": { "semver": { "version": "7.0.0", @@ -631,9 +646,9 @@ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==" }, "electron-to-chromium": { - "version": "1.3.703", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.703.tgz", - "integrity": "sha512-SVBVhNB+4zPL+rvtWLw7PZQkw/Eqj1HQZs22xtcqW36+xoifzEOEEDEpkxSMfB6RFeSIOcG00w6z5mSqLr1Y6w==" + "version": "1.3.734", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.734.tgz", + "integrity": "sha512-iQF2mjPZ6zNNq45kbJ6MYZYCBNdv2JpGiJC/lVx4tGJWi9MNg73KkL9sWGN4X4I/CP2SBLWsT8nPADZZpAHIyw==" }, "escalade": { "version": "3.1.1", @@ -686,9 +701,9 @@ "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" }, "is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==" }, "js-tokens": { "version": "4.0.0", @@ -720,11 +735,6 @@ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==" }, - "meteor-babel": { - "version": "7.10.7", - "resolved": "https://registry.npmjs.org/meteor-babel/-/meteor-babel-7.10.7.tgz", - "integrity": "sha512-Ed9ckTjKjItwWA15AANvGpLKP1LwW8xiyt1kAEOGVVRjtBraLbt7U0dm1meT5jSRF53A5bk+aQtlReninIDf8A==" - }, "meteor-babel-helpers": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/meteor-babel-helpers/-/meteor-babel-helpers-0.0.3.tgz", @@ -741,9 +751,9 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==" + "version": "1.1.72", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.72.tgz", + "integrity": "sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==" }, "object-keys": { "version": "1.1.1", @@ -850,9 +860,9 @@ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, "typescript": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz", - "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==" + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", + "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==" }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", From 21c5f6a0923914d5677ecbe387a41e67c5e4f4bc Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Thu, 20 May 2021 21:40:00 +0200 Subject: [PATCH 140/182] Update history & finish removal of deprecated package API And correct versions for release --- History.md | 34 +++++++++++++++++++++++++++ packages/accounts-base/package.js | 2 +- packages/accounts-password/package.js | 2 +- packages/ddp-client/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/ddp-server/stream_server.js | 2 +- packages/meteor-base/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/mongo/package.js | 2 +- packages/oauth/package.js | 2 +- tools/isobuild/package-api.js | 1 - tools/isobuild/package-namespace.js | 21 ----------------- 12 files changed, 43 insertions(+), 31 deletions(-) diff --git a/History.md b/History.md index b6c570eda9..289110b39e 100644 --- a/History.md +++ b/History.md @@ -1,5 +1,36 @@ ## v2.3.0, UNRELEASED +### 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 + +* `ddp-client@2.5.0` + - Removed backward compatibility method names for Meteor before 1.0 + +* `ddp-server@2.5.0` + - Removed backward compatibility method names for Meteor before 1.0 + +* `meteor-base@2.0.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 `OAuth.initiateLogin` and other functionality like the addition of `?close` in return URI for deprecated OAuth flow pre Meteor 1.0 + #### Independent Releases * Updated `ddp-server@2.3.3` and `socket-stream-client@0.3.2` dependencies which removes Node's HTTP deprecation warning. @@ -16,6 +47,9 @@ * `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. ## v2.2, 2021-04-15 diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index d494e1b3ba..874881c7e3 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "A user account system", - version: "1.9.0", + version: "2.0.0-beta230.1", }); Package.onUse(api => { diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index 79734312af..69df62a9d1 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: "1.8.0" + version: "2.0.0-beta230.1" }); Package.onUse(api => { diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index ec6a76bdae..8ce88a4104 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '2.4.1', + version: '2.5.0-beta230.1', documentation: null }); diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index 787c22d8e2..3a84a21baa 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.3.3', + version: '2.4.0-beta230.0', documentation: null }); diff --git a/packages/ddp-server/stream_server.js b/packages/ddp-server/stream_server.js index a949633a96..8b6094de35 100644 --- a/packages/ddp-server/stream_server.js +++ b/packages/ddp-server/stream_server.js @@ -154,7 +154,7 @@ _.extend(StreamServer.prototype, { // (meaning prior to any connect middlewares) so we need to take // an approach similar to overshadowListeners in // https://github.com/sockjs/sockjs-node/blob/cf820c55af6a9953e16558555a31decea554f70e/src/utils.coffee - _.each(['request', 'upgrade'], function(event) { + ['request', 'upgrade'].forEach(function(event) { var httpServer = WebApp.httpServer; var oldHttpServerListeners = httpServer.listeners(event).slice(0); httpServer.removeAllListeners(event); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 3e47ccc3b1..7b3d2e9c73 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0', + version: '2.0.0-beta230.1', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index c5e07aecbe..8ab78505b1 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.6.2' + version: '1.7.0-beta230.1' }); Package.onUse(api => { diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 3a7807aca0..3814ee3527 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.11.1' + version: '1.12.0-beta230.0' }); Npm.depends({ diff --git a/packages/oauth/package.js b/packages/oauth/package.js index 2a891f3d41..178df9843d 100644 --- a/packages/oauth/package.js +++ b/packages/oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth-based services", - version: "2.0.0" + version: "2.0.0-beta230.1" }); Package.onUse(api => { diff --git a/tools/isobuild/package-api.js b/tools/isobuild/package-api.js index 186b1841d1..43232e81c8 100644 --- a/tools/isobuild/package-api.js +++ b/tools/isobuild/package-api.js @@ -1,4 +1,3 @@ -var assert = require("assert"); var _ = require("underscore"); var buildmessage = require('../utils/buildmessage.js'); var utils = require('../utils/utils.js'); diff --git a/tools/isobuild/package-namespace.js b/tools/isobuild/package-namespace.js index 8128a1ec02..55222da02a 100644 --- a/tools/isobuild/package-namespace.js +++ b/tools/isobuild/package-namespace.js @@ -175,13 +175,6 @@ export class PackageNamespace { } } - /** - * @deprecated in 0.9.0 - */ - on_use(f) { - this.onUse(f); - } - /** * @summary Define dependencies and expose package methods for unit tests. * @locus package.js @@ -212,13 +205,6 @@ export class PackageNamespace { } } - /** - * @deprecated in 0.9.0 - */ - on_test(f) { - this.onTest(f); - } - // Define a plugin. A plugin extends the build process for // targets that use this package. For example, a Coffeescript // compiler would be a plugin. A plugin is its own little @@ -294,13 +280,6 @@ export class PackageNamespace { pluginInfo[options.name] = options; } - /** - * @deprecated in 0.9.4 - */ - _transitional_registerBuildPlugin(options) { - this.registerBuildPlugin(options); - } - includeTool() { const source = this._packageSource; if (! inCheckout()) { From 7955900aeb633e666f5ddbbaa61d45f7bf179168 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 21 May 2021 12:41:34 +0200 Subject: [PATCH 141/182] Display deprecated message on adding a deprecated package --- tools/cli/commands-packages.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/cli/commands-packages.js b/tools/cli/commands-packages.js index a83a142dd8..10bf7c8ced 100644 --- a/tools/cli/commands-packages.js +++ b/tools/cli/commands-packages.js @@ -219,7 +219,7 @@ var updatePackageMetadata = function (packageSource, conn) { // Refresh, so that we actually learn about the thing we just published. refreshOfficialCatalogOrDie(); return 0; -} +}; main.registerCommand({ name: 'publish', @@ -2302,9 +2302,18 @@ main.registerCommand({ var version = projectContext.packageMap.getInfo(constraint.package).version; var versionRecord = projectContext.projectCatalog.getVersion( constraint.package, version); + var deprecatedMessage = "" + if (versionRecord.deprecated) { + if (versionRecord.deprecatedMessage) { + deprecatedMessage = ` - DEPRECATED: ${versionRecord.deprecatedMessage}` + } else { + deprecatedMessage = ' - DEPRECATED' + } + } Console.info( constraint.package + - (versionRecord.description ? (": " + versionRecord.description) : "")); + (versionRecord.description ? (": " + versionRecord.description) : "") + deprecatedMessage + ); }); return exitCode; From eb63b9a44001d4524f11173d85dfeaa8dbce40b9 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 21 May 2021 15:20:52 +0200 Subject: [PATCH 142/182] Fix history --- History.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/History.md b/History.md index e694f3c5d7..469807e554 100644 --- a/History.md +++ b/History.md @@ -2,15 +2,11 @@ #### Highlights -* Node.js update to 14.17.0 from 12.22.1 :tada: +* Node.js update to 14.17.0 from 12.22.1 🎉 * Typescript update to 4.2.4 -* New env variable `METEOR_TOOL_ENABLE_REIFY_RUNTIME_CACHE` to improve runtime performance on restarts. - -* New flag `--platforms` has been added to the `build` command to specify the platform you want to build for. `meteor build . --platforms=android`. - -* Skeletons dependencies updated to latest version +* Packages had their backward compatibility to before Meteor 1.0 removed. See bellow for more details. ### Breaking changes @@ -32,6 +28,9 @@ - New env variable `METEOR_TOOL_ENABLE_REIFY_RUNTIME_CACHE` that improves restarts by caching reify data. This new cache should help with runtime performance when restarting server, but it is not yet ready for general use. By default it is disabled but you can enable it setting `true` in this env var. Learn 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`). + - New env variable `METEOR_TOOL_ENABLE_REIFY_RUNTIME_CACHE` to improve runtime performance on restarts. + - New flag `--platforms` has been added to the `build` command to specify the platform you want to build for. `meteor build . --platforms=android`. + - Skeletons dependencies updated to latest version * `launch-screen@1.3.0` - Removes LaunchScreen from web clients. From cbd654e2b0532c26e8fc4d9b2af784817da65cd0 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 21 May 2021 15:55:28 +0200 Subject: [PATCH 143/182] beta230.1 -> beta230.0 --- packages/accounts-base/package.js | 2 +- packages/accounts-password/package.js | 2 +- packages/ddp-client/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/oauth/package.js | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index 874881c7e3..8be85acf6b 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "A user account system", - version: "2.0.0-beta230.1", + version: "2.0.0-beta230.0", }); Package.onUse(api => { diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index 69df62a9d1..ac5b891128 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.0.0-beta230.1" + version: "2.0.0-beta230.0" }); Package.onUse(api => { diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 8ce88a4104..9607551f48 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '2.5.0-beta230.1', + version: '2.5.0-beta230.0', documentation: null }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 7b3d2e9c73..d89ab8198e 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '2.0.0-beta230.1', + version: '2.0.0-beta230.0', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index 8ab78505b1..5fd8802018 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.7.0-beta230.1' + version: '1.7.0-beta230.0' }); Package.onUse(api => { diff --git a/packages/oauth/package.js b/packages/oauth/package.js index 178df9843d..10063cded2 100644 --- a/packages/oauth/package.js +++ b/packages/oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth-based services", - version: "2.0.0-beta230.1" + version: "2.0.0-beta230.0" }); Package.onUse(api => { From 386076a7d37e67da1de9d410e932456149adf3cb Mon Sep 17 00:00:00 2001 From: jirkakrepl Date: Fri, 21 May 2021 16:16:32 +0200 Subject: [PATCH 144/182] refactor: lazy import for markdown package markdown pacakge will not be added to the initial bundle to use {{#markdown}}...{{/markdown}} import it first with: import 'meteor/markdown'; --- packages/deprecated/markdown/package.js | 6 ++---- packages/deprecated/markdown/showdown.js | 4 ++-- packages/deprecated/markdown/template-integration.js | 2 ++ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/deprecated/markdown/package.js b/packages/deprecated/markdown/package.js index acae2f89d3..d1116e3e7a 100644 --- a/packages/deprecated/markdown/package.js +++ b/packages/deprecated/markdown/package.js @@ -6,11 +6,9 @@ Package.describe({ }); Package.onUse(function (api) { - api.addFiles("showdown.js"); - api.export('Showdown'); - + api.use('ecmascript'); api.use("templating@1.3.1", "client", {weak: true}); - api.addFiles('template-integration.js', 'client'); + api.mainModule('template-integration.js', 'client', { lazy: true }); }); Package.onTest(function (api) { diff --git a/packages/deprecated/markdown/showdown.js b/packages/deprecated/markdown/showdown.js index f86bb4dafd..eab66e57c2 100644 --- a/packages/deprecated/markdown/showdown.js +++ b/packages/deprecated/markdown/showdown.js @@ -65,7 +65,7 @@ // Showdown namespace // // METEOR CHANGE: remove "var" so that this isn't file-local. -Showdown = { extensions: {} }; +export const Showdown = { extensions: {} }; // // forEach @@ -121,7 +121,7 @@ var g_output_modifiers = []; if (typeof module !== 'undefined' && typeof exports !== 'undefined' && typeof require !== 'undefined') { var fs = require('fs'); - if (fs) { + if (fs && fs.readdirSync) { // Search extensions folder var extensions = fs.readdirSync((__dirname || '.')+'/extensions').filter(function(file){ return ~file.indexOf('.js'); diff --git a/packages/deprecated/markdown/template-integration.js b/packages/deprecated/markdown/template-integration.js index ca65070647..ac18f486b5 100644 --- a/packages/deprecated/markdown/template-integration.js +++ b/packages/deprecated/markdown/template-integration.js @@ -1,3 +1,5 @@ +import { Showdown } from './showdown'; + if (Package.templating) { var Template = Package.templating.Template; var Blaze = Package.blaze.Blaze; // implied by `templating` From db058ce9adb5b011b7046f7a7d870297020d6cba Mon Sep 17 00:00:00 2001 From: jirkakrepl Date: Fri, 21 May 2021 16:57:35 +0200 Subject: [PATCH 145/182] refactor: templating bump@1.4.0, Readme update --- packages/deprecated/markdown/README.md | 6 ++++-- packages/deprecated/markdown/package.js | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/deprecated/markdown/README.md b/packages/deprecated/markdown/README.md index 9353449870..10fd06977b 100644 --- a/packages/deprecated/markdown/README.md +++ b/packages/deprecated/markdown/README.md @@ -1,5 +1,7 @@ # markdown -[Source code of released version](https://github.com/meteor/meteor/tree/master/packages/markdown) | [Source code of development version](https://github.com/meteor/meteor/tree/devel/packages/markdown) +[Source code of released version](https://github.com/jirikrepl/meteor/tree/master/packages/deprecated/markdown) | [Source code of development version](https://github.com/jirikrepl/meteor/tree/devel/packages/deprecated/markdown) *** -This is an internal Meteor package. \ No newline at end of file +This is an internal Meteor package. + +[How to use it at Meteor Docs](https://docs.meteor.com/packages/markdown.html) diff --git a/packages/deprecated/markdown/package.js b/packages/deprecated/markdown/package.js index d1116e3e7a..ff2b37c8b2 100644 --- a/packages/deprecated/markdown/package.js +++ b/packages/deprecated/markdown/package.js @@ -7,7 +7,7 @@ Package.describe({ Package.onUse(function (api) { api.use('ecmascript'); - api.use("templating@1.3.1", "client", {weak: true}); + api.use("templating@1.4.0", "client", {weak: true}); api.mainModule('template-integration.js', 'client', { lazy: true }); }); From 4c5c29ba77809b717066e2dd36c9e5d43e55a220 Mon Sep 17 00:00:00 2001 From: jirkakrepl Date: Fri, 21 May 2021 17:01:55 +0200 Subject: [PATCH 146/182] fix: url of markdown package in readme.md --- packages/deprecated/markdown/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/deprecated/markdown/README.md b/packages/deprecated/markdown/README.md index 10fd06977b..4cd4a46501 100644 --- a/packages/deprecated/markdown/README.md +++ b/packages/deprecated/markdown/README.md @@ -1,5 +1,5 @@ # markdown -[Source code of released version](https://github.com/jirikrepl/meteor/tree/master/packages/deprecated/markdown) | [Source code of development version](https://github.com/jirikrepl/meteor/tree/devel/packages/deprecated/markdown) +[Source code of released version](https://github.com/meteor/meteor/tree/master/packages/deprecated/markdown) | [Source code of development version](https://github.com/meteor/meteor/tree/devel/packages/deprecated/markdown) *** This is an internal Meteor package. From 95b089b653365ecc01f53e1c46595be6364e0a64 Mon Sep 17 00:00:00 2001 From: Vlad Lasky Date: Mon, 24 May 2021 09:42:52 +1000 Subject: [PATCH 147/182] Optional environment variable UNIX_SOCKET_PERMISSIONS will now set the permissions on the UNIX_SOCKET_FILE. --- packages/webapp/webapp_server.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index 64097a9d12..b13a5d3548 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -1,5 +1,6 @@ import assert from "assert"; import { readFileSync } from "fs"; +import { chmodSync } from "fs"; import { createServer } from "http"; import { join as pathJoin, @@ -1190,6 +1191,18 @@ function runWebAppServer() { // Start the HTTP server using a socket file. removeExistingSocketFile(unixSocketPath); startHttpServer({ path: unixSocketPath }); + + let unixSocketPermissions = process.env.UNIX_SOCKET_PERMISSIONS; + if (unixSocketPermissions) { + unixSocketPermissions = unixSocketPermissions.trim(); + + if (/^[0-7]{3}$/.test(unixSocketPermissions)) { + chmodSync(unixSocketPath, parseInt(unixSocketPermissions,8)); + } else { + throw new Error("Invalid UNIX_SOCKET_PERMISSIONS specified"); + } + } + registerSocketFileCleanup(unixSocketPath); } else { localPort = isNaN(Number(localPort)) ? localPort : Number(localPort); From ca948ac9281528b608330a8866d67dc736220f52 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Mon, 24 May 2021 13:52:04 +0200 Subject: [PATCH 148/182] Revert version updates for packages so that tests may pass --- packages/accounts-base/package.js | 2 +- packages/accounts-password/package.js | 2 +- packages/ddp-client/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/mongo/package.js | 2 +- packages/oauth/package.js | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index 8be85acf6b..d494e1b3ba 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "A user account system", - version: "2.0.0-beta230.0", + version: "1.9.0", }); Package.onUse(api => { diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index ac5b891128..79734312af 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.0.0-beta230.0" + version: "1.8.0" }); Package.onUse(api => { diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 9607551f48..ec6a76bdae 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '2.5.0-beta230.0', + version: '2.4.1', documentation: null }); diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index 3a84a21baa..787c22d8e2 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.4.0-beta230.0', + version: '2.3.3', documentation: null }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index d89ab8198e..3e47ccc3b1 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '2.0.0-beta230.0', + version: '1.4.0', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index 5fd8802018..c5e07aecbe 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.7.0-beta230.0' + version: '1.6.2' }); Package.onUse(api => { diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 3814ee3527..3a7807aca0 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.12.0-beta230.0' + version: '1.11.1' }); Npm.depends({ diff --git a/packages/oauth/package.js b/packages/oauth/package.js index 10063cded2..3bfda574c0 100644 --- a/packages/oauth/package.js +++ b/packages/oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth-based services", - version: "2.0.0-beta230.0" + version: "1.3.2" }); Package.onUse(api => { From 1896a687909718dac76eb9fb7a1c7b041919a816 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Mon, 24 May 2021 16:46:11 +0200 Subject: [PATCH 149/182] Update server-render npm dependies (#11439) --- packages/server-render/package.js | 6 +++--- packages/server-render/server-register.js | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/server-render/package.js b/packages/server-render/package.js index 432afae1b2..d2aa70c483 100644 --- a/packages/server-render/package.js +++ b/packages/server-render/package.js @@ -7,9 +7,9 @@ Package.describe({ Npm.depends({ "combined-stream2": "1.1.2", - "magic-string": "0.21.3", - "stream-to-string": "1.1.0", - "parse5": "3.0.2" + "magic-string": "0.25.7", + "stream-to-string": "1.2.0", + "parse5": "4.0.0" }); Package.onUse(function(api) { diff --git a/packages/server-render/server-register.js b/packages/server-render/server-register.js index ee2eae69ed..8a6eec66ca 100644 --- a/packages/server-render/server-register.js +++ b/packages/server-render/server-register.js @@ -2,7 +2,7 @@ import { WebAppInternals } from "meteor/webapp"; import MagicString from "magic-string"; import { SAXParser } from "parse5"; import { create as createStream } from "combined-stream2"; -import { ServerSink, isReadable } from "./server-sink.js"; +import { ServerSink } from "./server-sink.js"; import { onPageLoad } from "./server.js"; WebAppInternals.registerBoilerplateDataCallback( @@ -62,7 +62,7 @@ WebAppInternals.registerBoilerplateDataCallback( const end = magic.slice(lastStart); stream.append(Buffer.from(end, "utf8")); } - }) + }); data[property] = stream; } From d6a347bcf6e9d8d2ba6fa1676a96626b9b51b164 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Mon, 24 May 2021 16:53:22 +0200 Subject: [PATCH 150/182] Add beta to newly updated packages & history entries --- History.md | 9 ++++++++- packages/deprecated/markdown/package.js | 3 ++- packages/server-render/package.js | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/History.md b/History.md index dbe292bf58..868fa795c6 100644 --- a/History.md +++ b/History.md @@ -26,7 +26,7 @@ #### Meteor Version Release * `meteor-tool@2.3` - - Node.js update to 14.17.0 from 12.22.1 :tada: + - Node.js update to 14.17.0 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. - New env variable `METEOR_TOOL_ENABLE_REIFY_RUNTIME_CACHE` that improves restarts by caching reify data. This new cache should help with runtime performance when restarting server, but it is not yet ready for general use. By default it is disabled but you can enable it setting `true` in this env var. Learn more in the [PR](https://github.com/meteor/meteor/pull/11400). @@ -46,6 +46,13 @@ * `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 + +* `markdown@2.0.0` + - Use lazy imports to prevent it from being added to the initial bundle + - Added deprecation flag + #### Independent Releases * `ddp-server@2.3.3` diff --git a/packages/deprecated/markdown/package.js b/packages/deprecated/markdown/package.js index ff2b37c8b2..2cb4966e7f 100644 --- a/packages/deprecated/markdown/package.js +++ b/packages/deprecated/markdown/package.js @@ -2,7 +2,8 @@ Package.describe({ summary: "Markdown-to-HTML processor", - version: "1.0.14" + version: "2.0.0-beta230.0", + deprecated: true }); Package.onUse(function (api) { diff --git a/packages/server-render/package.js b/packages/server-render/package.js index d2aa70c483..5140b1c26e 100644 --- a/packages/server-render/package.js +++ b/packages/server-render/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "server-render", - version: "0.3.1", + version: "0.4.0-beta230.0", summary: "Generic support for server-side rendering in Meteor apps", documentation: "README.md" }); From d303adc44b2f873d26fe7a38d8dfc9cd8d7ed7e8 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Tue, 25 May 2021 13:40:51 +0200 Subject: [PATCH 151/182] Add test for meteor-developer login,... slight modernization of ddp-server and imports in tinytest_server --- packages/accounts-base/accounts_tests.js | 27 ++++++++++++++++++++++++ packages/ddp-server/livedata_server.js | 8 +++---- packages/tinytest/tinytest_server.js | 3 +++ 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/packages/accounts-base/accounts_tests.js b/packages/accounts-base/accounts_tests.js index b711bc9a9c..1d9475cb23 100644 --- a/packages/accounts-base/accounts_tests.js +++ b/packages/accounts-base/accounts_tests.js @@ -1,6 +1,7 @@ import { URL } from 'meteor/url'; import { Meteor } from 'meteor/meteor'; import { Accounts } from 'meteor/accounts-base'; +import { Random } from 'meteor/random'; Meteor.methods({ getCurrentLoginToken: function () { @@ -111,6 +112,32 @@ Tinytest.add('accounts - updateOrCreateUserFromExternalService - Facebook', test Meteor.users.remove(uid1); }); +Tinytest.add('accounts - updateOrCreateUserFromExternalService - Meteor Developer', test => { + const developerId = Random.id(); + const uid1 = Accounts.updateOrCreateUserFromExternalService( + 'meteor-developer', + { id: developerId, username: 'meteor-developer' }, + { profile: { name: 'meteor-developer' } } + ).id; + const users1 = Meteor.users.find({ 'services.meteor-developer.id': developerId }).fetch(); + test.length(users1, 1); + test.equal(users1[0].profile.name, 'meteor-developer'); + + const uid2 = Accounts.updateOrCreateUserFromExternalService( + 'meteor-developer', + { id: developerId, username: 'meteor-developer' }, + { profile: { name: 'meteor-developer', username: 'developer' } } + ).id; + test.equal(uid1, uid2); + const users2 = Meteor.users.find({ 'services.meteor-developer.id': developerId }).fetch(); + test.length(users2, 1); + test.equal(users1[0].profile.name, 'meteor-developer'); + test.equal(users1[0].profile.username, undefined); + + // cleanup + Meteor.users.remove(uid1); +}); + Tinytest.add('accounts - updateOrCreateUserFromExternalService - Weibo', test => { const weiboId1 = Random.id(); const weiboId2 = Random.id(); diff --git a/packages/ddp-server/livedata_server.js b/packages/ddp-server/livedata_server.js index 6ca24210d1..99aa5a89ed 100644 --- a/packages/ddp-server/livedata_server.js +++ b/packages/ddp-server/livedata_server.js @@ -119,7 +119,7 @@ var SessionCollectionView = function (collectionName, sessionCallbacks) { DDPServer._SessionCollectionView = SessionCollectionView; -_.extend(SessionCollectionView.prototype, { +Object.assign(SessionCollectionView.prototype, { isEmpty: function () { var self = this; @@ -324,7 +324,7 @@ var Session = function (server, version, socket, options) { "livedata", "sessions", 1); }; -_.extend(Session.prototype, { +Object.assign(Session.prototype, { sendReady: function (subscriptionIds) { var self = this; @@ -1045,7 +1045,7 @@ var Subscription = function ( "livedata", "subscriptions", 1); }; -_.extend(Subscription.prototype, { +Object.assign(Subscription.prototype, { _runHandler: function () { // XXX should we unblock() here? Either before running the publish // function, or before running _publishCursor. @@ -1438,7 +1438,7 @@ Server = function (options) { }); }; -_.extend(Server.prototype, { +Object.assign(Server.prototype, { /** * @summary Register a callback to be called when a new DDP connection is made to the server. diff --git a/packages/tinytest/tinytest_server.js b/packages/tinytest/tinytest_server.js index 5eabde9463..d20274a7f8 100644 --- a/packages/tinytest/tinytest_server.js +++ b/packages/tinytest/tinytest_server.js @@ -1,4 +1,7 @@ import { Tinytest } from "./tinytest.js"; +import { check, Match } from "meteor/check"; +import { Random } from "meteor/random"; +import { Meteor } from "meteor/meteor"; import { ServerTestResultsSubscription, ServerTestResultsCollection, From f82685d0c8c1d3b0bbb02b4e826222e123ffd506 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Tue, 25 May 2021 16:32:29 +0200 Subject: [PATCH 152/182] Remove IE8 check from socket-stream-client And change error reporting to use console.error --- History.md | 3 +++ packages/socket-stream-client/browser.js | 14 ++++++-------- packages/socket-stream-client/server-tests.js | 1 + 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/History.md b/History.md index 5b8dc74c5d..a9936a1a96 100644 --- a/History.md +++ b/History.md @@ -83,6 +83,9 @@ - Use lazy imports to prevent it from being added to the initial bundle - Added deprecation flag +* `socket-stream-client@0.4.0` + - Remove IE8 checks + #### Independent Releases * `ddp-server@2.3.3` diff --git a/packages/socket-stream-client/browser.js b/packages/socket-stream-client/browser.js index 3296796804..ca8dbcb3fc 100644 --- a/packages/socket-stream-client/browser.js +++ b/packages/socket-stream-client/browser.js @@ -39,13 +39,11 @@ export class ClientStream extends StreamClientCommon { this.heartbeatTimer = null; // Listen to global 'online' event if we are running in a browser. - // (IE8 does not support addEventListener) - if (typeof window !== 'undefined' && window.addEventListener) - window.addEventListener( - 'online', - this._online.bind(this), - false /* useCapture. make FF3.6 happy. */ - ); + window.addEventListener( + 'online', + this._online.bind(this), + false /* useCapture */ + ); //// Kickoff! this._launchConnection(); @@ -196,7 +194,7 @@ export class ClientStream extends StreamClientCommon { const { lastError } = this; this.lastError = error; if (lastError) return; - console.log( + console.error( 'stream error', error, new Date().toDateString() diff --git a/packages/socket-stream-client/server-tests.js b/packages/socket-stream-client/server-tests.js index aa1ad157b6..6f78422168 100644 --- a/packages/socket-stream-client/server-tests.js +++ b/packages/socket-stream-client/server-tests.js @@ -1,3 +1,4 @@ +import { Meteor } from "meteor/meteor"; import { ClientStream } from "meteor/socket-stream-client"; import Fiber from "fibers"; From 05011de6afb86dfefd45b72ac435ec844a1adf03 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Tue, 25 May 2021 21:18:32 +0200 Subject: [PATCH 153/182] Remove two test that are no longer needed --- packages/ddp-server/stream_server.js | 4 ++-- packages/socket-stream-client/client-tests.js | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/ddp-server/stream_server.js b/packages/ddp-server/stream_server.js index 8b6094de35..d1a68529d3 100644 --- a/packages/ddp-server/stream_server.js +++ b/packages/ddp-server/stream_server.js @@ -121,14 +121,14 @@ StreamServer = function () { // call all our callbacks when we get a new socket. they will do the // work of setting up handlers and such for specific messages. - self.registration_callbacks.forEach((callback) => { + _.each(self.registration_callbacks, function (callback) { callback(socket); }); }); }; -_.extend(StreamServer.prototype, { +Object.assign(StreamServer.prototype, { // call my callback when a new socket connects. // also call it for all current connections. register: function (callback) { diff --git a/packages/socket-stream-client/client-tests.js b/packages/socket-stream-client/client-tests.js index 3d207cd007..2cda87bb01 100644 --- a/packages/socket-stream-client/client-tests.js +++ b/packages/socket-stream-client/client-tests.js @@ -1,3 +1,7 @@ +import { Meteor } from "meteor/meteor"; +import { Tracker } from "meteor/tracker"; +import { _ } from "meteor/underscore"; +import { HTTP } from "meteor/http"; import { toSockjsUrl } from "./urls.js"; import { ClientStream } from "meteor/socket-stream-client"; @@ -7,9 +11,6 @@ Tinytest.add('stream - status', function(test) { var status = Meteor.status(); test.equal(typeof status, 'object'); test.isTrue(status.status); - // Make sure backward-compatiblity names are defined. - test.equal(status.retryCount, status.retryCount); - test.equal(status.retryTime, status.retryTime); }); testAsyncMulti('stream - reconnect', [ @@ -179,7 +180,7 @@ testAsyncMulti('stream - /websocket is a websocket endpoint', [ // // Verify that /websocket and /websocket/ don't return the main page // - _.each(['/websocket', '/websocket/'], function(path) { + ['/websocket', '/websocket/'].forEach(function(path) { HTTP.get( Meteor._relativeToSiteRootUrl(path), expect(function(error, result) { @@ -207,7 +208,7 @@ testAsyncMulti('stream - /websocket is a websocket endpoint', [ test.isNull(error); pageContent = result.content; - _.each(['/websockets', '/websockets/'], function(path) { + ['/websockets', '/websockets/'].forEach(function(path) { HTTP.get(Meteor._relativeToSiteRootUrl(path), wrappedCallback); }); }) From c2081e29f107803b476916c6d2b5d9f493ac7dd5 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 26 May 2021 21:14:35 +0200 Subject: [PATCH 154/182] Update history on meteor-tool updated dependencies --- History.md | 24 +++++++++++++++++++++++- scripts/dev-bundle-server-package.js | 2 +- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/History.md b/History.md index 83d9c75a67..1cb04f386c 100644 --- a/History.md +++ b/History.md @@ -28,7 +28,29 @@ * `meteor-tool@2.3` - Node.js update to 14.17.0 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. + - `npm` update to 6.14.13. + - `fibers` has been updated to v5.0.0. + - `promise` has been updated to v8.1.0. + - `underscore` has been updated to v1.11.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.13.17. + - `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. + - `optimism` has been updated to v0.12.2. + - `@wry/context` has been updated to v0.5.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. - New env variable `METEOR_TOOL_ENABLE_REIFY_RUNTIME_CACHE` that improves restarts by caching reify data. This new cache should help with runtime performance when restarting server, but it is not yet ready for general use. By default it is disabled but you can enable it setting `true` in this env var. Learn 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`). diff --git a/scripts/dev-bundle-server-package.js b/scripts/dev-bundle-server-package.js index b86a704bd3..79e45e8eb1 100644 --- a/scripts/dev-bundle-server-package.js +++ b/scripts/dev-bundle-server-package.js @@ -24,7 +24,7 @@ var packageJson = { // These are only used in dev mode (by shell.js) so end-users can avoid // needing to install them if they use `npm install --production`. devDependencies: { - split2: "2.2.0", + split2: "3.2.2", multipipe: "1.0.2", chalk: "0.5.1" } From b0b2eae0dcdc18951eca3e18d1e75d22dac7c710 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 26 May 2021 21:21:39 +0200 Subject: [PATCH 155/182] ddp-server@2.4.0 history entry --- History.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/History.md b/History.md index 1cb04f386c..896cfc1573 100644 --- a/History.md +++ b/History.md @@ -74,6 +74,9 @@ * `markdown@2.0.0` - Use lazy imports to prevent it from being added to the initial bundle - Added deprecation flag + +* `ddp-server@2.4.0` + - Added support for this.unblock() in Meteor.publish() context #### Independent Releases From ae1de6d4be93f30e7272968b242e2b6922394602 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 26 May 2021 21:24:27 +0200 Subject: [PATCH 156/182] Add Meteor import in socket-stream-client/urls --- packages/socket-stream-client/urls.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/socket-stream-client/urls.js b/packages/socket-stream-client/urls.js index 5f4c04f282..2bb89758af 100644 --- a/packages/socket-stream-client/urls.js +++ b/packages/socket-stream-client/urls.js @@ -1,3 +1,5 @@ +import { Meteor } from "meteor/meteor"; + // @param url {String} URL to Meteor app, eg: // "/" or "madewith.meteor.com" or "https://foo.meteor.com" // or "ddp+sockjs://ddp--****-foo.meteor.com/sockjs" From 8814a3ce8ee81a1023d74bcff1d20bf4ca8821b9 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 26 May 2021 21:58:19 +0200 Subject: [PATCH 157/182] Clean-up of ddp-client --- packages/ddp-client/common/livedata_connection.js | 14 +++++++------- packages/ddp-client/common/namespace.js | 1 - 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 5e0eb6a1bb..9d1ae8c377 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -160,7 +160,7 @@ export class Connection { // documents written by a given method's stub. keys are associated with // methods whose stub wrote at least one document, and whose data-done message // has not yet been received. - self._documentsWrittenByStub = Object.create(null); + self._documentsWrittenByStub = {}; // collection -> IdMap of "server document" object. A "server document" has: // - "document": the version of the document according the // server (ie, the snapshot before a stub wrote it, amended by any changes @@ -168,7 +168,7 @@ export class Connection { // It is undefined if we think the document does not exist // - "writtenByStubs": a set of method IDs whose stubs wrote to the document // whose "data done" messages have not yet been processed - self._serverDocuments = Object.create(null); + self._serverDocuments = {}; // Array of callbacks to be called after the next update of the local // cache. Used for: @@ -197,16 +197,16 @@ export class Connection { // Map from method ID -> true. Methods are removed from this when their // "data done" message is received, and we will not quiesce until it is // empty. - self._methodsBlockingQuiescence = Object.create(null); + self._methodsBlockingQuiescence = {}; // map from sub ID -> true for subs that were ready (ie, called the sub // ready callback) before reconnect but haven't become ready again yet - self._subsBeingRevived = Object.create(null); // map from sub._id -> true + self._subsBeingRevived = {}; // map from sub._id -> true // if true, the next data update should reset all stores. (set during // reconnect.) self._resetStores = false; // name -> array of updates for (yet to be created) collections - self._updatesForUnknownStores = Object.create(null); + self._updatesForUnknownStores = {}; // if we're blocking a migration, the retry func self._retryMigrate = null; @@ -216,7 +216,7 @@ export class Connection { self ); // Collection name -> array of messages. - self._bufferedWrites = Object.create(null); + self._bufferedWrites = {}; // When current buffer of updates must be flushed at, in ms timestamp. self._bufferedWritesFlushAt = null; // Timeout handle for the next processing of all pending writes @@ -236,7 +236,7 @@ export class Connection { // an error, XXX COMPAT WITH 1.0.3.1) // - stopCallback (an optional callback to call when the sub terminates // for any reason, with an error argument if an error triggered the stop) - self._subscriptions = Object.create(null); + self._subscriptions = {}; // Reactive userId. self._userId = null; diff --git a/packages/ddp-client/common/namespace.js b/packages/ddp-client/common/namespace.js index 1023247478..3fc0685eb6 100644 --- a/packages/ddp-client/common/namespace.js +++ b/packages/ddp-client/common/namespace.js @@ -1,6 +1,5 @@ import { DDPCommon } from 'meteor/ddp-common'; import { Meteor } from 'meteor/meteor'; -import { keys } from "meteor/ddp-common/utils.js"; import { Connection } from './livedata_connection.js'; From 9a9e90dbfc0942c2620efe3a2544c517d43bb770 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 26 May 2021 21:59:05 +0200 Subject: [PATCH 158/182] socket-stream-client cleanup --- packages/socket-stream-client/client-tests.js | 2 +- packages/socket-stream-client/node.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/socket-stream-client/client-tests.js b/packages/socket-stream-client/client-tests.js index 2cda87bb01..7210ac2323 100644 --- a/packages/socket-stream-client/client-tests.js +++ b/packages/socket-stream-client/client-tests.js @@ -180,7 +180,7 @@ testAsyncMulti('stream - /websocket is a websocket endpoint', [ // // Verify that /websocket and /websocket/ don't return the main page // - ['/websocket', '/websocket/'].forEach(function(path) { + ['/websocket', '/websocket/'].forEach((path) => { HTTP.get( Meteor._relativeToSiteRootUrl(path), expect(function(error, result) { diff --git a/packages/socket-stream-client/node.js b/packages/socket-stream-client/node.js index 72fd7b84fc..708c8a1711 100644 --- a/packages/socket-stream-client/node.js +++ b/packages/socket-stream-client/node.js @@ -20,8 +20,8 @@ export class ClientStream extends StreamClientCommon { this.client = null; // created in _launchConnection this.endpoint = endpoint; - this.headers = this.options.headers || Object.create(null); - this.npmFayeOptions = this.options.npmFayeOptions || Object.create(null); + this.headers = this.options.headers || {}; + this.npmFayeOptions = this.options.npmFayeOptions || {}; this._initCommon(this.options); From 9b5cba488e04924535d0e8c3c1a1ec15abf0c77a Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 26 May 2021 22:10:19 +0200 Subject: [PATCH 159/182] Bump dev-bundle to 14.17.0.1 --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 856b8c95e7..15cd67179a 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.17.0.0 +BUNDLE_VERSION=14.17.0.1 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From ffdac61282e5c10981d110ce8fd76fcb6dabc19b Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Wed, 26 May 2021 23:00:49 +0200 Subject: [PATCH 160/182] Fix undefined forEach error in tiny test --- packages/ddp-server/stream_server.js | 7 ++++--- packages/tinytest/tinytest_server.js | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/ddp-server/stream_server.js b/packages/ddp-server/stream_server.js index d1a68529d3..b931b86ec7 100644 --- a/packages/ddp-server/stream_server.js +++ b/packages/ddp-server/stream_server.js @@ -1,5 +1,3 @@ -var url = Npm.require('url'); - // By default, we use the permessage-deflate extension with default // configuration. If $SERVER_WEBSOCKET_COMPRESSION is set, then it must be valid // JSON. If it represents a falsey value, then we do not use permessage-deflate @@ -154,7 +152,7 @@ Object.assign(StreamServer.prototype, { // (meaning prior to any connect middlewares) so we need to take // an approach similar to overshadowListeners in // https://github.com/sockjs/sockjs-node/blob/cf820c55af6a9953e16558555a31decea554f70e/src/utils.coffee - ['request', 'upgrade'].forEach(function(event) { + ['request', 'upgrade'].forEach((event) => { var httpServer = WebApp.httpServer; var oldHttpServerListeners = httpServer.listeners(event).slice(0); httpServer.removeAllListeners(event); @@ -165,6 +163,9 @@ Object.assign(StreamServer.prototype, { // Store arguments for use within the closure below var args = arguments; + // TODO replace with url package + var url = Npm.require('url'); + // Rewrite /websocket and /websocket/ urls to /sockjs/websocket while // preserving query string. var parsedUrl = url.parse(request.url); diff --git a/packages/tinytest/tinytest_server.js b/packages/tinytest/tinytest_server.js index d20274a7f8..c43fb12b34 100644 --- a/packages/tinytest/tinytest_server.js +++ b/packages/tinytest/tinytest_server.js @@ -81,7 +81,7 @@ Meteor.methods({ 'tinytest/clearResults'(runId) { check(runId, String); - handlesForRun.get(runId).forEach(handle => { + handlesForRun.get(runId)?.forEach(handle => { // XXX this doesn't actually notify the client that it has been // unsubscribed. handle.stop(); From fce87647e7cfee8991cdb4fb07e747cbce88dcd0 Mon Sep 17 00:00:00 2001 From: Vlad Lasky Date: Thu, 27 May 2021 09:42:46 +1000 Subject: [PATCH 161/182] readFileSync() and chmodSync() are now imported in a single import statement. --- packages/webapp/webapp_server.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/webapp/webapp_server.js b/packages/webapp/webapp_server.js index b13a5d3548..ac20f358f9 100644 --- a/packages/webapp/webapp_server.js +++ b/packages/webapp/webapp_server.js @@ -1,6 +1,8 @@ import assert from "assert"; -import { readFileSync } from "fs"; -import { chmodSync } from "fs"; +import { + readFileSync, + chmodSync +} from "fs"; import { createServer } from "http"; import { join as pathJoin, From f104723017c0e8768ab55ae118c76e136f949909 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Thu, 27 May 2021 11:10:05 +0200 Subject: [PATCH 162/182] Remove [object Object] from tests --- tools/tool-testing/run.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/tool-testing/run.js b/tools/tool-testing/run.js index 7233732bd9..4102f08596 100644 --- a/tools/tool-testing/run.js +++ b/tools/tool-testing/run.js @@ -551,8 +551,7 @@ export default class Run { testList.notifyFailed(test, failure); } else { - Console.success(`... ok! (${test.durationMs} ms)`, - Console.options({ indent: 2 })); + Console.success(`... ok! (${test.durationMs} ms)`); } } } From ee2d70fc691d41baefc9cb75daebf7fbc2b9c646 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Thu, 27 May 2021 14:10:21 +0200 Subject: [PATCH 163/182] Release 2.3 beta.1 --- packages/babel-compiler/package.js | 2 +- packages/deprecated/markdown/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/email/package.js | 2 +- packages/hot-module-replacement/package.js | 2 +- packages/launch-screen/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/promise/package.js | 2 +- .../.npm/package/npm-shrinkwrap.json | 28 +++++++++---------- packages/server-render/package.js | 2 +- packages/typescript/package.js | 2 +- packages/webapp/package.js | 2 +- .../admin/meteor-release-experimental.json | 2 +- 13 files changed, 26 insertions(+), 26 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 3436b92bff..17988e66c3 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.6.2-beta230.0' + version: '7.6.2-beta230.1' }); Npm.depends({ diff --git a/packages/deprecated/markdown/package.js b/packages/deprecated/markdown/package.js index 2cb4966e7f..8b4165cd96 100644 --- a/packages/deprecated/markdown/package.js +++ b/packages/deprecated/markdown/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Markdown-to-HTML processor", - version: "2.0.0-beta230.0", + version: "2.0.0-beta230.1", deprecated: true }); diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index bf41cb50e1..cdc51bcaac 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.7.0-beta230.0", + version: "0.7.0-beta230.1", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/email/package.js b/packages/email/package.js index 7e8d480a4f..154cb0ba9f 100644 --- a/packages/email/package.js +++ b/packages/email/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Send email messages", - version: "2.1.0-beta230.0" + version: "2.1.0-beta230.1" }); Npm.depends({ diff --git a/packages/hot-module-replacement/package.js b/packages/hot-module-replacement/package.js index cd858058bf..4a03fff79d 100644 --- a/packages/hot-module-replacement/package.js +++ b/packages/hot-module-replacement/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'hot-module-replacement', - version: '0.3.0-beta230.0', + version: '0.3.0-beta230.1', summary: 'Update code in development without reloading the page', documentation: 'README.md', debugOnly: true diff --git a/packages/launch-screen/package.js b/packages/launch-screen/package.js index 1085cdfca3..1c4bb08efd 100644 --- a/packages/launch-screen/package.js +++ b/packages/launch-screen/package.js @@ -6,7 +6,7 @@ Package.describe({ // between such packages and the build tool. name: 'launch-screen', summary: 'Default and customizable launch screen on mobile.', - version: '1.3.0-beta230.0' + version: '1.3.0-beta230.1' }); Cordova.depends({ diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 2c2472e4e2..4def2b61b2 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.3.0-beta.0' + version: '2.3.0-beta.1' }); Package.includeTool(); diff --git a/packages/promise/package.js b/packages/promise/package.js index 576aca3cf4..0fdd265fb4 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.12.0-beta230.0", + version: "0.12.0-beta230.1", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/server-render/.npm/package/npm-shrinkwrap.json b/packages/server-render/.npm/package/npm-shrinkwrap.json index 84bc0f8f88..98a3827229 100644 --- a/packages/server-render/.npm/package/npm-shrinkwrap.json +++ b/packages/server-render/.npm/package/npm-shrinkwrap.json @@ -17,9 +17,9 @@ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" }, "magic-string": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.21.3.tgz", - "integrity": "sha1-h+IBAJ6/3m9G3FdXMFpwr3HjFiQ=" + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==" }, "ms": { "version": "2.0.0", @@ -27,29 +27,29 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "parse5": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.2.tgz", - "integrity": "sha1-Be/1fw70V3+xRKefi5qWemzERRA=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==" }, "promise-polyfill": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", "integrity": "sha1-zQTv9G9clcOn0EVZHXm14+AfEtc=" }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, "stream-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stream-length/-/stream-length-1.0.2.tgz", "integrity": "sha1-gnfzy+5JpNqrz9tOL0qbXp8snwA=" }, "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=" - }, - "vlq": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.0.tgz", + "integrity": "sha512-8drZlFIKBHSMdX9GCWv8V9AAWnQcTqw0iAI6/GC7UJ0H0SwKeFKjOoZfGY1tOU00GGU7FYZQoJ/ZCUEoXhD7yQ==" } } } diff --git a/packages/server-render/package.js b/packages/server-render/package.js index 5140b1c26e..fef3f4270e 100644 --- a/packages/server-render/package.js +++ b/packages/server-render/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "server-render", - version: "0.4.0-beta230.0", + version: "0.4.0-beta230.1", summary: "Generic support for server-side rendering in Meteor apps", documentation: "README.md" }); diff --git a/packages/typescript/package.js b/packages/typescript/package.js index 18101effb0..671f2536a5 100644 --- a/packages/typescript/package.js +++ b/packages/typescript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "typescript", - version: "4.2.4-beta230.0", + version: "4.2.4-beta230.1", 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 b1db73daf4..0fbaa1d497 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.11.0-beta230.0' + version: '1.11.0-beta230.1' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index a27e3e5c4a..c5d8174c1d 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.3-beta.0", + "version": "2.3-beta.1", "recommended": false, "official": false, "description": "Meteor" From d53ab4cd177413055402f7cf3db9936c209d935f Mon Sep 17 00:00:00 2001 From: filipenevola Date: Thu, 27 May 2021 10:38:31 -0400 Subject: [PATCH 164/182] Fixing message test on socket-stream-client --- packages/ddp-client/common/livedata_connection.js | 7 +++++++ packages/ddp-server/stream_server.js | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index 9d1ae8c377..e1a5c4826b 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -1621,6 +1621,13 @@ export class Connection { this._heartbeat.messageReceived(); } + if (msg === null || !msg.msg) { + if(!msg || !msg.testMessageOnConnect) { + Meteor._debug('discarding invalid livedata message', msg); + } + return; + } + if (msg.msg === 'connected') { this._version = this._versionSuggestion; this._livedata_connected(msg); diff --git a/packages/ddp-server/stream_server.js b/packages/ddp-server/stream_server.js index b931b86ec7..b39373f2f9 100644 --- a/packages/ddp-server/stream_server.js +++ b/packages/ddp-server/stream_server.js @@ -117,6 +117,12 @@ StreamServer = function () { }); self.open_sockets.push(socket); + // only to send a message after connection on tests, useful for + // socket-stream-client/server-tests.js + if (process.env.TEST_METADATA) { + socket.send(JSON.stringify({ testMessageOnConnect: true })); + } + // call all our callbacks when we get a new socket. they will do the // work of setting up handlers and such for specific messages. _.each(self.registration_callbacks, function (callback) { From 760e6344f3ffed80cfc9b3e6e80d27c60f09998a Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 28 May 2021 10:56:04 +0200 Subject: [PATCH 165/182] Bump dev bundle --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 15cd67179a..a6b52ddfc4 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.17.0.1 +BUNDLE_VERSION=14.17.0.2 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From f43cf47fd9204cde529ae05f8da9e713733f746e Mon Sep 17 00:00:00 2001 From: afrokick Date: Fri, 28 May 2021 12:30:33 +0300 Subject: [PATCH 166/182] update ts to 4.3 --- packages/babel-compiler/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/typescript/package.js | 2 +- scripts/dev-bundle-tool-package.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 17988e66c3..547302d86b 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -10,7 +10,7 @@ Package.describe({ }); Npm.depends({ - '@meteorjs/babel': '7.11.0', + '@meteorjs/babel': '7.11.1', 'json5': '2.1.1' }); diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index fd6f1aa539..a9a6e42ca5 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.15.1', + version: '0.15.2', 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 671f2536a5..ce2aba7e42 100644 --- a/packages/typescript/package.js +++ b/packages/typescript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "typescript", - version: "4.2.4-beta230.1", + version: "4.3.2-beta230.1", 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 ae955aad1f..923e6966e2 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.2.4", + typescript: "4.3.2", "@meteorjs/babel": "7.11.0", // Keep the versions of these packages consistent with the versions // found in dev-bundle-server-package.js. From 8b6d7c3d5f3720059fe280eaaf7e4e7433c09d18 Mon Sep 17 00:00:00 2001 From: afrokick Date: Fri, 28 May 2021 12:33:14 +0300 Subject: [PATCH 167/182] fix --- 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 923e6966e2..02ab5ff0f5 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.3.2", - "@meteorjs/babel": "7.11.0", + "@meteorjs/babel": "7.11.1", // Keep the versions of these packages consistent with the versions // found in dev-bundle-server-package.js. "meteor-promise": "0.9.0", From 9e16708eb1bb6a661f83f91acd0143f6717b8651 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 28 May 2021 12:26:17 +0200 Subject: [PATCH 168/182] Dev bundle 14.17.0.3 --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index a6b52ddfc4..896dd91d55 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.17.0.2 +BUNDLE_VERSION=14.17.0.3 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From bf1b0b8ca0aee310662c35b1f06d4a0cb11ec380 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 28 May 2021 13:13:55 +0200 Subject: [PATCH 169/182] Update history with Typescript 4.3 --- History.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/History.md b/History.md index 4c388eee6b..de2369701d 100644 --- a/History.md +++ b/History.md @@ -4,7 +4,7 @@ * Node.js update to 14.17.0 from 12.22.1 🎉 -* Typescript update to 4.2.4 +* 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 bellow for more details. From 2e88e7752177a963e15bf301a5dc85c6e75ef8f8 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 28 May 2021 14:35:09 +0200 Subject: [PATCH 170/182] Trigger tests --- History.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/History.md b/History.md index 4c388eee6b..b9b0afee7e 100644 --- a/History.md +++ b/History.md @@ -13,6 +13,8 @@ - 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. See bellow for more details. ### Migration steps From 4273f3b8aebd7dde53e239e94b153a7ccde2a460 Mon Sep 17 00:00:00 2001 From: ritwik Date: Fri, 28 May 2021 18:16:00 +0530 Subject: [PATCH 171/182] Docs Updated: Added the enroll account feature's information to History.md --- History.md | 1 + 1 file changed, 1 insertion(+) diff --git a/History.md b/History.md index 4c388eee6b..3a9125d684 100644 --- a/History.md +++ b/History.md @@ -82,6 +82,7 @@ * `accounts-password@2.0.0` - Deprecated backward compatibility functionality for `SRP`` passwords from pre-Meteor 1.0 days + - New feature added for enroll account workflow i.e the enrollment token records are now stored in a separate db field called `services.password.enroll`. * `ddp-client@2.5.0` - Removed backward compatibility method names for Meteor before 1.0 From bd5a667d3b1ae39436a1753f116213cc82ae6b61 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 28 May 2021 15:04:07 +0200 Subject: [PATCH 172/182] Fix a code typo in history.md --- History.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/History.md b/History.md index b9b0afee7e..30a15d76b3 100644 --- a/History.md +++ b/History.md @@ -8,7 +8,7 @@ * Packages had their backward compatibility to before Meteor 1.0 removed. See bellow for more details. -### Breaking changes +### 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. @@ -83,7 +83,7 @@ - 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 + - Deprecated backward compatibility functionality for `SRP` passwords from pre-Meteor 1.0 days * `ddp-client@2.5.0` - Removed backward compatibility method names for Meteor before 1.0 From 96383dd63a85f9e1229e9b528dd2bddcd0807c6a Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 28 May 2021 18:18:17 +0200 Subject: [PATCH 173/182] Update package versions --- History.md | 6 ++---- packages/accounts-base/package.js | 2 +- packages/accounts-password/package.js | 2 +- packages/ddp-client/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/mongo/package.js | 2 +- packages/oauth/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- 10 files changed, 11 insertions(+), 13 deletions(-) diff --git a/History.md b/History.md index 95e855e8a3..5b738c59b4 100644 --- a/History.md +++ b/History.md @@ -89,8 +89,9 @@ * `ddp-client@2.5.0` - Removed backward compatibility method names for Meteor before 1.0 -* `ddp-server@2.5.0` +* `ddp-server@2.4.0` - Removed backward compatibility method names for Meteor before 1.0 + - Added support for this.unblock() in Meteor.publish() context * `meteor-base@2.0.0` - Removed `livedata` dependency which was there for packages build for 0.9.0 @@ -107,9 +108,6 @@ * `markdown@2.0.0` - Use lazy imports to prevent it from being added to the initial bundle - Added deprecation flag - -* `ddp-server@2.4.0` - - Added support for this.unblock() in Meteor.publish() context * `socket-stream-client@0.4.0` - Remove IE8 checks diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index d494e1b3ba..874881c7e3 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "A user account system", - version: "1.9.0", + version: "2.0.0-beta230.1", }); Package.onUse(api => { diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index 79734312af..69df62a9d1 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: "1.8.0" + version: "2.0.0-beta230.1" }); Package.onUse(api => { diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index ec6a76bdae..8ce88a4104 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '2.4.1', + version: '2.5.0-beta230.1', documentation: null }); diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index 787c22d8e2..2439b6c966 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.3.3', + version: '2.4.0-beta230.1', documentation: null }); diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 3e47ccc3b1..7b3d2e9c73 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.4.0', + version: '2.0.0-beta230.1', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index c5e07aecbe..8ab78505b1 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.6.2' + version: '1.7.0-beta230.1' }); Package.onUse(api => { diff --git a/packages/mongo/package.js b/packages/mongo/package.js index 3a7807aca0..ee309875d0 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.11.1' + version: '1.12.0-beta230.1' }); Npm.depends({ diff --git a/packages/oauth/package.js b/packages/oauth/package.js index 3bfda574c0..178df9843d 100644 --- a/packages/oauth/package.js +++ b/packages/oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth-based services", - version: "1.3.2" + version: "2.0.0-beta230.1" }); Package.onUse(api => { diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index c8cf3654f0..7dc4451caa 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.3.3", + version: "0.4.0-beta230.1", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); From c6198e0c379e84d74154b8978ee97c484ffddee0 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 28 May 2021 18:51:35 +0200 Subject: [PATCH 174/182] Remove remnants of SRP from accounts --- packages/accounts-password/package.js | 1 - packages/accounts-password/password_server.js | 41 +++---------------- .../accounts-password/password_tests_setup.js | 36 ---------------- 3 files changed, 5 insertions(+), 73 deletions(-) diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index 69df62a9d1..a70a1b5a18 100644 --- a/packages/accounts-password/package.js +++ b/packages/accounts-password/package.js @@ -13,7 +13,6 @@ Package.onUse(api => { api.use([ 'accounts-base', - 'srp', 'sha', 'ejson', 'ddp' diff --git a/packages/accounts-password/password_server.js b/packages/accounts-password/password_server.js index 0fd7e31d8f..589b797f61 100644 --- a/packages/accounts-password/password_server.js +++ b/packages/accounts-password/password_server.js @@ -8,9 +8,7 @@ const bcryptCompare = Meteor.wrapAsync(bcrypt.compare); const getUserById = (id, options) => Meteor.users.findOne(id, Accounts._addDefaultFieldSelector(options)); // User records have a 'services.password.bcrypt' field on them to hold -// their hashed passwords (unless they have a 'services.password.srp' -// field, in which case they will be upgraded to bcrypt the next time -// they log in). +// their hashed passwords. // // When the client sends a password to the server, it can either be a // string (the plaintext password) or an object with keys 'digest' and @@ -296,7 +294,7 @@ const passwordValidator = { // Note that neither password option is secure without SSL. // Accounts.registerLoginHandler("password", options => { - if (! options.password || options.srp) + if (!options.password) return undefined; // don't handle check(options, { @@ -314,37 +312,10 @@ Accounts.registerLoginHandler("password", options => { } if (!user.services || !user.services.password || - !(user.services.password.bcrypt || user.services.password.srp)) { + !user.services.password.bcrypt) { handleError("User has no password set"); } - if (!user.services.password.bcrypt) { - if (typeof options.password === "string") { - // The client has presented a plaintext password, and the user is - // not upgraded to bcrypt yet. We don't attempt to tell the client - // to upgrade to bcrypt, because it might be a standalone DDP - // client doesn't know how to do such a thing. - const verifier = user.services.password.srp; - const newVerifier = SRP.generateVerifier(options.password, { - identity: verifier.identity, salt: verifier.salt}); - - if (verifier.verifier !== newVerifier.verifier) { - return { - userId: Accounts._options.ambiguousErrorMessages ? null : user._id, - error: handleError("Incorrect password", false) - }; - } - - return {userId: user._id}; - } else { - // Tell the client to use the SRP upgrade process. - throw new Meteor.Error(400, "old password format", EJSON.stringify({ - format: 'srp', - identity: user.services.password.srp.identity - })); - } - } - return checkPassword( user, options.password @@ -814,8 +785,7 @@ Meteor.methods({resetPassword: function (...args) { }, {$set: {'services.password.bcrypt': hashed, 'emails.$.verified': true}, - $unset: {'services.password.enroll': 1, - 'services.password.srp': 1}}); + $unset: {'services.password.enroll': 1 }}); } else { affectedRecords = Meteor.users.update( { @@ -825,8 +795,7 @@ Meteor.methods({resetPassword: function (...args) { }, {$set: {'services.password.bcrypt': hashed, 'emails.$.verified': true}, - $unset: {'services.password.reset': 1, - 'services.password.srp': 1}}); + $unset: {'services.password.reset': 1 }}); } if (affectedRecords !== 1) return { diff --git a/packages/accounts-password/password_tests_setup.js b/packages/accounts-password/password_tests_setup.js index 9b34358c21..82aba8c893 100644 --- a/packages/accounts-password/password_tests_setup.js +++ b/packages/accounts-password/password_tests_setup.js @@ -132,39 +132,3 @@ Meteor.methods({ }, removeUser: username => Meteor.users.remove({ "username": username }), }); - - -// Create a user that had previously logged in with SRP. - -Meteor.methods({ - testCreateSRPUser: () => { - const username = Random.id(); - Meteor.users.remove({username: username}); - const userId = Accounts.createUser({username: username}); - Meteor.users.update( - userId, - { '$set': { 'services.password.srp': { - "identity" : "iPNrshUEcpOSO5fRDu7o4RRDc9OJBCGGljYpcXCuyg9", - "salt" : "Dk3lFggdEtcHU3aKm6Odx7sdcaIrMskQxBbqtBtFzt6", - "verifier" : "2e8bce266b1357edf6952cc56d979db19f699ced97edfb2854b95972f820b0c7006c1a18e98aad40edf3fe111b87c52ef7dd06b320ce452d01376df2d560fdc4d8e74f7a97bca1f67b3cfaef34dee34dd6c76571c247d762624dc166dab5499da06bc9358528efa75bf74e2e7f5a80d09e60acf8856069ae5cfb080f2239ee76" - } } } - ); - return username; - }, - - testSRPUpgrade: username => { - const user = Meteor.users.findOne({username: username}); - if (user.services && user.services.password && user.services.password.srp) - throw new Error("srp wasn't removed"); - if (!(user.services && user.services.password && user.services.password.bcrypt)) - throw new Error("bcrypt wasn't added"); - }, - - testNoSRPUpgrade: username => { - const user = Meteor.users.findOne({username: username}); - if (user.services && user.services.password && user.services.password.bcrypt) - throw new Error("bcrypt was added"); - if (user.services && user.services.password && ! user.services.password.srp) - throw new Error("srp was removed"); - } -}); From bb587426228b7e5651fcb2092d2cb64d295077b9 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 28 May 2021 18:21:09 +0200 Subject: [PATCH 175/182] 2.3-beta.2 --- packages/accounts-base/package.js | 2 +- packages/accounts-password/package.js | 2 +- .../.npm/package/npm-shrinkwrap.json | 60 +++++++++---------- packages/babel-compiler/package.js | 2 +- packages/ddp-client/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/deprecated/markdown/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/email/package.js | 2 +- packages/hot-module-replacement/package.js | 2 +- packages/launch-screen/package.js | 2 +- packages/logic-solver/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/mongo/package.js | 2 +- packages/oauth/package.js | 2 +- packages/promise/package.js | 2 +- packages/server-render/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tinytest/package.js | 2 +- packages/typescript/package.js | 2 +- packages/webapp/package.js | 2 +- .../admin/meteor-release-experimental.json | 2 +- 25 files changed, 54 insertions(+), 54 deletions(-) diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index 874881c7e3..a18919be15 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "A user account system", - version: "2.0.0-beta230.1", + version: "2.0.0-beta230.2", }); Package.onUse(api => { diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index a70a1b5a18..ad9d825276 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.0.0-beta230.1" + version: "2.0.0-beta230.2" }); Package.onUse(api => { diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index 8eb0913707..42d1625ade 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -54,9 +54,9 @@ "integrity": "sha512-JIB2+XJrb7v3zceV2XzDhGIB902CmKGSpSl4q2C6agU9SNLG/2V1RtFRGPG1Ajh9STj3+q6zJMOC+N/pp2P9DA==" }, "@babel/helper-define-polyfill-provider": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", - "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==" + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==" }, "@babel/helper-explode-assignable-expression": { "version": "7.13.0", @@ -389,9 +389,9 @@ "integrity": "sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==" }, "@meteorjs/babel": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@meteorjs/babel/-/babel-7.11.0.tgz", - "integrity": "sha512-/6qog7HOFSCs42/5Svw4VbchZ4B83E7hRwjP1mDPahHqDYer3rFAipYpI6ViM/RwZSeo4MHspHUJYkENYz+JLw==" + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/@meteorjs/babel/-/babel-7.11.1.tgz", + "integrity": "sha512-5WZZ3v7F2B5KpKBSOYe3kh83ijrj6o7oenCadqH59Lp9ONorZGJePQQg1OotepKzwNflBiw60cy9eFgi+/qhsw==" }, "acorn": { "version": "6.4.2", @@ -504,19 +504,19 @@ "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=" }, "babel-plugin-polyfill-corejs2": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", - "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==" + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==" }, "babel-plugin-polyfill-corejs3": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", - "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==" + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz", + "integrity": "sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A==" }, "babel-plugin-polyfill-regenerator": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", - "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==" + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==" }, "babel-plugin-transform-inline-consecutive-adds": { "version": "0.4.3", @@ -594,9 +594,9 @@ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" }, "caniuse-lite": { - "version": "1.0.30001228", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz", - "integrity": "sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==" + "version": "1.0.30001230", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz", + "integrity": "sha512-5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ==" }, "chalk": { "version": "2.4.2", @@ -624,9 +624,9 @@ "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==" }, "core-js-compat": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.12.1.tgz", - "integrity": "sha512-i6h5qODpw6EsHAoIdQhKoZdWn+dGBF3dSS8m5tif36RlWvW3A6+yu2S16QHUo3CrkzrnEskMAt9f8FxmY9fhWQ==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.13.0.tgz", + "integrity": "sha512-jhbI2zpVskgfDC9mGRaDo1gagd0E0i/kYW0+WvibL/rafEHKAHO653hEXIxJHqRlRLITluXtRH3AGTL5qJmifQ==", "dependencies": { "semver": { "version": "7.0.0", @@ -646,9 +646,9 @@ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==" }, "electron-to-chromium": { - "version": "1.3.734", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.734.tgz", - "integrity": "sha512-iQF2mjPZ6zNNq45kbJ6MYZYCBNdv2JpGiJC/lVx4tGJWi9MNg73KkL9sWGN4X4I/CP2SBLWsT8nPADZZpAHIyw==" + "version": "1.3.741", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.741.tgz", + "integrity": "sha512-4i3T0cwnHo1O4Mnp9JniEco8bZiXoqbm3PhW5hv7uu8YLg35iajYrRnNyKFaN8/8SSTskU2hYqVTeYVPceSpUA==" }, "escalade": { "version": "3.1.1", @@ -766,9 +766,9 @@ "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==" }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "regenerate": { "version": "1.4.2", @@ -860,9 +860,9 @@ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, "typescript": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", - "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==" + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", + "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==" }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 547302d86b..3f0038313b 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.6.2-beta230.1' + version: '7.6.2-beta230.2' }); Npm.depends({ diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 8ce88a4104..321fca9096 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '2.5.0-beta230.1', + version: '2.5.0-beta230.2', documentation: null }); diff --git a/packages/ddp-server/package.js b/packages/ddp-server/package.js index 2439b6c966..de0a286a4e 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.4.0-beta230.1', + version: '2.4.0-beta230.2', documentation: null }); diff --git a/packages/deprecated/markdown/package.js b/packages/deprecated/markdown/package.js index 8b4165cd96..8c3fcb24b8 100644 --- a/packages/deprecated/markdown/package.js +++ b/packages/deprecated/markdown/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Markdown-to-HTML processor", - version: "2.0.0-beta230.1", + version: "2.0.0-beta230.2", deprecated: true }); diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index cdc51bcaac..216f1fca15 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.7.0-beta230.1", + version: "0.7.0-beta230.2", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index a9a6e42ca5..e5af83c676 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.15.2', + version: '0.15.2-beta230.2', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/email/package.js b/packages/email/package.js index 154cb0ba9f..4fb9f98eb6 100644 --- a/packages/email/package.js +++ b/packages/email/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Send email messages", - version: "2.1.0-beta230.1" + version: "2.1.0-beta230.2" }); Npm.depends({ diff --git a/packages/hot-module-replacement/package.js b/packages/hot-module-replacement/package.js index 4a03fff79d..ccd7617314 100644 --- a/packages/hot-module-replacement/package.js +++ b/packages/hot-module-replacement/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'hot-module-replacement', - version: '0.3.0-beta230.1', + version: '0.3.0-beta230.2', summary: 'Update code in development without reloading the page', documentation: 'README.md', debugOnly: true diff --git a/packages/launch-screen/package.js b/packages/launch-screen/package.js index 1c4bb08efd..e916bdcde4 100644 --- a/packages/launch-screen/package.js +++ b/packages/launch-screen/package.js @@ -6,7 +6,7 @@ Package.describe({ // between such packages and the build tool. name: 'launch-screen', summary: 'Default and customizable launch screen on mobile.', - version: '1.3.0-beta230.1' + version: '1.3.0-beta230.2' }); Cordova.depends({ diff --git a/packages/logic-solver/package.js b/packages/logic-solver/package.js index a3a686e4b0..dab90641be 100644 --- a/packages/logic-solver/package.js +++ b/packages/logic-solver/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "General satisfiability solver for logic problems", - version: '2.0.8' + version: '2.0.8-beta230.2' }); Package.onUse(function (api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 7b3d2e9c73..e0d9bde022 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '2.0.0-beta230.1', + version: '2.0.0-beta230.2', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 4def2b61b2..0f62717670 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.3.0-beta.1' + version: '2.3.0-beta.2' }); Package.includeTool(); diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index 8ab78505b1..c3f1ed485b 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.7.0-beta230.1' + version: '1.7.0-beta230.2' }); Package.onUse(api => { diff --git a/packages/mongo/package.js b/packages/mongo/package.js index ee309875d0..c73c08b55e 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.12.0-beta230.1' + version: '1.12.0-beta230.2' }); Npm.depends({ diff --git a/packages/oauth/package.js b/packages/oauth/package.js index 178df9843d..b79a2672c5 100644 --- a/packages/oauth/package.js +++ b/packages/oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth-based services", - version: "2.0.0-beta230.1" + version: "2.0.0-beta230.2" }); Package.onUse(api => { diff --git a/packages/promise/package.js b/packages/promise/package.js index 0fdd265fb4..c9ed286f29 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.12.0-beta230.1", + version: "0.12.0-beta230.2", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/server-render/package.js b/packages/server-render/package.js index fef3f4270e..63cb988a96 100644 --- a/packages/server-render/package.js +++ b/packages/server-render/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "server-render", - version: "0.4.0-beta230.1", + version: "0.4.0-beta230.2", summary: "Generic support for server-side rendering in Meteor apps", documentation: "README.md" }); diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 7dc4451caa..3a3a9382f9 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.4.0-beta230.1", + version: "0.4.0-beta230.2", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tinytest/package.js b/packages/tinytest/package.js index 69f6ee8d90..120ca2772f 100644 --- a/packages/tinytest/package.js +++ b/packages/tinytest/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Tiny testing framework", - version: '1.1.0' + version: '1.1.1-beta230.2' }); Package.onUse(function (api) { diff --git a/packages/typescript/package.js b/packages/typescript/package.js index ce2aba7e42..46f258e2be 100644 --- a/packages/typescript/package.js +++ b/packages/typescript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "typescript", - version: "4.3.2-beta230.1", + version: "4.3.2-beta230.2", 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 0fbaa1d497..bd48c062cb 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.11.0-beta230.1' + version: '1.11.0-beta230.2' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index c5d8174c1d..18aa384f71 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.3-beta.1", + "version": "2.3-beta.2", "recommended": false, "official": false, "description": "Meteor" From 38c0d70eb4d64dbb9342d5fa7f68e990deb1f0c1 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 28 May 2021 20:26:53 +0200 Subject: [PATCH 176/182] Do not console about server id ddp message --- packages/ddp-client/common/livedata_connection.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/ddp-client/common/livedata_connection.js b/packages/ddp-client/common/livedata_connection.js index e1a5c4826b..d812093fe5 100644 --- a/packages/ddp-client/common/livedata_connection.js +++ b/packages/ddp-client/common/livedata_connection.js @@ -1623,6 +1623,7 @@ export class Connection { if (msg === null || !msg.msg) { if(!msg || !msg.testMessageOnConnect) { + if (Object.keys(msg).length === 1 && msg.server_id) return; Meteor._debug('discarding invalid livedata message', msg); } return; From f123b67ccc9508b6e231419e43b6fb4b115a7ab7 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 28 May 2021 21:06:41 +0200 Subject: [PATCH 177/182] Update packages depending on accounts and oauth --- packages/accounts-facebook/package.js | 2 +- packages/accounts-github/package.js | 2 +- packages/accounts-google/package.js | 2 +- packages/accounts-meetup/package.js | 2 +- packages/accounts-meteor-developer/package.js | 2 +- packages/accounts-oauth/package.js | 2 +- packages/accounts-twitter/package.js | 2 +- packages/accounts-ui-unstyled/package.js | 2 +- packages/accounts-ui/package.js | 2 +- packages/accounts-weibo/package.js | 2 +- packages/ddp-rate-limiter/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/service-configuration/package.js | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/accounts-facebook/package.js b/packages/accounts-facebook/package.js index 6240e43bf7..d65c645dce 100644 --- a/packages/accounts-facebook/package.js +++ b/packages/accounts-facebook/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Login service for Facebook accounts", - version: "1.3.2", + version: "1.3.0-beta.2", }); Package.onUse(api => { diff --git a/packages/accounts-github/package.js b/packages/accounts-github/package.js index 969d33e692..b9c12853ef 100644 --- a/packages/accounts-github/package.js +++ b/packages/accounts-github/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Login service for Github accounts', - version: '1.4.3', + version: '1.5.0-beta230.2', }); Package.onUse(api => { diff --git a/packages/accounts-google/package.js b/packages/accounts-google/package.js index 7ec6309d8c..074e521c17 100644 --- a/packages/accounts-google/package.js +++ b/packages/accounts-google/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Login service for Google accounts", - version: "1.3.3", + version: "1.4.0-beta230.2", }); Package.onUse(api => { diff --git a/packages/accounts-meetup/package.js b/packages/accounts-meetup/package.js index 9cc3b51cc1..0a78004026 100644 --- a/packages/accounts-meetup/package.js +++ b/packages/accounts-meetup/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Login service for Meetup accounts', - version: '1.4.2', + version: '1.5.0-beta230.2', }); Package.onUse(api => { diff --git a/packages/accounts-meteor-developer/package.js b/packages/accounts-meteor-developer/package.js index 886d1b5c99..4220a162ae 100644 --- a/packages/accounts-meteor-developer/package.js +++ b/packages/accounts-meteor-developer/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Login service for Meteor developer accounts', - version: '1.4.2', + version: '1.5.0-beta230.2', }); Package.onUse(api => { diff --git a/packages/accounts-oauth/package.js b/packages/accounts-oauth/package.js index fb61a4f77e..72edb6766b 100644 --- a/packages/accounts-oauth/package.js +++ b/packages/accounts-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth-based login services", - version: "1.2.0", + version: "1.3.0-beta230.2", }); Package.onUse(api => { diff --git a/packages/accounts-twitter/package.js b/packages/accounts-twitter/package.js index 196726d96b..a3a3799340 100644 --- a/packages/accounts-twitter/package.js +++ b/packages/accounts-twitter/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Login service for Twitter accounts", - version: "1.4.2", + version: "1.5.0-beta230.2", }); Package.onUse(api => { diff --git a/packages/accounts-ui-unstyled/package.js b/packages/accounts-ui-unstyled/package.js index 6f5f767058..f4243d225b 100644 --- a/packages/accounts-ui-unstyled/package.js +++ b/packages/accounts-ui-unstyled/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Unstyled version of login widgets", - version: "1.4.3" + version: "1.5.0-beta230.2" }); Package.onUse(function (api) { diff --git a/packages/accounts-ui/package.js b/packages/accounts-ui/package.js index 6cbba924cc..d7985a10d0 100644 --- a/packages/accounts-ui/package.js +++ b/packages/accounts-ui/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Simple templates to add login widgets to an app", - version: "1.3.2", + version: "1.4.0-beta230.2", }); Package.onUse(api => { diff --git a/packages/accounts-weibo/package.js b/packages/accounts-weibo/package.js index 27b6426c18..8597e2bf55 100644 --- a/packages/accounts-weibo/package.js +++ b/packages/accounts-weibo/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Login service for Sina Weibo accounts", - version: "1.3.2", + version: "1.4.0-beta230.2", }); Package.onUse(api => { diff --git a/packages/ddp-rate-limiter/package.js b/packages/ddp-rate-limiter/package.js index f96ca1cf3e..c01393e81f 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.0.9', + version: '1.1.0-beta230.2', // 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/facebook-oauth/package.js b/packages/facebook-oauth/package.js index 1b74f7d5b8..b1849c0d17 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.8.0" + version: "1.9.0-beta230.2" }); Package.onUse(api => { diff --git a/packages/service-configuration/package.js b/packages/service-configuration/package.js index 5dc8795b9a..85e0ce0f58 100644 --- a/packages/service-configuration/package.js +++ b/packages/service-configuration/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Manage the configuration for third-party services", - version: "1.0.11" + version: "1.1.0-beta230.2" }); Package.onUse(function(api) { From 9f1d259be9c2e0c2efe0545795c35dffaa705999 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 28 May 2021 21:54:53 +0200 Subject: [PATCH 178/182] Drop meteor-base version to 1.5 for tests to pass --- packages/meteor-base/package.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index e0d9bde022..870e1fbf0d 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '2.0.0-beta230.2', + version: '1.5.0-beta230.2', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. From e55cd30f4f0a84236df144ee2c4eb1abfb98ca51 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Fri, 28 May 2021 22:53:41 +0200 Subject: [PATCH 179/182] Release 2.3-beta.3 --- packages/accounts-base/package.js | 2 +- packages/accounts-github/package.js | 2 +- packages/accounts-google/package.js | 2 +- packages/accounts-meetup/package.js | 2 +- packages/accounts-meteor-developer/package.js | 2 +- packages/accounts-oauth/package.js | 2 +- packages/accounts-password/package.js | 2 +- packages/accounts-twitter/package.js | 2 +- packages/accounts-ui-unstyled/package.js | 2 +- packages/accounts-ui/package.js | 2 +- packages/accounts-weibo/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/ddp-client/package.js | 2 +- packages/ddp-rate-limiter/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/deprecated/markdown/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/email/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/hot-module-replacement/package.js | 2 +- packages/launch-screen/package.js | 2 +- packages/logic-solver/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/mongo/package.js | 2 +- packages/oauth/package.js | 2 +- packages/promise/package.js | 2 +- packages/server-render/package.js | 2 +- packages/service-configuration/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tinytest/package.js | 2 +- packages/typescript/package.js | 2 +- packages/webapp/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 36 files changed, 36 insertions(+), 36 deletions(-) diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index a18919be15..df6d363282 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "A user account system", - version: "2.0.0-beta230.2", + version: "2.0.0-beta230.3", }); Package.onUse(api => { diff --git a/packages/accounts-github/package.js b/packages/accounts-github/package.js index b9c12853ef..7991d48345 100644 --- a/packages/accounts-github/package.js +++ b/packages/accounts-github/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Login service for Github accounts', - version: '1.5.0-beta230.2', + version: '1.5.0-beta230.3', }); Package.onUse(api => { diff --git a/packages/accounts-google/package.js b/packages/accounts-google/package.js index 074e521c17..c513764091 100644 --- a/packages/accounts-google/package.js +++ b/packages/accounts-google/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Login service for Google accounts", - version: "1.4.0-beta230.2", + version: "1.4.0-beta230.3", }); Package.onUse(api => { diff --git a/packages/accounts-meetup/package.js b/packages/accounts-meetup/package.js index 0a78004026..66577af879 100644 --- a/packages/accounts-meetup/package.js +++ b/packages/accounts-meetup/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Login service for Meetup accounts', - version: '1.5.0-beta230.2', + version: '1.5.0-beta230.3', }); Package.onUse(api => { diff --git a/packages/accounts-meteor-developer/package.js b/packages/accounts-meteor-developer/package.js index 4220a162ae..387d7521be 100644 --- a/packages/accounts-meteor-developer/package.js +++ b/packages/accounts-meteor-developer/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Login service for Meteor developer accounts', - version: '1.5.0-beta230.2', + version: '1.5.0-beta230.3', }); Package.onUse(api => { diff --git a/packages/accounts-oauth/package.js b/packages/accounts-oauth/package.js index 72edb6766b..ee24702e20 100644 --- a/packages/accounts-oauth/package.js +++ b/packages/accounts-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth-based login services", - version: "1.3.0-beta230.2", + version: "1.3.0-beta230.3", }); Package.onUse(api => { diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index ad9d825276..06dd2eee16 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.0.0-beta230.2" + version: "2.0.0-beta230.3" }); Package.onUse(api => { diff --git a/packages/accounts-twitter/package.js b/packages/accounts-twitter/package.js index a3a3799340..998e50a176 100644 --- a/packages/accounts-twitter/package.js +++ b/packages/accounts-twitter/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Login service for Twitter accounts", - version: "1.5.0-beta230.2", + version: "1.5.0-beta230.3", }); Package.onUse(api => { diff --git a/packages/accounts-ui-unstyled/package.js b/packages/accounts-ui-unstyled/package.js index f4243d225b..95bd3fe743 100644 --- a/packages/accounts-ui-unstyled/package.js +++ b/packages/accounts-ui-unstyled/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Unstyled version of login widgets", - version: "1.5.0-beta230.2" + version: "1.5.0-beta230.3" }); Package.onUse(function (api) { diff --git a/packages/accounts-ui/package.js b/packages/accounts-ui/package.js index d7985a10d0..1c09a1dec0 100644 --- a/packages/accounts-ui/package.js +++ b/packages/accounts-ui/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Simple templates to add login widgets to an app", - version: "1.4.0-beta230.2", + version: "1.4.0-beta230.3", }); Package.onUse(api => { diff --git a/packages/accounts-weibo/package.js b/packages/accounts-weibo/package.js index 8597e2bf55..4f921111f5 100644 --- a/packages/accounts-weibo/package.js +++ b/packages/accounts-weibo/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Login service for Sina Weibo accounts", - version: "1.4.0-beta230.2", + version: "1.4.0-beta230.3", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index 3f0038313b..bae5102f6b 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.6.2-beta230.2' + version: '7.6.2-beta230.3' }); Npm.depends({ diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 321fca9096..727d2397dd 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '2.5.0-beta230.2', + version: '2.5.0-beta230.3', documentation: null }); diff --git a/packages/ddp-rate-limiter/package.js b/packages/ddp-rate-limiter/package.js index c01393e81f..b966dc3f39 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-beta230.2', + version: '1.1.0-beta230.3', // 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/ddp-server/package.js b/packages/ddp-server/package.js index de0a286a4e..b75b250a6e 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.4.0-beta230.2', + version: '2.4.0-beta230.3', documentation: null }); diff --git a/packages/deprecated/markdown/package.js b/packages/deprecated/markdown/package.js index 8c3fcb24b8..c6959442af 100644 --- a/packages/deprecated/markdown/package.js +++ b/packages/deprecated/markdown/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Markdown-to-HTML processor", - version: "2.0.0-beta230.2", + version: "2.0.0-beta230.3", deprecated: true }); diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 216f1fca15..00847b59bb 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.7.0-beta230.2", + version: "0.7.0-beta230.3", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index e5af83c676..67923f7d8d 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.15.2-beta230.2', + version: '0.15.2-beta230.3', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/email/package.js b/packages/email/package.js index 4fb9f98eb6..9be9c31941 100644 --- a/packages/email/package.js +++ b/packages/email/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Send email messages", - version: "2.1.0-beta230.2" + version: "2.1.0-beta230.3" }); Npm.depends({ diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index b1849c0d17..c88e04602b 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.9.0-beta230.2" + version: "1.9.0-beta230.3" }); Package.onUse(api => { diff --git a/packages/hot-module-replacement/package.js b/packages/hot-module-replacement/package.js index ccd7617314..bc0cf364eb 100644 --- a/packages/hot-module-replacement/package.js +++ b/packages/hot-module-replacement/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'hot-module-replacement', - version: '0.3.0-beta230.2', + version: '0.3.0-beta230.3', summary: 'Update code in development without reloading the page', documentation: 'README.md', debugOnly: true diff --git a/packages/launch-screen/package.js b/packages/launch-screen/package.js index e916bdcde4..1fcf8db78a 100644 --- a/packages/launch-screen/package.js +++ b/packages/launch-screen/package.js @@ -6,7 +6,7 @@ Package.describe({ // between such packages and the build tool. name: 'launch-screen', summary: 'Default and customizable launch screen on mobile.', - version: '1.3.0-beta230.2' + version: '1.3.0-beta230.3' }); Cordova.depends({ diff --git a/packages/logic-solver/package.js b/packages/logic-solver/package.js index dab90641be..a7781cdaec 100644 --- a/packages/logic-solver/package.js +++ b/packages/logic-solver/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "General satisfiability solver for logic problems", - version: '2.0.8-beta230.2' + version: '2.0.8-beta230.3' }); Package.onUse(function (api) { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index 870e1fbf0d..ab1d0b8adb 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.5.0-beta230.2', + version: '1.5.0-beta230.3', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 0f62717670..b1e39c4528 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.3.0-beta.2' + version: '2.3.0-beta.3' }); Package.includeTool(); diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index c3f1ed485b..34e1acf3aa 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.7.0-beta230.2' + version: '1.7.0-beta230.3' }); Package.onUse(api => { diff --git a/packages/mongo/package.js b/packages/mongo/package.js index c73c08b55e..aac8b1340f 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.12.0-beta230.2' + version: '1.12.0-beta230.3' }); Npm.depends({ diff --git a/packages/oauth/package.js b/packages/oauth/package.js index b79a2672c5..f1a34d797e 100644 --- a/packages/oauth/package.js +++ b/packages/oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth-based services", - version: "2.0.0-beta230.2" + version: "2.0.0-beta230.3" }); Package.onUse(api => { diff --git a/packages/promise/package.js b/packages/promise/package.js index c9ed286f29..97a1811db9 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.12.0-beta230.2", + version: "0.12.0-beta230.3", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/server-render/package.js b/packages/server-render/package.js index 63cb988a96..bdb29b400d 100644 --- a/packages/server-render/package.js +++ b/packages/server-render/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "server-render", - version: "0.4.0-beta230.2", + version: "0.4.0-beta230.3", summary: "Generic support for server-side rendering in Meteor apps", documentation: "README.md" }); diff --git a/packages/service-configuration/package.js b/packages/service-configuration/package.js index 85e0ce0f58..1447ad17cb 100644 --- a/packages/service-configuration/package.js +++ b/packages/service-configuration/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Manage the configuration for third-party services", - version: "1.1.0-beta230.2" + version: "1.1.0-beta230.3" }); Package.onUse(function(api) { diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 3a3a9382f9..7b6ebece89 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.4.0-beta230.2", + version: "0.4.0-beta230.3", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tinytest/package.js b/packages/tinytest/package.js index 120ca2772f..4369961b45 100644 --- a/packages/tinytest/package.js +++ b/packages/tinytest/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Tiny testing framework", - version: '1.1.1-beta230.2' + version: '1.1.1-beta230.3' }); Package.onUse(function (api) { diff --git a/packages/typescript/package.js b/packages/typescript/package.js index 46f258e2be..fcc068cbc1 100644 --- a/packages/typescript/package.js +++ b/packages/typescript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "typescript", - version: "4.3.2-beta230.2", + version: "4.3.2-beta230.3", 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 bd48c062cb..0dc79999e2 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.11.0-beta230.2' + version: '1.11.0-beta230.3' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 18aa384f71..233ae58f66 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.3-beta.2", + "version": "2.3-beta.3", "recommended": false, "official": false, "description": "Meteor" From 1a7345875979e668ce6e8194ccd9b2f41f88f9a3 Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Sat, 29 May 2021 19:52:51 +0200 Subject: [PATCH 180/182] Update accounts related packages --- packages/accounts-ui-unstyled/package.js | 2 +- packages/facebook-config-ui/package.js | 4 ++-- packages/github-config-ui/package.js | 4 ++-- packages/github-oauth/package.js | 2 +- packages/google-config-ui/package.js | 4 ++-- packages/google-oauth/package.js | 2 +- packages/meetup-config-ui/package.js | 4 ++-- packages/meetup-oauth/package.js | 2 +- packages/meteor-developer-config-ui/package.js | 4 ++-- packages/meteor-developer-oauth/package.js | 2 +- packages/oauth-encryption/package.js | 2 +- packages/oauth1/package.js | 2 +- packages/oauth2/package.js | 2 +- packages/twitter-config-ui/package.js | 4 ++-- packages/twitter-oauth/package.js | 2 +- packages/weibo-config-ui/package.js | 4 ++-- packages/weibo-oauth/package.js | 2 +- 17 files changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/accounts-ui-unstyled/package.js b/packages/accounts-ui-unstyled/package.js index 95bd3fe743..582f5dc225 100644 --- a/packages/accounts-ui-unstyled/package.js +++ b/packages/accounts-ui-unstyled/package.js @@ -9,7 +9,7 @@ Package.onUse(function (api) { 'service-configuration', 'accounts-base', 'ecmascript', - 'templating@1.2.13', + 'templating@1.4.0', 'session', ], 'client'); diff --git a/packages/facebook-config-ui/package.js b/packages/facebook-config-ui/package.js index 2975560a7f..301f9991cd 100644 --- a/packages/facebook-config-ui/package.js +++ b/packages/facebook-config-ui/package.js @@ -1,11 +1,11 @@ Package.describe({ summary: "Blaze configuration templates for Facebook OAuth.", - version: "1.0.2", + version: "1.0.3-beta230.3", }); Package.onUse(api => { api.use('ecmascript', 'client'); - api.use('templating@1.2.13', 'client'); + api.use('templating@1.4.0', 'client'); api.addFiles('facebook_login_button.css', 'client'); api.addFiles( diff --git a/packages/github-config-ui/package.js b/packages/github-config-ui/package.js index 23bc5c93f0..d1f61b7812 100644 --- a/packages/github-config-ui/package.js +++ b/packages/github-config-ui/package.js @@ -1,11 +1,11 @@ Package.describe({ summary: 'Blaze configuration templates for GitHub OAuth.', - version: '1.0.1', + version: '1.0.2-beta230.3', }); Package.onUse(api => { api.use('ecmascript', 'client'); - api.use('templating@1.2.13', 'client'); + api.use('templating@1.4.0', 'client'); api.addFiles('github_login_button.css', 'client'); api.addFiles( ['github_configure.html', 'github_configure.js'], diff --git a/packages/github-oauth/package.js b/packages/github-oauth/package.js index da15f43032..2b5280424b 100644 --- a/packages/github-oauth/package.js +++ b/packages/github-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'GitHub OAuth flow', - version: '1.2.3' + version: '1.3.0-beta230.3' }); Package.onUse(api => { diff --git a/packages/google-config-ui/package.js b/packages/google-config-ui/package.js index 31be47f089..b2e6d966d2 100644 --- a/packages/google-config-ui/package.js +++ b/packages/google-config-ui/package.js @@ -1,11 +1,11 @@ Package.describe({ summary: "Blaze configuration templates for Google OAuth.", - version: "1.0.1", + version: "1.0.2-beta230.3", }); Package.onUse(api => { api.use('ecmascript', 'client'); - api.use('templating@1.2.13', 'client'); + api.use('templating@1.4.0', 'client'); api.addFiles('google_login_button.css', 'client'); api.addFiles( diff --git a/packages/google-oauth/package.js b/packages/google-oauth/package.js index 8cd304a3ed..cba7f6a49d 100644 --- a/packages/google-oauth/package.js +++ b/packages/google-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Google OAuth flow", - version: "1.3.0", + version: "1.4.0-beta230.3", }); Cordova.depends({ diff --git a/packages/meetup-config-ui/package.js b/packages/meetup-config-ui/package.js index 56f4a435a0..b539c38cd9 100644 --- a/packages/meetup-config-ui/package.js +++ b/packages/meetup-config-ui/package.js @@ -1,11 +1,11 @@ Package.describe({ summary: 'Blaze configuration templates for the Meetup OAuth flow.', - version: '1.0.1', + version: '1.0.2-beta230.3', }); Package.onUse(api => { api.use('ecmascript', 'client'); - api.use('templating@1.2.13', 'client'); + api.use('templating@1.4.0', 'client'); api.addFiles('meetup_login_button.css', 'client'); api.addFiles( ['meetup_configure.html', 'meetup_configure.js'], diff --git a/packages/meetup-oauth/package.js b/packages/meetup-oauth/package.js index b96a4d5342..ef81f4ee18 100644 --- a/packages/meetup-oauth/package.js +++ b/packages/meetup-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Meetup OAuth flow', - version: '1.0.4' + version: '1.1.0-beta230.3' }); Package.onUse(api => { diff --git a/packages/meteor-developer-config-ui/package.js b/packages/meteor-developer-config-ui/package.js index de9bd8d557..fd3e4a2d96 100644 --- a/packages/meteor-developer-config-ui/package.js +++ b/packages/meteor-developer-config-ui/package.js @@ -1,11 +1,11 @@ Package.describe({ summary: 'Blaze configuration templates for the Meteor developer accounts OAuth.', - version: '1.0.1' + version: '1.0.2-beta230.3' }); Package.onUse(api => { api.use('ecmascript', 'client'); - api.use('templating@1.2.13', 'client'); + api.use('templating@1.4.0', 'client'); api.addFiles('meteor_developer_login_button.css', 'client'); api.addFiles( ['meteor_developer_configure.html', 'meteor_developer_configure.js'], diff --git a/packages/meteor-developer-oauth/package.js b/packages/meteor-developer-oauth/package.js index 6f63381878..e0f700b9a0 100644 --- a/packages/meteor-developer-oauth/package.js +++ b/packages/meteor-developer-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Meteor developer accounts OAuth flow', - version: '1.2.3' + version: '1.3.0-beta230.3' }); Package.onUse(api => { diff --git a/packages/oauth-encryption/package.js b/packages/oauth-encryption/package.js index b6a51a2aa0..cbec2e217f 100644 --- a/packages/oauth-encryption/package.js +++ b/packages/oauth-encryption/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Encrypt account secrets stored in the database", - version: '1.3.1', + version: '1.3.2-beta230.3', }); Package.onUse(api => { diff --git a/packages/oauth1/package.js b/packages/oauth1/package.js index ed5cfb33e7..ee7bba1b4f 100644 --- a/packages/oauth1/package.js +++ b/packages/oauth1/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth1-based login services", - version: "1.3.0", + version: "1.4.0-beta230.3", }); Package.onUse(api => { diff --git a/packages/oauth2/package.js b/packages/oauth2/package.js index e4202b910b..e08ee6e8fb 100644 --- a/packages/oauth2/package.js +++ b/packages/oauth2/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth2-based login services", - version: "1.3.0", + version: "1.3.1-beta230.3", }); Package.onUse(api => { diff --git a/packages/twitter-config-ui/package.js b/packages/twitter-config-ui/package.js index 0daecc0e4a..9932d3c00b 100644 --- a/packages/twitter-config-ui/package.js +++ b/packages/twitter-config-ui/package.js @@ -1,10 +1,10 @@ Package.describe({ summary: "Blaze configuration templates for Twitter OAuth.", - version: "1.0.0" + version: "1.0.1-beta230.3" }); Package.onUse(function(api) { - api.use('templating@1.2.13', 'client'); + api.use('templating@1.4.0', 'client'); api.addFiles('twitter_login_button.css', 'client'); api.addFiles( diff --git a/packages/twitter-oauth/package.js b/packages/twitter-oauth/package.js index 6c58b0e803..8f00853a64 100644 --- a/packages/twitter-oauth/package.js +++ b/packages/twitter-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Twitter OAuth flow", - version: "1.2.0" + version: "1.3.0-beta230.3" }); Package.onUse(function(api) { diff --git a/packages/weibo-config-ui/package.js b/packages/weibo-config-ui/package.js index c94e3d2ea7..bf00a5d16f 100644 --- a/packages/weibo-config-ui/package.js +++ b/packages/weibo-config-ui/package.js @@ -1,11 +1,11 @@ Package.describe({ summary: "Blaze configuration templates for Weibo OAuth.", - version: "1.0.1", + version: "1.0.2-beta230.3", }); Package.onUse(api => { api.use('ecmascript', 'client'); - api.use('templating@1.2.13', 'client'); + api.use('templating@1.4.0', 'client'); api.addFiles('weibo_login_button.css', 'client'); api.addFiles( diff --git a/packages/weibo-oauth/package.js b/packages/weibo-oauth/package.js index a9b53dbe3a..6cf8ad9f11 100644 --- a/packages/weibo-oauth/package.js +++ b/packages/weibo-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Weibo OAuth flow", - version: "1.2.1", + version: "1.3.0-beta230.3", }); Package.onUse(api => { From ae3250772386bc0be81376e232e572d7817335be Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Sat, 29 May 2021 19:55:25 +0200 Subject: [PATCH 181/182] Dev bundle 14.17.0.4 --- meteor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meteor b/meteor index 896dd91d55..b271bd1afd 100755 --- a/meteor +++ b/meteor @@ -1,6 +1,6 @@ #!/usr/bin/env bash -BUNDLE_VERSION=14.17.0.3 +BUNDLE_VERSION=14.17.0.4 # OS Check. Put here because here is where we download the precompiled # bundles that are arch specific. From fe6b965450d68cd64974c753172a5b3e8d0dc02e Mon Sep 17 00:00:00 2001 From: Jan Dvorak Date: Sat, 29 May 2021 20:15:01 +0200 Subject: [PATCH 182/182] 2.3-beta.4 --- packages/accounts-base/package.js | 2 +- packages/accounts-github/package.js | 2 +- packages/accounts-google/package.js | 2 +- packages/accounts-meetup/package.js | 2 +- packages/accounts-meteor-developer/package.js | 2 +- packages/accounts-oauth/package.js | 2 +- packages/accounts-password/package.js | 2 +- packages/accounts-twitter/package.js | 2 +- packages/accounts-ui-unstyled/package.js | 2 +- packages/accounts-ui/package.js | 2 +- packages/accounts-weibo/package.js | 2 +- packages/babel-compiler/package.js | 2 +- packages/ddp-client/package.js | 2 +- packages/ddp-rate-limiter/package.js | 2 +- packages/ddp-server/package.js | 2 +- packages/deprecated/markdown/package.js | 2 +- packages/dynamic-import/package.js | 2 +- packages/ecmascript/package.js | 2 +- packages/email/package.js | 2 +- packages/facebook-config-ui/package.js | 2 +- packages/facebook-oauth/package.js | 2 +- packages/github-config-ui/package.js | 2 +- packages/github-oauth/package.js | 2 +- packages/google-config-ui/package.js | 2 +- packages/google-oauth/package.js | 2 +- packages/hot-module-replacement/package.js | 2 +- packages/launch-screen/package.js | 2 +- packages/logic-solver/package.js | 2 +- packages/meetup-config-ui/package.js | 2 +- packages/meetup-oauth/package.js | 2 +- packages/meteor-base/package.js | 2 +- packages/meteor-developer-config-ui/package.js | 2 +- packages/meteor-developer-oauth/package.js | 2 +- packages/meteor-tool/package.js | 2 +- packages/minimongo/package.js | 2 +- packages/mongo/package.js | 2 +- packages/oauth-encryption/package.js | 2 +- packages/oauth/package.js | 2 +- packages/oauth1/package.js | 2 +- packages/oauth2/package.js | 2 +- packages/promise/package.js | 2 +- packages/server-render/package.js | 2 +- packages/service-configuration/package.js | 2 +- packages/socket-stream-client/package.js | 2 +- packages/tinytest/package.js | 2 +- packages/twitter-config-ui/package.js | 2 +- packages/twitter-oauth/package.js | 2 +- packages/typescript/package.js | 2 +- packages/webapp/package.js | 2 +- packages/weibo-config-ui/package.js | 2 +- packages/weibo-oauth/package.js | 2 +- scripts/admin/meteor-release-experimental.json | 2 +- 52 files changed, 52 insertions(+), 52 deletions(-) diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index df6d363282..5e1a165872 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "A user account system", - version: "2.0.0-beta230.3", + version: "2.0.0-beta230.4", }); Package.onUse(api => { diff --git a/packages/accounts-github/package.js b/packages/accounts-github/package.js index 7991d48345..7f10b0341b 100644 --- a/packages/accounts-github/package.js +++ b/packages/accounts-github/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Login service for Github accounts', - version: '1.5.0-beta230.3', + version: '1.5.0-beta230.4', }); Package.onUse(api => { diff --git a/packages/accounts-google/package.js b/packages/accounts-google/package.js index c513764091..cd0a379846 100644 --- a/packages/accounts-google/package.js +++ b/packages/accounts-google/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Login service for Google accounts", - version: "1.4.0-beta230.3", + version: "1.4.0-beta230.4", }); Package.onUse(api => { diff --git a/packages/accounts-meetup/package.js b/packages/accounts-meetup/package.js index 66577af879..af9c3e9c27 100644 --- a/packages/accounts-meetup/package.js +++ b/packages/accounts-meetup/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Login service for Meetup accounts', - version: '1.5.0-beta230.3', + version: '1.5.0-beta230.4', }); Package.onUse(api => { diff --git a/packages/accounts-meteor-developer/package.js b/packages/accounts-meteor-developer/package.js index 387d7521be..afdbed3f51 100644 --- a/packages/accounts-meteor-developer/package.js +++ b/packages/accounts-meteor-developer/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Login service for Meteor developer accounts', - version: '1.5.0-beta230.3', + version: '1.5.0-beta230.4', }); Package.onUse(api => { diff --git a/packages/accounts-oauth/package.js b/packages/accounts-oauth/package.js index ee24702e20..85789c22f8 100644 --- a/packages/accounts-oauth/package.js +++ b/packages/accounts-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth-based login services", - version: "1.3.0-beta230.3", + version: "1.3.0-beta230.4", }); Package.onUse(api => { diff --git a/packages/accounts-password/package.js b/packages/accounts-password/package.js index 06dd2eee16..b1843241c3 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.0.0-beta230.3" + version: "2.0.0-beta230.4" }); Package.onUse(api => { diff --git a/packages/accounts-twitter/package.js b/packages/accounts-twitter/package.js index 998e50a176..6a303b1fbc 100644 --- a/packages/accounts-twitter/package.js +++ b/packages/accounts-twitter/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Login service for Twitter accounts", - version: "1.5.0-beta230.3", + version: "1.5.0-beta230.4", }); Package.onUse(api => { diff --git a/packages/accounts-ui-unstyled/package.js b/packages/accounts-ui-unstyled/package.js index 582f5dc225..13e661d6b6 100644 --- a/packages/accounts-ui-unstyled/package.js +++ b/packages/accounts-ui-unstyled/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Unstyled version of login widgets", - version: "1.5.0-beta230.3" + version: "1.5.0-beta230.4" }); Package.onUse(function (api) { diff --git a/packages/accounts-ui/package.js b/packages/accounts-ui/package.js index 1c09a1dec0..fcc69727e3 100644 --- a/packages/accounts-ui/package.js +++ b/packages/accounts-ui/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Simple templates to add login widgets to an app", - version: "1.4.0-beta230.3", + version: "1.4.0-beta230.4", }); Package.onUse(api => { diff --git a/packages/accounts-weibo/package.js b/packages/accounts-weibo/package.js index 4f921111f5..93dcc5aa63 100644 --- a/packages/accounts-weibo/package.js +++ b/packages/accounts-weibo/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Login service for Sina Weibo accounts", - version: "1.4.0-beta230.3", + version: "1.4.0-beta230.4", }); Package.onUse(api => { diff --git a/packages/babel-compiler/package.js b/packages/babel-compiler/package.js index bae5102f6b..1b0e05a995 100644 --- a/packages/babel-compiler/package.js +++ b/packages/babel-compiler/package.js @@ -6,7 +6,7 @@ Package.describe({ // isn't possible because you can't publish a non-recommended // release with package versions that don't have a pre-release // identifier at the end (eg, -dev) - version: '7.6.2-beta230.3' + version: '7.6.2-beta230.4' }); Npm.depends({ diff --git a/packages/ddp-client/package.js b/packages/ddp-client/package.js index 727d2397dd..21df26d49d 100644 --- a/packages/ddp-client/package.js +++ b/packages/ddp-client/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data client", - version: '2.5.0-beta230.3', + version: '2.5.0-beta230.4', documentation: null }); diff --git a/packages/ddp-rate-limiter/package.js b/packages/ddp-rate-limiter/package.js index b966dc3f39..7c11f86778 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-beta230.3', + version: '1.1.0-beta230.4', // 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/ddp-server/package.js b/packages/ddp-server/package.js index b75b250a6e..9c5694160b 100644 --- a/packages/ddp-server/package.js +++ b/packages/ddp-server/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Meteor's latency-compensated distributed data server", - version: '2.4.0-beta230.3', + version: '2.4.0-beta230.4', documentation: null }); diff --git a/packages/deprecated/markdown/package.js b/packages/deprecated/markdown/package.js index c6959442af..652269ee2a 100644 --- a/packages/deprecated/markdown/package.js +++ b/packages/deprecated/markdown/package.js @@ -2,7 +2,7 @@ Package.describe({ summary: "Markdown-to-HTML processor", - version: "2.0.0-beta230.3", + version: "2.0.0-beta230.4", deprecated: true }); diff --git a/packages/dynamic-import/package.js b/packages/dynamic-import/package.js index 00847b59bb..cf8a5d1502 100644 --- a/packages/dynamic-import/package.js +++ b/packages/dynamic-import/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "dynamic-import", - version: "0.7.0-beta230.3", + version: "0.7.0-beta230.4", summary: "Runtime support for Meteor 1.5 dynamic import(...) syntax", documentation: "README.md" }); diff --git a/packages/ecmascript/package.js b/packages/ecmascript/package.js index 67923f7d8d..c77ee1ea76 100644 --- a/packages/ecmascript/package.js +++ b/packages/ecmascript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ecmascript', - version: '0.15.2-beta230.3', + version: '0.15.2-beta230.4', summary: 'Compiler plugin that supports ES2015+ in all .js files', documentation: 'README.md' }); diff --git a/packages/email/package.js b/packages/email/package.js index 9be9c31941..664bf88a42 100644 --- a/packages/email/package.js +++ b/packages/email/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Send email messages", - version: "2.1.0-beta230.3" + version: "2.1.0-beta230.4" }); Npm.depends({ diff --git a/packages/facebook-config-ui/package.js b/packages/facebook-config-ui/package.js index 301f9991cd..c68c245a50 100644 --- a/packages/facebook-config-ui/package.js +++ b/packages/facebook-config-ui/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Blaze configuration templates for Facebook OAuth.", - version: "1.0.3-beta230.3", + version: "1.0.3-beta230.4", }); Package.onUse(api => { diff --git a/packages/facebook-oauth/package.js b/packages/facebook-oauth/package.js index c88e04602b..d124ea2c7a 100644 --- a/packages/facebook-oauth/package.js +++ b/packages/facebook-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Facebook OAuth flow", - version: "1.9.0-beta230.3" + version: "1.9.0-beta230.4" }); Package.onUse(api => { diff --git a/packages/github-config-ui/package.js b/packages/github-config-ui/package.js index d1f61b7812..2f78594be4 100644 --- a/packages/github-config-ui/package.js +++ b/packages/github-config-ui/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Blaze configuration templates for GitHub OAuth.', - version: '1.0.2-beta230.3', + version: '1.0.2-beta230.4', }); Package.onUse(api => { diff --git a/packages/github-oauth/package.js b/packages/github-oauth/package.js index 2b5280424b..96f7d21643 100644 --- a/packages/github-oauth/package.js +++ b/packages/github-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'GitHub OAuth flow', - version: '1.3.0-beta230.3' + version: '1.3.0-beta230.4' }); Package.onUse(api => { diff --git a/packages/google-config-ui/package.js b/packages/google-config-ui/package.js index b2e6d966d2..d537cac28c 100644 --- a/packages/google-config-ui/package.js +++ b/packages/google-config-ui/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Blaze configuration templates for Google OAuth.", - version: "1.0.2-beta230.3", + version: "1.0.2-beta230.4", }); Package.onUse(api => { diff --git a/packages/google-oauth/package.js b/packages/google-oauth/package.js index cba7f6a49d..970e96e787 100644 --- a/packages/google-oauth/package.js +++ b/packages/google-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Google OAuth flow", - version: "1.4.0-beta230.3", + version: "1.4.0-beta230.4", }); Cordova.depends({ diff --git a/packages/hot-module-replacement/package.js b/packages/hot-module-replacement/package.js index bc0cf364eb..80a3a116e1 100644 --- a/packages/hot-module-replacement/package.js +++ b/packages/hot-module-replacement/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'hot-module-replacement', - version: '0.3.0-beta230.3', + version: '0.3.0-beta230.4', summary: 'Update code in development without reloading the page', documentation: 'README.md', debugOnly: true diff --git a/packages/launch-screen/package.js b/packages/launch-screen/package.js index 1fcf8db78a..1a1d819f57 100644 --- a/packages/launch-screen/package.js +++ b/packages/launch-screen/package.js @@ -6,7 +6,7 @@ Package.describe({ // between such packages and the build tool. name: 'launch-screen', summary: 'Default and customizable launch screen on mobile.', - version: '1.3.0-beta230.3' + version: '1.3.0-beta230.4' }); Cordova.depends({ diff --git a/packages/logic-solver/package.js b/packages/logic-solver/package.js index a7781cdaec..3e428b5eb2 100644 --- a/packages/logic-solver/package.js +++ b/packages/logic-solver/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "General satisfiability solver for logic problems", - version: '2.0.8-beta230.3' + version: '2.0.8-beta230.4' }); Package.onUse(function (api) { diff --git a/packages/meetup-config-ui/package.js b/packages/meetup-config-ui/package.js index b539c38cd9..ec7e5a6a9a 100644 --- a/packages/meetup-config-ui/package.js +++ b/packages/meetup-config-ui/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Blaze configuration templates for the Meetup OAuth flow.', - version: '1.0.2-beta230.3', + version: '1.0.2-beta230.4', }); Package.onUse(api => { diff --git a/packages/meetup-oauth/package.js b/packages/meetup-oauth/package.js index ef81f4ee18..91965aea5c 100644 --- a/packages/meetup-oauth/package.js +++ b/packages/meetup-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Meetup OAuth flow', - version: '1.1.0-beta230.3' + version: '1.1.0-beta230.4' }); Package.onUse(api => { diff --git a/packages/meteor-base/package.js b/packages/meteor-base/package.js index ab1d0b8adb..2c36727999 100644 --- a/packages/meteor-base/package.js +++ b/packages/meteor-base/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'meteor-base', - version: '1.5.0-beta230.3', + version: '1.5.0-beta230.4', // Brief, one-line summary of the package. summary: 'Packages that every Meteor app needs', // By default, Meteor will default to using README.md for documentation. diff --git a/packages/meteor-developer-config-ui/package.js b/packages/meteor-developer-config-ui/package.js index fd3e4a2d96..58abbaa171 100644 --- a/packages/meteor-developer-config-ui/package.js +++ b/packages/meteor-developer-config-ui/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Blaze configuration templates for the Meteor developer accounts OAuth.', - version: '1.0.2-beta230.3' + version: '1.0.2-beta230.4' }); Package.onUse(api => { diff --git a/packages/meteor-developer-oauth/package.js b/packages/meteor-developer-oauth/package.js index e0f700b9a0..86698cf04a 100644 --- a/packages/meteor-developer-oauth/package.js +++ b/packages/meteor-developer-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: 'Meteor developer accounts OAuth flow', - version: '1.3.0-beta230.3' + version: '1.3.0-beta230.4' }); Package.onUse(api => { diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index b1e39c4528..ae2af8d782 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.3.0-beta.3' + version: '2.3.0-beta.4' }); Package.includeTool(); diff --git a/packages/minimongo/package.js b/packages/minimongo/package.js index 34e1acf3aa..b9c7ada5b5 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.7.0-beta230.3' + version: '1.7.0-beta230.4' }); Package.onUse(api => { diff --git a/packages/mongo/package.js b/packages/mongo/package.js index aac8b1340f..47a857ccfa 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.12.0-beta230.3' + version: '1.12.0-beta230.4' }); Npm.depends({ diff --git a/packages/oauth-encryption/package.js b/packages/oauth-encryption/package.js index cbec2e217f..4a16cc9674 100644 --- a/packages/oauth-encryption/package.js +++ b/packages/oauth-encryption/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Encrypt account secrets stored in the database", - version: '1.3.2-beta230.3', + version: '1.3.2-beta230.4', }); Package.onUse(api => { diff --git a/packages/oauth/package.js b/packages/oauth/package.js index f1a34d797e..a86289e502 100644 --- a/packages/oauth/package.js +++ b/packages/oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth-based services", - version: "2.0.0-beta230.3" + version: "2.0.0-beta230.4" }); Package.onUse(api => { diff --git a/packages/oauth1/package.js b/packages/oauth1/package.js index ee7bba1b4f..6edb3b842a 100644 --- a/packages/oauth1/package.js +++ b/packages/oauth1/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth1-based login services", - version: "1.4.0-beta230.3", + version: "1.4.0-beta230.4", }); Package.onUse(api => { diff --git a/packages/oauth2/package.js b/packages/oauth2/package.js index e08ee6e8fb..7dda6abb49 100644 --- a/packages/oauth2/package.js +++ b/packages/oauth2/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Common code for OAuth2-based login services", - version: "1.3.1-beta230.3", + version: "1.3.1-beta230.4", }); Package.onUse(api => { diff --git a/packages/promise/package.js b/packages/promise/package.js index 97a1811db9..eb7af3b19e 100644 --- a/packages/promise/package.js +++ b/packages/promise/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "promise", - version: "0.12.0-beta230.3", + version: "0.12.0-beta230.4", summary: "ECMAScript 2015 Promise polyfill with Fiber support", git: "https://github.com/meteor/promise", documentation: "README.md" diff --git a/packages/server-render/package.js b/packages/server-render/package.js index bdb29b400d..84e35ee6b6 100644 --- a/packages/server-render/package.js +++ b/packages/server-render/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "server-render", - version: "0.4.0-beta230.3", + version: "0.4.0-beta230.4", summary: "Generic support for server-side rendering in Meteor apps", documentation: "README.md" }); diff --git a/packages/service-configuration/package.js b/packages/service-configuration/package.js index 1447ad17cb..05dcb34a79 100644 --- a/packages/service-configuration/package.js +++ b/packages/service-configuration/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Manage the configuration for third-party services", - version: "1.1.0-beta230.3" + version: "1.1.0-beta230.4" }); Package.onUse(function(api) { diff --git a/packages/socket-stream-client/package.js b/packages/socket-stream-client/package.js index 7b6ebece89..61238d37fb 100644 --- a/packages/socket-stream-client/package.js +++ b/packages/socket-stream-client/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "socket-stream-client", - version: "0.4.0-beta230.3", + version: "0.4.0-beta230.4", summary: "Provides the ClientStream abstraction used by ddp-client", documentation: "README.md" }); diff --git a/packages/tinytest/package.js b/packages/tinytest/package.js index 4369961b45..089fc84790 100644 --- a/packages/tinytest/package.js +++ b/packages/tinytest/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Tiny testing framework", - version: '1.1.1-beta230.3' + version: '1.1.1-beta230.4' }); Package.onUse(function (api) { diff --git a/packages/twitter-config-ui/package.js b/packages/twitter-config-ui/package.js index 9932d3c00b..96468138ae 100644 --- a/packages/twitter-config-ui/package.js +++ b/packages/twitter-config-ui/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Blaze configuration templates for Twitter OAuth.", - version: "1.0.1-beta230.3" + version: "1.0.1-beta230.4" }); Package.onUse(function(api) { diff --git a/packages/twitter-oauth/package.js b/packages/twitter-oauth/package.js index 8f00853a64..43649964e5 100644 --- a/packages/twitter-oauth/package.js +++ b/packages/twitter-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Twitter OAuth flow", - version: "1.3.0-beta230.3" + version: "1.3.0-beta230.4" }); Package.onUse(function(api) { diff --git a/packages/typescript/package.js b/packages/typescript/package.js index fcc068cbc1..612551f80a 100644 --- a/packages/typescript/package.js +++ b/packages/typescript/package.js @@ -1,6 +1,6 @@ Package.describe({ name: "typescript", - version: "4.3.2-beta230.3", + version: "4.3.2-beta230.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 0dc79999e2..7b4564f63f 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.11.0-beta230.3' + version: '1.11.0-beta230.4' }); Npm.depends({"basic-auth-connect": "1.0.0", diff --git a/packages/weibo-config-ui/package.js b/packages/weibo-config-ui/package.js index bf00a5d16f..96e2ab2520 100644 --- a/packages/weibo-config-ui/package.js +++ b/packages/weibo-config-ui/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Blaze configuration templates for Weibo OAuth.", - version: "1.0.2-beta230.3", + version: "1.0.2-beta230.4", }); Package.onUse(api => { diff --git a/packages/weibo-oauth/package.js b/packages/weibo-oauth/package.js index 6cf8ad9f11..4d9a1462bd 100644 --- a/packages/weibo-oauth/package.js +++ b/packages/weibo-oauth/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "Weibo OAuth flow", - version: "1.3.0-beta230.3", + version: "1.3.0-beta230.4", }); Package.onUse(api => { diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 233ae58f66..8cc494af3a 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "2.3-beta.3", + "version": "2.3-beta.4", "recommended": false, "official": false, "description": "Meteor"