From the comments in episode 8 of Meteor Dispatches: This Week in MeteorJS,
Michael Scharf writes:
Is there an upgrade guide to 3.0 (alpha)? I have tried to update one of my projects to meteor 3. Unfortunately, I was unable to find a resource with all the information needed to do the update. Ideally, there would be a step-by-step instruction for something like the React app example, with some additional popular community packages like
If you haven’t done so yet, start with the Meteor Guide section titled “How to migrate to Meteor Async in Meteor 2.x”
It also depends on how old your app is. So it may be worth seeing the version-specific migration suggestions. see
In the meantime, I’ve opened a thread on the Meteor Forums to see if anyone else has actionable suggestions.
I have migrated my project to 2.13 and (I think) all (server side) calls are now async. BUT I could not find any good guide how migrate to meteor 3(alpha15) and what to do with the community packages.
I think I have seen some repository where community packages have been updated to meteor 3, but I cannot figure out how to find packages that are upgraded.
When I do
meteor update I get errors like
$ meteor update
Not updating the release, because this app is at a newer release (METEOR@3.0-alpha.15) than the latest recommended release (METEOR@2.13.3).
=> Errors while upgrading packages:
While selecting package versions:
error: Conflict: Constraint firstname.lastname@example.org is not satisfied by webapp 2.0.0-alpha300.15.
Constraints on package "webapp":
* webapp@~2.0.0-alpha300.15 <- top level
* email@example.com <- meteor-base 1.5.2-alpha300.15
* firstname.lastname@example.org <- routepolicy 1.1.2-alpha300.15 <- ddp-server 3.0.0-alpha300.15 <- ddp 1.4.2-alpha300.15 <- accounts-base 3.0.0-alpha300.15
* email@example.com <- routepolicy 1.1.2-alpha300.15 <- webapp 2.0.0-alpha300.15 <- meteor-base 1.5.2-alpha300.15
* firstname.lastname@example.org <- ddp-server 3.0.0-alpha300.15 <- ddp 1.4.2-alpha300.15 <- accounts-base 3.0.0-alpha300.15
* email@example.com <- autoupdate 2.0.0-alpha300.15 <- hot-code-push 1.0.5-alpha300.15 <- meteor-base 1.5.2-alpha300.15
* firstname.lastname@example.org <- mongo 2.0.0-alpha300.15
* email@example.com <- simple:json-routes 2.3.1
It would be really nice to have an example on how to upgrade to meteor 3 alpha to do some tests and check if my code is “3.0 ready”
At the very least, these 2 tickets are in progress:
The error message indicates that the problem relates to the inclusion of the package
webapp contained in the simple:json-routes package. This probably includes package using the package@version syntax. To remedy this, I compile the package locally and remove the version references. If the package does not have synchronous mongo calls this is enough, otherwise you have to convert it.
I really think the guide (How to migrate to Meteor Async in Meteor 2.x | Meteor Guide) should be fleshed out more… I’ve created an issue (Updating Migration Guide to be more digestable · Issue #12818 · meteor/meteor · GitHub) too but I didn’t get around to writing anything yet.
It’s also a bit of a tough nut because it’s a mix between a moving target (everything isn’t final yet, see blaze / tracker / autoruns / methods / packages), and b) I’m not even sure all scenarios are actually fully covered yet.
I think this could become more of a community thing, where everybody who has something to contribute could add his current experience.
I have some things we’ve tried so far & could give an intermediate experience report, unfortunately it all takes time…
Is there maybe someone in the community who’d like to help out to gather & organize the information maybe? Somebody who enjoys doing some technical writing?
I could help setting up the writing environment & help to organize the information, for example.
And then everybody who is working on and / or had some success preparing their apps for 3.0 would be invited to share and contribute his experience?
So if you have migrated you app successfully to 2.13 and/or Meteor 3, maybe let yourselves be known & maybe we can all work together on this?