alloc / alloc/saus

Partial hydration

Open
#39 1 comment 0 reactions 0 assignees View on GitHub
backlog enhancement
Dominant language
TypeScript
Stars
38
Forks
1
PR merge metrics
No merged PRs in 30d

Description

### Feature description
- When a module with `.client` before its file extension is imported, the importer (and its importers, and so on) is marked as a "server-only" module.
- Any modules marked "server-only" are never loaded on the client, and so those modules **cannot** produce HTML that relies on hydration.

### Implementation details
- The static HTML should include empty `

` elements with `data-saus` attribute that tells Saus which JS module needs to be loaded for hydration of that subtree.
- Each renderer package (eg: `@saus/react`) is responsible for hydration of each subtree.
- Each rendered page already has `.html.js` module. Ensure that module contains a map of `data-saus` attributes → JS modules, so it can import them and re-render each of the previous subtrees when a user navigates to its page.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.