@wasmedia/wimagemagick 0.2.0 → 0.4.0
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/CHANGELOG.md +88 -1
- package/README.md +16 -1
- package/dist/api.d.ts +4 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +4 -0
- package/dist/api.js.map +1 -1
- package/dist/cli.d.ts +23 -6
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +16 -8
- package/dist/cli.js.map +1 -1
- package/dist/files.d.ts +80 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +175 -0
- package/dist/files.js.map +1 -0
- package/dist/filesystem.d.ts.map +1 -1
- package/dist/filesystem.js +19 -0
- package/dist/filesystem.js.map +1 -1
- package/dist/image.d.ts +16 -8
- package/dist/image.d.ts.map +1 -1
- package/dist/image.js +38 -12
- package/dist/image.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/licenses/README.txt +3 -3
- package/dist/licenses/aom-LICENSE.txt +1 -1
- package/dist/licenses/de265-LICENSE.txt +1 -1
- package/dist/licenses/ffi-LICENSE.txt +2 -2
- package/dist/licenses/heif-LICENSE.txt +1 -1
- package/dist/licenses/highway-LICENSE.txt +172 -2
- package/dist/licenses/jpeg-turbo-LICENSE.txt +46 -34
- package/dist/licenses/jpeg-xl-LICENSE.txt +1 -1
- package/dist/licenses/lcms-LICENSE.txt +1 -1
- package/dist/licenses/png-LICENSE.txt +1 -1
- package/dist/licenses/tiff-LICENSE.txt +1 -1
- package/dist/licenses/xml-LICENSE.txt +1 -1
- package/dist/licenses/zstd-LICENSE.txt +32 -0
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +2 -0
- package/dist/loader.js.map +1 -1
- package/dist/raw.d.ts +28 -6
- package/dist/raw.d.ts.map +1 -1
- package/dist/raw.js +37 -6
- package/dist/raw.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/wimagemagick.js +2 -15
- package/dist/wimagemagick.wasm +0 -0
- package/dist/wopfs.d.ts +43 -0
- package/dist/wopfs.d.ts.map +1 -0
- package/dist/wopfs.js +40 -0
- package/dist/wopfs.js.map +1 -0
- package/dist/worker-handler.d.ts +1 -1
- package/dist/worker-handler.d.ts.map +1 -1
- package/dist/worker-handler.js +26 -0
- package/dist/worker-handler.js.map +1 -1
- package/package.json +7 -2
package/dist/wimagemagick.wasm
CHANGED
|
Binary file
|
package/dist/wopfs.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The slice of @wasmedia/wopfs that file mode uses, and its lazy loader.
|
|
3
|
+
*
|
|
4
|
+
* The types are declared here structurally rather than imported, so a
|
|
5
|
+
* consumer who never uses file mode needs neither the package nor its type
|
|
6
|
+
* declarations at runtime. Nothing else in src/ imports wopfs; the package is
|
|
7
|
+
* loaded on the first {@link executeFiles} call.
|
|
8
|
+
*/
|
|
9
|
+
export interface WopfsCommittedFile {
|
|
10
|
+
/** Relative to the mountpoint, and to outputDir. */
|
|
11
|
+
path: string;
|
|
12
|
+
size: number;
|
|
13
|
+
/** opfs backend: the file in outputDir. */
|
|
14
|
+
handle?: FileSystemFileHandle;
|
|
15
|
+
/** node backend: the file in outputDir. */
|
|
16
|
+
hostPath?: string;
|
|
17
|
+
/** memfs backend: the file's bytes. */
|
|
18
|
+
bytes?: Uint8Array;
|
|
19
|
+
}
|
|
20
|
+
export interface WopfsMount {
|
|
21
|
+
readonly backend: "opfs" | "node" | "memfs";
|
|
22
|
+
commit(): Promise<WopfsCommittedFile[]>;
|
|
23
|
+
release(): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
export interface WopfsMountOptions {
|
|
26
|
+
inputs?: Record<string, FileSystemFileHandle | Uint8Array | Blob | string>;
|
|
27
|
+
outputDir?: FileSystemDirectoryHandle | string;
|
|
28
|
+
scratch?: number;
|
|
29
|
+
onExhausted?: "spill" | "strict";
|
|
30
|
+
backend?: "opfs" | "node" | "memfs" | "auto";
|
|
31
|
+
onWarning?: (message: string) => void;
|
|
32
|
+
}
|
|
33
|
+
export interface WopfsModule {
|
|
34
|
+
mountFiles(module: unknown, mountpoint: string, options?: WopfsMountOptions): Promise<WopfsMount>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Load wopfs once per specifier. A failed load is not cached, so a retry can
|
|
38
|
+
* succeed.
|
|
39
|
+
*/
|
|
40
|
+
export declare function loadWopfs(wopfsPath?: string): Promise<WopfsModule>;
|
|
41
|
+
/** Test seam: replace the importer. Clears the cache. */
|
|
42
|
+
export declare function __setWopfsLoader(fn: (specifier: string) => Promise<WopfsModule>): void;
|
|
43
|
+
//# sourceMappingURL=wopfs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wopfs.d.ts","sourceRoot":"","sources":["../src/wopfs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,MAAM,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,UAAU,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;IAC3E,SAAS,CAAC,EAAE,yBAAyB,GAAG,MAAM,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAC7C,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,CACR,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB;AAcD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAclE;AAED,yDAAyD;AACzD,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,GAC9C,IAAI,CAGN"}
|
package/dist/wopfs.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The slice of @wasmedia/wopfs that file mode uses, and its lazy loader.
|
|
3
|
+
*
|
|
4
|
+
* The types are declared here structurally rather than imported, so a
|
|
5
|
+
* consumer who never uses file mode needs neither the package nor its type
|
|
6
|
+
* declarations at runtime. Nothing else in src/ imports wopfs; the package is
|
|
7
|
+
* loaded on the first {@link executeFiles} call.
|
|
8
|
+
*/
|
|
9
|
+
const DEFAULT_SPECIFIER = "@wasmedia/wopfs";
|
|
10
|
+
// The default is a literal import so a bundler resolves and code-splits it
|
|
11
|
+
// (it stays lazy: nothing evaluates it until the first file-mode call) and
|
|
12
|
+
// Node resolves it from node_modules. An explicit wopfsPath is a URL the
|
|
13
|
+
// bundler cannot know, so it goes through a variable specifier.
|
|
14
|
+
let importer = (specifier) => (specifier === DEFAULT_SPECIFIER
|
|
15
|
+
? import("@wasmedia/wopfs")
|
|
16
|
+
: import(/* @vite-ignore */ /* webpackIgnore: true */ specifier));
|
|
17
|
+
const cache = new Map();
|
|
18
|
+
/**
|
|
19
|
+
* Load wopfs once per specifier. A failed load is not cached, so a retry can
|
|
20
|
+
* succeed.
|
|
21
|
+
*/
|
|
22
|
+
export function loadWopfs(wopfsPath) {
|
|
23
|
+
const specifier = wopfsPath ?? DEFAULT_SPECIFIER;
|
|
24
|
+
let loading = cache.get(specifier);
|
|
25
|
+
if (!loading) {
|
|
26
|
+
loading = importer(specifier).catch((e) => {
|
|
27
|
+
cache.delete(specifier);
|
|
28
|
+
const why = e instanceof Error ? e.message : String(e);
|
|
29
|
+
throw new Error(`file mode needs @wasmedia/wopfs, which could not be loaded from "${specifier}": ${why}`);
|
|
30
|
+
});
|
|
31
|
+
cache.set(specifier, loading);
|
|
32
|
+
}
|
|
33
|
+
return loading;
|
|
34
|
+
}
|
|
35
|
+
/** Test seam: replace the importer. Clears the cache. */
|
|
36
|
+
export function __setWopfsLoader(fn) {
|
|
37
|
+
importer = fn;
|
|
38
|
+
cache.clear();
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=wopfs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wopfs.js","sourceRoot":"","sources":["../src/wopfs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAqCH,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAE5C,2EAA2E;AAC3E,2EAA2E;AAC3E,yEAAyE;AACzE,gEAAgE;AAChE,IAAI,QAAQ,GAAgD,CAAC,SAAS,EAAE,EAAE,CACxE,CAAC,SAAS,KAAK,iBAAiB;IAC9B,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;IAC3B,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAyB,CAAC;AAC9F,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;AAEtD;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,SAAkB;IAC1C,MAAM,SAAS,GAAG,SAAS,IAAI,iBAAiB,CAAC;IACjD,IAAI,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;YACjD,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,IAAI,KAAK,CACb,oEAAoE,SAAS,MAAM,GAAG,EAAE,CACzF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,gBAAgB,CAC9B,EAA+C;IAE/C,QAAQ,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC"}
|
package/dist/worker-handler.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import type { ImageFormat, ImageInfo } from "./types.js";
|
|
6
6
|
export interface WorkerMessage {
|
|
7
7
|
id: number;
|
|
8
|
-
type: "init" | "execute" | "convert" | "resize" | "identify" | "process";
|
|
8
|
+
type: "init" | "execute" | "executeFiles" | "convert" | "resize" | "identify" | "process";
|
|
9
9
|
payload?: Record<string, unknown>;
|
|
10
10
|
}
|
|
11
11
|
export interface WorkerResponse {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-handler.d.ts","sourceRoot":"","sources":["../src/worker-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"worker-handler.d.ts","sourceRoot":"","sources":["../src/worker-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EAGV,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EACA,MAAM,GACN,SAAS,GACT,cAAc,GACd,SAAS,GACT,QAAQ,GACR,UAAU,GACV,SAAS,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,gSAyBrB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAEpE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACzB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,SAAS,EAAE,SAAS,CAAC;IACrB,4BAA4B;IAC5B,IAAI,EAAE,SAAS,CAAC;CACjB;AAID;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,IAAI,GAC5D,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAgMvC"}
|
package/dist/worker-handler.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { initWImageMagick } from "./loader.js";
|
|
6
6
|
import { WMagickImage } from "./image.js";
|
|
7
7
|
import { execute } from "./cli.js";
|
|
8
|
+
import { executeFiles } from "./files.js";
|
|
8
9
|
/**
|
|
9
10
|
* The {@link WMagickImage} methods a `process` message may call, in order,
|
|
10
11
|
* as `[name, ...args]`. Only operations that modify the image in place are
|
|
@@ -91,6 +92,31 @@ export function createWorkerHandler(post) {
|
|
|
91
92
|
}, transferablesOf(Object.values(outputFiles)));
|
|
92
93
|
break;
|
|
93
94
|
}
|
|
95
|
+
case "executeFiles": {
|
|
96
|
+
// File handles are structured-cloneable, so they arrive here as
|
|
97
|
+
// handles; in a dedicated worker wopfs reads them in place.
|
|
98
|
+
const { module } = requireInstance();
|
|
99
|
+
const { command, inputs, outputDir, scratch, wopfsPath } = msg.payload;
|
|
100
|
+
const result = await executeFiles(module, command, inputs ?? [], {
|
|
101
|
+
outputDir,
|
|
102
|
+
scratch,
|
|
103
|
+
wopfsPath,
|
|
104
|
+
});
|
|
105
|
+
const written = {};
|
|
106
|
+
for (const [name, file] of result.written)
|
|
107
|
+
written[name] = file;
|
|
108
|
+
post({
|
|
109
|
+
id: msg.id,
|
|
110
|
+
type: "result",
|
|
111
|
+
payload: {
|
|
112
|
+
exitCode: result.exitCode,
|
|
113
|
+
stdout: result.stdout,
|
|
114
|
+
stderr: result.stderr,
|
|
115
|
+
written,
|
|
116
|
+
},
|
|
117
|
+
}, []);
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
94
120
|
case "convert": {
|
|
95
121
|
const { data, format, quality, inputFormat } = msg.payload;
|
|
96
122
|
const output = withImage(data, inputFormat, (img) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-handler.js","sourceRoot":"","sources":["../src/worker-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-handler.js","sourceRoot":"","sources":["../src/worker-handler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wasmedia/wimagemagick",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "ImageMagick v7 compiled to WebAssembly for browsers, with CLI and programmatic APIs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
"test:watch": "vitest",
|
|
23
23
|
"typecheck": "tsc -p tsconfig.test.json",
|
|
24
24
|
"playground": "node scripts/playground.mjs",
|
|
25
|
-
"prepublishOnly": "npm run build && npm test"
|
|
25
|
+
"prepublishOnly": "npm run build && npm test",
|
|
26
|
+
"test:browser": "playwright test"
|
|
26
27
|
},
|
|
27
28
|
"keywords": [
|
|
28
29
|
"imagemagick",
|
|
@@ -44,8 +45,12 @@
|
|
|
44
45
|
"access": "public"
|
|
45
46
|
},
|
|
46
47
|
"devDependencies": {
|
|
48
|
+
"@playwright/test": "1.63.0",
|
|
47
49
|
"@types/node": "^22.20.4",
|
|
48
50
|
"typescript": "^5.7.0",
|
|
49
51
|
"vitest": "^3.0.0"
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@wasmedia/wopfs": "0.2.0"
|
|
50
55
|
}
|
|
51
56
|
}
|