A React Template with custom webpack config
·
Report Bugs
.
Add Features
Table of Contents
A React Template with custom webpack configuration along with support for code splitting. Following are the features specific to React.
- Individual Page code splitting support.
- Uses functional component style.
- Support for some commonly used Hooks.
- Well thought out directory structure for large scale projects.
- Supports testing using Jest and React Testing Library
Following is a list of plugins used for configuring Webpack
- uglify-js-plugin - For minification of Javascript
- clean-webpack-plugin - For cleaning of the build folder
- webpack-bundle-analyzer - For visualizing size of webpack output files
- copy-webpack-plugin - For copying the static directory into build directory
- html-webpack-plugin - For simplifying the creation of HTML files to serve your bundles
- brotli-webpack-plugin - For better compression using the Brotli compression algorithm
Following technologies and libraries are used for the development of this template
- Routing using react-router-dom
- Global State Mananagement with the help of redux
- Linting with eslint and formating using prettier
- Testing support with jest and react-testing-library
- Uses yarn for faster installs
To setup the project locally follow the steps below
-
# Homebrew brew install nodejs # Sudo apt sudo apt install nodejs # Packman pacman -S nodejs # Module Install dnf module install nodejs:<stream> # stream is the version # Windows (chocolaty) cinst nodejs.install
npm install --global yarn
# Homebrew
brew install git
# Sudo apt
apt-get install git
# Packman
pacman -S git
# Module Install (Fedora)
dnf install git
Our Slack Community: Slack Invite
Contributions are welcome 🎉🎉
Please refer to the project's style and contribution guidelines for submitting patches and additions. In general, we follow the "fork-and-pull" Git workflow.
- Fork the repo on GitHub
- Clone the project to your local system
- Commit changes to your own separate branch
- Push your work back up to your fork
- Submit a Pull request so that we can review your changes
NOTE 1: Please abide by the Contributing Guidelines.
NOTE 2: Please abide by the Code of Conduct.
The project uses Yarn and not NPM. It is strictly advised to stick with Yarn so as to avoid dependency conflicts down the line.
## Checkout into the project client directory
cd client
## Install Dependencies
yarn install
## Run the Project
yarn develop
Following are the commands to remove/add new dependencies using yarn
## Add a new Package
yarn add package_name
## Remove an existing Package
yarn remove package_name
## Save Package as a Dev Dependency
yarn add -D package_name
Distributed under the MIT License. See LICENSE
for more information.