Skip to content

fix(web): exact-pin coordinated Tiptap packages + CI drift guard (BUG-2009)#838

Merged
xarmian merged 1 commit into
mainfrom
fix/bug-2009-tiptap-exact-pins
Jul 7, 2026
Merged

fix(web): exact-pin coordinated Tiptap packages + CI drift guard (BUG-2009)#838
xarmian merged 1 commit into
mainfrom
fix/bug-2009-tiptap-exact-pins

Conversation

@xarmian

@xarmian xarmian commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

BUG-2009

CLAUDE.md ("Tiptap multi-package coordinated bumps") mandates exact-pinning the coordinated Tiptap packages so npm update cannot silently slide the shared Y.Doc/ProseMirror schema out of sync (divergent collab ops the relay can't reconcile). In practice @tiptap/core (^3.22.5), @tiptap/y-tiptap (^3.0.3) and @tiptap/pm (^3.20.4) were still on caret ranges — only @tiptap/extension-collaboration was exact. The lockfile was coherent today but any npm update would slide it.

Changes

  • Exact-pin @tiptap/core3.22.5, @tiptap/y-tiptap3.0.3, @tiptap/pm3.22.5 (their currently-resolved versions; no resolved-version change, lockfile only lost the three caret chars).
  • New drift guard web/scripts/check-tiptap-pins.mjs (+ npm run check:tiptap-pins): fails if any of the four coordinated packages loses its exact pin in package.json OR resolves to more than one version in the lockfile.
  • CI: wired the guard into the web job right after npm ci.

Verification

  • npm run check:tiptap-pins → OK (4 packages exact-pinned and single-versioned); negative-tested that a caret pin makes it exit 1.
  • npm run check → 0 errors; npm run build → green.
  • Prod npm audit --audit-level=high --omit=dev still exits 0 (unchanged).
  • Codex review: no issues.

…-2009)

CLAUDE.md mandates exact-pinning the coordinated Tiptap packages so npm
cannot silently slide the shared Y.Doc/ProseMirror schema out of sync.
@tiptap/core (^3.22.5), @tiptap/y-tiptap (^3.0.3) and @tiptap/pm (^3.20.4)
were still floating on caret ranges; only @tiptap/extension-collaboration
was exact.

- Exact-pin @tiptap/core, @tiptap/y-tiptap and @tiptap/pm to their
  currently-resolved versions (3.22.5 / 3.0.3 / 3.22.5); refresh lockfile.
- Add web/scripts/check-tiptap-pins.mjs + check:tiptap-pins npm script:
  fails if any coordinated package loses its exact pin in package.json or
  resolves to more than one version in the lockfile.
- Wire the guard into the CI web job.
@xarmian xarmian merged commit 982f534 into main Jul 7, 2026
4 checks passed
@xarmian xarmian deleted the fix/bug-2009-tiptap-exact-pins branch July 7, 2026 20:11
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.

1 participant