← トップページに戻る

Blogをバイブコーディングした

ぎじゅつ
HonoXBunVite

はじめに

結論

何をしたか

要求確認

まず技術選定をした
要望は以下だった

利用技術の選定

以下の技術を利用した
NO IMAGEBun — A fast all-in-one JavaScript runtimeBundle, install, and run JavaScript & TypeScript — all in Bun. Bun is a new JavaScript runtime with a native bundler, transpiler, task runner, and npm client built-in.@bunjavascript
ViteViteNext Generation Frontend Toolingvitejs
VitestVitestNext generation testing framework powered by Vite
GitHub - honojs/honox: HonoX - Hono based meta frameworkGitHub - honojs/honox: HonoX - Hono based meta frameworkHonoX - Hono based meta framework. Contribute to honojs/honox development by creating an account on GitHub.GitHub

理由は

マイグレーション作業

該当のPR
Refactor honox by Xantibody · Pull Request #32 · Xantibody/raizawa-blogRefactor honox by Xantibody · Pull Request #32 · Xantibody/raizawa-blogGitHub
Hugoからマイグレーションを行なった
とはいえ元々markdownで管理していたのでそれを確保して一旦全部消した
そのあとに、flake.nixにbunwranglerを入れただけだった
あとはひたすらにバイブコーディング

新規実装

つまった部分

そもそもの機能の把握や、アンテナがなかったので調査が大変だった
たとえばハイライト
highlight.jshighlight.jsThe Internet's favorite JavaScript syntax highlighter supporting Node.js and the web.
最初はこちらをすすめられたが、あんまり綺麗ではなく探しまわった
ShikiShikiA beautiful yet powerful syntax highlighter
そしてShikiに辿りついた
そこでmarkdown-itに対応しているって書いてあり
ShikiShikiA beautiful yet powerful syntax highlighter
markedを初めにClaude Codeが選定していたのでmarkdown-itに変えた
こんな感じでつじつまがあうように実装してもらっていった

あとはviteのhotload機能を使いたかったのだが、Cloudflare Workersでは以下のエラーがでてしまい静的にbuildしなければならなくなった

▲ [WARNING] The package "node:async_hooks" wasn't found on the file system but is built into node.

そのため、Claude Codeが更新されたら再ビルドするvite pluginを作ってくれた
本当にこれでいいのか。。。

終わりに

満足のいく出来が再現できてしまったせいで言語のこと、実装のことが何もわからなかった
現在、Rustを細かく勉強しているからこそ、実装をじっくり見なければなーなど思った
しかし、表現したいものがすでにあって、それを実現するための手間がなくなると嬉しいなと体感した
なぜなら、実装そのものを試行錯誤したいわけでなく、その表現そのものが正しいかの試行錯誤がしたいから
そういう意味では本質的なやりたいことがわかって嬉しくはあった