Because:
* We want to update to Node 20 LTS.
* We want to target the JS output of Node 20.
* We want to use the latest TypeScript 5.4
This commit:
* Updates the Node version to 20 LTS.
* Updates the TypeScript version and related TS libs
to 5.4.
* Updates tsconfig for the new Node 20 target.
Because:
* We want to use the latest typescript features.
This commit:
* Updates to TypeScript 5.2.2.
* Updates to Node 18.17.1 as OOM would occur frequently with 18.14.
* Updates CI to use a large instance with increased memory for Node.
Because:
- we want to use the latest node LTS major version
This commit:
- upgrades FxA to use node 18, with two workarounds
- Webpack uses a hash algorithm that's no longer supported by default
in node 17+, causing build failures; --openssl-legacy-provider is
used as the workaround
- dns.lookup in node 17+ by default returns the results in the same
order as they are from the resolver, which could lead to
'localhost' resolving to ::1; --dns-result-order=ipv4first is used
as the workaround
Because:
* It's useful for scripts that check nvmrc on directory change to see
when the projects needed node version has changed.
This commit:
* Updates nvmrc to precisely match the needed node that is also checked
when starting up all the services.