wasm-image-optimization 1.4.6 → 2.0.1

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.
Files changed (72) hide show
  1. package/LICENSE +5 -5
  2. package/README.md +152 -97
  3. package/dist/child-workers.d.ts +6 -0
  4. package/dist/child-workers.js +20 -0
  5. package/dist/cli.d.ts +2 -0
  6. package/dist/cli.js +47 -0
  7. package/dist/core.d.ts +76 -0
  8. package/dist/core.js +174 -0
  9. package/dist/index.d.ts +5 -0
  10. package/dist/index.js +7 -0
  11. package/dist/single.d.ts +14 -0
  12. package/dist/single.js +28 -0
  13. package/dist/wasm-image-optimization-single.js +0 -0
  14. package/dist/wasm-image-optimization.js +2 -0
  15. package/dist/wasm-image-optimization.wasm +0 -0
  16. package/dist/web-workers.js +2958 -0
  17. package/dist/workerd.d.ts +19 -0
  18. package/dist/workerd.js +48 -0
  19. package/dist/workers.d.ts +7 -0
  20. package/dist/workers.js +50 -0
  21. package/package.json +64 -91
  22. package/dist/cjs/dummy/index.d.ts +0 -9
  23. package/dist/cjs/dummy/index.js +0 -22
  24. package/dist/cjs/dummy/index.js.map +0 -1
  25. package/dist/cjs/lib/optimizeImage.d.ts +0 -14
  26. package/dist/cjs/lib/optimizeImage.js +0 -24
  27. package/dist/cjs/lib/optimizeImage.js.map +0 -1
  28. package/dist/cjs/libImage.js +0 -2
  29. package/dist/cjs/libImage.wasm +0 -0
  30. package/dist/cjs/node/_node-worker.d.ts +0 -12
  31. package/dist/cjs/node/_node-worker.js +0 -9
  32. package/dist/cjs/node/_node-worker.js.map +0 -1
  33. package/dist/cjs/node/cjs-worker.d.ts +0 -12
  34. package/dist/cjs/node/cjs-worker.js +0 -23
  35. package/dist/cjs/node/cjs-worker.js.map +0 -1
  36. package/dist/cjs/node/index.d.ts +0 -10
  37. package/dist/cjs/node/index.js +0 -20
  38. package/dist/cjs/node/index.js.map +0 -1
  39. package/dist/cjs/node/node-worker.js +0 -4276
  40. package/dist/cjs/types/index.d.ts +0 -16
  41. package/dist/cjs/types/index.js +0 -3
  42. package/dist/cjs/types/index.js.map +0 -1
  43. package/dist/cjs/vite-plugin/index.d.ts +0 -3
  44. package/dist/cjs/vite-plugin/index.js +0 -19
  45. package/dist/cjs/vite-plugin/index.js.map +0 -1
  46. package/dist/dummy/index.d.ts +0 -9
  47. package/dist/dummy/index.js +0 -12
  48. package/dist/dummy/index.js.map +0 -1
  49. package/dist/esm/index.d.ts +0 -10
  50. package/dist/esm/index.js +0 -6
  51. package/dist/esm/index.js.map +0 -1
  52. package/dist/esm/libImage.js +0 -0
  53. package/dist/esm/package.json +0 -3
  54. package/dist/esm/web-worker.js +0 -4021
  55. package/dist/lib/optimizeImage.d.ts +0 -14
  56. package/dist/lib/optimizeImage.js +0 -19
  57. package/dist/lib/optimizeImage.js.map +0 -1
  58. package/dist/types/index.d.ts +0 -16
  59. package/dist/types/index.js +0 -2
  60. package/dist/types/index.js.map +0 -1
  61. package/dist/vite-plugin/index.d.ts +0 -3
  62. package/dist/vite-plugin/index.js +0 -17
  63. package/dist/vite-plugin/index.js.map +0 -1
  64. package/dist/web-worker/_web-worker.d.ts +0 -14
  65. package/dist/web-worker/_web-worker.js +0 -9
  66. package/dist/web-worker/_web-worker.js.map +0 -1
  67. package/dist/web-worker/index.d.ts +0 -12
  68. package/dist/web-worker/index.js +0 -6
  69. package/dist/web-worker/index.js.map +0 -1
  70. package/dist/workers/index.d.ts +0 -10
  71. package/dist/workers/index.js +0 -11
  72. package/dist/workers/index.js.map +0 -1
