Update tiptap monorepo to v3 (major) - autoclosed #87
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^2.7.0->^2.7.0 || ^3.0.02.26.2->3.7.22.26.2->3.7.22.26.2->3.7.22.26.2->3.7.22.26.2->3.7.22.26.2->3.7.22.26.2->3.7.22.26.2->3.7.22.26.2->3.7.22.26.2->3.7.22.26.1->3.7.2Release Notes
ueberdosis/tiptap (@tiptap/core)
v3.7.2Compare Source
Releases
v3.7.2
@tiptap/html
Patch Changes
v3.7.1Compare Source
Releases
v3.7.1
@tiptap/markdown
Patch Changes
contentis an empty string andcontentTypeismarkdownv3.7.0Compare Source
Releases
v3.7.0
@tiptap/core
Minor Changes
All commands and their corresponding TypeScript types are now exported from
@tiptap/coreso they can be imported and referenced directly by consumers. This makes it easier to build typed helpers, extensions, and tests that depend on the command signatures.Why:
Notes:
@tiptap/coregoing forward.Add comprehensive bidirectional markdown support to Tiptap through a new
@tiptap/markdownpackage and Markdown utilities in@tiptap/core.New Package:
@tiptap/markdown- A new official extension that provides full Markdown parsing and serialization capabilities using MarkedJS as the underlying Markdown parser.Core Features:
Extension API
MarkdownExtension: Main extension that adds Markdown support to your editorMarkdownManager: Core engine for parsing and serializing Markdowneditor.markdown.parse(markdown)editor.markdown.serialize(json)editor.markdown.instanceEditor Methods
editor.getMarkdown(): Serialize current editor content to Markdown stringeditor.markdown: Access to MarkdownManager instance for advanced operationsEditor Options:
contentType: Control the type of content that is inserted into the editor. Can bejson,htmlormarkdown- defaults tojsonand will automatically detect invalid content types (like JSON when it is actually Markdown).Command Options: All content commands now support an
contentTypeoption:setContent(markdown, { contentType: 'markdown' }): Replace editor content with markdowninsertContent(markdown, { contentType: 'markdown' }): Insert markdown at cursor positioninsertContentAt(position, markdown, { contentType: 'markdown' }): Insert Markdown at specific positionFor more, check the documentation.
Patch Changes
baseExtensionsthat contains an unflattened array of extensions@tiptap/markdown
Minor Changes
Add comprehensive bidirectional markdown support to Tiptap through a new
@tiptap/markdownpackage and Markdown utilities in@tiptap/core.New Package:
@tiptap/markdown- A new official extension that provides full Markdown parsing and serialization capabilities using MarkedJS as the underlying Markdown parser.Core Features:
Extension API
MarkdownExtension: Main extension that adds Markdown support to your editorMarkdownManager: Core engine for parsing and serializing Markdowneditor.markdown.parse(markdown)editor.markdown.serialize(json)editor.markdown.instanceEditor Methods
editor.getMarkdown(): Serialize current editor content to Markdown stringeditor.markdown: Access to MarkdownManager instance for advanced operationsEditor Options:
contentType: Control the type of content that is inserted into the editor. Can bejson,htmlormarkdown- defaults tojsonand will automatically detect invalid content types (like JSON when it is actually Markdown).Command Options: All content commands now support an
contentTypeoption:setContent(markdown, { contentType: 'markdown' }): Replace editor content with markdowninsertContent(markdown, { contentType: 'markdown' }): Insert markdown at cursor positioninsertContentAt(position, markdown, { contentType: 'markdown' }): Insert Markdown at specific positionFor more, check the documentation.
@tiptap/extension-link
Patch Changes
@tiptap/extensions
Patch Changes
Make the
TrailingNodeextension'snodeoption optional and derive thedefault node type from the editor schema when available.
Previously the extension used a hard-coded
'paragraph'default and thenodeoption was required in the TypeScript definitions. This change:nodeoptional in the options type,trailing node, and
'paragraph'as a last resort.This fixes cases where projects use a different top-level default node and
prevents the extension from inserting an incorrect trailing node type.
v3.6.7Compare Source
Patch Changes
v3.6.6Compare Source
Patch Changes
v3.6.5Compare Source
Patch Changes
1e4caea: Editors can now emittransactionandupdateevents before being mounted.This means smoother state handling and instant feedback from editors, even when they're not in the DOM.
v3.6.4Compare Source
Patch Changes
v3.6.3Compare Source
Patch Changes
67f7b4a: Refined theJSONContent.attrsdefinition to exactly mirror the structure returned byeditor.getJSON(). This ensures strict type safety and consistency between the editor output and the expected type, eliminating errors caused by mismatched attribute signatures.v3.6.2Compare Source
Patch Changes
v3.6.1Compare Source
Patch Changes
v3.6.0Compare Source
Patch Changes
c0190bd: Improve typing and docs forEditorOptions.elementto reflect all supported mounting modes and align behavior across adapters.elementnow accepts:Element: the editor is appended inside the given element.{ mount: HTMLElement }: the editor is mounted directly tomount(no extra wrapper).(editorEl: HTMLElement) => void: a function that receives the editor element so you can place it anywhere in the DOM.null: no automatic mounting.v3.5.3Compare Source
Patch Changes
v3.5.2Compare Source
Patch Changes
v3.5.1Compare Source
Patch Changes
v3.5.0Compare Source
Patch Changes
v3.4.6Compare Source
Patch Changes
968016f: Added support for theundoableoption in InputRules (matching ProseMirror’s implementation).false, the change will not be tracked as undoable.truefor backward compatibility.This brings Tiptap’s InputRules behavior in line with ProseMirror and gives developers finer control over undo functionality.
v3.4.5Compare Source
Patch Changes
0226d42: Fix an issue where injected CSS was not mounted correctly when the editor instance was mounted. The fix ensures CSS injected by the editor is attached to the document when the editor mounts, preventing missing styles in some mount/unmount scenarios.37af83b: refactor: replacemap(...).flat()withflatMapfor simpler, more efficient array flatteningf598ac7: Fix bug ininsertContentAtcommand where extra content would get deleted when the selection was at the beginning of the document and a node was insertedv3.4.4Compare Source
Patch Changes
00cf1d7: Fix bug ininsertContentAtcommand where extra content would get deleted when the selection was at the beginning of the document and a node was insertedv3.4.3Compare Source
Patch Changes
1ea8906: When the editor view is created, it now will also includenodeViewsandmarkViewsproperties instead of setting them afterward. This avoids serialization of the editor state to HTML which will be replaced by node views anyway.v3.4.2Compare Source
Patch Changes
v3.4.1Compare Source
Patch Changes
v3.4.0Compare Source
Minor Changes
ad51daa: Addmountandunmountevents to theEditorinstance for tracking mounts and unmountsPatch Changes
895c73f: Fixcan().toggleMark()returning incorrect result when cursor is inside nodes that disallow marksFixed an issue where
can().toggleMark('bold')incorrectly returnedtruewhen the cursor was positioned inside a code block (with no selection), even though marks are not allowed in code blocks. The method now correctly returnsfalsein this scenario by checking if the parent node allows the mark type when the selection is a cursor.v3.3.1Compare Source
Patch Changes
v3.3.0Compare Source
Minor Changes
5423726: Make input rules and paste rules respect extensionpriorityby registeringthem per-extension instead of aggregating them into a single global plugin.
v3.2.2Compare Source
Patch Changes
v3.2.1Patch Changes
6a2873f: Ensure drag previews for node views work correctly in Safari by attachingan offscreen clone of the node to the DOM while calling
setDragImage, and by preserving the original element's pixelwidth/heightso the preview matches the original. This preventsSafari from immediately cancelling the drag when a detached element is
used as the drag image.
v3.2.0Minor Changes
5056e3e: Fix Editor.unmount() failing in test environments due to missing DOM remove() methodPatch Changes
v3.1.0Compare Source
Patch Changes
v3.0.9Compare Source
Patch Changes
v3.0.8Compare Source
Patch Changes
v3.0.7Compare Source
Patch Changes
v3.0.6Compare Source
Patch Changes
2e71d05: Fix: Fix broken types for function chaining when calling extendv3.0.5Compare Source
Patch Changes
v3.0.4Compare Source
Patch Changes
7ed03fa: Fix: Add correct overload for extension extend types"v3.0.3Compare Source
Patch Changes
75cabde: Fix: Avoid the JSX Runtime to globally overwrite React's Element types when/** @​jsxImportSource @​tiptap/core */is not usedv3.0.2Compare Source
Patch Changes
v3.0.1Compare Source
Major Changes
a92f4a6: We are now building packages with tsup which does not support UMD builds, please repackage if you require UMD builds5e957e5: This resolves in issue with SSR where the isDestroyed property could not be read while in SSR37913d5:getPosinNodeViewRendererPropstype now includesundefinedas possible return valueBefore
After
32958d6:Node,MarkandExtensionconfig options now are strongly typed and do not allow arbitrary keys on the options object.To add keys, like when using
extendNodeSchemaorextendMarkSchema, you can do this:12bb31a:insertContentandinsertContentAtcommands should not split text nodes like paragraphs into multiple nodes when the inserted content is at the beginning of the text to avoid empty nodes being created062afaf:clearContentcommand defaults to emitting updates now062afaf: Change signature ofsetContentcommand to(content, options)and default to emitting updates32958d6:editor.storageis now strongly typedStorageinstances, using a similar pattern as commands, where you can define the type of the storage value using namespaces like:32958d6:editor.storageis instantiated per editor rather than per extension.Previously, the storage value was a singleton per extension instance, this caused strange bugs when using multiple editor instances on a single page.
Now, storage instances are per editor instance, so changing the value on one
editor.storageinstance will not affect another editor's value.Minor Changes
8de8e13: The editor instance now supports anunmountmethod which allows for mounting and unmounting the editor to the DOM. This encourages re-use of editor instances by preserving all the same options between instances. This is different from thedestroymethod, which will unmount, emit thedestroyevent, and remove all event listeners.d0fda30: Add config option to emit content error when content check is disabled0e3207f: Add support for markviews, which allow you to render custom views for marks within the editor. This is useful for rendering custom UI for marks, like a color picker for a text color mark or a link editor for a link mark.Here is a plain JS markview example:
v3.0.0Compare Source
Patch Changes
v2.26.3Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.