Commit Graph

19478 Commits

Author SHA1 Message Date
Ben Newman
3e0033c19c Bump package versions for 1.5.2-beta.13 release.
I had a network interruption while trying to upload 1.5.2-beta.12, so I
decided to skip that version.
release/METEOR@1.5.2-beta.13
2017-08-22 21:14:39 -04:00
Ben Newman
754b0c5abc Merge branch 'devel' into release-1.5.2 2017-08-22 20:55:33 -04:00
Hugh Willson
cd5405437c Visually notify of uncaught exceptions breaking client tests (#9034)
* Visually notify of uncaught exceptions breaking client tests

These changes add a global `window.onerror` event handler
to the `test-in-browser` package, to catch any previously
uncaught exceptions. When uncaught exceptions are found,
an alert box is displayed above the test results table.
This should help notify developers of hidden uncaught
exceptions that could be preventing client tests from
running.

Fixes #4979.

* Bump the test-in-browser package version
2017-08-22 20:52:30 -04:00
Ben Newman
55be71b86f Merge pull request #9031 from meteor/patch-node-4.8.4-to-fix-segfaults
Patch Node 4.8.4 to fix segmetation faults.
2017-08-22 20:15:37 -04:00
Ben Newman
05c8627be9 Run ./meteor --get-ready instead of just ./meteor --help.
A while back we switched from running `./meteor --get-ready`, a command
that takes many minutes and sometimes runs out of memory, to just running
`./meteor --help` to prepare for self-tests.

The hope was that `./meteor --help` would fail less often, and the work
that would have been done by `./meteor --get-ready` would be spread out
through the actual tests. This helped, I think, but we've been seeing
quite a few self-test failures due to unreliable timing of the actual
tests, so I'd like to try shifting the balance back.

I'm pushing this to the branch with our patched Node 4.8.4, because
that branch should have a lower risk of segmentation faults, which may
allow `./meteor --get-ready` to succeed more often.

This is a bit of a shot in the dark, admittedly, but I want to see what
happens. 🤞
2017-08-22 19:26:55 -04:00
Ben Newman
e2fe03a643 Add note to History.md about patching Node 4.8.4. 2017-08-22 16:41:01 -04:00
Ben Newman
e2f0bed272 Bump $BUNDLE_VERSION to 4.8.34 before rebuilding dev bundle. 2017-08-22 16:41:01 -04:00
Ben Newman
31c403c33f Update NODE_BUILD_NUMBER to latest Jenkins build, 33. 2017-08-22 16:41:01 -04:00
Jesse Rosenberger
77d41a7084 Build Node.js with ICU support.
To remain the same as official Node.js releases, we need to build with
the `small-icu` ICU (International Components for Unicode) package.
For Node.js 4.x this means ICU 56.x.  As found with `process.config` on
an official Node.js release.

See https://github.com/nodejs/node/wiki/Intl#configure-node-with-specific-icu-source.
2017-08-22 16:41:01 -04:00
Ben Newman
955bce8096 Bump $BUNDLE_VERSION to 4.8.33 before rebuilding dev bundle. 2017-08-22 16:41:01 -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
Ben Newman
857841c20d Bump $BUNDLE_VERSION to 4.8.32 before rebuilding dev bundle. 2017-08-22 16:41:01 -04:00
Ben Newman
8e7815b43a Try downloading Node from S3 if version exists. 2017-08-22 16:41:01 -04:00
Ben Newman
77becc6bfe Make sure the Node build directory gets deleted. 2017-08-22 16:41:01 -04:00
Ben Newman
984548d671 Add standalone script for building Node on Jenkins.
This commit revives the script that was removed last year by
a4ff6b73d3, when we switched from building
our own version of Node to downloading the prebuilt release.

The new implementation comes from @abernix's work on this branch:
https://github.com/meteor/meteor/tree/abernix/dev-bundle-from-hash
2017-08-22 16:41:01 -04:00
Ben Newman
7654d93b1a Run printenv before every self-test group, to verify env vars. 2017-08-22 16:40:23 -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
12987a0926 Double test timeouts to cope with recent Circle CI flakiness. 2017-08-22 15:05:57 -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
Ben Newman
e4a8247282 Merge branch 'devel' into release-1.5.2 2017-08-21 16:27:38 -04:00
Hugh Willson
5319b4800c Add the missing meteor list --tree History.md entry (#9025) 2017-08-21 16:26:14 -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
87181a68e8 Upgrade uglify-js to version 3.0.28. 2017-08-21 15:59:01 -04:00
Ben Newman
27d3584b79 Bump package versions for 1.5.2-beta.11 release. release/METEOR@1.5.2-beta.11 2017-08-17 10:11:04 -04:00
Ben Newman
d2213f0288 Merge branch 'devel' into release-1.5.2 2017-08-17 10:08:20 -04:00
Ben Newman
70ab06aa94 Undo coffeescript-related changes made on release-1.5.2.
This will make it easier to merge devel into release-1.5.2, since devel
now contains the final verison of these changes, as implemented by
@GeoffreyBooth in #9018.

Revert "Bump coffeescript package version to 1.13.0."
This reverts commit d727ad02a7.

Revert "Move coffeescript and coffeescript-test-helper packages back into core. (#8960)"
This reverts commit eb3c7dd344.

Revert "Split coffeescript package into coffeescript / coffeescript-compiler."
This reverts commit 8344cbf59d.

Revert "Instructions for how to test the coffeescript package"
This reverts commit 491cbc3bfe.
2017-08-17 10:05:28 -04:00
Ben Newman
65c8b481e2 Specify a few more version constraints in coffeescript packages.
Small follow-up to #9018.

Note (especially @GeoffreyBooth): these version constraints do two things:
(1) specify a minimum version, and (2) fix the major version. In other
words, the coffeescript package should not need to be republished when we
publish new minor versions of these core packages in Meteor 1.5.2 or 1.6.

When/if we publish a new major version of these packages, the coffeescript
package can simply bump its version constraints, but that probably won't
happen any time soon. I think that's reasonable because a major version
bump suggests there are some significant changes that need to be
acknowledged by dependent packages.
2017-08-17 09:44:13 -04:00
Ben Newman
568e695eeb Merge pull request #9018 from GeoffreyBooth/coffeescript-compiler-split-2
Split coffeescript package, take 2.
2017-08-17 08:53:19 -04:00
Geoffrey Booth
4bd17e3f30 Fix syntax of api.mainModule 2017-08-16 12:37:31 -07: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
Geoffrey Booth
6a612f4213 Fix coffeescript-compiler version; make more ecmascript-y 2017-08-15 18:19:48 +00:00
Geoffrey Booth
27c6a52d35 Fix coffeescript / coffeescript-compiler dependency versions 2017-08-15 16:52:40 +00:00
Geoffrey Booth
89af934b54 Fix coffeescript package version to same as coffeescript-compiler; update documentation 2017-08-15 16:40:27 +00:00
Geoffrey Booth
dd6a0f703b Move all coffeescript* packages back into non-core 2017-08-15 10:23:54 +00:00
Ben Newman
3677e17a23 Bump coffeescript package version to 1.13.0.
This Meteor package version does not need to track the npm version of the
coffeescript package, and probably should not change as often as the
version of the packages/non-core/coffeescript-compiler package.
2017-08-15 10:22:53 +00:00
Geoffrey Booth
13fb390bc7 Move coffeescript and coffeescript-test-helper packages back into core. (#8960)
They depend on core packages like caching-compiler, but coffeescript-compiler
can remain in non-core, so it can update more frequently as npm coffeescript
gets updated.
2017-08-15 10:21:18 +00:00
Geoffrey Booth
e4c0240179 Split coffeescript package into coffeescript / coffeescript-compiler. 2017-08-15 10:21:17 +00:00
Geoffrey Booth
0d65440fe0 Instructions for how to test the coffeescript package 2017-08-15 10:21:16 +00:00
Geoffrey Booth
7b8a5f3ab8 Bump CoffeeScript version 2017-08-15 10:21:16 +00:00
Ben Newman
3c98a605ad Merge branch 'devel' into release-1.5.2 2017-08-14 22:35:15 -04:00
Ben Newman
34b0237364 Avoid api.export("process") in modules package.js.
Declaring a package-local variable called `process` in the `modules`
package causes uglify-js not to replace `process.env.NODE_ENV` with a
string literal value in any `node_modules` contained by the `modules`
package, which causes React Dev Tools to display a warning.
2017-08-14 22:32:19 -04:00
Ben Newman
d727ad02a7 Bump coffeescript package version to 1.13.0.
This Meteor package version does not need to track the npm version of the
coffeescript package, and probably should not change as often as the
version of the packages/non-core/coffeescript-compiler package.
2017-08-14 18:34:55 -04:00
Geoffrey Booth
eb3c7dd344 Move coffeescript and coffeescript-test-helper packages back into core. (#8960)
They depend on core packages like caching-compiler, but coffeescript-compiler
can remain in non-core, so it can update more frequently as npm coffeescript
gets updated.
2017-08-14 18:07:04 -04:00
Geoffrey Booth
8344cbf59d Split coffeescript package into coffeescript / coffeescript-compiler. 2017-08-14 13:40:09 -04:00
Geoffrey Booth
491cbc3bfe Instructions for how to test the coffeescript package 2017-08-14 13:40:09 -04:00
Geoffrey Booth
eb78811070 Bump CoffeeScript version 2017-08-14 13:40:09 -04:00
Ben Newman
86b82169d0 Replace for-in loops in minimongo package with Object.keys/forEach.
This fixes a problem reported by @arggh:
https://github.com/meteor/meteor/pull/8913#issuecomment-322048927

The problem appears to have been introduced by this commit:
2c5094fa0c

The reason this commit was problematic is that it turned several
Object.keys/forEach loops into for-in loops, which caused a few unchanged
return statements to take on a new meaning: instead of "continuing" the
loop by returning from the forEach callback function, the return
statements now returned from the enclosing function:
2c5094fa0c (commitcomment-23638205)
2c5094fa0c (commitcomment-23638216)

Besides this refactoring hazard, what else is wrong with for-in loops?

First, for-in loops iterate over not only own but also inherited keys,
which makes them not exactly equivalent to Object.keys/forEach, which
iterates over only own keys. Another way to address that problem is to
initialize this.queries to Object.create(null) instead of {} (which I've
also done in this commit), so that there is no prototype chain.

Second, for-in loops are a trigger for deoptimization in V8:
https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#5-for-in

Since 2c5094fa0c was supposed to be about
improving performance, and these changes introduced some logical problems
as well, I think it's best that we avoid for-in loops.
2017-08-14 13:35:35 -04:00
Ben Newman
2dabbf0b60 Make timing of minimongo observeChanges test more reliable. 2017-08-14 12:30:16 -04:00
Ben Newman
9ba9a359f5 Update Blaze submodule to latest master version.
Specifically, this version corresponds to the branch
https://github.com/meteor/blaze/commits/revert-html5-tests, which is based
on the current master branch tip
621608c823
with one additional commit:
6a82100e09.

cc @mitar @abernix
2017-08-14 12:19:36 -04:00