code-forge-io / code-forge-io/react-router-devtools
Port conflict (EADDRINUSE) when running typegen and dev server simultaneously
- Ngôn ngữ chính
- TypeScript
- Star
- 972
- Fork
- 55
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
# 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
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Không có tệp nguồn hoặc bài kiểm thử nào được nêu. Trước tiên, hãy lần theo quá trình khởi tạo DevTools được dùng chung bởi dev server và typegen entry points, sau đó kiểm tra các biến môi trường và đối số tiến trình được liệt kê. Công việc được xem là hoàn tất khi cả pnpm dev và các lệnh tạo type đều chạy cùng nhau mà không gặp lỗi EADDRINUSE, đồng thời vẫn giữ nguyên hành vi DevTools thông thường.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- react, typescript, vite
- Lĩnh vực
- devtools
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100