Quand on lance un projet, on a autre chose à faire que remonter un environnement avec toujours les mêmes dépendances. C’est d’autant plus vrai quand on utilise Typescript et qu’on s’arrache un peu les cheveux avec ses dépendances.
J’avais déjà créé un Boilerplate assez cool pour s’éviter du code redondant à chaque projet, mais il n’était pas compatible avec Typescript, et comme Typescript, c’est bien, mangez-en, et que Create React App embarque d’emblée une compatibilité avec Typescript, j’ai décidé de tout refaire en utilisant les meilleurs outils du moment :
- Redux powered by Rematch (https://github.com/rematch/rematch/blob/master/docs/plugins.md) avec
- Persist
- Loading
- Select
- Connected React Router (https://github.com/supasate/connected-react-router)
- i18next (https://github.com/i18next/react-i18next)
- Typescript
- Formik (https://jaredpalmer.com/formik/)
- Ant Design (https://ant.design)
- Reactotron (https://github.com/infinitered/reactotron)
- Loadable (https://github.com/jamiebuilds/react-loadable)
- styled component (https://www.styled-components.com/)
- Atomic Design concepts (https://github.com/danilowoz/react-atomic-design)
- Sentry (https://sentry.io/welcome/)
- Error Boundaries
- Storybook (https://storybook.js.org/)
- Axios (https://github.com/axios/axios)
- Json server (https://github.com/typicode/json-server)
J’ai poussé le vice jusqu’à ajouter un petit json server afin d’illustrer les effects de Rematch quand il s’agit d’aller taper sur un endpoint. Oui bon, ca permet de gérer des moutons, parce que j’aime bien les moutons. Enfin, j’aime bien les moutons mais de façon platonique hein.