Commit Graph

5845 Commits

Author SHA1 Message Date
Ben Newman
136c2f8696 Don't let previous extraction attempts interfere with later ones. 2016-07-28 13:58:15 -04:00
Ben Newman
ed624147d7 Use native tar or 7z.exe for extracting tar.gz files when possible. 2016-07-28 13:58:15 -04:00
Tom Coleman
696de36549 More subtle logic for deciding when test files should be lazily loaded
The logic at the top of this function was basically just for the case of
"file is in imports but also a test file". But the logic caught up some
other edge cases, such as "file is in node_modules but also a test file".
2016-07-27 16:15:51 +10:00
Zoltan Olah
57cd28ad29 Merge pull request #7487 from VeliovGroup/devel
Update generated Readme file in builded app
2016-07-26 15:44:32 -07:00
Zoltan Olah
720c8cdd5f Merge pull request #7373 from meteor/laosb-override-warehouse-base-url
Ability to override the default warehouse url base
2016-07-26 15:13:00 -07:00
dr.dimitru
6b080d27ad Update generated Readme file in builded app
After running `meteor build` in created archive `Readme` file with next content:

```text
This is a Meteor application bundle. It has only one external dependency:
Node.js 0.10.40 or newer. To run the application:

  $ (cd programs/server && npm install)
  $ export MONGO_URL='mongodb://user:password@host:port/databasename'
  $ export ROOT_URL='http://example.com'
  $ export MAIL_URL='smtp://user:password@mailhost:port/'
  $ node main.js

Use the PORT environment variable to set the port where the
application will listen. The default is 80, but that will require
root on most systems.

Find out more about Meteor at meteor.com.
```

Since Meteor@1.4 requires nodejs@4.4.7 and fails on nodejs@0.10.*, generated `Readme` must be updated
2016-07-26 17:46:05 +03:00
Ben Newman
59942fd275 Update modules test app to Meteor 1.4. 2016-07-25 14:47:53 -04:00
Ben Newman
0c183c42b1 Bump compiler.BUILT_BY and LINKER_CACHE_SALT for good measure. 2016-07-25 11:51:29 -04:00
Wexpo Lyu
9581a6920c Update commands.js 2016-07-22 16:10:14 -04:00
Wexpo Lyu
317edd88ab Add a warning when use --production. 2016-07-22 16:10:13 -04:00
Dotan Simha
9003eb47b1 Updated the name of the example for angular 2 2016-07-22 16:10:13 -04:00
Dotan Simha
1c64d3a6da Added Angular2 to the example repositories 2016-07-22 16:10:12 -04:00
Ben Newman
918f9bddad Merge branch 'devel' into release-1.4 2016-07-20 14:03:47 -04:00
Ben Newman
83e87aaaef Revise PERFORMANCE.md now that constraint solutions are cached. 2016-07-19 12:26:35 -04:00
Ben Newman
7600571717 Revert "Make sure .meteor/.gitignore ignores .meteor/dev_bundle."
This reverts commit 9e6ebde836.

Now that the `dev_bundle` link is called `.meteor/local/dev_bundle`, and
`.meteor/local` is already ignored, we don't need to ignore
`.meteor/dev_bundle` anymore.
2016-07-19 11:52:31 -04:00
Ben Newman
dc28c29985 Update modules test app to Meteor 1.3.5.1. 2016-07-18 20:11:52 -04:00
Ben Newman
00c05facde Merge branch 'devel' into release-1.4 2016-07-18 14:52:14 -04:00
Ben Newman
39851fc6b0 Use known dev_bundle path for internal npm commands. 2016-07-17 21:26:53 -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
4e2615e3fc Use Buffer.concat instead of joining strings. 2016-07-17 13:08:37 -04:00
Ben Newman
576468eae8 Handle more errors in ensureDevBundleLink.
If a developer tried to `meteor update` a project whose `.meteor/release`
file corresponded to a version of `meteor-tool` that no longer exists in
`~/.meteor/packages/meteor-tool`, this code would throw an ENOENT error.
This could be fixed by running `meteor update --release <old release>`
first, but that kind of workaround shouldn't be necessary when updating
Meteor to the latest version.
2016-07-17 12:50:20 -04:00
Ben Newman
57ccaa27f9 Return an OS path for .meteor/local/dev_bundle. 2016-07-15 18:29:44 -04:00
Ben Newman
f08ea70a47 Print stack traces from failed meteor {node,npm} commands. 2016-07-15 18:29:13 -04:00
Ben Newman
a14bdc3774 Disable progress bar animations for internal npm commands.
https://github.com/npm/npm/issues/11283
2016-07-15 16:27:46 -04:00
Ben Newman
0f49be5973 Don't pass custom env to python.exe in addWindowsVariables.
The env isn't necessary, and it seems to cause problems running python.exe
in some Windows environments.
2016-07-15 16:27:46 -04:00
Ben Newman
578d40a753 Use node-gyp to infer GYP_MSVS_VERSION when possible.
As a refinement of my previous commit, we will continue setting the
$GYP_MSVS_VERSION variable to "2015" except in cases where the Python
library behind node-gyp succeeds in inferring the correct version.

