Giter VIP home page Giter VIP logo

electron-forge-docs's Introduction

description
Quickly scaffold an Electron project with a full build pipeline

Getting Started

Overview

Electron Forge is an all-in-one tool for packaging and distributing Electron applications. It combines many single-purpose packages to create a full build pipeline that works out of the box, complete with code signing, installers, and artifact publishing. For advanced workflows, custom build logic can be added in the Forge lifecycle through its Plugin API. Custom build and storage targets can be handled by creating your own Makers and Publishers.

Creating a new app

To get started with Electron Forge, we first need to initialize a new project with create-electron-app. This script is a convenient wrapper around Forge's Init command.

{% hint style="warning" %} Electron Forge currently only supports npm and Yarn Classic. If you are using Yarn >=2, please use the nodeLinker: node-modules install mode. {% endhint %}

npm init electron-app@latest my-app

Using templates

Forge's initialization scripts can add additional template code with the --template=[template-name] flag.

npm init electron-app@latest my-app -- --template=webpack

There are currently four first-party templates:

  • webpack
  • webpack-typescript
  • vite
  • vite-typescript

Both of these templates are built around plugins that bundle your JavaScript code for production and includes a dev server to provide a better developer experience.

{% hint style="info" %} We highly recommend using these templates when initializing your app to take advantage of modern front-end JavaScript tooling. {% endhint %}

To learn more about authoring your own templates for Electron Forge, check out the Writing Templates guide!

Starting your app

You should now have a directory called my-app with all the files you need for a basic Electron app.

cd my-app
npm start

Building distributables

So you've got an amazing application there, and you want to package it all up and share it with the world. If you run the make script, Electron Forge will generate you platform specific distributables for you to share with everyone. For more information on what kind of distributables you can make, check out the Makers documentation.

npm run make

Publishing your app

Now you have distributables that you can share with your users. If you run the publish script, Electron Forge will then publish the platform-specific distributables for you, using the publishing method of your choice. For example, if you want to publish your assets to GitHub, you can install the GitHub publisher dependency using:

npm install --save-dev @electron-forge/publisher-github

Once you have configured the publisher according to the documentation, run the following command to upload your distributables:

npm run publish

For more information on what publishers we currently support, check out the Publishers documentation.

Advanced Usage

Once you've got a basic app starting, building and publishing, it's time to add your custom configuration, which can be done in the forge.config.js file. Configuration options are specified in the Configuration Docs.

You can also check out the documentation on some of our more advanced features like:

electron-forge-docs's People

Contributors

malept avatar erickzhao avatar georgexu99 avatar dsanders11 avatar gitbook-bot avatar marshallofsound avatar vertedinde avatar b-zurg avatar lukebatchelor avatar itsananderson avatar sergeichestakov avatar erikian avatar hanayik avatar shysteph avatar codebytere avatar sankalp2114 avatar mrrc avatar felicianotech avatar phentompt avatar hallipr avatar nelsonni avatar mustafif avatar moshfeu avatar tominovak33 avatar christopherwk210 avatar zachinquarantine avatar atomicparade avatar demortis avatar electron-forge-docs-linter[bot] avatar ericrinaldo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.