Can't build in Vite
See original GitHub issuemagick-wasm version
Any
Description
When trying to build with Vite, it gives the following warning, but not always on the same file:
'ws' is imported by ws?commonjs-external, but could not be resolved – treating it as an external dependency
It decides to alias ws
to require$$2
, which doesn’t exist, breaking the build.
I tried installing ws
, which stops Vite from complaining. But the build still doesn’t work, saying that Buffer
does not exist, suggesting it tries to run in a node environment.
From what I can find, the problematic code resides in @imagemagick/magick-wasm/wasm/magick.js
.
Steps to Reproduce
Set up a minimal project (use single --
for npm 6 and under):
npm init vite vite-build-test -- --template vanilla
cd vite-build-test
npm i @imagemagick/magick-wasm
Overwrite main.js
to contain only the following:
import { initializeImageMagick } from "@imagemagick/magick-wasm";
Then try npm run build
Optionally serve the freshly created build: npm run preview
Images
No response
Issue Analytics
- State:
- Created a year ago
- Comments:17 (16 by maintainers)
Top GitHub Comments
Finally got the same thing working in Vite! Under the hood it uses Rollup, so using
rollup-plugin-ignore
and the following config does the trick:Edit: the
ignore
plugin isn’t needed when using thebuild.commonjsOptions.ignore
option instead. This also seems to resolve an edgecase where thecrypto
module would not be ignored properly. So use this instead:I don’t have a plan for this, but I could probably do this tomorrow. Going to be this weekend instead…