Commit Graph

22356 Commits

Author SHA1 Message Date
George Ehrhorn
febb18922e Fix broken link (#9412)
The link to the ```tracker``` api was broken.
2017-11-24 11:34:56 -05:00
Ben Newman
f3c6460406 Merge pull request #9343 from meteor/jbaxleyiii/streaming-server-render
Improved server rendering, now with stream support.
2017-11-23 15:50:14 -05:00
Ben Newman
a8cf9c0804 Merge pull request #9409 from meteor/modernize-tinytest
Modernize tinytest by using ecmascript, and allow Tinytest.addAsync test functions to return Promise objects.
2017-11-23 15:47:14 -05:00
Ben Newman
b88cbab2a1 Handle errors from Promises returned by Tinytest.addAsync callbacks. 2017-11-23 14:17:49 -05:00
Jesse Rosenberger
204270694c Add support for a --retries flag to meteor self-test.
While running the tests three times might make a lot of sence in CI
environments, it certainly slows things down in development, especially
when you've failed a test on purpose, but still have to wait for it to
run three times to get the output.

This not only implements the `--retries` flag, but also activates it in
both CircleCI and AppVeyor test suites.
2017-11-23 18:39:34 +02:00
Ben Newman
e6758073bc Note Promise-awareness of Tinytest.addAsync in tinytest/README.md. 2017-11-22 21:11:27 -05:00
Ben Newman
8009351653 Simplify/modernize webapp tests. 2017-11-22 20:09:18 -05:00
Ben Newman
8dbd41719a End HTTP response when stream ends. 2017-11-22 20:09:18 -05:00
Ben Newman
54885bca3b Simplify async server-render tests. 2017-11-22 20:09:18 -05:00
Ben Newman
8aa2c627bc Improve appending to streams in boilerplate-generator. 2017-11-22 20:09:18 -05:00
Ben Newman
7f12cfde95 Simplify boilerplate-generator-tests. 2017-11-22 20:09:18 -05:00
Ben Newman
499a32ac8b Use ...spread elements instead of [].concat in boilerplate templates. 2017-11-22 20:09:18 -05:00
James Baxley
d17683eb98 remove memoization of requests 2017-11-22 20:09:18 -05:00
James Baxley
7ef237f99c refactored to a single stream api 2017-11-22 20:09:18 -05:00
James Baxley
0f78f5cde1 update readme for server sink 2017-11-22 20:09:18 -05:00
James Baxley
fb4e2b6f73 fix tests 2017-11-22 20:09:18 -05:00
James Baxley
3a7f34d610 support redirect, headers, cookies, and client side alignment 2017-11-22 20:09:18 -05:00
James Baxley
037a0be319 simplify stream parsing [ci skip] 2017-11-22 20:09:18 -05:00
James Baxley
2ef27e4151 easier support for strings in template 2017-11-22 20:09:18 -05:00
James Baxley
a5866e2781 initial working stream support 2017-11-22 20:09:18 -05:00
Ben Newman
45e396d41a Bump tinytest package to version 1.1.0. 2017-11-22 20:08:15 -05:00
Ben Newman
b1c6970ec1 Mention Promise-awareness of Tinytest.addAsync in History.md. 2017-11-22 20:08:10 -05:00
Ben Newman
0190801a7b Allow Tinytest callbacks to return Promise objects. 2017-11-22 20:08:10 -05:00
Ben Newman
ca76af8d49 Modernize tinytest by using ecmascript. 2017-11-22 18:40:37 -05:00
Ben Newman
26189d93b9 Avoid hiding the first line of get-machine deprecation notice.
As explained in the entry for the `meteor` command, the first line of each
entry in help.txt is the summary for autogenerated command lists, and thus
will not be displayed in the help for the command.
2017-11-22 15:35:24 -05:00
Ben Newman
86a2ad5679 Bump package versions for 1.6.1-beta.9 release. release/METEOR@1.6.1-beta.9 2017-11-22 15:26:12 -05:00
Ben Newman
66c1fc0595 Bump $BUNDLE_VERSION to 8.9.3 before rebuilding dev bundle. 2017-11-22 14:53:33 -05:00
Ben Newman
a6b90f85c3 Merge branch 'devel' into release-1.6.1 2017-11-22 14:52:58 -05:00
Ben Newman
c8c88300a6 Fix remaining problems with PR #9237. 2017-11-22 14:44:22 -05:00
Edgar HIPP
16b74e5c0c Fix isNpmUrl to handle http/https urls (Closes #9236) 2017-11-22 14:44:22 -05:00
Jesse Rosenberger
03cc8d40ac Bump $BUNDLE_VERSION to 8.8.3 before rebuilding dev bundle.
In this case, to get the MongoDB 3.4 changes included in meteor/meteor#9396.

I'm skipping 8.8.2 since it seems to have been started, but is now unused:

https://github.com/meteor/meteor/commits/dev-bundle-8.8.2
2017-11-22 20:33:04 +02:00
Ben Newman
8c4bd0fdf3 Update blaze submodule to latest master revision. 2017-11-22 13:27:16 -05:00
Ben Newman
26e94fa303 Generate correct stats for more kinds of meteorInstall minification.
The uglify-es minifier sometimes inlines (0,Package.modules.meteorInstall)
as a callee expression rather than declaring a variable, so this commit
adds support for that minification technique when computing bundle size
statistics for the bundle-visualizer package.

One symptom of this bug: while the bundle-visualizer displays packages
minified in this way with the correct total size, they appear not to have
any node_modules.

cc @abernix
2017-11-22 13:17:56 -05:00
Ben Newman
2482fac274 Make bundle-visualizer JSON stats more readable in dev tools. 2017-11-22 13:17:54 -05:00
Ben Newman
6a312c49cd Guard against undefined process.env.NPM_CONFIG_REGISTRY.
https://github.com/meteor/meteor/pull/9398#discussion_r152610836
2017-11-22 13:12:37 -05:00
Jesse Rosenberger
84337782ac Merge pull request #9396 from meteor/abernix/mongo-3.4
Use Mongo 3.4 for 64-bit platforms.
2017-11-22 19:52:22 +02:00
Jesse Rosenberger
77b2b94bbb Merge branch 'devel' into abernix/mongo-3.4 2017-11-22 19:49:46 +02:00
skirunman
1d5bf0f1a4 iPhone X status bar fix (#9375) 2017-11-22 11:36:45 -05:00
James Burgess
2547957268 Fix meteor test file matching patterns (#9339)
* Adjust test filename RegExps to match Meteor guide. Fixes #9332.
* Adjusted help text for --drive-package on meteor test.
* Add integration tests for `meteor test` eager file loading.
* Fix typo in selftest.forbid comment.
* Improve test file eager load integration test coverage and clarity.
2017-11-22 11:21:49 -05:00
Hugh Willson
8da6c84eac Update the default CSS parsing/combining/minifying tools (#9263)
* Update the default CSS parsing/combining/minifying tools

The `minifier-css` package is currently using outdated
(and abandoned) npm packages (`css-parse` and `css-stringify`),
as part of its parsing/minification process. This commit
replaces those packages with the robust, modern and maintained
`postcss` package.

* Adjust CSS source file fallback value

* Self test adjustments and cleanup

* Disable sourcesContent generation by postcss

The `standard-minifier-css` package is already associating
source content with the source map, so we don't need to
do this twice.

* Add History.md entry covering backwards compatibility details

* Bump major version due to backwards compatibility breaking changes

* Bump minor versions

* Code review changes (boolean formatting, concat to spread)
2017-11-22 11:13:54 -05:00
Ben Newman
d9e9dc25a4 Merge pull request #9398 from sebakerckhof/fix/stop-npm-wasting-all-my-time
Don't update npm dependencies when it's not needed
2017-11-22 11:11:53 -05:00
Jesse Rosenberger
d746f5f472 Correct link in markdown badge. 2017-11-22 12:51:22 +02:00
Jesse Rosenberger
e8d6ab299d Update README.md to incorporate BrowserStack badge.
Hopefully, without too much effort, it will be easy to reintegrate much of
the automated BrowserStack testing we (mostly) already had in place!  In the
near future, this could be helpful for ensuring we're not over/under-shipping
polyfills to browsers.

Hopefully we can keep this green, though it's not clear to me at the
moment what additional changes I'll need to make to ensure that.  For
now, badge!
2017-11-22 12:44:51 +02:00
Jesse Rosenberger
15b24ff6d1 Again, correct the context of _ within meteor shell.
A truthy `useGlobal` option when calling Node's `repl.start()` will use
the `global` context, which will allow global Meteor variables (such as
the global `_` provided by the `underscore`) to be available in the context
of the REPL shell.  This sounds desirable, and in fact, the original
implementation set it as such, only to be later changed to `false` in
https://github.com/meteor/meteor/commit/7c7e52f2d2, specifically to
avoid the undesirable behavior of Node REPL stomping on the global `_`
variable with its own special-meaning `_` variable which is set to the
value of the most recently eval'd expression.

This was once again changed to `true` to fix the lost tab-completion
functionality, thanks to https://github.com/meteor/meteor/commit/2443d83226,
which also implelented special mutator on `_` to avoid breaking
it.  As it's probably clear now, this has been a struggle, and because
of Node using its own `Object.defineProperty('_', ...)` as of Node.js 6
(in https://github.com/nodejs/node/pull/5535/files), this problem has
surfaced again, as reported in https://github.com/meteor/meteor/issues/9276.

This changes the behavior to another implementation which starts with
`useGlobal` set to `false`, but then sets the context immediately to
`global`, which seems to avoid the problem.

It's possible that another option might be to set explicitly set the
`underscoreAssigned` attribute on the `repl` after starting it, however
since that's an internal, undocumented property, it might be best to avoid.

This does maintain the existing behavior of our special
double-underscore variable, in order to get the value of the last
REPL expression, in the same manner as `_` would in a normal REPL, by
accessing the internal `last` property.  Since this is also undocumented
(on our end), this seemed reasonable.
2017-11-22 01:12:22 +02:00
Jesse Rosenberger
545a7e1df2 Stop stripping parens from ES classes used in the REPL.
As Node.js 8 natively supports ECMAScript classes, this code shouldn't
be necessary anymore.
2017-11-21 22:28:40 +02:00
Jesse Rosenberger
5849af067b Use the (now) repl-exported Recoverable error.
In order to catch so-called "recoverable" REPL errors (for example,
commands in the process of being inputted which are syntax errors until
they are completed/recovered), it had previously been necessary to
intentionally cause such an error and save the error's prototype for
future use.

Node 6 changed this by exporting the Error directly from the `repl`
module, and this commit represents the changes necessary to remove that
(now unnecessary) behavior.

This also takes the opportunity to update the `isRecoverableError` (and
related) functions which had previously been borrowed from the `repl`
module source, to their newer versions.
2017-11-21 22:28:40 +02:00
Jesse Rosenberger
83eba20918 Remove unused _inTemplateLiteral stored on repl instance. 2017-11-21 22:28:40 +02:00
Jesse Rosenberger
109b1116ac Update internal meteor-babel to 7.0.0-beta.3-2.
ac6f3bef07
2017-11-21 11:37:30 +02:00
Jesse Rosenberger
cc0b6638f5 Update History.md with details about Mongo 3.4.
Refs: https://github.com/meteor/meteor/pull/9396
2017-11-21 11:37:30 +02:00
Jesse Rosenberger
75a262a278 Use Mongo 3.4 for 64-bit platforms.
Most of the work to prepare for this change was done through the
excellent work of @hwillson in meteor/meteor#9173 which, after some
re-working to support the 64-bit architecture on Windows platforms,
landed in meteor/meteor#9218, making this change as simple as bumping
the minor version number (and rebuilding the dev bundle).

From this point forward, and due to Mongo's discontinuation of 32-bit
support in newer versions of MongoDB, 64-bit platforms will, in
development, use newer versions of Mongo while 32-bit architectures
will remain at 3.2.x versions.

Of course, in production, apps are free to use whichever version of
Mongo they would like, provided that version is supported by the
Node Mongo driver and Meteor's Mongo data packages.  At this time
there is no target for when Meteor will stop supporting Mongo 3.2,
but developers are encouraged to take steps to upgrade their Mongo
deployments (through their database providers) to newer versions
since Mongo has set September 2018 as the "End-of-Life" for Mongo
3.2.x.  For more information on Mongo support cycles, see their
support documents at https://www.mongodb.com/support-policy.

Refs: https://github.com/meteor/meteor/pull/9173
Refs: https://github.com/meteor/meteor/pull/9218
2017-11-21 11:37:29 +02:00