Migrating from CanJS 1.1.7 to current

Hello.

I have a mature application that is using CanJS 1.1.7.
I would like to upgrade to the current version of CanJS.

What are the steps to do that?

Regards,
Francisco

Hi @Francisco_Imperio! Glad to hear that you’re ready to upgrade. Let me give you an overview of the steps to upgrade, but first I encourage you to join our Slack in the #canjs room. There you could ask more direct questions as you proceed and we’d be more than happy to help as much as we can.


Luckily we have guides for each step along the way. You might be tempted to jump straight to the latest version. It’s possible, but unless you’re intimately familiar with the framework that would be pretty hard.

This is the path I’ve taken when doing upgrades in the past (Bitovi has done a lot of these!):

  1. Upgrade to the next major version.
  2. Do not attempt to use the latest features or make major changes to your codebase. Instead keep the code the same and only make the minimal changes to get things working.
  3. Run your tests and make sure all are passing. Verify that the app works as expected in a staging environment.
  4. Move on to the next version.

The correct upgrade path for you is going to be 1.1.7 :point_right: 2.0 :point_right: 3.0 :point_right: 4.0 :point_right: 5.0 :point_right: 6.0 (Being released soon!)

This might seem like a lot, but some of these are not very big changes, particular the 4.0 :point_right: 5.0 and 5.0 :point_right: 6.0 upgrades.

Here are the various migration guides that will help you along the way:

  1. Migrating to 2.0
  2. Migrating to 3.0
  3. Migrating to 4.0
  4. Migrating to 5.0

The 6.0 guide is not released yet, I’ll update this thread when a draft is ready.

Again, I highly encourage you to join us on Slack, would love to hear more about your setup. I’m guessing you’re likely using Steal? If so what version of that?

Thanks Matthew.

I’ll join the slack channel and review your migration guides.
I understand that Bitovi also provides consulting services?

Regards,
Francisco

@Francisco_Imperio We definitely do, and have done several multi-step upgrades like this one. If you’re interested in us helping please email me at matthew@bitovi.com and I’ll connect you with the right people.

Hey @Francisco_Imperio, how is the upgrade going? Need any help?

Hi Matthew.

We have it on our roadmap.
We will be attempting it later this year. I will contact you at that time.

Thanks for checking up!

Regards,
Francisco

Hello. After a number of years I am back to trying to upgrade my legacy application from Can 1.1.7.
My application also uses requireJS and EJS templates.
My goal is to get my application past any jQuery vulnerabilities then stop there.

I have started with the “Migrating to 2.0” guide, and that seems ok so far except for the templates…

can.EJS is no longer in core

can.EJS is no longer packaged in the core download by default. It has been replaced by can.mustache. You can use the custom download builder to replace can.mustache with can.EJS.

The custom download builder does not seem to be live anymore? How do I replace can.mustache with can.EJS?

Regards,
Francisco