From 2561e3d53a4158c2a9e35b5743b6546971511c6d Mon Sep 17 00:00:00 2001 From: Axel Bocciarelli Date: Thu, 11 Sep 2025 08:52:11 +0200 Subject: [PATCH] Upgrade h5wasm-plugins to support JPEG compression --- apps/demo/package.json | 2 +- apps/demo/src/h5wasm/plugin-utils.ts | 4 ++-- packages/h5wasm/README.md | 4 ++-- packages/h5wasm/package.json | 6 +++++- packages/h5wasm/src/models.ts | 2 +- packages/h5wasm/src/utils.ts | 2 +- pnpm-lock.yaml | 28 ++++++++++++---------------- tsconfig.json | 5 +---- 8 files changed, 25 insertions(+), 28 deletions(-) diff --git a/apps/demo/package.json b/apps/demo/package.json index a7a742fc6..300a7b0d3 100644 --- a/apps/demo/package.json +++ b/apps/demo/package.json @@ -16,7 +16,7 @@ "@h5web/app": "workspace:*", "@h5web/h5wasm": "workspace:*", "axios-hooks": "5.1.1", - "h5wasm-plugins": "0.0.3", + "h5wasm-plugins": "0.1.2", "normalize.css": "8.0.1", "react": "18.3.1", "react-dom": "18.3.1", diff --git a/apps/demo/src/h5wasm/plugin-utils.ts b/apps/demo/src/h5wasm/plugin-utils.ts index 1c5ce01c7..316d742c4 100644 --- a/apps/demo/src/h5wasm/plugin-utils.ts +++ b/apps/demo/src/h5wasm/plugin-utils.ts @@ -5,9 +5,9 @@ import blosc from 'h5wasm-plugins/plugins/libH5Zblosc.so'; import blosc2 from 'h5wasm-plugins/plugins/libH5Zblosc2.so'; import bshuf from 'h5wasm-plugins/plugins/libH5Zbshuf.so'; import bz2 from 'h5wasm-plugins/plugins/libH5Zbz2.so'; +import jpeg from 'h5wasm-plugins/plugins/libH5Zjpeg.so'; import lz4 from 'h5wasm-plugins/plugins/libH5Zlz4.so'; import lzf from 'h5wasm-plugins/plugins/libH5Zlzf.so'; -import szf from 'h5wasm-plugins/plugins/libH5Zszf.so'; import zfp from 'h5wasm-plugins/plugins/libH5Zzfp.so'; import zstd from 'h5wasm-plugins/plugins/libH5Zzstd.so'; @@ -16,9 +16,9 @@ const PLUGINS: Record = { [Plugin.Blosc2]: blosc2, [Plugin.Bitshuffle]: bshuf, [Plugin.BZIP2]: bz2, + [Plugin.JPEG]: jpeg, [Plugin.LZ4]: lz4, [Plugin.LZF]: lzf, - [Plugin.SZ]: szf, [Plugin.ZFP]: zfp, [Plugin.Zstandard]: zstd, }; diff --git a/packages/h5wasm/README.md b/packages/h5wasm/README.md index 6738af752..79dbd9209 100644 --- a/packages/h5wasm/README.md +++ b/packages/h5wasm/README.md @@ -147,8 +147,8 @@ return: `@h5web/h5wasm` is capable of identifying and requesting the plugins supported by the -[`h5wasm-plugins@0.0.1`](https://github.com/h5wasm/h5wasm-plugins/tree/v0.0.1) -package: `blosc`, `bz2`, `lz4`, `lzf`, `szf`, `zfp`, `zstd`. +[`h5wasm-plugins@0.1.0`](https://github.com/h5wasm/h5wasm-plugins/tree/v0.1.0) +package: `blosc`, `blosc2`, `bshuf`, `bz2`, `jpeg`, `lz4`, `lzf`, `zfp`, `zstd`. A typical implementation of `getPlugin` in a bundled front-end application might look like this: diff --git a/packages/h5wasm/package.json b/packages/h5wasm/package.json index 326c8489a..0bdfb058d 100644 --- a/packages/h5wasm/package.json +++ b/packages/h5wasm/package.json @@ -38,6 +38,7 @@ "peerDependencies": { "@h5web/app": "workspace:*", "@types/react": "18.x", + "h5wasm-plugins": "0.1.2", "react": "18.x", "typescript": ">=4.5" }, @@ -45,13 +46,16 @@ "@types/react": { "optional": true }, + "h5wasm-plugins": { + "optional": true + }, "typescript": { "optional": true } }, "dependencies": { "comlink": "4.4.2", - "h5wasm": "0.7.9", + "h5wasm": "0.8.5", "nanoid": "5.1.5" }, "devDependencies": { diff --git a/packages/h5wasm/src/models.ts b/packages/h5wasm/src/models.ts index d19704428..ce651fe6c 100644 --- a/packages/h5wasm/src/models.ts +++ b/packages/h5wasm/src/models.ts @@ -11,9 +11,9 @@ export enum Plugin { Blosc = 'blosc', Blosc2 = 'blosc2', BZIP2 = 'bz2', + JPEG = 'jpeg', LZ4 = 'lz4', LZF = 'lzf', - SZ = 'szf', ZFP = 'zfp', Zstandard = 'zstd', } diff --git a/packages/h5wasm/src/utils.ts b/packages/h5wasm/src/utils.ts index 1bc73dba6..4b6c3ba88 100644 --- a/packages/h5wasm/src/utils.ts +++ b/packages/h5wasm/src/utils.ts @@ -9,7 +9,7 @@ export const PLUGINS_BY_FILTER_ID: Record = { 32_008: Plugin.Bitshuffle, 32_013: Plugin.ZFP, 32_015: Plugin.Zstandard, - 32_017: Plugin.SZ, + 32_019: Plugin.JPEG, 32_026: Plugin.Blosc2, }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 82789eed7..5efa5b122 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -57,8 +57,8 @@ importers: specifier: 5.1.1 version: 5.1.1(axios@1.11.0)(react@18.3.1) h5wasm-plugins: - specifier: 0.0.3 - version: 0.0.3 + specifier: 0.1.2 + version: 0.1.2 normalize.css: specifier: 8.0.1 version: 8.0.1 @@ -330,8 +330,8 @@ importers: specifier: 4.4.2 version: 4.4.2 h5wasm: - specifier: 0.7.9 - version: 0.7.9 + specifier: 0.8.5 + version: 0.8.5 nanoid: specifier: 5.1.5 version: 5.1.5 @@ -3189,14 +3189,11 @@ packages: greenlet@1.1.0: resolution: {integrity: sha512-W/kKzq7ZSF/LFItIjaSaccw8L6js+9SMSS5buXZs/Td7qZAT91Kd0LTxuUjSWDwuyv4MPo/fhZdkRLV1zsuClg==} - h5wasm-plugins@0.0.3: - resolution: {integrity: sha512-hOI1ERa6QfjrN/AWJW0mqFaAU4D4NtzYXjb03h7f1MufkIzCkYo/bZoB7NZy+Qy9vHsxL31rz7hNlZCPouf+tQ==} + h5wasm-plugins@0.1.2: + resolution: {integrity: sha512-PIgCkEEIBWUjrAesiBBhF6Lk8IUuU60iaUJ6R6RFwGkbFdomLJ80fxBWJQRhFFX5u7+/VSnUTvkVFezH+oMeYg==} - h5wasm@0.6.10: - resolution: {integrity: sha512-GxBWGVxBftyq67kAbS4WPmTH3a8hGKigdMm+IVJ7tLY7BHj+nqDTUKO9RmmPBHy6Pvq5uW1YpIJr/oGanw+RyQ==} - - h5wasm@0.7.9: - resolution: {integrity: sha512-V3N+SSQdrTjQUqwu6sJsOcwocZCXeZnwmuNO/gervRaTiqJD1lSybqB+7d3YSciej3OIwmturEP1UzhIOZ77pA==} + h5wasm@0.8.5: + resolution: {integrity: sha512-9ztVmhCDKsUVo/BPst1TLU+WIZkoOZAGSogDbGTUqVAdOGlzesExEQw8HdeAsFZe9kYgSyam0MjA0JTSiXOF8Q==} has-bigints@1.1.0: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} @@ -4624,6 +4621,7 @@ packages: three-mesh-bvh@0.7.8: resolution: {integrity: sha512-BGEZTOIC14U0XIRw3tO4jY7IjP7n7v24nv9JXS1CyeVRWOCkcOMhRnmENUjuV39gktAw4Ofhr0OvIAiTspQrrw==} + deprecated: Deprecated due to three.js version incompatibility. Please use v0.8.0, instead. peerDependencies: three: '>= 0.151.0' @@ -8074,13 +8072,11 @@ snapshots: greenlet@1.1.0: {} - h5wasm-plugins@0.0.3: + h5wasm-plugins@0.1.2: dependencies: - h5wasm: 0.6.10 - - h5wasm@0.6.10: {} + h5wasm: 0.8.5 - h5wasm@0.7.9: {} + h5wasm@0.8.5: {} has-bigints@1.1.0: {} diff --git a/tsconfig.json b/tsconfig.json index 6ead9c5df..216d1cffc 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,10 +16,7 @@ "noImplicitOverride": true, "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, - "noUncheckedSideEffectImports": true, - "forceConsistentCasingInFileNames": true, - "useDefineForClassFields": true, - "useUnknownInCatchVariables": true + "noUncheckedSideEffectImports": true }, "include": ["*"] }