PRISM is an interactive map-based dashboard that simplifies the integration of geospatial data on hazards, along with information on socioeconomic vulnerability
Provide a clear and concise description of what you want to happen.
The PRISM codebase has several important outdated dependencies. There are a few issues this creates:
It's more difficult to incorporate new packages (for example, we can't use the latest version of react-markdown)
We risk losing support in our CI/CD runners for the deprecated version of node we depend on
Our development environment is slower than it should be and doesn't have support for the latest tooling (for example, hot module reloading)
We will eventually be forced to update our dependencies for one reason or another. Best to do it on our own terms so we're investing this effort at the right time in our product roadmap to ensure it's not conflicting with feature timelines.
Most important updates to make:
[ ] Node v16 to Node v20
Node v16 is no longer actively maintained by the Node team (source). We should upgrade to LTS (currently v20) to ensure we're able to use the new libraries and all CI/CD environments
[ ] React v16 to React v18
React v18 provides a few new APIs for data fetching and loading experiences as well as performance improvements in both production and development. Once again, many open-source libraries now have a peer-dependency on v18 so we need to upgrade to continue to use the latest
[ ] React Scripts v3 - React Scripts v5 (aka Create React App)
This update will improve our development experience (faster development environment with hot module reloading). Alternatively we could switch to Vite — my only preference is for whichever we think will require less effort to be functional.
Is there anything else you can add about the proposal? You might want to link to related issues here, if you haven't already.
We currently have a draft PR from a few months ago migrating Create React App to Vite (#1210). It looks like this tried to take on all of the updates in one go — we may have more luck if we break the updates into smaller pieces,
Provide a clear and concise description of what you want to happen.
The PRISM codebase has several important outdated dependencies. There are a few issues this creates:
We will eventually be forced to update our dependencies for one reason or another. Best to do it on our own terms so we're investing this effort at the right time in our product roadmap to ensure it's not conflicting with feature timelines.
Most important updates to make:
Is there anything else you can add about the proposal? You might want to link to related issues here, if you haven't already.
We currently have a draft PR from a few months ago migrating Create React App to Vite (#1210). It looks like this tried to take on all of the updates in one go — we may have more luck if we break the updates into smaller pieces,