refactor: 增量更新,杀掉端口占用的进程
parent
baf789c2da
commit
10ec91f3b0
|
@ -58,11 +58,6 @@
|
||||||
|
|
||||||
Windows: 请选择DevSidecar-x.x.x.exe
|
Windows: 请选择DevSidecar-x.x.x.exe
|
||||||
Mac: 请选择DevSidecar-x.x.x.dmg
|
Mac: 请选择DevSidecar-x.x.x.dmg
|
||||||
|
|
||||||
|
|
||||||
* 阿里云直接下载(http链接,某些浏览器可能打不开,请前往release下载)
|
|
||||||
[windows版](http://dev-sidecar.docmirror.cn/update/DevSidecar-1.5.0.exe)
|
|
||||||
[Mac版](http://dev-sidecar.docmirror.cn/update/DevSidecar-1.5.0.dmg)
|
|
||||||
|
|
||||||
|
|
||||||
#### 2 安装后打开
|
#### 2 安装后打开
|
||||||
|
|
|
@ -16,8 +16,9 @@ module.exports = {
|
||||||
// 'cdn.cypress.io': [{ regexp: '/desktop/.*', proxy: 'http://npm.taobao.org/mirrors/cypress/' }]
|
// 'cdn.cypress.io': [{ regexp: '/desktop/.*', proxy: 'http://npm.taobao.org/mirrors/cypress/' }]
|
||||||
// },
|
// },
|
||||||
variables: {
|
variables: {
|
||||||
SASS_BINARY_SITE: 'https://npm.taobao.org/mirrors/node-sass/',
|
phantomjs_cdnurl: 'https://npm.taobao.org/dist/phantomjs',
|
||||||
PHANTOMJS_CDNURL: 'https://npm.taobao.org/mirrors/phantomjs/',
|
chromedriver_cdnurl: 'https://npm.taobao.org/mirrors/chromedriver',
|
||||||
|
sass_binary_site: 'https://npm.taobao.org/mirrors/node-sass',
|
||||||
ELECTRON_MIRROR: 'https://npm.taobao.org/mirrors/electron/',
|
ELECTRON_MIRROR: 'https://npm.taobao.org/mirrors/electron/',
|
||||||
// CYPRESS_DOWNLOAD_MIRROR: 'https://cdn.cypress.io',
|
// CYPRESS_DOWNLOAD_MIRROR: 'https://cdn.cypress.io',
|
||||||
NVM_NODEJS_ORG_MIRROR: 'https://npm.taobao.org/mirrors/node',
|
NVM_NODEJS_ORG_MIRROR: 'https://npm.taobao.org/mirrors/node',
|
||||||
|
|
|
@ -12,7 +12,8 @@ const executor = {
|
||||||
throw Error('暂未实现此功能')
|
throw Error('暂未实现此功能')
|
||||||
},
|
},
|
||||||
async mac (exec, { port }) {
|
async mac (exec, { port }) {
|
||||||
throw Error('暂未实现此功能')
|
await exec('kill `lsof -i:' + port + " |grep 'DevSide\\|Elect' |awk '{print $2}'`")
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@docmirror/dev-sidecar-gui",
|
"name": "@docmirror/dev-sidecar-gui",
|
||||||
"version": "1.5.1",
|
"version": "1.5.0",
|
||||||
"private": false,
|
"private": false,
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -15,7 +15,7 @@ function appendIntro (context, systemType, latest) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
exports.default = async function (context) {
|
exports.default = async function (context) {
|
||||||
console.log('context222', context)
|
// console.log('context222', context)
|
||||||
appendIntro(context, 'mac', 'latest-mac.yml')
|
appendIntro(context, 'mac', 'latest-mac.yml')
|
||||||
appendIntro(context, 'win', 'latest.yml')
|
appendIntro(context, 'win', 'latest.yml')
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@ const path = require('path')
|
||||||
const AdmZip = require('adm-zip')
|
const AdmZip = require('adm-zip')
|
||||||
const pkg = require('../package.json')
|
const pkg = require('../package.json')
|
||||||
exports.default = async function (context) {
|
exports.default = async function (context) {
|
||||||
console.log('context', context)
|
// console.log('context', context)
|
||||||
let targetPath
|
let targetPath
|
||||||
let systemType = ''
|
let systemType = ''
|
||||||
if (context.packager.platform.nodeName === 'darwin') {
|
if (context.packager.platform.nodeName === 'darwin') {
|
||||||
|
|
|
@ -8,7 +8,6 @@ import fs from 'fs'
|
||||||
import AdmZip from 'adm-zip'
|
import AdmZip from 'adm-zip'
|
||||||
import logger from '../../utils/util.log'
|
import logger from '../../utils/util.log'
|
||||||
import appPathUtil from '../../utils/util.apppath'
|
import appPathUtil from '../../utils/util.apppath'
|
||||||
import DevSidecar from '@docmirror/dev-sidecar'
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
const isMac = process.platform === 'darwin'
|
const isMac = process.platform === 'darwin'
|
||||||
|
|
||||||
|
@ -49,18 +48,22 @@ function updateHandle (app, api, win, beforeQuit, quit, log) {
|
||||||
}
|
}
|
||||||
// 本地开发环境,改变app-update.yml地址
|
// 本地开发环境,改变app-update.yml地址
|
||||||
if (process.env.NODE_ENV === 'development' && !isMac) {
|
if (process.env.NODE_ENV === 'development' && !isMac) {
|
||||||
autoUpdater.updateConfigPath = path.join(__dirname, 'win-unpacked/resources/app-update.yml')
|
|
||||||
autoUpdater.setFeedURL({
|
autoUpdater.setFeedURL({
|
||||||
provider: 'generic',
|
provider: 'generic',
|
||||||
url: 'http://localhost/dev-sidecar/'
|
url: 'http://localhost/dev-sidecar/'
|
||||||
})
|
})
|
||||||
|
if (isMac) {
|
||||||
|
autoUpdater.updateConfigPath = path.join(__dirname, 'mac/DevSidecar.app/Contents/Resources/app-update.yml')
|
||||||
|
} else {
|
||||||
|
autoUpdater.updateConfigPath = path.join(__dirname, 'win-unpacked/resources/app-update.yml')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
autoUpdater.autoDownload = false
|
autoUpdater.autoDownload = false
|
||||||
|
|
||||||
let partPackagePath = null
|
let partPackagePath = null
|
||||||
|
|
||||||
function downloadPart (app, value) {
|
function downloadPart (app, value) {
|
||||||
const appPath = appPathUtil.getAppRootPath()
|
const appPath = appPathUtil.getAppRootPath(app)
|
||||||
const fileDir = path.join(appPath, 'update')
|
const fileDir = path.join(appPath, 'update')
|
||||||
logger.info('download dir', fileDir)
|
logger.info('download dir', fileDir)
|
||||||
try {
|
try {
|
||||||
|
@ -87,11 +90,11 @@ function updateHandle (app, api, win, beforeQuit, quit, log) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function updatePart (app, api, value, partPackagePath, quit) {
|
function updatePart (app, api, value, partPackagePath, quit) {
|
||||||
const appPath = appPathUtil.getAppRootPath()
|
const appPath = appPathUtil.getAppRootPath(app)
|
||||||
const platform = api.shell.getSystemPlatform()
|
const platform = api.shell.getSystemPlatform()
|
||||||
let target = path.join(appPath, 'resources')
|
let target = path.join(appPath, 'resources')
|
||||||
if (platform === 'mac') {
|
if (platform === 'mac') {
|
||||||
target = path.join(appPath, 'Contents/Resources')
|
target = path.join(appPath, 'Resources')
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info('开始解压缩,安装升级包', partPackagePath, target)
|
log.info('开始解压缩,安装升级包', partPackagePath, target)
|
||||||
|
@ -176,15 +179,13 @@ function updateHandle (app, api, win, beforeQuit, quit, log) {
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
install (context) {
|
install (context) {
|
||||||
const { app, win, beforeQuit, quit, log } = context
|
const { app, api, win, beforeQuit, quit, log } = context
|
||||||
if (process.env.NODE_ENV === 'development') {
|
if (process.env.NODE_ENV === 'development') {
|
||||||
Object.defineProperty(app, 'isPackaged', {
|
Object.defineProperty(app, 'isPackaged', {
|
||||||
get () {
|
get () {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// updateUrl = 'http://dev-sidecar.docmirror.cn/update/'
|
|
||||||
// updateUrl = 'http://localhost/dev-sidecar/'
|
|
||||||
}
|
}
|
||||||
updateHandle(app, api, win, beforeQuit, quit, log)
|
updateHandle(app, api, win, beforeQuit, quit, log)
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,21 @@ function install (app, api) {
|
||||||
// 有增量更新
|
// 有增量更新
|
||||||
api.update.downloadPart(value)
|
api.update.downloadPart(value)
|
||||||
} else {
|
} else {
|
||||||
api.update.downloadUpdate()
|
api.shell.getSystemPlatform().then((platform) => {
|
||||||
|
if (platform === 'mac') {
|
||||||
|
app.$notification.open({
|
||||||
|
duration: 15,
|
||||||
|
message: 'Mac暂不支持全量自动升级',
|
||||||
|
description:
|
||||||
|
'请前往github或gitee项目release页面下载新版本手动安装',
|
||||||
|
onClick: () => {
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
api.update.downloadUpdate()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function foundNewVersion (value) {
|
function foundNewVersion (value) {
|
||||||
|
@ -69,21 +83,6 @@ function install (app, api) {
|
||||||
if (updateParams.autoDownload !== false) {
|
if (updateParams.autoDownload !== false) {
|
||||||
app.$message.info('发现新版本,正在下载中...')
|
app.$message.info('发现新版本,正在下载中...')
|
||||||
updateParams.downloading = true
|
updateParams.downloading = true
|
||||||
|
|
||||||
api.shell.getSystemPlatform().then((platform) => {
|
|
||||||
if (platform === 'mac') {
|
|
||||||
app.$notification.open({
|
|
||||||
duration: 10,
|
|
||||||
message: 'Mac暂不支持自动升级',
|
|
||||||
description:
|
|
||||||
'请前往github或gitee项目主页下载新版本手动安装,听说苹果对于Electron开发的应用审核不好过。。。。好吧我承认是因为没有钱买苹果开发者账号,┓( ´∀` )┏',
|
|
||||||
onClick: () => {
|
|
||||||
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
downloadNewVersion(value)
|
downloadNewVersion(value)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
// const isDevelopment = process.env.NODE_ENV !== 'production'
|
const isDevelopment = process.env.NODE_ENV !== 'production'
|
||||||
export default {
|
export default {
|
||||||
getAppRootPath () {
|
getAppRootPath (app) {
|
||||||
// if (isDevelopment) {
|
if (isDevelopment) {
|
||||||
// return app.getAppPath()
|
return app.getAppPath()
|
||||||
// } else {
|
} else {
|
||||||
// return path.join(app.getAppPath(), '../../')
|
return path.join(app.getAppPath(), '../../')
|
||||||
// }
|
}
|
||||||
|
|
||||||
return path.resolve('.')
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@ module.exports = {
|
||||||
publish: {
|
publish: {
|
||||||
provider: 'generic',
|
provider: 'generic',
|
||||||
// url: 'http://dev-sidecar.docmirror.cn/update/'
|
// url: 'http://dev-sidecar.docmirror.cn/update/'
|
||||||
url: 'http://localhost/dev-sidecar/'
|
url: 'http://dev-sidecar.docmirror.cn/update/preview/'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
chainWebpackMainProcess (config) {
|
chainWebpackMainProcess (config) {
|
||||||
|
|
Loading…
Reference in New Issue