{"id":13433676,"url":"https://github.com/iffy/electron-updater-example","last_synced_at":"2026-01-02T02:06:18.261Z","repository":{"id":46451136,"uuid":"80851256","full_name":"iffy/electron-updater-example","owner":"iffy","description":"A complete example showing how to use `electron-updater`","archived":false,"fork":false,"pushed_at":"2021-10-15T17:22:12.000Z","size":66,"stargazers_count":606,"open_issues_count":13,"forks_count":640,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-10-28T16:13:05.878Z","etag":null,"topics":["electron","electron-updater","macos","windows"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iffy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-03T17:17:34.000Z","updated_at":"2024-10-12T01:23:00.000Z","dependencies_parsed_at":"2022-08-12T12:50:56.726Z","dependency_job_id":null,"html_url":"https://github.com/iffy/electron-updater-example","commit_stats":null,"previous_names":[],"tags_count":21,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iffy%2Felectron-updater-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iffy%2Felectron-updater-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iffy%2Felectron-updater-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iffy%2Felectron-updater-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iffy","download_url":"https://codeload.github.com/iffy/electron-updater-example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244041357,"owners_count":20388221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["electron","electron-updater","macos","windows"],"created_at":"2024-07-31T02:01:32.816Z","updated_at":"2026-01-02T02:06:18.255Z","avatar_url":"https://github.com/iffy.png","language":"JavaScript","readme":"This repo contains the **bare minimum code** to have an auto-updating Electron app using [`electron-updater`](https://github.com/electron-userland/electron-builder/tree/master/packages/electron-updater) with releases stored on GitHub.\n\nIf you can't use GitHub, you can use other providers:\n\n- [Complete electron-updater HTTP example](https://gist.github.com/iffy/0ff845e8e3f59dbe7eaf2bf24443f104)\n- [Complete electron-updater from gitlab.com private repo example](https://gist.github.com/Slauta/5b2bcf9fa1f6f6a9443aa6b447bcae05)\n\n**NOTE:** If you want to run through this whole process, either fork this repo or [start your own from a template](https://github.com/iffy/electron-updater-example/generate). Then replace all instances of `iffy` with your GitHub username before doing the following steps.\n\n1. For macOS, you will need a code-signing certificate.\n\n    Install Xcode (from the App Store), then follow [these instructions](https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/uid/TP40012582-CH31-SW6) to make sure you have a \"Developer ID Application\" certificate.  If you'd like to export the certificate (for automated building, for instance) [you can](https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/uid/TP40012582-CH31-SW7).  You would then follow [these instructions](https://www.electron.build/code-signing).\n   \n    This example application is set up to perform code-signing and notarization on Mac OS provided that a `Developer ID\n    Application` certificate is installed in the default keychain.  The following environment variables are important for the signing process:\n\n    - `CSC_IDENTITY_AUTO_DISCOVERY` - controls whether `electron-builder` tries to sign the application; default is `true`, set to `false` to skip signing\n    - `APPLE_ID` - the Apple ID to use for notarization (required for signing).\n    - `APPLE_ID_PASSWORD` - the password to use with the specified Apple ID for notarization (required for signing).  Apple recommends setting up an app-specific password to safeguard the Apple ID password (see [Apple Support](https://support.apple.com/en-us/HT204397)) for more information.\n\n    To enable code-signing and notarization:\n\n        export CSC_IDENTITY_AUTO_DISCOVERY=\"true\"\n        export APPLE_ID=\"\u003cyour Apple ID\u003e\"\n        export APPLE_ID_PASSWORD=\"\u003cyour Apple Password\u003e\"\n\n2. Adjust `package.json` if needed.\n\n    By default, `electron-updater` will try to detect the GitHub settings (such as the repo name and owner) from reading the `.git/config` or from reading other attributes within `package.json`.  If the auto-detected settings are not what you want, configure the [`publish`](https://github.com/electron-userland/electron-builder/wiki/Publishing-Artifacts#PublishConfiguration) property as follows:\n\n        {\n            ...\n            \"build\": {\n                \"publish\": [{\n                    \"provider\": \"github\",\n                    \"owner\": \"iffy\",\n                    \"repo\": \"electron-updater-example\"\n                }],\n                ...\n            }\n        }\n\n3. Install necessary dependencies with:\n\n        yarn\n\n   or\n\n        npm install\n\n4. Generate a GitHub access token by going to \u003chttps://github.com/settings/tokens/new\u003e.  The access token should have the `repo` scope/permission.  Once you have the token, assign it to an environment variable\n\n    On macOS/linux:\n\n        export GH_TOKEN=\"\u003cYOUR_TOKEN_HERE\u003e\"\n\n    On Windows, run in powershell:\n\n        [Environment]::SetEnvironmentVariable(\"GH_TOKEN\",\"\u003cYOUR_TOKEN_HERE\u003e\",\"User\")\n\n    Make sure to restart your IDE/Terminal to inherit latest env variable.\n\n5. Publish for your platform with:\n\n        electron-builder -p always\n\n   or\n\n        npm run publish\n\n   If you want to publish for more platforms, edit the `publish` script in `package.json`.  For instance, to build for Windows and macOS:\n\n        ...\n        \"scripts\": {\n            \"publish\": \"electron-builder --mac --win -p always\"\n        },\n        ...\n\n   NOTE: The Mac OS signing/notarization process must be run on Mac OS.\n\n6. Release the release on GitHub by going to \u003chttps://github.com/YOUR_GIT_HUB_USERNAME/electron-updater-example/releases\u003e, editing the release and clicking \"Publish release.\"\n\n7. Download and install the app from \u003chttps://github.com/YOUR_GIT_HUB_USERNAME/electron-updater-example/releases\u003e.\n\n8. Update the version in `package.json`, commit and push to GitHub.\n\n9. Do steps 5 and 6 again.\n\n10. Open the installed version of the app and see that it updates itself.\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiffy%2Felectron-updater-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiffy%2Felectron-updater-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiffy%2Felectron-updater-example/lists"}