Note that the Python library will never infer "2015" by itself, even
though that's the version recommended by the node-gyp setup instructions:

  https://github.com/nodejs/node-gyp#installation.

Note also that the Windows machines used by `meteor admin get-machine` and
build.meteor.com have version "2010e", which can be inferred.

In other words, this commit allows the following groups of developers to
avoid setting $GYP_MSVS_VERSION manually:

  1. Developers who followed the node-gyp setup instructions.
  2. Package authors who run `meteor publish-for-arch` on build machines.
2016-07-15 15:57:31 -04:00
Ben Newman
3c06050a25 Stop setting process.env.GYP_MSVS_VERSION for meteor npm.
Setting GYP_MSVS_VERSION to 2015 when the Visual C++ 2015 build tools are
not (and/or cannot be) installed is (in my experience) the leading cause
of `npm rebuild` failures on older Windows machines.

Auto-detecting the appropriate version is something node-gyp ought to be
able to do as well as Meteor possibly could, at least according to
https://github.com/nodejs/node-gyp/blob/1dcf356ca7/gyp/pylib/gyp/MSVSVersion.py#L222-L223

When selecting a different version is important, you can always set the
GYP_MSVS_VERSION environment variable yourself. Specifically, if you're a
package author, and your package depends on npm packages that can only be
compiled with a newer version of MSBuild.exe, then you might need to run

  $env:GYP_MSVS_VERSION = "2015"
  meteor publish-for-arch name:package@x.y.z

I fully trust that the folks in that small category can handle that
additional burden.
2016-07-15 12:42:49 -04:00
Ben Newman
5941000603 Write empty package.json to avoid warnings when installing from shrinkwrap. 2016-07-15 12:42:49 -04:00
Ben Newman
e85cef8e1a Make download resumption test faster and more deterministic.
We now use a smaller file (the `babel-compiler` archive instead of
`meteor-tool`), and we interrupt every 500kB, which leads to three total
interruptions for that file. Also, we only delay one second (instead of
five) between attempts.
2016-07-14 17:00:08 -04:00
Ben Newman
91f203999b Make download resumption test always run (and pass).
This is a test that really needs to run and pass every time we run the
test suite, so I decided it shouldn't be --slow. If it takes too long, we
can always download a smaller test file.

Hard-coding the download length was a recipe for brittleness, so now I'm
downloading the file without interruptions in parallel with the
interrupted/resumed download, so that we can compare the two files when
both have finished downloading.

Follow-up to #7399.
2016-07-14 16:05:35 -04:00
Ben Newman
7a530f79f6 Increase more test timeouts for robustness' sake. 2016-07-14 14:52:41 -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
f0e3522b3c Make autoupdate self-test more robust. 2016-07-14 13:53:53 -04:00
Ben Newman
9ae91e7b73 Rename upgrader that removes .meteor/dev_bundle. 2016-07-14 12:51:17 -04:00
Ben Newman
0c43039f60 Avoid fiberHelpers.bindEnvironment by returning Promise from attempt.
Follow-up to #7399.
2016-07-14 11:47:32 -04:00
Ben Newman
fbfb5b84e2 Avoid exposing httpHelpers._currentRequest.
Follow-up to #7399.
2016-07-14 11:47:32 -04:00
Tom Coleman
2cb3462b6d Minor fixes + added a comment 2016-07-14 11:47:32 -04:00
Tom Coleman
4a28c33dd7 Better logging and progress
Using Console.debug to register messages about retries.
2016-07-14 11:47:31 -04:00
Tom Coleman
36011459fa Made the test work in a sensible way 2016-07-14 11:47:31 -04:00
Tom Coleman
cc07c15b6b First pass at request resuming via buffering the range header
This is still a WIP, but I wanted to get feedback at this point.
Will update the PR with outstanding TODOs.
2016-07-14 11:47:30 -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
5e874bec93 Make $METEOR_NPM_REBUILD_FLAGS override default flags. 2016-07-14 11:47:29 -04:00
Ben Newman
46c0243fce Support additional meteor rebuild flags via environment variable. 2016-07-14 11:27:59 -04:00
Ben Newman
fa14798115 Pass --no-bin-links to npm rebuild to fix #7401. 2016-07-14 11:27:58 -04:00
Ben Newman
f4ac7dc448 Decompose npm-rebuild-args.js.
Helps with #7401.
2016-07-14 11:27:58 -04:00
Ben Newman
e90ce88b0e Fix a bug in tools/utils/http-helpers.js. 2016-07-14 11:27:58 -04:00
Ben Newman
0f4aedb7fb Call npm rebuild --update-binary in npm-rebuild.json. 2016-07-14 11:27:57 -04:00
Ben Newman
391a7a3134 Ensure parent directory exists in files.writeFileAtomically. 2016-07-14 11:27:56 -04:00
Ben Newman
69b100d21a Save .meteor/local/resolver-result-cache.json to improve startup performance. 2016-07-14 11:27:56 -04:00
Ben Newman
ea236fc9da Try harder to create .meteor/dev_bundle symlink.
May help with #7391.
2016-07-14 11:27:55 -04:00