This may not be a complete fix for issue #8775, but I noticed while
debugging the issue that LocalCollection._removeDollarOperators isn't
removing nested $operators (as it seems like it should be):
d6c4281eeb/packages/minimongo/minimongo.js (L790)
cc @hwillson
This may not be a complete fix for issue #8775, but I noticed while
debugging the issue that LocalCollection._removeDollarOperators isn't
removing nested $operators (as it seems like it should be):
d6c4281eeb/packages/minimongo/minimongo.js (L790)
cc @hwillson
While this was helpful in one of the incarnations of the
bundle-visualizer during development it isn't relevant anymore since
the `.stats.json` will not be present in the bundle unless it was
created by a recent version of `standard-minifier-js` which passed
in `stats` (no older versions did this).
Removing this check will also make it possible for other minifiers to be
used with `bundle-visualizer` without them also needing to fork make
their own version.
This reverts commit c3b3550471.
Node 8 seems to do a better job than Node 6 of not crashing when memory is
running low, and asking for 8192MB caused an immediate segfault on our
Linux 32-bit build machines.
There have been a number of commits in the history for `rimraf` which
indicate others have also been struggling with ENOTEMPTY, specifically
on Windows.
https://github.com/isaacs/rimraf/commits/master
This commit, included in 2.6.1 takes a relatively aggressive approach:
d53235de86
However, due to the way the Windows filesystem is designed, this
approach may be the only way of coping with file-handles which are
cached by the OS and not released immediately upon closing a file
(in other words, at a time that Meteor would think it'd be safe to
remove the file/directory).
Attempts to help with meteor/meteor#8485.
This actually changed ages ago, in Node.js 0.11 via
fd3657610e
however the descriptive error message, which was previously
enabled with `true` as the third argument, was silently lost.
This reimplements the descriptive error message as mentioned in
https://github.com/meteor/meteor/issues/3200#issuecomment-289685677 by
@d-schiffner.
Witty as it may be, the contribution guidelines are already listed here (and I've cleaned them up a bit too) and I'm not sure if this terminology is encouraging anyone to contribute their (precious) time.
With Meteor 1.6 / Node 8, I noticed _buildLocalPackages taking multiple
seconds on initial server startup and restart, and the problem seems to be
that we call the global.gc function too often. This wasn't a problem in
previous versions of Node, as far as I know, but it makes sense to heed
the comment in tools/utils/gc.js, now that it matters.
The root of the problem was that the es5-ext npm package contains
directories called '#', e.g.
https://github.com/medikoo/es5-ext/tree/master/array/%23
These directory names were being sanitized to '' and thus ignored when
reserving paths in the Builder, which led to reservation conflicts later.
This commit fixes the problem in three different and independently
sufficient ways:
* Use files.mkdir_p instead of files.mkdir when creating parent
directories of written files.
* Replace illegal characters in sanitized paths with '_' instead of ''.
* Allow '#' in sanitized paths (only needs to be escaped in the shell, not
actually forbidden in paths).