{"_id":"@abhinandhajay/prettydiff","_rev":"10-60ef32ed25d8e56693a38c45bf1f73ec","name":"@abhinandhajay/prettydiff","dist-tags":{"latest":"0.8.0"},"versions":{"0.1.0":{"name":"@abhinandhajay/prettydiff","version":"0.1.0","keywords":["cli","diff","git","viewer"],"author":"Abhinandh Ajay","license":"MIT","_id":"@abhinandhajay/prettydiff@0.1.0","maintainers":[{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"}],"homepage":"https://github.com/abhinandhajay/prettydiff#readme","bugs":{"url":"https://github.com/abhinandhajay/prettydiff/issues"},"bin":{"prettydiff":"dist/cli/bin.js"},"dist":{"shasum":"24c99b22db2ad31a57a56eef927579d80ec1c6b4","tarball":"https://registry.npmjs.org/@abhinandhajay/prettydiff/-/prettydiff-0.1.0.tgz","fileCount":315,"integrity":"sha512-A4nk1xvaOjH5ZSmPIUBxJjrku3M7gajhU3eaAYY8DUcqFCwWIsPjP0cHq5Sz0AeGOuuaXHM2bW+WHuXYOp8QLQ==","signatures":[{"sig":"MEUCIG/q1n9iyCiQpD1NTvfMu9wraiHSRZQCYpwXCGnOr6ChAiEA3soQ+8AFsgQaHsG51eRg2agE/mnupRSaiL+iU7I7tOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10383234},"type":"module","shasum":"24c99b22db2ad31a57a56eef927579d80ec1c6b4","engines":{"node":">=18.17"},"scripts":{"dev":"vite","lint":"oxlint .","build":"bun run build:web && bun run build:cli","start":"node dist/cli/bin.js","format":"oxfmt --write .","lint:fix":"oxlint --fix .","build:cli":"tsc -p tsconfig.cli.json && chmod +x dist/cli/bin.js","build:web":"vite build","format:check":"oxfmt --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"},"_integrity":"sha512-A4nk1xvaOjH5ZSmPIUBxJjrku3M7gajhU3eaAYY8DUcqFCwWIsPjP0cHq5Sz0AeGOuuaXHM2bW+WHuXYOp8QLQ==","repository":{"url":"git+https://github.com/abhinandhajay/prettydiff.git","type":"git"},"_npmVersion":"10.8.3","description":"Open the working-tree diff of any git repo in a local web viewer.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"mri":"^1.2.0","hono":"^4.12.18","open":"^11.0.0","react":"^19.2.6","get-port":"^7.2.0","react-dom":"^19.2.6","parse-diff":"^0.12.0","@pierre/diffs":"^1.1.21","@pierre/trees":"^1.0.0-beta.3","@hono/node-server":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.0.11","oxfmt":"0.42.0","oxlint":"1.57.0","typescript":"^6.0.3","@types/node":"^25.6.2","tailwindcss":"^4","@types/react":"^19.2.14","lucide-react":"^1.14.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.0","@radix-ui/react-slot":"^1.2.4","@vitejs/plugin-react":"^6.0.1","@radix-ui/react-toggle":"^1.1.10","@radix-ui/react-tooltip":"^1.2.8","class-variance-authority":"^0.7.1","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-toggle-group":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/prettydiff_0.1.0_1778735126557_0.12552235898229713","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@abhinandhajay/prettydiff","version":"0.2.0","keywords":["cli","diff","git","viewer"],"author":{"name":"Abhinandh Ajay"},"license":"MIT","_id":"@abhinandhajay/prettydiff@0.2.0","maintainers":[{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"}],"homepage":"https://github.com/abhinandhajay/prettydiff#readme","bugs":{"url":"https://github.com/abhinandhajay/prettydiff/issues"},"bin":{"prettydiff":"dist/cli/bin.js"},"dist":{"shasum":"3f3c0fb8eabf4e2e614f436c7886cc8ab1ad7715","tarball":"https://registry.npmjs.org/@abhinandhajay/prettydiff/-/prettydiff-0.2.0.tgz","fileCount":317,"integrity":"sha512-gasssOHTEawWonY51ae9vc8GuVJFCGNFqUpSq4ypvqhTPjcIyhRwvQhVsHtXJL9XAv8yVkTV7IVEzyiahk7R7w==","signatures":[{"sig":"MEUCIQD8LlzQeR5TaL1gdDrjYgpmn8d45BNXCzrNEv/NQaPF3wIgIeX17iZSIPQjlGKkawHxCGai9LV1TxMz3HxpFxI8KCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10446220},"type":"module","engines":{"node":">=18.17"},"gitHead":"6b9931ae26bee82a5bd2b12754bf8c9c4bfc7255","scripts":{"dev":"vite","lint":"oxlint .","test":"bun test","build":"bun run build:web && bun run build:cli","start":"node dist/cli/bin.js","format":"oxfmt --write .","lint:fix":"oxlint --fix .","build:cli":"tsc -p tsconfig.cli.json && chmod +x dist/cli/bin.js","build:web":"vite build","format:check":"oxfmt --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"},"repository":{"url":"git+https://github.com/abhinandhajay/prettydiff.git","type":"git"},"_npmVersion":"10.8.2","description":"Open the working-tree diff of any git repo in a local web viewer.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"mri":"^1.2.0","hono":"^4.12.18","open":"^11.0.0","react":"^19.2.6","get-port":"^7.2.0","radix-ui":"^1.4.3","react-dom":"^19.2.6","parse-diff":"^0.12.0","@pierre/diffs":"^1.1.21","@pierre/trees":"^1.0.0-beta.3","@hono/node-server":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.0.11","oxfmt":"0.42.0","oxlint":"1.57.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@types/node":"^25.6.2","tailwindcss":"^4","@types/react":"^19.2.14","lucide-react":"^1.14.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.0","@radix-ui/react-slot":"^1.2.4","@vitejs/plugin-react":"^6.0.1","@radix-ui/react-toggle":"^1.1.10","@radix-ui/react-tooltip":"^1.2.8","class-variance-authority":"^0.7.1","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-toggle-group":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/prettydiff_0.2.0_1779061704260_0.10561468172068111","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@abhinandhajay/prettydiff","version":"0.3.0","keywords":["cli","diff","git","viewer"],"author":{"name":"Abhinandh Ajay"},"license":"MIT","_id":"@abhinandhajay/prettydiff@0.3.0","maintainers":[{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"}],"homepage":"https://github.com/abhinandhajay/prettydiff#readme","bugs":{"url":"https://github.com/abhinandhajay/prettydiff/issues"},"bin":{"prettydiff":"dist/cli/bin.js"},"dist":{"shasum":"457add15dc386e0ca96b70fb296aa24dd203e975","tarball":"https://registry.npmjs.org/@abhinandhajay/prettydiff/-/prettydiff-0.3.0.tgz","fileCount":317,"integrity":"sha512-Ea8EEWWP2VIp5EIzC3AwtJLiy+XXVUKfmJg1D6NfMdYwXhVxfGbVhDC/UMAzVapzX30I2eSTAKSF+IJJgi0Yyg==","signatures":[{"sig":"MEUCIEEgumbOgZqXcg84C5iGciqZFwmt80S2nVdO3lnUu+WVAiEA/cA5Y72sXKccgvbRZcMm0LU/sffzuHOKSqTrF33iMCc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10450277},"type":"module","engines":{"node":">=18.17"},"gitHead":"afe7ff3e5de2bcbd66f90b27470c6be6cb8f1565","scripts":{"dev":"vite","lint":"oxlint .","test":"bun test","build":"bun run build:web && bun run build:cli","start":"node dist/cli/bin.js","format":"oxfmt --write .","lint:fix":"oxlint --fix .","build:cli":"tsc -p tsconfig.cli.json && chmod +x dist/cli/bin.js","build:web":"vite build","format:check":"oxfmt --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"},"repository":{"url":"git+https://github.com/abhinandhajay/prettydiff.git","type":"git"},"_npmVersion":"10.8.2","description":"Open the working-tree diff of any git repo in a local web viewer.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"mri":"^1.2.0","hono":"^4.12.18","open":"^11.0.0","react":"^19.2.6","get-port":"^7.2.0","radix-ui":"^1.4.3","react-dom":"^19.2.6","parse-diff":"^0.12.0","@pierre/diffs":"^1.1.21","@pierre/trees":"^1.0.0-beta.3","@hono/node-server":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.0.11","oxfmt":"0.42.0","oxlint":"1.57.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@types/node":"^25.6.2","tailwindcss":"^4","@types/react":"^19.2.14","lucide-react":"^1.14.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.0","@radix-ui/react-slot":"^1.2.4","@vitejs/plugin-react":"^6.0.1","@radix-ui/react-toggle":"^1.1.10","@radix-ui/react-tooltip":"^1.2.8","class-variance-authority":"^0.7.1","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-toggle-group":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/prettydiff_0.3.0_1780000643856_0.42825658782181786","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@abhinandhajay/prettydiff","version":"0.4.0","keywords":["cli","diff","git","viewer"],"author":{"name":"Abhinandh Ajay"},"license":"MIT","_id":"@abhinandhajay/prettydiff@0.4.0","maintainers":[{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"}],"homepage":"https://github.com/abhinandhajay/prettydiff#readme","bugs":{"url":"https://github.com/abhinandhajay/prettydiff/issues"},"bin":{"prettydiff":"dist/cli/bin.js"},"dist":{"shasum":"583cd3eebb3279acefcfe164c31ac40ff65fc687","tarball":"https://registry.npmjs.org/@abhinandhajay/prettydiff/-/prettydiff-0.4.0.tgz","fileCount":317,"integrity":"sha512-1L6+iSAvUX0JJbpuSDiIiaV/Vg6QPCvC+Udcr7+CNMIxLTeUy03/uuVUwE8t8eIk6kYAmmSlfx2HlNPUNo3tmw==","signatures":[{"sig":"MEYCIQCT3qpsDOmRd/U53+lkR2ArV/3+Z4Mor4auBRJC7IuToAIhAPI1EgRosCiQGdyyyGfrYevBsFYkS18Tz3ybZmPIlsFl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10446370},"type":"module","engines":{"node":">=18.17"},"gitHead":"270077d1db4bf3d2dfc076c57d639a1739878474","scripts":{"dev":"vite","lint":"oxlint .","test":"bun test","build":"bun run build:web && bun run build:cli","start":"node dist/cli/bin.js","format":"oxfmt --write .","lint:fix":"oxlint --fix .","build:cli":"tsc -p tsconfig.cli.json && chmod +x dist/cli/bin.js","build:web":"vite build","format:check":"oxfmt --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"},"repository":{"url":"git+https://github.com/abhinandhajay/prettydiff.git","type":"git"},"_npmVersion":"10.8.2","description":"Open the working-tree diff of any git repo in a local web viewer.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"mri":"^1.2.0","hono":"^4.12.18","open":"^11.0.0","react":"^19.2.6","get-port":"^7.2.0","react-dom":"^19.2.6","parse-diff":"^0.12.0","@pierre/diffs":"^1.1.21","@pierre/trees":"^1.0.0-beta.3","@hono/node-server":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.0.11","oxfmt":"0.42.0","oxlint":"1.57.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@types/node":"^25.6.2","tailwindcss":"^4","@types/react":"^19.2.14","lucide-react":"^1.14.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.0","@radix-ui/react-slot":"^1.2.4","@vitejs/plugin-react":"^6.0.1","@radix-ui/react-toggle":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-toggle-group":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/prettydiff_0.4.0_1782761542125_0.6152535866364772","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@abhinandhajay/prettydiff","version":"0.5.0","keywords":["cli","diff","git","viewer"],"author":{"name":"Abhinandh Ajay"},"license":"MIT","_id":"@abhinandhajay/prettydiff@0.5.0","maintainers":[{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"}],"homepage":"https://github.com/abhinandhajay/prettydiff#readme","bugs":{"url":"https://github.com/abhinandhajay/prettydiff/issues"},"bin":{"prettydiff":"dist/cli/bin.js"},"dist":{"shasum":"4ae9c6bd25b820b2f89515de71df505288f1972a","tarball":"https://registry.npmjs.org/@abhinandhajay/prettydiff/-/prettydiff-0.5.0.tgz","fileCount":317,"integrity":"sha512-GcIYpBUVm7kcSaS+mrLzn4/WkYTvAQ9XgzRMVF+jDO3U12oZnpPerZAK1Bp7fEw/39R8/00V/Ymnju/9liIGtw==","signatures":[{"sig":"MEUCIQDfFXE9NxVwQfeCEoClO/M6qNXUoQXoP9q7GcNDrpw8ygIgbnme+Kn0fUdcfHqSfQd2/Js8Rf88spRXxL/M+v0gsQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10553500},"type":"module","engines":{"node":">=18.17"},"gitHead":"2a3dcb3d7bc46b91a0aeb8493dbb3a52919fdccd","scripts":{"dev":"vite","lint":"oxlint .","test":"bun test","build":"bun run build:web && bun run build:cli","start":"node dist/cli/bin.js","format":"oxfmt --write .","lint:fix":"oxlint --fix .","build:cli":"tsc -p tsconfig.cli.json && chmod +x dist/cli/bin.js","build:web":"vite build","format:check":"oxfmt --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"},"repository":{"url":"git+https://github.com/abhinandhajay/prettydiff.git","type":"git"},"_npmVersion":"10.8.2","description":"Open the working-tree diff of any git repo in a local web viewer.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"mri":"^1.2.0","hono":"^4.12.18","open":"^11.0.0","react":"^19.2.6","get-port":"^7.2.0","react-dom":"^19.2.6","parse-diff":"^0.12.0","@pierre/diffs":"^1.1.21","@pierre/trees":"^1.0.0-beta.3","@hono/node-server":"^2.0.2","@radix-ui/react-select":"^2.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.0.11","oxfmt":"0.42.0","oxlint":"1.57.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@types/node":"^25.6.2","tailwindcss":"^4","@types/react":"^19.2.14","lucide-react":"^1.14.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.0","@radix-ui/react-slot":"^1.2.4","@vitejs/plugin-react":"^6.0.1","@radix-ui/react-toggle":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-toggle-group":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/prettydiff_0.5.0_1782846351095_0.39534284918103935","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@abhinandhajay/prettydiff","version":"0.5.1","keywords":["cli","diff","git","viewer"],"author":{"name":"Abhinandh Ajay"},"license":"MIT","_id":"@abhinandhajay/prettydiff@0.5.1","maintainers":[{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"}],"homepage":"https://github.com/abhinandhajay/prettydiff#readme","bugs":{"url":"https://github.com/abhinandhajay/prettydiff/issues"},"bin":{"prettydiff":"dist/cli/bin.js"},"dist":{"shasum":"340cf1d1df65ecdf832b9cbd35d2914ef0e0c2a7","tarball":"https://registry.npmjs.org/@abhinandhajay/prettydiff/-/prettydiff-0.5.1.tgz","fileCount":317,"integrity":"sha512-8HpJkzelxrf2hWykJCwJeGNtLeR/lt0dhg6GZ+tf1+pkA9aa1LFO7/o8LFldsfOVCjtgjXS1EihQqb8ch5Y+cw==","signatures":[{"sig":"MEUCIB7fqGDPILfss8v6P1RbX5IaFn+TCHvh/NWIXJrvxeBEAiEAuxHfS0AU+W/8ISYLQNWIR6slqzVtg8KEuSvXCs+guN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10554086},"type":"module","engines":{"node":">=18.17"},"gitHead":"488b1353afdaf769ec45255a6cc138770ef7a3b3","scripts":{"dev":"vite","lint":"oxlint .","test":"bun test","build":"bun run build:web && bun run build:cli","start":"node dist/cli/bin.js","format":"oxfmt --write .","lint:fix":"oxlint --fix .","build:cli":"tsc -p tsconfig.cli.json && chmod +x dist/cli/bin.js","build:web":"vite build","format:check":"oxfmt --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"},"repository":{"url":"git+https://github.com/abhinandhajay/prettydiff.git","type":"git"},"_npmVersion":"10.8.2","description":"Open the working-tree diff of any git repo in a local web viewer.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"mri":"^1.2.0","hono":"^4.12.18","open":"^11.0.0","react":"^19.2.6","get-port":"^7.2.0","react-dom":"^19.2.6","parse-diff":"^0.12.0","@pierre/diffs":"^1.1.21","@pierre/trees":"^1.0.0-beta.3","@hono/node-server":"^2.0.2","@radix-ui/react-select":"^2.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.0.11","oxfmt":"0.42.0","oxlint":"1.57.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@types/node":"^25.6.2","tailwindcss":"^4","@types/react":"^19.2.14","lucide-react":"^1.14.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.0","@radix-ui/react-slot":"^1.2.4","@vitejs/plugin-react":"^6.0.1","@radix-ui/react-toggle":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-toggle-group":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/prettydiff_0.5.1_1782917405589_0.1606775025168783","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@abhinandhajay/prettydiff","version":"0.6.0","keywords":["cli","diff","git","viewer"],"author":{"name":"Abhinandh Ajay"},"license":"MIT","_id":"@abhinandhajay/prettydiff@0.6.0","maintainers":[{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"}],"homepage":"https://github.com/abhinandhajay/prettydiff#readme","bugs":{"url":"https://github.com/abhinandhajay/prettydiff/issues"},"bin":{"prettydiff":"dist/cli/bin.js"},"dist":{"shasum":"73ec08e9081d8e91f8267e21c79924f4ffa77c24","tarball":"https://registry.npmjs.org/@abhinandhajay/prettydiff/-/prettydiff-0.6.0.tgz","fileCount":325,"integrity":"sha512-NX1SJ0UTgojnOQ78U1zvBj5Tgr0jxye+0hBhjSAQBsxnE64rPUIPxdmuc/V2rBbOCCMm86v+xz9Od2UuC6yh/g==","signatures":[{"sig":"MEUCIC5Hlx27QBpa//dntfT2uMortQuUvCpmpcmZMc+9VCmsAiEAwEb5NH9FCwDoKb9geFtgza+gwO7WPqlP1YflaqoIwk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10890104},"type":"module","engines":{"node":">=18.17"},"gitHead":"481f0ad8a1e1d1195809a6860877586d2232b1da","scripts":{"dev":"vite","lint":"oxlint .","test":"bun test","build":"bun run build:web && bun run build:cli","start":"node dist/cli/bin.js","format":"oxfmt --write .","lint:fix":"oxlint --fix .","build:cli":"tsc -p tsconfig.cli.json && chmod +x dist/cli/bin.js","build:web":"vite build","format:check":"oxfmt --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"},"repository":{"url":"git+https://github.com/abhinandhajay/prettydiff.git","type":"git"},"_npmVersion":"10.8.2","description":"Open the working-tree diff of any git repo in a local web viewer.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"mri":"^1.2.0","hono":"^4.12.27","open":"^11.0.0","react":"^19.2.7","get-port":"^7.2.0","react-dom":"^19.2.7","parse-diff":"^0.12.0","@pierre/diffs":"^1.2.12","@pierre/trees":"^1.0.0-beta.5","@hono/node-server":"^2.0.6","@radix-ui/react-select":"^2.3.2","react-resizable-panels":"^4.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.2","oxfmt":"0.57.0","oxlint":"1.72.0","@types/bun":"^1.3.14","typescript":"^6.0.3","@types/node":"^26.1.0","tailwindcss":"^4.3.2","@types/react":"^19.2.17","lucide-react":"^1.23.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.2","@radix-ui/react-slot":"^1.3.0","@vitejs/plugin-react":"^6.0.3","@radix-ui/react-toggle":"^1.1.13","@radix-ui/react-checkbox":"^1.3.6","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.11","@radix-ui/react-collapsible":"^1.1.15","@radix-ui/react-scroll-area":"^1.2.13","@radix-ui/react-toggle-group":"^1.1.14"},"_npmOperationalInternal":{"tmp":"tmp/prettydiff_0.6.0_1783058343718_0.7717589240652594","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@abhinandhajay/prettydiff","version":"0.7.0","keywords":["cli","diff","git","viewer"],"author":{"name":"Abhinandh Ajay"},"license":"MIT","_id":"@abhinandhajay/prettydiff@0.7.0","maintainers":[{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"}],"homepage":"https://github.com/abhinandhajay/prettydiff#readme","bugs":{"url":"https://github.com/abhinandhajay/prettydiff/issues"},"bin":{"prettydiff":"dist/cli/bin.js"},"dist":{"shasum":"3182fee3bee051d7d9b0a0d9e2dc1a334834c06d","tarball":"https://registry.npmjs.org/@abhinandhajay/prettydiff/-/prettydiff-0.7.0.tgz","fileCount":327,"integrity":"sha512-7YXa487WoX5/H+qtOsf0+NRio2HEDqrVTldE6dcMMn2ihV53a5madmDN23YDkGXUza5+6YDg2p9zIThfhWoJwg==","signatures":[{"sig":"MEUCICo7u6sKd62vEIhhw6gM4hSlJj1/s3heNY9KwX8RMGq3AiEA35DyaBvoVep9hzEif77neAeN6N4Y+Qcd9Wj09uRCtfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10915797},"type":"module","engines":{"node":">=18.17"},"gitHead":"f5e027ad1238cdd52368cd1c4892ef3210725807","scripts":{"dev":"vite","lint":"oxlint .","test":"bun test","build":"bun run build:web && bun run build:cli","start":"node dist/cli/bin.js","format":"oxfmt --write .","lint:fix":"oxlint --fix .","build:cli":"tsc -p tsconfig.cli.json && chmod +x dist/cli/bin.js","build:web":"vite build","format:check":"oxfmt --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"},"repository":{"url":"git+https://github.com/abhinandhajay/prettydiff.git","type":"git"},"_npmVersion":"10.8.2","description":"Open the working-tree diff of any git repo in a local web viewer.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"mri":"^1.2.0","hono":"^4.12.27","open":"^11.0.0","react":"^19.2.7","get-port":"^7.2.0","react-dom":"^19.2.7","parse-diff":"^0.12.0","@pierre/diffs":"^1.2.12","@pierre/trees":"^1.0.0-beta.5","@hono/node-server":"^2.0.6","@radix-ui/react-select":"^2.3.2","react-resizable-panels":"^4.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.2","oxfmt":"0.57.0","oxlint":"1.72.0","happy-dom":"^20.10.6","@types/bun":"^1.3.14","typescript":"^6.0.3","@types/node":"^26.1.0","tailwindcss":"^4.3.2","@types/react":"^19.2.17","lucide-react":"^1.23.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.2","@radix-ui/react-slot":"^1.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.3","@radix-ui/react-toggle":"^1.1.13","@testing-library/react":"^16.3.2","@radix-ui/react-checkbox":"^1.3.6","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.11","@testing-library/jest-dom":"^6.9.1","@radix-ui/react-collapsible":"^1.1.15","@radix-ui/react-scroll-area":"^1.2.13","@testing-library/user-event":"^14.6.1","@radix-ui/react-toggle-group":"^1.1.14","@happy-dom/global-registrator":"^20.10.6"},"_npmOperationalInternal":{"tmp":"tmp/prettydiff_0.7.0_1784005245089_0.388174062038634","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@abhinandhajay/prettydiff","version":"0.7.1","keywords":["cli","diff","git","viewer"],"author":{"name":"Abhinandh Ajay"},"license":"MIT","_id":"@abhinandhajay/prettydiff@0.7.1","maintainers":[{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"}],"homepage":"https://github.com/abhinandhajay/prettydiff#readme","bugs":{"url":"https://github.com/abhinandhajay/prettydiff/issues"},"bin":{"prettydiff":"dist/cli/bin.js"},"dist":{"shasum":"b831c302625dedafa74facf984dc6fc5360b63ec","tarball":"https://registry.npmjs.org/@abhinandhajay/prettydiff/-/prettydiff-0.7.1.tgz","fileCount":327,"integrity":"sha512-6+JhmBwYXd6f87JZoG5eVUprWB6KZw/Vcnf3AOGDoLw+IDyRj8IcSu7mciG3+zBuR1kXMqY6Z5WH3ycMlCyNtw==","signatures":[{"sig":"MEUCIQDUxhBoPIuTrAciF1v1A5qYWgjMB6HOlpZYF9YuQ0rELQIgCfXjUxwfTCRL6yKr1tCAiCN0sSxlqCMu47hLxwldRqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10917740},"type":"module","engines":{"node":">=18.17"},"gitHead":"dcf8a6c6bc58d3f6fce58353b52d8f94bedff9f4","scripts":{"dev":"vite","lint":"oxlint .","test":"bun test","build":"bun run build:web && bun run build:cli","start":"node dist/cli/bin.js","format":"oxfmt --write .","lint:fix":"oxlint --fix .","build:cli":"tsc -p tsconfig.cli.json && chmod +x dist/cli/bin.js","build:web":"vite build","format:check":"oxfmt --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"},"repository":{"url":"git+https://github.com/abhinandhajay/prettydiff.git","type":"git"},"_npmVersion":"10.8.2","description":"Open the working-tree diff of any git repo in a local web viewer.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"mri":"^1.2.0","hono":"^4.12.27","open":"^11.0.0","react":"^19.2.7","get-port":"^7.2.0","react-dom":"^19.2.7","parse-diff":"^0.12.0","@pierre/diffs":"^1.2.12","@pierre/trees":"^1.0.0-beta.5","@hono/node-server":"^2.0.6","@radix-ui/react-select":"^2.3.2","react-resizable-panels":"^4.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","vite":"^8.1.2","oxfmt":"0.57.0","oxlint":"1.72.0","happy-dom":"^20.10.6","@types/bun":"^1.3.14","typescript":"^6.0.3","@types/node":"^26.1.0","tailwindcss":"^4.3.2","@types/react":"^19.2.17","lucide-react":"^1.23.0","tailwind-merge":"^3.6.0","tw-animate-css":"^1.4.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.2","@radix-ui/react-slot":"^1.3.0","@testing-library/dom":"^10.4.1","@vitejs/plugin-react":"^6.0.3","@radix-ui/react-toggle":"^1.1.13","@testing-library/react":"^16.3.2","@radix-ui/react-checkbox":"^1.3.6","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.11","@testing-library/jest-dom":"^6.9.1","@radix-ui/react-collapsible":"^1.1.15","@radix-ui/react-scroll-area":"^1.2.13","@testing-library/user-event":"^14.6.1","@radix-ui/react-toggle-group":"^1.1.14","@happy-dom/global-registrator":"^20.10.6"},"_npmOperationalInternal":{"tmp":"tmp/prettydiff_0.7.1_1784090615593_0.7146011332583351","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@abhinandhajay/prettydiff","version":"0.8.0","description":"Open the working-tree diff of any git repo in a local web viewer.","keywords":["cli","diff","git","viewer"],"homepage":"https://github.com/abhinandhajay/prettydiff#readme","bugs":{"url":"https://github.com/abhinandhajay/prettydiff/issues"},"license":"MIT","author":{"name":"Abhinandh Ajay"},"repository":{"type":"git","url":"git+https://github.com/abhinandhajay/prettydiff.git"},"bin":{"prettydiff":"dist/cli/bin.js"},"type":"module","publishConfig":{"access":"public"},"scripts":{"dev":"vite","build:web":"vite build","build:cli":"tsc -p tsconfig.cli.json && chmod +x dist/cli/bin.js","build":"bun run build:web && bun run build:cli","prepublishOnly":"bun run build","start":"node dist/cli/bin.js","test":"bun test","lint":"oxlint .","lint:fix":"oxlint --fix .","format":"oxfmt --write .","format:check":"oxfmt --check ."},"dependencies":{"@hono/node-server":"^2.0.6","@pierre/diffs":"^1.2.12","@pierre/trees":"^1.0.0-beta.5","@radix-ui/react-select":"^2.3.2","get-port":"^7.2.0","hono":"^4.12.27","mri":"^1.2.0","open":"^11.0.0","parse-diff":"^0.12.0","react":"^19.2.7","react-dom":"^19.2.7","react-resizable-panels":"^4.12.0"},"devDependencies":{"@happy-dom/global-registrator":"^20.10.6","@radix-ui/react-checkbox":"^1.3.6","@radix-ui/react-collapsible":"^1.1.15","@radix-ui/react-scroll-area":"^1.2.13","@radix-ui/react-separator":"^1.1.11","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-toggle":"^1.1.13","@radix-ui/react-toggle-group":"^1.1.14","@tailwindcss/vite":"^4.3.2","@testing-library/dom":"^10.4.1","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/bun":"^1.3.14","@types/node":"^26.1.0","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.3","class-variance-authority":"^0.7.1","clsx":"^2.1.1","happy-dom":"^20.10.6","lucide-react":"^1.23.0","oxfmt":"0.57.0","oxlint":"1.72.0","tailwind-merge":"^3.6.0","tailwindcss":"^4.3.2","tw-animate-css":"^1.4.0","typescript":"^6.0.3","vite":"^8.1.2"},"engines":{"node":">=18.17"},"gitHead":"b2bb6583fcf03f095651e5447bbf34f037bc9819","_id":"@abhinandhajay/prettydiff@0.8.0","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-zIBhnV2YBwHqPPCrnHDJFhXKsy1EjqWipfZyR4IW6BgXW4fv3eLfDUQ6xnRuVfQLx1Z0kHXXPYBHe27j93WorA==","shasum":"6df91b1348977578f486df2dfdb07885fa4b3168","tarball":"https://registry.npmjs.org/@abhinandhajay/prettydiff/-/prettydiff-0.8.0.tgz","fileCount":333,"unpackedSize":10961618,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDg727hKCEyZu0vnLUjknjwmWDvx1UKzrSeBVCgLID85QIgGF0p2nwR8lAs5j3M471+O1pE+9HkGKWCKksYlA0rGfU="}]},"_npmUser":{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"},"directories":{},"maintainers":[{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/prettydiff_0.8.0_1789052773182_0.8193028921588237"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-14T05:05:26.450Z","modified":"2026-09-10T15:06:13.510Z","0.1.0":"2026-05-14T05:05:26.778Z","0.2.0":"2026-05-17T23:48:24.451Z","0.3.0":"2026-05-28T20:37:24.088Z","0.4.0":"2026-06-29T19:32:22.397Z","0.5.0":"2026-06-30T19:05:51.288Z","0.5.1":"2026-07-01T14:50:05.803Z","0.6.0":"2026-07-03T05:59:03.875Z","0.7.0":"2026-07-14T05:00:45.246Z","0.7.1":"2026-07-15T04:43:35.758Z","0.8.0":"2026-09-10T15:06:13.357Z"},"bugs":{"url":"https://github.com/abhinandhajay/prettydiff/issues"},"author":{"name":"Abhinandh Ajay"},"license":"MIT","homepage":"https://github.com/abhinandhajay/prettydiff#readme","keywords":["cli","diff","git","viewer"],"repository":{"type":"git","url":"git+https://github.com/abhinandhajay/prettydiff.git"},"description":"Open the working-tree diff of any git repo in a local web viewer.","maintainers":[{"name":"abhinandhajay","email":"abhinandhajay@gmail.com"}],"readme":"# prettydiff\n\n[![npm version](https://img.shields.io/npm/v/@abhinandhajay/prettydiff)](https://www.npmjs.com/package/@abhinandhajay/prettydiff)\n[![license](https://img.shields.io/github/license/abhinandhajay/prettydiff)](LICENSE)\n\nA refined local web viewer for your Git changes. Run `prettydiff` inside any Git repository and a browser tab opens with a side-by-side or unified diff of your working tree by default, with controls for previewing what your branch would merge into another branch when you need a broader review.\n\n![prettydiff screenshot](https://zlbhhflgmo.ufs.sh/f/1Dz4wc6RUalTCMEOPGXZNoAMPEtuYClQWdvSfbe4hRGFJDs9)\n\n## Features\n\n- Side-by-side and unified diff views\n- Working-tree diff by default, with branch-mode controls in the header\n- Branch mode shows everything your current branch would introduce to a selected base branch (local or remote), like a PR diff, with a toggle for including uncommitted and untracked changes\n- File-tree sidebar with status indicators and addition/deletion counts\n- Inline comments on diff lines with edit/delete controls\n- Persistent comments shared between the browser and CLI\n- Agent-authored comments with visible attribution\n- Comments sidebar with jump-to-line navigation and AI-ready copy\n- Reload, line-wrap, and expand/collapse controls\n- Detects modified, added, deleted, renamed, and untracked files\n- Zero config — runs in any Git repo\n\n## Installation\n\nRequirements: Node `>=18.17` and Git.\n\n```sh\nnpm install -g @abhinandhajay/prettydiff\n```\n\nor with Bun:\n\n```sh\nbun add -g @abhinandhajay/prettydiff\n```\n\n## Usage\n\nFrom inside any Git repo with uncommitted changes:\n\n```sh\nprettydiff\n```\n\nThe viewer opens in working-tree mode. Use the header controls to switch to branch mode and choose the base branch — the diff then shows what merging your current branch into that base would introduce. The \"+ working tree\" toggle controls whether uncommitted and untracked changes are included on top of the committed ones. Branch mode is selected in the web UI, not with a CLI flag.\n\nOptions:\n\n| Flag              | Description                                                           |\n| ----------------- | --------------------------------------------------------------------- |\n| `--port <n>`      | Preferred port (default: `3177`, then auto-selected in `39400-39499`) |\n| `--no-open`       | Don't open the browser automatically                                  |\n| `--version`, `-v` | Print version and exit                                                |\n| `--help`, `-h`    | Print help and exit                                                   |\n\n`Ctrl-C` shuts down the server.\n\n## Shared comment CLI\n\nAgents and scripts can manage the same comments shown in the browser without starting a Pretty Diff server:\n\n```sh\nprettydiff comments list\nprettydiff comments add --file src/app.ts --side additions --line 42 \\\n  --body \"Handle the rejected promise.\" --author Codex\nprettydiff comments update --id <comment-id> --body \"Handle both rejection paths.\"\nprettydiff comments delete --id <comment-id>\n```\n\nCommands use the Git repository containing the current directory. They default to the working-tree diff; pass `--target branch --target-ref <ref>` for a branch diff. Successful commands print JSON. Run `prettydiff comments --help` or any command with `--help` for its complete options.\n\nComments are stored outside the repository in the operating system's application-data directory. Set `PRETTYDIFF_DATA_DIR` to override that location.\n\n## Agent skill\n\nThe package includes a concise skill that teaches Codex and Claude how to operate the shared comment CLI:\n\n```sh\nprettydiff skill install\n```\n\nThis installs `prettydiff-cli` for both agents. Pass `--agent codex` or `--agent claude` to install only one copy. Existing copies at the selected destinations are replaced. Run `prettydiff skill install --help` for destination details.\n\nprettydiff prints a one-line update notice on startup when a newer version is on npm. Set `PRETTYDIFF_NO_UPDATE_CHECK=1` to disable.\n\n## Development\n\nPrerequisites: [Bun](https://bun.sh), Node `>=18.17`, Git.\n\n```sh\ngit clone <repo>\ncd prettydiff\nbun install\n```\n\nRun the web viewer in isolation against the sample fixture (Vite, port 5173, serves `fixtures/sample-diff.json` as `/api/diff`):\n\n```sh\nbun run dev\n```\n\nUse `?fixture=empty` for the no-changes state and `?fixture=xl` for the large-diff loading path. The XL fixture is a synthetic 53-file, 10k+ line diff; regenerate it with `bun scripts/build-xl-fixture.ts`. The generator is deterministic.\n\nTo try the dev build against a real repo, run `bun run build`, then from inside that repo run `node /path/to/prettydiff/dist/cli/bin.js`. This leaves any globally-installed `prettydiff` untouched.\n\nAlternatively, run `bun link` once to put the dev build on your PATH as `prettydiff` — convenient for full-time development, but it shadows any globally-installed version until you `bun unlink @abhinandhajay/prettydiff`.\n\n### Scripts\n\n| Script                 | Purpose                                                |\n| ---------------------- | ------------------------------------------------------ |\n| `bun run dev`          | Vite dev server for the web viewer with sample fixture |\n| `bun run build:web`    | Build the web viewer bundle                            |\n| `bun run build`        | Full build: web bundle + CLI compilation               |\n| `bun run start`        | Run the compiled CLI (`node dist/cli/bin.js`)          |\n| `bun test`             | Run the test suite                                     |\n| `bun run lint`         | Run Oxlint                                             |\n| `bun run format`       | Format all code with Oxfmt                             |\n| `bun run format:check` | Check formatting without writing changes               |\n\n## Project structure\n\n- **`src/cli/`** — Node-side CLI: arg parsing, git ops, Hono server, port discovery, update check\n- **`src/web/`** — React + Vite viewer (components, lib, styles)\n- **`fixtures/`** — Dev-mode mock payloads served by Vite at `/api/diff` (`sample-diff.json` by default, `sample-diff-empty.json` with `?fixture=empty`, `sample-diff-xl.json` with `?fixture=xl`)\n- **`scripts/build-xl-fixture.ts`** — Generator for the XL fixture\n\n## Tech stack\n\nTypeScript · React 19 · Vite 8 · Hono · Tailwind CSS 4 · Shadcn/ui · `@pierre/diffs` · `parse-diff` · `mri` · Oxlint · Oxfmt · Bun.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}