Skip to content

feat(core): allow independent registration and override of node/mark specs in extensions#990

Merged
d3m1d0v merged 1 commit intomainfrom
upd-extension-builder
Apr 6, 2026
Merged

feat(core): allow independent registration and override of node/mark specs in extensions#990
d3m1d0v merged 1 commit intomainfrom
upd-extension-builder

Conversation

@d3m1d0v
Copy link
Copy Markdown
Member

@d3m1d0v d3m1d0v commented Mar 14, 2026

Description

addNode/addMark bundle schema spec, parser spec, and serializer spec into a single callback, making it impossible for one extension to incrementally modify another — the only option was full replacement.

This PR adds granular registration and override methods to ExtensionBuilder:

New add methods:

  • addNodeSpec, addMarkSpec — register ProseMirror schema specs independently
  • addMarkdownTokenParserSpec — register markdown-it token → PM entity mapping
  • addNodeSerializerSpec, addMarkSerializerSpec — register serializer specs

New override methods:

  • overrideNodeSpec, overrideMarkSpec — modify previously registered schema specs
  • overrideMarkdownTokenParserSpec — modify parser token specs (works with both addNode and granular API)
  • overrideNodeSerializerSpec, overrideMarkSerializerSpec — modify serializer specs

addNode and addMark methods are marked as @deprecated.

@gravity-ui
Copy link
Copy Markdown

gravity-ui bot commented Mar 14, 2026

Storybook Deployed

@gravity-ui
Copy link
Copy Markdown

gravity-ui bot commented Mar 14, 2026

🎭 Playwright Report

@d3m1d0v d3m1d0v force-pushed the upd-extension-builder branch from fed0b73 to 90f79f8 Compare March 14, 2026 20:15
@d3m1d0v d3m1d0v force-pushed the upd-extension-builder branch from 90f79f8 to 9823331 Compare March 23, 2026 16:17
Comment thread packages/editor/src/core/ExtensionBuilder.test.ts
Comment thread packages/editor/src/core/ExtensionBuilder.ts
@d3m1d0v d3m1d0v force-pushed the upd-extension-builder branch from 9823331 to c766277 Compare April 6, 2026 13:00
@makhnatkin makhnatkin self-requested a review April 6, 2026 13:22
@d3m1d0v d3m1d0v marked this pull request as ready for review April 6, 2026 13:23
@d3m1d0v d3m1d0v merged commit e4b156c into main Apr 6, 2026
6 checks passed
@d3m1d0v d3m1d0v deleted the upd-extension-builder branch April 6, 2026 15:27
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.

Wysiwyg: split node/mark addition into separate methods in extension builder Wysiwyg: Ability to extends previously defined nodes in extensions

2 participants