GitShow/honojs/honox
honojs

honox

HonoX - Hono based meta framework

by honojs
Star on GitHubForkWebsitenpm

TypeScript

2.9k stars94 forks37 contributorsActive · 1mo agoSince 2023v0.1.61MIT

Meet the team

See all 37 on GitHub →
yusukebe
yusukebe232 contributions
usualoma
usualoma13 contributions
3w36zj6
3w36zj66 contributions
bruceharrison1984
bruceharrison19843 contributions
meck93
meck933 contributions
muningis
muningis3 contributions
ryuapp
ryuapp3 contributions
berlysia
berlysia3 contributions

Languages

View on GitHub →
TypeScript99.9%
JavaScript0%
MDX0%

Commit activity

Last 12 weeks · 8 commits

Full graph →

Community health

3 of 6 standards met

Community profile →
50
✓README✓License✓Contributing○Code of Conduct○Issue Template○PR Template

Recent PRs & issues

Active · Last activity 1mo ago
See all on GitHub →
3w36zj6
feat: support pluggable island renderers with matching root IDsOpenPR

closes #240 closes #256 Summary Use matching root boundaries and deterministic root IDs when rendering islands on the server and hydrating them on the client. This fixes React BYOR cases where produced different values during SSR and hydration. Headless UI components from libraries such as Ark UI and Radix Primitives can now use the same generated IDs on the server and client to associate triggers with their content. This change also adds a renderer API that decouples island creation and hydration from the JSX implementation. Hono JSX remains the default, while applications can provide adapters for React, Preact, and Solid. Background Previously, React BYOR rendered the entire page as one React tree on the server but called separately for each `useId()identifierPrefixclient()honox/vite/clienthonox()honox()hydratecreateElementcreateChildrencreateClient()ServerRendererClientRenderercreateApp({ renderer })createClient({ renderer })renderercreateApp()createClient()hydratecreateElementcreateClient()renderercreateChildrenrenderer.createElementcreateApp()ServerRendererclient.jsxImportSourceislandComponents.reactApiImportSourcejsxImportSourcetsconfig.jsondeno.jsondeno.jsonchonox()island_roothonox-0data-hono-rootidentifierPrefixtemplate[data-hono-template]` elements and remove those templates from the DOM. Extracting a parent island's templates does not consume templates inside nested islands or siblings outside the island. Do not apply server-only HonoX plugins during client builds. Review question The renderer API makes HonoX pluggable, but BYOR still requires substantial configuration. Should HonoX provide adapters for common renderers such as React, Preact, and Solid? tsdown currently generates package exports for every entry point. This is a known issue and is intentionally outside the current scope. Should this PR also adjust the tsdown configuration?

3w36zj6 · 1w ago
saitojo1106
`<Script>` silently renders nothing when the client manifest is missing or has no matching entryOpenIssue

`Script/dist/.vite/manifest.jsonsrcdata-hono-hydratednpm create hono@latestx-basicoutDirvite.config.tsvite build --mode client && vite build`, which has the same shape. I am happy to send a PR if this direction looks right.

saitojo1106 · 1w ago
y-okady
Allow customizing the island directory with islandDir without specifying ISLAND_FILESOpenIssue

What is the feature you are proposing? When placing island component files under , the following configuration works as expected: However, the following configuration does not work when placing them under : I found a workaround by specifying the option in as shown below, but ideally I would like to change the island directory and load files as island components without using this option — just by configuring the Vite plugin.

y-okady · 1mo ago

Recent fixes

View closed PRs →
yusukebe
chore: update the lockfileMergedPR
yusukebe · 1mo ago
yusukebe
fix(client): harden nested island hydrationMergedPR
yusukebe · 1mo ago
mrtska
fix(runtime): Fix nested island hydration for named exports and template propsMergedPR

Summary Fix hydration for islands rendered inside another island through a component prop. An island is normally hydrated from a top-level `defaultcomponent-exportprops.childrendata-hono-templatecontentimagecomponent-exportdefaultdata-hono-template`. Add a generic test covering named nested island exports and named template props.

mrtska · 1mo ago
Structured data for AI agents

Repository: honojs/honox. Description: HonoX - Hono based meta framework Stars: 2931, Forks: 94. Primary language: TypeScript. Languages: TypeScript (99.9%), JavaScript (0%), MDX (0%). License: MIT. Homepage: https://hono.dev Latest release: v0.1.61 (1mo ago). Open PRs: 5, open issues: 57. Last activity: 1mo ago. Community health: 50%. Top contributors: yusukebe, usualoma, 3w36zj6, bruceharrison1984, meck93, muningis, ryuapp, berlysia, mika-f, mrtska and others.

·@ofershap

Replace github.com with gitshow.dev