Upgrade Tiptap from v2 to v3

Bump all @tiptap/* packages from ^2.9.1 to ^3.20.0. Replace the removed
@tiptap/extension-history and @tiptap/extension-placeholder with their
v3 equivalents (UndoRedo and Placeholder) from the new consolidated
@tiptap/extensions package. Migrate the autocomplete popup from tippy.js
to @floating-ui/dom with autoUpdate for resize tracking. Add prosemirror
resolutions to prevent duplicate package type conflicts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Samuel Newman
2026-02-19 13:31:41 +02:00
parent 1565e071c1
commit ebb3c19b0c
5 changed files with 263 additions and 214 deletions
+15 -14
View File
@@ -108,18 +108,17 @@
"@tanstack/query-async-storage-persister": "^5.25.0",
"@tanstack/react-query": "5.25.0",
"@tanstack/react-query-persist-client": "^5.25.0",
"@tiptap/core": "^2.9.1",
"@tiptap/extension-document": "^2.9.1",
"@tiptap/extension-hard-break": "^2.9.1",
"@tiptap/extension-history": "^2.9.1",
"@tiptap/extension-mention": "^2.9.1",
"@tiptap/extension-paragraph": "^2.9.1",
"@tiptap/extension-placeholder": "^2.9.1",
"@tiptap/extension-text": "^2.9.1",
"@tiptap/html": "^2.9.1",
"@tiptap/pm": "^2.9.1",
"@tiptap/react": "^2.9.1",
"@tiptap/suggestion": "^2.9.1",
"@tiptap/core": "^3.20.0",
"@tiptap/extension-document": "^3.20.0",
"@tiptap/extension-hard-break": "^3.20.0",
"@tiptap/extension-mention": "^3.20.0",
"@tiptap/extension-paragraph": "^3.20.0",
"@tiptap/extension-text": "^3.20.0",
"@tiptap/extensions": "^3.20.0",
"@tiptap/html": "^3.20.0",
"@tiptap/pm": "^3.20.0",
"@tiptap/react": "^3.20.0",
"@tiptap/suggestion": "^3.20.0",
"@types/invariant": "^2.2.37",
"@types/lodash.throttle": "^4.1.9",
"@types/node": "^20.14.3",
@@ -222,7 +221,6 @@
"react-textarea-autosize": "^8.5.3",
"sonner": "^2.0.7",
"sonner-native": "^0.21.0",
"tippy.js": "^6.3.7",
"tlds": "^1.234.0",
"tldts": "^6.1.46",
"unicode-segmenter": "^0.14.5",
@@ -294,7 +292,10 @@
"**/expo-device": "7.1.4",
"**/multiformats": "9.9.0",
"unicode-segmenter": "0.14.5",
"@types/estree": "1.0.6"
"@types/estree": "1.0.6",
"prosemirror-model": "1.25.4",
"prosemirror-view": "1.41.6",
"prosemirror-transform": "1.11.0"
},
"jest": {
"preset": "jest-expo/ios",