code-forge-io / code-forge-io/react-router-devtools

Port conflict (EADDRINUSE) when running typegen and dev server simultaneously

Aberta
#243 1 comentário 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
TypeScript
Estrelas
972
Forks
55
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

# Port conflict (EADDRINUSE) when running typegen and dev server simultaneously

## Context

I'm using React Router DevTools with type generation tools (react-router typegen, safe-routes typegen).

## Reproduction

When running type generation tools and the development server simultaneously, both try to bind to port 42069 (used by TanStack DevTools), resulting in an `EADDRINUSE` error.

### Steps to Reproduce

```bash
# Terminal 1: Start dev server
pnpm dev

# Terminal 2: Run type generation
pnpm typegen
# or
react-router typegen
```

### Error Message

```
Error: listen EADDRINUSE: address already in use :::42069
```

## System Info

- **OS**: macOS 14.6.0 (Darwin 24.6.0)
- **Node**: v20.x
- **Package Manager**: pnpm 10.18.0
- **react-router-devtools**: 6.0.1
- **@tanstack/devtools**: 5.x
- **Vite**: 6.3.6

## Used Package Manager

pnpm

## Expected Behavior

Type generation tools and the dev server should be able to run simultaneously without port conflicts. The DevTools should automatically disable itself when running in a type generation context.

## Actual Behavior

The second process fails to start due to port 42069 already being in use by TanStack DevTools, which is initialized by both the dev server and type generation process.

## Possible Solution

Detect type generation context (via environment variables like `TYPEGEN_RUNNING=1` or command-line arguments) and disable DevTools initialization when running type generation, preventing unnecessary port binding.

Implementation approach:
- Check for typegen indicators: `TYPEGEN_RUNNING=1`, `SAFE_ROUTES_TYPEGEN=1`, `process.argv` includes "typegen"
- Return empty plugin array when in typegen context
- Maintain backward compatibility for normal dev mode

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Nenhum arquivo-fonte ou teste é indicado. Comece rastreando a inicialização do DevTools compartilhada pelo dev server e pelos typegen entry points e, em seguida, inspecione as variáveis de ambiente e os argumentos do processo listados. Está concluído quando tanto pnpm dev quanto os comandos de geração de tipos forem executados juntos sem o erro EADDRINUSE, mantendo o comportamento normal do DevTools.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
react, typescript, vite
Domínio
devtools
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.