{"_id":"@baggiiiie/yadiff","_rev":"2-8503ff6a59e3800133e276153d1e677d","name":"@baggiiiie/yadiff","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.1":{"name":"@baggiiiie/yadiff","version":"0.0.1","keywords":["diff","git","jj","github","pull-request","viewer","cli"],"author":{"name":"baggiiiie"},"license":"MIT","_id":"@baggiiiie/yadiff@0.0.1","maintainers":[{"name":"baggiiiie","email":"yc@yingchao.dev"}],"homepage":"https://github.com/baggiiiie/yadiff#readme","bugs":{"url":"https://github.com/baggiiiie/yadiff/issues"},"bin":{"yadiff":"bin/yadiff.js"},"dist":{"shasum":"e0ab8291f11c42f50d22e2d0e34b982b0c1ced51","tarball":"https://registry.npmjs.org/@baggiiiie/yadiff/-/yadiff-0.0.1.tgz","fileCount":319,"integrity":"sha512-BRubTuZaXXSy7MbRd6CqRoieT+rFpridTdvhK7fkeD39YZl9eL+GQwNqwW7vzAyyjhQM4Q1EZCkKTaeuohX1kw==","signatures":[{"sig":"MEUCIQCCGtubE0e/SLlqnjZaCD2c1NMPkrW3crhOYf0MpF0HsAIgftay39ESSzMl1SSx9YT25BnnftLbgTdD6tsoalECUWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10719081},"type":"module","engines":{"node":">=18.13.0"},"gitHead":"fea4b56a3b3424cc52561e2644b0898e274c4af7","scripts":{"dev":"node ./bin/yadiff.js --dev","build":"vite build","prepack":"npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"baggiiiie","email":"yc@yingchao.dev"},"repository":{"url":"git+https://github.com/baggiiiie/yadiff.git","type":"git"},"_npmVersion":"11.14.1","description":"Yet another diff viewer — browser UI for local git/jj diffs and public GitHub pull requests.","directories":{},"_nodeVersion":"25.5.0","dependencies":{"express":"^5.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.2.4","react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.7","@pierre/diffs":"^1.2.3","@pierre/trees":"^1.0.0-beta.4","@types/express":"^5.0.5","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.1"},"_npmOperationalInternal":{"tmp":"tmp/yadiff_0.0.1_1780038928403_0.7860152951819863","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@baggiiiie/yadiff","version":"0.0.2","type":"module","description":"Yet another diff viewer — browser UI for local git/jj diffs and public GitHub pull requests.","license":"MIT","author":{"name":"baggiiiie"},"repository":{"type":"git","url":"git+https://github.com/baggiiiie/yadiff.git"},"bugs":{"url":"https://github.com/baggiiiie/yadiff/issues"},"homepage":"https://github.com/baggiiiie/yadiff#readme","keywords":["diff","git","jj","github","pull-request","viewer","cli"],"bin":{"yadiff":"bin/yadiff.js"},"engines":{"node":">=18.13.0"},"publishConfig":{"access":"public"},"scripts":{"dev":"node ./bin/yadiff.js --dev","typecheck":"tsc --noEmit","build":"vite build","prepack":"npm run build"},"dependencies":{"express":"^5.2.0"},"devDependencies":{"@pierre/diffs":"^1.2.3","@pierre/trees":"^1.0.0-beta.4","@types/express":"^5.0.5","@types/node":"^24.10.1","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.1","react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","vite":"^7.2.4"},"gitHead":"d7ff9f744f760f2a56a75e52a4da67ed9fa9df68","_id":"@baggiiiie/yadiff@0.0.2","_nodeVersion":"25.5.0","_npmVersion":"11.14.1","dist":{"integrity":"sha512-TrmgJuHFLi6gmDbNLW7nyQAf+gO6tI070GHAsJ49ABe5v/J5ej0MVAM7qgomiOCxBACCaiPom444fiQTYwuMog==","shasum":"98d6ccaa9728aa72d00976cbed9fb50c730cf5ab","tarball":"https://registry.npmjs.org/@baggiiiie/yadiff/-/yadiff-0.0.2.tgz","fileCount":319,"unpackedSize":10747007,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC7ial0snVmwsRRBoxF3MsNm5RsQHutcMl/9nPurw88vAIgZ1QcUjuMfygQjIp5r6x2f5phKhlebDCf1+DahapYzh0="}]},"_npmUser":{"name":"baggiiiie","email":"yc@yingchao.dev"},"directories":{},"maintainers":[{"name":"baggiiiie","email":"yc@yingchao.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/yadiff_0.0.2_1780305438026_0.45352438924283667"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-29T07:15:28.203Z","modified":"2026-06-01T09:17:18.375Z","0.0.1":"2026-05-29T07:15:28.570Z","0.0.2":"2026-06-01T09:17:18.266Z"},"bugs":{"url":"https://github.com/baggiiiie/yadiff/issues"},"author":{"name":"baggiiiie"},"license":"MIT","homepage":"https://github.com/baggiiiie/yadiff#readme","keywords":["diff","git","jj","github","pull-request","viewer","cli"],"repository":{"type":"git","url":"git+https://github.com/baggiiiie/yadiff.git"},"description":"Yet another diff viewer — browser UI for local git/jj diffs and public GitHub pull requests.","maintainers":[{"name":"baggiiiie","email":"yc@yingchao.dev"}],"readme":"# yadiff, yet another diff viewer\n\n> Huge shoutout to [pierrecomputer](https://github.com/pierrecomputer/pierre). Inspired by [diffshub](https://diffshub.com/), this tool is only possible thanks to the incredibly beautiful and high-performance diff and tree packages. All credit goes to the team!\n\nA browser diff viewer for local git/jj diffs and GitHub PRs. It uses [pierrecomputer](https://github.com/pierrecomputer/pierre)'s open-source packages:\n\n- [`@pierre/diffs`](https://github.com/pierrecomputer/pierre/tree/main/packages/diffs) for parsing/rendering diffs\n- [`@pierre/trees`](https://github.com/pierrecomputer/pierre/tree/main/packages/trees) for the file tree\n\n## Usage\n\nRun directly with `npx`:\n\n```bash\nnpx yadiff <git-ref-or-range>/<jj-revset>/<github-pr-url>\nnpx yadiff --working/--staged/--dirty\n```\n\nOr install globally:\n\n```bash\nnpm install -g yadiff\nyadiff HEAD\n```\n\nThe command starts a local server in the background, opens the browser, acquires a diff from the selected source, and serves the patch to the browser. The shell command exits after launch. When there are no browser sessions for one minute, the local server exits automatically.\n\nUse `--foreground` to keep the server attached to the current terminal.\n\n### Examples:\n\nGit:\n\n```bash\nnpx yadiff HEAD\nnpx yadiff main..feature\nnpx yadiff main...HEAD --repo ../some-repo\nnpx yadiff --working/--staged/--dirty\n```\n\njj:\n\n```bash\nnpx yadiff @ --repo ../some-jj-repo\nnpx yadiff 'mine() & mutable()' --vcs jj\n```\n\nGitHub:\n\n```bash\nnpx yadiff https://github.com/oven-sh/bun/pull/30412\n```\n\n## GitHub pull requests\n\nSupported GitHub Targets are public pull request URLs:\n\n```text\nhttps://github.com/OWNER/REPO/pull/123\nhttps://github.com/OWNER/REPO/pull/123/files\nhttps://github.com/OWNER/REPO/pull/123/commits\n```\n\nGitHub PR support intentionally excludes private repositories, authenticated requests, GitHub Enterprise, commit URLs, compare URLs, branch/blob URLs, and GitHub review/comment syncing. GitHub PRs are fetched once by the local server and cached for the life of the yadiff process; browser reloads reuse the captured PR diff.\n\n## potential future improvement\n\n- add a button to sync review to github, with `gh` cli?\n- copy filename; open file with `$EDITOR`\n- support for private repo and enterprise, with `gh` cli\n- stdin support\n\n## License\n\n[MIT](./LICENSE).\n","readmeFilename":"README.md"}