| author | |
| committer | |
| log | fc28abf24b034502402cba1fedf5fa38658ee2e8 |
| tree | 63b6c0043d848dae8e8dd2ce0b3f9667fc3c5737 |
| parent | 85a89868703530e03c5e79797c7b952c684bd222 |
| signature | Signed by PGP key B5690EEEBB952194 |
7 files changed, 178 insertions(+), 103 deletions(-)
apps/web/src/components/files/FilePreviewPanel.tsx+13-5| ... | ... | @@ -7,7 +7,7 @@ import type { |
| 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 { |
| 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({ |
| 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({ |
| 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({ |
| 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({ |
| 586 | 594 | /> |
| 587 | 595 | </Virtualizer> |
| 588 | 596 | </div> |
| 589 | </EditorProvider> | |
| 597 | </EditProvider> | |
| 590 | 598 | ); |
| 591 | 599 | } |
| 592 | 600 |
apps/web/src/components/files/fileContentRevision.test.ts+28-1| ... | ... | @@ -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", () => { |
| 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 | }); |
apps/web/src/components/files/fileContentRevision.ts+18| ... | ... | @@ -10,3 +10,21 @@ export function fileContentRevision(contents: string): string { |
| 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 | } |
patches/@pierre%2Fdiffs@1.3.0-beta.10.patch created+85| ... | ... | @@ -0,0 +1,85 @@ |
| 1 | diff --git a/dist/editor/editor.js b/dist/editor/editor.js | |
| 2 | index ff78e2a..f9df318 100644 | |
| 3 | --- a/dist/editor/editor.js | |
| 4 | +++ b/dist/editor/editor.js | |
| 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({ | |
| 14 | 				...rest, | |
| 15 | -				useTokenTransformer: true, | |
| 16 | -				enableGutterUtility: false, | |
| 17 | -				enableLineSelection: false, | |
| 18 | -				lineHoverHighlight: "disabled" | |
| 19 | +				useTokenTransformer: true | |
| 20 | 			}); | |
| 21 | 			fileInstance.rerender(); | |
| 22 | 		} | |
| 23 | @@ -908,6 +905,7 @@ var Editor = class { | |
| 24 | 				return lineNumber - 1; | |
| 25 | 			}; | |
| 26 | 			this.#editorEventDisposes.push(addEventListener(gutterEl, "pointerdown", (e) => { | |
| 27 | +				if (this.#fileInstance?.options.enableLineSelection === true) 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, | |
| 47 | diff --git a/dist/react/utils/useFileInstance.js b/dist/react/utils/useFileInstance.js | |
| 48 | index e9f62f5..af82a46 100644 | |
| 49 | --- a/dist/react/utils/useFileInstance.js | |
| 50 | +++ b/dist/react/utils/useFileInstance.js | |
| 51 | @@ -91,10 +91,7 @@ function mergeFileOptions({ options, controlledSelection, contentEditable, hasCu | |
| 52 | 	}; | |
| 53 | 	if (needsEditorOptions) merged = { | |
| 54 | 		...merged, | |
| 55 | -		useTokenTransformer: true, | |
| 56 | -		enableGutterUtility: false, | |
| 57 | -		enableLineSelection: false, | |
| 58 | -		lineHoverHighlight: "disabled" | |
| 59 | +		useTokenTransformer: true | |
| 60 | 	}; | |
| 61 | 	return merged; | |
| 62 | } | |
| 63 | diff --git a/package.json b/package.json | |
| 64 | index ff61c90..1e170e5 100644 | |
| 65 | --- a/package.json | |
| 66 | +++ b/package.json | |
| 67 | @@ -55,6 +55,18 @@ | |
| 68 | "./worker/worker-portable.js": { | |
| 69 | "types": "./dist/worker/worker-portable.d.ts", | |
| 70 | "import": "./dist/worker/worker-portable.js" | |
| 71 | + }, | |
| 72 | + "./types": { | |
| 73 | + "types": "./dist/types.d.ts", | |
| 74 | + "import": "./dist/types.js" | |
| 75 | + }, | |
| 76 | + "./utils/getFiletypeFromFileName": { | |
| 77 | + "types": "./dist/utils/getFiletypeFromFileName.d.ts", | |
| 78 | + "import": "./dist/utils/getFiletypeFromFileName.js" | |
| 79 | + }, | |
| 80 | + "./utils/parsePatchFiles": { | |
| 81 | + "types": "./dist/utils/parsePatchFiles.d.ts", | |
| 82 | + "import": "./dist/utils/parsePatchFiles.js" | |
| 83 | } | |
| 84 | }, | |
| 85 | "publishConfig": { |
patches/@pierre%2Fdiffs@1.3.0-beta.5.patch deleted-69| ... | ... | @@ -1,69 +0,0 @@ |
| 1 | diff --git a/dist/editor/editor.js b/dist/editor/editor.js | |
| 2 | index e8013fc6eb6f243a6c912facf3fc0319ac66a8d0..80c82df4cdeb828bd331f5ec2f443d216bedc304 100644 | |
| 3 | --- a/dist/editor/editor.js | |
| 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({ | |
| 15 | 				...rest, | |
| 16 | 				useTokenTransformer: true, | |
| 17 | -				enableGutterUtility: false, | |
| 18 | -				enableLineSelection: false, | |
| 19 | -				lineHoverHighlight: "disabled", | |
| 20 | 				expandUnchanged: true, | |
| 21 | 				diffStyle: "split" | |
| 22 | 			}); | |
| 23 | @@ -511,6 +508,7 @@ var Editor = class { | |
| 24 | 				return lineNumber - 1; | |
| 25 | 			}; | |
| 26 | 			this.#editorEventDisposes.push(addEventListener(gutterEl, "pointerdown", (e) => { | |
| 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; | |
| 31 | diff --git a/dist/react/utils/useFileInstance.js b/dist/react/utils/useFileInstance.js | |
| 32 | index cb8e2026fb5d7a19f489c0a2402efbcb7dff3322..510fad6364d4a2214c7dd65fe2b114f1cce0c815 100644 | |
| 33 | --- a/dist/react/utils/useFileInstance.js | |
| 34 | +++ b/dist/react/utils/useFileInstance.js | |
| 35 | @@ -92,10 +92,7 @@ function mergeFileOptions({ options, controlledSelection, contentEditable, hasCu | |
| 36 | 	}; | |
| 37 | 	if (needsEditorOptions) merged = { | |
| 38 | 		...merged, | |
| 39 | -		useTokenTransformer: true, | |
| 40 | -		enableGutterUtility: false, | |
| 41 | -		enableLineSelection: false, | |
| 42 | -		lineHoverHighlight: "disabled" | |
| 43 | +		useTokenTransformer: true | |
| 44 | 	}; | |
| 45 | 	return merged; | |
| 46 | } | |
| 47 | diff --git a/package.json b/package.json | |
| 48 | index d1558633de87044b7aa96cff09443db11f163cec..c0b16f0a0bec6fba2026f24f38b2c0a8fa06af7c 100644 | |
| 49 | --- a/package.json | |
| 50 | +++ b/package.json | |
| 51 | @@ -55,6 +55,18 @@ | |
| 52 | "./worker/worker-portable.js": { | |
| 53 | "types": "./dist/worker/worker-portable.d.ts", | |
| 54 | "import": "./dist/worker/worker-portable.js" | |
| 55 | + }, | |
| 56 | + "./types": { | |
| 57 | + "types": "./dist/types.d.ts", | |
| 58 | + "import": "./dist/types.js" | |
| 59 | + }, | |
| 60 | + "./utils/getFiletypeFromFileName": { | |
| 61 | + "types": "./dist/utils/getFiletypeFromFileName.d.ts", | |
| 62 | + "import": "./dist/utils/getFiletypeFromFileName.js" | |
| 63 | + }, | |
| 64 | + "./utils/parsePatchFiles": { | |
| 65 | + "types": "./dist/utils/parsePatchFiles.d.ts", | |
| 66 | + "import": "./dist/utils/parsePatchFiles.js" | |
| 67 | } | |
| 68 | }, | |
| 69 | "publishConfig": { |
pnpm-lock.yaml+32-26| ... | ... | @@ -19,8 +19,8 @@ catalogs: |
| 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: |
| 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: |
| 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: |
| 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: |
| 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: |
| 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: |
| 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: |
| 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: |
| 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: |
| 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: |
| 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 |
pnpm-workspace.yaml+2-2| ... | ... | @@ -41,7 +41,7 @@ catalog: |
| 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: |
| 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 |