Electron-builder Mac Target Zip Dmg

If you have a question or an issue, please start a thread in our Github Discussions Forum. This forum is closed for new threads/ topics. Packaging an electron app simply means creating a desktop installer (dmg, exe, deb, etc). Now if you decide to go around manually packaging your app, you’re gonna have a bad time. The app size for this is 166 MB and the dmg is about 56 MB. Best hacker app for mac for hacking wifi. Any macOS Target. The top-level mac key contains set of options instructing electron-builder on how it should build macOS targets. These options applicable for any macOS target.

electron-builder

A complete solution to package and build a ready for distribution Electron, Proton Native or Muon app for macOS, Windows and Linux with “auto update” support out of the box.

See documentation on electron.build.

  • NPM packages management:
    • Native application dependencies compilation (including Yarn support).
    • Development dependencies are never included. You don't need to ignore them explicitly.
    • Two package.json structure is supported, but you are not forced to use it even if you have native production dependencies.
  • Code Signing on a CI server or development machine.
  • Auto Update ready application packaging.
  • Numerous target formats:
    • All platforms: 7z, zip, tar.xz, tar.7z, tar.lz, tar.gz, tar.bz2, dir (unpacked directory).
    • macOS: dmg, pkg, mas.
    • Linux: AppImage, snap, debian package (deb), rpm, freebsd, pacman, p5p, apk.
    • Windows: nsis (Installer), nsis-web (Web installer), portable (portable app without installation), AppX (Windows Store), MSI, Squirrel.Windows.
  • Publishing artifacts to GitHub Releases, Amazon S3, DigitalOcean Spaces and Bintray.
  • Advanced building:
    • Pack in a distributable format already packaged app.
    • Separate build steps.
    • Build and publish in parallel, using hard links on CI server to reduce IO and disk space usage.
  • electron-compile support (compile for release-time on the fly on build).
  • Docker images to build Electron app for Linux or Windows on any platform.
  • Proton Native and Muon support.
QuestionAnswer
“I want to configure electron-builder”See options
“I have a question”Open an issue or join the chat
“I found a bug”Open an issue
“I want to support development”Donate

Real project example — onshape-desktop-shell.

Installation

Yarn is strongly recommended instead of npm.

yarn add electron-builder --dev

Quick Setup Guide

electron-webpack-quick-start is a recommended way to create a new Electron application. See Boilerplates.

  1. Specify the standard fields in the application package.json — name, description, version and author.

  2. Specify the build configuration in the package.json as follows:

    See all options.

  3. Add icons.

  4. Add the scripts key to the development package.json:

    Then you can run yarn dist (to package in a distributable format (e.g. dmg, windows installer, deb package)) or yarn pack (only generates the package directory without really packaging it. This is useful for testing purposes).

    To ensure your native dependencies are always matched electron version, simply add script 'postinstall': 'electron-builder install-app-deps' to your package.json.

  5. If you have native addons of your own that are part of the application (not as a dependency), set nodeGypRebuild to true.

Please note that everything is packaged into an asar archive by default.

For an app that will be shipped to production, you should sign your application. See Where to buy code signing certificates.

Donate

We do this open source work in our free time. If you'd like us to invest more time on it, please donate. Donation can be used to increase some issue priority.

Sponsors

For other commands please see help using --help arg, e.g. ./node_modules/.bin/electron-builder install-app-deps --help

Tip

Since Node.js 8 npx is bundled, so, you can simply use npx electron-builder.

Prepend npx to sample commands below if you run it from Terminal and not from package.json scripts.

build for macOS, Windows and Linux

electron-builder -mwl

build deb and tar.xz for Linux

electron-builder --linux deb tar.xz

build NSIS 32-bit installer for Windows

electron-builder --windows nsis:ia32

set package.json property foo to bar

electron-builder -c.extraMetadata.foo=bar

configure unicode options for NSIS

Electron-builder Mac Target Zip Dmg Software

electron-builder -c.nsis.unicode=false

Target¶

Without target configuration, electron-builder builds Electron app for current platform and current architecture using default target.

  • macOS - DMG and ZIP for Squirrel.Mac.
  • Windows - NSIS.
  • Linux:
    • if you build on Windows or macOS: Snap and AppImage for x64.
    • if you build on Linux: Snap and AppImage for current architecture.

Platforms and archs can be configured or using CLI args, or in the configuration.

Electron-builder Mac Target Zip Dmg Download

For example, if you don’t want to pass --ia32 and --x64 flags each time, but instead build by default NSIS target for all archs for Windows:

Configuration

Electron-builder

```json tab=”package.json”“build”: { “win”: { “target”: [ { “target”: “nsis”, “arch”: [ “x64”, “ia32” ] } ] }}

Electron-builder Mac Target Zip Dmg File Size

and use

TargetConfiguration¶

  • target String - The target name. e.g. snap.
  • arch “x64” | “ia32” | “armv7l” | “arm64”> | “x64” | “ia32” | “armv7l” | “arm64” - The arch or list of archs.