From cafe4cc0844592c1a0743433a89f4869709b0fee Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 8 Feb 2017 11:00:00 -0500 Subject: [PATCH 1/4] Fix bad npm package stripping logic introduced to fix #8136. When `start + maxPartCount > parts.length`, this code was comparing array holes to strings, leading to unpredictable results. Blame: 2613582311824481b395e06b36a17b26290c607b --- tools/isobuild/bundler.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/isobuild/bundler.js b/tools/isobuild/bundler.js index 96799cc47d..a419f9ef7b 100644 --- a/tools/isobuild/bundler.js +++ b/tools/isobuild/bundler.js @@ -469,6 +469,12 @@ export class NodeModulesDirectory { const start = parts.lastIndexOf("node_modules") + 1; + if (start >= parts.length) { + // If "node_modules" is the final part, then there's nothing + // futher to examine, yet. + return true; + } + if (parts[start] === ".bin") { if (start === parts.length - 1) { // Permit node_modules/.bin directories, so that we can filter @@ -489,7 +495,7 @@ export class NodeModulesDirectory { } // Strip away any parts not related to the package name. - parts.length = start + maxPartCount; + parts.length = Math.min(start + maxPartCount, parts.length); let tree = prodPackageTree; From a301184a3fd4942050d23c3913a32e9ad93d9326 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 8 Feb 2017 12:04:06 -0500 Subject: [PATCH 2/4] Bump package versions for 1.4.2.6-rc.0 release. --- 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 31e44a77fd..01f06c092a 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: '1.4.2_5' + version: '1.4.2-6-rc.0' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-experimental.json b/scripts/admin/meteor-release-experimental.json index 2f4e5f8e94..450c2f8cb6 100644 --- a/scripts/admin/meteor-release-experimental.json +++ b/scripts/admin/meteor-release-experimental.json @@ -1,6 +1,6 @@ { "track": "METEOR", - "version": "1.4.2.5-rc.1", + "version": "1.4.2.6-rc.0", "recommended": false, "official": false, "description": "Meteor" From f919dab834b45e65ebf9002bc649f0a7ab9153c8 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 8 Feb 2017 13:23:40 -0500 Subject: [PATCH 3/4] Update History.md to reflect changes in 1.4.2.6. --- History.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/History.md b/History.md index 5e909b3027..b329686b4e 100644 --- a/History.md +++ b/History.md @@ -1,5 +1,13 @@ ## v.NEXT +## v1.4.2.6 + +* Fixed a critical [bug](https://github.com/meteor/meteor/issues/8325) + that was introduced by the fix for + [Issue #8136](https://github.com/meteor/meteor/issues/8136), which + caused some npm packages in nested `node_modules` directories to be + omitted from bundles produced by `meteor build` and `meteor deploy`. + ## v1.4.2.5 * Reverted [#8213](https://github.com/meteor/meteor/pull/8213) as the From 351e05ddf4f239dca89e1aaa40c2b1a8b1220450 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Wed, 8 Feb 2017 13:25:04 -0500 Subject: [PATCH 4/4] Bump package versions for the official 1.4.2.6 release. --- packages/meteor-tool/package.js | 2 +- scripts/admin/meteor-release-official.json | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/meteor-tool/package.js b/packages/meteor-tool/package.js index 01f06c092a..d4a06c64df 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: '1.4.2-6-rc.0' + version: '1.4.2_6' }); Package.includeTool(); diff --git a/scripts/admin/meteor-release-official.json b/scripts/admin/meteor-release-official.json index 01f6076994..d77b41363d 100644 --- a/scripts/admin/meteor-release-official.json +++ b/scripts/admin/meteor-release-official.json @@ -1,7 +1,14 @@ { "track": "METEOR", - "version": "1.4.2.5", - "patchFrom": ["1.4.2", "1.4.2.1", "1.4.2.2", "1.4.2.3", "1.4.2.4"], + "version": "1.4.2.6", + "patchFrom": [ + "1.4.2", + "1.4.2.1", + "1.4.2.2", + "1.4.2.3", + "1.4.2.4", + "1.4.2.5" + ], "recommended": false, "official": true, "description": "The Official Meteor Distribution"