-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build(deps): bump node from 16 to 18 #2285
Conversation
02a5411
to
391303d
Compare
f53ab5f
to
429db66
Compare
429db66
to
5237a1e
Compare
// Close drawer | ||
await t.click(closeButtonSnackBar) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gweiying would you mind helping to check why the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm! removed gogovsg from my personal org, was a mistake on my part!
Problem
Node 16 is now deprecated, its security support has ended as of 11 Sep 2023
Follows up from #2078
Solution
Upgrade our servers and GitHub actions to use Node 18, whose security support is slated to end on 30 Apr 2025
Note that serverless has yet to be upgraded to node 18. This upgrade requires us to reconfigure our lambdas, and so it should be done in one shot to minimize disruption esp. to bulk upload lambdas -- see #1858 for more details
Other upgrades
The node 18 upgrade broke our Testcafe E2E tests, so I upgraded it from v1 to v2.
Unfortunately, Testcafe v2 requires TypeScript to be upgraded from v4.3 to v4.7.4. In turn, a whole bunch of downstream changes needed to be made:
react-i18next
ts-node
,ts-node-dev
,ts-loader
(dev dependencies)@typescript-eslint/eslint-plugin
and@typescript-eslint/parser
(dev dependencies)navigator.msSaveBlob
(used for old IE support, see Fix download CSV on IE #148) no longer exists as of TypeScript v4.4 (see relevant Stackoverflow thread)@ts-ignore
unknown
as of TypeScript v4.4 (docs), so we can't use.message
on itError
using(error as Error)
, lmk if doing this is problematicTests
Deploy Notes
Be a bit more careful with testing pre-release