Commit Graph

6521 Commits

Author SHA1 Message Date
Ben Newman
754b0c5abc Merge branch 'devel' into release-1.5.2 2017-08-22 20:55:33 -04:00
Ben Newman
67b76abc78 Make node-gyp look for headers in dev_bundle/include/node.
Thanks to @abernix for identifying this solution to the duplication
between dev_bundle/include/node and dev_bundle/.node-gyp/*/node.
2017-08-22 16:41:01 -04:00
Hugh Willson
e027a46d71 Add missing CLI help for test/test-packages --driver-package (#9035) 2017-08-22 15:57:43 -04:00
Ben Newman
00ff851352 Avoid calling files.statOrNull(absPath) in readAndWatchFileWithHash.
This is performance-sensitive code, and I think this extra (uncached) call
to files.statOrNull could be contributing to test timeouts on Circle CI.

Follow-up to #9030.
2017-08-22 13:40:19 -04:00
Hugh Willson
b498c41401 Avoid creating a watcher when --settings is set to a directory (#9030)
As outlined in #3854, if `meteor --settings` points to a
directory instead of a file, an application gets caught up
in an infinite rebuild loop. Since it was assumed only a
file would be configured via `--settings`, a file watcher
is created for the specified directory, and that watcher
is then triggered ad infinitum.

These changes prevent a file watcher from being created
on a `--settings` directory.
2017-08-21 16:25:15 -04:00
Ben Newman
d2213f0288 Merge branch 'devel' into release-1.5.2 2017-08-17 10:08:20 -04:00
Jesse Rosenberger
d86b0c712e Be more considerate of interactive environments and expired tokens. (#9015)
If a login token is expired, or no longer valid, make sure that Meteor doesn't
just sit there at a login prompt that the user can't see.

This currently only applies if `headless` mode is enabled, though a follow-up
to this commit might consider setting `headless = true` automatically
in a CI environment using environment variables such as: `CI`, `TRAVIS`,
`JENKINS_URL`, etc., as the npm-registry-client does in a similar way.

See: https://github.com/npm/npm-registry-client/pull/129/files

Fixes #8839.
2017-08-16 11:21:53 -04:00
Jesse Rosenberger
5626ad7dee JUnit support for meteor self-test test runner. (#9014) 2017-08-16 11:21:07 -04:00
Lee Pender
092c0af3dc Add sizes necessary for legacy iOs icon support. (#9012) 2017-08-14 11:31:26 -04:00
Ben Newman
a7e8e27ca7 Move standard-minifiers self-test timeout *after* slow run.match. 2017-08-11 19:36:01 -04:00
Ben Newman
0e723593a6 Merge branch 'devel' into release-1.5.2 2017-08-11 15:23:39 -04:00
Ben Newman
93d0c5f2ba Merge pull request #9007 from meteor/immediately-dirty-optimistic-functions
Immediately dirty optimistic functions when relevant paths modified.
2017-08-11 15:22:49 -04:00
Ben Newman
4dfa9c3ae2 Add METEOR_WATCH_PRIORITIZE_CHANGED=false back to two self-tests. 2017-08-11 15:21:50 -04:00
Ben Newman
837f12c3c4 Add additional timeouts to 'update during run' self-test. 2017-08-11 15:21:50 -04:00
Ben Newman
56aea02723 Stop setting METEOR_WATCH_PRIORITIZE_CHANGED=false in self-tests.
Assuming #9007 fixes the file watcher timing problems, it should no longer
be necessary to disable the optimizations of #8866.
2017-08-11 15:21:50 -04:00
Jesse Rosenberger
5c011253f7 Change "expected" for meteor list command-line test.
This test doesn't actually run normally, as it's quite slow, but
started failing with the changes to #8936.  This fixes that!
2017-08-11 21:17:41 +03:00
Ben Newman
0f9c58d6b9 Immediately dirty optimistic functions when relevant paths modified.
Should fix #8988 and #8942.

Now that #8866 is the default behavior, it can take up to 5000ms for
changes to files modified during the build process to be noticed.

Before #8866, when we called e.g. files.writeFile(path), a native file
watcher would notice the change immediately, almost always before the
build process read the file again. This was definitely racy, but we were
getting away with it consistently... until #8866.

I was able to reproduce the problem in #8988 by running

  echo some-local-package-name >> .meteor/packages

in an app with a local package of the given name. After debugging the
endless rebuild cycle, I found that .meteor/versions was being rewritten
by files.writeFile during the build process, but the file watching system
was not noticing the change in time to prevent watch.isUpToDate from
returning true. The change was finally detected when restarting the
Watcher responsible for .meteor/versions, which of course triggered
another rebuild, so the same problem kept happening again and again.
2017-08-11 13:57:16 -04:00
Ben Newman
8d9fd49d02 Use urlParse instead of url.parse in meteor-services/config.js.
Looks like this was a neglected find/replace that should've happened in
10e8d7d08d (cc @abernix).
2017-08-10 15:16:56 -04:00
Ben Newman
e1b60a661e Use urlParse instead of url.parse in meteor-services/config.js.
Looks like this was a neglected find/replace that should've happened in
10e8d7d08d (cc @abernix).
2017-08-10 15:14:52 -04:00
Ben Newman
083b184bf6 Merge branch 'devel' into release-1.5.2 2017-08-10 15:01:44 -04:00
Hugh Willson
956d8dba45 Reinstate the mongo-dev-server package (#8853) (#8999) 2017-08-10 14:18:55 -04:00
Ben Newman
004c8d0fe1 Move .babelrc "env" test to imports directory of modules test app. 2017-08-10 13:44:39 -04:00
Ben Newman
2f7d221b91 Merge pull request #8995 from meteor/abernix/selftest-modern-devel
Modernize "Self Test" module, remove Underscore.
2017-08-09 11:10:34 -04:00
Ben Newman
789c0e433e Reinstate .babelrc "env" test, with more reliable NODE_ENV. 2017-08-08 19:33:51 -04:00
Ben Newman
b70449ae4d Remove .babelrc "env" test for now.
This has been failing consistently on Circle CI, so I'm disabling it until
I know how to fix it better: https://circleci.com/gh/meteor/meteor/5068
2017-08-08 19:19:19 -04:00
Ben Newman
cfdc69bf71 Support @~ version constraints and use them for core packages. (#8991) 2017-08-08 18:01:30 -04:00
Ben Newman
6de5c25fed Enable transform-do-expressions in production for modules test app.
The modules test app appears to be running with process.env.NODE_ENV equal
to "production" on Circle CI: https://circleci.com/gh/meteor/meteor/5030.

Enabling this transform in production as well as development is fine
because we primarily want to test that plugins from the "env" section of
.babelrc are respected, regardless of the value of process.env.NODE_ENV.
Using different plugins in production might be worth testing, too, but
that's less critical.

Follow-up to #8963.
2017-08-07 16:19:09 -04:00
Ben Newman
12efaef31a Merge branch 'devel' into release-1.5.2 2017-08-07 14:55:50 -04:00
Ben Newman
5f554ebfa0 Merge pull request #8972 from meteor/run-bare-files-before-eager-modules
Run all "bare" package files before requiring eager entry point modules.
2017-08-07 14:54:24 -04:00
Hugh Willson
b1fd243978 Reduce the "modules - test app" self-test start-up wait time.
The increased mongo connection timeout in 522d86dc4e
means that the we can decrease the "modules - test app" self-test
application start-up wait internval significantly (since mongo
will now start properly and the self-test can continue).
2017-08-07 14:53:37 -04:00
Hugh Willson
b061f4b765 Increase mongo connection timeout to reduce self-test mongo errors.
Certain self-test's like "modules - test app" are encountering
mongo connection timeout errors on some runs. Increasing the
connection timeout helps address these errors.
2017-08-07 14:53:37 -04:00
Jordan Brant Baker
77ecbabf60 Support "env" in .babelrc files. (#8963) 2017-08-07 13:23:56 -04:00
Jesse Rosenberger
6a913ef251 (cleanup) Remove spaces between imports, which are fairly random. 2017-08-07 18:55:36 +03:00
Jesse Rosenberger
6e16ba901e (ecmascript) Replace underscore with native ECMAScript methods. 2017-08-07 18:55:02 +03:00
Jesse Rosenberger
769ca736eb (ecmascript) Imports: utils.{randomPort,randomToken,sleepMs,timeoutScaleFactor}. 2017-08-07 18:53:32 +03:00
Jesse Rosenberger
22e63b6d14 Use execFileSync from processes.js, not utils.js.
Confusingly, we are using two different `execFileSync`s in self-test, seemingly
for no particular reason.
2017-08-07 18:53:31 +03:00
Jesse Rosenberger
2a7be19728 (ecmascript) Imports: files.
Just use the entire `files` import rather than selectively importing specific
methods since it has so many methods used.
2017-08-07 18:53:30 +03:00
Jesse Rosenberger
43644412b5 (ecmascript) Imports: child_process.{spawn,execFile}. 2017-08-07 18:53:30 +03:00
Jesse Rosenberger
b1bed468a4 Just use processes' execFileSync directly, not via self-test re-export. 2017-08-07 18:53:22 +03:00
Jesse Rosenberger
7d96bf38ce (ecmascript) Change var to const or let as appropriate. 2017-08-07 18:52:04 +03:00
Jesse Rosenberger
762b86dc84 (cleanup) Remove unused Future symbol. 2017-08-07 18:51:08 +03:00
Jesse Rosenberger
55877e8fda Add missing semicolon. 2017-08-07 18:51:07 +03:00
Jesse Rosenberger
f8512af522 (ecmascript) Change functions to arrow functions, and self => this.
There were not any functions which were using `this` in self-test - all were
using `self`.
2017-08-07 18:50:55 +03:00
Jesse Rosenberger
4c81df6f28 (ecmascript) Change remaining top-level requires to imports. 2017-08-07 18:46:11 +03:00
Jesse Rosenberger
db47c78f54 (ecmascript) Imports: allUpgraders. 2017-08-07 18:45:10 +03:00
Jesse Rosenberger
7c2fc97a5a (ecmascript) Imports: release.current => releaseCurrent. 2017-08-07 18:45:09 +03:00
Jesse Rosenberger
ac7b2399d2 (ecmascript) Imports: PackageMap class. 2017-08-07 18:45:08 +03:00
Jesse Rosenberger
cd9d2cf924 (ecmascript) Imports: isopackets.load. 2017-08-07 18:45:07 +03:00
Jesse Rosenberger
d70cdece80 (ecmascript) Imports: DEFAULT_TRACK catalog constant. 2017-08-07 18:45:06 +03:00
Jesse Rosenberger
c7826b9f64 (ecmascript) Imports: FinishedUpgraders class. 2017-08-07 18:45:06 +03:00