2024年11月10日日曜日

bolt.newでhonox starterを用意する実験

bolt.newは基本remix stack(nodejs, react)なのだが、

フロントだけ載せ替えられるのか、実験してみた。

結論、簡単にはできない。



参照元

git clone https://github.com/kristianfreeman/cloudflare-d1-prisma-honox-starter



WebContainerの制限により、Gitは利用できませんが、代わりに同様のプロジェクトを最初から構築するお手伝いができます。

HonoX、Prisma、SQLiteを使用した新しいプロジェクトを作成しましょうか?以下の機能を含めることができます:

  • HonoXウェブフレームワーク
  • データベースとしてのSQLite(Cloudflare D1と互換性あり)
  • TypeScriptのサポート
  • モダンな開発環境

プロジェクトの作成を進めてよろしいでしょうか?



さらに進める


以下の機能を含むプロジェクトを作成しました:

  • HonoXウェブフレームワークによるルーティングとレンダリング
  • Prismaを使用したSQLiteデータベース管理
  • TypeScriptによる型安全性
  • 投稿(Posts)の基本的なCRUD機能の準備
  • モダンな開発環境(Vite)

開発サーバーが起動し、アプリケーションにアクセスできる状態になっています。


まぁ↑で動かないんだが・・・



エラーでまくって、自動修正しても全く動かない。

自動だと筋違いの修正をしまくって構造を壊す。

しまいにはSQLiteを捨ててD1直アクセスすると言い出した。

SQLiteに戻せと言ったら、ORMのPrismaを捨てて、better-sqlite3直アクセスする様な変更を加えられた。


まぁ予想通りだが。

かなり丁寧に構成を解説しないと、いらんことをする。

現状でちょっといい方法が見当たらない。


改善案として、js stackの構成アノテーションみたいな取り決めがあるとAIでもっと使いやすいと思う。


2024年11月9日土曜日

2024年11月8日金曜日

bolt.newで作った物をとりあえず動かす。

<プロンプト>
expressに変換、SQLiteで保存。


<導入手順>
- 手順1【環境構築】
nodejsをインストール
ngrokをインストール
boltのプロジェクトをダウンロードして解凍

- 手順2【セットアップ&実行】
解凍したフォルダでターミナルを開き
npm install
npm run dev

- 手順3【公開】
別のターミナルを開き以下を実行
ngrok http 5173




送信したデータを保存できるように、
バックエンドをexpress、DBをSQLiteにしてみた。
とりあえずまとに動くわ。
こんな糞みたいなものにVPS使いたくないないので、ngrok使おうかと思ったが、自分のPCすらも使いたくない!
cloudflare-workers / cloudflare-D1などのJSエッジサーバ用に変換できるのか?

試してもいないが、boltだけじゃ無理そうな匂いがするので、cursorでいじるしかないかな?

2024年11月7日木曜日

drizzle-kit studio

これは便利だわ。

<参考メモ>
ローカルでDrizzle StudioとD1 Driverを使用する際の注意点
https://zenn.dev/king/articles/3d5610429811eb

2024年11月6日水曜日

bolt.new業務には全く向かない

込み入った物は作れない。

基本web containerなのでSQLiteのファイルベース(ブラウザストレージ)が関の山。


# webcontainer版(SQLite) 作ってみた

https://ornate-kangaroo-eb3b0f.netlify.app/



クラウドデータベース使うとか、oAuthとか組み合わせればできるけど・・・

その構成で権限が複雑なシステムだと、管理が煩雑になるし。

# Firebase版 作ってみた

ログインまで実装できちゃった。

https://frolicking-bienenstitch-9f4f3a.netlify.app/



このアプリケーションはバックエンドのNode.jsアプリケーションであり、SQLiteデータベースを使用しているため、Netlifyなどの静的ホスティングサービスにデプロイすることはできません。

その理由は以下の通りです:

  1. Node.jsサーバーの実行環境が必要
  2. インメモリSQLiteデータベースを使用している
  3. サーバーの状態管理とAPIリクエストの処理が必要

このアプリケーションを本番環境にデプロイするためには、以下のような対応が必要です:

  1. Node.jsアプリケーションを実行できるサーバー/クラウドプラットフォーム(Heroku、DigitalOcean、AWSなど)の使用
  2. インメモリSQLiteの代わりに、本番環境向けの適切なデータベース(PostgreSQL、MySQL、MongoDBなど)への移行
  3. 本番環境用の設定とセキュリティ対策

以下のいずれかの対応をご希望の場合、お申し付けください:

  1. Netlifyにデプロイ可能な静的フロントエンドアプリケーションへの変更
  2. 適切なサーバープラットフォームへのデプロイ手順の提供

ご希望の対応をお知らせいただければ、次のステップをご案内いたします。 



もちろんrust(axum)、surrealdbなんて全く動かないから!!


2024年11月5日火曜日

あいうえお