You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Editor: a React-free entry for the TipTap extensions, and custom block types in BlockEditor #62
javaabu/block-editor (Javaabu/block-editor#2) reuses Onu's TipTap pieces from @javaabu/onu/editor: ThaanaKeyboard, AutoDirection, CalloutNode and Embed, plus attachThaanaKeyboard from @javaabu/onu/thaana. Its editor UI is framework-free, so Blade apps can use it without React.
Two things would make that cleaner. Neither blocks block-editor; it works today.
A React-free entry for the TipTap extensions.@javaabu/onu/editor re-exports the React editors, so a Vite build that only uses ThaanaKeyboard still has to resolve react, @tiptap/react, @tiptap/static-renderer, radix-ui and the rest. They tree-shake out of the bundle, but Blade-only apps must install them. Something like @javaabu/onu/editor/extensions (ThaanaKeyboard, AutoDirection, CalloutNode, Embed, createSchemaExtensions, toEmbedUrl, isSafeUrl) and a React-free @javaabu/onu/thaana/core (keymaps, transliterate, attachThaanaKeyboard) would fix that.
Custom block types in BlockEditor's / and + menus (a blocks prop of BlockType[] rather than the closed BlockTypeId union). With that, a React-only app could use Onu's BlockEditor for simple custom blocks. block-editor keeps its own shell either way, because its blocks come from PHP config with settings panels.
detectDirection / resolveBlockDirection would also be handy exports. block-editor has its own copy, so its PHP renderer and React renderer agree.
Now that manifest has npm scopes (Javaabu/manifest#17), this matters for more than bundle size. The javaabu/block-editor Blade entry imports ThaanaKeyboard, AutoDirection, CalloutNode and Embed from @javaabu/onu/editor. Because that module also imports react, @tiptap/react and @tiptap/static-renderer, block-editor has to keep React in its assets scope, and manifest:check asks Blade-only apps to install it. A React-free entry, e.g. @javaabu/onu/editor/extensions, would let block-editor move React to for: 'pages'.
Activity
Scope React-only npm deps to pages; React components import their CSS
n4ff4h commentedon Nov 6, 2026
Now that manifest has npm scopes (Javaabu/manifest#17), this matters for more than bundle size. The javaabu/block-editor Blade entry imports
ThaanaKeyboard,AutoDirection,CalloutNodeandEmbedfrom@javaabu/onu/editor. Because that module also importsreact,@tiptap/reactand@tiptap/static-renderer, block-editor has to keep React in its assets scope, andmanifest:checkasks Blade-only apps to install it. A React-free entry, e.g.@javaabu/onu/editor/extensions, would let block-editor move React tofor: 'pages'.Judge only permissions' own npm requirements in the manifest:check tests