electron/spec-main/fixtures/auto-update/update/index.js

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)
})