dev-sidecar/packages/cli/src/index.js

38 lines
1.0 KiB
JavaScript

const fs = require('node:fs')
const DevSidecar = require('@docmirror/dev-sidecar')
const jsonApi = require('@docmirror/mitmproxy/src/json')
// 启动服务
const mitmproxyPath = './mitmproxy'
async function startup () {
const banner = fs.readFileSync('./banner.txt')
console.log(banner.toString())
const configPath = './user_config.json5'
if (fs.existsSync(configPath)) {
const file = fs.readFileSync(configPath)
let userConfig
try {
userConfig = jsonApi.parse(file.toString())
console.info(`读取和解析 user_config.json5 成功:${configPath}`)
} catch (e) {
console.error(`读取或解析 user_config.json5 失败: ${configPath}, error:`, e)
userConfig = {}
}
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()