diff --git a/codecs/package.json b/codecs/package.json new file mode 100644 index 00000000..2941fa4e --- /dev/null +++ b/codecs/package.json @@ -0,0 +1,4 @@ +{ + "name": "codecs", + "version": "0.0.0" +} diff --git a/src/codec-impl b/src/codec-impl new file mode 120000 index 00000000..73460135 --- /dev/null +++ b/src/codec-impl @@ -0,0 +1 @@ +../codecs \ No newline at end of file diff --git a/src/codecs/hqx/processor.ts b/src/codecs/hqx/processor.ts index be67a917..73176ff1 100644 --- a/src/codecs/hqx/processor.ts +++ b/src/codecs/hqx/processor.ts @@ -1,4 +1,4 @@ -import { resize } from '../../../codecs/hqx/pkg'; +import { resize } from '../../codec-impl/hqx/pkg'; import { HqxOptions } from './processor-meta'; export async function hqx( diff --git a/src/codecs/imagequant/processor.ts b/src/codecs/imagequant/processor.ts index 3e22e7a5..5f350a2f 100644 --- a/src/codecs/imagequant/processor.ts +++ b/src/codecs/imagequant/processor.ts @@ -1,5 +1,5 @@ -import imagequant, { QuantizerModule } from '../../../codecs/imagequant/imagequant'; -import wasmUrl from '../../../codecs/imagequant/imagequant.wasm'; +import imagequant, { QuantizerModule } from '../../codec-impl/imagequant/imagequant'; +import wasmUrl from 'url:../../codec-impl/imagequant/imagequant.wasm'; import { QuantizeOptions } from './processor-meta'; import { initEmscriptenModule } from '../util'; diff --git a/src/codecs/mozjpeg/encoder.ts b/src/codecs/mozjpeg/encoder.ts index c6390f06..4d50d4a5 100644 --- a/src/codecs/mozjpeg/encoder.ts +++ b/src/codecs/mozjpeg/encoder.ts @@ -1,5 +1,6 @@ -import mozjpeg_enc, { MozJPEGModule } from '../../../codecs/mozjpeg_enc/mozjpeg_enc'; -import wasmUrl from '../../../codecs/mozjpeg_enc/mozjpeg_enc.wasm'; +import mozjpeg_enc, { MozJPEGModule } from '../../codec-impl/mozjpeg_enc/mozjpeg_enc'; +// import wasmUrl from 'url:../../codecs/mozjpeg_enc/mozjpeg_enc.wasm'; +import wasmUrl from 'url:../../codec-impl/mozjpeg_enc/mozjpeg_enc.wasm'; import { EncodeOptions } from './encoder-meta'; import { initEmscriptenModule } from '../util'; diff --git a/src/codecs/oxipng/encoder.ts b/src/codecs/oxipng/encoder.ts index b0469d76..bf5c3d68 100644 --- a/src/codecs/oxipng/encoder.ts +++ b/src/codecs/oxipng/encoder.ts @@ -1,4 +1,4 @@ -import { optimise } from '../../../codecs/oxipng/pkg'; +import { optimise } from '../../codec-impl/oxipng/pkg'; import { EncodeOptions } from './encoder-meta'; export async function compress(data: ArrayBuffer, options: EncodeOptions): Promise { diff --git a/src/codecs/oxipng/options.tsx b/src/codecs/oxipng/options.tsx index db972003..b5de1008 100644 --- a/src/codecs/oxipng/options.tsx +++ b/src/codecs/oxipng/options.tsx @@ -1,5 +1,4 @@ import { h, Component } from 'preact'; -import { bind } from '../../lib/initial-util'; import { inputFieldValueAsNumber, preventDefault } from '../../lib/util'; import { EncodeOptions } from './encoder-meta'; import Range from '../../components/range'; diff --git a/src/codecs/processor.ts b/src/codecs/processor.ts index bee3bafb..24066f56 100644 --- a/src/codecs/processor.ts +++ b/src/codecs/processor.ts @@ -1,4 +1,5 @@ import { proxy } from 'comlink'; +import workerURL from 'bundle:./processor-worker/index.ts'; import { QuantizeOptions } from './imagequant/processor-meta'; import { canvasEncode, blobToArrayBuffer } from '../lib/util'; import { EncodeOptions as MozJPEGEncoderOptions } from './mozjpeg/encoder-meta'; @@ -69,7 +70,8 @@ export default class Processor { // definition can't be overwritten. this._worker = new Worker( // './processor-worker', - new URL('./processor-worker/index.ts', import.meta.url), + // new URL('./processor-worker/index.ts', import.meta.url), + workerURL, { name: 'processor-worker', type: 'module' }, // { name: 'processor-worker', type: 'module' }, ) as Worker; diff --git a/src/codecs/rotate/processor.ts b/src/codecs/rotate/processor.ts index 805e3a12..b0707b21 100644 --- a/src/codecs/rotate/processor.ts +++ b/src/codecs/rotate/processor.ts @@ -1,4 +1,4 @@ -import wasmUrl from '../../../codecs/rotate/rotate.wasm'; +import wasmUrl from 'url:../../codec-impl/rotate/rotate.wasm'; import { RotateOptions, RotateModuleInstance } from './processor-meta'; // We are loading a 500B module here. Loading the code to feature-detect diff --git a/src/codecs/webp/decoder.ts b/src/codecs/webp/decoder.ts index 46bc6c79..3873c02d 100644 --- a/src/codecs/webp/decoder.ts +++ b/src/codecs/webp/decoder.ts @@ -1,5 +1,5 @@ -import webp_dec, { WebPModule } from '../../../codecs/webp/dec/webp_dec'; -import wasmUrl from '../../../codecs/webp/dec/webp_dec.wasm'; +import webp_dec, { WebPModule } from '../../codec-impl/webp/dec/webp_dec'; +import wasmUrl from 'url:../../codec-impl/webp/dec/webp_dec.wasm'; import { initEmscriptenModule } from '../util'; let emscriptenModule: Promise; diff --git a/src/codecs/webp/encoder.ts b/src/codecs/webp/encoder.ts index fc80ce92..c6716100 100644 --- a/src/codecs/webp/encoder.ts +++ b/src/codecs/webp/encoder.ts @@ -1,5 +1,5 @@ -import webp_enc, { WebPModule } from '../../../codecs/webp/enc/webp_enc'; -import wasmUrl from '../../../codecs/webp/enc/webp_enc.wasm'; +import webp_enc, { WebPModule } from '../../codec-impl/webp/enc/webp_enc'; +import wasmUrl from 'url:../../codec-impl/webp/enc/webp_enc.wasm'; import { EncodeOptions } from './encoder-meta'; import { initEmscriptenModule } from '../util';