Executable migration guide
Migrate from Quill 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 { createMigrationReport, migrateConfig, migrateEditor } from
"@richscripts/richtexteditor/migration";
const plan = migrateConfig("quill", legacyConfig);
const result = migrateEditor("quill", legacyEditor, rte);
console.table(result.warnings);Content handoff
editor.getContents() is the source API. Delta operations are converted into semantic headings, paragraphs, lists, blockquotes, code blocks and inline marks.
Configuration result
migrateConfig() returns target config, mapped commands, unmapped items and warnings. Review the report before replacing production initialization.
Automated coverage
- Converts Delta instead of depending on Quill’s rendered DOM.
- Maps nested toolbar arrays and list descriptors.
- Reports embeds that need an application-specific converter.
Manual review remains
- Custom blots and embeds are deliberately reported, not guessed.
- Deep list indentation and application metadata should be verified with real documents.
Cutover gate
Generate one migration readiness report
createMigrationReport() combines configuration and content findings into mapped commands, warnings, blockers, converted HTML, and a stable manual-review checklist. Use readyForCutover as a CI gate for known automated blockers—not as a substitute for testing real production documents.
const report = createMigrationReport("quill", {
config: legacyConfig,
content: editor.getContents()
});
console.table(report.blockers);
console.table(report.manualReview);
if (!report.readyForCutover) process.exitCode = 1;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.