This includes https://github.com/laverdet/node-fibers/pull/429, fixing the
CPU spikes reported and discussed here: https://github.com/meteor/meteor/pull/10527#issuecomment-567982128
Using an official fibers release rather than a GitHub URL is preferable
because it doesn't require building fibers from source when deploying a
Meteor app to production, and also doesn't rely on GitHub being
operational, though of course it does rely on other networked services
like npm.
Apparently calling v8::Isolate::AdjustAmountOfExternalAllocatedMemory
frequently results in lots of wasted CPU cycles on garbage collection, per
discussion here: meteor/meteor#10527 (comment)
This fix was inspired by marudor/libxmljs2#22, which seems to have
addressed nodejs/node#30995.
Another project that benefitted from adjusting external allocated memory
less often: mapnik/node-mapnik#136
Should help with #10795.
Also updating the meteor-babel and @babel/runtime versions in the dev
bundle, though there is no need to rebuild the dev bundle immediately.
We don't need to build a whole new dev bundle just for this upgrade, since
we've already worked around the bug that it fixes, but it will get picked
up the next time we build the dev bundle for Meteor 1.8.2.
Though this is a major update according to the version number (previously
2.0.0 in Meteor 1.8.0.1), we have observed no backwards-incompatible
changes so far.
Since these packages aren't published to the npm registry, they can be made private to avoid unnecessary warnings about missing description, repository, and license fields when installing server dependencies and generating dev bundles.
The pull request corresponding to our fork is not going to be merged, so
it's better to use the alternative this.finished API available in newer
versions of the upstream package.
https://github.com/williamkapke/node-eachline/pull/4
The pull request corresponding to our fork is not going to be merged, so
it's better to use the alternative this.finished API available in newer
versions of the upstream package.
https://github.com/williamkapke/node-eachline/pull/4
This is a change that was necessary on the wip-upgrade-to-node-6 branch,
and it seems better to ship it sooner rather than waiting:
meteor/meteor@d823812e85
Most notably, this update provides error stack traces that include context
from Promise.await calls and await expressions, so (for example) you can
tell where a certain yielding files.* method was originally called,
instead of only getting a useless native stack trace.
These packages need to be installed when we run `npm install` in
`bundle/programs/server` (which this commit ensures), but they don't need
to be part of the dev bundle.