2019-08-03 10:19:56 +08:00
|
|
|
const ws = require('nodejs-websocket')
|
2019-11-12 16:43:30 +08:00
|
|
|
const { spawn } = require('child_process')
|
2019-08-03 10:19:56 +08:00
|
|
|
|
|
|
|
const createServer = () => {
|
|
|
|
let server = ws.createServer(connection => {
|
2019-08-13 17:39:07 +08:00
|
|
|
console.log('connected', connection.key)
|
2019-08-03 10:19:56 +08:00
|
|
|
connection.on('text', function (result) {
|
2019-08-13 17:39:07 +08:00
|
|
|
console.log('text', result)
|
2019-11-12 10:44:43 +08:00
|
|
|
let resultObject = JSON.parse(result)
|
|
|
|
switch(resultObject.cmd) {
|
2019-11-12 16:34:11 +08:00
|
|
|
case 'DEBUG':
|
|
|
|
let contextId = resultObject.data.contextId
|
|
|
|
let projectHome = resultObject.data.projectHome
|
|
|
|
console.log(projectHome)
|
2019-11-12 16:43:30 +08:00
|
|
|
|
|
|
|
const code = spawn('code', [projectHome])
|
|
|
|
code.stdout.on('data', (data) => {
|
|
|
|
console.log(`stdout: ${data}`)
|
|
|
|
})
|
|
|
|
|
|
|
|
code.stderr.on('data', (data) => {
|
|
|
|
console.error(`stderr: ${data}`)
|
|
|
|
})
|
|
|
|
|
|
|
|
code.on('close', (code) => {
|
|
|
|
console.log(`child process exited with code ${code}`)
|
|
|
|
});
|
2019-11-12 10:44:43 +08:00
|
|
|
break
|
|
|
|
}
|
2019-08-03 10:19:56 +08:00
|
|
|
})
|
|
|
|
connection.on('connect', function (code) {
|
2019-08-13 17:39:07 +08:00
|
|
|
console.log('connect', code)
|
2019-08-03 10:19:56 +08:00
|
|
|
})
|
|
|
|
connection.on('close', function (code) {
|
2019-08-13 17:39:07 +08:00
|
|
|
console.log('close', code)
|
2019-08-03 10:19:56 +08:00
|
|
|
})
|
|
|
|
connection.on('error', function (code) {
|
2019-08-13 17:39:07 +08:00
|
|
|
console.log('error', code)
|
2019-08-03 10:19:56 +08:00
|
|
|
})
|
|
|
|
})
|
|
|
|
return server
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = createServer()
|