chore(deps): wave 3 — tiptap v3 (+ tiptap-markdown 0.9) #43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "deps/wave-3-tiptap"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Wave 3, cluster 3 (final) of the Renovate dependency dashboard (#30) — the editor migration. All four packages are version-coupled and upgraded together.
Changes
@tiptap/react@tiptap/starter-kit@tiptap/extension-linktiptap-markdownMigration (MarkdownEditor.tsx)
Three v3 changes, each surfaced by
tscor a known runtime behaviour:link: falsetoStarterKit.configureso our custom safe-URL-validatingLinkis the only one registered. Without this, both register under the namelinkand ourvalidate: isSafeUrlconfig would be silently dropped.setContentsignature — the booleanemitUpdatearg became aSetContentOptionsobject (TS2559):setContent(value, { emitUpdate: false }).editor.storage.markdownuntyped — tiptap-markdown ships no.d.ts, and tiptap v3'sStorageinterface is empty-by-design (meant to be augmented). Added app/src/tiptap-markdown.d.ts declaring themarkdown.getMarkdown()storage shape.The custom
Link.configure({ openOnClick, HTMLAttributes, validate })needed no changes — those options are unchanged in v3.Lockfile note
The committed v2 lockfile caused an
ERESOLVEagainst the v3 peer set, so the app lockfile was regenerated from a clean install (tiptap-markdown@0.9.0peers on@tiptap/core@^3.0.1, so the set resolves cleanly once the stale v2 pins are gone).Verification (dev server, Node 24 / npm 11)
tsc+vite buildclean ✅ · vitest pass ✅ ·npm audit0 vulnsMarkdownEditor, confirmed it mounts (.ProseMirrorpresent, no duplicate-extension throw), the toolbar renders, and markdown round-trips —**bold**→<strong>, and[link](https://example.com)→<a href="https://example.com">(proves our safe-URL Link is active and tiptap-markdown parses under v3).⚠️ Worth a manual click-through after merge: the editor has no committed test coverage, so the smoke test above was synthetic. Recommend exercising bold/italic/blockquote/lists/inline-code/link buttons and a save round-trip in the running app once deployed.
This completes Wave 3. With #41 (redis) and #42 (react-router), the dashboard's "Pending Approval" majors are all addressed.
🤖 Generated with Claude Code
tiptap v3 API/packaging changes required three editor adaptations: - StarterKit v3 bundles its own Link extension; pass `link: false` so our custom safe-URL-validating Link is the only one registered (avoids a duplicate-extension clash that would drop our validation). - `editor.commands.setContent` dropped the boolean `emitUpdate` arg for a `SetContentOptions` object → `setContent(value, { emitUpdate: false })`. - tiptap-markdown ships no types and tiptap v3's `Storage` interface is empty-by-design; add a module augmentation (app/src/tiptap-markdown.d.ts) so `editor.storage.markdown.getMarkdown()` type-checks. Lockfile regenerated clean (the v2 lockfile caused an ERESOLVE on the v3 peer set). Verified on the dev server: app tsc + vite build clean, tests pass, and a runtime smoke test confirmed the editor mounts and round-trips markdown (bold + safe links) under v3. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>