wasm-image-optimization 1.1.8 → 1.1.9

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/README.md CHANGED
@@ -1,23 +1,57 @@
1
1
  # wasm-image-optimization
2
2
 
3
+ ## Supported Environments
4
+
3
5
  - Cloudflare workers
4
6
  `import { optimizeImage } from 'wasm-image-optimization';`
5
- - Next.js(Webpack)
7
+ - Next.js (Webpack)
6
8
  `import { optimizeImage } from 'wasm-image-optimization/next';`
7
- - ESM(import base) & Deno Deploy
8
- `import { optimizeImage } from 'wasm-image-optimization/esm';`
9
- - CJS(file base)
10
- `import { optimizeImage } from 'wasm-image-optimization/node';`
11
- - Vite(Browser)
9
+ - ESM (import base) & Deno Deploy
10
+ `import { optimizeImage } from 'wasm-image-optimization';`
11
+ - CJS (file base)
12
+ `import { optimizeImage } from 'wasm-image-optimization';`
13
+ - Vite (Browser)
12
14
  `import { optimizeImage } from 'wasm-image-optimization/vite';`
15
+ - Web Worker (Browser) Multi process
16
+ `import { optimizeImage } from 'wasm-image-optimization/webworker';`
17
+
18
+ ## WebWorker on Vite
19
+
20
+ - vite.config.ts
21
+
22
+ ```ts
23
+ import wasmImageOptimizationPlugin from "wasm-image-optimization/vite-plugin";
24
+
25
+ export default defineConfig(() => ({
26
+ plugins: [wasmImageOptimizationPlugin()],
27
+ }));
28
+ ```
13
29
 
14
- - function
30
+ ## function
15
31
 
16
32
  ```ts
17
- // quality: 1-100
18
- optimizeImage({image: ArrayBuffer, width?: number, height?:number,quality?: number,format?: "png" | "jpeg" | "avif" | "webp"}): Promise<ArrayBuffer>
19
33
 
20
- optimizeImageExt({image: ArrayBuffer, width?: number, height?:number,quality?: number,format?: "png" | "jpeg" | "avif" | "webp"}): Promise<{data: Uint8Array;originalWidth: number;originalHeight: number; width: number;height: number;}>
34
+ optimizeImage({
35
+ image: ArrayBuffer,
36
+ width?: number,
37
+ height?:number,
38
+ quality?: number, // quality: 1-100
39
+ format?: "png" | "jpeg" | "avif" | "webp"})
40
+ :Promise<
41
+ ArrayBuffer>
42
+
43
+ optimizeImageExt({
44
+ image: ArrayBuffer,
45
+ width?: number,
46
+ height?:number,
47
+ quality?: number,
48
+ format?: "png" | "jpeg" | "avif" | "webp"})
49
+ :Promise<{
50
+ data: Uint8Array;
51
+ originalWidth: number;
52
+ originalHeight: number;
53
+ width: number;
54
+ height: number;}>
21
55
 
22
56
  ```
23
57
 
