Files
dev-sidecar/packages/gui/src/bridge/api/open-enable-loopback.js
2024-11-27 00:52:16 +08:00

36 lines
901 B
JavaScript

/* global __static */
import DevSidecar from '@docmirror/dev-sidecar'
import sudoPrompt from '@vscode/sudo-prompt'
import { join } from 'node:path'
import log from '../../utils/util.log'
export default {
open () {
const options = {
name: 'EnableLoopback',
icns: process.platform === 'darwin' ? join(__static, 'icon.icns') : undefined,
env: { PARAM: 'VALUE' },
}
const exeFile = DevSidecar.api.shell.extraPath.getEnableLoopbackPath()
const sudoCommand = [`"${exeFile}"`]
return new Promise((resolve, reject) => {
sudoPrompt.exec(
sudoCommand.join(' '),
options,
(error, _, stderr) => {
if (stderr) {
log.error(`[sudo-prompt] 发生错误: ${stderr}`)
}
if (error) {
reject(error)
} else {
resolve(undefined)
}
},
)
})
},
}