[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-3891":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":46,"readmeContent":47,"aiSummary":48,"trendingCount":16,"starSnapshotCount":16,"syncStatus":49,"lastSyncTime":50,"discoverSource":51},3891,"electron-builder","electron-userland\u002Felectron-builder","electron-userland","A complete solution to package and build a ready for distribution Electron app with “auto update” support out of the box","https:\u002F\u002Fwww.electron.build",null,"TypeScript",14586,1850,147,42,0,1,12,44,7,44.8,"MIT License",false,"master",true,[27,28,29,30,31,32,33,34,5,35,36,37,38,39,40,41,42,43,44,45],"appx","auto-update","builder","contributions-welcome","deb","distribution-electron","dmg","electron","electron-updater","help-wanted","linux","macos","msi","muon","nsis","pkg","rpm","snap","squirrel","2026-06-12 02:00:55","# electron-builder [![npm version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Felectron-builder.svg?label=latest)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Felectron-builder) [![downloads per month](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Felectron-builder.svg)](https:\u002F\u002Fyarn.pm\u002Felectron-builder) [![donate](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdonate-donorbox-brightgreen.svg)](https:\u002F\u002Fwww.electron.build\u002Fdonate)\nA complete solution to package and build a ready for distribution [Electron](https:\u002F\u002Felectronjs.org), [Proton Native](https:\u002F\u002Fproton-native.js.org\u002F) app for macOS, Windows and Linux with “auto update” support out of the box. 📦\n\nAlways looking for community contributions! 👀 Setting up a [dev environment](https:\u002F\u002Fgithub.com\u002Felectron-userland\u002Felectron-builder\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md) is easy to do 🪩\n\n## Sponsors\n\n\u003Ctable>\n   \u003Ctr align=\"center\">\n      \u003Ctd>\n         \u003Ca href=\"https:\u002F\u002Fworkflowy.com\">\n            \u003Cdiv>\n               \u003Cimg src=\"https:\u002F\u002Fworkflowy.com\u002Fmedia\u002Fi\u002Ficon-28x28.png\" alt=\"WorkFlowy\" title=\"WorkFlowy\" style=\"height: 50px;\" height=\"50\"\u002F>\n            \u003C\u002Fdiv>\n            Notes, Tasks, Projects.\u003Cbr>All in a Single Place.\n         \u003C\u002Fa>\n         \u003Cbr>\n      \u003C\u002Ftd>\n   \u003C\u002Ftr>\n   \u003Ctr align=\"center\">\n      \u003Ctd>\n         \u003Cbr>\n         \u003Ca href=\"https:\u002F\u002Ftidepool.org\">\n            \u003Cdiv>\n               \u003Cimg src=\"https:\u002F\u002Fwww.electron.build\u002Fsponsor-logos\u002FTidepool_Logo_Light.svg\" alt=\"Tidepool\" title=\"Tidepool\" style=\"height: 75px;\" height=\"75\" \u002F>\n            \u003C\u002Fdiv>\n            Your gateway to understanding your diabetes data\n         \u003C\u002Fa>\n         \u003Cbr>\n      \u003C\u002Ftd>\n      \u003Ctd>\n         \u003Cbr>\n         \u003Ca href=\"https:\u002F\u002Fkeygen.sh\u002F?via=electron-builder\">\n            \u003Cdiv>\n               \u003Cimg src=\"https:\u002F\u002Fkeygen.sh\u002Fimages\u002Flogo-pill.png\" alt=\"Keygen\" title=\"Keygen\" style=\"height: 75px;\" height=\"75\" \u002F>\n            \u003C\u002Fdiv>\n            An open, source-available software licensing and distribution API\n         \u003C\u002Fa>\n         \u003Cbr>\n      \u003C\u002Ftd>\n   \u003C\u002Ftr>\n   \u003Ctr align=\"center\">\n      \u003Ctd>\n         \u003Cbr>\n         \u003Ca href=\"https:\u002F\u002Fwww.todesktop.com\u002Felectron?utm_source=electron-builder\">\n            \u003Cdiv>\n               \u003Cimg src=\"https:\u002F\u002Fwww.todesktop.com\u002Fnew-logo\u002Ftodesktop-logo.png\" alt=\"ToDesktop\" title=\"ToDesktop\" style=\"height: 75px;\" height=\"75\" \u002F>\n            \u003C\u002Fdiv>\n            ToDesktop: An all-in-one platform for building and releasing Electron apps\n         \u003C\u002Fa>\n         \u003Cbr>\n      \u003C\u002Ftd>\n      \u003Ctd>\n         \u003Cbr>\n         \u003Ca href=\"https:\u002F\u002Fwww.dashcam.io\u002F?ref=electron_builder\">\n            \u003Cdiv>\n               \u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F318295\u002F226675216-ab6aad0c-526c-4a45-a0a8-3906ac614b8b.png\" alt=\"Dashcam\" title=\"Dashcam\" style=\"height: 75px;\" height=\"75\" \u002F>\n            \u003C\u002Fdiv>\n            Dashcam: Capture the steps to reproduce any bug with video crash reports for Electron.\n         \u003C\u002Fa>\n         \u003Cbr>\n      \u003C\u002Ftd>\n   \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n## Documentation\n\nSee the full documentation on [electron.build](https:\u002F\u002Fwww.electron.build).\n\n* NPM packages management:\n    * [Native application dependencies](https:\u002F\u002Felectron.atom.io\u002Fdocs\u002Ftutorial\u002Fusing-native-node-modules\u002F) compilation (including [Yarn](http:\u002F\u002Fyarnpkg.com\u002F) support).\n    * Development dependencies are never included. You don't need to ignore them explicitly.\n    * [Two package.json structure](https:\u002F\u002Fwww.electron.build\u002Ftutorials\u002Ftwo-package-structure) is supported, but you are not forced to use it even if you have native production dependencies.\n* [Code Signing](https:\u002F\u002Fwww.electron.build\u002Fcode-signing) on a CI server or development machine.\n* [Auto Update](https:\u002F\u002Fwww.electron.build\u002Fauto-update) ready application packaging.\n* Numerous target formats:\n    * All platforms: `7z`, `zip`, `tar.xz`, `tar.7z`, `tar.lz`, `tar.gz`, `tar.bz2`, `dir` (unpacked directory).\n    * [macOS](https:\u002F\u002Fwww.electron.build\u002Fmac): `dmg`, `pkg`, `mas`.\n    * [Linux](https:\u002F\u002Fwww.electron.build\u002Flinux): [AppImage](http:\u002F\u002Fappimage.org), [snap](http:\u002F\u002Fsnapcraft.io), debian package (`deb`), `rpm`, `freebsd`, `pacman`, `p5p`, `apk`.\n    * [Windows](https:\u002F\u002Fwww.electron.build\u002Fwin): `nsis` (Installer), `nsis-web` (Web installer), `portable` (portable app without installation), AppX (Windows Store), MSI, Squirrel.Windows.\n* [Publishing artifacts](https:\u002F\u002Fwww.electron.build\u002Fpublish) to GitHub Releases, Amazon S3, DigitalOcean Spaces and Bintray.\n* Advanced building:\n    * Pack in a distributable format [already packaged app](https:\u002F\u002Fwww.electron.build\u002F#pack-only-in-a-distributable-format).\n    * Separate [build steps](https:\u002F\u002Fgithub.com\u002Felectron-userland\u002Felectron-builder\u002Fissues\u002F1102#issuecomment-271845854).\n    * Build and publish in parallel, using hard links on CI server to reduce IO and disk space usage.\n    * [electron-compile](https:\u002F\u002Fgithub.com\u002Felectron\u002Felectron-compile) support (compile for release-time on the fly on build).\n* [Docker](https:\u002F\u002Fwww.electron.build\u002Fmulti-platform-build#docker) images to build Electron app for Linux or Windows on any platform.\n* [Proton Native](https:\u002F\u002Fwww.electron.build\u002Fconfiguration\u002F#proton-native) support.\n* Downloads all required tools files on demand automatically (e.g. to code sign windows application, to make AppX), no need to setup.\n\n| Question                               | Answer                                                                            |\n| -------------------------------------- | --------------------------------------------------------------------------------- |\n| “I want to configure electron-builder” | [See options](https:\u002F\u002Felectron.build\u002Fconfiguration)                 |\n| “I found a bug or I have a question”   | [Open an issue](https:\u002F\u002Fgithub.com\u002Felectron-userland\u002Felectron-builder\u002Fissues\u002Fnew) |\n| “I want to support development”        | [Donate](https:\u002F\u002Fwww.electron.build\u002Fdonate)                                       |\n\n## Installation\n```\nyarn add electron-builder --dev\n\u002F\u002F or npm, pnpm, bun\n```\n\n### Note for Yarn 3\n\nYarn 3 use PnP by default, but electron-builder still needs node-modules (ref: [yarnpkg\u002Fberry#4804](https:\u002F\u002Fgithub.com\u002Fyarnpkg\u002Fberry\u002Fissues\u002F4804#issuecomment-1234407305)). Add configuration in the `.yarnrc.yaml` as follows:\n```\nnodeLinker: \"node-modules\"\n```\nThis will declare to use node-modules instead of PnP.\n\n## Quick Setup Guide\n\n[electron-webpack-quick-start](https:\u002F\u002Fgithub.com\u002Felectron-userland\u002Felectron-webpack-quick-start) is a recommended way to create a new Electron application. See [Boilerplates](https:\u002F\u002Fwww.electron.build\u002F#boilerplates).\n\n1. Specify the standard fields in the application `package.json` — [name](https:\u002F\u002Felectron.build\u002Fconfiguration.html#metadata), `description`, `version` and [author](https:\u002F\u002Fdocs.npmjs.com\u002Ffiles\u002Fpackage.json#people-fields-author-contributors).\n\n2. Specify the [build](https:\u002F\u002Fwww.electron.build\u002Fconfiguration.html#build) configuration in the `package.json` as follows:\n    ```json\n    \"build\": {\n      \"appId\": \"your.id\",\n      \"mac\": {\n        \"category\": \"your.app.category.type\"\n      }\n    }\n    ```\n   See [all options](https:\u002F\u002Fwww.electron.build\u002Fconfiguration). Option [files](https:\u002F\u002Fwww.electron.build\u002Fcontents#files) to indicate which files should be packed in the final application, including the entry file, maybe required.\n   You can also use separate configuration files, such as `js`, `ts`, `yml`, and `json`\u002F`json5`. See [read-config-file](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fread-config-file) for supported extensions. [JS Example for programmatic API](https:\u002F\u002Fwww.electron.build\u002Fprogrammatic-usage)\n\n3. Add [icons](https:\u002F\u002Fwww.electron.build\u002Ficons).\n\n4. Add the [scripts](https:\u002F\u002Fdocs.npmjs.com\u002Fcli\u002Frun-script) key to the development `package.json`:\n    ```json\n    \"scripts\": {\n      \"app:dir\": \"electron-builder --dir\",\n      \"app:dist\": \"electron-builder\"\n    }\n    ```\n    Then you can run `yarn app:dist` (to package in a distributable format (e.g. dmg, windows installer, deb package)) or `yarn app:dir` (only generates the package directory without really packaging it. This is useful for testing purposes).\n\n    To ensure your native dependencies are always matched electron version, simply add script `\"postinstall\": \"electron-builder install-app-deps\"` to your `package.json`.\n\n5. If you have native addons of your own that are part of the application (not as a dependency), set [nodeGypRebuild](https:\u002F\u002Fwww.electron.build\u002Fconfiguration.html#nodegyprebuild) to `true`.\n\nPlease note that everything is packaged into an asar archive [by default](https:\u002F\u002Felectron.build\u002Fconfiguration.html#asar).\n\nFor an app that will be shipped to production, you should sign your application. See [Where to buy code signing certificates](https:\u002F\u002Fwww.electron.build\u002Fcode-signing#where-to-buy-code-signing-certificate).\n\n## Programmatic Usage\nSee `node_modules\u002Felectron-builder\u002Fout\u002Findex.d.ts`. Typings for TypeScript are provided and also can be found [here](https:\u002F\u002Fwww.electron.build\u002Felectron-builder\u002Fglobals).\n\nCode snippet provided below is also shown \"in action\" [here](https:\u002F\u002Fwww.electron.build\u002Fprogrammatic-usage) as well.\n```js\n\"use strict\"\n\nconst builder = require(\"electron-builder\")\nconst Platform = builder.Platform\n\n\u002F\u002F Promise is returned\nbuilder.build({\n  targets: Platform.MAC.createTarget(),\n  config: {\n   \"\u002F\u002F\": \"build options, see https:\u002F\u002Fwww.electron.build\u002F\"\n  }\n})\n  .then(() => {\n    \u002F\u002F handle result\n  })\n  .catch((error) => {\n    \u002F\u002F handle error\n  })\n```\n\n## Community Boilerplates\n\n* [electron-react-boilerplate](https:\u002F\u002Fgithub.com\u002Fchentsulin\u002Felectron-react-boilerplate) A boilerplate for scalable cross-platform desktop apps.\n* [electron-vue-vite](https:\u002F\u002Fgithub.com\u002Fcaoxiemeihao\u002Felectron-vue-vite) A real simple Electron + Vue3 + Vite5 boilerplate.\n* [vite-electron-builder](https:\u002F\u002Fgithub.com\u002Fcawa-93\u002Fvite-electron-builder) Secure boilerplate for Electron app based on Vite. Supports multiple frameworks.\n* [electronjs-with-nextjs](https:\u002F\u002Fgithub.com\u002Fsaulotarsobc\u002Felectronjs-with-nextjs) ElectronJS application with NextJS and TypeScript.\n\n## Debug\n\nSet the `DEBUG` environment variable to debug what electron-builder is doing:\n```bash\nDEBUG=electron-builder\n```\n\n`FPM_DEBUG` env to add more details about building linux targets (except snap and appimage).\n\n`DEBUG_DMG=true` env var to add more debugging\u002Fverbosity from `hdiutil` (macOS).\n\n!!! tip \"cmd\"\n    On [Windows](https:\u002F\u002Fgithub.com\u002Fvisionmedia\u002Fdebug#windows-command-prompt-notes) the environment variable is set using the set command.\n    ```bash\n    set DEBUG=electron-builder\n    ```\n\n!!! tip \"PowerShell\"\n    PowerShell uses different syntax to set environment variables.\n    ```bash\n    $env:DEBUG = \"electron-builder\"\n    ```\n\n## Donate\n\nWe do this open source work in our free time. If you'd like us to invest more time on it, please [donate](https:\u002F\u002Fwww.electron.build\u002Fdonate).\n","electron-userland\u002Felectron-builder 是一个用于打包和构建 Electron 应用的完整解决方案，支持开箱即用的自动更新功能。该项目采用 TypeScript 编写，提供跨平台（macOS、Windows 和 Linux）的应用程序打包服务，包括生成安装包（如 .dmg, .exe, .deb 等）以及配置自动更新机制等功能。它特别适合需要快速将基于 Electron 的桌面应用部署到不同操作系统上的开发者使用。此外，electron-builder 项目欢迎社区贡献，并且设置开发环境相对简单，便于更多人参与进来共同维护与发展。",2,"2026-06-11 02:56:55","top_language"]