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.
@@ -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;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,QAAQ,GAGT,EAAE,EAAE,CACH,iBAAiB,CAAC,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;AAEJ,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,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","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;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,QAAQ,GAGT,EAAE,EAAE,CACH,iBAAiB,CAAC,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;AAEJ,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,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","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"]}
@@ -0,0 +1,2 @@
1
+ export declare const optimizeImage: null;
2
+ export declare const optimizeImageExt: null;
@@ -0,0 +1,3 @@
1
+ export const optimizeImage = null;
2
+ export const optimizeImageExt = null;
3
+ //# sourceMappingURL=dummy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dummy.js","sourceRoot":"","sources":["../../src/vite/dummy.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC","sourcesContent":["export const optimizeImage = null;\nexport const optimizeImageExt = null;\n"]}
@@ -10,6 +10,6 @@ const getLibImage = async () => {
10
10
  }
11
11
  return libImage;
12
12
  };
13
- export const optimizeImage = async (params) => _optimizeImage({ ...params, libImage: getLibImage() });
14
- export const optimizeImageExt = async (params) => _optimizeImageExt({ ...params, libImage: getLibImage() });
13
+ export const optimizeImage = (params) => _optimizeImage({ ...params, libImage: getLibImage() });
14
+ export const optimizeImageExt = (params) => _optimizeImageExt({ ...params, libImage: getLibImage() });
15
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,0BAA0B,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,QAA6B,MAAM,wBAAwB,CAAC;AAEnE,IAAI,QAA6B,CAAC;AAClC,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,QAAQ,CAAC;YAClB,UAAU,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC5D,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC/D,iBAAiB,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC","sourcesContent":["import WASM from \"../esm/libImage.wasm?url\";\nimport {\n _optimizeImage,\n _optimizeImageExt,\n type OptimizeParams,\n} from \"../lib/optimizeImage.js\";\nimport LibImage, { type ModuleType } from \"../workers/libImage.js\";\n\nlet libImage: Promise<ModuleType>;\nconst getLibImage = async () => {\n if (!libImage) {\n libImage = LibImage({\n wasmBinary: await fetch(WASM).then((v) => v.arrayBuffer()),\n });\n }\n return libImage;\n};\n\nexport const optimizeImage = async (params: OptimizeParams) =>\n _optimizeImage({ ...params, libImage: getLibImage() });\n\nexport const optimizeImageExt = async (params: OptimizeParams) =>\n _optimizeImageExt({ ...params, libImage: getLibImage() });\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,0BAA0B,CAAC;AAE5C,OAAO,EACL,cAAc,EACd,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,QAA6B,MAAM,wBAAwB,CAAC;AAEnE,IAAI,QAA6B,CAAC;AAClC,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,QAAQ,CAAC;YAClB,UAAU,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAsB,EAAE,EAAE,CACtD,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAsB,EAAE,EAAE,CACzD,iBAAiB,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC","sourcesContent":["import WASM from \"../esm/libImage.wasm?url\";\n\nimport {\n _optimizeImage,\n _optimizeImageExt,\n type OptimizeParams,\n} from \"../lib/optimizeImage.js\";\nimport LibImage, { type ModuleType } from \"../workers/libImage.js\";\n\nlet libImage: Promise<ModuleType>;\nconst getLibImage = async () => {\n if (!libImage) {\n libImage = LibImage({\n wasmBinary: await fetch(WASM).then((v) => v.arrayBuffer()),\n });\n }\n return libImage;\n};\n\nexport const optimizeImage = (params: OptimizeParams) =>\n _optimizeImage({ ...params, libImage: getLibImage() });\n\nexport const optimizeImageExt = (params: OptimizeParams) =>\n _optimizeImageExt({ ...params, libImage: getLibImage() });\n"]}
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from "vite";
2
+ declare const _default: () => Plugin[];
3
+ export default _default;
@@ -0,0 +1,29 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ export default () => {
4
+ let config;
5
+ return [
6
+ {
7
+ name: "wasm-image-optimization-serve",
8
+ apply: "serve",
9
+ config: () => {
10
+ return {
11
+ optimizeDeps: {
12
+ exclude: ["wasm-image-optimization"],
13
+ },
14
+ };
15
+ },
16
+ },
17
+ {
18
+ name: "wasm-image-optimization-build",
19
+ apply: "build",
20
+ configResolved(_config) {
21
+ config = _config;
22
+ },
23
+ writeBundle() {
24
+ fs.copyFileSync("node_modules/wasm-image-optimization/dist/esm/libImage.wasm", path.resolve(config.build.outDir, "assets/libImage.wasm"));
25
+ },
26
+ },
27
+ ];
28
+ };
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vite-plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,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;QACD;YACE,IAAI,EAAE,+BAA+B;YACrC,KAAK,EAAE,OAAO;YACd,cAAc,CAAC,OAAO;gBACpB,MAAM,GAAG,OAAO,CAAC;YACnB,CAAC;YACD,WAAW;gBACT,EAAE,CAAC,YAAY,CACb,6DAA6D,EAC7D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAC1D,CAAC;YACJ,CAAC;SACF;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport type { Plugin, ResolvedConfig } from \"vite\";\n\nexport default (): Plugin[] => {\n let config: ResolvedConfig;\n return [\n {\n name: \"wasm-image-optimization-serve\",\n apply: \"serve\",\n config: () => {\n return {\n optimizeDeps: {\n exclude: [\"wasm-image-optimization\"],\n },\n };\n },\n },\n {\n name: \"wasm-image-optimization-build\",\n apply: \"build\",\n configResolved(_config) {\n config = _config;\n },\n writeBundle() {\n fs.copyFileSync(\n \"node_modules/wasm-image-optimization/dist/esm/libImage.wasm\",\n path.resolve(config.build.outDir, \"assets/libImage.wasm\")\n );\n },\n },\n ];\n};\n"]}
@@ -0,0 +1,9 @@
1
+ import { type OptimizeParams } from "../lib/optimizeImage.js";
2
+ export declare const optimizeImage: (params: OptimizeParams) => Promise<Uint8Array<ArrayBuffer> | undefined>;
3
+ export declare const optimizeImageExt: (params: OptimizeParams) => Promise<{
4
+ data: Uint8Array<ArrayBuffer>;
5
+ originalWidth: number;
6
+ originalHeight: number;
7
+ width: number;
8
+ height: number;
9
+ } | undefined>;
@@ -0,0 +1,5 @@
1
+ import { createWorker } from "worker-lib";
2
+ const execute = createWorker(() => new Worker(new URL("../esm/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
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webworker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQ1C,MAAM,OAAO,GAAG,YAAY,CAC1B,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC9D,CAAC,CACF,CAAC;AAEF,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","sourcesContent":["import { createWorker } from \"worker-lib\";\nimport {\n _optimizeImage,\n _optimizeImageExt,\n type OptimizeParams,\n} from \"../lib/optimizeImage.js\";\nimport type { WorkerType } from \"../esm/_worker.js\";\n\nconst execute = createWorker<WorkerType>(\n () => new Worker(new URL(\"../esm/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"]}
package/package.json CHANGED
@@ -1,36 +1,34 @@
1
1
  {
2
2
  "name": "wasm-image-optimization",
3
3
  "description": "Optimize images with wasm on edge runtime",
4
- "version": "1.1.7",
4
+ "version": "1.1.9",
5
5
  "exports": {
6
6
  "./esm": {
7
- "default": {
8
- "import": "./dist/esm/index.js",
9
- "types": "./dist/esm/index.d.ts"
10
- }
7
+ "import": "./dist/esm/index.js",
8
+ "types": "./dist/esm/index.d.ts"
11
9
  },
12
10
  "./next": {
13
- "default": {
14
- "import": "./dist/next/index.js",
15
- "types": "./dist/next/index.d.ts"
16
- }
11
+ "import": "./dist/next/index.js",
12
+ "types": "./dist/next/index.d.ts"
17
13
  },
18
14
  "./node": {
19
- "default": {
20
- "types": "./dist/cjs/node/index.d.ts",
21
- "default": "./dist/cjs/node/index.js"
22
- }
15
+ "types": "./dist/cjs/node/index.d.ts",
16
+ "default": "./dist/cjs/node/index.js"
23
17
  },
24
18
  "./vite": {
25
- "default": {
26
- "types": "./dist/vite/index.d.ts",
27
- "default": "./dist/vite/index.js"
28
- }
19
+ "types": "./dist/vite/index.d.ts",
20
+ "browser": "./dist/vite/index.js",
21
+ "node": "./dist/vite/dummy.js",
22
+ "default": "./dist/vite/dummy.js"
29
23
  },
30
- "./wasm": {
31
- "default": {
32
- "default": "./dist/esm/libImage.wasm"
33
- }
24
+ "./vite-plugin": {
25
+ "types": "./dist/vite-plugin/index.d.ts",
26
+ "default": "./dist/vite-plugin/index.js"
27
+ },
28
+ "./webworker": {
29
+ "types": "./dist/webworker/index.d.ts",
30
+ "browser": "./dist/webworker/index.js",
31
+ "node": "./dist/vite/dummy.js"
34
32
  },
35
33
  ".": {
36
34
  "require": {
@@ -78,23 +76,30 @@
78
76
  "scripts": {
79
77
  "test": "yarn ts-node test",
80
78
  "lint:fix": "eslint --fix src/ && prettier -w src",
81
- "build": "tsc && tsc -p ./tsconfig.csj.json && cpy esm dist",
79
+ "build": "tsc && tsc -p ./tsconfig.csj.json && cpy esm dist && tsx bin/build",
82
80
  "build:wasm": "docker compose -f docker/docker-compose.yml run --build --rm emcc make -j",
83
81
  "docker:shell": "docker compose -f docker/docker-compose.yml run --build --rm emcc bash -l"
84
82
  },
83
+ "dependencies": {
84
+ "worker-lib": "1.0.2"
85
+ },
85
86
  "devDependencies": {
87
+ "@eslint/js": "9.20.0",
86
88
  "@types/node": "^22.13.4",
87
89
  "@typescript-eslint/eslint-plugin": "^8.24.0",
88
90
  "@typescript-eslint/parser": "^8.24.0",
89
91
  "cpy-cli": "^5.0.0",
92
+ "esbuild": "0.25.0",
90
93
  "eslint": "9.20.1",
91
94
  "eslint-config-prettier": "^10.0.1",
92
95
  "eslint-import-resolver-typescript": "^3.8.0",
93
96
  "eslint-plugin-import": "^2.31.0",
94
97
  "prettier": "^3.5.1",
95
98
  "ts-node": "^10.9.2",
99
+ "tsx": "4.19.3",
96
100
  "typescript": "^5.7.3",
97
- "typescript-eslint": "^8.24.0"
101
+ "typescript-eslint": "^8.24.0",
102
+ "vite": "6.1.1"
98
103
  },
99
104
  "publishConfig": {
100
105
  "access": "public"