@pierre/diffs 1.6.0-beta.1 → 1.6.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.
- package/dist/components/CodeView.d.ts +3 -2
- package/dist/components/CodeView.d.ts.map +1 -1
- package/dist/components/CodeView.js +18 -14
- package/dist/components/CodeView.js.map +1 -1
- package/dist/components/File.d.ts +31 -9
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/File.js +165 -84
- package/dist/components/File.js.map +1 -1
- package/dist/components/FileDiff.d.ts +32 -9
- package/dist/components/FileDiff.d.ts.map +1 -1
- package/dist/components/FileDiff.js +213 -124
- package/dist/components/FileDiff.js.map +1 -1
- package/dist/components/UnresolvedFile.d.ts +14 -4
- package/dist/components/UnresolvedFile.d.ts.map +1 -1
- package/dist/components/UnresolvedFile.js +35 -16
- package/dist/components/UnresolvedFile.js.map +1 -1
- package/dist/components/VirtualizedFile.d.ts +3 -2
- package/dist/components/VirtualizedFile.d.ts.map +1 -1
- package/dist/components/VirtualizedFile.js +28 -20
- package/dist/components/VirtualizedFile.js.map +1 -1
- package/dist/components/VirtualizedFileDiff.d.ts +3 -2
- package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
- package/dist/components/VirtualizedFileDiff.js +31 -24
- package/dist/components/VirtualizedFileDiff.js.map +1 -1
- package/dist/constants.d.ts +2 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/editor/platform.d.ts +1 -1
- package/dist/editor/platform.js +5 -4
- package/dist/editor/platform.js.map +1 -1
- package/dist/editor/selection.d.ts +2 -2
- package/dist/editor/selection.d.ts.map +1 -1
- package/dist/editor/selection.js +31 -6
- package/dist/editor/selection.js.map +1 -1
- package/dist/highlighter/shared_highlighter.d.ts +2 -1
- package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
- package/dist/highlighter/shared_highlighter.js +2 -2
- package/dist/highlighter/shared_highlighter.js.map +1 -1
- package/dist/index.d.ts +10 -5
- package/dist/index.js +8 -3
- package/dist/react/CodeView.d.ts +4 -3
- package/dist/react/CodeView.d.ts.map +1 -1
- package/dist/react/CodeView.js +48 -39
- package/dist/react/CodeView.js.map +1 -1
- package/dist/react/File.js +3 -3
- package/dist/react/File.js.map +1 -1
- package/dist/react/FileDiff.js +3 -3
- package/dist/react/FileDiff.js.map +1 -1
- package/dist/react/MultiFileDiff.js +2 -2
- package/dist/react/MultiFileDiff.js.map +1 -1
- package/dist/react/PatchDiff.js +3 -3
- package/dist/react/PatchDiff.js.map +1 -1
- package/dist/react/UnresolvedFile.js +2 -2
- package/dist/react/UnresolvedFile.js.map +1 -1
- package/dist/react/index.d.ts +2 -2
- package/dist/react/types.d.ts +4 -2
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react/utils/renderDiffChildren.js +1 -1
- package/dist/react/utils/renderDiffChildren.js.map +1 -1
- package/dist/react/utils/renderFileChildren.js +1 -1
- package/dist/react/utils/renderFileChildren.js.map +1 -1
- package/dist/react/utils/useFileDiffInstance.d.ts +1 -0
- package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
- package/dist/react/utils/useFileDiffInstance.js +29 -24
- package/dist/react/utils/useFileDiffInstance.js.map +1 -1
- package/dist/react/utils/useFileInstance.d.ts +2 -0
- package/dist/react/utils/useFileInstance.d.ts.map +1 -1
- package/dist/react/utils/useFileInstance.js +38 -28
- package/dist/react/utils/useFileInstance.js.map +1 -1
- package/dist/react/utils/useForceUpdate.d.ts +5 -0
- package/dist/react/utils/useForceUpdate.d.ts.map +1 -0
- package/dist/react/utils/useForceUpdate.js +27 -0
- package/dist/react/utils/useForceUpdate.js.map +1 -0
- package/dist/react/utils/useNextRenderData.d.ts +9 -0
- package/dist/react/utils/useNextRenderData.d.ts.map +1 -0
- package/dist/react/utils/useNextRenderData.js +9 -0
- package/dist/react/utils/useNextRenderData.js.map +1 -0
- package/dist/react/utils/useUnresolvedFileInstance.d.ts +1 -0
- package/dist/react/utils/useUnresolvedFileInstance.d.ts.map +1 -1
- package/dist/react/utils/useUnresolvedFileInstance.js +26 -11
- package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
- package/dist/renderers/DiffHunksRenderer.d.ts +2 -1
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js +62 -32
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/renderers/FileRenderer.d.ts +4 -1
- package/dist/renderers/FileRenderer.d.ts.map +1 -1
- package/dist/renderers/FileRenderer.js +55 -30
- package/dist/renderers/FileRenderer.js.map +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.js +1 -1
- package/dist/renderers/UnresolvedFileHunksRenderer.js.map +1 -1
- package/dist/ssr/FileDiffReact.js +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/canUseWASM.d.ts +13 -0
- package/dist/utils/canUseWASM.d.ts.map +1 -0
- package/dist/utils/canUseWASM.js +59 -0
- package/dist/utils/canUseWASM.js.map +1 -0
- package/dist/utils/getCodeViewItemRenderData.d.ts +10 -0
- package/dist/utils/getCodeViewItemRenderData.d.ts.map +1 -0
- package/dist/utils/getCodeViewItemRenderData.js +19 -0
- package/dist/utils/getCodeViewItemRenderData.js.map +1 -0
- package/dist/utils/hastToHtml.d.ts +2 -2
- package/dist/utils/hastToHtml.js +2 -2
- package/dist/utils/hastToHtml.js.map +1 -1
- package/dist/utils/hydratePartialDiff.js +4 -0
- package/dist/utils/hydratePartialDiff.js.map +1 -1
- package/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
- package/dist/utils/parseMergeConflictDiffFromFile.js +2 -0
- package/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -1
- package/dist/utils/parsePatchFiles.d.ts.map +1 -1
- package/dist/utils/parsePatchFiles.js +24 -4
- package/dist/utils/parsePatchFiles.js.map +1 -1
- package/dist/utils/renderTokenLines.d.ts +6 -1
- package/dist/utils/renderTokenLines.d.ts.map +1 -1
- package/dist/utils/renderTokenLines.js +4 -0
- package/dist/utils/renderTokenLines.js.map +1 -1
- package/dist/utils/resolveRegion.js +20 -10
- package/dist/utils/resolveRegion.js.map +1 -1
- package/dist/utils/tokenStyle.d.ts +5 -1
- package/dist/utils/tokenStyle.d.ts.map +1 -1
- package/dist/utils/tokenStyle.js +5 -1
- package/dist/utils/tokenStyle.js.map +1 -1
- package/dist/utils/tokensToHtml.d.ts +5 -2
- package/dist/utils/tokensToHtml.d.ts.map +1 -1
- package/dist/utils/tokensToHtml.js +5 -2
- package/dist/utils/tokensToHtml.js.map +1 -1
- package/dist/utils/updateDiffHunks.d.ts +2 -2
- package/dist/utils/updateDiffHunks.d.ts.map +1 -1
- package/dist/utils/updateDiffHunks.js +7 -3
- package/dist/utils/updateDiffHunks.js.map +1 -1
- package/dist/worker/WorkerPoolManager.d.ts +12 -0
- package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
- package/dist/worker/WorkerPoolManager.js +99 -21
- package/dist/worker/WorkerPoolManager.js.map +1 -1
- package/dist/worker/{highlights-sAHlxqlf.js → highlights-CpZm9DAR.js} +2 -2
- package/dist/worker/{highlights-sAHlxqlf.js.map → highlights-CpZm9DAR.js.map} +1 -1
- package/dist/worker/{shiki-Bx2JpdqZ.js → shiki-Ci4cdHsM.js} +2 -2
- package/dist/worker/{shiki-Bx2JpdqZ.js.map → shiki-Ci4cdHsM.js.map} +1 -1
- package/dist/worker/{stream-tokenizer-YZ6M1qSx.js → stream-tokenizer-DK9xp5M5.js} +8 -5
- package/dist/worker/stream-tokenizer-DK9xp5M5.js.map +1 -0
- package/dist/worker/types.d.ts +11 -0
- package/dist/worker/types.d.ts.map +1 -1
- package/dist/worker/worker-portable.js +4 -4
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js +12 -3
- package/dist/worker/worker.js.map +1 -1
- package/package.json +28 -30
- package/dist/worker/stream-tokenizer-YZ6M1qSx.js.map +0 -1
|
@@ -225,8 +225,9 @@ declare class CodeView<LAnnotation = undefined, Caret = undefined> {
|
|
|
225
225
|
private workerManager;
|
|
226
226
|
private isReadySubscription;
|
|
227
227
|
private pendingHighlighterTheme;
|
|
228
|
-
|
|
229
|
-
|
|
228
|
+
readonly isComponentManaged: boolean;
|
|
229
|
+
private slotSnapshotStale;
|
|
230
|
+
constructor(options?: CodeViewOptions<LAnnotation, Caret>, workerManager?: WorkerPoolManager | undefined, isComponentManaged?: boolean);
|
|
230
231
|
private getLayout;
|
|
231
232
|
private getItemTopOffset;
|
|
232
233
|
private computeMetricsCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeView.d.ts","names":[],"sources":["../../src/components/CodeView.ts"],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"CodeView.d.ts","names":[],"sources":["../../src/components/CodeView.ts"],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import { areOptionsEqual } from "../utils/areOptionsEqual.js";
|
|
|
10
10
|
import { areSelectionsEqual } from "../utils/areSelectionsEqual.js";
|
|
11
11
|
import { createCodeViewHeaderFooterHostElement } from "../utils/createCodeViewHeaderFooterHostElement.js";
|
|
12
12
|
import { createWindowFromScrollPosition } from "../utils/createWindowFromScrollPosition.js";
|
|
13
|
+
import { getCodeViewItemRenderData } from "../utils/getCodeViewItemRenderData.js";
|
|
13
14
|
import { isStyleNode } from "../utils/isStyleNode.js";
|
|
14
15
|
import { isFirefox } from "../utils/platform.js";
|
|
15
16
|
import { prefersReducedMotion } from "../utils/prefersReducedMotion.js";
|
|
@@ -211,14 +212,15 @@ var CodeView = class CodeView {
|
|
|
211
212
|
workerManager;
|
|
212
213
|
isReadySubscription;
|
|
213
214
|
pendingHighlighterTheme;
|
|
214
|
-
|
|
215
|
-
|
|
215
|
+
isComponentManaged;
|
|
216
|
+
slotSnapshotStale = false;
|
|
217
|
+
constructor(options = { theme: DEFAULT_THEMES }, workerManager, isComponentManaged = false) {
|
|
216
218
|
this.options = options;
|
|
217
219
|
this.computeMetricsCache(options.itemMetrics);
|
|
218
220
|
this.fileOptionsPrototype = this.createFileOptionsPrototype();
|
|
219
221
|
this.diffOptionsPrototype = this.createDiffOptionsPrototype();
|
|
220
222
|
this.workerManager = workerManager;
|
|
221
|
-
this.
|
|
223
|
+
this.isComponentManaged = isComponentManaged;
|
|
222
224
|
this.stickyOffset.style.contain = "layout size";
|
|
223
225
|
this.stickyContainer.style.position = "sticky";
|
|
224
226
|
this.stickyContainer.style.width = "100%";
|
|
@@ -359,7 +361,7 @@ var CodeView = class CodeView {
|
|
|
359
361
|
host.element = element;
|
|
360
362
|
const content = render();
|
|
361
363
|
if (content != null) element.replaceChildren(content);
|
|
362
|
-
else if (!this.
|
|
364
|
+
else if (!this.isComponentManaged && element.children.length > 0) element.textContent = "";
|
|
363
365
|
host.render = render;
|
|
364
366
|
return true;
|
|
365
367
|
}
|
|
@@ -464,7 +466,7 @@ var CodeView = class CodeView {
|
|
|
464
466
|
this.scrollDirty = true;
|
|
465
467
|
this.heightDirty = true;
|
|
466
468
|
this.resetRenderState();
|
|
467
|
-
if (!this.
|
|
469
|
+
if (!this.isComponentManaged) this.flushSlotCoordinator();
|
|
468
470
|
if (failed) throw failure;
|
|
469
471
|
}
|
|
470
472
|
cleanUp() {
|
|
@@ -520,7 +522,7 @@ var CodeView = class CodeView {
|
|
|
520
522
|
getElementPoolLimit() {
|
|
521
523
|
const viewportSize = this.getHeight() + this.config.overscrollSize * 2;
|
|
522
524
|
const { diffHeaderHeight } = this.itemMetricsCache;
|
|
523
|
-
return Math.max(8, Math.ceil(viewportSize / Math.max(diffHeaderHeight, 10)) + 1) * (this.
|
|
525
|
+
return Math.max(8, Math.ceil(viewportSize / Math.max(diffHeaderHeight, 10)) + 1) * (this.isComponentManaged ? 2 : 1);
|
|
524
526
|
}
|
|
525
527
|
acquireElement() {
|
|
526
528
|
this.promotePendingPooledElements();
|
|
@@ -556,7 +558,7 @@ var CodeView = class CodeView {
|
|
|
556
558
|
if (shadowRoot != null) {
|
|
557
559
|
for (const child of Array.from(shadowRoot.children)) if (!isPooledShadowChild(child)) child.remove();
|
|
558
560
|
}
|
|
559
|
-
if (!this.
|
|
561
|
+
if (!this.isComponentManaged) element.replaceChildren();
|
|
560
562
|
}
|
|
561
563
|
queueElementForPool(element) {
|
|
562
564
|
const poolLimit = this.getElementPoolLimit();
|
|
@@ -775,7 +777,7 @@ var CodeView = class CodeView {
|
|
|
775
777
|
if (!areOptionsEqual(prevOptions, options)) this.renderOptionsRevision++;
|
|
776
778
|
this.syncItemEditors();
|
|
777
779
|
const headerFooterChanged = prevOptions.renderCodeViewHeader !== options.renderCodeViewHeader || prevOptions.renderCodeViewFooter !== options.renderCodeViewFooter;
|
|
778
|
-
if (!this.
|
|
780
|
+
if (!this.isComponentManaged && (this.items.length > 0 || headerFooterChanged)) this.render();
|
|
779
781
|
}
|
|
780
782
|
capturePendingLayoutAnchor(nextItems = this.idToItem) {
|
|
781
783
|
if (this.root == null || this.items.length === 0 || this.pendingScrollTarget != null) return;
|
|
@@ -842,6 +844,7 @@ var CodeView = class CodeView {
|
|
|
842
844
|
const item = this.instanceToItem.get(instance);
|
|
843
845
|
if (item == null) throw new Error("CodeView.instanceChanged: An instance has changed that is not registered");
|
|
844
846
|
if (layoutDirty) this.markItemLayoutDirty(item);
|
|
847
|
+
if (!this.itemEditors.has(item.item.id)) this.slotSnapshotStale = true;
|
|
845
848
|
this.render();
|
|
846
849
|
}
|
|
847
850
|
getWindowSpecs() {
|
|
@@ -921,7 +924,7 @@ var CodeView = class CodeView {
|
|
|
921
924
|
createItem(input, index, top) {
|
|
922
925
|
const { itemMetricsCache: itemMetrics } = this;
|
|
923
926
|
if (input.type === "diff") {
|
|
924
|
-
const instance = new VirtualizedFileDiff(this.createDiffOptions(input.id), this, itemMetrics, this.workerManager
|
|
927
|
+
const instance = new VirtualizedFileDiff(this.createDiffOptions(input.id), this, itemMetrics, this.workerManager);
|
|
925
928
|
return {
|
|
926
929
|
type: "diff",
|
|
927
930
|
item: input,
|
|
@@ -934,7 +937,7 @@ var CodeView = class CodeView {
|
|
|
934
937
|
instance
|
|
935
938
|
};
|
|
936
939
|
}
|
|
937
|
-
const instance = new VirtualizedFile(this.createFileOptions(input.id), this, itemMetrics, this.workerManager
|
|
940
|
+
const instance = new VirtualizedFile(this.createFileOptions(input.id), this, itemMetrics, this.workerManager);
|
|
938
941
|
return {
|
|
939
942
|
type: "file",
|
|
940
943
|
item: input,
|
|
@@ -1996,7 +1999,8 @@ var CodeView = class CodeView {
|
|
|
1996
1999
|
flushSlotCoordinator() {
|
|
1997
2000
|
if (this.slotCoordinator == null) return;
|
|
1998
2001
|
const slotSnapshot = this.buildSlotSnapshot(this.slotCoordinator);
|
|
1999
|
-
if (areManagedSnapshotsEqual(this.slotSnapshot, slotSnapshot)) return;
|
|
2002
|
+
if (!this.slotSnapshotStale && areManagedSnapshotsEqual(this.slotSnapshot, slotSnapshot)) return;
|
|
2003
|
+
this.slotSnapshotStale = false;
|
|
2000
2004
|
this.slotSnapshot = slotSnapshot;
|
|
2001
2005
|
this.slotCoordinator.onSnapshotChange(slotSnapshot);
|
|
2002
2006
|
}
|
|
@@ -2143,15 +2147,15 @@ function syncRenderedItemOrder(container, element, prevElement) {
|
|
|
2143
2147
|
}
|
|
2144
2148
|
if (prevElement.nextSibling !== element) prevElement.after(element);
|
|
2145
2149
|
}
|
|
2146
|
-
function hasAnnotations(
|
|
2147
|
-
return (item.annotations?.length ?? 0) > 0;
|
|
2150
|
+
function hasAnnotations(renderedItem) {
|
|
2151
|
+
return (renderedItem.item.annotations?.length ?? 0) > 0 || getCodeViewItemRenderData(renderedItem).lineAnnotations.length > 0;
|
|
2148
2152
|
}
|
|
2149
2153
|
function getSlotItems(renderedItems, { hasHeaderRenderers, hasAnnotationRenderer, hasGutterRenderer }) {
|
|
2150
2154
|
if (renderedItems.length === 0) return;
|
|
2151
2155
|
if (hasHeaderRenderers || hasGutterRenderer) return renderedItems;
|
|
2152
2156
|
if (!hasAnnotationRenderer) return;
|
|
2153
2157
|
const slotSnapshot = [];
|
|
2154
|
-
for (const renderedItem of renderedItems) if (hasAnnotations(renderedItem
|
|
2158
|
+
for (const renderedItem of renderedItems) if (hasAnnotations(renderedItem)) slotSnapshot.push(renderedItem);
|
|
2155
2159
|
return slotSnapshot.length > 0 ? slotSnapshot : void 0;
|
|
2156
2160
|
}
|
|
2157
2161
|
//#endregion
|