{ "name": "session-viewer", "version": "1.0.0", "description": "Browse, filter, redact, and export Claude Code sessions as self-contained HTML", "type": "module", "bin": { "session-viewer": "./bin/session-viewer.js" }, "scripts": { "dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"", "dev:server": "tsx watch src/server/index.ts", "dev:client": "vite", "build": "tsc && vite build", "preview": "vite preview", "test": "vitest run", "test:watch": "vitest", "test:e2e": "playwright test", "typecheck": "tsc --noEmit", "lint": "eslint . --ext .ts,.tsx" }, "dependencies": { "express": "^4.21.0", "highlight.js": "^11.10.0", "marked": "^14.0.0", "marked-highlight": "^2.2.3", "open": "^10.1.0", "react": "^18.3.1", "react-dom": "^18.3.1" }, "devDependencies": { "@eslint/js": "^9.0.0", "@playwright/test": "^1.48.0", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@types/express": "^4.17.21", "@types/node": "^22.0.0", "@types/react": "^18.3.0", "@types/react-dom": "^18.3.0", "@types/supertest": "^6.0.0", "@vitejs/plugin-react": "^4.3.0", "autoprefixer": "^10.4.20", "concurrently": "^9.0.0", "eslint": "^9.0.0", "jsdom": "^27.4.0", "postcss": "^8.4.47", "supertest": "^7.0.0", "tailwindcss": "^3.4.13", "tsx": "^4.19.0", "typescript": "^5.6.0", "typescript-eslint": "^8.0.0", "vite": "^5.4.0", "vitest": "^2.1.0" } }