2.0 KiB
Upgrade Guide
Reasons to upgrade to tiptap 2.x
- autocomplete in your IDE (thanks to TypeScript)
- an amazing documentation with 100+ pages
- active development, new features in the making
- tons of new extensions planned
- well-tested code base
Upgrading from 1.x to 2.x
The new API will look pretty familiar too you, but there are a ton of changes though. To make the upgrade a little bit easier, here is everything you need to know:
1. Explicitly register the Document, Text and Paragraph extensions
Tiptap 1 tried to hide a few required extensions from you. Be sure to explicitly import the Document, Paragraph and Text extensions.
import Document from '@tiptap/extension-document'
import Paragraph from '@tiptap/extension-paragraph'
import Text from '@tiptap/extension-text'
new Editor({
extensions: [
Document(),
Paragraph(),
Text(),
…
]
})
2. New document type
We renamed the default Document type from doc to document. To keep it like that, use your own implementation of the Document node or migrate the stored JSON to use the new name.
import Document from '@tiptap/extension-document'
const CustomDocument = Document.name('doc').create()
new Editor({
extensions: [
CustomDocument(),
…
]
})
3. New extension API
In case you’ve built some custom extensions for your project, you’ll need to rewrite them to fit the new API. No worries, though, you can keep a lot of your work though. The schema, commands, keys, inputRules, pasteRules all work like they did before. It’s just different how you register them.
const CustomExtension = …
4. Blockquotes must not be nested anymore
:::warning Breaking Change Currently, blockquotes must not be nested anymore. That said, we’re working on bringing it back. If you use nested blockquotes in your app, don’t upgrade yet. :::