Skip to content
A complete tool for creating, publishing, and installing modern Electron applications
TypeScript JavaScript Other
Branch: master
Clone or download
Pull request Compare This branch is 3 commits ahead, 302 commits behind electron-userland:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
ci
packages
tools
typings
.appveyor.yml
.babelrc
.cz.js
.editorconfig
.eslintignore
.eslintrc.json
.gitignore
.mocharc.json
.now.json
.npmignore
.nvmrc
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
LICENSE
README.md
SUPPORT.md
package.json
tsconfig.json
tsconfig.packages.json
yarn.lock

README.md

Electron Forge

Linux/macOS Build Status Windows Build status Commitizen friendly npm version npm license status

A complete tool for building modern Electron applications.

Electron Forge unifies the existing (and well maintained) build tools for Electron development into a simple, easy to use package so that anyone can jump right in to Electron development.


🚨 🚧 WARNING 🚧 🚨

🏗

The master branch is a rewrite of Electron Forge that will eventually be the 6.x series. If you are looking for the 5.x series (the version currently published to NPM), please view the 5.x branch.


Website | Goals | Docs and Usage | Configuration | Support | Contributing | Changelog

Getting Started

Note: Electron Forge requires Node 6 or above, plus git installed.

npm install -g @electron-forge/cli@beta
electron-forge init my-new-app
cd my-new-app
npm start

Alternatively, if you have a more recent version of npm or yarn, you can use npx, or yarn create.

npx create-electron-app my-new-app
# or
yarn create electron-app my-new-app

# then
cd my-new-app
npm start

Project Goals

  1. Starting with Electron should be as simple as a single command.
  2. Developers shouldn't have to worry about setting up build tooling, native module rebuilding, etc. Everything should "just work" for them out of the box.
  3. Everything from creating the project to packaging the project for release should be handled by one core dependency in a standard way while still offering users maximum choice and freedom.

With these goals in mind, under the hood this project uses, among others:

  • electron-rebuild: Automatically recompiles native Node.js modules against the correct Electron version.
  • Electron Packager: Customizes and bundles your Electron app to get it ready for distribution.

Docs and Usage

For Electron Forge documentation and usage you should check out our website: electronforge.io

FAQ

How do I use this with webpack/babel/typescript/random build tool?

As of Electron Forge 6+ by default we only do vanilla JavaScript but if you want to do some fancy build tool stuff you should check out the plugins section of our docs site. We currently have plugins for Webpack, Parcel and Electron Compile.

Contributing

Getting the code base running locally requires the bolt command installed globally. An example is given below.

npm i -g bolt
git clone https://github.com/electron-userland/electron-forge
cd electron-forge
# Installs all dependencies, don't run "yarn" or "npm install" yourself
bolt
# Builds all the TS code
bolt build

NOTE: Please ensure that all changes are committed using semantic commits, we expose a helper bolt commit to make this easier.

For more information you should check out our Contributing guide.

Team

Samuel Attard Mark Lee
You can’t perform that action at this time.