Unified · Split
| @@ -7,7 +7,7 @@ import type { · 6 unmodified lines | ||
| 7 | 7 | import { isWorkspaceImagePreviewPath } from "@t3tools/shared/filePreview"; |
| 8 | 8 | import { VirtualizedFile, type SelectedLineRange } from "@pierre/diffs"; |
| 9 | 9 | import { Editor } from "@pierre/diffs/editor"; |
| 10 | −import { EditorProvider, File, type FileOptions, Virtualizer } from "@pierre/diffs/react"; | |
| 10 | +import { EditProvider, File, type FileOptions, Virtualizer } from "@pierre/diffs/react"; | |
| 11 | 11 | import { |
| 12 | 12 | isAtomCommandInterrupted, |
| 13 | 13 | squashAtomCommandFailure, |
| @@ -52,7 +52,7 @@ import { · 38 unmodified lines | ||
| 52 | 52 | } from "./fileCommentAnnotations"; |
| 53 | 53 | import { installFileEditorDismissal } from "./fileEditorDismissal"; |
| 54 | 54 | import { LocalCommentAnnotation } from "./LocalCommentAnnotation"; |
| 55 | −import { projectFileCacheKey } from "./fileContentRevision"; | |
| 55 | +import { projectFileCacheKey, projectFileEditorCacheKey } from "./fileContentRevision"; | |
| 56 | 56 | import { fileBreadcrumbs } from "./filePath"; |
| 57 | 57 | import { isMarkdownPreviewFile, setMarkdownTaskChecked } from "./filePreviewMode"; |
| 58 | 58 | import { FileSaveCoordinator } from "./fileSaveCoordinator"; |
| @@ -364,6 +364,8 @@ function EditableFileSurface({ · 305 unmodified lines | ||
| 364 | 364 | const editor = useMemo( |
| 365 | 365 | () => |
| 366 | 366 | new Editor<FileCommentAnnotationGroup>({ |
| 367 | + persistState: true, | |
| 368 | + persistStateStorage: "inMemory", | |
| 367 | 369 | onChange: (file, nextLineAnnotations) => { |
| 368 | 370 | setProjectFileQueryData(environmentId, cwd, relativePath, file.contents); |
| 369 | 371 | saveCoordinator.change(file.contents); |
| @@ -536,7 +538,7 @@ function EditableFileSurface({ · 166 unmodified lines | ||
| 536 | 538 | ); |
| 537 | 539 | |
| 538 | 540 | return ( |
| 539 | − <EditorProvider editor={editor}> | |
| 541 | + <EditProvider editor={editor}> | |
| 540 | 542 | <div ref={surfaceRef} className="flex min-h-0 flex-1"> |
| 541 | 543 | <Virtualizer |
| 542 | 544 | className="file-preview-virtualizer min-h-0 flex-1 overflow-auto" |
| @@ -549,7 +551,13 @@ function EditableFileSurface({ · 6 unmodified lines | ||
| 549 | 551 | file={{ |
| 550 | 552 | name: relativePath, |
| 551 | 553 | contents, |
| 552 | − cacheKey: projectFileCacheKey(cwd, relativePath, contents), | |
| 554 | + cacheKey: projectFileEditorCacheKey( | |
| 555 | + environmentId, | |
| 556 | + cwd, | |
| 557 | + relativePath, | |
| 558 | + contents, | |
| 559 | + editor.getFile(), | |
| 560 | + ), | |
| 553 | 561 | }} |
| 554 | 562 | options={{ |
| 555 | 563 | disableFileHeader: true, |
| @@ -586,7 +594,7 @@ function EditableFileSurface({ · 30 unmodified lines | ||
| 586 | 594 | /> |
| 587 | 595 | </Virtualizer> |
| 588 | 596 | </div> |
| 589 | − </EditorProvider> | |
| 597 | + </EditProvider> | |
| 590 | 598 | ); |
| 591 | 599 | } |
| 592 | 600 | |
| @@ -1,6 +1,10 @@ | ||
| 1 | 1 | import { describe, expect, it } from "vite-plus/test"; |
| 2 | 2 | |
| 3 | −import { fileContentRevision, projectFileCacheKey } from "./fileContentRevision"; | |
| 3 | +import { | |
| 4 | + fileContentRevision, | |
| 5 | + projectFileCacheKey, | |
| 6 | + projectFileEditorCacheKey, | |
| 7 | +} from "./fileContentRevision"; | |
| 4 | 8 | |
| 5 | 9 | describe("fileContentRevision", () => { |
| 6 | 10 | it("changes for same-length edits", () => { |
| @@ -12,4 +16,27 @@ describe("fileContentRevision", () => { · 5 unmodified lines | ||
| 12 | 16 | projectFileCacheKey("/repo", "file.json", "contents"), |
| 13 | 17 | ); |
| 14 | 18 | }); |
| 19 | + | |
| 20 | + it("keeps editor identity stable for locally edited contents", () => { | |
| 21 | + const cacheKey = projectFileEditorCacheKey("local", "/repo", "file.json", "after", undefined); | |
| 22 | + | |
| 23 | + expect( | |
| 24 | + projectFileEditorCacheKey("local", "/repo", "file.json", "after edit", { | |
| 25 | + cacheKey, | |
| 26 | + contents: "after edit", | |
| 27 | + }), | |
| 28 | + ).toBe(cacheKey); | |
| 29 | + }); | |
| 30 | + | |
| 31 | + it("rotates editor identity for external contents and environments", () => { | |
| 32 | + const cacheKey = projectFileEditorCacheKey("local", "/repo", "file.json", "before", undefined); | |
| 33 | + const editorFile = { cacheKey, contents: "before" }; | |
| 34 | + | |
| 35 | + expect( | |
| 36 | + projectFileEditorCacheKey("local", "/repo", "file.json", "external edit", editorFile), | |
| 37 | + ).not.toBe(cacheKey); | |
| 38 | + expect(projectFileEditorCacheKey("remote", "/repo", "file.json", "before", undefined)).not.toBe( | |
| 39 | + cacheKey, | |
| 40 | + ); | |
| 41 | + }); | |
| 15 | 42 | }); |
| @@ -10,3 +10,21 @@ export function fileContentRevision(contents: string): string { · 9 unmodified lines | ||
| 10 | 10 | export function projectFileCacheKey(cwd: string, relativePath: string, contents: string): string { |
| 11 | 11 | return `${cwd}:${relativePath}:${fileContentRevision(contents)}`; |
| 12 | 12 | } |
| 13 | + | |
| 14 | +interface EditorFileIdentity { | |
| 15 | + readonly cacheKey?: string; | |
| 16 | + readonly contents: string; | |
| 17 | +} | |
| 18 | + | |
| 19 | +export function projectFileEditorCacheKey( | |
| 20 | + environmentId: string, | |
| 21 | + cwd: string, | |
| 22 | + relativePath: string, | |
| 23 | + contents: string, | |
| 24 | + editorFile: EditorFileIdentity | undefined, | |
| 25 | +): string { | |
| 26 | + if (editorFile?.contents === contents && editorFile.cacheKey) { | |
| 27 | + return editorFile.cacheKey; | |
| 28 | + } | |
| 29 | + return `editor:${environmentId}:${projectFileCacheKey(cwd, relativePath, contents)}`; | |
| 30 | +} | |
| @@ -1,38 +1,54 @@ | ||
| 1 | 1 | diff --git a/dist/editor/editor.js b/dist/editor/editor.js |
| 2 | −index e8013fc6eb6f243a6c912facf3fc0319ac66a8d0..80c82df4cdeb828bd331f5ec2f443d216bedc304 100644 | |
| 2 | +index ff78e2a..f9df318 100644 | |
| 3 | 3 | --- a/dist/editor/editor.js |
| 4 | 4 | +++ b/dist/editor/editor.js |
| 5 | −@@ -77,15 +77,12 @@ var Editor = class { | |
| 6 | − this.#options = options; | |
| 7 | − } | |
| 8 | − edit(component) { | |
| 9 | −- const { useTokenTransformer, enableGutterUtility, enableLineSelection, expandUnchanged, diffStyle, lineHoverHighlight,...rest } = component.options; | |
| 10 | −+ const { useTokenTransformer, expandUnchanged, diffStyle,...rest } = component.options; | |
| 11 | − const isDiff = component.type === "file-diff"; | |
| 12 | −- if (useTokenTransformer !== true || enableGutterUtility === true || enableLineSelection === true || lineHoverHighlight !== "disabled" || expandUnchanged !== true && isDiff || diffStyle === "unified" && isDiff) { | |
| 13 | −+ if (useTokenTransformer !== true || expandUnchanged !== true && isDiff || diffStyle === "unified" && isDiff) { | |
| 14 | − component.setOptions({ | |
| 5 | +@@ -146,14 +146,11 @@ var Editor = class { | |
| 6 | + const file = fileInstance.__getCurrentFile?.(); | |
| 7 | + if (file !== void 0) requirePersistedCacheKey(file); | |
| 8 | + } | |
| 9 | +- const { useTokenTransformer, enableGutterUtility, enableLineSelection, lineHoverHighlight = "disabled", ...rest } = fileInstance.options; | |
| 10 | +- if (useTokenTransformer !== true || enableGutterUtility === true || enableLineSelection === true || lineHoverHighlight !== "disabled") { | |
| 11 | ++ const { useTokenTransformer, ...rest } = fileInstance.options; | |
| 12 | ++ if (useTokenTransformer !== true) { | |
| 13 | + fileInstance.setOptions({ | |
| 15 | 14 | ...rest, |
| 16 | − useTokenTransformer: true, | |
| 15 | +- useTokenTransformer: true, | |
| 17 | 16 | - enableGutterUtility: false, |
| 18 | 17 | - enableLineSelection: false, |
| 19 | −- lineHoverHighlight: "disabled", | |
| 20 | − expandUnchanged: true, | |
| 21 | − diffStyle: "split" | |
| 18 | +- lineHoverHighlight: "disabled" | |
| 19 | ++ useTokenTransformer: true | |
| 22 | 20 | }); |
| 23 | −@@ -511,6 +508,7 @@ var Editor = class { | |
| 21 | + fileInstance.rerender(); | |
| 22 | + } | |
| 23 | +@@ -908,6 +905,7 @@ var Editor = class { | |
| 24 | 24 | return lineNumber - 1; |
| 25 | 25 | }; |
| 26 | 26 | this.#editorEventDisposes.push(addEventListener(gutterEl, "pointerdown", (e) => { |
| 27 | 27 | + if (this.#fileInstance?.options.enableLineSelection === true) return; |
| 28 | − const textDocument = this.#textDocument; | |
| 29 | − const lineIndex = resolveEditableLine(resolveGutterTarget(e.composedPath()[0])); | |
| 30 | − if (lineIndex === void 0 || textDocument === void 0) return; | |
| 28 | + const gutterRow = resolveGutterTarget(e.composedPath()[0]); | |
| 29 | + if (gutterRow?.dataset.lineType === "change-deletion") { | |
| 30 | + const code = gutterRow.closest("[data-code]"); | |
| 31 | +@@ -1522,6 +1520,7 @@ var Editor = class { | |
| 32 | + if (gutterEl !== void 0) gutterEl.style.gridRow = "span " + gridRow; | |
| 33 | + } | |
| 34 | + fileInstance.updateRenderCache(dirtyLines, tokenizer.themeType, !didLineCountChange, didLineCountChange); | |
| 35 | ++ if (fileInstance.file !== void 0) fileInstance.file.contents = textDocument.getText(); | |
| 36 | + if (didLineCountChange) fileInstance.applyDocumentChange(textDocument, newLineAnnotations, shouldUpdateBuffer); | |
| 37 | + if (this.#isDiff && (this.#diffSyle === "unified" || didLineCountChange)) this.#resetCache(); | |
| 38 | + if (newLineAnnotations !== void 0) { | |
| 39 | +@@ -1788,6 +1787,7 @@ var Editor = class { | |
| 40 | + } | |
| 41 | + } | |
| 42 | + #setSelectedLinesSafe(range, lineNumberOnly = false) { | |
| 43 | ++ if (this.#fileInstance?.options.controlledSelection === true) return; | |
| 44 | + try { | |
| 45 | + this.#fileInstance?.setSelectedLines(range, { | |
| 46 | + notify: false, | |
| 31 | 47 | diff --git a/dist/react/utils/useFileInstance.js b/dist/react/utils/useFileInstance.js |
| 32 | −index cb8e2026fb5d7a19f489c0a2402efbcb7dff3322..510fad6364d4a2214c7dd65fe2b114f1cce0c815 100644 | |
| 48 | +index e9f62f5..af82a46 100644 | |
| 33 | 49 | --- a/dist/react/utils/useFileInstance.js |
| 34 | 50 | +++ b/dist/react/utils/useFileInstance.js |
| 35 | −@@ -92,10 +92,7 @@ function mergeFileOptions({ options, controlledSelection, contentEditable, hasCu | |
| 51 | +@@ -91,10 +91,7 @@ function mergeFileOptions({ options, controlledSelection, contentEditable, hasCu | |
| 36 | 52 | }; |
| 37 | 53 | if (needsEditorOptions) merged = { |
| 38 | 54 | ...merged, |
| @@ -45,7 +61,7 @@ index cb8e2026fb5d7a19f489c0a2402efbcb7dff3322..510fad6364d4a2214c7dd65fe2b114f1 · 6 unmodified lines | ||
| 45 | 61 | return merged; |
| 46 | 62 | } |
| 47 | 63 | diff --git a/package.json b/package.json |
| 48 | −index d1558633de87044b7aa96cff09443db11f163cec..c0b16f0a0bec6fba2026f24f38b2c0a8fa06af7c 100644 | |
| 64 | +index ff61c90..1e170e5 100644 | |
| 49 | 65 | --- a/package.json |
| 50 | 66 | +++ b/package.json |
| 51 | 67 | @@ -55,6 +55,18 @@ |
| @@ -19,8 +19,8 @@ catalogs: · 18 unmodified lines | ||
| 19 | 19 | specifier: 1.8.0 |
| 20 | 20 | version: 1.8.0 |
| 21 | 21 | '@pierre/diffs': |
| 22 | − specifier: 1.3.0-beta.5 | |
| 23 | − version: 1.3.0-beta.5 | |
| 22 | + specifier: 1.3.0-beta.10 | |
| 23 | + version: 1.3.0-beta.10 | |
| 24 | 24 | '@typescript/native-preview': |
| 25 | 25 | specifier: 7.0.0-dev.20260604.1 |
| 26 | 26 | version: 7.0.0-dev.20260604.1 |
| @@ -75,7 +75,7 @@ patchedDependencies: · 48 unmodified lines | ||
| 75 | 75 | '@expo/metro-config@56.0.14': 8cb08b5bb7051ed9d2dbe46a2c293c5a1e17f1bd6ddf30de27909e18c921ff46 |
| 76 | 76 | '@ff-labs/fff-node@0.9.4': 2b16019ce7ab61aec6478dd02f79ef468cc1d5c51e9d00764f7d2ab8167210c8 |
| 77 | 77 | '@legendapp/list@3.2.0': 9203ec3db86574a31e157a265cefd8997b259cc420a0c4c61c580c80ed8cf78d |
| 78 | − '@pierre/diffs@1.3.0-beta.5': 7cb6da88544119adda056b2f46f43956f99326227732da0b345081e285a6c53a | |
| 78 | + '@pierre/diffs@1.3.0-beta.10': 7ef7cb0cbabb17c15cdb137554068b36f15f6f5265e73fb51452aa3380db91aa | |
| 79 | 79 | '@react-native-menu/menu@2.0.0': 5ea3ae4bf1d9baf5443b65c269bb09621c27a68d556f713778f37b1e8d46aaae |
| 80 | 80 | '@react-navigation/native-stack@7.17.6': c7fc101b78d434904425e5a24c22fb0042298dec6f807250486e784f3c717273 |
| 81 | 81 | effect@4.0.0-beta.102: 71215759e1ac0a7f65d7b75d816986687ae6c3a6cba02d928d184ca71790d488 |
| @@ -222,7 +222,7 @@ importers: · 140 unmodified lines | ||
| 222 | 222 | version: 1.8.0 |
| 223 | 223 | '@pierre/diffs': |
| 224 | 224 | specifier: 'catalog:' |
| 225 | − version: 1.3.0-beta.5(patch_hash=7cb6da88544119adda056b2f46f43956f99326227732da0b345081e285a6c53a)(@shikijs/themes@4.2.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) | |
| 225 | + version: 1.3.0-beta.10(patch_hash=7ef7cb0cbabb17c15cdb137554068b36f15f6f5265e73fb51452aa3380db91aa)(@shikijs/themes@4.2.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) | |
| 226 | 226 | '@react-native-menu/menu': |
| 227 | 227 | specifier: ^2.0.0 |
| 228 | 228 | version: 2.0.0(patch_hash=5ea3ae4bf1d9baf5443b65c269bb09621c27a68d556f713778f37b1e8d46aaae)(react-native@0.85.3(@babel/core@7.29.7)(@react-native/metro-config@0.85.3(@babel/core@7.29.7)(bufferutil@4.1.0)(utf-8-validate@6.0.6))(@types/react@19.2.16)(bufferutil@4.1.0)(react@19.2.3)(utf-8-validate@6.0.6))(react@19.2.3) |
| @@ -466,7 +466,7 @@ importers: · 237 unmodified lines | ||
| 466 | 466 | version: 1.15.13 |
| 467 | 467 | '@pierre/diffs': |
| 468 | 468 | specifier: 'catalog:' |
| 469 | − version: 1.3.0-beta.5(patch_hash=7cb6da88544119adda056b2f46f43956f99326227732da0b345081e285a6c53a)(@shikijs/themes@4.3.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) | |
| 469 | + version: 1.3.0-beta.10(patch_hash=7ef7cb0cbabb17c15cdb137554068b36f15f6f5265e73fb51452aa3380db91aa)(@shikijs/themes@4.3.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) | |
| 470 | 470 | effect: |
| 471 | 471 | specifier: 4.0.0-beta.102 |
| 472 | 472 | version: 4.0.0-beta.102(patch_hash=71215759e1ac0a7f65d7b75d816986687ae6c3a6cba02d928d184ca71790d488) |
| @@ -551,7 +551,7 @@ importers: · 78 unmodified lines | ||
| 551 | 551 | version: 0.41.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(yjs@13.6.31) |
| 552 | 552 | '@pierre/diffs': |
| 553 | 553 | specifier: 'catalog:' |
| 554 | − version: 1.3.0-beta.5(patch_hash=7cb6da88544119adda056b2f46f43956f99326227732da0b345081e285a6c53a)(@shikijs/themes@4.3.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) | |
| 554 | + version: 1.3.0-beta.10(patch_hash=7ef7cb0cbabb17c15cdb137554068b36f15f6f5265e73fb51452aa3380db91aa)(@shikijs/themes@4.3.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) | |
| 555 | 555 | '@pierre/trees': |
| 556 | 556 | specifier: 1.0.0-beta.4 |
| 557 | 557 | version: 1.0.0-beta.4(react-dom@19.2.6(react@19.2.6))(react@19.2.6) |
| @@ -3584,20 +3584,20 @@ packages: · 3026 unmodified lines | ||
| 3584 | 3584 | resolution: {integrity: sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ==} |
| 3585 | 3585 | engines: {node: '>=14.18.0'} |
| 3586 | 3586 | |
| 3587 | − '@pierre/diffs@1.3.0-beta.5': | |
| 3588 | − resolution: {integrity: sha512-d7449IY6Phcg9LCRLbPxhsxn6Bv4KoaP/vPyZtGu2uR1SFsSJPQcRoPf8lzyobNGKD0GZGuhgHW5LrOlilFo7w==} | |
| 3587 | + '@pierre/diffs@1.3.0-beta.10': | |
| 3588 | + resolution: {integrity: sha512-efyFM9GRfI6WkmHJP0CnZBopuM8yCwGqIKbZHoe1D5PV15VDkr7Vpi8EZt40AYrN1km//utQtYhHDSwt2KwjSg==} | |
| 3589 | 3589 | peerDependencies: |
| 3590 | 3590 | react: ^18.3.1 || ^19.0.0 |
| 3591 | 3591 | react-dom: ^18.3.1 || ^19.0.0 |
| 3592 | 3592 | |
| 3593 | − '@pierre/theme@1.0.3': | |
| 3594 | − resolution: {integrity: sha512-sWHv11TMoqKxKDgTIk5VbhQjdPhs8DCcBxbjh3mRlS3YOM/OcrWoGX6MM8eBGn9cUu3M46Py0JnxsG2nJaFTuA==} | |
| 3593 | + '@pierre/theme@1.1.0': | |
| 3594 | + resolution: {integrity: sha512-GC2OWTAfTIIWWYhPCygwG8t2EtePQkRfON4MI2rwIkJylmiyqIttJID2dCL8sUD8cNdEvYkEyfEHHKMeCiDLoQ==} | |
| 3595 | 3595 | engines: {vscode: ^1.0.0} |
| 3596 | 3596 | |
| 3597 | − '@pierre/theming@0.0.1': | |
| 3598 | − resolution: {integrity: sha512-1thlEtJbqdyLzc1ZS2KQa1q7FzDGHT4dTEdKHoyQjOMeWWOmbVG5/ndEfOKfAb5Fzkz8cNJrOjFLiZoDH/A03A==} | |
| 3597 | + '@pierre/theming@0.0.2': | |
| 3598 | + resolution: {integrity: sha512-QM1M4stXfnzfaE8I8YbjXSApV8c+2dBsXJj8eYg9WTpBR/cTmCZIcfGnN4p13iRrYu2Br/R/OJfEL7uR8Qjctw==} | |
| 3599 | 3599 | peerDependencies: |
| 3600 | − '@pierre/theme': ^1.0.0 | |
| 3600 | + '@pierre/theme': ^1.1.0 | |
| 3601 | 3601 | '@shikijs/themes': ^3.0.0 || ^4.0.0 |
| 3602 | 3602 | react: ^18.3.1 || ^19.0.0 |
| 3603 | 3603 | react-dom: ^18.3.1 || ^19.0.0 |
| @@ -6104,6 +6104,10 @@ packages: · 2500 unmodified lines | ||
| 6104 | 6104 | resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} |
| 6105 | 6105 | engines: {node: '>=0.3.1'} |
| 6106 | 6106 | |
| 6107 | + diff@9.0.0: | |
| 6108 | + resolution: {integrity: sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==} | |
| 6109 | + engines: {node: '>=0.3.1'} | |
| 6110 | + | |
| 6107 | 6111 | dir-compare@4.2.0: |
| 6108 | 6112 | resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==} |
| 6109 | 6113 | |
| @@ -13569,12 +13573,12 @@ snapshots: · 7459 unmodified lines | ||
| 13569 | 13573 | tslib: 2.8.1 |
| 13570 | 13574 | webcrypto-core: 1.9.2 |
| 13571 | 13575 | |
| 13572 | − '@pierre/diffs@1.3.0-beta.5(patch_hash=7cb6da88544119adda056b2f46f43956f99326227732da0b345081e285a6c53a)(@shikijs/themes@4.2.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': | |
| 13576 | + '@pierre/diffs@1.3.0-beta.10(patch_hash=7ef7cb0cbabb17c15cdb137554068b36f15f6f5265e73fb51452aa3380db91aa)(@shikijs/themes@4.2.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)': | |
| 13573 | 13577 | dependencies: |
| 13574 | − '@pierre/theme': 1.0.3 | |
| 13575 | − '@pierre/theming': 0.0.1(@pierre/theme@1.0.3)(@shikijs/themes@4.2.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(shiki@4.2.0) | |
| 13578 | + '@pierre/theme': 1.1.0 | |
| 13579 | + '@pierre/theming': 0.0.2(@pierre/theme@1.1.0)(@shikijs/themes@4.2.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(shiki@4.2.0) | |
| 13576 | 13580 | '@shikijs/transformers': 4.2.0 |
| 13577 | − diff: 8.0.3 | |
| 13581 | + diff: 9.0.0 | |
| 13578 | 13582 | hast-util-to-html: 9.0.5 |
| 13579 | 13583 | lru_map: 0.4.1 |
| 13580 | 13584 | react: 19.2.3 |
| @@ -13583,12 +13587,12 @@ snapshots: · 2 unmodified lines | ||
| 13583 | 13587 | transitivePeerDependencies: |
| 13584 | 13588 | - '@shikijs/themes' |
| 13585 | 13589 | |
| 13586 | − '@pierre/diffs@1.3.0-beta.5(patch_hash=7cb6da88544119adda056b2f46f43956f99326227732da0b345081e285a6c53a)(@shikijs/themes@4.3.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': | |
| 13590 | + '@pierre/diffs@1.3.0-beta.10(patch_hash=7ef7cb0cbabb17c15cdb137554068b36f15f6f5265e73fb51452aa3380db91aa)(@shikijs/themes@4.3.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)': | |
| 13587 | 13591 | dependencies: |
| 13588 | − '@pierre/theme': 1.0.3 | |
| 13589 | − '@pierre/theming': 0.0.1(@pierre/theme@1.0.3)(@shikijs/themes@4.3.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(shiki@4.2.0) | |
| 13592 | + '@pierre/theme': 1.1.0 | |
| 13593 | + '@pierre/theming': 0.0.2(@pierre/theme@1.1.0)(@shikijs/themes@4.3.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(shiki@4.2.0) | |
| 13590 | 13594 | '@shikijs/transformers': 4.2.0 |
| 13591 | − diff: 8.0.3 | |
| 13595 | + diff: 9.0.0 | |
| 13592 | 13596 | hast-util-to-html: 9.0.5 |
| 13593 | 13597 | lru_map: 0.4.1 |
| 13594 | 13598 | react: 19.2.6 |
| @@ -13597,19 +13601,19 @@ snapshots: · 2 unmodified lines | ||
| 13597 | 13601 | transitivePeerDependencies: |
| 13598 | 13602 | - '@shikijs/themes' |
| 13599 | 13603 | |
| 13600 | − '@pierre/theme@1.0.3': {} | |
| 13604 | + '@pierre/theme@1.1.0': {} | |
| 13601 | 13605 | |
| 13602 | − '@pierre/theming@0.0.1(@pierre/theme@1.0.3)(@shikijs/themes@4.2.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(shiki@4.2.0)': | |
| 13606 | + '@pierre/theming@0.0.2(@pierre/theme@1.1.0)(@shikijs/themes@4.2.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(shiki@4.2.0)': | |
| 13603 | 13607 | optionalDependencies: |
| 13604 | − '@pierre/theme': 1.0.3 | |
| 13608 | + '@pierre/theme': 1.1.0 | |
| 13605 | 13609 | '@shikijs/themes': 4.2.0 |
| 13606 | 13610 | react: 19.2.3 |
| 13607 | 13611 | react-dom: 19.2.3(react@19.2.3) |
| 13608 | 13612 | shiki: 4.2.0 |
| 13609 | 13613 | |
| 13610 | − '@pierre/theming@0.0.1(@pierre/theme@1.0.3)(@shikijs/themes@4.3.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(shiki@4.2.0)': | |
| 13614 | + '@pierre/theming@0.0.2(@pierre/theme@1.1.0)(@shikijs/themes@4.3.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(shiki@4.2.0)': | |
| 13611 | 13615 | optionalDependencies: |
| 13612 | − '@pierre/theme': 1.0.3 | |
| 13616 | + '@pierre/theme': 1.1.0 | |
| 13613 | 13617 | '@shikijs/themes': 4.3.0 |
| 13614 | 13618 | react: 19.2.6 |
| 13615 | 13619 | react-dom: 19.2.6(react@19.2.6) |
| @@ -16379,6 +16383,8 @@ snapshots: · 2763 unmodified lines | ||
| 16379 | 16383 | |
| 16380 | 16384 | diff@8.0.3: {} |
| 16381 | 16385 | |
| 16386 | + diff@9.0.0: {} | |
| 16387 | + | |
| 16382 | 16388 | dir-compare@4.2.0: |
| 16383 | 16389 | dependencies: |
| 16384 | 16390 | minimatch: 3.1.5 |
| @@ -41,7 +41,7 @@ catalog: · 40 unmodified lines | ||
| 41 | 41 | "@effect/vitest": 4.0.0-beta.102 |
| 42 | 42 | "@noble/curves": 1.9.1 |
| 43 | 43 | "@noble/hashes": 1.8.0 |
| 44 | − "@pierre/diffs": 1.3.0-beta.5 | |
| 44 | + "@pierre/diffs": 1.3.0-beta.10 | |
| 45 | 45 | "@types/node": 24.12.4 |
| 46 | 46 | "@typescript/native-preview": 7.0.0-dev.20260604.1 |
| 47 | 47 | effect: 4.0.0-beta.102 |
| @@ -128,7 +128,7 @@ patchedDependencies: · 80 unmodified lines | ||
| 128 | 128 | "@expo/metro-config@56.0.14": patches/@expo%2Fmetro-config@56.0.14.patch |
| 129 | 129 | "@ff-labs/fff-node@0.9.4": patches/@ff-labs__fff-node@0.9.4.patch |
| 130 | 130 | "@legendapp/list@3.2.0": patches/@legendapp__list@3.2.0.patch |
| 131 | − "@pierre/diffs@1.3.0-beta.5": patches/@pierre%2Fdiffs@1.3.0-beta.5.patch | |
| 131 | + "@pierre/diffs@1.3.0-beta.10": patches/@pierre%2Fdiffs@1.3.0-beta.10.patch | |
| 132 | 132 | "@react-native-menu/menu@2.0.0": patches/@react-native-menu__menu@2.0.0.patch |
| 133 | 133 | "@react-navigation/native-stack@7.17.6": patches/@react-navigation%2Fnative-stack@7.17.6.patch |
| 134 | 134 | effect@4.0.0-beta.102: patches/effect@4.0.0-beta.102.patch |