From ec98e2d00c0984d8b00a985eda0bd937687a5a6a Mon Sep 17 00:00:00 2001 From: lucas-neynar Date: Mon, 17 Mar 2025 13:45:16 -0700 Subject: [PATCH] fix: check port in use --- package.json | 2 +- scripts/dev.js | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 1c59491..f8c7961 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "create-neynar-farcaster-frame", - "version": "1.0.8", + "version": "1.0.9", "type": "module", "files": [ "bin/index.js" diff --git a/scripts/dev.js b/scripts/dev.js index 2a91ade..5aa248e 100755 --- a/scripts/dev.js +++ b/scripts/dev.js @@ -1,10 +1,28 @@ import localtunnel from 'localtunnel'; import { spawn } from 'child_process'; +import { createServer } from 'net'; let tunnel; let nextDev; let isCleaningUp = false; +async function checkPort(port) { + return new Promise((resolve) => { + const server = createServer(); + + server.once('error', () => { + resolve(true); // Port is in use + }); + + server.once('listening', () => { + server.close(); + resolve(false); // Port is free + }); + + server.listen(port); + }); +} + async function startDev() { // Check if port 3000 is already in use const isPortInUse = await checkPort(3000);