@@ -33,9 +67,9 @@ optimizeImageExt({image: ArrayBuffer, width?: number, height?:number,quality?: n
33
67
  - webp
34
68
  - avif(default)
35
69
 
36
- # usage
70
+ ## usage
37
71
 
38
- ## Next.js image optimization with Cloudflare
72
+ ### Next.js image optimization with Cloudflare
39
73
 
40
74
  ```ts
41
75
  import { optimizeImage } from "wasm-image-optimization";
@@ -155,9 +189,9 @@ const config = {
155
189
  export default config;
156
190
  ```
157
191
 
158
- ## Deno Deploy
192
+ ### Deno Deploy
159
193
 
160
- ### Parameters
194
+ #### Parameters
161
195
 
162
196
  | Name | Type | Description |
163
197
  | ---- | ------ | ----------- |
@@ -1 +1 @@
1
- {"version":3,"file":"optimizeImage.js","sourceRoot":"","sources":["../../../src/lib/optimizeImage.ts"],"names":[],"mappings":";;;AAUA,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;AACK,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,EACf,QAAQ,GAGT,EAAE,EAAE,CACH,IAAA,yBAAiB,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CACzE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CACf,CAAC;AAZS,QAAA,cAAc,kBAYvB;AAEG,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,EACf,QAAQ,GAGT,EAAE,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAC5C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,CACvE,CAAC;AAZS,QAAA,iBAAiB,qBAY1B","sourcesContent":["import { type ModuleType } from \"../esm/libImage.js\";\n\nexport type OptimizeParams = {\n image: BufferSource | 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\"; // The desired output format (optional)\n};\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 libImage,\n}: OptimizeParams & {\n libImage: Promise<ModuleType>;\n}) =>\n _optimizeImageExt({ image, width, height, quality, format, libImage }).then(\n (r) => r?.data\n );\n\nexport const _optimizeImageExt = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n libImage,\n}: OptimizeParams & {\n libImage: Promise<ModuleType>;\n}) =>\n libImage.then(({ optimize, releaseResult }) =>\n result(optimize(image, width, height, quality, format), releaseResult)\n );\n"]}
1
+ {"version":3,"file":"optimizeImage.js","sourceRoot":"","sources":["../../../src/lib/optimizeImage.ts"],"names":[],"mappings":";;;AAUA,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;AACK,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,EACf,QAAQ,GAGT,EAAE,EAAE,CACH,IAAA,yBAAiB,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CACzE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CACf,CAAC;AAZS,QAAA,cAAc,kBAYvB;AAEG,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,EACf,QAAQ,GAGT,EAAE,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAC5C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,CACvE,CAAC;AAZS,QAAA,iBAAiB,qBAY1B","sourcesContent":["import { type ModuleType } from \"../esm/libImage.js\";\n\nexport type OptimizeParams = {\n image: BufferSource | 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\"; // The desired output format (optional)\n};\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 libImage,\n}: OptimizeParams & {\n libImage: Promise<ModuleType>;\n}) =>\n _optimizeImageExt({ image, width, height, quality, format, libImage }).then(\n (r) => r?.data,\n );\n\nexport const _optimizeImageExt = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n libImage,\n}: OptimizeParams & {\n libImage: Promise<ModuleType>;\n}) =>\n libImage.then(({ optimize, releaseResult }) =>\n result(optimize(image, width, height, quality, format), releaseResult),\n );\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/node/index.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,6DAA6D;AAC7D,gBAAgB;AAChB,4EAAiD;AACjD,8DAIiC;AAEjC,MAAM,QAAQ,GAAG,IAAA,qBAAQ,EAAC;IACxB,UAAU,EAAE,YAAE,CAAC,YAAY,CACzB,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAC1C;CACX,CAAC,CAAC;AAEI,MAAM,aAAa,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC5D,IAAA,iCAAc,EAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAD7B,QAAA,aAAa,iBACgB;AAEnC,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC/D,IAAA,oCAAiB,EAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AADhC,QAAA,gBAAgB,oBACgB","sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n/* @ts-ignore */\nimport LibImage from \"../../workers/libImage.js\";\nimport {\n _optimizeImage,\n _optimizeImageExt,\n type OptimizeParams,\n} from \"../lib/optimizeImage.js\";\n\nconst libImage = LibImage({\n wasmBinary: fs.readFileSync(\n path.resolve(__dirname, \"../../esm/libImage.wasm\")\n ) as never,\n});\n\nexport const optimizeImage = async (params: OptimizeParams) =>\n _optimizeImage({ ...params, libImage });\n\nexport const optimizeImageExt = async (params: OptimizeParams) =>\n _optimizeImageExt({ ...params, libImage });\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/node/index.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,6DAA6D;AAC7D,gBAAgB;AAChB,4EAAiD;AACjD,8DAIiC;AAEjC,MAAM,QAAQ,GAAG,IAAA,qBAAQ,EAAC;IACxB,UAAU,EAAE,YAAE,CAAC,YAAY,CACzB,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAC1C;CACX,CAAC,CAAC;AAEI,MAAM,aAAa,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC5D,IAAA,iCAAc,EAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAD7B,QAAA,aAAa,iBACgB;AAEnC,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC/D,IAAA,oCAAiB,EAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AADhC,QAAA,gBAAgB,oBACgB","sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n/* @ts-ignore */\nimport LibImage from \"../../workers/libImage.js\";\nimport {\n _optimizeImage,\n _optimizeImageExt,\n type OptimizeParams,\n} from \"../lib/optimizeImage.js\";\n\nconst libImage = LibImage({\n wasmBinary: fs.readFileSync(\n path.resolve(__dirname, \"../../esm/libImage.wasm\"),\n ) as never,\n});\n\nexport const optimizeImage = async (params: OptimizeParams) =>\n _optimizeImage({ ...params, libImage });\n\nexport const optimizeImageExt = async (params: OptimizeParams) =>\n _optimizeImageExt({ ...params, libImage });\n"]}