These are good suggestions. I would be wary of picking something like styled-components upfront, though. If you're using something like Chakra-UI or MUI 5 (my personal favorite), they might use different styling conventions in their docs and you may just find it easier to use whatever they use.
- Typescript
- React
- styled-components (I've heard good things about tailwindcss too)
- Jest and react-testing-library for testing
- prettier and eslint for linting
Just throwing it out there in case you'd like to share your code between web, desktop and mobile:
- Electron (desktop)
- React-Native (mobile)
- React-native-web (to bridge it all together)