Skip to content

Incorrect MIME type when loading WebAssembly module with ViteΒ #132

@stdriz

Description

@stdriz

Description

When loading the libpg-query WebAssembly module via Vite, the streaming compile fails due to an incorrect MIME type (text/html), and the fallback ArrayBuffer instantiation errors out with a magic-word mismatch.

Reproduction

https://stackblitz.com/edit/reprolibpgquery-fqbyj4us?file=src/main.ts

Expected behavior

The .wasm module should be served with application/wasm and instantiate successfully.

Actual behavior

client:789 [vite] connecting...
client:912 [vite] connected.
libpg-query.js?v=c2aa8f51:219 wasm streaming compile failed: TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'.
instantiateAsync @ libpg-query.js?v=c2aa8f51:219
await in instantiateAsync
createWasm @ libpg-query.js?v=c2aa8f51:251
(anonymous) @ libpg-query.js?v=c2aa8f51:2411
(anonymous) @ libpg-query.js?v=c2aa8f51:2569
libpg-query.js?v=c2aa8f51:220 falling back to ArrayBuffer instantiation
instantiateAsync @ libpg-query.js?v=c2aa8f51:220
await in instantiateAsync
createWasm @ libpg-query.js?v=c2aa8f51:251
(anonymous) @ libpg-query.js?v=c2aa8f51:2411
(anonymous) @ libpg-query.js?v=c2aa8f51:2569
libpg-query.js?v=c2aa8f51:208 failed to asynchronously prepare wasm: CompileError: WebAssembly.instantiate(): expected magic word 00 61 73 6d, found 3c 21 44 4f @+0
instantiateArrayBuffer @ libpg-query.js?v=c2aa8f51:208
await in instantiateArrayBuffer
instantiateAsync @ libpg-query.js?v=c2aa8f51:223
await in instantiateAsync
createWasm @ libpg-query.js?v=c2aa8f51:251
(anonymous) @ libpg-query.js?v=c2aa8f51:2411
(anonymous) @ libpg-query.js?v=c2aa8f51:2569
libpg-query.js?v=c2aa8f51:172 Aborted(CompileError: WebAssembly.instantiate(): expected magic word 00 61 73 6d, found 3c 21 44 4f @+0)
abort @ libpg-query.js?v=c2aa8f51:172
instantiateArrayBuffer @ libpg-query.js?v=c2aa8f51:209
await in instantiateArrayBuffer
instantiateAsync @ libpg-query.js?v=c2aa8f51:223
await in instantiateAsync
createWasm @ libpg-query.js?v=c2aa8f51:251
(anonymous) @ libpg-query.js?v=c2aa8f51:2411
(anonymous) @ libpg-query.js?v=c2aa8f51:2569
libpg-query.js?v=c2aa8f51:175 Uncaught (in promise) RuntimeError: Aborted(CompileError: WebAssembly.instantiate(): expected magic word 00 61 73 6d, found 3c 21 44 4f @+0). Build with -sASSERTIONS for more info.
    at abort (libpg-query.js?v=c2aa8f51:175:19)
    at instantiateArrayBuffer (libpg-query.js?v=c2aa8f51:209:13)
    at async createWasm (libpg-query.js?v=c2aa8f51:251:24)
    at async libpg-query.js?v=c2aa8f51:2411:27
abort @ libpg-query.js?v=c2aa8f51:175
instantiateArrayBuffer @ libpg-query.js?v=c2aa8f51:209
await in instantiateArrayBuffer
instantiateAsync @ libpg-query.js?v=c2aa8f51:223
await in instantiateAsync
createWasm @ libpg-query.js?v=c2aa8f51:251
(anonymous) @ libpg-query.js?v=c2aa8f51:2411
(anonymous) @ libpg-query.js?v=c2aa8f51:2569
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions