diff --git a/lib/converters/imagemagickService.ts b/lib/converters/imagemagickService.ts index 9368b9c..357dfa8 100644 --- a/lib/converters/imagemagickService.ts +++ b/lib/converters/imagemagickService.ts @@ -25,12 +25,8 @@ export async function convertWithImageMagick( if (onProgress) onProgress(30); - // Import ImageMagick functions - const { ImageMagick, initializeImageMagick } = await import('@imagemagick/magick-wasm'); - - // Initialize ImageMagick with WASM URL from CDN - const wasmUrl = 'https://cdn.jsdelivr.net/npm/@imagemagick/magick-wasm@0.0.30/dist/magick.wasm'; - await initializeImageMagick(wasmUrl); + // Import ImageMagick functions (already initialized by loadImageMagick) + const { ImageMagick } = await import('@imagemagick/magick-wasm'); if (onProgress) onProgress(40); diff --git a/lib/wasm/wasmLoader.ts b/lib/wasm/wasmLoader.ts index 7a68f76..a5fdd51 100644 --- a/lib/wasm/wasmLoader.ts +++ b/lib/wasm/wasmLoader.ts @@ -60,11 +60,18 @@ export async function loadImageMagick(): Promise { } try { + const { initializeImageMagick } = await import('@imagemagick/magick-wasm'); + + // Initialize ImageMagick with WASM file from public directory + // In production (static export), this will be served from /wasm/magick.wasm + const wasmUrl = '/wasm/magick.wasm'; + await initializeImageMagick(wasmUrl); + const ImageMagick = await import('@imagemagick/magick-wasm'); imagemagickInstance = ImageMagick; moduleState.imagemagick = true; - console.log('ImageMagick loaded successfully'); + console.log('ImageMagick loaded and initialized successfully'); return imagemagickInstance; } catch (error) { diff --git a/public/wasm/magick.wasm b/public/wasm/magick.wasm new file mode 100644 index 0000000..30b9b4c Binary files /dev/null and b/public/wasm/magick.wasm differ