Need upgrade advice

Project is a mono repo and is following the below structure for the ember apps:

current nodejs version: 10.16.0 desired nodejs version: 22.x current ember-cli: 3.10.0 desired ember-cli: 6.4

what would be the key things that i need to look after while doing this upgrade?

Questions to clarify:

  • How large/old are the apps? In larger applications I’d recommend jumping LTS versions instead of doing a “big bang” upgrade but maybe it’s easier to get away with in smaller or more recently written apps.
  • And how many ember addon dependenciess do they have? Managing 3rd party addon dependencies can be one of the trickier parts of upgrading so the fewer the bettter.
  • Do they have good test suites? The better your test suites the easier this will be.
  • Monorepo: is this a pnpm monorepo? I’d highly recommend pnpm workspaces if you are able. Makes monorepo dependency management much easier.

Tips/advice in no particular order:

  • Try upgrading node as far as you can first. Try using pnpm if you are able and don’t already.
  • Make sure you clear all deprecation warnings, definitely before jumping majors but i personally like doing clear deprecations → bump to next LTS → repeat
  • If the apps are large or have a lot of old code or “unconventional” things I’d highly recommend just jumping LTS versions, clearing deprecations, and then repeating.
  • Managing 3rd party Ember addons is often the trickiest part of upgrading. I’d upgrade your dependencies (specifically the Ember addons) as much as far as you can before each upgrade jump.
  • Don’t stop at major versions (e.g. 4.0), skip to the next LTS (e.g. 4.4). Major releases can still have bugs and don’t have fixes backported like LTS versions do.
  • Do you actually still have brocfiles and bower.json files? If so I’d try to get rid of those first.

Feel free to check back in here or in Discord if you get stuck. Good luck!

1 Like