@pierre/diffs 1.1.0-beta.9 → 1.1.1

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.
Files changed (219) hide show
  1. package/README.md +7 -18
  2. package/dist/components/AdvancedVirtualizedFileDiff.js +2 -7
  3. package/dist/components/AdvancedVirtualizedFileDiff.js.map +1 -1
  4. package/dist/components/AdvancedVirtualizer.js +1 -1
  5. package/dist/components/AdvancedVirtualizer.js.map +1 -1
  6. package/dist/components/File.d.ts +18 -8
  7. package/dist/components/File.d.ts.map +1 -1
  8. package/dist/components/File.js +111 -54
  9. package/dist/components/File.js.map +1 -1
  10. package/dist/components/FileDiff.d.ts +33 -15
  11. package/dist/components/FileDiff.d.ts.map +1 -1
  12. package/dist/components/FileDiff.js +156 -81
  13. package/dist/components/FileDiff.js.map +1 -1
  14. package/dist/components/UnresolvedFile.d.ts +60 -0
  15. package/dist/components/UnresolvedFile.d.ts.map +1 -0
  16. package/dist/components/UnresolvedFile.js +280 -0
  17. package/dist/components/UnresolvedFile.js.map +1 -0
  18. package/dist/components/VirtualizedFile.js +8 -5
  19. package/dist/components/VirtualizedFile.js.map +1 -1
  20. package/dist/components/VirtualizedFileDiff.d.ts +1 -1
  21. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  22. package/dist/components/VirtualizedFileDiff.js +15 -11
  23. package/dist/components/VirtualizedFileDiff.js.map +1 -1
  24. package/dist/components/Virtualizer.d.ts +3 -1
  25. package/dist/components/Virtualizer.d.ts.map +1 -1
  26. package/dist/components/Virtualizer.js +50 -24
  27. package/dist/components/Virtualizer.js.map +1 -1
  28. package/dist/constants.d.ts +3 -1
  29. package/dist/constants.d.ts.map +1 -1
  30. package/dist/constants.js +8 -1
  31. package/dist/constants.js.map +1 -1
  32. package/dist/highlighter/shared_highlighter.d.ts +4 -2
  33. package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
  34. package/dist/highlighter/shared_highlighter.js +15 -7
  35. package/dist/highlighter/shared_highlighter.js.map +1 -1
  36. package/dist/index.d.ts +9 -7
  37. package/dist/index.js +8 -6
  38. package/dist/managers/InteractionManager.d.ts +146 -0
  39. package/dist/managers/InteractionManager.d.ts.map +1 -0
  40. package/dist/managers/InteractionManager.js +813 -0
  41. package/dist/managers/InteractionManager.js.map +1 -0
  42. package/dist/managers/ResizeManager.d.ts +0 -2
  43. package/dist/managers/ResizeManager.d.ts.map +1 -1
  44. package/dist/managers/ResizeManager.js +43 -32
  45. package/dist/managers/ResizeManager.js.map +1 -1
  46. package/dist/react/File.d.ts +2 -0
  47. package/dist/react/File.d.ts.map +1 -1
  48. package/dist/react/File.js +5 -2
  49. package/dist/react/File.js.map +1 -1
  50. package/dist/react/FileDiff.d.ts +2 -0
  51. package/dist/react/FileDiff.d.ts.map +1 -1
  52. package/dist/react/FileDiff.js +5 -2
  53. package/dist/react/FileDiff.js.map +1 -1
  54. package/dist/react/MultiFileDiff.d.ts +2 -0
  55. package/dist/react/MultiFileDiff.d.ts.map +1 -1
  56. package/dist/react/MultiFileDiff.js +5 -2
  57. package/dist/react/MultiFileDiff.js.map +1 -1
  58. package/dist/react/PatchDiff.d.ts +2 -0
  59. package/dist/react/PatchDiff.d.ts.map +1 -1
  60. package/dist/react/PatchDiff.js +5 -2
  61. package/dist/react/PatchDiff.js.map +1 -1
  62. package/dist/react/UnresolvedFile.d.ts +36 -0
  63. package/dist/react/UnresolvedFile.d.ts.map +1 -0
  64. package/dist/react/UnresolvedFile.js +43 -0
  65. package/dist/react/UnresolvedFile.js.map +1 -0
  66. package/dist/react/constants.d.ts +4 -2
  67. package/dist/react/constants.d.ts.map +1 -1
  68. package/dist/react/constants.js +6 -2
  69. package/dist/react/constants.js.map +1 -1
  70. package/dist/react/index.d.ts +4 -3
  71. package/dist/react/index.js +3 -2
  72. package/dist/react/jsx.d.ts.map +1 -1
  73. package/dist/react/types.d.ts +11 -2
  74. package/dist/react/types.d.ts.map +1 -1
  75. package/dist/react/utils/renderDiffChildren.d.ts +16 -5
  76. package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  77. package/dist/react/utils/renderDiffChildren.js +34 -7
  78. package/dist/react/utils/renderDiffChildren.js.map +1 -1
  79. package/dist/react/utils/renderFileChildren.d.ts +5 -1
  80. package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  81. package/dist/react/utils/renderFileChildren.js +13 -7
  82. package/dist/react/utils/renderFileChildren.js.map +1 -1
  83. package/dist/react/utils/useFileDiffInstance.d.ts +4 -3
  84. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  85. package/dist/react/utils/useFileDiffInstance.js +16 -7
  86. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  87. package/dist/react/utils/useFileInstance.d.ts +4 -3
  88. package/dist/react/utils/useFileInstance.d.ts.map +1 -1
  89. package/dist/react/utils/useFileInstance.js +14 -5
  90. package/dist/react/utils/useFileInstance.js.map +1 -1
  91. package/dist/react/utils/useUnresolvedFileInstance.d.ts +35 -0
  92. package/dist/react/utils/useUnresolvedFileInstance.d.ts.map +1 -0
  93. package/dist/react/utils/useUnresolvedFileInstance.js +88 -0
  94. package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -0
  95. package/dist/renderers/DiffHunksRenderer.d.ts +50 -6
  96. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  97. package/dist/renderers/DiffHunksRenderer.js +145 -45
  98. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  99. package/dist/renderers/FileRenderer.js +1 -1
  100. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts +46 -0
  101. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -0
  102. package/dist/renderers/UnresolvedFileHunksRenderer.js +207 -0
  103. package/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -0
  104. package/dist/shiki-stream/stream.d.ts +1 -1
  105. package/dist/shiki-stream/stream.d.ts.map +1 -1
  106. package/dist/shiki-stream/stream.js.map +1 -1
  107. package/dist/shiki-stream/tokenizer.d.ts +1 -1
  108. package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
  109. package/dist/shiki-stream/tokenizer.js.map +1 -1
  110. package/dist/shiki-stream/types.d.ts +1 -1
  111. package/dist/shiki-stream/types.d.ts.map +1 -1
  112. package/dist/sprite.d.ts +2 -2
  113. package/dist/sprite.d.ts.map +1 -1
  114. package/dist/sprite.js +3 -0
  115. package/dist/sprite.js.map +1 -1
  116. package/dist/ssr/index.d.ts +3 -3
  117. package/dist/ssr/index.js +2 -2
  118. package/dist/ssr/preloadDiffs.d.ts +23 -14
  119. package/dist/ssr/preloadDiffs.d.ts.map +1 -1
  120. package/dist/ssr/preloadDiffs.js +40 -14
  121. package/dist/ssr/preloadDiffs.js.map +1 -1
  122. package/dist/style.js +1 -1
  123. package/dist/style.js.map +1 -1
  124. package/dist/types.d.ts +29 -2
  125. package/dist/types.d.ts.map +1 -1
  126. package/dist/utils/areMergeConflictActionsEqual.d.ts +7 -0
  127. package/dist/utils/areMergeConflictActionsEqual.d.ts.map +1 -0
  128. package/dist/utils/areMergeConflictActionsEqual.js +11 -0
  129. package/dist/utils/areMergeConflictActionsEqual.js.map +1 -0
  130. package/dist/utils/arePrePropertiesEqual.js +10 -1
  131. package/dist/utils/arePrePropertiesEqual.js.map +1 -1
  132. package/dist/utils/areSelectionPointsEqual.d.ts +7 -0
  133. package/dist/utils/areSelectionPointsEqual.d.ts.map +1 -0
  134. package/dist/utils/areSelectionPointsEqual.js +8 -0
  135. package/dist/utils/areSelectionPointsEqual.js.map +1 -0
  136. package/dist/utils/areSelectionsEqual.d.ts +1 -1
  137. package/dist/utils/areSelectionsEqual.d.ts.map +1 -1
  138. package/dist/utils/areSelectionsEqual.js.map +1 -1
  139. package/dist/utils/createFileHeaderElement.js +5 -2
  140. package/dist/utils/createFileHeaderElement.js.map +1 -1
  141. package/dist/utils/createGutterUtilityContentNode.d.ts +5 -0
  142. package/dist/utils/createGutterUtilityContentNode.d.ts.map +1 -0
  143. package/dist/utils/createGutterUtilityContentNode.js +15 -0
  144. package/dist/utils/createGutterUtilityContentNode.js.map +1 -0
  145. package/dist/utils/createGutterUtilityElement.d.ts +7 -0
  146. package/dist/utils/createGutterUtilityElement.d.ts.map +1 -0
  147. package/dist/utils/createGutterUtilityElement.js +20 -0
  148. package/dist/utils/createGutterUtilityElement.js.map +1 -0
  149. package/dist/utils/createPreElement.d.ts +2 -1
  150. package/dist/utils/createPreElement.d.ts.map +1 -1
  151. package/dist/utils/createPreElement.js +2 -1
  152. package/dist/utils/createPreElement.js.map +1 -1
  153. package/dist/utils/createSeparator.js +1 -1
  154. package/dist/utils/createSeparator.js.map +1 -1
  155. package/dist/utils/createWindowFromScrollPosition.js +12 -11
  156. package/dist/utils/createWindowFromScrollPosition.js.map +1 -1
  157. package/dist/utils/getHighlighterOptions.d.ts +7 -2
  158. package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
  159. package/dist/utils/getHighlighterOptions.js +3 -2
  160. package/dist/utils/getHighlighterOptions.js.map +1 -1
  161. package/dist/utils/getMergeConflictActionSlotName.d.ts +16 -0
  162. package/dist/utils/getMergeConflictActionSlotName.d.ts.map +1 -0
  163. package/dist/utils/getMergeConflictActionSlotName.js +8 -0
  164. package/dist/utils/getMergeConflictActionSlotName.js.map +1 -0
  165. package/dist/utils/getMergeConflictLineTypes.d.ts +15 -0
  166. package/dist/utils/getMergeConflictLineTypes.d.ts.map +1 -0
  167. package/dist/utils/getMergeConflictLineTypes.js +81 -0
  168. package/dist/utils/getMergeConflictLineTypes.js.map +1 -0
  169. package/dist/utils/getOrCreateCodeNode.d.ts +3 -1
  170. package/dist/utils/getOrCreateCodeNode.d.ts.map +1 -1
  171. package/dist/utils/getOrCreateCodeNode.js +5 -3
  172. package/dist/utils/getOrCreateCodeNode.js.map +1 -1
  173. package/dist/utils/hast_utils.d.ts +2 -2
  174. package/dist/utils/hast_utils.d.ts.map +1 -1
  175. package/dist/utils/hast_utils.js +3 -2
  176. package/dist/utils/hast_utils.js.map +1 -1
  177. package/dist/utils/parseMergeConflictDiffFromFile.d.ts +26 -0
  178. package/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -0
  179. package/dist/utils/parseMergeConflictDiffFromFile.js +143 -0
  180. package/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -0
  181. package/dist/utils/resolveMergeConflict.d.ts +7 -0
  182. package/dist/utils/resolveMergeConflict.d.ts.map +1 -0
  183. package/dist/utils/resolveMergeConflict.js +30 -0
  184. package/dist/utils/resolveMergeConflict.js.map +1 -0
  185. package/dist/utils/resolveVirtualFileMetrics.js +1 -0
  186. package/dist/utils/resolveVirtualFileMetrics.js.map +1 -1
  187. package/dist/utils/setWrapperNodeProps.d.ts +2 -1
  188. package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
  189. package/dist/utils/setWrapperNodeProps.js +5 -1
  190. package/dist/utils/setWrapperNodeProps.js.map +1 -1
  191. package/dist/worker/WorkerPoolManager.d.ts +4 -2
  192. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  193. package/dist/worker/WorkerPoolManager.js +16 -9
  194. package/dist/worker/WorkerPoolManager.js.map +1 -1
  195. package/dist/worker/types.d.ts +3 -1
  196. package/dist/worker/types.d.ts.map +1 -1
  197. package/dist/worker/wasm-BlUZCxHM.js +10 -0
  198. package/dist/worker/wasm-BlUZCxHM.js.map +1 -0
  199. package/dist/worker/worker-portable.js +10546 -10106
  200. package/dist/worker/worker-portable.js.map +1 -1
  201. package/dist/worker/worker.js +27 -19
  202. package/dist/worker/worker.js.map +1 -1
  203. package/package.json +3 -7
  204. package/dist/managers/LineSelectionManager.d.ts +0 -64
  205. package/dist/managers/LineSelectionManager.d.ts.map +0 -1
  206. package/dist/managers/LineSelectionManager.js +0 -270
  207. package/dist/managers/LineSelectionManager.js.map +0 -1
  208. package/dist/managers/MouseEventManager.d.ts +0 -71
  209. package/dist/managers/MouseEventManager.d.ts.map +0 -1
  210. package/dist/managers/MouseEventManager.js +0 -358
  211. package/dist/managers/MouseEventManager.js.map +0 -1
  212. package/dist/themes/pierre-dark.js +0 -1328
  213. package/dist/themes/pierre-dark.js.map +0 -1
  214. package/dist/themes/pierre-light.js +0 -1328
  215. package/dist/themes/pierre-light.js.map +0 -1
  216. package/dist/utils/createHoverContentNode.d.ts +0 -5
  217. package/dist/utils/createHoverContentNode.d.ts.map +0 -1
  218. package/dist/utils/createHoverContentNode.js +0 -15
  219. package/dist/utils/createHoverContentNode.js.map +0 -1
@@ -1,5 +1,6 @@
1
- import { createJavaScriptRegexEngine } from "@shikijs/engine-javascript";
2
- import { createHighlighterCoreSync } from "shiki/core";
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
- const request = event.data;
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
- const highlighter$1 = getHighlighter();
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
- attachResolvedThemes(resolvedThemes, getHighlighter());
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
- const highlighter$1 = getHighlighter();
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
- const highlighter$1 = getHighlighter();
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 ??= createHighlighterCoreSync({
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
  }