mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-01 17:57:36 +08:00
The breaking changes listed in https://github.com/karma-runner/karma/releases/tag/v5.0.0 do not apply to us. This should also include support for Edgium per https://github.com/karma-runner/karma/pull/3440 R=jacktfranklin@chromium.org DISABLE_THIRD_PARTY_CHECK=Update karma Bug: 1068145 Change-Id: I7567b2db14dbf59aaf9c091220157bf55d155810 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2144050 Commit-Queue: Jack Franklin <jacktfranklin@chromium.org> Reviewed-by: Jack Franklin <jacktfranklin@chromium.org> Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
28 lines
647 B
JavaScript
28 lines
647 B
JavaScript
'use strict'
|
|
|
|
const net = require('net')
|
|
|
|
const NetUtils = {
|
|
bindAvailablePort (port, listenAddress) {
|
|
return new Promise((resolve, reject) => {
|
|
const server = net.createServer()
|
|
|
|
server
|
|
.on('error', (err) => {
|
|
server.close()
|
|
if (err.code === 'EADDRINUSE' || err.code === 'EACCES') {
|
|
server.listen(++port, listenAddress)
|
|
} else {
|
|
reject(new Error(`Failed to bind ${port}: ` + (err.stack || err)))
|
|
}
|
|
})
|
|
.on('listening', () => {
|
|
resolve(server)
|
|
})
|
|
.listen(port, listenAddress)
|
|
})
|
|
}
|
|
}
|
|
|
|
module.exports = NetUtils
|