|
const path = require('node:path') |
|
const fs = require('node:fs') |
|
const { createServer } = require('node:http') |
|
const app = require('express')() |
|
const { Server } = require('socket.io') |
|
|
|
const port = process.env.PORT || 8098 |
|
|
|
const httpServer = createServer(app) |
|
const io = new Server(httpServer, { |
|
cors: { |
|
origin: true, |
|
}, |
|
}) |
|
|
|
app.get('/', (req, res) => { |
|
const hookContent = fs.readFileSync(path.join(__dirname, '/build/hook.js'), 'utf8') |
|
const backendContent = fs.readFileSync(path.join(__dirname, '/build/backend.js'), 'utf8') |
|
res.send([hookContent, backendContent].join('\n')) |
|
}) |
|
|
|
|
|
io.on('connection', (socket) => { |
|
|
|
socket.broadcast.emit('vue-devtools-disconnect-backend') |
|
|
|
socket.on('vue-devtools-init', () => { |
|
socket.broadcast.emit('vue-devtools-init') |
|
}) |
|
|
|
socket.on('disconnect', (reason) => { |
|
if (reason.indexOf('client')) { |
|
socket.broadcast.emit('vue-devtools-disconnect-devtools') |
|
} |
|
}) |
|
|
|
socket.on('vue-message', (data) => { |
|
socket.broadcast.emit('vue-message', data) |
|
}) |
|
}) |
|
|
|
httpServer.listen(port, '0.0.0.0', () => { |
|
|
|
console.log(`listening on 0.0.0.0:${port}`) |
|
}) |
|
|