diff --git a/bun.lock b/bun.lock index 8131513..1fec628 100644 --- a/bun.lock +++ b/bun.lock @@ -21,6 +21,7 @@ "@codemirror/view": "^6.42.1", "@elysiajs/static": "^1.4.10", "@sindresorhus/slugify": "^3.0.0", + "diff": "^9.0.0", "diff-match-patch": "^1.0.5", "elysia": "^1.4.28", "fflate": "^0.8.2", @@ -480,6 +481,8 @@ "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], + "diff": ["diff@9.0.0", "", {}, "sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw=="], + "diff-match-patch": ["diff-match-patch@1.0.5", "", {}, "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw=="], "elysia": ["elysia@1.4.28", "", { "dependencies": { "cookie": "^1.1.1", "exact-mirror": "^0.2.7", "fast-decode-uri-component": "^1.0.1", "memoirist": "^0.4.0" }, "peerDependencies": { "@sinclair/typebox": ">= 0.34.0 < 1", "@types/bun": ">= 1.2.0", "file-type": ">= 20.0.0", "openapi-types": ">= 12.0.0", "typescript": ">= 5.0.0" }, "optionalPeers": ["@types/bun", "typescript"] }, "sha512-Vrx8sBnvq8squS/3yNBzR1jBXI+SgmnmvwawPjNuEHndUe5l1jV2Gp6JJ4ulDkEB8On6bWmmuyPpA+bq4t+WYg=="], diff --git a/package.json b/package.json index f03bf01..61b6319 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "@codemirror/view": "^6.42.1", "@elysiajs/static": "^1.4.10", "@sindresorhus/slugify": "^3.0.0", + "diff": "^9.0.0", "diff-match-patch": "^1.0.5", "elysia": "^1.4.28", "fflate": "^0.8.2", diff --git a/src/lib/diff-render.ts b/src/lib/diff-render.ts index 6a1855f064b1f33db8a2b7317335c03013efb234..b560b2bc868c7f66f5c1d3b05a5d2f57e662d4de 100644 GIT binary patch delta 2120 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