This repository is a reference architecture based on React for building client side rendering applications. It provides various features and important utilities which will help in faster application development and try provide a recommended development ecosystem.
- Redux + Redux-Saga for state management
- Reselect for optimizations
- Dynamic reducer/saga injection
- Flow typed: All components are FlowTyped and Flow Type checked.
- Static Code Quality checks and formatting: Javascript and CSS linting using Eslint, Stylelint and Prettier.
- Component scaffolding: Consistently generate components using Plop.
- Documentation: Generates code documentation with ESDocs.
- Git Hooks: Pre-commit, Pre-push and pre-publish using Husky.
- Unit testing framework: with Jest and Enzyme.
- Babel 7 to transpiling javascript and releasing them as ESModules.
Dependencies should be installed using the yarn command line tools.
yarn install
yarn run flow:install
flow:install will search the libdef
repo and download all the libdefs that are relevant for our project and install them for us.