Our great sponsors
-
EdgeChains
EdgeChains.js Typescript/Javascript production-friendly Generative AI. Based on Jsonnet. Works anywhere that Webassembly does. Prompts live declaratively & "outside code in config". Kubernetes & edge friendly. Compatible with OpenAI GPT, Gemini, Llama2, Anthropic, Mistral and others
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
orval
orval is able to generate client with appropriate type-signatures (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in yaml or json formats. 🍺
Please could a fellow HNer who has experience using this explain in simple terms what Hono on a Cloudflare Worker enables that one cannot already do with a vanilla worker?
The docs[0] are not instructive on this point.
[0] https://hono.dev
We build a WASM compiler to compile our prompts and chains into webassembly. Honojs was a critical part of it.
https://github.com/arakoodev/EdgeChains/
I also mulled over this weird idea a while back!
https://github.com/bensmithett/coexist
Have you looked at AICI by Microsoft yet?
https://github.com/microsoft/aici/
Hono is great! I used it to build a dev blog w/ Cloudflare workers, source is here if anyone's curious: https://github.com/brycedorn/blog
This is also called a framework:
https://github.com/cloudflare/pingora
Pingora is actually fast and small (it does not require a JS engine). Way faster and smaller than Hono.
If you want something to be really fast: do not use RegExes.
That's actually something I find a bit awkward, too. Especially, there was no way to re-use the global Hono error handler for all OpenAPI routes. I created an issue[1] with my suggested workaround and was told that that's the way to go. Maybe things are that way because `zod-openapi` was introduced later on. But I believe in the end it doesn't really matter that much as the code is clean and readable. :)
[1] https://github.com/honojs/middleware/issues/323#issuecomment...
In cases where the client needs to stay separate, we have had a good experience with Orval[1] to generate a fully-typed @tanstack/query client from our OpenAPI spec.
[1] https://orval.dev/