Disclaimer: This package is currently in preview and may have breaking changes between versions. Please wait for a
v1.0.0
stable release before using this in production.
Intro β’ Usage β’ Related β’ Credits β’ License
Pluv.IO allows you to build real-time collaborative features with a fully end-to-end type-safe api.
π See full documentation on pluv.io. π
So you can do this:
const broadcast = usePluvBroadcast();
usePluvEvent("RECEIVE_MESSAGE", ({ data }) => {
setMessages([...messages, data.message]);
});
broadcast("SEND_MESSAGE", { message: "Hello world!" });
And more. With E2E type-safety, great intellisense and the yjs ecosystem.
- β Automatic type safety
- β Basic events
- β Rooms
- β Authentication
- β Awareness + Presence
- β
CRDTs (with Yjs)
- β
Shared Types
- β Map
- β Array
- β Text
- β XmlFragment
- β XmlElement
- β XmlText
- β
Shared Types
- β¬ Studio (admin & developer panel)
- β Cloudflare Workers
- β Node.js
Before diving into documentation, check out usage instructions for your selected platform:
Note:
@pluv/io
,@pluv/client
,@pluv/crdt-yjs
and@pluv/react
all require yjs as a peer dependency.
Documentation is available at pluv.io.
- @pluv/client - Framework agnostic client
- @pluv/crdt-yjs - Yjs for Pluv.IO
- @pluv/persistance-redis - Persistance for storage on distributed systems (Node.js only)
- @pluv/platform-cloudflare - Adapter to run @pluv/io on Cloudflare Workers
- @pluv/platform-node - Adapter to run @pluv/io on Node.js
- @pluv/pubsub-redis - PubSub for rooms across distributed systems
- @pluv/react - Integrate @pluv/client with React.js
This software uses the following open source tooling and libraries: