Uh oh!
There was an error while loading. Please reload this page.
feat(y-partyserver): add compatibility with yjs 14.x - #305
Conversation
This change adds support for yjs 14.x (beta) while maintaining backwards compatibility with yjs 13.x. Changes: - Updated peerDependencies to accept both yjs ^13.6.14 and ^14.0.0-0 - Added documentation explaining version differences - Updated @ts-expect-error to @ts-ignore for cross-version compatibility - Added YSharedType type alias for version-agnostic type references Key differences between yjs 13 and 14: - AbstractType generic signature changed from <EventType> to <EventDelta, Self> - Stricter type constraints (T extends YValue) in yjs 14 - doc.share type changed from Map<string, AbstractType<YEvent<any>>> to Map<string, YType> - Event handler signatures have additional parameters in yjs 14 All changes are type-level only; runtime behavior is unchanged.
|
Uh oh!
There was an error while loading. Please reload this page.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
agcty
commented
Jan 12, 2026
@threepointone changed to ts-expect-error |
threepointone
commented
Jan 12, 2026
@agcty lol thank you, but I'm trying to get this opencode integration working and trying it out haha |
Summary
This PR adds support for yjs 14.x (beta) while maintaining backwards compatibility with yjs 13.x.
Changes
peerDependenciesto accept bothyjs ^13.6.14and^14.0.0-0@ts-expect-errorto@ts-ignorefor cross-version type compatibilityBackground
yjs 14.x introduces several TypeScript-level breaking changes:
AbstractTypegeneric<EventType><EventDelta, Self>with constraintsT extends YValue)doc.sharetypeMap<string, AbstractType<YEvent<any>>>Map<string, YType>transaction)All changes are type-level only - runtime behavior is unchanged. The sync protocol and CRDT encoding remain compatible between versions.
Testing
Related
This allows projects using yjs 14 beta to use y-partyserver without npm override hacks.
🤖 Generated with Claude Code