Files
playwriter/extension-new/MIGRATION.md
Tommy D. Rossi 1ac644d4bd new code
2025-11-15 13:06:08 +01:00

76 lines
1.7 KiB
Markdown

# Migration Complete
The new CDP relay server implementation has been moved into `playwriter/src/extension/`.
## What Changed
### Files Removed
-`src/extension/cdpRelay.ts` (~417 lines) - Old class-based implementation
-`src/extension/types.ts` - Old type definitions
### Files Added/Updated
-`src/extension/relay-server.ts` (321 lines) - New inline implementation
-`src/extension/protocol.ts` (34 lines) - Message type definitions
-`src/extension/extensionContextFactory.ts` - Now just re-exports `startRelayServer`
### Updated Scripts
-`scripts/extension-server.ts` - Uses new simplified API
## New API
**Before:**
```typescript
const controller = new AbortController()
const { cdpRelayServer } = await startRelayServer(controller.signal)
// Complex class-based API
cdpRelayServer.stop()
```
**After:**
```typescript
const server = await startRelayServer({ port: 9988 })
// Simple object API
server.close()
```
## Code Reduction
| Metric | Before | After |
|--------|--------|-------|
| Total LOC | ~600 | ~370 |
| Files | 4 | 3 |
| Classes | 2 | 0 |
| Helper functions | Multiple modules | All inlined |
## Dependencies Added
```json
{
"hono": "^4.10.6",
"@hono/node-server": "^1.19.6",
"@hono/node-ws": "^1.2.0"
}
```
## Testing
```bash
cd playwriter
pnpm typecheck # ✅ Passes
pnpm build # ✅ Builds successfully
# Run the server
vite-node scripts/extension-server.ts
```
## Architecture
Everything is now in **one file** (`relay-server.ts`):
- Target registry (simple Map)
- Extension request/response handling
- CDP command routing
- WebSocket endpoints
- Message forwarding
No abstractions, no helper modules, just straightforward code.