Forráskód Böngészése

update: use any port if all attempts fail

Axorax 1 éve
szülő
commit
59f4877ee5
1 módosított fájl, 4 hozzáadás és 5 törlés
  1. 4 5
      dev-server.js

+ 4 - 5
dev-server.js

@@ -10,15 +10,14 @@ let port = process.env.PORT ?? 4000; // Starting port
 const maxAttempts = 10; // Maximum number of ports to try
 const env = argv[2] ?? "dev";
 
-const startServer = (attempt) => {
+const startServer = (attempt, useAnyFreePort = false) => {
     if (attempt > maxAttempts) {
-        console.error(chalk.red(`ERROR: Unable to find an available port after ${maxAttempts} attempts.`));
-        return;
+        useAnyFreePort = true; // Use any port that is free
     }
 
-    app.listen(port, () => {
+    const server = app.listen(useAnyFreePort ? 0 : port, () => {
         console.log("\n-----------------------------------------------------------\n");
-        console.log(`Puter is now live at: `, chalk.underline.blue(`http://localhost:${port}`));
+        console.log(`Puter is now live at: `, chalk.underline.blue(`http://localhost:${server.address().port}`));
         console.log("\n-----------------------------------------------------------\n");
     }).on('error', (err) => {
         if (err.code === 'EADDRINUSE') { // Check if the error is because the port is already in use