2023-01-21: Ecoji.rbのブラウザで動くデモを作った
やったこと
Ecoji
ruby.wasm
を使ってブラウザで動くデモを作った。
https://makenowjust.github.io/ecoji.rb/
とりあえず動いている。
Gemのファイルを memfs
に追加して preopens
で指定しても、なぜか Function not implemented
と出て読み込めなかったので、wasi-vfs
を使って追加して読み込むようにした。
ファイル自体は読み込めるので、require
を eval
と File.read
に置き換えればいけなくもないのだけど、あまりに強引な気がするのでやめておくことにした。
wasi-vfs
を使う場合も、ルートディレクトリ直下にしないと Ruby 側が上のディレクトリをトラバースしようとしてエラーになるので注意。
これは memfs
側に上の階層のディレクトリを追加しておけば直りそうな気もする。
JavaScriptに埋め込んでしまっているけど、いい感じに分割にしてほしさがある。
どうにかならないものか。
何はともあれやりたいことはできたので満足。