wasm-image-optimization 1.1.7 → 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 +48 -14
- package/dist/cjs/lib/optimizeImage.js.map +1 -1
- package/dist/cjs/node/index.js.map +1 -1
- package/dist/esm/worker.js +3988 -0
- package/dist/lib/optimizeImage.js.map +1 -1
- package/dist/vite/dummy.d.ts +2 -0
- package/dist/vite/dummy.js +3 -0
- package/dist/vite/dummy.js.map +1 -0
- package/dist/vite/index.js +2 -2
- package/dist/vite/index.js.map +1 -1
- package/dist/vite-plugin/index.d.ts +3 -0
- package/dist/vite-plugin/index.js +29 -0
- package/dist/vite-plugin/index.js.map +1 -0
- package/dist/webworker/index.d.ts +9 -0
- package/dist/webworker/index.js +5 -0
- package/dist/webworker/index.js.map +1 -0
- package/package.json +28 -23
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
|
|
9
|
-
- CJS(file base)
|
|
10
|
-
`import { optimizeImage } from 'wasm-image-optimization
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
70
|
+
## usage
|
|
37
71
|
|
|
38
|
-
|
|
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
|
-
|
|
192
|
+
### Deno Deploy
|
|
159
193
|
|
|
160
|
-
|
|
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
|
|
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\")
|
|
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"]}
|