b8dbe4bc15
* spec: add tests for the autoUpdater on macOS that actually test if it works * spec: add express as dep * spec: add logic to auto-trust self-signed certificate and not run autoupdate specs on MAS * build: fix the step name for importing the codesign cert * chore: update updater spec PR as per feedback * fix: s/atomBinding/electronBinding * build: use spawn instead of exec
42 lines
918 B
JavaScript
42 lines
918 B
JavaScript
const fs = require('fs')
|
|
const path = require('path')
|
|
|
|
process.on('uncaughtException', (err) => {
|
|
console.error(err)
|
|
process.exit(1)
|
|
})
|
|
|
|
const { app, autoUpdater } = require('electron')
|
|
|
|
autoUpdater.on('error', (err) => {
|
|
console.error(err)
|
|
process.exit(1)
|
|
})
|
|
|
|
const urlPath = path.resolve(__dirname, '../../../../url.txt')
|
|
let feedUrl = process.argv[1]
|
|
if (!feedUrl || !feedUrl.startsWith('http')) {
|
|
feedUrl = `${fs.readFileSync(urlPath, 'utf8')}/${app.getVersion()}`
|
|
} else {
|
|
fs.writeFileSync(urlPath, `${feedUrl}/updated`)
|
|
}
|
|
|
|
autoUpdater.setFeedURL({
|
|
url: feedUrl
|
|
})
|
|
|
|
autoUpdater.checkForUpdates()
|
|
|
|
autoUpdater.on('update-available', () => {
|
|
console.log('Update Available')
|
|
})
|
|
|
|
autoUpdater.on('update-downloaded', () => {
|
|
console.log('Update Downloaded')
|
|
autoUpdater.quitAndInstall()
|
|
})
|
|
|
|
autoUpdater.on('update-not-available', () => {
|
|
console.error('No update available')
|
|
process.exit(1)
|
|
})
|