You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dev-sidecar/packages/gui/pkg/after-pack.js

40 lines
1.5 KiB

const fs = require('node:fs')
const path = require('node:path')
const AdmZip = require('adm-zip')
const pkg = require('../package.json')
function writeAppUpdateYmlForLinux () {
const publishUrl = process.env.VUE_APP_PUBLISH_URL
const publishProvider = process.env.VUE_APP_PUBLISH_PROVIDER
// provider: generic
// url: 'http://dev-sidecar.docmirror.cn/update/preview/'
// updaterCacheDirName: '@docmirrordev-sidecar-gui-updater'
const fileContent = `provider: ${publishProvider}
url: '${publishUrl}'
updaterCacheDirName: '@docmirrordev-sidecar-gui-updater'
`
console.log('write linux app-update.yml,updateUrl:', publishUrl)
const filePath = path.resolve('./dist_electron/linux-unpacked/resources/app-update.yml')
fs.writeFileSync(filePath, fileContent)
}
exports.default = async function (context) {
// console.log('context', context)
let targetPath
let systemType = ''
if (context.packager.platform.nodeName === 'darwin') {
targetPath = path.join(context.appOutDir, `${context.packager.appInfo.productName}.app/Contents/Resources`)
systemType = 'mac'
} else if (context.packager.platform.nodeName === 'linux') {
targetPath = path.join(context.appOutDir, './resources')
systemType = 'linux'
writeAppUpdateYmlForLinux()
} else {
targetPath = path.join(context.appOutDir, './resources')
systemType = 'win'
}
const zip = new AdmZip()
zip.addLocalFolder(targetPath)
const partUpdateFile = `update-${systemType}-${pkg.version}.zip`
zip.writeZip(path.join(context.outDir, partUpdateFile))
}