Fresh 用の Bootstrap 5 プラグインを公開

先日、Fresh(Deno) で Bootstrap 5 をプラグインで使うを書いた。

このプラグインの話を、Denoハンズオン&もくもく会:Fresh + KV へ伺ったときにした。

「Freshは、Preact を使っているゆえに、コンポーネントライブラリの選択肢が少なめ」という話の流れで。
Bootstrap 5 をプラグインで導入することはなかったのだけど、比較的印象が良かった(良さそうだった)ので、改めて公開した。

メモがてらまとめ。

Read More

Fresh上でBabylon.jsを動かす - Havokを使った物理シミュレーションを非ブラウザ環境で

Babylon.jsを、Freshで動かしたいということを少し前から考えていた。
以前トライした時には、Preactとのつなぎ込みをうまくできずに断念した。

しかし、Fresh(Deno) で Bootstrap 5 をプラグインで使うを書き進めていたら、これを転用できると思い至った。

なのでやってみる。

この実装にあたり、DenoコミュニティとBabylon.jsコミュニティにいくつか質問を投げ込ませていただいた。感謝。

実装物はこちら。

github - Octo8080X/fresh-babylon-physics

最終的には、以下のような画面が完成します。

とりあえず動かしてみたい場合はこちら。

fresh-babylon-physics.deno.dev

Read More

Deno Deployで静的解析できないダイナミックインポートは、できない(が、条件付きで回避できることがある)

Deno Advent Calendar 2023 14 日目の記事です。

最近、Luciaを使ったFresh用の認証プラグイン「Plantation」を作った。

ダイナミックインポートも使って、デフォルトの使いやすさとユーザーでのカスタマイズ性を頭に入れて実装した。
紹介のためにデモサイトをDeno Deployに構築したら、ダイナミックインポートが動かなかった。

調べてみると、現在の仕様の理解と回避方法で対応できたので、まとめておきたい。

Read More

Fresh(Deno) の Plugin のテスト自動化する(in github actions)

Deno Advent Calendar 2023 13 日目の記事です。

Fresh のプラグインをいくつか作って公開しているが、公開するからにはちゃんとテストも書きたかった。
そして昨今Freshの動きがなかなか激しく、新しいバージョンでも動作するための定期実行するテストも用意したかった。

数件実装して、方法が固まったので書き残したい。同じような需要の人に答えられたらうれしい。

Read More

Fresh(Deno) で Bootstrap 5 をプラグインで使う

Deno Advent Calendar 2023 12 日目の記事です。

Fresh 1.6 が公開されて、プラグインで link 要素が設定できるようになりました。
このことで、CSS をプラグインで設定できるようになりました。

ここで考えたのが、Bootstrap を Fresh にプラグインで設定できそうだったので試してみました。
Bootstrap の中でも js も入れて動くものにを確認したかったので、ツールチップの動作にフォーカス。
js も必要な Bootstrap の機能は同じように設定すれば動くでしょう。

Read More

Deno で試すデータベースアクセス(Turso - Kysely 編)

Truso の動きが活発。
以前は CLI でしか、作ったテーブルを確認できなかったのが、管理画面も増えた。
無料枠も激増した。

そんな Turso は、Kysely をサードパーティの開発者ツールとして公式に記載している。
ここではクエリビルダーとして記載されているが、マイグレーションや ORM 寄りの機能も持っている。
(TypeScript 用のタイプセーフな SQLクエリ ビルダーということで、推論も優秀な様子。)

ということで、Turso(libsql) x Kysely を試してみる。

Read More

Fresh 上の island をテストしたい

Fresh の island をテストしたかった。
それには preact のテストが必要になる。
それもランタイムは、Deno だけで解決したい。

いろいろやって、妥協点が見いだせるようになったので、一旦まとめておきたい。

(2023/10/07追記)
コミュニティーで質問投げたら、fresh_testing_library を使いなよと回答。
この記事でいろいろ書いているが、結論これを使うと解決する。

Read More

Deno で試すデータベースアクセス(SurrealDB編 - 2)

SurrealDB は、JOIN しないで効率よくデータが取れることを売りにしているところがある。
この機能は Record Linksと紹介されている。
が、親から子は非常に取りやすいのだが、子から親の方向に辿ろうとすると、苦しいものだったとわかった。

今回は、もう1つのグラフエッジを作成してデータ連携させる RELATE を試したのでメモしておく。
こちらの方が、よほど親->子、子->親も階層が深くても取りやすかった。

Read More