Upgrade Frontend Node Version #20
Open
+14,348
−11,773
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.
This has been tested on staging, and is running there now.
The changes in this PR allow us to maintain
frontend/package-lock.json
with lockFileVersion 2. package-lock.json is alreadylockFileVersion: 2
but the current version of Node used in Frontend is 12, which only writes lockFileVersion 1.Updating frontend to Node 16 requires using a fork of react-loading-overlay which supports React 17... which this app already uses, but it wont build in Node 16 with the unforked package. Not sure how this worked before, but this is what I've discovered. Frontend wont build in Node > 16. I tried Node 18 but it wont build, and complains of gyp errors.
Additionally, this makes changes to api's local development to unify on a single Dockerfile. There is no production Dockerfile (in prod this runs in a buildpack) so unify and simplify on one that matches the GitHub Action build process.
I also changed the docker-compose config to not mount the local source code into the container because I find this easier to work with when testing different Node versions. But that's just me and someone in the future, maybe me, may want to change this back.