pass localtunnel url to dev server

This commit is contained in:
lucas-neynar 2025-03-13 12:56:09 -07:00
parent b168e34521
commit 109569924d
No known key found for this signature in database
2 changed files with 39 additions and 1 deletions

37
dev.js Normal file
View File

@ -0,0 +1,37 @@
import localtunnel from 'localtunnel';
import { spawn } from 'child_process';
let tunnel;
let nextDev;
async function startDev() {
// Start localtunnel and get URL
tunnel = await localtunnel({ port: 3000 });
console.log(`\n🌐 Local tunnel URL: ${tunnel.url}`);
// Start next dev with the tunnel URL as an environment variable
nextDev = spawn('next', ['dev'], {
stdio: 'inherit',
env: { ...process.env, NEXT_PUBLIC_URL: tunnel.url }
});
// Handle cleanup
const cleanup = () => {
if (tunnel) {
tunnel.close();
console.log('\n🌐 Tunnel closed');
}
if (nextDev) {
nextDev.kill();
console.log('\n🛑 Next.js dev server stopped');
}
process.exit(0);
};
// Handle process termination
process.on('SIGINT', cleanup);
process.on('SIGTERM', cleanup);
tunnel.on('close', cleanup);
}
startDev().catch(console.error);

View File

@ -14,7 +14,8 @@
"web3" "web3"
], ],
"scripts": { "scripts": {
"dev": "lt --port 3000 & next dev", "localtunnel": "node localtunnel.js",
"dev": "node dev.js",
"build": "next build", "build": "next build",
"start": "next start", "start": "next start",
"lint": "next lint" "lint": "next lint"