Commit Graph

22356 Commits

Author SHA1 Message Date
James Burgess
3c7fd0e7a4 Modernize accounts-meetup package
- Bumped patch version number 1.4.1 -> 1.4.2
- ES6 syntax and shorthand applied
2018-02-02 09:30:09 +01:00
James Burgess
bb17d4d3fa Modernize accounts-google package
- Bumped patch version number 1.3.1 -> 1.3.2
- ES6 syntax and shorthand applied
- Underscore removed as a dependency
2018-02-02 09:30:09 +01:00
James Burgess
54c20dcb17 Modernize accounts-github package
- Bumped patch version number 1.4.1 -> 1.4.2
- ES6 syntax and shorthand applied
2018-02-02 09:30:09 +01:00
James Burgess
4a88bb30cb Modernize accounts-facebook package
- Bumped patch version number 1.3.1 -> 1.3.2
- ES6 syntax and shorthand applied
2018-02-02 09:30:08 +01:00
James Burgess
8d4f07a802 Modernize accounts-base package
- Bumped patch version number 1.4.2 -> 1.4.3
- ES6 syntax and shorthand applied
- Underscore removed as a dependency
- Prototype manipulation replaced with class method declarations, resulting in combining a few files
2018-02-01 23:45:12 +01:00
James Burgess
198b0551d6 Modernize and fix accounts-ui-viewer app
This is a great little app for testing the accounts-ui package, but it hasn't been updated in four years and wasn't working anymore.

Since the underlying accounts system has changed in the meantime, I had to make a few adjustments to get all the options working again.

I also applied ES6 syntax, removed underscore, and fixed some blaze deprecation warning by moving functions into helpers.
2018-02-01 23:39:32 +01:00
Ben Newman
82e61fe085 Further refine ImportScanner METEOR_PROFILE output. 2018-02-01 12:44:16 -05:00
Ben Newman
dfb6a9b712 Avoid displaying package stats errors in headless mode.
Console.isInteractive() will be false during our Circle CI test runs,
since we set the METEOR_HEADLESS environment variable, so this change
should help prevent spurious test failures like these:
https://circleci.com/gh/meteor/meteor/15305.
2018-02-01 12:22:10 -05:00
Ben Newman
c6d481d53b Instrument more ImportScanner methods for METEOR_PROFILE.
This should help with analyzing how much time computeJsOutputFilesMap
spends scanning imports within individual packages (scanImports) versus
resolving cross-package imports (scanMissingModules).
2018-02-01 11:10:35 -05:00
Jesse Rosenberger
46eaab39b6 Add misssing JSDoc declarations for Mongo.Collection#upsert.
In the conversion to ECMAScript classes in
https://github.com/meteor/meteor/commit/6fcf190bb489db19, it appears that
JSDoc `@method`, `@instance` and `@memberof` declarations were already
in place for the (outgoing) `Mongo.Collection.prototype.{foo}` expressions,
with the exception of `upsert`.  The omission caused docs generation failure
with the new ES syntax since, presumably, it was less possible to be inferred
from the `MCp*` notation.

Additionally, this changes the casing of `@memberOf` to `@memberof`,
mainly because:

* The JSDocs use this notation.
* The data JSON outputted by JSDoc lowercases property keys, including
  cases where `memberOf` was capitalized, making it less clear that
  there is a 1:1 mapping.
* My editor refuses to syntax-highlight jsdoc declarations with [A-Z],
  possilby because of the above reasons.
2018-02-01 11:59:27 +02:00
Jesse Rosenberger
053352f74d Merge branch 'devel' into abernix/test-docs-with-meteor 2018-02-01 09:54:02 +02:00
Ben Newman
5c8a3737d7 Bump package versions for 1.6.2-beta.4 release. release/METEOR@1.6.2-beta.4 2018-01-31 18:38:16 -05:00
Ben Newman
c87f467320 Merge branch 'devel' into release-1.6.2 2018-01-31 18:37:11 -05:00
Ben Newman
9daf412b2b Merge pull request #9611 from meteor/modernize-tracker
Modernize tracker package.
2018-01-31 18:35:41 -05:00
Ben Newman
29e48758df Merge branch 'devel' into release-1.6.2 2018-01-31 18:26:12 -05:00
Ben Newman
14f6f9328b Modernize Tracker package.
Changes:

* Use ECMAScript class and arrow function syntax for Tracker.Computation
  and Tracker.Dependency.

* Remove the deprecated.js file (no more Deps, Tracker.depend, or
  Tracker-related Meteor.* APIs).
