Installations
npm install mobx-keystone-yjs
Developer Guide
Typescript
Yes
Module System
CommonJS, ESM
Node Version
23.6.0
NPM Version
11.0.0
Releases
Unable to fetch releases
Contributors
Unable to fetch Contributors
Languages
TypeScript (87.68%)
MDX (12.1%)
JavaScript (0.13%)
CSS (0.1%)
validate.email 🚀
Verify real, reachable, and deliverable emails with instant MX records, SMTP checks, and disposable email detection.
Developer
Download Statistics
Total Downloads
2,262
Last Day
8
Last Week
40
Last Month
323
Last Year
1,771
GitHub Statistics
MIT License
570 Stars
1,292 Commits
25 Forks
9 Watchers
8 Branches
14 Contributors
Updated on Mar 11, 2025
Bundle Size
8.59 kB
Minified
3.06 kB
Minified + Gzipped
Package Meta Information
Latest Version
1.5.4
Package Id
mobx-keystone-yjs@1.5.4
Unpacked Size
236.93 kB
Size
68.84 kB
File Count
31
NPM Version
11.0.0
Node Version
23.6.0
Published on
Feb 15, 2025
Total Downloads
Cumulative downloads
Total Downloads
2,262
Last Day
-27.3%
8
Compared to previous day
Last Week
-24.5%
40
Compared to previous week
Last Month
30.2%
323
Compared to previous month
Last Year
260.7%
1,771
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Dependencies
1
Peer Dependencies
3
mobx-keystone-yjs
Seamlessly integrate mobx-keystone models with the Y.js ecosystem for an unmatched toolkit to build dynamic, responsive, and collaborative web applications
See a working example in mobx-keystone.js.org
Introduction
mobx-keystone-yjs
seamlessly integrates mobx-keystone
models with the Y.js
ecosystem, providing developers with an unmatched toolkit to build dynamic, responsive, and collaborative web applications. Some of the key advantages and capabilities that this integration brings to your projects are:
Real-time Collaboration and Synchronization
mobx-keystone-yjs
bridges the gap between local state management and remote synchronization, allowing multiple users to interact with the same application data in real-time. This synchronization is not just limited to client-server models but extends to peer-to-peer (P2P) environments as well. Whether you're building a collaborative text editor, a shared to-do list, or any interactive platform, this binding ensures that all participants can see and respond to changes instantly, no matter where they are, transparently.
Offline Support and Optimistic UI Changes
One of the standout features of Y.js
is its robust offline support. Users can continue to interact with the application even when disconnected from the network. Changes made offline are seamlessly integrated once the connection is reestablished, thanks to the conflict-free replicated data types (CRDTs) at the heart of Y.js
. This functionality not only enhances the user experience but also ensures data integrity and consistency across all states. Binding this functionality to mobx-keystone
models means that you can take advantage of these features without having to write any additional code.
Optimistic UI updates play a crucial role in making applications feel more responsive. With CRDTs changes made by users can be immediately reflected in the UI, without waiting for server confirmation. This approach minimizes perceived latency, providing a smoother and more engaging user experience.
Client Synchronization and Data Integrity
Binding Y.js
and mobx-keystone
ensures that client states are synchronized efficiently and accurately. The models are automatically updated to reflect the latest shared state, ensuring that all users have a consistent view of the data. Furthermore, the use of CRDTs in Y.js
guarantees that even in complex, multi-user scenarios, data integrity is maintained. Conflicts are resolved automatically, ensuring that the final state is always a true representation of all users' inputs.
P2P Support and Scalability
By leveraging Y.js
's P2P capabilities, mobx-keystone-yjs
enables direct client-to-client communication, bypassing traditional server-based data flow. This not only reduces server load but also opens up new possibilities for applications where direct user-to-user interaction is preferred. The scalability offered by this approach means that your application can support a growing number of users without a proportional increase in server resources.
Installation
npm install mobx-keystone-yjs
yarn add mobx-keystone-yjs

No vulnerabilities found.
Reason
27 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10
Reason
no dangerous workflow patterns detected
Reason
no binaries found in the repo
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
Reason
Found 0/30 approved changesets -- score normalized to 0
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Warn: no topLevel permission defined: .github/workflows/main.yml:1
- Info: no jobLevel write permissions found
Reason
no SAST tool detected
Details
- Warn: no pull requests merged into dev branch
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/xaviergonz/mobx-keystone/main.yml/master?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/xaviergonz/mobx-keystone/main.yml/master?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/xaviergonz/mobx-keystone/main.yml/master?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/xaviergonz/mobx-keystone/main.yml/master?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/xaviergonz/mobx-keystone/main.yml/master?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/xaviergonz/mobx-keystone/main.yml/master?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/xaviergonz/mobx-keystone/main.yml/master?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/xaviergonz/mobx-keystone/main.yml/master?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:91: update your workflow using https://app.stepsecurity.io/secureworkflow/xaviergonz/mobx-keystone/main.yml/master?enable=pin
- Info: 0 out of 8 GitHub-owned GitHubAction dependencies pinned
- Info: 0 out of 1 third-party GitHubAction dependencies pinned
Reason
security policy file not detected
Details
- Warn: no security policy file detected
- Warn: no security file to analyze
- Warn: no security file to analyze
- Warn: no security file to analyze
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
11 existing vulnerabilities detected
Details
- Warn: Project is vulnerable to: GHSA-x4c5-c7rf-jjgv
- Warn: Project is vulnerable to: GHSA-h5c3-5r3r-rr8q
- Warn: Project is vulnerable to: GHSA-rmvr-2pp2-xj38
- Warn: Project is vulnerable to: GHSA-xx4v-prfh-6cgc
- Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x
- Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275
- Warn: Project is vulnerable to: GHSA-67mh-4wv8-2f99
- Warn: Project is vulnerable to: GHSA-x7hr-w5r2-h6wg
- Warn: Project is vulnerable to: GHSA-c76h-2ccp-4975
- Warn: Project is vulnerable to: GHSA-6fc8-4gx4-v693
- Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q
Score
3.8
/10
Last Scanned on 2025-03-03
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More