Skip to content

Peer dependency resolution conflict when pinning Tiptap packages to a fixed version #7591

@MaxenceMouchard

Description

@MaxenceMouchard

Affected Packages

pm, extension-text-style, ...

Version(s)

3.19.0

Bug Description

When pinning all Tiptap packages to a specific version (e.g. 3.19.0) in package.json to avoid unexpected upgrades, npm fails with a dependency resolution error.

Example dependencies:

"@tiptap/extension-color": "3.19.0",
"@tiptap/extension-font-family": "3.19.0",
"@tiptap/extension-highlight": "3.19.0",
"@tiptap/extension-image": "3.19.0",
"@tiptap/extension-link": "3.19.0",
"@tiptap/extension-placeholder": "3.19.0",
"@tiptap/extension-table": "3.19.0",
"@tiptap/extension-table-cell": "3.19.0",
"@tiptap/extension-table-header": "3.19.0",
"@tiptap/extension-table-row": "3.19.0",
"@tiptap/extension-text-align": "3.19.0",
"@tiptap/extension-text-style": "3.19.0",
"@tiptap/extension-underline": "3.19.0",
"@tiptap/pm": "3.19.0",
"@tiptap/starter-kit": "3.19.0",
"@tiptap/vue-3": "3.19.0"

Running npm install results in:

ERESOLVE unable to resolve dependency tree

Because @tiptap/extension-* packages declare:

peerDependencies:
"@tiptap/core": "^3.19.0"

npm resolves this to the latest available version (e.g. 3.20.1), which then requires:

peer "@tiptap/pm": "^3.20.1"

This causes a conflict when the project intentionally pins @tiptap/pm to 3.19.0.

Browser Used

Chrome

Code Example URL

No response

Expected Behavior

Tiptap packages appear to be designed to be version-synchronized across the ecosystem. In that case, using a broad peer dependency range (^3.19.0) may lead to incompatible installations.

Additional Context (Optional)

A consistent solution:
tighten peerDependencies between packages

Dependency Updates

  • Yes, I've updated all my dependencies.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Open SourceThe issue or pull reuqest is related to the open source packages of Tiptap.

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions