Files
FrenoCorp/package.json
Michael Freno ef1b15c9ea FRE-600: Implement Phase 1 WebSocket + Yjs CRDT foundation
- Create TypeScript and Vite configuration for SolidJS
- Implement Yjs document structure for screenplay collaboration
- Build WebSocket connection manager with exponential backoff reconnection
- Create CRDT document manager with undo/redo support
- Set up WebSocket sync server with JWT authentication
- Add SolidJS reactive bindings for Yjs shared types
- Build collaborative editor component
- Write unit tests for CRDT operations
- Document implementation in analysis/fre600_websocket_foundation.md

Architecture: Yjs chosen over Automerge for better ecosystem and
Tauri compatibility. WebSocket for sync, WebRTC for video.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-22 23:08:27 -04:00

48 lines
1.1 KiB
JSON

{
"name": "frenocorp-collaboration",
"version": "0.1.0",
"description": "FrenoCorp real-time collaboration layer with Yjs and WebSocket",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview",
"test": "vitest",
"test:coverage": "vitest run --coverage",
"server:dev": "tsx watch server/websocket/index.ts",
"server:build": "tsc -p tsconfig.server.json",
"lint": "eslint src/ server/",
"lint:fix": "eslint src/ server/ --fix"
},
"dependencies": {
"solid-js": "^1.8.14",
"yjs": "^13.6.12",
"y-websocket": "^1.5.0",
"ws": "^8.16.0"
},
"devDependencies": {
"@types/ws": "^8.5.10",
"@typescript-eslint/eslint-plugin": "^7.0.2",
"@typescript-eslint/parser": "^7.0.2",
"eslint": "^8.56.0",
"eslint-plugin-solid": "^0.13.2",
"typescript": "^5.3.3",
"vite": "^5.1.4",
"vite-plugin-solid": "^2.8.2",
"vitest": "^1.3.1",
"tsx": "^4.7.1"
},
"engines": {
"node": ">=18.0.0"
},
"keywords": [
"yjs",
"crdt",
"websocket",
"collaboration",
"solidjs",
"tauri"
],
"license": "MIT"
}