Skip to content

Add initial SSR support for LiveProvider previews - #1

Open
tujoworker wants to merge 1 commit into
dnbexperience:masterfrom
tujoworker:feat/ssr
Open

Add initial SSR support for LiveProvider previews#1
tujoworker wants to merge 1 commit into
dnbexperience:masterfrom
tujoworker:feat/ssr

Conversation

@tujoworker

Copy link
Copy Markdown
Member

Summary

Adds server-side rendering (SSR) support for LiveProvider, allowing previews to render during the initial server render pass instead of being empty until client-side hydration.

Changes

  • LiveProvider.tsx: Refactored state initialization so that when useState runs (including on the server), it synchronously transpiles the provided code and produces an element — enabling LivePreview to render meaningful content in renderToString / renderToStaticMarkup.
  • transpile/index.ts: Minor adjustment to support the SSR transpilation path.
  • LiveProvider.ssr.test.js: New test suite covering inline previews, noInline previews, synchronous transformCode, and the async transformCode deferred case.
  • Docs (api.md, usage.md): Updated to document SSR behavior and usage.

Behavior

ScenarioSSR output
Inline codeRendered preview
noInline with render()Rendered preview
Synchronous transformCodeRendered preview
Async transformCodeEmpty preview (deferred to client)

@tujoworker
tujoworker requested a review from langzMay 20, 2026 12:25
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@tujoworker