Browse Source

refactor: 增量更新

pull/67/head
xiaojunnuo 4 years ago
parent
commit
136cf7671d
  1. 3
      packages/core/src/shell/scripts/set-system-proxy/index.js
  2. 3
      packages/core/test/macProxy.js
  3. 5
      packages/gui/package.json
  4. 28
      packages/gui/pkg/after-pack.js
  5. 94
      packages/gui/src/bridge/update/backend.js
  6. 31
      packages/gui/src/bridge/update/front.js
  7. 6
      packages/gui/vue.config.js
  8. 181
      packages/gui/yarn.lock
  9. 2
      packages/mitmproxy/package.json

3
packages/core/src/shell/scripts/set-system-proxy/index.js

@ -128,7 +128,8 @@ const executor = {
async mac (exec, params) {
// exec = _exec
let wifiAdaptor = await exec('sh -c "networksetup -listnetworkserviceorder | grep `route -n get 0.0.0.0 | grep \'interface\' | cut -d \':\' -f2` -B 1 | head -n 1 "')
wifiAdaptor = wifiAdaptor.substring(3).trim()
wifiAdaptor = wifiAdaptor.trim()
wifiAdaptor = wifiAdaptor.substring(wifiAdaptor.indexOf(' ')).trim()
if (params == null) {
await exec(`networksetup -setwebproxystate '${wifiAdaptor}' off`)

3
packages/core/test/macProxy.js

@ -11,3 +11,6 @@
// test().then((ret) => {
// console.log('haha', ret)
// })
let wifiAdaptor = '(151) test'
wifiAdaptor = wifiAdaptor.substring(wifiAdaptor.indexOf(' ')).trim()
console.log(wifiAdaptor)

5
packages/gui/package.json

@ -18,15 +18,20 @@
"dependencies": {
"@docmirror/dev-sidecar": "^1.5.0",
"@docmirror/mitmproxy": "^1.5.0",
"adm-zip": "^0.5.5",
"ant-design-vue": "^1.6.5",
"compressing": "^1.5.1",
"core-js": "^3.6.5",
"electron-baidu-tongji": "^1.0.5",
"electron-reload": "^1.5.0",
"electron-store": "^6.0.1",
"electron-updater": "^4.3.5",
"es-abstract": "^1.17.7",
"extract-zip": "^2.0.1",
"json5": "^2.1.3",
"lodash": "^4.17.20",
"log4js": "^6.3.0",
"request-progress": "^3.0.0",
"sass": "^1.27.1",
"sass-loader": "^10.0.4",
"vue": "^2.6.11",

28
packages/gui/pkg/after-pack.js

@ -0,0 +1,28 @@
const path = require('path')
const AdmZip = require('adm-zip')
const pkg = require('../package.json')
const fs = require('fs')
exports.default = async function (context) {
console.log('context', context)
let targetPath
let latest = null
if (context.packager.platform.nodeName === 'darwin') {
targetPath = path.join(context.appOutDir, `${context.packager.appInfo.productName}.app/Contents/Resources`)
latest = 'latest-mac.yml'
} else {
targetPath = path.join(context.appOutDir, './resources')
latest = 'latest.yml'
}
const zip = new AdmZip()
zip.addLocalFolder(targetPath)
const partUpdateFile = `update-${pkg.version}.zip`
zip.writeZip(path.join(context.outDir, partUpdateFile))
const partUpdateUrl = 'http://dev-sidecar.docmirror.cn/update/' + partUpdateFile
fs.appendFile(path.join(context.outDir, latest), `partPackage: ${partUpdateUrl}\nreleaseNotes: \n - 升级日志`, (err) => {
if (err) {
console.log('修改latest 失败')
}
})
}

94
packages/gui/src/bridge/update/backend.js

@ -1,13 +1,39 @@
import { ipcMain } from 'electron'
import { autoUpdater } from 'electron-updater'
import path from 'path'
import request from 'request'
import progress from 'request-progress'
// win是所有窗口的引用
// const path = require('path') // 引入path模块
// const fs = require('fs-extra')
import fs from 'fs'
import AdmZip from 'adm-zip'
import logger from '../../utils/util.log'
// eslint-disable-next-line no-unused-vars
const isMac = process.platform === 'darwin'
function downloadFile (uri, filePath, onProgress, onSuccess, onError) {
progress(request(uri), {
// throttle: 2000, // Throttle the progress event to 2000ms, defaults to 1000ms
// delay: 1000, // Only start to emit after 1000ms delay, defaults to 0ms
// lengthHeader: 'x-transfer-length' // Length header to use, defaults to content-length
})
.on('progress', function (state) {
onProgress(state.percent * 100)
logger.log('progress', state.percent)
})
.on('error', function (err) {
// Do something with err
logger.error('下载升级包失败', err)
onError(err)
})
.on('end', function () {
// Do something after request finishes
onSuccess()
})
.pipe(fs.createWriteStream(filePath))
}
// 检测更新,在你想要检查更新的时候执行,renderer事件触发后的操作自行编写
function updateHandle (app, win, beforeQuit, updateUrl, log) {
function updateHandle (app, win, beforeQuit, log) {
// // 更新前,删除本地安装包 ↓
// const updaterCacheDirName = 'dev-sidecar-updater'
// const updatePendingPath = path.join(autoUpdater.app.baseCachePath, updaterCacheDirName, 'pending')
@ -22,14 +48,54 @@ function updateHandle (app, win, beforeQuit, updateUrl, log) {
// 本地开发环境,改变app-update.yml地址
if (process.env.NODE_ENV === 'development' && !isMac) {
autoUpdater.updateConfigPath = path.join(__dirname, 'win-unpacked/resources/app-update.yml')
autoUpdater.setFeedURL({
provider: 'generic',
url: 'http://localhost/dev-sidecar/'
})
}
autoUpdater.autoDownload = false
// 设置服务器更新地址
autoUpdater.setFeedURL({
provider: 'generic',
url: updateUrl
})
let partPackagePath = null
function downloadPart (app, value) {
const appPath = app.getAppPath()
const fileDir = path.join(appPath, 'update')
console.log('fileDir', fileDir)
try {
fs.accessSync(fileDir, fs.constants.F_OK)
} catch (e) {
fs.mkdirSync(fileDir)
}
const filePath = path.join(fileDir, value.version + '.zip')
downloadFile(value.partPackage, filePath, (data) => {
win.webContents.send('update', { key: 'progress', value: parseInt(data) })
}, () => {
// 文件下载完成
win.webContents.send('update', { key: 'progress', value: 100 })
logger.info('升级包下载成功:', filePath)
partPackagePath = filePath
win.webContents.send('update', {
key: 'downloaded',
value: value
})
}, (error) => {
sendUpdateMessage({ key: 'error', value: error, error: error })
})
}
function updatePart (app, value, partPackagePath) {
const appPath = app.getAppPath()
const target = path.join(appPath, 'resources')
log.info('开始解压缩,安装升级包', partPackagePath, target)
// 解压缩
var zip = new AdmZip(partPackagePath)
zip.extractAllTo(target, true)
log.info('安装完成,重启app')
app.relaunch()
app.quit()
}
autoUpdater.on('error', function (error) {
log.info('autoUpdater error', error)
sendUpdateMessage({ key: 'error', value: error, error: error })
@ -63,6 +129,10 @@ function updateHandle (app, win, beforeQuit, updateUrl, log) {
ipcMain.on('update', (e, arg) => {
if (arg.key === 'doUpdateNow') {
if (partPackagePath) {
updatePart(app, arg.value, partPackagePath)
return
}
// some code here to handle event
beforeQuit().then(() => {
autoUpdater.quitAndInstall()
@ -80,6 +150,11 @@ function updateHandle (app, win, beforeQuit, updateUrl, log) {
// 下载新版本
log.info('autoUpdater downloadUpdate')
autoUpdater.downloadUpdate()
} else if (arg.key === 'downloadPart') {
// 下载增量更新版本
log.info('autoUpdater downloadPart')
// autoUpdater.downloadUpdate()
downloadPart(app, arg.value)
}
})
// 通过main进程发送事件给renderer进程,提示更新信息
@ -95,7 +170,6 @@ function updateHandle (app, win, beforeQuit, updateUrl, log) {
export default {
install (context) {
const { app, win, beforeQuit, log } = context
const updateUrl = 'http://dev-sidecar.docmirror.cn/update/'
if (process.env.NODE_ENV === 'development') {
Object.defineProperty(app, 'isPackaged', {
get () {
@ -105,6 +179,6 @@ export default {
// updateUrl = 'http://dev-sidecar.docmirror.cn/update/'
// updateUrl = 'http://localhost/dev-sidecar/'
}
updateHandle(app, win, beforeQuit, updateUrl, log)
updateHandle(app, win, beforeQuit, log)
}
}

31
packages/gui/src/bridge/update/front.js

@ -1,6 +1,6 @@
function install (app, api) {
const updateParams = app.$global.update = { fromUser: false, autoDownload: true, progress: 0, downloading: false, newVersion: false }
const updateParams = app.$global.update = { fromUser: false, autoDownload: true, progress: 0, downloading: false, newVersion: false, isFullUpdate: true }
api.ipc.on('update', (event, message) => {
console.log('on message', event, message)
handleUpdateMessage(message, app)
@ -16,6 +16,10 @@ function install (app, api) {
downloadUpdate () {
api.ipc.send('update', { key: 'downloadUpdate' })
},
downloadPart (value) {
// 增量更新
api.ipc.send('update', { key: 'downloadPart', value })
},
doUpdateNow () {
api.ipc.send('update', { key: 'doUpdateNow' })
}
@ -50,6 +54,15 @@ function install (app, api) {
function progressUpdate (value) {
updateParams.progress = value
}
function downloadNewVersion (value) {
if (value.partPackage) {
// 有增量更新
api.update.downloadPart(value)
} else {
api.update.downloadUpdate()
}
}
function foundNewVersion (value) {
updateParams.newVersion = true
@ -71,18 +84,26 @@ function install (app, api) {
}
})
api.update.downloadUpdate()
downloadNewVersion(value)
return
}
app.$confirm({
title: '发现新版本',
content: `是否要更新到v${value.version}?`,
cancelText: '暂不升级',
okText: '升级',
// content: h => <div><h4>{value.version}更新内容:</h4><div>{value.releaseNotes}</div></div>,
content: h => {
console.log(value)
if (value.releaseNotes) {
const notes = []
for (const note of value.releaseNotes) {
notes.push(<li>{note}</li>)
}
return <div><div>更新内容</div><ol>{notes}</ol></div>
}
},
onOk () {
console.log('OK')
api.update.downloadUpdate()
downloadNewVersion(value)
},
onCancel () {
console.log('Cancel')

6
packages/gui/vue.config.js

@ -30,11 +30,15 @@ module.exports = {
},
pluginOptions: {
electronBuilder: {
afterPack: './pkg/after-pack.js',
nodeIntegration: true,
// Provide an array of files that, when changed, will recompile the main process and restart Electron
// Your main process file will be added by default
mainProcessWatch: ['src/bridge', 'src/*.js', 'node_modules/dev-sidecar/src'],
builderOptions: {
// builderOptions: {
// publish: ['github']// 此处写入github 就好,不用添加其他内容
// },
extraResources: [
{
from: 'extra',
@ -57,7 +61,7 @@ module.exports = {
},
publish: {
provider: 'generic',
url: ''
url: 'http://dev-sidecar.docmirror.cn/update/'
}
},
chainWebpackMainProcess (config) {

181
packages/gui/yarn.lock

@ -901,12 +901,12 @@
ajv "^6.12.0"
ajv-keywords "^3.4.1"
"@docmirror/dev-sidecar@^1.4.0":
version "1.4.0"
resolved "https://registry.npmjs.org/@docmirror/dev-sidecar/-/dev-sidecar-1.4.0.tgz"
integrity sha512-ZUjWfBMBy5O2H4AMufdGkE3OjhwsKEjySuSHnx9KIpmQymdsl89QsarYwnParIre7umgh24AflwHq0Baef1cOg==
"@docmirror/dev-sidecar@^1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@docmirror/dev-sidecar/-/dev-sidecar-1.5.0.tgz#cbded77651fc5a8dbee5d84db083a06518928cfd"
integrity sha512-f2eDfOs9PDOBxFpAxo/nImSRfwqVi/tVFdzyv4Bn10kBcBJY8iiqYWpqq+blvgWSO43V+UyG1VNXagqHK37GLQ==
dependencies:
"@docmirror/mitmproxy" "^1.4.0"
"@docmirror/mitmproxy" "^1.5.0"
agentkeepalive "^2.1.1"
babel-preset-es2020 "^1.0.2"
charset "^1.0.0"
@ -934,12 +934,13 @@
validator "^13.1.17"
winreg "^1.2.4"
"@docmirror/mitmproxy@^1.4.0":
version "1.4.0"
resolved "https://registry.npmjs.org/@docmirror/mitmproxy/-/mitmproxy-1.4.0.tgz"
integrity sha512-RAFcSqKD8huDPaUFs7k/pSijOc4PC0+JRp5dOk6NYfNDveKsJuPf1fjqbb6HqmbByjE+c+M09lwU3yX/XXqw9A==
"@docmirror/mitmproxy@^1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@docmirror/mitmproxy/-/mitmproxy-1.5.0.tgz#16b9a956542a56f9889cd0c69c08a33d06d77ab8"
integrity sha512-H17TAqKmvzCMSTO6VGTC6kKQskjk1gEJZYsU2ijziZU0XEC96ObG0TWOnsdKh2PhmwDLwxS9cUyb1hpYilLreQ==
dependencies:
agentkeepalive "^2.1.1"
axios "^0.21.1"
child_process "^1.0.2"
colors "^1.1.2"
commander "^2.9.0"
@ -956,6 +957,7 @@
node-cmd "^3.0.0"
node-forge "^0.8.2"
require-context "^1.1.0"
stream-throttle "^0.1.3"
through2 "^2.0.1"
tunnel-agent "^0.4.3"
util "^0.12.3"
@ -1603,6 +1605,13 @@
dependencies:
"@types/yargs-parser" "*"
"@types/yauzl@^2.9.1":
version "2.9.1"
resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af"
integrity sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==
dependencies:
"@types/node" "*"
"@vue/babel-helper-vue-jsx-merge-props@^1.0.0":
version "1.0.0"
resolved "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz?cache=0&sync_timestamp=1596768129236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-helper-vue-jsx-merge-props%2Fdownload%2F%40vue%2Fbabel-helper-vue-jsx-merge-props-1.0.0.tgz"
@ -2069,6 +2078,11 @@ address@^1.1.2:
resolved "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz"
integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=
adm-zip@^0.5.5:
version "0.5.5"
resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.5.tgz#b6549dbea741e4050309f1bb4d47c47397ce2c4f"
integrity sha512-IWwXKnCbirdbyXSfUDvCCrmYrOHANRZcc8NcRrvTlIApdl7PwE9oGcsYvNeJPAVY1M+70b4PxXGKIf8AEuiQ6w==
agentkeepalive@^2.1.1:
version "2.2.0"
resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz"
@ -2488,6 +2502,13 @@ aws4@^1.8.0:
resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.10.1.tgz?cache=0&sync_timestamp=1597236947743&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.10.1.tgz"
integrity sha1-4eguTz6Zniz9YbFhKA0WoRH4ZCg=
axios@^0.21.1:
version "0.21.1"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==
dependencies:
follow-redirects "^1.10.0"
babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz"
@ -2702,6 +2723,14 @@ bindings@^1.5.0:
dependencies:
file-uri-to-path "1.0.0"
bl@^1.0.0:
version "1.2.3"
resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7"
integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==
dependencies:
readable-stream "^2.3.5"
safe-buffer "^5.1.1"
bluebird-lst@^1.0.9:
version "1.0.9"
resolved "https://registry.npm.taobao.org/bluebird-lst/download/bluebird-lst-1.0.9.tgz"
@ -2895,6 +2924,19 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5:
escalade "^3.1.0"
node-releases "^1.1.61"
buffer-alloc-unsafe@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
buffer-alloc@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
dependencies:
buffer-alloc-unsafe "^1.1.0"
buffer-fill "^1.0.0"
buffer-crc32@~0.2.3:
version "0.2.13"
resolved "https://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz"
@ -2905,6 +2947,11 @@ buffer-equal@0.0.1:
resolved "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz"
integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=
buffer-fill@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
integrity sha1-+PeLdniYiO858gXNY39o5wISKyw=
buffer-from@^1.0.0:
version "1.1.1"
resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz"
@ -3514,7 +3561,7 @@ commander@2.17.x:
resolved "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1598576116597&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz"
integrity sha1-vXerfebelCBc6sxy8XFtKfIKd78=
commander@^2.18.0, commander@^2.20.0, commander@^2.9.0:
commander@^2.18.0, commander@^2.2.0, commander@^2.20.0, commander@^2.9.0:
version "2.20.3"
resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
@ -3553,6 +3600,21 @@ compressible@~2.0.16:
dependencies:
mime-db ">= 1.43.0 < 2"
compressing@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/compressing/-/compressing-1.5.1.tgz#d031a3311b8c2ed6561a8431671d5a844540482d"
integrity sha512-1AGBR4Vh0/rpPKSXHoV9cerLo0CUlAhZ/xsJqU3a9+2cbSaFjWT3fk2MIGkCnbpk//DGWrcWw03rhKFQrA9RQw==
dependencies:
flushwritable "^1.0.0"
get-ready "^1.0.0"
iconv-lite "^0.5.0"
mkdirp "^0.5.1"
pump "^3.0.0"
streamifier "^0.1.1"
tar-stream "^1.5.2"
yauzl "^2.7.0"
yazl "^2.4.2"
compression@^1.7.4:
version "1.7.4"
resolved "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz"
@ -4542,6 +4604,13 @@ electron-publish@22.9.1:
lazy-val "^1.0.4"
mime "^2.4.6"
electron-reload@^1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/electron-reload/-/electron-reload-1.5.0.tgz#179ab1f6941fcf0ed261c37b16dc465e201348f5"
integrity sha512-L9X6LzsL3Bt2j0eJ4/MBrI9Vt902KvVUtBB7J4qrL1A9sXqC2fE0lpvUAlOThpJYh6zWO1l86U/YiEN9bDURHw==
dependencies:
chokidar "^3.0.2"
electron-store@^6.0.1:
version "6.0.1"
resolved "https://registry.npmjs.org/electron-store/-/electron-store-6.0.1.tgz"
@ -5186,6 +5255,17 @@ extract-zip@^1.0.3, extract-zip@^1.6.5:
mkdirp "^0.5.4"
yauzl "^2.10.0"
extract-zip@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==
dependencies:
debug "^4.1.1"
get-stream "^5.1.0"
yauzl "^2.10.0"
optionalDependencies:
"@types/yauzl" "^2.9.1"
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz"
@ -5417,11 +5497,21 @@ flush-write-stream@^1.0.0:
inherits "^2.0.3"
readable-stream "^2.3.6"
flushwritable@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/flushwritable/-/flushwritable-1.0.0.tgz#3e328d8fde412ad47e738e3be750b4d290043498"
integrity sha1-PjKNj95BKtR+c44751C00pAENJg=
follow-redirects@^1.0.0:
version "1.13.0"
resolved "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.0.tgz?cache=0&sync_timestamp=1597057976909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.13.0.tgz"
integrity sha1-tC6Nk6Kn7qXtiGM2dtZZe8jjhNs=
follow-redirects@^1.10.0:
version "1.13.3"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267"
integrity sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==
for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz"
@ -5494,6 +5584,11 @@ from2@^2.1.0:
inherits "^2.0.1"
readable-stream "^2.0.0"
fs-constants@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
fs-extra@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz"
@ -5591,6 +5686,11 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5:
resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz"
integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=
get-ready@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/get-ready/-/get-ready-1.0.0.tgz#f91817f1e9adecfea13a562adfc8de883ab34782"
integrity sha1-+RgX8emt7P6hOlYq38jeiDqzR4I=
get-stream@^3.0.0:
version "3.0.0"
resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz?cache=0&sync_timestamp=1597056502934&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-3.0.0.tgz"
@ -6128,6 +6228,13 @@ iconv-lite@0.4.24, iconv-lite@^0.4.13, iconv-lite@^0.4.24:
dependencies:
safer-buffer ">= 2.1.2 < 3"
iconv-lite@^0.5.0:
version "0.5.2"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.5.2.tgz#af6d628dccfb463b7364d97f715e4b74b8c8c2b8"
integrity sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==
dependencies:
safer-buffer ">= 2.1.2 < 3"
iconv-lite@^0.6.2:
version "0.6.2"
resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.6.2.tgz"
@ -7082,6 +7189,11 @@ lie@~3.3.0:
dependencies:
immediate "~3.0.5"
limiter@^1.0.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.5.tgz#8f92a25b3b16c6131293a0cc834b4a838a2aa7c2"
integrity sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==
lines-and-columns@^1.1.6:
version "1.1.6"
resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz"
@ -9187,7 +9299,7 @@ read-pkg@^5.1.1:
parse-json "^5.0.0"
type-fest "^0.6.0"
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6:
version "2.3.7"
resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz?cache=0&sync_timestamp=1589682741447&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.7.tgz"
integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=
@ -9356,6 +9468,13 @@ request-progress@^2.0.1:
dependencies:
throttleit "^1.0.0"
request-progress@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe"
integrity sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=
dependencies:
throttleit "^1.0.0"
request@^2.81.0, request@^2.88.2:
version "2.88.2"
resolved "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz?cache=0&sync_timestamp=1589682741998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest%2Fdownload%2Frequest-2.88.2.tgz"
@ -10127,6 +10246,19 @@ stream-shift@^1.0.0:
resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz"
integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0=
stream-throttle@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3"
integrity sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=
dependencies:
commander "^2.2.0"
limiter "^1.0.5"
streamifier@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/streamifier/-/streamifier-0.1.1.tgz#97e98d8fa4d105d62a2691d1dc07e820db8dfc4f"
integrity sha1-l+mNj6TRBdYqJpHR3AfoINuN/E8=
streamroller@^2.2.4:
version "2.2.4"
resolved "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz"
@ -10389,6 +10521,19 @@ tapable@^1.0.0, tapable@^1.1.3:
resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz?cache=0&sync_timestamp=1600381197118&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz"
integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I=
tar-stream@^1.5.2:
version "1.6.2"
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555"
integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==
dependencies:
bl "^1.0.0"
buffer-alloc "^1.2.0"
end-of-stream "^1.0.0"
fs-constants "^1.0.0"
readable-stream "^2.3.0"
to-buffer "^1.1.1"
xtend "^4.0.0"
tar@^6.0.2:
version "6.0.5"
resolved "https://registry.npm.taobao.org/tar/download/tar-6.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftar%2Fdownload%2Ftar-6.0.5.tgz"
@ -10569,6 +10714,11 @@ to-arraybuffer@^1.0.0:
resolved "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz"
integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
to-buffer@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80"
integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==
to-fast-properties@^1.0.3:
version "1.0.3"
resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz"
@ -11643,7 +11793,7 @@ yargs@^6.5.0:
y18n "^3.2.1"
yargs-parser "^4.2.0"
yauzl@^2.10.0:
yauzl@^2.10.0, yauzl@^2.7.0:
version "2.10.0"
resolved "https://registry.npm.taobao.org/yauzl/download/yauzl-2.10.0.tgz"
integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=
@ -11651,6 +11801,13 @@ yauzl@^2.10.0:
buffer-crc32 "~0.2.3"
fd-slicer "~1.1.0"
yazl@^2.4.2:
version "2.5.1"
resolved "https://registry.yarnpkg.com/yazl/-/yazl-2.5.1.tgz#a3d65d3dd659a5b0937850e8609f22fffa2b5c35"
integrity sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==
dependencies:
buffer-crc32 "~0.2.3"
yorkie@^2.0.0:
version "2.0.0"
resolved "https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz"

2
packages/mitmproxy/package.json

@ -1,6 +1,6 @@
{
"name": "@docmirror/mitmproxy",
"version": "1.5.0",
"version": "1.5.1",
"description": "",
"main": "src/index.js",
"keywords": [

Loading…
Cancel
Save