@reviseio/editor is the browser editor. From version 3 it has no Node entry
point: server-side work is revise, the MIT CLI and
TypeScript library built on the same engine and released at the same version.
It is an optional peer dependency of the editor; a browser-only app doesn’t
need it.
Y.Doc the editor edits is a
Y.Doc revise opens, and the reverse. revise runs the same converters and
the same document tools, with the same schemas and { ok, value | error }
results, so a server can seed a room, edit it while people have it open, and
export it to Word:
Library
Open, read, edit, review, and export documents.
Collaboration
Seed, edit, and export live rooms.
Server editing
A server and browsers in the same room.
Tools on the server
The agent tools without a browser.
Migrate from version 2
Version 3 removes the editor’s/server entry point. Install revise
at the editor’s version and replace the imports:
Three differences when porting:
revisemethods are async:awaitthem.- Tools return
{ ok: true, value }or{ ok: false, error }instead of throwing.doc.tools.call()is the typed form;doc.tools.run()takes a tool name and JSON from a model. doc.export()returns{ bytes, fidelity, … }: write.bytes.
jsdom is no longer a peer of the editor; revise brings what it needs.
doc.snapshot() is revise’s own storage format, not a Y.js update: keep
Y.encodeStateAsUpdate(doc.ydoc) for anything that speaks Y.js, such as a
sync server or the editor.
The 2.3 backend reference still documents the
/server entry point.