Skip to content

chore(deps): update tiptap to ^3.31.3, pin prosemirror-view (nuxt/ui@042bf3b) - #553

Merged
IgorShevchik merged 2 commits into
mainfrom
sync/nuxt-042bf3b7
Sep 8, 2026
Merged

IgorShevchik merged 2 commits into
mainfrom
sync/nuxt-042bf3b7

Conversation

@IgorShevchik

Copy link
Copy Markdown
Collaborator

Port of nuxt/ui@042bf3b7 — fourth of ten in this run.

The bump

All 25 @tiptap/* declarations across five manifests sat at ^3.30.5, upstream's exact pre-image — playgrounds/demo included. Demo is ours alone and carries @tiptap/extension-emoji and @tiptap/extension-text-align like its siblings; holding it a minor behind would serve nothing, the same reasoning recorded for 9d46fc7e.

Three names upstream lists are absent here: @tiptap/core, @tiptap/pm and @tiptap/vue-3 under playgrounds/nuxt, which that playground does not declare directly.

The @tiptap/pm override in pnpm-workspace.yaml moves with the family, as its own comment instructs. Verified: one @tiptap/pm@3.31.3 in the lockfile.

The companion change, which the existing override's comment predicted

The bump broke typecheck in all three copies of the editor completion extension:

EditorCompletionExtension.ts(85,11): error TS2322: Type
'(this: Plugin<any>, state: EditorState) => DecorationSet' is not assignable to
'(this: Plugin<any>, state: EditorState) => DecorationSource | null | undefined'

That reads like an API change and is not one. It is two copies of prosemirror-view, so DecorationSet comes from one and DecorationSource from the other — unrelated types with the same names.

Measured against main rather than inferred:

prosemirror-view @tiptap/pm
main 1.42.0 3.30.5
after the bump 1.42.0 and 1.42.3 3.31.3

Traced: @tiptap/pm@3.31.3 wants 1.42.3, while prosemirror-dropcursor, -gapcursor, -history, -state and -tables peer-accept a range and had settled on 1.42.0.

This is exactly the failure the @tiptap/pm override exists to prevent, arriving one level down — and that override could not prevent it, because pinning the tiptap wrapper keeps one wrapper, not one prosemirror-view. So the override gains a sibling, prosemirror-view: ^1.42.3, with the reasoning beside it. After that: a single 1.42.3, and typecheck is clean.

@tiptap/core resolves to two versions — and that is not this commit's doing

main already had 3.30.2 and 3.30.5; the pair is now 3.30.5 and 3.31.3. The older line lives entirely under @nuxt/ui@4.8.2, which reaches this tree through nuxtseo-layer-devtools — a devtools dependency that never touches our Editor. Checked rather than assumed: no importer references the old version, and the package pulling it is named in the lockfile.

Recorded because a reader comparing @tiptap/core counts before and after would otherwise suspect this change.

Bookkeeping

Resolved versions read from pnpm-lock.yaml, not node_modules. Local gate green: lint · typecheck · build (3.87 MB) · test (347 files, 7895 passed, 6 skipped) · test:module · repl:build.

Still ahead

Six upstream commits: 7224333b (upstream's own release), 5fd94e13 (theme editor docs), 9076ca2d (virtualizer size fallback), and three docs-only commits.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JS8ypVfQSFzYVZzkTHhURb


Generated by Claude Code

…42bf3b)

All 25 `@tiptap/*` declarations across five manifests sat at `^3.30.5`,
upstream's exact pre-image, `playgrounds/demo` included. The `@tiptap/pm`
override moves with the family, as its own comment instructs.

The bump broke `typecheck` in all three copies of the editor completion
extension:

    TS2322: Type '(state: EditorState) => DecorationSet' is not assignable to
    '(state: EditorState) => DecorationSource | null | undefined'

That reads like an API change and is not one. It is two copies of
`prosemirror-view`, so `DecorationSet` comes from one and `DecorationSource`
from the other and the two are unrelated types.

Measured against `main`: `prosemirror-view` was 1.42.0 alone, and after the bump
1.42.0 *and* 1.42.3. `@tiptap/pm@3.31.3` wants 1.42.3, while
`prosemirror-dropcursor`, `-gapcursor`, `-history`, `-state` and `-tables`
peer-accept a range and had settled on 1.42.0.

This is the failure the `@tiptap/pm` override exists to prevent, arriving one
level down — and that override could not prevent it, because pinning the tiptap
wrapper keeps one wrapper, not one `prosemirror-view`. So it gains a sibling,
with the reasoning beside it. A single 1.42.3 afterwards, and types are clean.

`@tiptap/core` resolves to two versions and that is not this commit's doing:
`main` already had 3.30.2 and 3.30.5. The older line lives entirely under
`@nuxt/ui@4.8.2`, reached through `nuxtseo-layer-devtools` — a devtools
dependency that never touches our `Editor`. No importer references it. Recorded
so a reader comparing counts does not suspect this change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JS8ypVfQSFzYVZzkTHhURb
`2d4782ba` went in with `pending-merge` in both fields, as PORTING.md §6 step 4
requires. That PR has now merged:

- `2d4782ba` → #552 / `704312db`

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JS8ypVfQSFzYVZzkTHhURb
@IgorShevchik
IgorShevchik merged commit 8cd4eca into main Sep 8, 2026
2 checks passed
@IgorShevchik
IgorShevchik deleted the sync/nuxt-042bf3b7 branch September 8, 2026 11:11
IgorShevchik added a commit that referenced this pull request Sep 8, 2026
…94e1) (#555)

* docs(popover): use the documented trigger-width variable (nuxt/ui@5fd94e1)

Two upstream commits, ledger-only but for one token.

`7224333b` is upstream's release of v4.11.1 — their version bump and generated
changelog. This fork is versioned independently, so there is nothing to land.
It is worth reading anyway: a release commit states the set that went into it,
and all 14 commits named in those notes are present in `processed` with a
decision. Nothing slipped past the cursor.

`5fd94e13` adds a Theme Studio — 368 files, all under `docs/`. Almost none of it
applies, because the thing it edits does not exist here: the Studio reshapes a
Tailwind colour palette, while this fork's colours are a fixed enumerated set of
Bitrix24 air styles mapped to CSS tokens. There is no palette to shuffle and no
shade to drag, and no `ThemePicker` or `theme.vue` page to extend.

The rest is upstream's docs site and ours is a different one. Twenty of the
modified files exist here by the same path, which looks like overlap until the
contents are compared — not one carries upstream's pre-image. `docs/nuxt.config.ts`
differs by 871 lines, `ai.post.ts` by 453, `2.css-variables.md` by 395.

What does apply is one token in the Popover anchor example:
`--reka-popper-anchor-width` → `--reka-popover-trigger-width`.

This is a rename, not a fix. Read from the installed reka rather than assumed —
`PopoverContentImpl.vue:81` sets `'--reka-popover-trigger-width':
'var(--reka-popper-anchor-width)'`, so the new name is an alias of the old one on
the same element and nothing renders differently. Taken because a docs example is
what a reader copies and the alias is the documented Popover-level name.

Verified against the built site, not the source: the generated CSS carries
`--reka-popover-trigger-width` twice and the old name zero times.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JS8ypVfQSFzYVZzkTHhURb

* chore(sync): reconcile the #553 ledger entry

`042bf3b7` went in with `pending-merge` in both fields, as PORTING.md §6 step 4
requires. That PR has now merged:

- `042bf3b7` → #553 / `8cd4eca9`

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JS8ypVfQSFzYVZzkTHhURb

---------

Co-authored-by: Shevchik Igor <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants