Commit Graph

20614 Commits

Author SHA1 Message Date
Ben Newman
ebe51997d6 Bump package versions for 1.6.1-rc.3 release. release/METEOR@1.6.1-rc.3 2018-01-12 12:20:49 -05:00
Ben Newman
de9bf8e29f Bump $BUNDLE_VERSION to 8.9.17 before rebuilding dev bundle. 2018-01-11 20:19:29 -05:00
Ben Newman
afe1ba7044 Update meteor-babel and reify to latest versions.
https://github.com/meteor/meteor/pull/9274#issuecomment-354870359
46109280c2
2018-01-11 20:17:07 -05:00
Ben Newman
49f9c7b087 Add failing ecmascript test-case of nested imports in class methods.
Thanks to @CaptainN for reporting this:
https://github.com/meteor/meteor/pull/9274#issuecomment-354870359
https://github.com/meteor/meteor/pull/9274#issuecomment-356988553

Only the `import { testExport as oyez } ...` in `method` is problematic
here, though I wanted to add some tests of class properties as well.
2018-01-11 20:17:07 -05:00
Ben Newman
d4bf359b71 Fix test warnings by depending on semver in package-version-parser. 2018-01-11 13:27:56 -05:00
Ben Newman
96d8d86638 Make CallbackLogger#expectNoResults more reliable.
We've seen some recent intermittent test failures because previous
CallbackLogger results were accidentally carried over when there should be
no results. This change allows running a callback function after resetting
logger._log.length to 0, to ensure the callback adds nothing to the log.
2018-01-11 13:27:54 -05:00
Ben Newman
667dd0700b Define global.Promise if missing. 2018-01-11 13:27:52 -05:00
Ben Newman
d9553a8243 Reenable cordova-builds self-test, which would have caught #9521.
Self-tests that are marked as "slow" are not run automatically for pull
requests, but they should be run before a release.

It was a mistake to publish the first Meteor 1.6.1 release candidate
without running these "slow" tests, as the cordova-builds test would have
caught the problem reported by @macrozone in #9521.

I've decided to remove the "slow" marker from this test, since it's
important for checking Cordova sanity, and clearly could fail.
2018-01-11 11:57:31 -05:00
Jesse Rosenberger
4a4b3dd2ed Bake the locale into the CircleCI build image. 2018-01-11 11:57:31 -05:00
Jesse Rosenberger
34ce287d31 Use a custom base image for CircleCI tests.
In order to install Gradle, which is required for Cordova tests to run
in the Meteor self-test suite, this image slightly builds upon the
CircleCI image we'd been using previously.
2018-01-11 11:57:31 -05:00
Ben Newman
fc822ce1e0 Attempt to run Circle CI tests in Docker containers with Android.
This is potentially a big change, though it should (with any luck) make
tests faster, and allow us to better test Cordova functionality (at least
as far as Android is concerned). For example, if this works, we won't have
to mark the "cordova builds with server options" self-test "slow" again,
which would (re)disable it during Circle CI test runs.

cc @abernix @hwillson
2018-01-11 11:57:31 -05:00
Ben Newman
40a0e5b917 Merge branch 'devel' into release-1.6.1 2018-01-11 11:55:36 -05:00
Jesse Rosenberger
f551a56f93 Merge pull request #9512 from hwillson/issue-5127
Pass login type to client side Accounts.onLogin callbacks
2018-01-10 09:07:18 -08:00
Dan Minshew
343a62c547 Update license range for 2018 🎉 (#9523) 2018-01-10 11:48:06 -05:00
James Burgess
3638897939 Regression test for prototype and non-enumerable properties in minimongo (#9516) 2018-01-10 11:44:39 -05:00
James Burgess
ed98a07125 Do not suppress logging of errors that have the expected flag (#9515)
* Change error suppressing property in livedata_connection.js
Fixes #6912
Switched the property from `expected` to `_expectedByTest`

* Update History.md and bump package patch versions
2018-01-10 11:43:19 -05:00
James Burgess
616bab64aa Attempt meteor --get-ready three times in AppVeyor tests (#9518) 2018-01-10 11:42:04 -05:00
Ben Newman
c45e90d24f Bump package versions for 1.6.1-rc.2 release. release/METEOR@1.6.1-rc.2 2018-01-09 19:33:30 -05:00
Ben Newman
dd1d21daaf Bump $BUNDLE_VERSION to 8.9.16 before rebuilding dev bundle. 2018-01-09 12:54:03 -05:00
Ben Newman
991fb5ea86 Rename Boilerplate#toHTML to toHTMLStream and deprecate toHTML.
PR #9343 changed the return type of Boilerplate#toHTML from String to
Stream, which is likely to break existing code that expects a string.

In order to make the change in return type more obvious, I have renamed
the method to toHTMLStream, and I have attempted to update all call sites
appropriately. However, because this change comes in the release candidate
phase of Meteor 1.6.1 testing, it seemed important to preserve the
string-returning behavior of toHTML, with a deprecation notice.

Unless third-party code is using the Boilerplate class directly, I don't
think the toHTML method will ever be called, and we can remove it in
Meteor 1.6.2.

Thanks to @macrozone for tracking this problem down.

Fixes #9521.
2018-01-09 12:12:11 -05:00
Ben Newman
573f14f171 Allow EnvironmentVariable#withValue callbacks to return Promises.
As a happy side-effect, this also allows buildmessage.enterJob callbacks
to be async and/or return Promises.
2018-01-09 11:46:02 -05:00
Simon Schick
b3470fd0ab Added back the possibility to use IstanbulJS as plugin (#9494)
These changes are needed to get the plugin meteor-coverage working. IstanbulJS (shipped with meteor-coverage), can only generate the coverage-report for the code loaded after it's initialization. This is why the code, the plugin meteor-coverage contains, must be executed before the code is loaded, which should be tracked in the code-coverage. A suitable check I found was when a debugger isn't used, which makes it impossible to use code-coverage and the debugger at the same time. It's the only feasible condition I could come up with.

The package meteor-coverage also registers a hook of IstanbulJS which overwrites `vm.runInThisContext()` in order to start the coverage. As of now, IstanbulJS does not support overwriting `vm.Script.runInThisContext()`.
2018-01-09 11:13:48 -05:00
Ben Newman
49ff5bcb33 Update meteor-babel and reify to latest versions.
Fixes #9504.
2018-01-09 10:59:51 -05:00
Ben Newman
cc70c62983 Reduce noisiness of WebSocket disconnection errors.
https://github.com/meteor/meteor/pull/9274#issuecomment-355241004

The `Error in connection establishment: net::ERR_CONNECTION_REFUSED`
message will still repeat every few seconds, but devtools should coalesce
it into a single line with an incrementing counter, as before.
2018-01-04 14:40:45 -05:00
Ben Newman
40f5abd9a6 Bulk-update History.md with notable changes in Meteor 1.6.1. 2018-01-03 16:21:16 -05:00
Ben Newman
5e38bd5758 Bump package versions for 1.6.1-rc.1 release. release/METEOR@1.6.1-rc.1 2018-01-03 14:48:21 -05:00
Ben Newman
6f9d07b977 Try loading SockJS dynamically after native WebSocket errors.
This is a back-port of a similar change on the web.browser.legacy branch:
b8601d3ce7

To save size in modern browsers, JavaScript bundles built for the
web.browser architecture no longer statically include the SockJS library.
That's safe as long as native WebSockets actually work, but what if
there's a problem with the network that necessitates falling back to
long-polling or some other SockJS strategy?

In those cases, we can load SockJS using a dynamic import(), which is a
little slower than including it in the bundle, but that's OK because the
module will be permanently cached in IndexedDB in production, and falling
back to SockJS should be rare in modern browsers anyway.

Note that this trick would not be possible if the implementation of
dynamic import() still required a socket connection! (#9384)
2018-01-03 14:43:49 -05:00
Hugh Willson
04a1eff87b Add PR link to History.md and bump package version 2018-01-03 14:13:54 -05:00
Ben Newman
56da9bed3f Bump $BUNDLE_VERSION to 8.9.15 before rebuilding dev bundle. 2018-01-03 13:57:27 -05:00
Ben Newman
cca8ee4fa4 Upgrade Node to version 8.9.4.
https://nodejs.org/en/blog/release/v8.9.4/
2018-01-03 13:38:57 -05:00
Hugh Willson
a638475a61 Pass login type to client side Accounts.onLogin callbacks
Client side `Accounts.onLogin` callbacks are triggered after a
successful login, but they're also triggered after a successful
DDP reconnect (if already logged in). As discussed in #5127,
some people think this is the correct behaviour, while others
feel that `onLogin` callbacks should really only fire after a
user has actually logged in (e.g. after using something like
`Meteor.loginWithPassword`). Since people are split on the
proper approach here, an alternative solution would be to
provide client side `Accounts.onLogin` callbacks with a way
to tell if they're being called after a login or after a
reconnect, then let them decide what to do.

Server side `Accounts.onLogin` callbacks receive an object that
contains various login details. One of those items is a login
`type`, that can hold values like `password`, `resume`, etc.
When a user completes a true password based login, the returned
login `type` is `password`. When the user is already logged in
but undergoes a DDP disconnect + reconnect, the returned login
`type` is `resume`. This means server side `Accounts.onLogin`
callbacks have a way to tell which type of login is happening,
allowing them to respond accordingly.

This PR adjusts client side `Accounts.onLogin` callbacks such
that they also receive a single login details object, that
contains login type information. Unlike the server side login
details object, the client side login details object only
contains the login type (to help reduce network transfer
overhead, make sure we're not exposing server details on the
client we shouldn't be, etc.).

This approach should give developers a better way to respond to
different client side login types, and act accordingly.

Fixes #5127.
2018-01-03 13:36:54 -05:00
Ben Newman
d8989653e5 Bump package versions for 1.6.1-rc.0 release. release/METEOR@1.6.1-rc.0 2018-01-03 10:50:02 -05:00
Ben Newman
da02835f0a Merge branch 'devel' into release-1.6.1 2018-01-03 10:49:37 -05:00
Hugh Willson
da67406b89 Add missing ecmascript dependency to accounts-* packages (#9507)
All external service `accounts-*` packages (`accounts-facebook`,
`accounts-github`, etc.) are currently using ES2015 syntax, but
do not explicitly declare a dependency on the `ecmascript`
package. This means the ES2015 syntax being used is not
transpiled by Meteor, and can lead to issues like #9506.
Since `accounts-base` and `accounts-password` both already
have `ecmascript` as a dependency, this PR adds an `ecmascript`
dependency to all external service `accounts-*` packages.

Fixes #9506.
2018-01-03 10:33:45 -05:00
Ben Newman
1170b95b0f Bump $BUNDLE_VERSION to 8.9.14 before rebuilding dev bundle. 2017-12-30 14:16:42 -05:00
Ben Newman
b35ce7d168 Update meteor-babel to version 7.0.0-beta.36. 2017-12-30 14:02:58 -05:00
Ben Newman
3f8c90a29f Bump accounts-base patch version to 1.4.1 before republishing.
Fixes #9492 (good catch @skirunman!)
2017-12-21 12:56:08 -05:00
Hugh Willson
bdf8091687 Update meteor create --full to use meteortesting:mocha (#9489)
This commit updates the `meteor create --full` app skeleton to use `meteortesting:mocha`
(and npm based `chai`), instead of the deprecated `practicalmeteor:mocha` package.
2017-12-20 18:45:03 -05:00
Ben Newman
b19e8a6af0 Bump package versions for 1.6.1-beta.21 release. release/METEOR@1.6.1-beta.21 2017-12-20 18:32:31 -05:00
Ben Newman
bc28522e3f Bump $BUNDLE_VERSION to 8.9.13 before rebuilding dev bundle. 2017-12-20 15:21:09 -05:00
Ben Newman
bda490b637 Update various tool npm dependencies to latest versions. 2017-12-20 15:21:08 -05:00
Ben Newman
7b83066822 Return null from requireWithPrefixes when .babelrc plugin missing. 2017-12-20 15:21:08 -05:00
Ben Newman
29140f8c31 Copy rather than mutating .babelrc configuration objects.
Helps with #9469, since any extraneous "env" property will be removed from
the copied object.
2017-12-20 15:21:08 -05:00
Ben Newman
f1c3c0ad4e Try all {@babel/,babel-}{preset,plugin}- prefixes for .babelrc plugins. 2017-12-20 15:21:08 -05:00
Ben Newman
8fe0c41091 Update various @babel/runtime version constraints to -beta.35. 2017-12-20 15:21:08 -05:00
Adam Zionts
cc47278564 Updates information about Meteor CLI usage (#9462) 2017-12-20 14:48:08 -05:00
Ben Newman
8bf3484314 Update meteor-babel to version 7.0.0-beta.35-1.
f5b8d7f24c
2017-12-20 14:36:40 -05:00
Ben Newman
4268785ffe Bump package versions for 1.6.1-beta.20 release. release/METEOR@1.6.1-beta.20 2017-12-20 12:12:07 -05:00
Ben Newman
bd4ae26433 Merge branch 'devel' into release-1.6.1 2017-12-20 12:08:18 -05:00
Kevin Newman
23e3ac9677 Prefetch dynamic modules when appcache is active (#9482) 2017-12-20 12:06:23 -05:00