Executable migration guide
Migrate from Tiptap to RichTextEditor
Map common configuration and transfer real document content with the package adapter, while keeping unsupported features visible for review.
Install and run
import { migrateConfig, migrateEditor } from
"@richscripts/richtexteditor/migration";
const plan = migrateConfig("tiptap", legacyConfig);
const result = migrateEditor("tiptap", legacyEditor, rte);
console.table(result.warnings);Content handoff
editor.getJSON() is the source API. ProseMirror/Tiptap JSON nodes and common marks are serialized to semantic HTML.
Configuration result
migrateConfig() returns target config, mapped commands, unmapped items and warnings. Review the report before replacing production initialization.
Automated coverage
- Handles headings, paragraphs, lists, task lists, tables, code, quotes, rules, images and safe links.
- Reports unsupported nodes and marks.
- Works without mounting either editor in the conversion process.
Manual review remains
- Every custom extension defines its own schema and may need a serializer.
- Comments, collaboration state and extension storage are outside document JSON.
Acceptance checklist
- Run the adapter on repository fixtures and representative production documents.
- Review every warning and unmapped toolbar item.
- Compare saved HTML—not only rendered appearance.
- Rebuild custom commands, uploads, permissions and collaboration data explicitly.
- Test undo, paste, keyboard, mobile and assistive-technology workflows before cutover.