2018-01-31 17:37:14 -05:00
Ben Newman
0f0ef96611 Prevent _typeof(Reflect) from throwing in older browsers.
Should fix #9598, thanks to @abernix's diagnosis of the problem:
https://github.com/meteor/meteor/issues/9598#issuecomment-361570289

My later comment in that issue thread is not accurate, since the Babel
wrapNativeSuper helper already pulls in the core-js Reflect.construct
polyfill. Instead, the root of the problem really seems to be Babel's
generation of an unguarded _typeof(Reflect) expression.
2018-01-31 17:29:15 -05:00
Ben Newman
3f5d0d9c52 Bump $BUNDLE_VERSION to 8.9.21 before rebuilding dev bundle. 2018-01-31 16:24:58 -05:00
Ben Newman
312094cec9 Use a version of meteor-babel that exactly pins its dependencies.
146c11425b

The recent 7.0.0-beta.39 versions of some Babel dependencies snuck into
the last dev_bundle/lib/node_modules build, due to using ^7.0.0-beta.38
version constraints in babel-preset-meteor/package.json, even though
meteor-babel exactly pins the version of babel-preset-meteor.

After I rebuild the dev bundle, this change should fix the current test
failures on the devel branch.
2018-01-31 15:57:10 -05:00
Ben Newman
9d3e23c9b1 Bump $BUNDLE_VERSION to 8.9.20 before rebuilding dev bundle. 2018-01-30 17:50:18 -05:00
Ben Newman
85d74f8d2b Revert "Upgrade to Mongo 3.6 (#9533)"
This reverts commit dfc0702558.

We've seen some odd test failures (e.g. `passwords - tokens`) and trouble
updating from 1.6.1 to 1.6.2-beta.3 (easily solved with `meteor reset`,
but also worth investigating), so I think we should keep working on the
Mongo 3.6 upgrade in a PR, rather than running all of our tests against
a devel branch that includes Mongo 3.6.

cc @abernix @hwillson
2018-01-30 17:47:12 -05:00
Jesse Rosenberger
4d861735c5 Export check as a named function declaration for JSDoc.
The change made in a30f42c4ac switched
from CommonJS to ECMAScript export notation.

It seems JSDoc isn't smart enough to make the same association as it did with
the previous notation as it does for an anon. function expression `export`-ed
as a `const`ant.  We could annotate this with `@function check`, but it seems
reasonable to just export a function declaration directly, which JSDoc will
understand.

This, along with ababb18aef, corrects the
failure of docs generation originally discovered in:
8f7ceb5de5.

Refs: https://github.com/meteor/meteor/pull/9593
2018-01-30 22:34:59 +02:00
Ben Newman
99ddadca22 Bump jquery Meteor package version to match jquery version.
It's nice to match versions, but we couldn't bump the minor version of the
Meteor jquery package without breaking compatibility with the current Meteor
release (1.6.1), since jquery is a core package.

The next Meteor release (either 1.6.1.1 or 1.6.2) will either use the new
1.12.1 version or (ideally) jquery will no longer be a core package, and
thus will not be constrained by the release.

