`tsc --noEmit` (first step of `npm run build`) type-checks the shared
@k6n/cms-editor sources, which resolve tiptap from the backoffice tree:
core 3.30.2 mixed with a nested markdown 3.32.2 whose Extension type no
longer fits the older core's `Extensions`. Our own node_modules holds a
uniform 3.32.2 set, so map @tiptap/* there in tsconfig paths. Vite does
not read tsconfig paths (it aliases @k6n/cms-editor manually), so
bundling and runtime resolution are untouched.
🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
Injectable React editor that is side-loaded onto the statically rendered
page and edits through the CMS HTTP API (POST /api/edit).
- Shadow-root UI over server HTML; patches morphed in, undo/redo from
server inverses (reuses @k6n/cms-editor EditClient/morph/markdown editor)
- Sign-in via go-auth device grant as the CMS client (aud matches), token
refresh + 401 retry; live preview swapped in on load and on tab focus
- Schema-driven property form (arrays, maps, variants, $ref, validation)
- Every string property editable where it is rendered (value-bound inline
fields and attribute chips), markdown WYSIWYG for marked fields
- Block palette + drag & drop with ghost drop targets, insertion slots,
sort snapping between siblings (Alt to nest)
- x-style annotations: on-page padding/margin/gap handles, Style panel,
wrap-in-layout; x-graph label/group for titles and grouping
- Dev workflow: Vite proxy to the live site (token injected server-side)
or an offline in-memory mock CMS; jsdom test suite
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>