Comments (8)
Thank you! I haven’t try yet. But I found an issue in example that Cloudflare workers ESM mode spent not support wasm in wrangler.toml anymore.
Use direct import instead
// @ts-ignore
import PNG_DEC_WASM from '../../node_modules/@jsquash/png/codec/squoosh_png_bg.wasm';
// @ts-ignore
import WEBP_ENC_WASM from '../../node_modules/@jsquash/webp/codec/enc/webp_enc_simd.wasm';
from jsquash.
Maybe you could mention that in readme.md
from jsquash.
It looks like my previous changes still work with the ESM Format 🙌
Thanks for your suggestions @rwv
- I've added a new example folder for the esm format
- Also updated the root README with a specific section about using the modules in CloudFlare workers
Maybe you can import wasm directly in jSquash package and user don’t have to run initWASM manually.
Unfortunately I don't think we can. You cannot import "wasm" files directly in JavaScript. Cloudflare is cheating a little bit by allowing non-JS files to be imported, like wasm and html with their bundler. This improves the developer experience but makes the files invalid JavaScript files.
If you don't mind, I'll close this issue now. If you're still encountering issues feel free to re-open. Thanks again!
from jsquash.
workaround:
return moduleFactory({
// Just to be safe, don't automatically invoke any wasm functions
noInitialRun: true,
instantiateWasm,
locateFile: (url: string) => {
return url;
},
});
from jsquash.
Thanks for reporting this @rwv, I've published a new version that I think will fix this.
Can you try npm install -S @jsquash/[email protected]
and see if that resolves the issue?
from jsquash.
Thanks for the feedback! Once I confirm I'll add. It seems to working for me locally with wrangler v3 but perhaps I am not properly in ESM mode.
from jsquash.
Ah I see the ESM mode is very different from the Service worker mode. I'll need to make additional changes.
Apologies I misunderstood the problem.
from jsquash.
Maybe you can import wasm directly in jSquash package and user don’t have to run initWASM manually. Although this may affect current users.
from jsquash.
Related Issues (20)
- Oxipng multi-threaded mode fails when run from main thread.
- Export single thread only methods for codecs that have multi-threading. HOT 1
- Doesn't work in Vite SSR HOT 5
- Simple CDN example HOT 5
- Cannot find module in sveltekit project HOT 6
- Issues with multi-threaded worker modules and Vite HOT 13
- Basic Node.js Support HOT 1
- Provide way to override WASM file location HOT 2
- Deno fails with "NotSupported: Classic workers are not supported." HOT 1
- Improve @jquash/avif decode speed HOT 6
- @jsquash/png fails to decode some images HOT 14
- Create a reference decode speed benchmark page HOT 1
- Module not found HOT 1
- gif support? HOT 1
- Add type declarations for all wasm files? HOT 5
- jpeg and webp fail to import inside web worker HOT 2
- Resize component memory leak HOT 7
- Nuxt build error: UMD and IIFE output formats are not supported for code-splitting builds. HOT 4
- Passing a custom fetch function
- background execution? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jsquash.