Related: #9605
2018-01-30 12:39:01 -05:00
Ben Newman
4e074be6a8 Update default meteor/jquery version to 1.12.1 to fix #9605.
Note that you can run `meteor npm install jquery` (any version) in your
top-level application directory, and the meteor/jquery package will use
that version instead of 1.12.1.
2018-01-30 12:32:14 -05:00
Jesse Rosenberger
ababb18aef Augment JSDoc declarations for Meteor.* connection convenience methods.
The changes made in 8bbfd531c1 prevent
JSDoc (used to generate docs for https://docs.meteor.com via the
https://github.com/meteor/docs repository) from associating the
convenience methods which are exposed on the `Meteor` namespace
(e.g. `Meteor.call`, `Meteor.apply`, `Meteor.reconnect,` etc.) as they are
being identified as members of the `Connection` class.  While this is
techincally true, and all of these are also available on
`Meteor.connection` (e.g. `Meteor.connection.status`), we have
historically exposed them in the docs using their (preferred) `Meteor.*`
aliases.

Hopefully, this at least partially resolves
8f7ceb5de5.
2018-01-30 19:20:20 +02:00
Ben Newman
17eaa5bd6f Implement Mongo.Collection as a function again.
This reverts commit b06a6af335, where I
attempted to allow `Mongo.Collection` to be subclassed by non-native class
syntax by implementing static `call` and `apply` methods.

As the reproduction in #9595 demonstrates, in order to subclass
`Mongo.Collection` properly given this trick, one would need to override
not only the `constructor` method but also the `init` method that the
`Mongo.Collection` base class calls. Since this implicit expectation is
too much to ask of new subclassing code, let alone existing subclassing
code, I'm afraid the only remaining option is to go back to implementing
`Mongo.Collection` as a traditional constructor function, rather than
using native `class` syntax, so that subclasses can invoke the constructor
using `Function.prototype.{call,apply}` as they've always done.
2018-01-29 19:23:13 -05:00
Jesse Rosenberger
06c90caf8a Attempt to generate "docs" during CircleCI tests.
There have been a number of occasions where I have gone to bump the
Meteor docs to the next major version, only to find that the docs
deployment (which occurs in a separate repository; found at
https://github.com/meteor/docs) fails due to code-refactoring which has
taken place in its submodule (`code`, which is this Meteor codebase).

In order to provide early warning when a JSDoc declaration in the Meteor
code is going to (eventually) break the docs deployment which occurs in
a separate repository (https://github.com/meteor/docs), this commit
introduces a simple checkout and doc generation, in the same manner as
the docs would in its own repository, within the CircleCI workflow.

It's been configured in a way where it will not stop the normal Meteor
test-suite from running, however it will show a separate indicator on
GitHub pull-requests as to whether the generation of docs was successful
or not.
2018-01-29 20:35:09 +02:00
Hugh Willson
540dc00230 Add a self-test skip option (#9579)
* Add a self-test skip option

Meteor's CI infrastructure is configured to exclude certain
`self-test`'s on each run. These excludes are specified in
each CI environment's config file, and included when running
`meteor self-test`. Developers running `meteor self-test`
locally however are not using these excludes by default,
so developer's have to manually look up the current exclude
list from one of the CI configs, then add these excludes to
their own `meteor self-test` call manually.

This commit adds a new `skip` option to Meteor's `self-test`
system, that can be used to skip adding/running a defined
`self-test` (similar in concept to Mocha's `skip` feature).
This provides a way to skip the running of older
`self-test`'s that are no longer needed, but allows them to
be preserved in the `self-test` suite, for future reference.
With this functionality in place, and the older test suites
updated to use it, Meteor's base CI excludes no longer need
to be maintained in their respective config files. The
excludes are all managed at the source (the test definition),
and can be leveraged by anyone/anything calling
`meteor self-test`.

* Log message describing skipped test

* Add manually-ignored count to self-test summary

* Small comment correction

* History.md entry with PR link
2018-01-29 14:25:09 +02:00
Ben Newman
9cc9ff7f49 Actually depend on es5-shim so that Cordova can import it.
Another attempt to fix #9572. 🤞

cc @paulincai
2018-01-26 17:45:43 -05:00
Ben Newman
c9777e3fc4 Modernize Tracker package.
Changes:

* Use ECMAScript class and arrow function syntax for Tracker.Computation
  and Tracker.Dependency.

* Remove the deprecated.js file (no more Deps, Tracker.depend, or
  Tracker-related Meteor.* APIs).
2018-01-26 13:26:49 -05:00
Ben Newman
5a97b7ebfa Merge branch 'devel' into release-1.6.2 2018-01-26 12:33:42 -05:00
Ben Newman
8415880b2e Remove api.use("promise") from Meteor babel-runtime package. 2018-01-26 12:27:02 -05:00
Ben Newman
1dc34f3872 Stop importing @babel/runtime/regenerator in Meteor babel-runtime package.
Because Promise.asyncApply is only defined on the server, and Meteor 1.6
no longer uses Regenerator to compile async/await and generator functions
on the server, this code no longer serves any meaningful purpose.

On top of that, the babel-runtime.js module is loaded on the client, so
this code was forcing the Regenerator runtime to be included in the client
JS bundle, even if generator functions were not used anywhere else in the
application.

The benefit of removing this @babel/runtime/regenerator dependency won't
be fully apparent until Meteor 1.6.2, since there are probably other
places in client code that depend on it, so it will probably still be
bundled in most applications. However, the new web.browser.legacy system
(#9439) should remove most of those dependencies for modern browsers, as
Meteor 1.6.2 will no longer use Regenerator to compile async/await and
generators for the modern JS bundle.
2018-01-26 12:17:56 -05:00
Ben Newman
bba2fc7bc5 Merge branch 'devel' into release-1.6.2 2018-01-25 12:56:03 -05:00
Ben Newman
1b34b81c75 Fix undefined Date constructor in Cordova es5-shim.
Fixes #9572.
2018-01-25 12:48:23 -05:00
Ben Newman
0fdec072c5 Bump package versions for 1.6.2-beta.3 release. release/METEOR@1.6.2-beta.3 2018-01-24 18:11:32 -05:00
Ben Newman
b8663fb14a Merge branch 'devel' into release-1.6.2 2018-01-24 18:07:47 -05:00
Ben Newman
070acc01b0 Bump $BUNDLE_VERSION to 8.9.19 before rebuilding dev bundle. 2018-01-24 17:47:55 -05:00
Hugh Willson
dfc0702558 Upgrade to Mongo 3.6 (#9533)
Update the Meteor Tool to use Mongo 3.6.2 for 64-bit OS'
and Mongo 3.2.18 for 32-bit OS'. A few important mentions:

- As of Mongo 3.6, all Mongo binary downloads include
  SSL - there is no longer a non-SSL based download bundle
  (so it's a bit bigger, but that shouldn't be an issue).
- Using the `--nojournal` option with WiredTiger based
  replica sets is no longer supported (see
  https://jira.mongodb.org/browse/SERVER-30760). The
  `--nojournal` flag was added in
  bcfe072d52
  to help reduce the amount of disk space used by Mongo,
  but since this option is no longer supported, we'll
  have to live with the extra disk space usage.
- Add PR link to History.md
2018-01-24 22:01:46 +02:00
Ben Newman
d9d43a7efa Bump package versions for 1.6.2-beta.2 release. release/METEOR@1.6.2-beta.2 2018-01-23 18:16:02 -05:00
Ben Newman
0ec73ca63a Update cordova-plugin-meteor-webapp to version 1.6.0.
Included changes:
https://github.com/meteor/GCDWebServer/pull/2
https://github.com/meteor/cordova-plugin-meteor-webapp/pull/39
https://github.com/meteor/cordova-plugin-meteor-webapp/pull/35
5c610efe4e
2018-01-23 18:11:52 -05:00
Ben Newman
ca6197fce4 Exclude sockjs-0.3.4.js from JS bundle in modern browsers, again.
Thanks to bug reports from @jamesmillerburgess, in Meteor 1.6.1-rc.4 we
reverted a change that unsuccessfully attempted to remove SockJS from the
JS bundle (and instead injected a <script> tag to load SockJS in older
browsers): 365804218f

With this commit, we are once again attempting to exclude SockJS from the
JS bundle for modern browsers, this time taking advantage of the
web.browser.legacy system to control which browsers receive which bundle.

The definition of a "modern" browser is stricter now (essentially, any
browser with native async/await support), so I'm hopeful that browsers
with incomplete WebSocket support will get the legacy bundle, which
includes SockJS.

However, if there are still bugs in modern browsers due to faulty
WebSocket message compression (for example), we should be able to address
those problems directly, rather than reverting this change yet again.
2018-01-23 16:46:31 -05:00
Ben Newman
87ab1084ef Bump package versions for 1.6.2-beta.1 release. release/METEOR@1.6.2-beta.1 2018-01-23 14:42:26 -05:00
Ben Newman
b8ad84b6b8 Bump minor versions of more core packages.
I missed these packages when publishing 1.6.2-beta.0, since I hadn't
bumped their versions in #9439 as I should have, so the release script did
not republish them. Because of this, 1.6.2-beta.0 will not be usable, and
so I will publish 1.6.2-beta.1 ASAP.

The boilerplate-generator version bump is patch rather than minor, since
the relevant changes to that package seemed backwards-compatible.
2018-01-23 14:37:04 -05:00
Ben Newman
2453abbcbc Bump package versions for 1.6.2-beta.0 release. release/METEOR@1.6.2-beta.0 2018-01-22 21:28:55 -05:00
Ben Newman
b4a68e99c1 Avoid having to republish all core packages for web.browser.legacy.
I'm not entirely sure this will work, but the alternative is having to
bump the patch version of every core package, so I'd like to see if this
simplification works first.
2018-01-22 21:28:54 -05:00
Ben Newman
ec03b82706 Merge pull request #9439 from meteor/web.browser.legacy
Support a new web.browser.legacy platform to reduce bundle sizes for modern browsers.
2018-01-22 19:45:16 -05:00
Ben Newman
f878ba19c7 Address initial review feedback from @abernix.
I've decided to stick with Meteor.isModern for now, since it's false for
both web.browser.legacy and web.cordova bundles, which would make logic
involving a hypothetical Meteor.platform property more complicated than
simply using Meteor.isModern. I'm open to revisiting this later.
2018-01-22 18:07:56 -05:00
Ben Newman
e0eacc62fd Set Meteor.isModern to false in Cordova environments. 2018-01-22 18:07:56 -05:00
Ben Newman
7fc1b1b73c Introduce "legacy" shorthand for web.browser.legacy and web.cordova. 2018-01-22 18:07:55 -05:00