Skip to content

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

Draft
d3m1d0v wants to merge 1 commit intomainfrom
upd-extension-builder
Draft

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

Conversation

@d3m1d0v
Copy link
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

gravity-ui bot commented Mar 14, 2026

Storybook Deployed

@gravity-ui
Copy link

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
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