MCPcopy
hub / github.com/triggerdotdev/trigger.dev / createNgrokTunnel

Function createNgrokTunnel

packages/cli/src/commands/dev.ts:568–599  ·  view source on GitHub ↗
(hostname: string, port: number, spinner: Ora)

Source from the content-addressed store, hash-verified

566}
567
568async function createNgrokTunnel(hostname: string, port: number, spinner: Ora) {
569 try {
570 return await ngrok.connect({ addr: `${hostname}:${port}` });
571 } catch (error: any) {
572 if (
573 typeof error.message === "string" &&
574 error.message.includes("`version` property is required")
575 ) {
576 await upgradeNgrokConfig(spinner);
577
578 try {
579 return await ngrok.connect(port);
580 } catch (retryError) {
581 spinner.fail(
582 `Ngrok failed to create a tunnel for port ${port} after configuration upgrade.\n${retryError}`
583 );
584 return;
585 }
586 }
587 if (
588 typeof error.message === "string" &&
589 error.message.includes("connect ECONNREFUSED 127.0.0.1:4041")
590 ) {
591 spinner.fail(
592 `Ngrok failed to create a tunnel for port ${port} because ngrok is already running.\n You may want to use -t flag to use an existing URL that points to the local dev server.`
593 );
594 return;
595 }
596 spinner.fail(`Ngrok failed to create a tunnel for port ${port}.\n${error.message}`);
597 return;
598 }
599}
600
601async function upgradeNgrokConfig(spinner: Ora) {
602 try {

Callers 1

resolveEndpointUrlFunction · 0.85

Calls 2

upgradeNgrokConfigFunction · 0.85
connectMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…