First you may want to sync the package versions and webpack configs of latest commit in sage 9 branch. If you have already done that and for further updating, see this guide:
So this is how I am updating (or have updated) sage 9 projects (this can be used for other types of projects as well):
- Your project should already be under version control, create a new update branch if you like to make the process cleaner.
- Run the
david
tool for a table of updateable dependencies.
Note that a change in the minor- or patch-version should - ideally - not break compatibility, so you can now update each dependency to the latest minor- or patch-version individually, where possible, and re-run the webpack build process each time to check whether something breaks. Consult the npm versions section of a package, if the version jump is too big, to stay inside the same major version. Commit the package version changes regularly so you can easily revert to a working, updated set of packages. - Now you can try to be more daring and update to major versions. Do this for each package again individually, when possible, and check whether the build still works.
- In the end you should end up with a small or even empty (congrats!) update table when you run
david
, while the build still works.
This approach reminds a bit of git-bisect
, not with commits but rather with package versions. This could be even automated, though smaller manual tweaks to config may be necessary.