近年シェアを拡大しているSvelteKitというフレームワークがあります。 SvelteKitはフロントエンドフレームワークにSvelteを採用しており文法がHTMLに極度に似ているため直書きユーザーにもやさしいフレームワークです。
そしてSvelteKitではアダプターというシステムを採用しています。 そのシステムのおかげで公式のアダプター以外にもユーザー側がアダプターを作る事によって様々なホスティングサービスに対応させることが出来ます。 今回はその特性を活かしてSvelteKit用のHonoアダプターを作りました。
これによってSvelteKitで作ったプロジェクトをHono製のウェブサーバーに組み込むことが出来ます。
話す内容
serveStaticを自作する
hono公式のserveStaticは相対パスのみしかサポートしていません。
無ければ作ればいいじゃないかという事でhono公式のserveStaticをベースに自作しました。
公式アダプターの @sveltejs/adapter-node
をHonoに置き換える過程
SvelteKit公式のadapter-honoには元々express.js用のハンドラーが用意されています。 SvelteKitユーザーが使いやすいようにするためにこちらを参考に作成することにしました。
環境変数でのポート指定やハンドラー機能などはそのままにミドルウェアや静的ファイルサーバーなどをHonoに置き換えました。
成果物