Add E2E test suite for FABRIC web dashboard covering all critical user flows: - Worker selection and detail view navigation - WebSocket connection and real-time event streaming - Command palette search and execution - Focus mode pin/unpin operations Also adds test:e2e npm scripts for running Playwright tests. Test files added: - e2e/critical-flows.spec.ts - Integrated critical flow tests - e2e/websocket-event-streaming.spec.ts - WebSocket event delivery - e2e/command-palette-workflows.spec.ts - Command palette workflows - e2e/focus-mode-multipin.spec.ts - Focus mode with multiple pins - e2e/websocket-reconnection.spec.ts - Reconnection scenarios - e2e/edge-cases.spec.ts - Edge cases and error handling - e2e/web-dashboard.spec.ts - Basic dashboard tests Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
71 lines
1.9 KiB
JSON
71 lines
1.9 KiB
JSON
{
|
|
"name": "@needle/fabric",
|
|
"version": "0.1.0",
|
|
"description": "Flow Analysis & Bead Reporting Interface Console - Live display for NEEDLE worker activity",
|
|
"main": "dist/index.js",
|
|
"types": "dist/index.d.ts",
|
|
"bin": {
|
|
"fabric": "./dist/cli.js"
|
|
},
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"build:web": "vite build",
|
|
"dev": "tsc --watch",
|
|
"dev:web": "vite",
|
|
"start": "node dist/cli.js",
|
|
"tui": "node dist/cli.js tui",
|
|
"web": "node dist/cli.js web",
|
|
"clean": "rm -rf dist",
|
|
"deploy": "npm run build && npm run build:web",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:ui": "playwright test --ui",
|
|
"test:e2e:debug": "playwright test --debug",
|
|
"test:e2e:headed": "playwright test --headed"
|
|
},
|
|
"keywords": [
|
|
"needle",
|
|
"worker",
|
|
"monitoring",
|
|
"tui",
|
|
"dashboard"
|
|
],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"type": "module",
|
|
"engines": {
|
|
"node": ">=18.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.58.2",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/better-sqlite3": "^7.6.13",
|
|
"@types/express": "^5.0.6",
|
|
"@types/node": "^20.11.0",
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@types/ws": "^8.18.1",
|
|
"@vitejs/plugin-react": "^5.1.4",
|
|
"@vitest/coverage-v8": "^4.0.18",
|
|
"jsdom": "^28.1.0",
|
|
"react": "^19.2.4",
|
|
"react-dom": "^19.2.4",
|
|
"typescript": "^5.3.0",
|
|
"vite": "^7.3.1",
|
|
"vitest": "^4.0.18"
|
|
},
|
|
"dependencies": {
|
|
"@types/blessed": "^0.1.27",
|
|
"better-sqlite3": "^12.6.2",
|
|
"blessed": "^0.1.81",
|
|
"chalk": "^4.1.2",
|
|
"commander": "^12.0.0",
|
|
"express": "^5.2.1",
|
|
"ws": "^8.19.0"
|
|
}
|
|
}
|