Unleash the full potential of React with a customizable boilerplate built on Webpack 5 for maximum flexibility and control. This is your one-stop shop for crafting high-performance, scalable React applications.
react-router-dom-jsonroutes
webpack5
redux
redux-saga
CSS
SCSS
file-loader
├─ config // webpack configurations.
│ └─ webpack
├─ public // static assets
├─ src
│ ├─ components // universal components.
│ ├─ globalstore // redux global store.
│ ├─ modules // application modules.
│ │ └─ moduleName // individual module folder (eg: dashboard, settings)
│ │ └─ store // module level store files
│ ├─ routes // app routes
│ ├─ styles // styles
│ └─ index.tsx
└─ ... // other config files like tsconfig, prettier, stylelint
-
Webpack 5 Powerhouse: Leverage the latest features of Webpack 5 for efficient module bundling, optimized builds, and a smooth development experience.
-
Redux & Redux-Saga Ready: Dive into robust state management with pre-configured integration for Redux and Redux-Saga, ensuring predictable state handling in complex applications.
-
TypeScript Support: Embrace the benefits of type safety with built-in TypeScript support for enhanced code maintainability and reduced errors.
-
Customizable Webpack Config: Unlike Create React App, you have complete control over the Webpack configuration. Fine-tune your build process for optimal performance and integration with your specific requirements.
-
Separate Dev and Prod Configurations: Tailor your setup for different environments. Develop rapidly with hot reloading in development mode, and generate production-ready builds for deployment.
-
Jest for Testing: Write comprehensive unit and integration tests with Jest, ensuring the stability and reliability of your React components.
git clone https://github.com/vivekmengu016/react-boilerplate-webpack5.git myAwesomeProject
// change to project directory
cd myAwesomeProject
// installing node_modules
npm install
npm start
This will launch the development server, typically accessible at
http://localhost:3000/
Hot Reloading Enabled: Make code changes and see them reflected instantly in the browser for efficient development iterations.
npm run build
This generates optimized production-ready code in the dist
directory.
The config/webpack/
folder files allows you to tailor the build process to your specific needs. Explore Webpack's extensive documentation for in-depth configuration options: https://webpack.js.org/configuration/
-
webpack.common.js
for common config for both development and production -
webpack.dev.js
development specific config -
webpack.prod.js
production build config
While Create React App offers a convenient starting point, it enforces a rigid structure. This boilerplate empowers you with:
-
Granular Control: Deep customization of Webpack configuration for maximum flexibility.
-
Separate Dev/Prod Configs: Optimize builds for different environments.
-
No Limitations: Unrestricted use of your choice of libraries and frameworks.
We're committed to continuously evolving this boilerplate to stay ahead of the curve. Keep an eye out for updates that integrate the latest standards and technologies to empower your React development!
We appreciate your interest in contributing to the React Boilerplate Webpack5 project. We encourage you to submit pull requests for bug fixes, feature improvements, or any other enhancements you feel would benefit the project.
-
Please ensure you've read and understood the
README.md
file for installation and usage instructions. -
It's recommended to search for existing issues or create a new issue to discuss your proposed contribution before submitting a pull request. This helps to ensure alignment and avoid duplicate efforts.
We appreciate your contributions to the React Boilerplate Webpack5 project!
With this comprehensive React boilerplate, you're equipped to tackle a wide range of application development challenges. We wish you the best in crafting exceptional React experiences!
This project is licensed under the MIT License - see the LICENSE. file for details.
Copyright (c) 2024 Vivek Mengu (Contributors).