@pierre/diffs 1.1.0-beta.10 → 1.1.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -18
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/VirtualizedFile.js +4 -3
- package/dist/components/VirtualizedFile.js.map +1 -1
- package/dist/components/VirtualizedFileDiff.js +5 -3
- package/dist/components/VirtualizedFileDiff.js.map +1 -1
- package/dist/components/Virtualizer.d.ts +3 -1
- package/dist/components/Virtualizer.d.ts.map +1 -1
- package/dist/components/Virtualizer.js +49 -24
- package/dist/components/Virtualizer.js.map +1 -1
- package/dist/highlighter/shared_highlighter.d.ts +4 -2
- package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
- package/dist/highlighter/shared_highlighter.js +3 -3
- package/dist/highlighter/shared_highlighter.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/react/WorkerPoolContext.d.ts.map +1 -1
- package/dist/react/index.d.ts +2 -2
- package/dist/react/jsx.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/shiki-stream/stream.d.ts +1 -1
- package/dist/shiki-stream/stream.d.ts.map +1 -1
- package/dist/shiki-stream/stream.js.map +1 -1
- package/dist/shiki-stream/tokenizer.d.ts +1 -1
- package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
- package/dist/shiki-stream/tokenizer.js.map +1 -1
- package/dist/shiki-stream/types.d.ts +1 -1
- package/dist/shiki-stream/types.d.ts.map +1 -1
- package/dist/ssr/index.d.ts +2 -2
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/createWindowFromScrollPosition.js +10 -4
- package/dist/utils/createWindowFromScrollPosition.js.map +1 -1
- package/dist/utils/getHighlighterOptions.d.ts +7 -2
- package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
- package/dist/utils/getHighlighterOptions.js +3 -2
- package/dist/utils/getHighlighterOptions.js.map +1 -1
- package/dist/worker/WorkerPoolManager.d.ts +3 -1
- package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
- package/dist/worker/WorkerPoolManager.js +8 -3
- package/dist/worker/WorkerPoolManager.js.map +1 -1
- package/dist/worker/types.d.ts +3 -1
- package/dist/worker/types.d.ts.map +1 -1
- package/dist/worker/wasm-BlUZCxHM.js +10 -0
- package/dist/worker/wasm-BlUZCxHM.js.map +1 -0
- package/dist/worker/worker-portable.js +10526 -10094
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js +27 -19
- package/dist/worker/worker.js.map +1 -1
- package/package.json +1 -3
package/dist/worker/worker.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { createHighlighterCore } from "shiki/core";
|
|
2
|
+
import { createJavaScriptRegexEngine } from "shiki/engine/javascript";
|
|
3
|
+
import { createOnigurumaEngine } from "shiki/engine/oniguruma";
|
|
3
4
|
import { diffChars, diffWordsWithSpace } from "diff";
|
|
4
5
|
import { transformerStyleToClass } from "@shikijs/transformers";
|
|
5
6
|
|
|
@@ -1366,20 +1367,22 @@ self.addEventListener("error", (event) => {
|
|
|
1366
1367
|
console.error("[Shiki Worker] Unhandled error:", event.error);
|
|
1367
1368
|
});
|
|
1368
1369
|
self.addEventListener("message", (event) => {
|
|
1369
|
-
|
|
1370
|
+
handleMessage(event.data);
|
|
1371
|
+
});
|
|
1372
|
+
async function handleMessage(request) {
|
|
1370
1373
|
try {
|
|
1371
1374
|
switch (request.type) {
|
|
1372
1375
|
case "initialize":
|
|
1373
|
-
handleInitialize(request);
|
|
1376
|
+
await handleInitialize(request);
|
|
1374
1377
|
break;
|
|
1375
1378
|
case "set-render-options":
|
|
1376
|
-
handleSetRenderOptions(request);
|
|
1379
|
+
await handleSetRenderOptions(request);
|
|
1377
1380
|
break;
|
|
1378
1381
|
case "file":
|
|
1379
|
-
handleRenderFile(request);
|
|
1382
|
+
await handleRenderFile(request);
|
|
1380
1383
|
break;
|
|
1381
1384
|
case "diff":
|
|
1382
|
-
handleRenderDiff(request);
|
|
1385
|
+
await handleRenderDiff(request);
|
|
1383
1386
|
break;
|
|
1384
1387
|
default: throw new Error(`Unknown request type: ${request.type}`);
|
|
1385
1388
|
}
|
|
@@ -1387,9 +1390,10 @@ self.addEventListener("message", (event) => {
|
|
|
1387
1390
|
console.error("Worker error:", error);
|
|
1388
1391
|
sendError(request.id, error);
|
|
1389
1392
|
}
|
|
1390
|
-
}
|
|
1391
|
-
function handleInitialize({ id, renderOptions: options, resolvedThemes, resolvedLanguages }) {
|
|
1392
|
-
|
|
1393
|
+
}
|
|
1394
|
+
async function handleInitialize({ id, renderOptions: options, preferredHighlighter, resolvedThemes, resolvedLanguages }) {
|
|
1395
|
+
let highlighter$1 = getHighlighter(preferredHighlighter);
|
|
1396
|
+
if ("then" in highlighter$1) highlighter$1 = await highlighter$1;
|
|
1393
1397
|
attachResolvedThemes(resolvedThemes, highlighter$1);
|
|
1394
1398
|
if (resolvedLanguages != null) attachResolvedLanguages(resolvedLanguages, highlighter$1);
|
|
1395
1399
|
renderOptions = options;
|
|
@@ -1400,8 +1404,10 @@ function handleInitialize({ id, renderOptions: options, resolvedThemes, resolved
|
|
|
1400
1404
|
sentAt: Date.now()
|
|
1401
1405
|
});
|
|
1402
1406
|
}
|
|
1403
|
-
function handleSetRenderOptions({ id, renderOptions: options, resolvedThemes }) {
|
|
1404
|
-
|
|
1407
|
+
async function handleSetRenderOptions({ id, renderOptions: options, resolvedThemes }) {
|
|
1408
|
+
let highlighter$1 = getHighlighter();
|
|
1409
|
+
if ("then" in highlighter$1) highlighter$1 = await highlighter$1;
|
|
1410
|
+
attachResolvedThemes(resolvedThemes, highlighter$1);
|
|
1405
1411
|
renderOptions = options;
|
|
1406
1412
|
postMessage({
|
|
1407
1413
|
type: "success",
|
|
@@ -1410,8 +1416,9 @@ function handleSetRenderOptions({ id, renderOptions: options, resolvedThemes })
|
|
|
1410
1416
|
sentAt: Date.now()
|
|
1411
1417
|
});
|
|
1412
1418
|
}
|
|
1413
|
-
function handleRenderFile({ id, file, resolvedLanguages }) {
|
|
1414
|
-
|
|
1419
|
+
async function handleRenderFile({ id, file, resolvedLanguages }) {
|
|
1420
|
+
let highlighter$1 = getHighlighter();
|
|
1421
|
+
if ("then" in highlighter$1) highlighter$1 = await highlighter$1;
|
|
1415
1422
|
if (resolvedLanguages != null) attachResolvedLanguages(resolvedLanguages, highlighter$1);
|
|
1416
1423
|
const fileOptions = {
|
|
1417
1424
|
theme: renderOptions.theme,
|
|
@@ -1419,16 +1426,17 @@ function handleRenderFile({ id, file, resolvedLanguages }) {
|
|
|
1419
1426
|
};
|
|
1420
1427
|
sendFileSuccess(id, renderFileWithHighlighter(file, highlighter$1, fileOptions), fileOptions);
|
|
1421
1428
|
}
|
|
1422
|
-
function handleRenderDiff({ id, diff, resolvedLanguages }) {
|
|
1423
|
-
|
|
1429
|
+
async function handleRenderDiff({ id, diff, resolvedLanguages }) {
|
|
1430
|
+
let highlighter$1 = getHighlighter();
|
|
1431
|
+
if ("then" in highlighter$1) highlighter$1 = await highlighter$1;
|
|
1424
1432
|
if (resolvedLanguages != null) attachResolvedLanguages(resolvedLanguages, highlighter$1);
|
|
1425
1433
|
sendDiffSuccess(id, renderDiffWithHighlighter(diff, highlighter$1, renderOptions), renderOptions);
|
|
1426
1434
|
}
|
|
1427
|
-
function getHighlighter() {
|
|
1428
|
-
highlighter ??=
|
|
1435
|
+
function getHighlighter(preferredHighlighter = "shiki-js") {
|
|
1436
|
+
highlighter ??= createHighlighterCore({
|
|
1429
1437
|
themes: [],
|
|
1430
1438
|
langs: [],
|
|
1431
|
-
engine: createJavaScriptRegexEngine()
|
|
1439
|
+
engine: preferredHighlighter === "shiki-wasm" ? createOnigurumaEngine(import("shiki/wasm")) : createJavaScriptRegexEngine()
|
|
1432
1440
|
});
|
|
1433
1441
|
return highlighter;
|
|
1434
1442
|
}
|