@reviseio/editor package on the public npm registry.
Installing it requires no account or token.
yjs, y-protocols)
automatically. On Yarn, list them: yarn add @reviseio/editor yjs y-protocols. For @reviseio/editor/server
in Node, also run npm i jsdom.
@reviseio/editor is free for evaluation, personal projects, and education. Production
use by businesses, nonprofits, and government requires a
commercial license. Building and prototyping are free.
Entry points
Peer dependencies
React 18 or newer,yjs, and y-protocols are required peers. The SDK does
not bundle its own copies. Every editor session uses Yjs, with or without a
collaboration provider.
jsdom is optional and never installed automatically. Only @reviseio/editor/server
needs it, and it prints an npm i jsdom hint if it is missing.
React is a required peer even when you use only @reviseio/editor/server, so npm
installs it in a Node-only project too. @reviseio/editor/server never loads it.
Bundle size
The editor is a word processor, with DOCX, layout, and PDF export, and its main chunk is about 2.7 MB minified (about 800 KB gzipped). Load it where a document opens rather than in your entry bundle; see load on demand. Converters, PDF export, math, and locales load separately, when first used. Vite warns about any chunk over 500 kB. For the editor that warning is expected. Raise the limit if you want a clean build:vite.config.ts
Versioning
The package follows semantic versioning. Pin what you ship:package.json
CHANGELOG.md. Read
it before changing versions. Breaking changes to the component props or the
handle controllers ship only in major versions.
Migrate from revise
Through 2.2, the SDK was published as revise. From 2.3 it is
@reviseio/editor: the same editor, license, and API under a new name. Replace
the dependency and update imports:
Nothing else changes. If your bundler config names the package (for example
Vite’s
optimizeDeps.exclude), rename it there too. The 2.2 and earlier docs
stay available from the version menu.
Migrate from @reviseio/sdk
The private @reviseio/sdk package is retired. Replace the dependency with
@reviseio/editor, delete the @reviseio registry and token lines from
.npmrc (@reviseio/editor is on the public registry), and update imports:
The named
ReviseEditor export still works alongside the default export.
Report a problem
Include the SDK version and build. Both are exported, so your error reporting can attach them:npm bugs @reviseio/editor opens the support route.
Assets
The SDK loads some static assets on demand instead of bundling them:- PDF export fonts, including the CJK and world-script faces
- math fonts and stylesheet
- the PDF reader’s worker
- Tree-sitter grammars (
@reviseio/editor/fullonly)
https://revise.io. A strict Content Security Policy
must allow that origin in connect-src, font-src, style-src, and
worker-src.
To serve them yourself, mirror these paths from https://revise.io to your
origin with the same layout:
fonts/katex.min.csspdfjs/tree-sitter/(only for@reviseio/editor/full)
Troubleshooting
ERESOLVE peer dependency errors
ERESOLVE peer dependency errors
The package requires React 18 or newer. Installing on React 17 or earlier
fails.
Unexpected content type in insert operation
Unexpected content type in insert operation
Two copies of Yjs are loaded. Make your bundler resolve a single
yjs, for
example with a resolve.dedupe entry in Vite.Installed revise instead
Installed revise instead
The SDK was published as
revise through 2.2 and is @reviseio/editor
from 2.3. See Migrate from revise.