@squoosh-kit/webp 0.2.4 → 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.
- package/dist/index.browser.mjs +2 -2
- package/dist/index.browser.mjs.map +2 -2
- package/dist/index.bun.js +2 -2
- package/dist/index.bun.js.map +2 -2
- package/dist/index.node.cjs +17 -17
- package/dist/index.node.cjs.map +3 -3
- package/dist/index.node.mjs +2 -2
- package/dist/index.node.mjs.map +2 -2
- package/dist/webp.worker.browser.mjs +2 -2
- package/dist/webp.worker.browser.mjs.map +2 -2
- package/dist/webp.worker.bun.js +2 -2
- package/dist/webp.worker.bun.js.map +2 -2
- package/dist/webp.worker.node.cjs +17 -17
- package/dist/webp.worker.node.cjs.map +3 -3
- package/dist/webp.worker.node.mjs +2 -2
- package/dist/webp.worker.node.mjs.map +2 -2
- package/package.json +2 -2
|
@@ -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
|
|
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": "
|
|
17
|
+
"debugId": "1659356BC0B015D764756E2164756E21",
|
|
18
18
|
"names": []
|
|
19
19
|
}
|
package/dist/webp.worker.bun.js
CHANGED
|
@@ -315,7 +315,7 @@ function validateImageInput(image) {
|
|
|
315
315
|
}
|
|
316
316
|
}
|
|
317
317
|
|
|
318
|
-
// ../../node_modules
|
|
318
|
+
// ../../node_modules/wasm-feature-detect/dist/esm/index.js
|
|
319
319
|
var simd = async () => WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 10, 1, 8, 0, 65, 0, 253, 15, 253, 98, 11]));
|
|
320
320
|
|
|
321
321
|
// ../runtime/src/simd-detector.ts
|
|
@@ -701,4 +701,4 @@ export {
|
|
|
701
701
|
webpDecodeClient
|
|
702
702
|
};
|
|
703
703
|
|
|
704
|
-
//# debugId=
|
|
704
|
+
//# debugId=8DA12775E891503C64756E2164756E21
|
|
@@ -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
|
|
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": "
|
|
17
|
+
"debugId": "8DA12775E891503C64756E2164756E21",
|
|
18
18
|
"names": []
|
|
19
19
|
}
|
|
@@ -183,9 +183,9 @@ function createCodecWorker(workerFilename, options) {
|
|
|
183
183
|
let lastError = null;
|
|
184
184
|
for (const relPath of pathStrategies) {
|
|
185
185
|
console.log("relPath:", relPath);
|
|
186
|
-
console.log("import.meta.url:", "file:///home/
|
|
186
|
+
console.log("import.meta.url:", "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/runtime/src/worker-helper.ts");
|
|
187
187
|
try {
|
|
188
|
-
const workerUrl = new URL(relPath, "file:///home/
|
|
188
|
+
const workerUrl = new URL(relPath, "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/runtime/src/worker-helper.ts");
|
|
189
189
|
console.log(`[worker-helper] Trying path strategy. Full Worker URL: ${workerUrl.href}`);
|
|
190
190
|
const worker = new Worker(workerUrl, {
|
|
191
191
|
type: "module"
|
|
@@ -208,17 +208,17 @@ function createCodecWorker(workerFilename, options) {
|
|
|
208
208
|
const pkgName = workerConfig.package.split("/")[1];
|
|
209
209
|
const srcRelPath = `../../${pkgName}/src/${baseName}.ts`;
|
|
210
210
|
console.log("srcRelPath:", srcRelPath);
|
|
211
|
-
console.log("import.meta.url:", "file:///home/
|
|
211
|
+
console.log("import.meta.url:", "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/runtime/src/worker-helper.ts");
|
|
212
212
|
try {
|
|
213
|
-
return new Worker(new URL(srcRelPath, "file:///home/
|
|
213
|
+
return new Worker(new URL(srcRelPath, "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/runtime/src/worker-helper.ts"), {
|
|
214
214
|
type: "module"
|
|
215
215
|
});
|
|
216
216
|
} catch {
|
|
217
217
|
const distRelPath = `../../${pkgName}/dist/${baseName}.${platformExt.slice(1)}`;
|
|
218
218
|
console.log("distRelPath:", distRelPath);
|
|
219
|
-
console.log("import.meta.url:", "file:///home/
|
|
219
|
+
console.log("import.meta.url:", "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/runtime/src/worker-helper.ts");
|
|
220
220
|
try {
|
|
221
|
-
return new Worker(new URL(distRelPath, "file:///home/
|
|
221
|
+
return new Worker(new URL(distRelPath, "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/runtime/src/worker-helper.ts"), {
|
|
222
222
|
type: "module"
|
|
223
223
|
});
|
|
224
224
|
} catch {
|
|
@@ -283,7 +283,7 @@ var init_worker_helper = () => {};
|
|
|
283
283
|
|
|
284
284
|
// ../runtime/src/wasm-loader.ts
|
|
285
285
|
async function loadWasmBinary(relativePath, baseUrlOverride) {
|
|
286
|
-
const baseUrl = baseUrlOverride ? typeof baseUrlOverride === "string" ? new URL(".", baseUrlOverride) : new URL(".", baseUrlOverride.href) : new URL(".", "file:///home/
|
|
286
|
+
const baseUrl = baseUrlOverride ? typeof baseUrlOverride === "string" ? new URL(".", baseUrlOverride) : new URL(".", baseUrlOverride.href) : new URL(".", "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/runtime/src/wasm-loader.ts");
|
|
287
287
|
const fullUrl = new URL(relativePath, baseUrl);
|
|
288
288
|
console.log(`[WasmLoader] Loading WASM from relative path: ${relativePath}`);
|
|
289
289
|
console.log(`[WasmLoader] Base URL (import.meta.url): ${baseUrl.href}`);
|
|
@@ -337,7 +337,7 @@ function validateImageInput(image) {
|
|
|
337
337
|
}
|
|
338
338
|
}
|
|
339
339
|
|
|
340
|
-
// ../../node_modules
|
|
340
|
+
// ../../node_modules/wasm-feature-detect/dist/esm/index.js
|
|
341
341
|
var simd = async () => WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 10, 1, 8, 0, 65, 0, 253, 15, 253, 98, 11]));
|
|
342
342
|
|
|
343
343
|
// ../runtime/src/simd-detector.ts
|
|
@@ -416,14 +416,14 @@ async function loadWebPModule() {
|
|
|
416
416
|
const globalSelf = typeof self !== "undefined" ? self : globalThis;
|
|
417
417
|
if (!globalSelf.location) {
|
|
418
418
|
globalSelf.location = {
|
|
419
|
-
href: "file:///home/
|
|
419
|
+
href: "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/webp/src/webp.worker.ts"
|
|
420
420
|
};
|
|
421
421
|
}
|
|
422
422
|
if (typeof self === "undefined" && typeof globalThis !== "undefined") {
|
|
423
423
|
globalThis.self = globalThis;
|
|
424
424
|
}
|
|
425
425
|
let moduleFactory;
|
|
426
|
-
const isSource = "file:///home/
|
|
426
|
+
const isSource = "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/webp/src/webp.worker.ts".includes("/src/");
|
|
427
427
|
const pathsToTry = isSource ? ["../wasm/" + modulePath, "./wasm/" + modulePath] : ["./wasm/" + modulePath, "../wasm/" + modulePath];
|
|
428
428
|
let lastError = null;
|
|
429
429
|
for (const importPath of pathsToTry) {
|
|
@@ -449,7 +449,7 @@ async function loadWebPModule() {
|
|
|
449
449
|
] : isSource ? ["../wasm/webp/webp_enc.wasm", "./wasm/webp/webp_enc.wasm"] : ["./wasm/webp/webp_enc.wasm", "../wasm/webp/webp_enc.wasm"];
|
|
450
450
|
console.log(`[WebP Worker] Preparing to load WASM binary. Will try paths: ${wasmPathsToTry.join(", ")}`);
|
|
451
451
|
const initModuleWithBinary = async (moduleFactory2, wasmPaths) => {
|
|
452
|
-
const workerBaseUrl = new URL(".", "file:///home/
|
|
452
|
+
const workerBaseUrl = new URL(".", "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/webp/src/webp.worker.ts");
|
|
453
453
|
let lastError2 = null;
|
|
454
454
|
for (const wasmPath of wasmPaths) {
|
|
455
455
|
try {
|
|
@@ -459,7 +459,7 @@ async function loadWebPModule() {
|
|
|
459
459
|
const globalSelf2 = typeof self !== "undefined" ? self : globalThis;
|
|
460
460
|
if (!globalSelf2.location) {
|
|
461
461
|
globalSelf2.location = {
|
|
462
|
-
href: "file:///home/
|
|
462
|
+
href: "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/webp/src/webp.worker.ts"
|
|
463
463
|
};
|
|
464
464
|
}
|
|
465
465
|
if (typeof self === "undefined" && typeof globalThis !== "undefined") {
|
|
@@ -560,7 +560,7 @@ async function loadWebPDecModule() {
|
|
|
560
560
|
const globalSelf = typeof self !== "undefined" ? self : globalThis;
|
|
561
561
|
if (!globalSelf.location) {
|
|
562
562
|
globalSelf.location = {
|
|
563
|
-
href: "file:///home/
|
|
563
|
+
href: "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/webp/src/webp.worker.ts"
|
|
564
564
|
};
|
|
565
565
|
}
|
|
566
566
|
if (typeof self === "undefined" && typeof globalThis !== "undefined") {
|
|
@@ -580,7 +580,7 @@ async function loadWebPDecModule() {
|
|
|
580
580
|
};
|
|
581
581
|
}
|
|
582
582
|
let moduleFactory;
|
|
583
|
-
const isSource = "file:///home/
|
|
583
|
+
const isSource = "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/webp/src/webp.worker.ts".includes("/src/");
|
|
584
584
|
const pathsToTry = isSource ? ["../wasm/" + modulePath, "./wasm/" + modulePath] : ["./wasm/" + modulePath, "../wasm/" + modulePath];
|
|
585
585
|
let lastError = null;
|
|
586
586
|
for (const importPath of pathsToTry) {
|
|
@@ -600,7 +600,7 @@ async function loadWebPDecModule() {
|
|
|
600
600
|
const wasmPathsToTry = isSource ? ["../wasm/webp-dec/webp_dec.wasm", "./wasm/webp-dec/webp_dec.wasm"] : ["./wasm/webp-dec/webp_dec.wasm", "../wasm/webp-dec/webp_dec.wasm"];
|
|
601
601
|
console.log(`[WebP Worker] Preparing to load dec WASM binary. Will try paths: ${wasmPathsToTry.join(", ")}`);
|
|
602
602
|
const initDecModuleWithBinary = async (moduleFactory2, wasmPaths) => {
|
|
603
|
-
const workerBaseUrl = new URL(".", "file:///home/
|
|
603
|
+
const workerBaseUrl = new URL(".", "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/webp/src/webp.worker.ts");
|
|
604
604
|
let lastError2 = null;
|
|
605
605
|
for (const wasmPath of wasmPaths) {
|
|
606
606
|
try {
|
|
@@ -610,7 +610,7 @@ async function loadWebPDecModule() {
|
|
|
610
610
|
const globalSelf2 = typeof self !== "undefined" ? self : globalThis;
|
|
611
611
|
if (!globalSelf2.location) {
|
|
612
612
|
globalSelf2.location = {
|
|
613
|
-
href: "file:///home/
|
|
613
|
+
href: "file:///home/runner/work/squoosh-kit/squoosh-kit/packages/webp/src/webp.worker.ts"
|
|
614
614
|
};
|
|
615
615
|
}
|
|
616
616
|
if (typeof self === "undefined" && typeof globalThis !== "undefined") {
|
|
@@ -719,4 +719,4 @@ var init_webp_worker = __esm(() => {
|
|
|
719
719
|
});
|
|
720
720
|
init_webp_worker();
|
|
721
721
|
|
|
722
|
-
//# debugId=
|
|
722
|
+
//# debugId=3BBA6EFE05ED3B0964756E2164756E21
|
|
@@ -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
|
|
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",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"export function validateWebpOptions(\n options: unknown\n): asserts options is Record<string, unknown> | undefined {\n if (options === undefined) {\n return;\n }\n\n if (typeof options !== 'object' || options === null) {\n throw new TypeError('options must be an object or undefined');\n }\n\n const opts = options as Record<string, unknown>;\n\n if ('quality' in opts && opts.quality !== undefined) {\n const quality = opts.quality;\n\n if (Number.isNaN(quality)) {\n throw new RangeError(\n 'quality must be a valid number in the range 0-100, got NaN'\n );\n }\n\n if (typeof quality !== 'number') {\n throw new TypeError('quality must be a number');\n }\n\n if (!Number.isFinite(quality) || !Number.isInteger(quality)) {\n throw new RangeError(\n 'quality must be an integer in the range 0-100, got floating point'\n );\n }\n\n if (quality < 0 || quality > 100) {\n throw new RangeError(\n `quality must be in the range 0-100, got ${quality}`\n );\n }\n }\n}\n",
|
|
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
|
-
"mappings": "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",
|
|
17
|
-
"debugId": "
|
|
16
|
+
"mappings": "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",
|
|
17
|
+
"debugId": "3BBA6EFE05ED3B0964756E2164756E21",
|
|
18
18
|
"names": []
|
|
19
19
|
}
|
|
@@ -314,7 +314,7 @@ function validateImageInput(image) {
|
|
|
314
314
|
}
|
|
315
315
|
}
|
|
316
316
|
|
|
317
|
-
// ../../node_modules
|
|
317
|
+
// ../../node_modules/wasm-feature-detect/dist/esm/index.js
|
|
318
318
|
var simd = async () => WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 10, 1, 8, 0, 65, 0, 253, 15, 253, 98, 11]));
|
|
319
319
|
|
|
320
320
|
// ../runtime/src/simd-detector.ts
|
|
@@ -700,4 +700,4 @@ export {
|
|
|
700
700
|
webpDecodeClient
|
|
701
701
|
};
|
|
702
702
|
|
|
703
|
-
//# debugId=
|
|
703
|
+
//# debugId=A520C74866EC395964756E2164756E21
|