build(deps): bump node from 14 to 16 #2078
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
We need to upgrade node from 14 to 16 - see #1873 for more info
Closes #1873
Solution
Bump node version from 14 to 16. With this upgrade, npm also needs to be upgraded from version 6 to 8 (or minimally 7, but the latest version of node 16 uses npm 8 by default).
Note that:
package-lock.json
--legacy-peer-deps
withnpm install
. Doing this merely reverts back to pre-npm-7 behaviour, so adding the flag is safe. Note that not using--legacy-peer-deps
will cause issues with our current codebase; we may want to fix this in the future. See this Stackoverflow question for more infoI've also changed the E2E test setup in
ci.yml
. I've removedDevExpress/testcafe-action
, which doesn't work with node 16 because it npm installs testcafe independently without allowing us to use--legacy-peer-deps
. Since we've already installed testcafe locally in the previous step, I figured it was enough to use a npm script to run E2E and found the testcafe action to be superfluous.Future action items:
--legacy-peer-deps
[Dev notes: these were the steps I took to update
package-lock.json
]package.json
nvm use 16
npm i --package-lock-only
: this upgrades package-lock.json lockfile version from 1 to 2npm i --legacy-peer-deps
[Note: deal with these warnings when upgrading to node v18]
Tests