Commit Graph

12 Commits

Author SHA1 Message Date
Jesse Rosenberger
0dac129770 Introduce os.windows.x86_64 architecture for 64-bit Windows.
This commit reverts much of the work @hwillson had put in place for
meteor/meteor#9173, which made it possible for 32-bit and 64-bit
Mongo versions to exist in harmony within the same dev-bundle.  That
hard work was not in vein though as it offered invaluable research.
Ultimately, this showed that a more aggressive approach would be ideal,
even if the proposed option would have worked great in the short-term.

In the wake of the news that Mongo would no longer be supporting 32-bit
versions, these changes are important so 32-bit users of Meteor can
continue to have a functioning Mongo binary in development, while still
allowing Meteor to ship newer Mongo (e.g. 3.4+) binaries for 64-bit
users.  This is particularly relevant for Windows users, who have
previously only had 32-bit Meteor builds and represented a majority of
"32-bit" development, despite the fact most of their hosts supported
64-bit.  During another time in Meteor's life, this made sense.

This commit takes improved functionality to the next level (and makes
the aforementioned changes obsolete) by introducing support for building
and shipping Meteor for Windows in a 64-bit flavor (in addition to
32-bit), which will hopefully solve a number of performance matters on
Windows by using binaries which are pre-compiled for 64-bit, rather than
forcing the Windows kernel to deal with 32-bit binaries.  While Windows
has shown it's quite capable of dealing with such a situation, it seems
more and more clear (given improvements in underlying dependencies) that
performance gains could be had by freeing Windows of its 32-bit work.

This commit also further perpetuates the "archinfo" plot-line with more
story (about Windows) and various spelling corrections.
2017-10-14 13:36:29 -04:00
Ben Newman
697e7ae0f7 Protect against null return values from getDevBundleForRelease. (#7841)
Fixes #7838.
2016-09-28 19:54:10 -04:00
Ben Newman
c475ffc161 Create .meteor/local directory if necessary for meteor {node,npm}.
Fixes #7546.
2016-08-01 20:37:42 -04:00
Ben Newman
35b387bdc1 Always default to checkout dev_bundle for meteor {node,npm}. 2016-07-17 13:09:06 -04:00
Ben Newman
d20dcbeab5 Don't let meteor {node,npm} fail if packages.data.db incomplete.
It's pretty strange that `data` can be undefined when there is no `error`,
but that's the API we're dealing with.
2016-07-14 14:39:38 -04:00
Ben Newman
73e44a3c9c Use .meteor/local/dev_bundle instead of .meteor/dev_bundle.
I'm deliberately leaving in the code to ensure .meteor/.gitignore contains
dev_bundle for now, so that the old file won't get accidentally checked
into anyone's app repository.
2016-07-14 11:47:30 -04:00
Ben Newman
1dac34f00c Store .meteor/dev_bundle target as text when symbolic linking fails.
This wouldn't work if .meteor/dev_bundle needed to be a true symbolic
link, but fortunately we just need to record the target path in a way that
allows us to read it later.

Fixes #7374.
2016-07-09 17:15:21 -04:00
Ben Newman
77feb7b76a Decompose readLink and makeLink helper functions.
Part of #7374.
2016-07-09 16:55:14 -04:00
Ben Newman
542891b65d Make meteor {node,npm} respect .meteor/dev_bundle when possible. 2016-07-07 15:24:25 -04:00
Ben Newman
b23ad6d85f Respect .meteor/release when running meteor {npm,node} from checkout. 2016-07-07 15:24:24 -04:00
Ben Newman
eadb6e65cc Ensure only one Promise constructor is ever used by tools code. 2016-07-07 11:04:18 -04:00
Ben Newman
f812762353 Infer dev_bundle for meteor {npm,node} from .meteor/release.
Fixes #7338.
Fixes #7297.
2016-07-06 21:00:40 -04:00