You've already forked dev-sidecar
mirror of
https://github.com/docmirror/dev-sidecar.git
synced 2025-11-26 14:10:40 +08:00
36 lines
901 B
JavaScript
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)
|
|
}
|
|
},
|
|
)
|
|
})
|
|
},
|
|
}
|