This source tree contains Limbo Wasm bindings.
For nodejs
./scripts/build
For web
./scripts/build web
Adding experimental support for limbo in the browser. This is done by adding support for OPFS as a VFS.
To see a basic example of this npm run dev
and navigate to http://localhost:5173/limbo-opfs-test.html
and open the console.
This design mirrors sqlite's approach for OPFS support. It has a sync api in opfs.js
which communicates with opfs-sync-proxy.js
via SharedArrayBuffer
and Atomics.wait
. This allows us to live the VFS api in lib.rs
unchanged.
You can see limbo-opfs-test.html
for basic usage.
There are OPFS specific unit tests and then some basic limbo unit tests. These are run via npm test
or npx vitest
.
For more info and log output you can run npx vitest:ui
but you can get some parallel execution of test cases which cause issues.
-[] Add a wrapper js that provides a clean interface to the limbo-worker.js
-[] Add more tests for opfs.js operations
-[] Add error return handling
-[] Make sure posix flags for open are handled instead of just being ignored (this requires creating a mapping of behaviors from posix to opfs as far as makes sense)