{"_id":"@10xdevs/diff","name":"@10xdevs/diff","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@10xdevs/diff","version":"0.1.0","description":"A fast, compact PR diff viewer — run from the terminal","type":"module","bin":{"webdiff":"bin/cli.js"},"scripts":{"dev":"concurrently \"bun run dev:web\" \"bun run dev:api\"","dev:web":"vite","dev:api":"bun run --watch server.ts","build":"tsc -b && vite build","lint":"eslint .","preview:web":"vite preview","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/thetanav/diff.git"},"keywords":["diff","pr","pull-request","github","review"],"license":"MIT","dependencies":{"@fontsource-variable/geist":"^5.2.9","@fontsource-variable/geist-mono":"^5.2.8","@tailwindcss/vite":"^4.3.0","@tanstack/react-query":"^5.100.13","@types/bun":"^1.3.14","lucide-react":"^1.16.0","react":"^19.2.6","react-dom":"^19.2.6","tailwindcss":"^4.3.0"},"devDependencies":{"@babel/core":"^7.29.0","@eslint/js":"^10.0.1","@rolldown/plugin-babel":"^0.2.3","@types/babel__core":"^7.20.5","@types/node":"^24.12.4","@types/react":"^19.2.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.2","babel-plugin-react-compiler":"^1.0.0","concurrently":"^9.2.1","eslint":"^10.4.0","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-react-refresh":"^0.5.2","globals":"^17.6.0","typescript":"~6.0.3","typescript-eslint":"^8.59.4","vite":"^8.0.14"},"gitHead":"5baca9cbaa8e95ac0f55870cd5c5ef403780d4f9","_id":"@10xdevs/diff@0.1.0","bugs":{"url":"https://github.com/thetanav/diff/issues"},"homepage":"https://github.com/thetanav/diff#readme","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-VnHT12Nwr6JbcMTQyHs4eWUDdffSAOfjMJrANlqzJhwsPDC1hIPsjKyaOBE3kGCZJ46JoTMql5gZCEg+iXb9zA==","shasum":"2573ca0459538b94d232d5f111e2ac811f78c4ea","tarball":"https://registry.npmjs.org/@10xdevs/diff/-/diff-0.1.0.tgz","fileCount":33,"unpackedSize":523000,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAxObbErqse7ehMnoh66EyJQy62O8SbW1oaRtU+1VNdJAiEA9EMDjNI9dijRyB37nVhfxYrzJH6HGLi6vR/5VsJ/Gpc="}]},"_npmUser":{"name":"10xdevs","email":"tanavposwal939@gmail.com"},"directories":{},"maintainers":[{"name":"10xdevs","email":"tanavposwal939@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/diff_0.1.0_1779914370973_0.2906225295274323"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-27T20:39:30.783Z","0.1.0":"2026-05-27T20:39:31.130Z","modified":"2026-05-27T20:39:31.381Z"},"maintainers":[{"name":"10xdevs","email":"tanavposwal939@gmail.com"}],"description":"A fast, compact PR diff viewer — run from the terminal","homepage":"https://github.com/thetanav/diff#readme","keywords":["diff","pr","pull-request","github","review"],"repository":{"type":"git","url":"git+https://github.com/thetanav/diff.git"},"bugs":{"url":"https://github.com/thetanav/diff/issues"},"license":"MIT","readme":"# webdiff\n\nA fast, compact PR diff viewer — run from the terminal, stripped of GitHub's noise.\n\n```bash\nnpx webdiff https://github.com/owner/repo/pull/123\n```\n\nPaste any GitHub PR URL (or `owner/repo#123`) and get a clean, compact view of every file change.\n\n## Features\n\n- **Keyboard-first** — `j`/`k` to navigate files, `/` to search, `c`/`e` to collapse/expand, `?` for help\n- **Dark mode** — persisted preference, auto-detects system theme\n- **Fast** — lazy-loads file diffs on scroll, virtual-scrolled diff view\n- **Search** — filter files by name, collapse/expand all\n- **CLI-friendly** — `npx webdiff <pr>` opens directly in browser\n- **Your token** — uses `gh auth token` or `GITHUB_TOKEN` automatically\n\n## Usage\n\n```bash\n# Open a PR\nnpx webdiff https://github.com/owner/repo/pull/123\nnpx webdiff owner/repo#123\n\n# Development\nbun install\nbun run dev        # Vite + API server\n```\n\n## Environment\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `PORT` | `3000` | Server port |\n| `GITHUB_TOKEN` | — | GitHub API token |\n| `MAX_FILES` | `3000` | Max files to fetch |\n| `MAX_LINES_PER_FILE` | `450` | Lines shown per file |\n| `MAX_LINE_LENGTH` | `240` | Chars shown per line |\n| `PR_FILES_CACHE_TTL_MS` | `60000` | Cache TTL in ms |\n\n## Stack\n\nReact 19 · TypeScript · Bun · Tailwind CSS 4 · React Query · Lucide · Geist\n","readmeFilename":"README.md","_rev":"1-e73ae33c146eb7d97a5c25c9ce44dc33"}