T1682 T2255
Cashtab is built on top of an ejected create-react-app that has been incrementally upgraded to support various features. The dependency tree has become complex, with some challenges in keeping out conflicting dependencies. Also, npm start will occasionally break.
This diff rebuilds Cashtab on top of the latest version of create react app, which uses webpack 5. It corrects npm start breaking on refresh. It also upgrades dependencies to the latest version, and removes dependencies no longer required.
Unfortunately, the app still needs to be ejected in order to support polyfills for some app functions. Some other issues:
- extension not working
- useWallet.js unit tests break with upgrade to jest 27
- Some css features are lost due to less-loader no longer working with antd mods. They can be brought back with new custom css. For example, the styled collapses on send have lost some of their custom styling.
Overall, this update needs to happen, and sooner is better than later. I think the new features of jest 27 make the loss of useWallet.js unit tests okay for now -- though if they cannot be fixed in this diff, we need a task up to bring them back.