Skip to content

v0.15.0

Choose a tag to compare

@Innei Innei released this 21 May 19:03
· 79 commits to main since this release
79f365b

Summary

This release extracts LiteXML clipboard handling from the editor core into a standalone plugin and reworks @haklex/rich-litexml to ship platform-specific entries (browser uses native DOMParser, node uses linkedom for SSR). Numerous internal refactors migrate to /static sub-path imports and the build pipeline moves to unplugin-dts.

Breaking Changes

  • @haklex/rich-editor's MarkdownPastePlugin no longer detects LiteXML on paste. Downstream consumers that relied on pasting Haklex XML now MUST install and render the new plugin.

    Migration:

    pnpm add @haklex/rich-plugin-litexml-paste@^0.15.0
    import { LiteXmlPastePlugin } from '@haklex/rich-plugin-litexml-paste'
    
    <RichEditor ...>
      <LiteXmlPastePlugin />
      {/* other plugins */}
    </RichEditor>
  • @haklex/rich-litexml . export is now conditional (browser / node). Consumers with bundlers that don't support package exports conditions (very old setups) may pick up the node entry which depends on linkedom. Modern Vite / Next.js / esbuild handle this automatically.

Features

  • NEW package @haklex/rich-plugin-litexml-paste — standalone LiteXML paste plugin with detectLiteXml / parseLiteXmlSerializedNodes helpers.
  • @haklex/rich-litexml ships split entries: dist/browser.mjs (native DOMParser) and dist/node.mjs (linkedom for server-side parsing).

Other

  • Migrate to /static sub-path imports across rich-ext-* and rich-renderer-* packages — slimmer trees for read-only renderer paths.
  • Bump dependencies to latest (@base-ui/react@1.5.0, shiki@4.1.0, vitest@4.1.7, etc.) and migrate build pipeline from vite-plugin-dtsunplugin-dts.
  • release-orchestrator skill: surface draft edit URL instead of tag view.

Bump rationale

Package Signal Bump
@haklex/rich-litexml New conditional . export (browser/node) minor
@haklex/rich-editor MarkdownPastePlugin loses LiteXML detection (extracted) minor
@haklex/rich-plugin-litexml-paste NEW package — first publish (new)
@haklex/rich-renderer-mermaid useMermaidRender internal refactor patch
Other rich-ext-* / rich-renderer-* /static import migration patch

Highest-wins across the shared version → minor (0.14.1 → 0.15.0).