Specifically, Mongo.Collection objects on the server now have
rawCollection and rawDatabase methods.
You can use MongoInternals.NpmModules.mongodb.version to tell what
version of the mongodb npm module is the backend for HTTP.call. This
version may change incompatibly from version to version of Meteor; use
at your own risk. (For example, we expect to upgrade from the 1.4.x
series to the 2.x series in the not-too-distant future.)
Fixes#3640.
Specifically, a "no pluginProviderPackageMap on isopack?" error would be
thrown when running publish in the following circumstances:
- You are inside an app (so it uses the app's .meteor/local/isopacks as
an IsopackCache instead of a temporary directory)
- Your package does not need to be rebuilt (so it gets read in "up to
date" mode by the IsopackCache)
- Your app has at least one cordova platform (so that
includeCordovaUnibuild was true on the cached isopack; it is always
true when building for publish)
In this case, we read the Isopack from disk but didn't keep the
pluginProviderPackageMap that we read from its isopack-buildinfo.json,
which later lead to a crash.
Fixes#3676.
Summary:
The methods of the ad-hoc `api` object needed access to very few variables
from the surrounding lexical environment, and those few variables
(`sources`, `exports`, `uses`, `implies`) are better regarded as member
variables of the `PackageAPI` class.
Test Plan: `meteor test-packages`
Reviewers: Slava, dgreensp, glasser
Reviewed By: glasser
Differential Revision: https://phabricator.meteor.io/D30
Fixes#3730.
Testing Done:
Manual testing based on the report in #3730. Also confirmed that `</script>` is not a problem.
I would have added a test-packages test but there's no easy way to override Meteor.settings in test-packages.
Bugs closed: 3730
Reviewed at https://rbcommons.com/s/meteor/r/1/
Our PR landed in 4.1.0, so we no longer need a fork.
Hopefully, the runas-related bug which causes dev bundle builds to
sometimes fail (which is why we moved the install to its own step) is
fixed with the newer version of runas used by pathwatcher now.
Note that we were previous using a fork with an early version of our PR,
which put the numeric errno on 'code'. The accepted version of the PR
puts the numeric errno on 'errno' (and in Node 0.12, puts a string on
'code').