Skip to content

πŸ“‘ A free service that makes it easy for open-source Electron apps to update themselves.

Notifications You must be signed in to change notification settings

adam-coster/update.electronjs.org

This branch is 1 commit ahead of, 43 commits behind electron/update.electronjs.org:main.

Folders and files

NameName
Last commit message
Last commit date
Feb 7, 2023
Jan 26, 2023
Mar 27, 2023
Feb 4, 2023
Mar 27, 2023
Feb 24, 2023
Apr 25, 2018
Apr 25, 2018
Apr 4, 2018
Jan 11, 2023
Mar 27, 2023
Jan 31, 2023

Repository files navigation

πŸ“‘ update.electronjs.org

A free service that makes it easy for open-source Electron apps to update themselves.

CircleCI build status

Requirements

Before using this service, make sure your Electron app meets these criteria:

  • Your app runs on macOS or Windows
  • Your app has a public GitHub repository
  • Your builds are published to GitHub Releases
  • Your builds are code signed

Quick Setup

Install update-electron-app as a runtime dependency (not a devDependency):

npm install update-electron-app --save

Call it from in your main process file:

require('update-electron-app')()

And that's all it takes! To customize, see the update-electron-app API.

Once your application is packaged, it will update itself for each new GitHub Release that you publish.

Manual Setup

Use something like the following setup to add automatic updates to your application:

Important: Please ensure that the code below will only be executed in your packaged app, and not in development. You can use electron-is-dev to check for the environment.

const { app, autoUpdater } = require('electron')

Next, construct the URL of the update server and tell autoUpdater about it:

const server = 'https://update.electronjs.org'
const feed = `${server}/OWNER/REPO/${process.platform}-${process.arch}/${app.getVersion()}`

autoUpdater.setFeedURL(feed)

As the final step, check for updates. The example below will check every 10 minutes:

setInterval(() => {
  autoUpdater.checkForUpdates()
}, 10 * 60 * 1000)

Once your application is packaged, it will update itself for each new GitHub Release that you publish.

Routes

/:owner/:repo/:platform/:version

/:owner/:repo/win32/:version/RELEASES

Development

$ npm install
$ redis-server
$ GH_TOKEN=TOKEN npm start

To try with an actual electron app, run:

$ npm start &
$ cd example
$ npm install

On Darwin:

$ npm run build
$ ./out/test-darwin-x64/test.app/Contents/MacOS/test

On Windows:

$ npm run build
$ "example\out\make\squirrel.windows\x64\test-0.0.0 Setup.exe"

About

πŸ“‘ A free service that makes it easy for open-source Electron apps to update themselves.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.1%
  • TypeScript 1.8%
  • Procfile 0.1%