Skip to content

Minimal boilerplate for writing Desktop Applications using Electron, React, Webpack, Javascript in 2022

License

Notifications You must be signed in to change notification settings

codesbiome/electron-react-webpack-boilerplate

Repository files navigation

Electron React Webpack Boilerplate (JavaScript)

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.

Typescript Based Project

If you're looking for a boilerplate with Typescript support, find it here :
ERWT - Typescript Boilerplate

Screenshot


Custom Window Titlebar & Menu

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


Core Features

  • 📐 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)

Installation

To clone the boilerplate, you need to run following commands:

git clone --recurse-submodules https://github.com/codesbiome/electron-react-webpack-boilerplate

Install dependencies using Yarn or NPM :

yarn install

Start : Development

To develop and run your application, you need to run following command.
Start electron application for development :

yarn start

Lint : Development

To lint application source code using ESLint via this command :

yarn lint

Package : Production

Customize and package your Electron app with OS-specific bundles (.app, .exe etc)

yarn package

Make : Production

Making is a way of taking your packaged application and making platform specific distributables like DMG, EXE, or Flatpak files (amongst others).

yarn make

Publish : Production

Publishing 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 publish

Packager & Makers Configuration

This 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.js

For further information, you can visit Electron Forge Configuration