wasm-image-optimization 1.1.5 → 1.1.8

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
@@ -8,6 +8,8 @@
8
8
  `import { optimizeImage } from 'wasm-image-optimization/esm';`
9
9
  - CJS(file base)
10
10
  `import { optimizeImage } from 'wasm-image-optimization/node';`
11
+ - Vite(Browser)
12
+ `import { optimizeImage } from 'wasm-image-optimization/vite';`
11
13
 
12
14
  - function
13
15
 
@@ -0,0 +1,20 @@
1
+ import { type ModuleType } from "../esm/libImage.js";
2
+ export type OptimizeParams = {
3
+ image: BufferSource | string;
4
+ width?: number;
5
+ height?: number;
6
+ quality?: number;
7
+ format?: "jpeg" | "png" | "webp" | "avif";
8
+ };
9
+ export declare const _optimizeImage: ({ image, width, height, quality, format, libImage, }: OptimizeParams & {
10
+ libImage: Promise<ModuleType>;
11
+ }) => Promise<Uint8Array<ArrayBuffer> | undefined>;
12
+ export declare const _optimizeImageExt: ({ image, width, height, quality, format, libImage, }: OptimizeParams & {
13
+ libImage: Promise<ModuleType>;
14
+ }) => Promise<{
15
+ data: Uint8Array<ArrayBuffer>;
16
+ originalWidth: number;
17
+ originalHeight: number;
18
+ width: number;
19
+ height: number;
20
+ } | undefined>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._optimizeImageExt = exports._optimizeImage = void 0;
4
+ const result = (result, releaseResult) => {
5
+ const r = result
6
+ ? { ...result, data: Uint8Array.from(result.data) }
7
+ : undefined;
8
+ releaseResult();
9
+ return r;
10
+ };
11
+ const _optimizeImage = async ({ image, width = 0, height = 0, quality = 100, format = "avif", libImage, }) => (0, exports._optimizeImageExt)({ image, width, height, quality, format, libImage }).then((r) => r?.data);
12
+ exports._optimizeImage = _optimizeImage;
13
+ const _optimizeImageExt = async ({ image, width = 0, height = 0, quality = 100, format = "avif", libImage, }) => libImage.then(({ optimize, releaseResult }) => result(optimize(image, width, height, quality, format), releaseResult));
14
+ exports._optimizeImageExt = _optimizeImageExt;
15
+ //# sourceMappingURL=optimizeImage.js.map
@@ -0,0 +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"]}
@@ -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,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.optimizeImageExt = exports.optimizeImage = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
+ /* @ts-ignore */
11
+ const libImage_js_1 = __importDefault(require("../../workers/libImage.js"));
12
+ const optimizeImage_js_1 = require("../lib/optimizeImage.js");
13
+ const libImage = (0, libImage_js_1.default)({
14
+ wasmBinary: fs_1.default.readFileSync(path_1.default.resolve(__dirname, "../../esm/libImage.wasm")),
15
+ });
16
+ const optimizeImage = async (params) => (0, optimizeImage_js_1._optimizeImage)({ ...params, libImage });
17
+ exports.optimizeImage = optimizeImage;
18
+ const optimizeImageExt = async (params) => (0, optimizeImage_js_1._optimizeImageExt)({ ...params, libImage });
19
+ exports.optimizeImageExt = optimizeImageExt;
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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,17 +1,6 @@
1
- export declare const optimizeImage: ({ image, width, height, quality, format, }: {
2
- image: BufferSource;
3
- width?: number;
4
- height?: number;
5
- quality?: number;
6
- format?: "jpeg" | "png" | "webp" | "avif";
7
- }) => Promise<Uint8Array<ArrayBuffer> | undefined>;
8
- export declare const optimizeImageExt: ({ image, width, height, quality, format, }: {
9
- image: BufferSource;
10
- width?: number;
11
- height?: number;
12
- quality?: number;
13
- format?: "jpeg" | "png" | "webp" | "avif";
14
- }) => Promise<{
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<{
15
4
  data: Uint8Array<ArrayBuffer>;
16
5
  originalWidth: number;
17
6
  originalHeight: number;
package/dist/esm/index.js CHANGED
@@ -1,14 +1,6 @@
1
1
  import LibImage from "./libImage.js";
2
+ import { _optimizeImage, _optimizeImageExt, } from "../lib/optimizeImage.js";
2
3
  const libImage = LibImage();
3
- const result = (result) => {
4
- const r = result
5
- ? { ...result, data: Uint8Array.from(result.data) }
6
- : undefined;
7
- if (r) {
8
- libImage.then(({ releaseResult }) => releaseResult());
9
- }
10
- return r;
11
- };
12
- export const optimizeImage = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => optimizeImageExt({ image, width, height, quality, format }).then((r) => r?.data);
13
- export const optimizeImageExt = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => libImage.then(({ optimize }) => result(optimize(image, width, height, quality, format)));
4
+ export const optimizeImage = async (params) => _optimizeImage({ ...params, libImage });
5
+ export const optimizeImageExt = async (params) => _optimizeImageExt({ ...params, libImage });
14
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/esm/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAA6B,MAAM,eAAe,CAAC;AAE1D,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;AAE5B,MAAM,MAAM,GAAG,CAAC,MAA2C,EAAE,EAAE;IAC7D,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,IAAI,CAAC,EAAE,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CACf,CAAC;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC7B,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CACxD,CAAC","sourcesContent":["import LibImage, { type ModuleType } from \"./libImage.js\";\n\nconst libImage = LibImage();\n\nconst result = (result?: ReturnType<ModuleType[\"optimize\"]>) => {\n const r = result\n ? { ...result, data: Uint8Array.from(result.data) }\n : undefined;\n if (r) {\n libImage.then(({ releaseResult }) => releaseResult());\n }\n return r;\n};\nexport const optimizeImage = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n optimizeImageExt({ image, width, height, quality, format }).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}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n libImage.then(({ optimize }) =>\n result(optimize(image, width, height, quality, format))\n );\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/esm/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EACL,cAAc,EACd,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;AAE5B,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 \"./libImage.js\";\nimport {\n _optimizeImage,\n _optimizeImageExt,\n type OptimizeParams,\n} from \"../lib/optimizeImage.js\";\n\nconst libImage = LibImage();\n\nexport const optimizeImage = async (params: OptimizeParams) =>\n _optimizeImage({ ...params, libImage });\n\nexport const optimizeImageExt = async (params: OptimizeParams) =>\n _optimizeImageExt({ ...params, libImage });\n"]}
@@ -0,0 +1,20 @@
1
+ import { type ModuleType } from "../esm/libImage.js";
2
+ export type OptimizeParams = {
3
+ image: BufferSource | string;
4
+ width?: number;
5
+ height?: number;
6
+ quality?: number;
7
+ format?: "jpeg" | "png" | "webp" | "avif";
8
+ };
9
+ export declare const _optimizeImage: ({ image, width, height, quality, format, libImage, }: OptimizeParams & {
10
+ libImage: Promise<ModuleType>;
11
+ }) => Promise<Uint8Array<ArrayBuffer> | undefined>;
12
+ export declare const _optimizeImageExt: ({ image, width, height, quality, format, libImage, }: OptimizeParams & {
13
+ libImage: Promise<ModuleType>;
14
+ }) => Promise<{
15
+ data: Uint8Array<ArrayBuffer>;
16
+ originalWidth: number;
17
+ originalHeight: number;
18
+ width: number;
19
+ height: number;
20
+ } | undefined>;
@@ -0,0 +1,10 @@
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", libImage, }) => _optimizeImageExt({ image, width, height, quality, format, libImage }).then((r) => r?.data);
9
+ export const _optimizeImageExt = async ({ image, width = 0, height = 0, quality = 100, format = "avif", libImage, }) => libImage.then(({ optimize, releaseResult }) => result(optimize(image, width, height, quality, format), releaseResult));
10
+ //# sourceMappingURL=optimizeImage.js.map
@@ -0,0 +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,17 +1,6 @@
1
- export declare const optimizeImage: ({ image, width, height, quality, format, }: {
2
- image: BufferSource;
3
- width?: number;
4
- height?: number;
5
- quality?: number;
6
- format?: "jpeg" | "png" | "webp" | "avif";
7
- }) => Promise<Uint8Array<ArrayBuffer> | undefined>;
8
- export declare const optimizeImageExt: ({ image, width, height, quality, format, }: {
9
- image: BufferSource;
10
- width?: number;
11
- height?: number;
12
- quality?: number;
13
- format?: "jpeg" | "png" | "webp" | "avif";
14
- }) => Promise<{
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<{
15
4
  data: Uint8Array<ArrayBuffer>;
16
5
  originalWidth: number;
17
6
  originalHeight: number;
@@ -1,17 +1,11 @@
1
1
  import WASM from "../esm/libImage.wasm?module";
2
- import LibImage from "../workers//libImage.js";
2
+ import { _optimizeImage, _optimizeImageExt, } from "../lib/optimizeImage.js";
3
+ import LibImage from "../workers/libImage.js";
3
4
  const libImage = LibImage({
4
5
  instantiateWasm: async (imports, receiver) => {
5
6
  receiver(await WebAssembly.instantiate(WASM, imports));
6
7
  },
7
8
  });
8
- const result = (result, releaseResult) => {
9
- const r = result
10
- ? { ...result, data: Uint8Array.from(result.data) }
11
- : undefined;
12
- releaseResult();
13
- return r;
14
- };
15
- export const optimizeImage = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => optimizeImageExt({ image, width, height, quality, format }).then((r) => r?.data);
16
- export const optimizeImageExt = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => libImage.then(({ optimize, releaseResult }) => result(optimize(image, width, height, quality, format), releaseResult));
9
+ export const optimizeImage = async (params) => _optimizeImage({ ...params, libImage });
10
+ export const optimizeImageExt = async (params) => _optimizeImageExt({ ...params, libImage });
17
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,6BAA6B,CAAC;AAC/C,OAAO,QAA6B,MAAM,yBAAyB,CAAC;AAEpE,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,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,aAAa,GAAG,KAAK,EAAE,EAClC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CACf,CAAC;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,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 WASM from \"../esm/libImage.wasm?module\";\nimport LibImage, { type ModuleType } from \"../workers//libImage.js\";\n\nconst libImage = LibImage({\n instantiateWasm: async (imports, receiver) => {\n receiver(await WebAssembly.instantiate(WASM, imports));\n },\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}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n optimizeImageExt({ image, width, height, quality, format }).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}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n libImage.then(({ optimize, releaseResult }) =>\n result(optimize(image, width, height, quality, format), releaseResult)\n );\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,6BAA6B,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAE9C,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 WASM from \"../esm/libImage.wasm?module\";\nimport {\n _optimizeImage,\n _optimizeImageExt,\n type OptimizeParams,\n} from \"../lib/optimizeImage.js\";\nimport LibImage from \"../workers/libImage.js\";\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"]}
@@ -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"]}
@@ -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,15 @@
1
+ import WASM from "../esm/libImage.wasm?url";
2
+ import { _optimizeImage, _optimizeImageExt, } from "../lib/optimizeImage.js";
3
+ import LibImage from "../workers/libImage.js";
4
+ let libImage;
5
+ const getLibImage = async () => {
6
+ if (!libImage) {
7
+ libImage = LibImage({
8
+ wasmBinary: await fetch(WASM).then((v) => v.arrayBuffer()),
9
+ });
10
+ }
11
+ return libImage;
12
+ };
13
+ export const optimizeImage = (params) => _optimizeImage({ ...params, libImage: getLibImage() });
14
+ export const optimizeImageExt = (params) => _optimizeImageExt({ ...params, libImage: getLibImage() });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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,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,6 @@
1
+ import { createWorker } from "worker-lib";
2
+ const execute = createWorker(() => new Worker(new URL("./worker.js", import.meta.url)), 5 // Maximum parallel number
3
+ );
4
+ export const optimizeImage = async (params) => execute("optimizeImage", params);
5
+ export const optimizeImageExt = async (params) => execute("optimizeImageExt", params);
6
+ //# 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;AAU1C,MAAM,OAAO,GAAG,YAAY,CAC1B,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACzD,CAAC,CAAC,0BAA0B;CAC7B,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\";\n\nimport {\n _optimizeImage,\n _optimizeImageExt,\n type OptimizeParams,\n} from \"../lib/optimizeImage.js\";\n\nimport type { WorkerType } from \"./worker\";\n\nconst execute = createWorker<WorkerType>(\n () => new Worker(new URL(\"./worker.js\", import.meta.url)),\n 5 // Maximum parallel number\n);\n\nexport const optimizeImage = async (params: OptimizeParams) =>\n execute(\"optimizeImage\", params);\n\nexport const optimizeImageExt = async (params: OptimizeParams) =>\n execute(\"optimizeImageExt\", params);\n"]}
@@ -0,0 +1,12 @@
1
+ declare const map: {
2
+ optimizeImage: (params: import("../lib/optimizeImage.js").OptimizeParams) => Promise<Uint8Array<ArrayBuffer> | undefined>;
3
+ optimizeImageExt: (params: import("../lib/optimizeImage.js").OptimizeParams) => Promise<{
4
+ data: Uint8Array<ArrayBuffer>;
5
+ originalWidth: number;
6
+ originalHeight: number;
7
+ width: number;
8
+ height: number;
9
+ } | undefined>;
10
+ };
11
+ export type WorkerType = typeof map;
12
+ export {};
@@ -0,0 +1,5 @@
1
+ import { initWorker } from "worker-lib";
2
+ import { optimizeImage, optimizeImageExt } from "../vite/index.js";
3
+ // Initialization process to make it usable in Worker.
4
+ const map = initWorker({ optimizeImage, optimizeImageExt });
5
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/webworker/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,sDAAsD;AACtD,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC","sourcesContent":["import { initWorker } from \"worker-lib\";\nimport { optimizeImage, optimizeImageExt } from \"../vite/index.js\";\n\n// Initialization process to make it usable in Worker.\nconst map = initWorker({ optimizeImage, optimizeImageExt });\n// Export only the type\nexport type WorkerType = typeof map;\n"]}
@@ -1,17 +1,6 @@
1
- export declare const optimizeImage: ({ image, width, height, quality, format, }: {
2
- image: BufferSource;
3
- width?: number;
4
- height?: number;
5
- quality?: number;
6
- format?: "jpeg" | "png" | "webp" | "avif";
7
- }) => Promise<Uint8Array<ArrayBuffer> | undefined>;
8
- export declare const optimizeImageExt: ({ image, width, height, quality, format, }: {
9
- image: BufferSource;
10
- width?: number;
11
- height?: number;
12
- quality?: number;
13
- format?: "jpeg" | "png" | "webp" | "avif";
14
- }) => Promise<{
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<{
15
4
  data: Uint8Array<ArrayBuffer>;
16
5
  originalWidth: number;
17
6
  originalHeight: number;
@@ -1,17 +1,11 @@
1
1
  import LibImage from "./libImage.js";
2
2
  import WASM from "../esm/libImage.wasm";
3
+ import { _optimizeImage, _optimizeImageExt, } from "../lib/optimizeImage.js";
3
4
  const libImage = LibImage({
4
5
  instantiateWasm: async (imports, receiver) => {
5
6
  receiver(await WebAssembly.instantiate(WASM, imports));
6
7
  },
7
8
  });
8
- const result = (result, releaseResult) => {
9
- const r = result
10
- ? { ...result, data: Uint8Array.from(result.data) }
11
- : undefined;
12
- releaseResult();
13
- return r;
14
- };
15
- export const optimizeImage = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => optimizeImageExt({ image, width, height, quality, format }).then((r) => r?.data);
16
- export const optimizeImageExt = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => libImage.then(({ optimize, releaseResult }) => result(optimize(image, width, height, quality, format), releaseResult));
9
+ export const optimizeImage = async (params) => _optimizeImage({ ...params, libImage });
10
+ export const optimizeImageExt = async (params) => _optimizeImageExt({ ...params, libImage });
17
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workers/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAA6B,MAAM,eAAe,CAAC;AAC1D,OAAO,IAAI,MAAM,sBAAsB,CAAC;AAExC,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,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,aAAa,GAAG,KAAK,EAAE,EAClC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CACf,CAAC;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,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 LibImage, { type ModuleType } from \"./libImage.js\";\nimport WASM from \"../esm/libImage.wasm\";\n\nconst libImage = LibImage({\n instantiateWasm: async (imports, receiver) => {\n receiver(await WebAssembly.instantiate(WASM, imports));\n },\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}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n optimizeImageExt({ image, width, height, quality, format }).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}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n libImage.then(({ optimize, releaseResult }) =>\n result(optimize(image, width, height, quality, format), releaseResult)\n );\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workers/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,EACL,cAAc,EACd,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AAEjC,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 \"./libImage.js\";\nimport WASM from \"../esm/libImage.wasm\";\nimport {\n _optimizeImage,\n _optimizeImageExt,\n type OptimizeParams,\n} from \"../lib/optimizeImage.js\";\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"]}
package/package.json CHANGED
@@ -1,7 +1,15 @@
1
1
  {
2
2
  "name": "wasm-image-optimization",
3
3
  "description": "Optimize images with wasm on edge runtime",
4
- "version": "1.1.5",
4
+ "version": "1.1.8",
5
+ "imports": {
6
+ "#wasm": {
7
+ "browser": "./dist/esm/libImage.wasm"
8
+ },
9
+ "#worker": {
10
+ "browser": "./dist/vite/worker.js"
11
+ }
12
+ },
5
13
  "exports": {
6
14
  "./esm": {
7
15
  "default": {
@@ -17,22 +25,43 @@
17
25
  },
18
26
  "./node": {
19
27
  "default": {
20
- "types": "./dist/cjs/index.d.ts",
21
- "default": "./dist/cjs/index.js"
28
+ "types": "./dist/cjs/node/index.d.ts",
29
+ "default": "./dist/cjs/node/index.js"
30
+ }
31
+ },
32
+ "./vite": {
33
+ "default": {
34
+ "types": "./dist/vite/index.d.ts",
35
+ "browser": "./dist/vite/index.js",
36
+ "node": "./dist/vite/dummy.js",
37
+ "default": "./dist/vite/dummy.js"
38
+ }
39
+ },
40
+ "./webworker": {
41
+ "default": {
42
+ "types": "./dist/webworker/index.d.ts",
43
+ "browser": "./dist/webworker/index.js",
44
+ "node": "./dist/vite/dummy.js",
45
+ "default": "./dist/vite/dummy.js"
46
+ }
47
+ },
48
+ "./wasm": {
49
+ "default": {
50
+ "default": "./dist/esm/libImage.wasm"
22
51
  }
23
52
  },
24
53
  ".": {
25
54
  "require": {
26
- "types": "./dist/cjs/index.d.ts",
27
- "node": "./dist/cjs/index.js",
55
+ "types": "./dist/cjs/node/index.d.ts",
56
+ "node": "./dist/cjs/node/index.js",
28
57
  "edge-light": "./dist/esm/index.js",
29
58
  "workerd": "./dist/workers/index.js",
30
59
  "worker": "./dist/workers/index.js",
31
60
  "browser": "./dist/esm/index.js"
32
61
  },
33
62
  "import": {
34
- "types": "./dist/cjs/index.d.ts",
35
- "node": "./dist/esm/index.js",
63
+ "types": "./dist/cjs/node/index.d.ts",
64
+ "node": "./dist/cjs/node/index.js",
36
65
  "edge-light": "./dist/esm/index.js",
37
66
  "workerd": "./dist/workers/index.js",
38
67
  "worker": "./dist/workers/index.js",
@@ -53,7 +82,10 @@
53
82
  "./dist/next/index.d.ts"
54
83
  ],
55
84
  "node": [
56
- "./dist/cjs/index.d.ts"
85
+ "./dist/cjs/node/index.d.ts"
86
+ ],
87
+ "vite": [
88
+ "./dist/esm/index.d.ts"
57
89
  ],
58
90
  "*": [
59
91
  "./dist/workers/index.d.ts"
@@ -68,6 +100,9 @@
68
100
  "build:wasm": "docker compose -f docker/docker-compose.yml run --build --rm emcc make -j",
69
101
  "docker:shell": "docker compose -f docker/docker-compose.yml run --build --rm emcc bash -l"
70
102
  },
103
+ "dependencies": {
104
+ "worker-lib": "1.0.2"
105
+ },
71
106
  "devDependencies": {
72
107
  "@types/node": "^22.13.4",
73
108
  "@typescript-eslint/eslint-plugin": "^8.24.0",
@@ -1,20 +0,0 @@
1
- export declare const optimizeImage: ({ image, width, height, quality, format, }: {
2
- image: BufferSource;
3
- width?: number;
4
- height?: number;
5
- quality?: number;
6
- format?: "jpeg" | "png" | "webp" | "avif";
7
- }) => Promise<Uint8Array<ArrayBuffer> | undefined>;
8
- export declare const optimizeImageExt: ({ image, width, height, quality, format, }: {
9
- image: BufferSource;
10
- width?: number;
11
- height?: number;
12
- quality?: number;
13
- format?: "jpeg" | "png" | "webp" | "avif";
14
- }) => Promise<{
15
- data: Uint8Array<ArrayBuffer>;
16
- originalWidth: number;
17
- originalHeight: number;
18
- width: number;
19
- height: number;
20
- } | undefined>;
package/dist/cjs/index.js DELETED
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.optimizeImageExt = exports.optimizeImage = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const libImage_1 = __importDefault(require("../workers/libImage"));
10
- const libImage = (0, libImage_1.default)({
11
- wasmBinary: fs_1.default.readFileSync(path_1.default.resolve(__dirname, "../esm/libImage.wasm")),
12
- });
13
- const result = (result) => {
14
- const r = result
15
- ? { ...result, data: Uint8Array.from(result.data) }
16
- : undefined;
17
- if (r) {
18
- libImage.then(({ releaseResult }) => releaseResult());
19
- }
20
- return r;
21
- };
22
- const optimizeImage = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => (0, exports.optimizeImageExt)({ image, width, height, quality, format }).then((r) => r?.data);
23
- exports.optimizeImage = optimizeImage;
24
- const optimizeImageExt = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => libImage.then(({ optimize }) => result(optimize(image, width, height, quality, format)));
25
- exports.optimizeImageExt = optimizeImageExt;
26
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cjs/index.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,mEAA2C;AAG3C,MAAM,QAAQ,GAAG,IAAA,kBAAQ,EAAC;IACxB,UAAU,EAAE,YAAE,CAAC,YAAY,CACzB,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,sBAAsB,CAAC,CACvC;CACX,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,MAA2C,EAAE,EAAE;IAC7D,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,IAAI,CAAC,EAAE,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACK,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,IAAA,wBAAgB,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CACf,CAAC;AAfS,QAAA,aAAa,iBAetB;AAEG,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC7B,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CACxD,CAAC;AAfS,QAAA,gBAAgB,oBAezB","sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\nimport LibImage from \"../workers/libImage\";\nimport type { ModuleType } from \"../esm/libImage\";\n\nconst libImage = LibImage({\n wasmBinary: fs.readFileSync(\n path.resolve(__dirname, \"../esm/libImage.wasm\")\n ) as never,\n});\n\nconst result = (result?: ReturnType<ModuleType[\"optimize\"]>) => {\n const r = result\n ? { ...result, data: Uint8Array.from(result.data) }\n : undefined;\n if (r) {\n libImage.then(({ releaseResult }) => releaseResult());\n }\n return r;\n};\nexport const optimizeImage = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n optimizeImageExt({ image, width, height, quality, format }).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}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n libImage.then(({ optimize }) =>\n result(optimize(image, width, height, quality, format))\n );\n"]}
package/eslint.config.mjs DELETED
@@ -1,45 +0,0 @@
1
- /**
2
- * @type {import('eslint').Linter.Config[]}
3
- */
4
- import eslint from "@eslint/js";
5
- import eslintConfigPrettier from "eslint-config-prettier";
6
- import importPlugin from "eslint-plugin-import";
7
- import tslint from "typescript-eslint";
8
-
9
- export default [
10
- eslint.configs.recommended,
11
- ...tslint.configs.recommended,
12
- eslintConfigPrettier,
13
- {
14
- ignores: ["**/global-types.ts"],
15
- },
16
- {
17
- plugins: {
18
- import: importPlugin,
19
- },
20
- rules: {
21
- "@typescript-eslint/no-unused-vars": 0,
22
- "no-empty-pattern": 0,
23
- "no-empty": 0,
24
- "import/order": [
25
- "warn",
26
- {
27
- groups: [
28
- "builtin",
29
- "external",
30
- "internal",
31
- ["parent", "sibling"],
32
- "object",
33
- "type",
34
- "index",
35
- ],
36
- pathGroupsExcludedImportTypes: ["builtin"],
37
- alphabetize: {
38
- order: "asc",
39
- caseInsensitive: true,
40
- },
41
- },
42
- ],
43
- },
44
- },
45
- ];