Skip Navigation

Use the /workerd Subpath for @cf-wasm Packages in Cloudflare Workers

CodeCloudflareTypeScript

Importing the bare specifier in a Worker throws WebAssembly.Module(): Wasm code generation disallowed by embedder. The bare build resolves to the node export, whose resvg dependency compiles wasm at runtime. workerd forbids that. The /workerd subpath ships precompiled .wasm instead:

// fails in workerd: a transitive dep calls new WebAssembly.Module()
import { ImageResponse } from "@cf-wasm/og"
// works: statically imports precompiled wasm
import { ImageResponse } from "@cf-wasm/og/workerd"

For any @cf-wasm/* package in a Worker, reach for the /workerd subpath.

Reference: @cf-wasm/og on npm