Thank you for keeping the iO Techhub dependencies up-to-date. You are helping us keep up with the latest developments and security updates.
To keep the dependencies up-to-date we use npm-check-updates. Each version range (major.minor.patch) has its own script and configuration. Below are a few steps to take to make updating an easy task.
- Update Node to the latest stable version
- Make sure to update both the
package.json'senginesconfiguration and the.nvmrcfile
- Make sure to update both the
- Open the update patch versions config
- Review each dependency in the
rejectarray, if available, and see if you can remove it - Run
npm run update:patchin the project root - See if there are any issues with the new updates
- Run tests to verify everything still works:
npm test - Fix any issues you encounter
- If you somehow can't fix it, upgrade the dependency to the highest version which doesn't have the issue
Sometimes you can resolve it by updating to the next version range (
patch->minor->major), if available- Add it to the
rejectarray - Add a comment on why you rejected it
- Add it to the
- Go back to step 2.2
- If you somehow can't fix it, upgrade the dependency to the highest version which doesn't have the issue
Sometimes you can resolve it by updating to the next version range (
- Review each dependency in the
- Repeat the above step for minor version config
- Always run tests after minor updates:
npm test
- Always run tests after minor updates:
- Before migrating the remaining packages to a newer
majorversion, migratenextandreactmanually first, if available. They provide convenient tools making the update easier for you- Run comprehensive tests after major framework updates:
npm test && npm run test:coverage
- Run comprehensive tests after major framework updates:
- Repeat the above step for major version config
- Verify all tests pass after major updates:
npm test
- Verify all tests pass after major updates:
- Review this process and update when necessary
Make sure to comment why you didn't update a specific dependency so we can try again at a later time. Preferably add a link to a github issue (or similar).