Skip to content

JSON 주소와 값 검증을 Core 정본으로 통일한다 - #732

Merged
developer-1px merged 3 commits into
mainfrom
issue-731-canonical-json-primitives
Sep 8, 2026
Merged

JSON 주소와 값 검증을 Core 정본으로 통일한다#732
developer-1px merged 3 commits into
mainfrom
issue-731-canonical-json-primitives

Conversation

@developer-1px

Copy link
Copy Markdown
Owner

Rich Text editor가 수용한 URI fragment 주소를 React가 직접 해석하면서 렌더링에 실패하고, Sheet·Database clipboard parser는 Core가 거절하는 JSON 값을 수용했습니다. 주소 조회·인코딩과 일반 JSON 검증을 Core 정본으로 연결해 소비자 사이의 차이를 없앴습니다.

  • 기존 주소 조회를 readPointer로 연결하고 document.at, Rich Text snapshot, React가 공유합니다. snapshot 전체 복제를 제거하고 URI fragment의 변경 관찰·Undo/Redo·블록 참조 동일성을 검증했습니다.
  • 기존 JSON validator를 isJSONValue로 공개했습니다. Clipboard parser와 직접 Paste, Rich Text attrs/Paste가 비유효 값을 정규화 전에 거절하며 문서·선택·History·알림을 보존합니다.
  • JSONPath·Zod의 독립 Pointer encoder를 제거했습니다.
  • TypeScript root binding은 stateless API 두 개가 늘어 25 symbols가 됩니다. JSONDocument의 여섯 멤버와 JSON 규칙은 유지합니다. Core README·API reference·public 문서·Usage·source registration과 React의 직접 Core 의존을 함께 반영했습니다.

검증:

  • Core 365, Editing 296, Zod 8, Rich Text 110, Rich Text React 31 tests 통과. Core 기존 4 skipped. 영향 패키지 typecheck/build와 Core tarball smoke 통과.
  • Site 139 tests, 전체 typecheck와 canonical/UI guard 통과.
  • Root build, workspace:check, docs:evaluate, docs:api:check, standard:check, site:verify:pages, git diff --check 통과.

기존 Chrome에서 검증 탭을 열었지만 AppleScript JavaScript 실행이 차단되어 실제 Chrome 조작은 미확인입니다. 설정이나 profile은 변경하지 않았습니다. 변경 동작은 SSR/jsdom과 site Usage 테스트로 확인했습니다.

Closes #731

@developer-1px
developer-1px merged commit be192b2 into main Sep 8, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

JSON 주소와 값 검증을 Core 정본으로 통일한다

1 participant