Menci/vite-plugin-wasm

Plugin always bundles Wasm as base64 when vitest is installed

Opened this issue · 3 comments

I have a Vite app, and I have Vitest installed. When I run vite build, my Wasm file is bundled as base64, even though I want it to be bundled as a URL. This line of code seems to be the problem:

runningInVitest = config.plugins.some(plugin => plugin.name === "vitest");

I guess the config plugins includes vitest even when I'm not using it?

Menci commented

Oh... So how can I detect if it's actually running in Vitest environment?

I don't know, sorry. Otherwise I would propose a fix :')

I am having the same issue as @willcrichton and decided to do some more digging and believe that this is not the issue.
You can run vite build --debug and it will print out the config with the list of plugins it is using and is the same array of values used in the line @willcrichton shows in the original post.

Not sure what the issue is, but my .wasm file made using wasm-pack --target web is also being inlined as a base64 string and I can't figure out what in Vite is doing it. It happens even without this plugin.