Initial commit: Diff Highlighter Chrome extension (MV3, TypeScript)

Highlights .diff/.patch files inline — additions green, deletions red,
hunk/file headers styled, with toggleable highlight.js syntax highlighting.

- MV3, content script gated on text/plain + URL ending in .diff/.patch
- Two-phase render: instant diff colors, then chunked idle-time syntax
- Popup switches + Alt+D shortcut, persisted in chrome.storage.sync, live re-render
- Light/dark via prefers-color-scheme; only the `storage` permission
- TypeScript + esbuild build; Forgejo Actions CI (typecheck + build)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Tilo Klarenbeek
2026-06-16 13:01:06 +02:00
commit 314c34fe52
24 changed files with 1564 additions and 0 deletions

21
package.json Normal file
View File

@@ -0,0 +1,21 @@
{
"name": "diff-highlighter",
"version": "1.0.0",
"description": "Chrome extension that highlights .diff and .patch files — additions green, deletions red, with toggleable syntax highlighting.",
"private": true,
"type": "module",
"scripts": {
"typecheck": "tsc --noEmit",
"build": "tsc --noEmit && node scripts/build.mjs",
"watch": "node scripts/build.mjs --watch"
},
"dependencies": {
"highlight.js": "^11.10.0"
},
"devDependencies": {
"@types/chrome": "^0.0.287",
"@types/node": "^22.10.0",
"esbuild": "^0.28.1",
"typescript": "^5.7.2"
}
}