code-forge-io / code-forge-io/react-router-devtools
Port conflict (EADDRINUSE) when running typegen and dev server simultaneously
- 主要言語
- TypeScript
- スター
- 972
- フォーク
- 55
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
# 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
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
ソースファイルもテストも指定されていません。まず、dev server と typegen entry points で共有されている DevTools の初期化をたどり、次に記載されている環境変数とプロセス引数を調べてください。pnpm dev と型生成コマンドを同時に実行しても EADDRINUSE エラーが発生せず、通常の DevTools の動作が維持されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- react, typescript, vite
- 領域
- devtools
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100