Video Tutorial on Migrating Meteor 1.1 to Apollo/GraphQL

Nope! All of those things work fine in 1.4. That’s what backwards compatibility means.

I can just do a Meteor upgrade of my project and everything should still work the same? What about Mongo, will this upgrade my MongoDb to 3.2 and Wiretiger?

I think if you’re starting with 1.1, I would do one version at a time - the latest 1.2, 1.3, then 1.4. (By latest I mean the latest patch version of each series)

Sometimes there are minor unintentional breaking changes between these versions even though we try our best to avoid them, and it will be easier to solve them one by one rather than all at once.

I think we have tested all of these upgrades for some set of apps, but every app is different of course.

It would be cool to do a video upgrading through 1.5 years of Meteor releases!

4 Likes

I think the only issues we had while upgrading from 1.2 to 1.3 was the deprecated bower plugin, so we had to import all plugins via NPM - and fast-render seems not to work on >=1.3 anymore.

1 Like

Just did a straight update from 1.1 to 1.2.2 – without issues so far (fingers crossed). The only trouble I had was with mup node version – which I finally resolved by moving to 0.11.40 from 0.10.36.

I’ll test this out for a few days on staging before deploying to production.

2 Likes

I tried to upgrade to 1.3.5.1 from 1.2.2 and ran into issues. I’m getting Can’t find npm module ‘bable-runtime/helpers/typeof’ error. Will I have to reinstall Meteor and delete .meteor in the home directory in order to resolve this?

UPDATE: I got 1.3.5.1 working by removing .meteor and doing a curl install. Now to test.

1 Like

What did you figure out that we can learn from?

I’d like to know the answer to the question you asked.

@mz103 sorry, where you asking me a question? If so, which question were you referring to (I asked a couple)?

Reactivity and real-time data are two different things. Apollo does support reactivity because (from what I’ve seen) it uses redux underneath. React’s setState can achieve a very similar reactivity as Tracker and Blaze. The thing you should be worried about with non-meteor solutions is getting fine real-time data.

1 Like

Yeah, I was referring to the one you deleted above my post.

@mz103, I ended up deleting the .meteor dir and reinstalling with curl, that fixed the issue installing 1.3.5.1:

The answer for me was here:

1 Like

Also just wanted to let you guys know I haven’t forgotten about this… it’s coming down the pipe in a week or two. I need to make some kind of spike for transitioning a current app so it’ll happen sooner or later :slight_smile:

9 Likes

Interesting conversation, thanks @SkinnyGeek1010!

One thing that I worry about is the size and complexity of the javascript bundle that I’m creating when I’m using so many technologies together in an app (minimongo+livedata+apollo+react+blaze… etc. etc.). If I’m creating an app that’s going to be accessed on phones on mobile networks, how many libraries can I cram in there before I create an app that is completely unusable on mobile? (real, non-rhetorical question!)

I know I could potentially split code by creating different projects, but that will requires careful surgery of the code, more work.

1 Like

Ok, quick update… I started recording tonight but had to (temp) pause the recording as I spent about an hour cursing and muttering at the NPM gods. I finally have it installable so they screencast should be out soon :thumbsup:

@sashko is apollo-server 0.1.5 the latest that works with Meteor? I had errors with apolloServer not being a function using the latest readme in the Meteor section. I also had to go back to graphql-tools 0.6.6 because of an illegal token error (maybe an es6 error or something… can’t remember). Just wanted to double check before recording it!

I think the docs are just out of date (PRs encouraged!) but @loren’s starter kit is up-to-date with 0.2.8: https://github.com/apollostack/meteor-starter-kit

1 Like

Thanks for the link. I updated my package.json to have those (which added graphql-typings) but it still errored out. Apollo package was stuck at 0.0.1 so I removed .meteor/versions which updated a lot of things including apollo. Working now :thumbsup:

1 Like

Have you posted the videos yet?

1 Like

Not yet, still have to record it… after hitting those previous snags I called it a day :thumbsup:

1 Like

I had the same issues when playing with vue-apollo recently.

1 Like

Sorry for your technical difficulties @SkinnyGeek1010 . Looking forward to the screencast!

1 Like