@@ -1,14 +0,0 @@
1
- import type { ModuleType } from "../esm/libImage.js";
2
- import type { OptimizeParams } from "../types/index.js";
3
- export declare const _optimizeImage: ({ image, width, height, quality, format, speed, filter, libImage, }: OptimizeParams & {
4
- libImage: Promise<ModuleType>;
5
- }) => Promise<Uint8Array<ArrayBuffer> | undefined>;
6
- export declare const _optimizeImageExt: ({ image, width, height, quality, format, speed, filter, libImage, }: OptimizeParams & {
7
- libImage: Promise<ModuleType>;
8
- }) => Promise<{
9
- data: Uint8Array<ArrayBuffer>;
10
- originalWidth: number;
11
- originalHeight: number;
12
- width: number;
13
- height: number;
14
- } | undefined>;
@@ -1,19 +0,0 @@
1
- const result = (result, releaseResult) => {
2
- const r = result
3
- ? { ...result, data: Uint8Array.from(result.data) }
4
- : undefined;
5
- releaseResult();
6
- return r;
7
- };
8
- export const _optimizeImage = async ({ image, width = 0, height = 0, quality = 100, format = "avif", speed = 6, filter = true, libImage, }) => _optimizeImageExt({
9
- image,
10
- width,
11
- height,
12
- quality,
13
- format,
14
- speed,
15
- filter,
16
- libImage,
17
- }).then((r) => r?.data);
18
- export const _optimizeImageExt = async ({ image, width = 0, height = 0, quality = 100, format = "avif", speed = 6, filter = true, libImage, }) => libImage.then(({ optimize, releaseResult }) => result(optimize(image, width, height, quality, format, speed, filter), releaseResult));
19
- //# sourceMappingURL=optimizeImage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"optimizeImage.js","sourceRoot":"","sources":["../../src/lib/optimizeImage.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,GAAG,CACb,MAAsD,EACtD,aAAyB,EACzB,EAAE;IACF,MAAM,CAAC,GAAG,MAAM;QACd,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACnD,CAAC,CAAC,SAAS,CAAC;IACd,aAAa,EAAE,CAAC;IAChB,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,EACf,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,IAAI,EACb,QAAQ,GAGT,EAAE,EAAE,CACH,iBAAiB,CAAC;IAChB,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,QAAQ;CACT,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,EACf,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,IAAI,EACb,QAAQ,GAGT,EAAE,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAC5C,MAAM,CACJ,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAC9D,aAAa,CACd,CACF,CAAC","sourcesContent":["import type { ModuleType } from \"../esm/libImage.js\";\nimport type { OptimizeParams } from \"../types/index.js\";\n\nconst result = (\n result: ReturnType<ModuleType[\"optimize\"]> | undefined,\n releaseResult: () => void\n) => {\n const r = result\n ? { ...result, data: Uint8Array.from(result.data) }\n : undefined;\n releaseResult();\n return r;\n};\nexport const _optimizeImage = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n speed = 6,\n filter = true,\n libImage,\n}: OptimizeParams & {\n libImage: Promise<ModuleType>;\n}) =>\n _optimizeImageExt({\n image,\n width,\n height,\n quality,\n format,\n speed,\n filter,\n libImage,\n }).then((r) => r?.data);\n\nexport const _optimizeImageExt = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n speed = 6,\n filter = true,\n libImage,\n}: OptimizeParams & {\n libImage: Promise<ModuleType>;\n}) =>\n libImage.then(({ optimize, releaseResult }) =>\n result(\n optimize(image, width, height, quality, format, speed, filter),\n releaseResult\n )\n );\n"]}
@@ -1,16 +0,0 @@
1
- export type OptimizeResult = {
2
- data: Uint8Array;
3
- originalWidth: number;
4
- originalHeight: number;
5
- width: number;
6
- height: number;
7
- };
8
- export type OptimizeParams = {
9
- image: BufferSource | Buffer | string;
10
- width?: number;
11
- height?: number;
12
- quality?: number;
13
- format?: "jpeg" | "png" | "webp" | "avif" | "thumbhash" | "raw" | "none";
14
- speed?: number;
15
- filter?: boolean;
16
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"","sourcesContent":["export type OptimizeResult = {\n data: Uint8Array;\n originalWidth: number;\n originalHeight: number;\n width: number;\n height: number;\n};\n\nexport type OptimizeParams = {\n image: BufferSource | Buffer | string; // The input image data\n width?: number; // The desired output width (optional)\n height?: number; // The desired output height (optional)\n quality?: number; // The desired output quality (0-100, optional)\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\" | \"thumbhash\" | \"raw\" | \"none\"; // The desired output format (optional)\n speed?: number; // The desired speed (0-10, Slow-Fast, Optional)\n filter?: boolean; // resize filter (default true)\n};\n"]}
@@ -1,3 +0,0 @@
1
- import type { Plugin } from "vite";
2
- declare const _default: () => Plugin[];
3
- export default _default;
@@ -1,17 +0,0 @@
1
- export default () => {
2
- let config;
3
- return [
4
- {
5
- name: "wasm-image-optimization-serve",
6
- apply: "serve",
7
- config: () => {
8
- return {
9
- optimizeDeps: {
10
- exclude: ["wasm-image-optimization"],
11
- },
12
- };
13
- },
14
- },
15
- ];
16
- };
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vite-plugin/index.ts"],"names":[],"mappings":"AAEA,eAAe,GAAa,EAAE;IAC5B,IAAI,MAAsB,CAAC;IAC3B,OAAO;QACL;YACE,IAAI,EAAE,+BAA+B;YACrC,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO;oBACL,YAAY,EAAE;wBACZ,OAAO,EAAE,CAAC,yBAAyB,CAAC;qBACrC;iBACF,CAAC;YACJ,CAAC;SACF;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import type { Plugin, ResolvedConfig } from \"vite\";\r\n\r\nexport default (): Plugin[] => {\r\n let config: ResolvedConfig;\r\n return [\r\n {\r\n name: \"wasm-image-optimization-serve\",\r\n apply: \"serve\",\r\n config: () => {\r\n return {\r\n optimizeDeps: {\r\n exclude: [\"wasm-image-optimization\"],\r\n },\r\n };\r\n },\r\n },\r\n ];\r\n};\r\n"]}
@@ -1,14 +0,0 @@
1
- import type { OptimizeParams } from "../types/index.js";
2
- declare const map: {
3
- optimizeImage: (params: OptimizeParams) => Promise<Uint8Array<ArrayBuffer> | undefined>;
4
- optimizeImageExt: (params: OptimizeParams) => Promise<{
5
- data: Uint8Array<ArrayBuffer>;
6
- originalWidth: number;
7
- originalHeight: number;
8
- width: number;
9
- height: number;
10
- } | undefined>;
11
- launch: () => Promise<import("../esm/libImage.js").ModuleType>;
12
- };
13
- export type WorkerType = typeof map;
14
- export {};
@@ -1,9 +0,0 @@
1
- import { initWorker } from "worker-lib";
2
- import { _optimizeImage, _optimizeImageExt } from "../lib/optimizeImage.js";
3
- const libImage = import("../esm/libImage.js").then((m) => m.default({}));
4
- const map = initWorker({
5
- optimizeImage: async (params) => _optimizeImage({ ...params, libImage }),
6
- optimizeImageExt: async (params) => _optimizeImageExt({ ...params, libImage }),
7
- launch: () => libImage,
8
- });
9
- //# sourceMappingURL=_web-worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_web-worker.js","sourceRoot":"","sources":["../../src/web-worker/_web-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5E,MAAM,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAEzE,MAAM,GAAG,GAAG,UAAU,CAAC;IACrB,aAAa,EAAE,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC9C,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC;IACzC,gBAAgB,EAAE,KAAK,EAAE,MAAsB,EAAE,EAAE,CACjD,iBAAiB,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC5C,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ;CACvB,CAAC,CAAC","sourcesContent":["import { initWorker } from \"worker-lib\";\nimport { _optimizeImage, _optimizeImageExt } from \"../lib/optimizeImage.js\";\nimport type { OptimizeParams } from \"../types/index.js\";\n\nconst libImage = import(\"../esm/libImage.js\").then((m) => m.default({}));\n\nconst map = initWorker({\n optimizeImage: async (params: OptimizeParams) =>\n _optimizeImage({ ...params, libImage }),\n optimizeImageExt: async (params: OptimizeParams) =>\n _optimizeImageExt({ ...params, libImage }),\n launch: () => libImage,\n});\n\nexport type WorkerType = typeof map;\n"]}
@@ -1,12 +0,0 @@
1
- import type { OptimizeParams, OptimizeResult } from "../types/index.js";
2
- export type { OptimizeParams, OptimizeResult };
3
- declare const setLimit: (newLimit: number) => void, close: () => void, waitAll: () => Promise<void>, waitReady: (retryTime?: number) => Promise<void>, launchWorker: () => Promise<void[]>;
4
- export declare const optimizeImage: (params: OptimizeParams) => Promise<Uint8Array<ArrayBuffer> | undefined>;
5
- export declare const optimizeImageExt: (params: OptimizeParams) => Promise<{
6
- data: Uint8Array<ArrayBuffer>;
7
- originalWidth: number;
8
- originalHeight: number;
9
- width: number;
10
- height: number;
11
- } | undefined>;
12
- export { setLimit, close, waitAll, waitReady, launchWorker };
@@ -1,6 +0,0 @@
1
- import { createWorker } from "worker-lib";
2
- const { execute, setLimit, close, waitAll, waitReady, launchWorker } = createWorker(() => new Worker(new URL("../esm/web-worker.js", import.meta.url)), 5);
3
- export const optimizeImage = async (params) => execute("optimizeImage", params);
4
- export const optimizeImageExt = async (params) => execute("optimizeImageExt", params);
5
- export { setLimit, close, waitAll, waitReady, launchWorker };
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web-worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,GAClE,YAAY,CACV,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAClE,CAAC,CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC5D,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAEnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC/D,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC","sourcesContent":["import { createWorker } from \"worker-lib\";\nimport type { WorkerType } from \"./_web-worker.js\";\nimport type { OptimizeParams, OptimizeResult } from \"../types/index.js\";\nexport type { OptimizeParams, OptimizeResult };\n\nconst { execute, setLimit, close, waitAll, waitReady, launchWorker } =\n createWorker<WorkerType>(\n () => new Worker(new URL(\"../esm/web-worker.js\", import.meta.url)),\n 5\n );\n\nexport const optimizeImage = async (params: OptimizeParams) =>\n execute(\"optimizeImage\", params);\n\nexport const optimizeImageExt = async (params: OptimizeParams) =>\n execute(\"optimizeImageExt\", params);\n\nexport { setLimit, close, waitAll, waitReady, launchWorker };\n"]}
@@ -1,10 +0,0 @@
1
- import type { OptimizeParams, OptimizeResult } from "../types/index.js";
2
- export type { OptimizeParams, OptimizeResult };
3
- export declare const optimizeImage: (params: OptimizeParams) => Promise<Uint8Array<ArrayBuffer> | undefined>;
4
- export declare const optimizeImageExt: (params: OptimizeParams) => Promise<{
5
- data: Uint8Array<ArrayBuffer>;
6
- originalWidth: number;
7
- originalHeight: number;
8
- width: number;
9
- height: number;
10
- } | undefined>;
@@ -1,11 +0,0 @@
1
- import LibImage from "../cjs/libImage.js";
2
- import WASM from "../cjs/libImage.wasm";
3
- import { _optimizeImage, _optimizeImageExt } from "../lib/optimizeImage.js";
4
- const libImage = LibImage({
5
- instantiateWasm: async (imports, receiver) => {
6
- receiver(await WebAssembly.instantiate(WASM, imports));
7
- },
8
- });
9
- export const optimizeImage = async (params) => _optimizeImage({ ...params, libImage });
10
- export const optimizeImageExt = async (params) => _optimizeImageExt({ ...params, libImage });
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workers/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAI5E,MAAM,QAAQ,GAAG,QAAQ,CAAC;IACxB,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QAC3C,QAAQ,CAAC,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC5D,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC/D,iBAAiB,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC","sourcesContent":["import LibImage from \"../cjs/libImage.js\";\nimport WASM from \"../cjs/libImage.wasm\";\nimport { _optimizeImage, _optimizeImageExt } from \"../lib/optimizeImage.js\";\nimport type { OptimizeParams, OptimizeResult } from \"../types/index.js\";\nexport type { OptimizeParams, OptimizeResult };\n\nconst libImage = LibImage({\n instantiateWasm: async (imports, receiver) => {\n receiver(await WebAssembly.instantiate(WASM, imports));\n },\n});\n\nexport const optimizeImage = async (params: OptimizeParams) =>\n _optimizeImage({ ...params, libImage });\n\nexport const optimizeImageExt = async (params: OptimizeParams) =>\n _optimizeImageExt({ ...params, libImage });\n"]}