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.
30 lines
769 B
30 lines
769 B
const JSON5 = require('json5')
|
|
const DevSidecar = require('../index')
|
|
const fs = require('fs')
|
|
// 启动服务
|
|
const mitmproxyPath = './start/mitmproxy'
|
|
async function startup () {
|
|
const banner = fs.readFileSync('./start/banner.txt')
|
|
console.log(banner.toString())
|
|
|
|
const configPath = './start/user_config.json5'
|
|
if (fs.existsSync(configPath)) {
|
|
const file = fs.readFileSync(configPath)
|
|
const userConfig = JSON5.parse(file.toString())
|
|
DevSidecar.api.config.set(userConfig)
|
|
}
|
|
|
|
await DevSidecar.api.startup({ mitmproxyPath })
|
|
console.log('dev-sidecar 已启动')
|
|
}
|
|
|
|
async function onClose () {
|
|
console.log('on sigint ')
|
|
await DevSidecar.api.shutdown()
|
|
console.log('on closed ')
|
|
process.exit(0)
|
|
}
|
|
process.on('SIGINT', onClose)
|
|
|
|
startup()
|