{"id":13406871,"url":"https://github.com/electron-userland/electron-builder","last_synced_at":"2026-04-14T03:01:30.423Z","repository":{"id":32421396,"uuid":"35998691","full_name":"electron-userland/electron-builder","owner":"electron-userland","description":"A complete solution to package and build a ready for distribution Electron app with “auto update” support out of the box","archived":false,"fork":false,"pushed_at":"2026-04-12T15:08:53.000Z","size":176325,"stargazers_count":14520,"open_issues_count":106,"forks_count":1847,"subscribers_count":147,"default_branch":"master","last_synced_at":"2026-04-12T16:25:30.139Z","etag":null,"topics":["appx","auto-update","builder","contributions-welcome","deb","distribution-electron","dmg","electron","electron-builder","electron-updater","help-wanted","linux","macos","msi","muon","nsis","pkg","rpm","snap","squirrel"],"latest_commit_sha":null,"homepage":"https://www.electron.build","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/electron-userland.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["mmaietta"],"custom":"https://www.electron.build/donate"}},"created_at":"2015-05-21T07:45:02.000Z","updated_at":"2026-04-12T14:38:59.000Z","dependencies_parsed_at":"2024-01-23T21:57:00.868Z","dependency_job_id":"8e1dd2bc-07c7-4558-8ad0-4e3d0d71a369","html_url":"https://github.com/electron-userland/electron-builder","commit_stats":{"total_commits":3153,"total_committers":560,"mean_commits":5.630357142857143,"dds":0.4934982556295592,"last_synced_commit":"5c4472510a9dbefbe781aaa50252d9ad78b9f8ed"},"previous_names":["loopline-systems/electron-builder"],"tags_count":1017,"template":false,"template_full_name":null,"purl":"pkg:github/electron-userland/electron-builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron-userland%2Felectron-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron-userland%2Felectron-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron-userland%2Felectron-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron-userland%2Felectron-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/electron-userland","download_url":"https://codeload.github.com/electron-userland/electron-builder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron-userland%2Felectron-builder/sbom","scorecard":{"id":371966,"data":{"date":"2025-08-11","repo":{"name":"github.com/electron-userland/electron-builder","commit":"cfc4f36a5af20fb6c61dc7dfa6202cbc0fd9f201"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.9,"checks":[{"name":"Code-Review","score":7,"reason":"Found 20/27 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":8,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/pr-labeler.yml:11","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/pr-release.yml:15","Warn: jobLevel 'statuses' permission set to 'write': .github/workflows/pr-semantic.yml:17","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/pr-semantic.yml:16","Info: topLevel 'contents' permission set to 'read': .github/workflows/deploy-docker.yml:12","Warn: topLevel 'statuses' permission set to 'write': .github/workflows/deploy-netlify.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/deploy-netlify.yml:10","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker-build.yml:7","Info: topLevel 'contents' permission set to 'read': .github/workflows/pr-labeler.yml:6","Info: topLevel 'contents' permission set to 'read': .github/workflows/pr-netlify.yml:10","Warn: topLevel 'statuses' permission set to 'write': .github/workflows/pr-netlify.yml:11","Info: found token with 'none' permissions: .github/workflows/pr-release.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/pr-semantic.yml:11","Warn: no topLevel permission defined: .github/workflows/stale.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yaml:21"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 14 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: test/fixtures/test-app-symlink-framework/hello-world/lib/Release/Hello.framework/Versions/A/Hello:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/deploy-docker.yml:23"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":3,"reason":"dependency not pinned by hash detected -- score normalized to 3","details":["Warn: containerImage not pinned by hash: docker/base/Dockerfile:3: pin your Docker image by updating buildpack-deps:22.04-curl to buildpack-deps:22.04-curl@sha256:54825e31df823bf981751d47d821336355155e4ce18c6ecb06039c10e8531455","Warn: containerImage not pinned by hash: docker/node/Dockerfile:2","Warn: containerImage not pinned by hash: docker/wine-chrome/Dockerfile:2","Warn: containerImage not pinned by hash: docker/wine-mono/Dockerfile:2","Warn: containerImage not pinned by hash: docker/wine/Dockerfile:2","Warn: containerImage not pinned by hash: mkdocs-dockerfile:1: pin your Docker image by updating squidfunk/mkdocs-material:9.5 to squidfunk/mkdocs-material:9.5@sha256:41942f7a2f5163aacd0e866e076d95db4f26550b97d76c1594c04250cbb580e9","Warn: containerImage not pinned by hash: test/src/updater/Dockerfile-appimage:1: pin your Docker image by updating buildpack-deps:noble-curl to buildpack-deps:noble-curl@sha256:8693aea4cdad1dd3a30cc105434f7ba25d1711c976a18f80626c606f892794d9","Warn: containerImage not pinned by hash: test/src/updater/Dockerfile-archlinux:1: pin your Docker image by updating archlinux:latest to archlinux:latest@sha256:104d24b4464e89a16566d3e68ce0e2707aa15258c690ee9bef755930e8bc1c2d","Warn: containerImage not pinned by hash: test/src/updater/Dockerfile-debian:1: pin your Docker image by updating debian:bookworm-slim to debian:bookworm-slim@sha256:b1a741487078b369e78119849663d7f1a5341ef2768798f7b7406c4240f86aef","Warn: containerImage not pinned by hash: test/src/updater/Dockerfile-rpm:1: pin your Docker image by updating fedora:latest to fedora:latest@sha256:3da64cb89971a1cdbc6046e307eeebcb54f7281c0a606ee48d9995473f6b88d5","Warn: downloadThenRun not pinned by hash: docker/base/Dockerfile:8-22","Warn: npmCommand not pinned by hash: docker/node/Dockerfile:11","Warn: pipCommand not pinned by hash: mkdocs-dockerfile:2","Warn: downloadThenRun not pinned by hash: test/src/updater/Dockerfile-appimage:46","Warn: npmCommand not pinned by hash: test/src/updater/Dockerfile-appimage:48","Warn: npmCommand not pinned by hash: test/src/updater/Dockerfile-archlinux:13","Warn: downloadThenRun not pinned by hash: test/src/updater/Dockerfile-debian:5","Warn: npmCommand not pinned by hash: test/src/updater/Dockerfile-debian:8","Warn: npmCommand not pinned by hash: test/src/updater/Dockerfile-rpm:23","Info:  15 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   9 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of   5 npmCommand dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned","Info:   0 out of  10 containerImage dependencies pinned","Info:   0 out of   3 downloadThenRun dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":3,"reason":"SAST tool is not run on all commits -- score normalized to 3","details":["Warn: 9 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"16 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-xffm-g5w8-qvg7","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-xcj6-pq6g-qj4x","Warn: Project is vulnerable to: GHSA-356w-63v5-8wf4","Warn: Project is vulnerable to: GHSA-859w-5945-r5v3","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-p7v2-p9m8-qqg7","Warn: Project is vulnerable to: GHSA-7x97-j373-85x5","Warn: Project is vulnerable to: GHSA-7m48-wc93-9g85","Warn: Project is vulnerable to: GHSA-6r2x-8pq8-9489","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T13:11:12.980Z","repository_id":32421396,"created_at":"2025-08-18T13:11:12.980Z","updated_at":"2025-08-18T13:11:12.980Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31779947,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appx","auto-update","builder","contributions-welcome","deb","distribution-electron","dmg","electron","electron-builder","electron-updater","help-wanted","linux","macos","msi","muon","nsis","pkg","rpm","snap","squirrel"],"created_at":"2024-07-30T19:02:41.662Z","updated_at":"2026-04-14T03:01:30.405Z","avatar_url":"https://github.com/electron-userland.png","language":"TypeScript","readme":"# electron-builder [![npm version](https://img.shields.io/npm/v/electron-builder.svg?label=latest)](https://www.npmjs.com/package/electron-builder) [![downloads per month](https://img.shields.io/npm/dm/electron-builder.svg)](https://yarn.pm/electron-builder) [![donate](https://img.shields.io/badge/donate-donorbox-brightgreen.svg)](https://www.electron.build/donate)\nA complete solution to package and build a ready for distribution [Electron](https://electronjs.org), [Proton Native](https://proton-native.js.org/) 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://github.com/electron-userland/electron-builder/blob/master/CONTRIBUTING.md) is easy to do 🪩\n\n## Sponsors\n\n\u003ctable\u003e\n   \u003ctr align=\"center\"\u003e\n      \u003ctd\u003e\n         \u003ca href=\"https://workflowy.com\"\u003e\n            \u003cdiv\u003e\n               \u003cimg src=\"https://workflowy.com/media/i/icon-28x28.png\" alt=\"WorkFlowy\" title=\"WorkFlowy\" style=\"height: 50px;\" height=\"50\"/\u003e\n            \u003c/div\u003e\n            Notes, Tasks, Projects.\u003cbr\u003eAll in a Single Place.\n         \u003c/a\u003e\n         \u003cbr\u003e\n      \u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr align=\"center\"\u003e\n      \u003ctd\u003e\n         \u003cbr\u003e\n         \u003ca href=\"https://tidepool.org\"\u003e\n            \u003cdiv\u003e\n               \u003cimg src=\"https://www.electron.build/sponsor-logos/Tidepool_Logo_Light.svg\" alt=\"Tidepool\" title=\"Tidepool\" style=\"height: 75px;\" height=\"75\" /\u003e\n            \u003c/div\u003e\n            Your gateway to understanding your diabetes data\n         \u003c/a\u003e\n         \u003cbr\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n         \u003cbr\u003e\n         \u003ca href=\"https://keygen.sh/?via=electron-builder\"\u003e\n            \u003cdiv\u003e\n               \u003cimg src=\"https://keygen.sh/images/logo-pill.png\" alt=\"Keygen\" title=\"Keygen\" style=\"height: 75px;\" height=\"75\" /\u003e\n            \u003c/div\u003e\n            An open, source-available software licensing and distribution API\n         \u003c/a\u003e\n         \u003cbr\u003e\n      \u003c/td\u003e\n   \u003c/tr\u003e\n   \u003ctr align=\"center\"\u003e\n      \u003ctd\u003e\n         \u003cbr\u003e\n         \u003ca href=\"https://www.todesktop.com/electron?utm_source=electron-builder\"\u003e\n            \u003cdiv\u003e\n               \u003cimg src=\"https://www.todesktop.com/new-logo/todesktop-logo.png\" alt=\"ToDesktop\" title=\"ToDesktop\" style=\"height: 75px;\" height=\"75\" /\u003e\n            \u003c/div\u003e\n            ToDesktop: An all-in-one platform for building and releasing Electron apps\n         \u003c/a\u003e\n         \u003cbr\u003e\n      \u003c/td\u003e\n      \u003ctd\u003e\n         \u003cbr\u003e\n         \u003ca href=\"https://www.dashcam.io/?ref=electron_builder\"\u003e\n            \u003cdiv\u003e\n               \u003cimg src=\"https://user-images.githubusercontent.com/318295/226675216-ab6aad0c-526c-4a45-a0a8-3906ac614b8b.png\" alt=\"Dashcam\" title=\"Dashcam\" style=\"height: 75px;\" height=\"75\" /\u003e\n            \u003c/div\u003e\n            Dashcam: Capture the steps to reproduce any bug with video crash reports for Electron.\n         \u003c/a\u003e\n         \u003cbr\u003e\n      \u003c/td\u003e\n   \u003c/tr\u003e\n\u003c/table\u003e\n\n\n## Documentation\n\nSee the full documentation on [electron.build](https://www.electron.build).\n\n* NPM packages management:\n    * [Native application dependencies](https://electron.atom.io/docs/tutorial/using-native-node-modules/) compilation (including [Yarn](http://yarnpkg.com/) support).\n    * Development dependencies are never included. You don't need to ignore them explicitly.\n    * [Two package.json structure](https://www.electron.build/tutorials/two-package-structure) is supported, but you are not forced to use it even if you have native production dependencies.\n* [Code Signing](https://www.electron.build/code-signing) on a CI server or development machine.\n* [Auto Update](https://www.electron.build/auto-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://www.electron.build/mac): `dmg`, `pkg`, `mas`.\n    * [Linux](https://www.electron.build/linux): [AppImage](http://appimage.org), [snap](http://snapcraft.io), debian package (`deb`), `rpm`, `freebsd`, `pacman`, `p5p`, `apk`.\n    * [Windows](https://www.electron.build/win): `nsis` (Installer), `nsis-web` (Web installer), `portable` (portable app without installation), AppX (Windows Store), MSI, Squirrel.Windows.\n* [Publishing artifacts](https://www.electron.build/publish) to GitHub Releases, Amazon S3, DigitalOcean Spaces and Bintray.\n* Advanced building:\n    * Pack in a distributable format [already packaged app](https://www.electron.build/#pack-only-in-a-distributable-format).\n    * Separate [build steps](https://github.com/electron-userland/electron-builder/issues/1102#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://github.com/electron/electron-compile) support (compile for release-time on the fly on build).\n* [Docker](https://www.electron.build/multi-platform-build#docker) images to build Electron app for Linux or Windows on any platform.\n* [Proton Native](https://www.electron.build/configuration/#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://electron.build/configuration)                 |\n| “I found a bug or I have a question”   | [Open an issue](https://github.com/electron-userland/electron-builder/issues/new) |\n| “I want to support development”        | [Donate](https://www.electron.build/donate)                                       |\n\n## Installation\n```\nyarn add electron-builder --dev\n// 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/berry#4804](https://github.com/yarnpkg/berry/issues/4804#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://github.com/electron-userland/electron-webpack-quick-start) is a recommended way to create a new Electron application. See [Boilerplates](https://www.electron.build/#boilerplates).\n\n1. Specify the standard fields in the application `package.json` — [name](https://electron.build/configuration.html#metadata), `description`, `version` and [author](https://docs.npmjs.com/files/package.json#people-fields-author-contributors).\n\n2. Specify the [build](https://www.electron.build/configuration.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://www.electron.build/configuration). Option [files](https://www.electron.build/contents#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`/`json5`. See [read-config-file](https://www.npmjs.com/package/read-config-file) for supported extensions. [JS Example for programmatic API](https://www.electron.build/programmatic-usage)\n\n3. Add [icons](https://www.electron.build/icons).\n\n4. Add the [scripts](https://docs.npmjs.com/cli/run-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://www.electron.build/configuration.html#nodegyprebuild) to `true`.\n\nPlease note that everything is packaged into an asar archive [by default](https://electron.build/configuration.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://www.electron.build/code-signing#where-to-buy-code-signing-certificate).\n\n## Programmatic Usage\nSee `node_modules/electron-builder/out/index.d.ts`. Typings for TypeScript are provided and also can be found [here](https://www.electron.build/electron-builder/globals).\n\nCode snippet provided below is also shown \"in action\" [here](https://www.electron.build/programmatic-usage) as well.\n```js\n\"use strict\"\n\nconst builder = require(\"electron-builder\")\nconst Platform = builder.Platform\n\n// Promise is returned\nbuilder.build({\n  targets: Platform.MAC.createTarget(),\n  config: {\n   \"//\": \"build options, see https://www.electron.build/\"\n  }\n})\n  .then(() =\u003e {\n    // handle result\n  })\n  .catch((error) =\u003e {\n    // handle error\n  })\n```\n\n## Community Boilerplates\n\n* [electron-react-boilerplate](https://github.com/chentsulin/electron-react-boilerplate) A boilerplate for scalable cross-platform desktop apps.\n* [electron-vue-vite](https://github.com/caoxiemeihao/electron-vue-vite) A real simple Electron + Vue3 + Vite5 boilerplate.\n* [vite-electron-builder](https://github.com/cawa-93/vite-electron-builder) Secure boilerplate for Electron app based on Vite. Supports multiple frameworks.\n* [electronjs-with-nextjs](https://github.com/saulotarsobc/electronjs-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/verbosity from `hdiutil` (macOS).\n\n!!! tip \"cmd\"\n    On [Windows](https://github.com/visionmedia/debug#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://www.electron.build/donate).\n","funding_links":["https://github.com/sponsors/mmaietta","https://www.electron.build/donate"],"categories":["TypeScript","HarmonyOS","Library","前端开发框架及项目","JavaScript","打包，发布和更新","三、开发者必备工具","Tools","AppImage developer tools"],"sub_categories":["Windows Manager","Packager/Installer","其他_文本生成、文本对话","1. 构建与打包","For Electron","Deployment tools for Electron applications"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectron-userland%2Felectron-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felectron-userland%2Felectron-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectron-userland%2Felectron-builder/lists"}