A minimal boilerplate for writing Desktop Applications using Electron, React, Webpack & JavaScript.
This project makes use of latest packages and configurations to serve the best environment for development.
If you're looking for a boilerplate with Typescript support, find it here :
ERWT - Typescript Boilerplate
This project now includes custom Electron Window (JS), Titlebar, Menu Items, Window Controls & application icon etc by default. Menu items and windows controls layout or colors can be customized easily by modifying the misc/window modules. The windows platform buttons are being used by default in the Titlebar.
Menubar can be toggled by pressing ALT key
- 📐 Custom Window & Titlebar with Menus
- 🌟 Electron
- 🌀 JavaScript
- ⚛️ React
- 🛶 LESS Loader
- 🎨 CSS Loader
- 📸 Image Loader
- 🆎 Font Loader
- 🧹 ESLint
- 📦 Electron Forge
- 🔱 Webpack & Configuration
- 🧩 Aliases for project paths
- 🔥 Hot Module Replacement (Live Reload)
- 🎁 Package Bundling (Distribution / Release)
To clone the boilerplate, you need to run following commands:
git clone --recurse-submodules https://github.com/codesbiome/electron-react-webpack-boilerplateInstall dependencies using Yarn or NPM :
yarn installTo develop and run your application, you need to run following command.
Start electron application for development :
yarn startTo lint application source code using ESLint via this command :
yarn lintCustomize and package your Electron app with OS-specific bundles (.app, .exe etc)
yarn packageMaking is a way of taking your packaged application and making platform specific distributables like DMG, EXE, or Flatpak files (amongst others).
yarn makePublishing is a way of taking the artifacts generated by the make command and sending them to a service somewhere for you to distribute or use as updates. (This could be your update server or an S3 bucket)
yarn publishThis provides an easy way of configuring your packaged application and making platform specific distributables like DMG, EXE, or Flatpak files.
This configurations file is available in :
tools/forge/forge.config.jsFor further information, you can visit Electron Forge Configuration

