I've reverted match properties that return class instances back to normal functions, so that they can be called as constructors.
Also, I added tests to make sure we catch this issue if someone else gets the same idea that I had!
This should shave down bundle sizes by 14.4 kb for many non-blaze projects.
The other core meteor packages have not depended on `underscore` since #9362. However, we are only able to remove this last dependency now due to the previous commit, which eliminated usages of `underscore` from apps that did not have the package listed in their `packages` files. This was causing CI test failures that now should be corrected.
Any meteor apps currently using `_` without `underscore` listed in their `packages` file will need to add the package explicitly.
Version number of `meteor-base` bumped from 1.3.0 to 1.4.0.
There are only a few uses of `underscore` in these apps, and two of them actually used `underscore` without having it explicitly listed in their `packages` file.
This is a problem, because the apps were relying on the dependency from `meteor-base`, which we want to remove to cut down bundle sizes.
For the `modules` test app, I've added `underscore` to the `packages` file, because it is using `_` in an assertion about the module system. For the other app and all other uses of `_`, rather than add `underscore` to the `packages` files, I took the modernization route and replaced the functions with their ES6 equivalents, and then removed `underscore` from all `packages` files.
`Mongo.Collection` has been updated to strip `undefined`
fields set in documents/selectors passed to `find`, `findOne`,
`insert`, `update`, etc. This lines the codebase up with the
changes made in
ce3885b6df,
and helps prevent "The Mongo server and the Meteor query
disagree on how many documents match your query" errors.
Fixes#9619.
This version of `meteor` has no other changes from 1.8.3, though it has
been intentionally published with version 1.6.0.1 of the Meteor tool,
rather than Meteor 1.6.1.
This is to accommodate for the change made in
https://github.com/meteor/meteor/commit/57533d22 which changed the way
code is packaged by the Isobuild linker. Since packages which use a compiler
plugin include the linked content of the plugin within their published
package source, the linked source of a compiler plugin's
host package, which was published with Meteor 1.6.1, contains this new usage of
`Package._define`. Unfortunately, the `meteor` packages pre-1.8.2
doesn't have the runtime definition of `Package._define`, and therefore fails,
as seen in https://github.com/meteor/meteor/issues/9700.
Some older versions of Meteor don't pin core packages quite in the right
way (1.4.2.x was notorious for this, though we believe it to be fixed in
Meteor 1.5.2+ thanks to https://github.com/meteor/meteor/commit/cfdc69bf71),
so this will be a bit problematic until those versions are no longer
actively used. This is similar to the problem older versions of Meteor
would have consuming code which was packaged with newer versions of
Meteor and might contain newer ECMAScript syntax which doesn't need
transpilation on newer Node.js versions, but did on the Node.js runtime
included in older versions of Meteor.
Fixes: https://github.com/meteor/meteor/issues/9700.
* Remove outdated fallback.
* Report used minifier.
This allows packages such as standard-minifier-js to generate statistics per minifier, which is useful to analyze how often the fallback is needed.
* Use official name babel-minify instead of babeli.
* Bump minifier-js patch version to 2.3.3.
To account for the changes in meteor/meteor#9626.
During the Meteor 1.6.1 beta period, we introduced logic to render a
<script> tag to load the SockJS library in older browsers (#9353), and so
it seemed important to run test-packages both with and without the
<script> tag, using a special query parameter appended to the app URL.
The #9353 changes were ultimately reverted before Meteor 1.6.1 was
released (see 365804218f), and Meteor 1.6.2
will take a very different approach to bundling dependencies like SockJS
for legacy browsers (#9439). As part of this approach, PhantomJS is always
considered a legacy browser, and as such provides valuable feedback on the
behavior of web.browser.legacy bundles. However, since there's nothing to
configure with regard to SockJS anymore, there's no point in running the
test-packages suite twice in PhantomJS.
In order to run these tests in a modern browser environment, we should
probably revisit the idea of running tests in headless Chrome:
https://github.com/meteor/meteor-feature-requests/issues/254