@squoosh-kit/webp 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../runtime/src/env.ts", "../../runtime/src/worker-call.ts", "../../runtime/src/worker-helper.ts", "../../runtime/src/wasm-loader.ts", "../../runtime/src/validators.ts", "../../../node_modules/.bun/wasm-feature-detect@1.8.0/node_modules/wasm-feature-detect/dist/esm/index.js", "../../runtime/src/simd-detector.ts", "../../runtime/src/index.ts", "../src/validators.ts", "../src/webp.worker.ts"],
3
+ "sources": ["../../runtime/src/env.ts", "../../runtime/src/worker-call.ts", "../../runtime/src/worker-helper.ts", "../../runtime/src/wasm-loader.ts", "../../runtime/src/validators.ts", "../../../node_modules/wasm-feature-detect/dist/esm/index.js", "../../runtime/src/simd-detector.ts", "../../runtime/src/index.ts", "../src/validators.ts", "../src/webp.worker.ts"],
4
4
  "sourcesContent": [
5
5
  "/**\n * Runtime environment detection utilities\n */\n\n/**\n * Detect if running in a Web Worker context\n */\nexport function isWorker(): boolean {\n return (\n typeof self !== 'undefined' &&\n typeof (globalThis as unknown as { DedicatedWorkerGlobalScope?: unknown })\n .DedicatedWorkerGlobalScope !== 'undefined'\n );\n}\n\n/**\n * Detect if running in a browser context\n */\nexport function isBrowser(): boolean {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n\n/**\n * Detect if running in Bun\n */\nexport function isBun(): boolean {\n return typeof Bun !== 'undefined';\n}\n\n/**\n * Detect if running in Node.js\n */\nexport function isNode(): boolean {\n return (\n typeof process !== 'undefined' &&\n process.versions != null &&\n process.versions.node != null\n );\n}\n\n/**\n * Check if ImageData is available in the current environment\n */\nexport function hasImageData(): boolean {\n return typeof ImageData !== 'undefined';\n}\n",
6
6
  "/**\n * Generic worker communication helper with support for transferables and AbortSignal\n */\n\nexport interface WorkerRequest<T = unknown> {\n type: string;\n id: number;\n payload: T;\n}\n\nexport interface WorkerResponse<T = unknown> {\n id: number;\n ok: boolean;\n data?: T;\n error?: string;\n}\n\nlet requestId = 0;\n\n/**\n * Call a worker with a typed request and wait for response\n *\n * @param worker - The worker instance to call\n * @param type - The message type\n * @param payload - The payload to send\n * @param signal - Optional AbortSignal to cancel the operation\n * @param transfer - Optional list of Transferable objects to transfer\n * @returns Promise that resolves with the worker's response data\n */\nexport async function callWorker<TPayload, TResponse>(\n worker: Worker,\n type: string,\n payload: TPayload,\n signal?: AbortSignal,\n transfer?: Transferable[]\n): Promise<TResponse> {\n return new Promise<TResponse>((resolve, reject) => {\n const id = ++requestId;\n\n // Check if already aborted\n if (signal?.aborted) {\n reject(new DOMException('Aborted', 'AbortError'));\n return;\n }\n\n const handleMessage = (event: MessageEvent) => {\n const response = event.data as WorkerResponse<TResponse>;\n if (response.id !== id) return;\n\n cleanup();\n\n if (response.ok && response.data !== undefined) {\n resolve(response.data);\n } else {\n reject(new Error(response.error || 'Unknown worker error'));\n }\n };\n\n const handleError = (error: ErrorEvent) => {\n cleanup();\n reject(new Error(`Worker error: ${error.message}`));\n };\n\n const handleAbort = () => {\n cleanup();\n reject(new DOMException('Aborted', 'AbortError'));\n };\n\n const cleanup = () => {\n worker.removeEventListener('message', handleMessage);\n worker.removeEventListener('error', handleError);\n signal?.removeEventListener('abort', handleAbort);\n };\n\n // Set up listeners\n worker.addEventListener('message', handleMessage);\n worker.addEventListener('error', handleError);\n signal?.addEventListener('abort', handleAbort);\n\n // Send the request\n const request: WorkerRequest<TPayload> = { type, id, payload };\n\n if (transfer && transfer.length > 0) {\n worker.postMessage(request, transfer);\n } else {\n worker.postMessage(request);\n }\n });\n}\n",
@@ -14,6 +14,6 @@
14
14
  "/**\n * WebP encoder/decoder - single-source worker/client implementation\n */\n\nimport {\n type WorkerRequest,\n type WorkerResponse,\n type ImageInput,\n loadWasmBinary,\n validateImageInput,\n detectSimd,\n} from '@squoosh-kit/runtime';\nimport { validateWebpOptions } from './validators';\nimport { type WebPModule } from '../wasm/webp/webp_enc';\nimport type { WebPModule as WebPDecModule } from '../wasm/webp-dec/webp_dec';\nimport type { EncodeInputOptions, EncodeOptions } from './types';\n\nlet cachedModule: WebPModule | null = null;\nlet loadModulePromise: Promise<WebPModule> | null = null;\n\nasync function loadWebPModule(): Promise<WebPModule> {\n if (cachedModule) return cachedModule;\n if (loadModulePromise) return loadModulePromise;\n loadModulePromise = (async () => {\n const simdSupported = await detectSimd();\n const modulePath = simdSupported\n ? 'webp/webp_enc_simd.js'\n : 'webp/webp_enc.js';\n\n try {\n console.log('[WebP Worker] Initializing. SIMD support:', simdSupported);\n console.log(\n `[WebP Worker] Attempting to import module from path: ${modulePath}`\n );\n\n // Mock self.location for test environments where it doesn't exist\n // Emscripten code tries to access self.location.href during initialization\n // We set it to import.meta.url so _scriptDir will be used instead\n const globalSelf = typeof self !== 'undefined' ? self : globalThis;\n if (!globalSelf.location) {\n (globalSelf as { location?: { href: string } }).location = {\n href: import.meta.url,\n };\n }\n // Also ensure self exists if it doesn't (for Emscripten code that checks ENVIRONMENT_IS_WORKER)\n if (typeof self === 'undefined' && typeof globalThis !== 'undefined') {\n (globalThis as { self?: typeof globalThis }).self = globalThis;\n }\n\n // Use a standard dynamic import instead of require, and tell Vite to ignore it\n // Using string concatenation to avoid bundler issues with template literals\n // Try both paths: '../wasm/' first when running from source (tests), './wasm/' first in dist\n let moduleFactory;\n const isSource = import.meta.url.includes('/src/');\n const pathsToTry = isSource\n ? ['../wasm/' + modulePath, './wasm/' + modulePath]\n : ['./wasm/' + modulePath, '../wasm/' + modulePath];\n\n let lastError: Error | null = null;\n for (const importPath of pathsToTry) {\n try {\n moduleFactory = (await import(/* @vite-ignore */ importPath)).default;\n console.log(\n `[WebP Worker] Successfully loaded module from: ${importPath}`\n );\n break;\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error));\n console.warn(\n `[WebP Worker] Failed to load from ${importPath}, trying next path...`\n );\n }\n }\n\n if (!moduleFactory) {\n throw (\n lastError || new Error('Could not load WebP module from any path')\n );\n }\n\n console.log('[WebP Worker] Module factory loaded successfully.');\n\n // Try both paths for WASM binary as well\n const wasmPathsToTry = simdSupported\n ? isSource\n ? [\n '../wasm/webp/webp_enc_simd.wasm',\n './wasm/webp/webp_enc_simd.wasm',\n ]\n : [\n './wasm/webp/webp_enc_simd.wasm',\n '../wasm/webp/webp_enc_simd.wasm',\n ]\n : isSource\n ? ['../wasm/webp/webp_enc.wasm', './wasm/webp/webp_enc.wasm']\n : ['./wasm/webp/webp_enc.wasm', '../wasm/webp/webp_enc.wasm'];\n\n console.log(\n `[WebP Worker] Preparing to load WASM binary. Will try paths: ${wasmPathsToTry.join(', ')}`\n );\n\n const initModuleWithBinary = async (\n moduleFactory: (config: {\n noInitialRun: boolean;\n wasmBinary?: ArrayBuffer;\n }) => Promise<WebPModule>,\n wasmPaths: string[]\n ): Promise<WebPModule> => {\n // Use the worker's own import.meta.url as the base for resolving WASM paths\n const workerBaseUrl = new URL('.', import.meta.url);\n let lastError: Error | null = null;\n for (const wasmPath of wasmPaths) {\n try {\n console.log(\n `[WebP Worker] Calling loadWasmBinary with path: ${wasmPath}`\n );\n const wasmBinary = await loadWasmBinary(wasmPath, workerBaseUrl);\n console.log(\n `[WebP Worker] Successfully fetched WASM binary from ${wasmPath}. Size: ${wasmBinary.byteLength} bytes.`\n );\n\n // Ensure self.location exists right before calling moduleFactory\n // Emscripten code accesses self.location.href when the factory is executed\n const globalSelf = typeof self !== 'undefined' ? self : globalThis;\n if (!globalSelf.location) {\n (globalSelf as { location?: { href: string } }).location = {\n href: import.meta.url,\n };\n }\n if (\n typeof self === 'undefined' &&\n typeof globalThis !== 'undefined'\n ) {\n (globalThis as { self?: typeof globalThis }).self = globalThis;\n }\n\n return await moduleFactory({\n noInitialRun: true,\n wasmBinary,\n });\n } catch (err) {\n lastError = err instanceof Error ? err : new Error(String(err));\n console.warn(\n `[WebP Worker] Failed to load WASM from ${wasmPath}, trying next path...`\n );\n }\n }\n throw (\n lastError ||\n new Error(\n 'Could not load WASM binary from any of the attempted paths'\n )\n );\n };\n\n cachedModule = await initModuleWithBinary(moduleFactory, wasmPathsToTry);\n console.log('[WebP Worker] WebP module initialized successfully.');\n return cachedModule;\n } catch (err) {\n console.error(\n `[WebP Worker] CRITICAL: Failed to load WebP module from path: ${modulePath}`,\n err\n );\n throw err;\n }\n })().catch((err: unknown) => {\n loadModulePromise = null;\n throw err;\n });\n return loadModulePromise;\n}\n\n/**\n * Convert our simplified options to full EncodeOptions\n * Uses Squoosh defaults for optimal performance and file size\n */\nfunction createEncodeOptions(options?: EncodeInputOptions): EncodeOptions {\n // Squoosh defaults from their defaultOptions in meta.ts\n return {\n quality: options?.quality ?? 75,\n target_size: 0,\n target_PSNR: 0,\n method: options?.method ?? 4,\n sns_strength: options?.sns_strength ?? 50,\n filter_strength: options?.filter_strength ?? 60,\n filter_sharpness: options?.filter_sharpness ?? 0,\n filter_type: options?.filter_type ?? 1,\n partitions: options?.partitions ?? 0,\n segments: options?.segments ?? 4,\n pass: options?.pass ?? 1,\n show_compressed: 0,\n preprocessing: options?.preprocessing ?? 0,\n autofilter: options?.autofilter ?? 0,\n partition_limit: 0,\n alpha_compression: options?.alpha_compression ?? 1,\n alpha_filtering: options?.alpha_filtering ?? 1,\n alpha_quality: options?.alpha_quality ?? options?.quality ?? 75,\n lossless: options?.lossless ? 1 : 0,\n exact: options?.exact ?? 0,\n image_hint: options?.image_hint ?? 0,\n emulate_jpeg_size: 0,\n thread_level: 0,\n low_memory: 0,\n near_lossless: options?.near_lossless ?? options?.quality ?? 75,\n use_delta_palette: 0,\n use_sharp_yuv: options?.use_sharp_yuv ?? 0,\n };\n}\n\n/**\n * Client-mode WebP encoder (exported for direct use)\n */\nexport async function webpEncodeClient(\n image: ImageInput,\n options?: EncodeInputOptions,\n signal?: AbortSignal\n): Promise<Uint8Array> {\n // Validate inputs before starting\n validateImageInput(image);\n validateWebpOptions(options);\n\n // Check abort before starting\n if (signal?.aborted) {\n throw new DOMException('Aborted', 'AbortError');\n }\n\n // Normalize image input\n const width = image.width;\n const height = image.height;\n const data = image.data;\n\n if (!(data instanceof Uint8Array) && !(data instanceof Uint8ClampedArray)) {\n throw new Error('Image data must be Uint8Array or Uint8ClampedArray');\n }\n\n const module = await loadWebPModule();\n\n // Check abort after async operation\n if (signal?.aborted) {\n throw new DOMException('Aborted', 'AbortError');\n }\n\n const encodeOptions = createEncodeOptions(options);\n\n // Call the encode function with optimized data handling\n // Create a zero-copy Uint8Array view if needed (don't copy the buffer)\n const dataArray =\n data instanceof Uint8ClampedArray\n ? new Uint8Array(data.buffer as ArrayBuffer, data.byteOffset, data.length)\n : new Uint8Array(\n data.buffer as ArrayBuffer,\n data.byteOffset,\n data.length\n );\n\n const result = module.encode(dataArray, width, height, encodeOptions);\n\n if (signal?.aborted) {\n throw new DOMException('Aborted', 'AbortError');\n }\n\n if (!result) {\n throw new Error('WebP encoding failed');\n }\n\n return result;\n}\n\nlet cachedDecModule: WebPDecModule | null = null;\nlet loadDecModulePromise: Promise<WebPDecModule> | null = null;\n\nasync function loadWebPDecModule(): Promise<WebPDecModule> {\n if (cachedDecModule) return cachedDecModule;\n if (loadDecModulePromise) return loadDecModulePromise;\n loadDecModulePromise = (async () => {\n // No SIMD variant available for the WebP decoder\n const modulePath = 'webp-dec/webp_dec.js';\n\n try {\n console.log('[WebP Worker] Initializing dec module...');\n console.log(\n `[WebP Worker] Attempting to import dec module from path: ${modulePath}`\n );\n\n const globalSelf = typeof self !== 'undefined' ? self : globalThis;\n if (!globalSelf.location) {\n (globalSelf as { location?: { href: string } }).location = {\n href: import.meta.url,\n };\n }\n if (typeof self === 'undefined' && typeof globalThis !== 'undefined') {\n (globalThis as { self?: typeof globalThis }).self = globalThis;\n }\n\n // Polyfill ImageData for Node/Bun environments where it's not available\n if (typeof ImageData === 'undefined') {\n (\n globalThis as {\n ImageData?: new (\n data: Uint8ClampedArray,\n width: number,\n height: number\n ) => ImageData;\n }\n ).ImageData = class {\n data: Uint8ClampedArray;\n width: number;\n height: number;\n colorSpace = 'srgb' as PredefinedColorSpace;\n constructor(data: Uint8ClampedArray, width: number, height: number) {\n this.data = data;\n this.width = width;\n this.height = height;\n }\n } as unknown as typeof ImageData;\n }\n\n let moduleFactory;\n const isSource = import.meta.url.includes('/src/');\n const pathsToTry = isSource\n ? ['../wasm/' + modulePath, './wasm/' + modulePath]\n : ['./wasm/' + modulePath, '../wasm/' + modulePath];\n\n let lastError: Error | null = null;\n for (const importPath of pathsToTry) {\n try {\n moduleFactory = (await import(/* @vite-ignore */ importPath)).default;\n console.log(\n `[WebP Worker] Successfully loaded dec module from: ${importPath}`\n );\n break;\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error));\n console.warn(\n `[WebP Worker] Failed to load dec from ${importPath}, trying next path...`\n );\n }\n }\n\n if (!moduleFactory) {\n throw (\n lastError || new Error('Could not load WebP dec module from any path')\n );\n }\n\n console.log('[WebP Worker] Dec module factory loaded successfully.');\n\n const wasmPathsToTry = isSource\n ? ['../wasm/webp-dec/webp_dec.wasm', './wasm/webp-dec/webp_dec.wasm']\n : ['./wasm/webp-dec/webp_dec.wasm', '../wasm/webp-dec/webp_dec.wasm'];\n\n console.log(\n `[WebP Worker] Preparing to load dec WASM binary. Will try paths: ${wasmPathsToTry.join(', ')}`\n );\n\n const initDecModuleWithBinary = async (\n moduleFactory: (config: {\n noInitialRun: boolean;\n wasmBinary?: ArrayBuffer;\n }) => Promise<WebPDecModule>,\n wasmPaths: string[]\n ): Promise<WebPDecModule> => {\n const workerBaseUrl = new URL('.', import.meta.url);\n let lastError: Error | null = null;\n for (const wasmPath of wasmPaths) {\n try {\n console.log(\n `[WebP Worker] Calling loadWasmBinary with dec path: ${wasmPath}`\n );\n const wasmBinary = await loadWasmBinary(wasmPath, workerBaseUrl);\n console.log(\n `[WebP Worker] Successfully fetched dec WASM binary from ${wasmPath}. Size: ${wasmBinary.byteLength} bytes.`\n );\n\n const globalSelf = typeof self !== 'undefined' ? self : globalThis;\n if (!globalSelf.location) {\n (globalSelf as { location?: { href: string } }).location = {\n href: import.meta.url,\n };\n }\n if (\n typeof self === 'undefined' &&\n typeof globalThis !== 'undefined'\n ) {\n (globalThis as { self?: typeof globalThis }).self = globalThis;\n }\n\n return await moduleFactory({\n noInitialRun: true,\n wasmBinary,\n });\n } catch (err) {\n lastError = err instanceof Error ? err : new Error(String(err));\n console.warn(\n `[WebP Worker] Failed to load dec WASM from ${wasmPath}, trying next path...`\n );\n }\n }\n throw (\n lastError ||\n new Error(\n 'Could not load dec WASM binary from any of the attempted paths'\n )\n );\n };\n\n cachedDecModule = await initDecModuleWithBinary(\n moduleFactory,\n wasmPathsToTry\n );\n console.log('[WebP Worker] WebP dec module initialized successfully.');\n return cachedDecModule;\n } catch (err) {\n console.error(\n '[WebP Worker] CRITICAL: Failed to load WebP dec module',\n err\n );\n throw err;\n }\n })().catch((err: unknown) => {\n loadDecModulePromise = null;\n throw err;\n });\n return loadDecModulePromise;\n}\n\n/**\n * Client-mode WebP decoder (exported for direct use)\n */\nexport async function webpDecodeClient(\n data: BufferSource,\n signal?: AbortSignal\n): Promise<ImageData> {\n if (signal?.aborted) {\n throw new DOMException('Aborted', 'AbortError');\n }\n\n const module = await loadWebPDecModule();\n\n if (signal?.aborted) {\n throw new DOMException('Aborted', 'AbortError');\n }\n\n const result = module.decode(data);\n\n if (!result) {\n throw new Error('WebP decoding failed');\n }\n\n return result;\n}\n\n/**\n * Worker message handler\n * Register the handler regardless of environment (for both worker context and tests)\n */\nif (typeof self !== 'undefined') {\n // Eagerly load WASM the moment the worker starts — don't wait for the first encode message.\n // By the time the user drops an image, WASM is loaded and V8 Turbofan has been compiling.\n void loadWebPModule().catch(() => {\n // Silently swallow — will be retried (and will surface the error) on the first real encode.\n });\n\n self.onmessage = async (event: MessageEvent) => {\n const data = event.data;\n\n // Handle worker ping for initialization\n if (data?.type === 'worker:ping') {\n await loadWebPModule();\n self.postMessage({ type: 'worker:ready' });\n return;\n }\n\n if (data?.type === 'webp:encode') {\n const request = data as WorkerRequest<{\n image: ImageInput;\n options?: EncodeInputOptions;\n }>;\n\n const response: WorkerResponse<Uint8Array> = {\n id: request.id,\n ok: false,\n };\n\n try {\n const { image, options } = request.payload;\n const result = await webpEncodeClient(image, options);\n response.ok = true;\n response.data = result;\n const transferBuffer =\n result.buffer instanceof ArrayBuffer\n ? result.buffer\n : result.slice().buffer;\n self.postMessage(response, {\n transfer: [transferBuffer as ArrayBuffer],\n });\n } catch (error) {\n response.error = error instanceof Error ? error.message : String(error);\n self.postMessage(response);\n }\n return;\n }\n\n if (data?.type === 'webp:decode') {\n const request = data as WorkerRequest<{ data: BufferSource }>;\n\n const response: WorkerResponse<ImageData> = {\n id: request.id,\n ok: false,\n };\n\n try {\n const result = await webpDecodeClient(request.payload.data);\n response.ok = true;\n response.data = result;\n const transferBuffer =\n result.data.buffer instanceof ArrayBuffer\n ? result.data.buffer\n : result.data.slice().buffer;\n self.postMessage(response, {\n transfer: [transferBuffer as ArrayBuffer],\n });\n } catch (error) {\n response.error = error instanceof Error ? error.message : String(error);\n self.postMessage(response);\n }\n return;\n }\n\n // Unknown message type\n const request = data as WorkerRequest<unknown>;\n const response: WorkerResponse<never> = {\n id: request.id,\n ok: false,\n error: `Unknown message type: ${data?.type}`,\n };\n self.postMessage(response);\n };\n}\n"
15
15
  ],
16
16
  "mappings": "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",
17
- "debugId": "85802ED1F6452F3E64756E2164756E21",
17
+ "debugId": "A520C74866EC395964756E2164756E21",
18
18
  "names": []
19
19
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@squoosh-kit/webp",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "type": "module",
5
5
  "description": "WebP codec for squoosh-kit, providing encoding functionality.",
6
6
  "author": "Bartosz Nowak <bnowak008@gmail.com>",
@@ -47,6 +47,6 @@
47
47
  "test": "bun test"
48
48
  },
49
49
  "dependencies": {
50
- "@squoosh-kit/runtime": "workspace:*"
50
+ "@squoosh-kit/runtime": "0.2.6"
51
51
  }
52
52
  }