🚀 Launch Week Day 2:Introducing Custom Tabs for Org Alerts.Learn More →
Socket
Book a DemoInstallSign in
Socket

hyperupdate

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hyperupdate

P2P Electron updater with binary diffing built in

latest
Source
npmnpm
Version
1.2.2
Version published
Weekly downloads
1
-50%
Maintainers
1
Weekly downloads
 
Created
Source

hyperupdate

P2P Electron updater with binary diffing built in

npm install hyperupdate

Status

Note that this project is still experimental

Usage

First setup the releaser in your app

npm install -g hyperupdate
cd your-electron-app
hyperupdate-release # will print a release config map

The release lines are store in ./hyperupdate, you might want to add this folder to your .gitignore.

Then in your Electron app, setup the updater in either your electron process or in the renderer process if you have Node.js integration enabled.

const Hyperupdate = require('hyperupdate')

const u = new Hyperupdate({
  darwin: '<from-above>',
  linux: '<from-above>',
  win32: '<from-above>'
})

u.on('update-available', () => {
  console.log('New update available', this.latestRelease)
})

u.on('update-downloaded', () => {
  console.log('New update downloaded', this.latestRelease)
})

After the update-downloaded event has fired you can use the updateAndRelaunch method to apply the new update

u.updateAndRelaunch() // will apply the update and relaunch your app

RPC

If you want to run the updater in the Electron process instead of the renderer you can use the RPC interface to access it.

In the Electron process do

await u.listen()

And then in renderer do

const Client = require('hyperupdate/client')

const u = new Client()

The remote client has the same interface as the normal updater instance.

Adding a new release

To add a new release, bump the version in your Electron's package.json and build your app using electron-builder.

Then point hyperupdate-release to the .app file on mac or unpacked directory on linux / windows.

# on mac
hyperupdate-release ./dist/mac/my-app.app

# on linux
hyperupdate-release ./dist/linux-unpacked

# on windows
hyperupdate-release ./dist/win-unpacked

Hyperupdate will chunk each release using a bundled rabin chunker, to try to make the update diff as small as possible.

After it has been added the updater will start swarming the new release.

If you the release you add is the same as the latest release, hyperupdate will just start swarming the releases instead of re-adding it.

License

MIT

FAQs

Package last updated on 21 Dec 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts