Back to Next Js

Dynamic WASM compilation is not available in Middlewares

errors/middleware-dynamic-wasm-compilation.mdx

16.2.8823 B
Original Source

Why This Error Occurred

Compiling WASM binaries dynamically is not allowed in Middlewares. Specifically, the following APIs are not supported:

Possible Ways to Fix It

Bundle your WASM binaries using import:

ts
import { NextResponse } from 'next/server'
import squareWasm from './square.wasm?module'

export default async function middleware() {
  const m = await WebAssembly.instantiate(squareWasm)
  const answer = m.exports.square(9)
  const response = NextResponse.next()

  response.headers.set('x-square', answer.toString())
  return response
}