-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Long live to Hono! 🔥 #723
Long live to Hono! 🔥 #723
Conversation
10ad57e
to
edd0cca
Compare
I feel like we have a third phase. The third phase encompass moving all features of htmx related framework into htmx and removing from deco. Features like Async Rendering should be only on the htmx framework for instance. Loaders cache could be shared across frameworks. |
Imagine doing this before TypeScript. And some people insist TS is useless. LOL! Amazing work! |
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
@mcandeia what do you think about handling responder.headers changes that loaders can do at htmx renderFn? ctx.response.headers.set('key', 'val'). This would be useful to use early hints 103 headers |
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
AFAIK response.headers are used when building the final response |
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
This PR is part of our steps towards 2.x
Summary
This PR introduces a significant overhaul to the deco runtime, transitioning from a Fresh-specific framework to a more flexible and web-standard-first approach using Hono. This change enhances the platform's versatility, enabling compatibility with multiple front-end frameworks and broader deployment options, while maintaining seamless backward compatibility with existing Fresh sites.
Changes Overview
Before the PR:
Deno.*
), restricting deployment to other runtime environments like Cloudflare Workers.renderToString
function were built on Fresh.Head
function.After the PR:
Transition Plan
Deno.*
), to be removed in Part 2.Benefits
Migration Impact
The new fresh plugin code
Since hono exposes an universal
fetch
handler it can be used anywhere that follows webstandard, so the plugin is very simplified and it just a matter of defining a component that renders whatever is passed as a parameter and a /* route.https://github.com/deco-cx/deco/blob/remove-fresh/runtime/fresh/plugin.tsx#L36
Using HTMX + Hono
In action at storefront,
dynamic imports has been used to allow minimal configuration as possible.
Breaking changes
alienRelease
feature which has not been used for a while since admin 2.x