Celld supports WebAssembly via V8’s own engine. A bundle can import aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/denoland/celld/llms.txt
Use this file to discover all available pages before exploring further.
.wasm file as a compiled WebAssembly.Module — the same as on Cloudflare. No special runtime configuration is required, and V8’s Wasm support is available without restrictions.
Importing Wasm
Add a.wasm file to your Wrangler project. When celld deploy bundles the project, esbuild treats .wasm imports as compiled WebAssembly.Module objects:
wrangler.jsonc does not need any special key for Wasm imports — just reference the file in your JavaScript:
Using Wasm in a Durable Object
Import the module at the top of the file and instantiate it inside the Durable Object. Because each cell has its own memory, each instance is isolated:Rust + workers-rs
Theexamples/wasm project is a complete Durable Object counter written in Rust, compiled to Wasm with workers-rs. The Rust source handles the fetch handler and storage calls — no JavaScript is needed beyond the generated shim.
The Wasm example requires a build step before deploy. Run
worker-build --release to compile the Rust crate and generate
build/worker/shim.mjs. See the
examples/wasm README
for the full build instructions.wrangler.jsonc for the Rust example points at the generated shim:
Supported Wasm features
V8’s WebAssembly support is available in full, without restrictions:| Feature | Notes |
|---|---|
WebAssembly.Module | Import a .wasm file directly — it arrives as a compiled module. |
WebAssembly.Instance | Instantiate a module with an imports object. |
WebAssembly.Memory | Create or import linear memory with shared flag support. |
| Imports / exports | Pass JavaScript functions as Wasm imports; call Wasm exports from JavaScript. |
| SIMD | Available where V8 supports it. |
| Threads (shared memory) | Available with SharedArrayBuffer and a shared WebAssembly.Memory. |