diff --git a/package-lock.json b/package-lock.json index 238367c..a199dca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,9 +8,6 @@ "name": "gimlet", "version": "0.2.2", "license": "MIT", - "dependencies": { - "systeminformation": "^5.31.6" - }, "devDependencies": { "eslint": "^10.2.0", "globals": "^17.4.0", @@ -853,32 +850,6 @@ "node": ">=8" } }, - "node_modules/systeminformation": { - "version": "5.31.8", - "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.31.8.tgz", - "integrity": "sha512-/HGurKdgjYGbfwCPSokoX4WAlasVxuj1SnTukLiIYHPkjbDbN1PMATj8mkHpqkVzUF34y5ZyCY1TMKP32AI9rA==", - "license": "MIT", - "os": [ - "darwin", - "linux", - "win32", - "freebsd", - "openbsd", - "netbsd", - "sunos", - "android" - ], - "bin": { - "systeminformation": "lib/cli.js" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "Buy me a coffee", - "url": "https://www.buymeacoffee.com/systeminfo" - } - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", diff --git a/package.json b/package.json index 9f71c30..8d8bd8a 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,5 @@ "type": "git", "url": "https://github.com/LimeChain/gimlet.git" }, - "dependencies": { - "systeminformation": "^5.31.6" - } + "dependencies": {} } diff --git a/src/managers/portManager.js b/src/managers/portManager.js index adf7d91..59bd604 100644 --- a/src/managers/portManager.js +++ b/src/managers/portManager.js @@ -1,5 +1,5 @@ const crypto = require('crypto'); -const si = require('systeminformation'); +const net = require('net'); const vscode = require('vscode'); const { debugConfigManager } = require('./debugConfigManager'); const { getDebuggerSession } = require('./sessionManager'); @@ -65,13 +65,12 @@ class PortManager { } async isPortOpen(port) { - try { - const connections = await si.networkConnections(); - return connections.some(c => c.localPort === String(port) && (c.protocol === 'tcp4' || c.protocol === 'tcp') && c.state === 'LISTEN'); - } catch (err) { - log(`Port check failed: ${err.message}`); - return false; - } + return new Promise((resolve) => { + const server = net.createServer(); + server.once('error', (err) => resolve(err.code === 'EADDRINUSE')); + server.once('listening', () => server.close(() => resolve(false))); + server.listen(port, '127.0.0.1'); + }); } async listenAndStartDebugForPort(port) {