electron-builder

A complete solution to package and build ready-to-distribute Electron apps for macOS, Windows, and Linux with auto-update support out of the box.

Tool
npm
v26.15.3
14,670 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
95 /100 Excellent
Development Activity 100
Maintenance 96
Community 84
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
90 /100 Excellent
Architecture 92
Code Quality 90
Innovation 88
Learning Curve 74

electron-builder is the de-facto tool for turning an Electron (or Proton Native) project into signed, distributable desktop installers across macOS, Windows, and Linux. Driven by a single configuration block and a electron-builder CLI command, it handles packaging, code signing, artifact publishing, and auto-update wiring without forcing you to manage the underlying platform tooling.

It downloads whatever native build tools it needs on demand, supports an enormous range of target formats (NSIS, MSI, AppX, dmg, pkg, AppImage, snap, deb, rpm, and more), and ships a matching electron-updater runtime so packaged apps can update themselves from GitHub Releases, S3, and other providers.

What You Get

  • A single electron-builder CLI plus a programmatic build() API for packaging apps from scripts or CI
  • Dozens of target formats across macOS (dmg, pkg, mas), Windows (NSIS, nsis-web, portable, AppX, MSI, Squirrel), and Linux (AppImage, snap, deb, rpm, pacman, and more)
  • Built-in code signing and notarization on CI or a developer machine, with tools downloaded automatically on demand
  • Auto-update-ready packaging paired with the companion electron-updater runtime and publishing to GitHub Releases, Amazon S3, and DigitalOcean Spaces
  • Native dependency handling via install-app-deps, asar archiving, and Docker images for cross-platform builds

Common Use Cases

  • Producing signed macOS, Windows, and Linux installers for an Electron desktop app in one CI pipeline
  • Wiring up in-app auto-updates that pull new releases from GitHub or an S3-compatible bucket
  • Cross-compiling Linux and Windows targets from any host using the provided Docker images

Under The Hood

Architecture electron-builder is a pnpm monorepo layered around a thin CLI and a heavy core. The published electron-builder package exposes cli/cli.ts, which uses yargs to route build, install-app-deps, publish, create-self-signed-cert, and migrate-schema commands, plus a programmatic build()/Platform API in builder.ts and index.ts. The real work lives in app-builder-lib, whose packager.ts orchestrates per-platform packagers (macPackager.ts, winPackager.ts, linuxPackager.ts) that extend a shared platformPackager.ts, each dispatching to concrete formats under targets/. Supporting concerns are cleanly separated into codeSign/, asar/, publish/, and node-module-collector/, while electron-publish and electron-updater are sibling packages handling artifact upload and the in-app update runtime.

Tech Stack The codebase is TypeScript (~95% of source) targeting native ESM on Node >=22.12, built with tsc --build across project references. It leans on the official @electron/* toolchain (@electron/asar, @electron/notarize, @electron/osx-sign, @electron/universal, @electron/rebuild, @electron/get) for platform primitives, ajv to validate configuration against a generated JSON schema, yargs for the CLI, and utilities like tar, undici, js-yaml, plist, semver, and fs-extra. Docker images are provided for reproducible cross-platform Linux/Windows builds.

Code Quality The project is heavily tested, with roughly 190 test files under test/src covering archiving, code signing, publishing, blockmaps, and full end-to-end build scenarios, run via a sharded Vitest harness. It enforces quality through a pretest gate that runs dependency checks, ESLint, and full TypeScript typechecking of both source and tests, plus Prettier formatting and Changesets-driven versioning. The strict TS configuration and modular package boundaries keep the large surface area maintainable.

API Design Ergonomics favor convention over configuration: a single declarative build block plus electron-builder produces signed, distributable artifacts, and required native tooling is downloaded automatically rather than pre-installed. The CLI mirrors a well-typed programmatic API (build({ targets, config })), configuration is JSON-schema-validated with a migrate-schema command to ease major upgrades, and extensive documentation on electron.build lowers the barrier despite the inherently complex cross-platform packaging domain.

Used by 101 apps in this directory

Clojure
70%
AGPL 3.0

Logseq

Knowledge Management · Note Taking

45,069

A privacy-first, open-source knowledge graph platform combining Markdown, Org-mode, bidirectional linking, and local-first storage for building your second brain.

View details
92
Repo Health
82
Technical
68
Dependency
Built with
Clojure 70%
OCaml 12%
Updated 1 weeks ago
TypeScript
56%
Apache 2.0

LTX-Desktop

AI Design Tools · Video Editors

2,028

An open-source Electron app that runs LTX-2 text-to-video, image-to-video, and video editing models locally on your GPU, or via a cloud API when your hardware can't keep up.

View details
72
Repo Health
82
Technical
73
Dependency
Built with
TypeScript 56%
Python 41%
Updated 1 months ago
TypeScript
56%
Apache 2.0

LTX-Desktop

AI Design Tools · Video Editors

2,028

An open-source Electron app that runs LTX-2 text-to-video, image-to-video, and video editing models locally on your GPU, or via a cloud API when your hardware can't keep up.

View details
72
Repo Health
82
Technical
73
Dependency
Built with
TypeScript 56%
Python 41%
Updated 1 months ago
TypeScript
92%
Apache 2.0

Apache Maka

AI Agents · AI Development · Developer Tools

5,668

An Apache-incubated agent workspace that treats every model call, tool run, and permission decision as an append-only, replayable event log instead of disposable chat history.

View details
81
Repo Health
85
Technical
81
Dependency
Built with
TypeScript 92%
Updated 1 weeks ago
TypeScript
92%
Apache 2.0

Apache Maka

AI Agents · AI Development · Developer Tools

5,668

An Apache-incubated agent workspace that treats every model call, tool run, and permission decision as an append-only, replayable event log instead of disposable chat history.

View details
81
Repo Health
85
Technical
81
Dependency
Built with
TypeScript 92%
Updated 1 weeks ago
TypeScript
80%
AGPL 3.0

massCode

Code Editors · Developer Tools · Productivity

7,003

A free, local-first developer workspace unifying snippets, notes, HTTP requests, calculations, drawings, and dev tools in one desktop app.

View details
87
Repo Health
87
Technical
63
Dependency
Built with
TypeScript 80%
Vue 19%
Updated 1 weeks ago
TypeScript
80%
AGPL 3.0

massCode

Code Editors · Developer Tools · Productivity

7,003

A free, local-first developer workspace unifying snippets, notes, HTTP requests, calculations, drawings, and dev tools in one desktop app.

View details
87
Repo Health
87
Technical
63
Dependency
Built with
TypeScript 80%
Vue 19%
Updated 1 weeks ago
TypeScript
95%
MIT

melty

AI Code Assistants · Code Editors · Developer Tools

5,444

The AI code editor where every chat message is a git commit you can revert, branch, or squash

View details
35
Repo Health
75
Technical
67
Dependency
Built with
TypeScript 95%
Updated 1 years ago
TypeScript
95%
MIT

melty

AI Code Assistants · Code Editors · Developer Tools

5,444

The AI code editor where every chat message is a git commit you can revert, branch, or squash

View details
35
Repo Health
75
Technical
67
Dependency
Built with
TypeScript 95%
Updated 1 years ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers