@wasmedia/wimagemagick 0.3.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 CHANGED
@@ -7,6 +7,69 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.4.0] - 2026-10-04
11
+
12
+ ### Security
13
+ - Under Node, reading a PDF, PostScript, EPS or SVG file could start programs
14
+ installed on the host (`gs`, `inkscape`, …) through a shell, because
15
+ ImageMagick's external delegates reached Emscripten's `system()`. The build
16
+ now has a `system()` that never runs anything. PDF/PS reads fail as they
17
+ would on a machine without Ghostscript, and SVG uses the built-in renderer.
18
+ Browsers were not affected.
19
+ - The ImageMagick update below brings in the fixes for 173 GitHub security
20
+ advisories (GHSA) published between April and September 2026, several of
21
+ them in the PNG, JPEG, TIFF, JPEG 2000 and SVG readers.
22
+
23
+ ### Changed
24
+ - Built from ImageMagick 7.1.2-32 (released 2026-09-27). It was pinned to an
25
+ untagged development commit from 2026-04-04, about 900 commits earlier.
26
+ - A DNG now always decodes through LibRaw, whatever it is called: ImageMagick's
27
+ TIFF coder (since 7.1.2-23) spots the DNGVersion tag and hands the file
28
+ over. The other side of this is that a DNG cannot be read as a plain TIFF
29
+ any more, even with an explicit `TIFF:` prefix: the undemosaiced mosaic and
30
+ the embedded preview are out of reach, and `fromBuffer(dng, 'TIFF')` returns
31
+ a `DNG` image. There is no fallback, so a DNG that LibRaw cannot decode here
32
+ (JPEG XL compression from DNG 1.7, GoPro VC-5), or an ordinary TIFF with a
33
+ stray `DNGVersion` tag, now fails however it is read; on 0.3.0, reading
34
+ either as TIFF returned the embedded image.
35
+ - `-draw "image … 'rose:'"` and other `-draw image` primitives that name a
36
+ built-in image or explicit coder (`xc:red`, `png:/path`) now fail with
37
+ `ExplicitCoderNotAllowed`, and so does an SVG whose `<image>` references one
38
+ (ImageMagick's stricter nested reads). Plain file paths still work. A single
39
+ `-draw` with more than 250 nested `image` reads fails with
40
+ `ImageNestedTooDeeply`.
41
+ - `execute()` and `executeFiles()` read an unprefixed input whose bytes are a
42
+ DNG, and whose name is not a raw extension, as `dng:`. ImageMagick's own
43
+ hand-off from the TIFF coder runs ReadImage twice (`-extract 50%` halved the
44
+ image twice, `-comment '%c+X'` gave `+X+X`, `-verbose` reported twice) and
45
+ first copies the whole file into the wasm heap (a 96 MB DNG grew it from 16
46
+ to 116 MiB). Other raws still go by filename.
47
+ - `toBuffer()`, `toBlob()` and `toDataURL()` with no format, on an image whose
48
+ own format cannot be written (any raw, HEIC, …), now say to pass a format
49
+ instead of only `NoEncodeDelegateForThisImageFormat`.
50
+
51
+ ### Added
52
+ - `rotate(degrees, background)`: the colour for the corners a rotation
53
+ uncovers, as any ImageMagick colour string. Also reachable as
54
+ `["rotate", degrees, background]` in a worker `process` message.
55
+
56
+ ### Fixed
57
+ - `rotate()` filled the uncovered corners with whatever bytes sat at heap
58
+ address 0 (opaque cyan in 0.3.0), because it passed a null colour. They are
59
+ now transparent unless a background is given.
60
+ - `toDataURL()` labelled JP2, J2K, PNM and other formats
61
+ `application/octet-stream`, which ImageMagick 7.1.2-30+ refuses to read back
62
+ through `inline:`. They now get MIME types that name their coder (`image/jp2`,
63
+ `image/x-j2k`, `image/x-pnm`, `image/x-ppm`, `image/x-pgm`, `image/x-pbm`,
64
+ `image/x-tga`, `image/x-icon`, `image/qoi`, `image/x-psd`), which `toBlob()`
65
+ uses as well.
66
+ - `npm run build:native` failed with "Your local changes … would be
67
+ overwritten by checkout" after changing the ImageMagick pin on a machine
68
+ that had built before; the previous build's regenerated autotools files are
69
+ now discarded before checking out the new commit. A rebuild at the same pin
70
+ leaves the ImageMagick checkout alone, local patches included, and no longer
71
+ needs network access when the pinned commit is already cloned.
72
+
10
73
  ## [0.3.0] - 2026-10-03
11
74
 
12
75
  ### Added
@@ -248,6 +311,7 @@ First release published to npm, as `@wasmedia/wimagemagick`.
248
311
  - Convenience C wrappers exported from the WASM module:
249
312
  `wimagemagick_identify`, `wimagemagick_convert`, `wimagemagick_resize`.
250
313
 
251
- [Unreleased]: https://gitlab.com/wasmedia/wimagemagick/-/compare/v0.3.0...HEAD
314
+ [Unreleased]: https://gitlab.com/wasmedia/wimagemagick/-/compare/v0.4.0...HEAD
315
+ [0.4.0]: https://gitlab.com/wasmedia/wimagemagick/-/compare/v0.3.0...v0.4.0
252
316
  [0.3.0]: https://gitlab.com/wasmedia/wimagemagick/-/compare/v0.2.0...v0.3.0
253
317
  [0.2.0]: https://gitlab.com/wasmedia/wimagemagick/-/tags/v0.2.0
package/dist/api.d.ts CHANGED
@@ -11,6 +11,10 @@ export interface MagickBindings {
11
11
  NewMagickWand(): number;
12
12
  DestroyMagickWand(wand: number): number;
13
13
  CloneMagickWand(wand: number): number;
14
+ NewPixelWand(): number;
15
+ DestroyPixelWand(wand: number): number;
16
+ /** Set a colour from any ImageMagick colour string; false if unparseable. */
17
+ PixelSetColor(wand: number, color: string): number;
14
18
  MagickReadImage(wand: number, filename: string): number;
15
19
  MagickWriteImage(wand: number, filename: string): number;
16
20
  MagickReadImageBlob(wand: number, blob: number, length: number): number;
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/api.js CHANGED
@@ -14,6 +14,10 @@ export function createBindings(module) {
14
14
  NewMagickWand: w("NewMagickWand", "number", []),
15
15
  DestroyMagickWand: w("DestroyMagickWand", "number", ["number"]),
16
16
  CloneMagickWand: w("CloneMagickWand", "number", ["number"]),
17
+ // Pixel wands
18
+ NewPixelWand: w("NewPixelWand", "number", []),
19
+ DestroyPixelWand: w("DestroyPixelWand", "number", ["number"]),
20
+ PixelSetColor: w("PixelSetColor", "number", ["number", "string"]),
17
21
  // Read/Write
18
22
  MagickReadImage: w("MagickReadImage", "number", ["number", "string"]),
19
23
  MagickWriteImage: w("MagickWriteImage", "number", ["number", "string"]),
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -17,12 +17,13 @@ export declare function captureOutput<T>(fn: () => T): {
17
17
  * Resolve one argument against the working directory, keeping any explicit
18
18
  * `FORMAT:` prefix in place.
19
19
  *
20
- * The prefix matters for more than tidiness: the raw formats are registered
20
+ * The prefix matters for more than tidiness: most raw formats are registered
21
21
  * with `ExplicitFormatType`, so ImageMagick will not pick LibRaw from a file's
22
- * magic bytes — a DNG or CR2 is a TIFF at that level and the TIFF coder claims
23
- * it. `dng:capture` is how the caller says otherwise.
22
+ * magic bytes — a CR2 or NEF is a TIFF at that level and the TIFF coder claims
23
+ * it. `cr2:capture` is how the caller says otherwise. An unprefixed input
24
+ * listed in `hints` gets that prefix (see {@link inputFormatHint}).
24
25
  */
25
- export declare function rewriteArg(arg: string, inputNames: Set<string>, workDir: string): string;
26
+ export declare function rewriteArg(arg: string, inputNames: Set<string>, workDir: string, hints?: ReadonlyMap<string, string>): string;
26
27
  /**
27
28
  * Parse a command string into an argv array, respecting quoted strings.
28
29
  *
@@ -53,12 +54,12 @@ export interface IdentifyOptions {
53
54
  /**
54
55
  * Format to read the data as, e.g. `"DNG"` or `"CR2"`.
55
56
  *
56
- * Only the raw camera formats need it. Their coder is registered with
57
- * `ExplicitFormatType`, so ImageMagick never selects it from a file's magic
58
- * bytes — most raws are TIFF containers, and without a hint the TIFF coder
59
- * claims them. When omitted, the raws {@link detectRawFormat} recognises
60
- * (CR2, CR3, NEF, DNG, 3FR, IIQ) are supplied automatically; everything else
61
- * is detected by ImageMagick itself.
57
+ * Mostly the raw camera formats need it. Their coder is registered with
58
+ * `ExplicitFormatType`, and apart from DNG and a few fixed-header formats
59
+ * (CR3, RAF, …) ImageMagick does not select it from a file's contents — most
60
+ * raws are TIFF containers, and without a hint the TIFF coder claims them.
61
+ * When omitted, the raws {@link detectRawFormat} recognises are supplied
62
+ * automatically; everything else is detected by ImageMagick itself.
62
63
  */
63
64
  format?: string;
64
65
  }
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA4BxD,+EAA+E;AAC/E,wBAAgB,iBAAiB,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC,CAW1E;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,CAAC,EAC7B,EAAE,EAAE,MAAM,CAAC,GACV;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAc9C;AAqED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,OAAO,EAAE,MAAM,GACd,MAAM,CAUR;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAiCtD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC,GACjD,SAAS,CA+CX;AAED,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,UAAU,GAAG,WAAW,EAC9B,OAAO,GAAE,OAAO,GAAG,eAAuB,GACzC,MAAM,CAwBR"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA4BxD,+EAA+E;AAC/E,wBAAgB,iBAAiB,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC,CAW1E;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,CAAC,EAC7B,EAAE,EAAE,MAAM,CAAC,GACV;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAc9C;AAqED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,MAAM,CAYR;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAiCtD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC,GACjD,SAAS,CAkDX;AAED,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,UAAU,GAAG,WAAW,EAC9B,OAAO,GAAE,OAAO,GAAG,eAAuB,GACzC,MAAM,CAwBR"}
package/dist/cli.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * Uses IM7 syntax: callMain(['input.png', '-resize', '50%', 'output.jpg'])
6
6
  */
7
7
  import { createWorkDir, cleanWorkDir, writeToMemFS, readFromMemFS, existsInMemFS, readFilesFromMemFS, } from "./filesystem.js";
8
- import { detectRawFormat } from "./raw.js";
8
+ import { HINT_HEADER_BYTES, detectRawFormat, inputFormatHint } from "./raw.js";
9
9
  let activeSink = null;
10
10
  /** Build the `print`/`printErr` pair the loader passes to the WASM factory. */
11
11
  export function createOutputHooks() {
@@ -113,12 +113,13 @@ function isWorkDirFile(arg, inputNames) {
113
113
  * Resolve one argument against the working directory, keeping any explicit
114
114
  * `FORMAT:` prefix in place.
115
115
  *
116
- * The prefix matters for more than tidiness: the raw formats are registered
116
+ * The prefix matters for more than tidiness: most raw formats are registered
117
117
  * with `ExplicitFormatType`, so ImageMagick will not pick LibRaw from a file's
118
- * magic bytes — a DNG or CR2 is a TIFF at that level and the TIFF coder claims
119
- * it. `dng:capture` is how the caller says otherwise.
118
+ * magic bytes — a CR2 or NEF is a TIFF at that level and the TIFF coder claims
119
+ * it. `cr2:capture` is how the caller says otherwise. An unprefixed input
120
+ * listed in `hints` gets that prefix (see {@link inputFormatHint}).
120
121
  */
121
- export function rewriteArg(arg, inputNames, workDir) {
122
+ export function rewriteArg(arg, inputNames, workDir, hints) {
122
123
  const split = splitFormatPrefix(arg);
123
124
  if (split !== null) {
124
125
  const { prefix, rest } = split;
@@ -130,7 +131,10 @@ export function rewriteArg(arg, inputNames, workDir) {
130
131
  return arg;
131
132
  return `${prefix}:${workDir}/${rest}`;
132
133
  }
133
- return isWorkDirFile(arg, inputNames) ? `${workDir}/${arg}` : arg;
134
+ if (!isWorkDirFile(arg, inputNames))
135
+ return arg;
136
+ const hint = hints?.get(arg);
137
+ return hint ? `${hint}:${workDir}/${arg}` : `${workDir}/${arg}`;
134
138
  }
135
139
  /**
136
140
  * Parse a command string into an argv array, respecting quoted strings.
@@ -192,16 +196,20 @@ export function execute(module, command, inputFiles) {
192
196
  const workDir = createWorkDir(module);
193
197
  // Track input filenames so we can identify output files later
194
198
  const inputNames = new Set();
199
+ const hints = new Map();
195
200
  // Write input files to MEMFS
196
201
  if (inputFiles) {
197
202
  for (const [name, data] of inputFiles) {
198
203
  inputNames.add(name);
199
204
  const bytes = data instanceof ArrayBuffer ? new Uint8Array(data) : data;
200
205
  writeToMemFS(module, `${workDir}/${name}`, bytes);
206
+ const hint = inputFormatHint(name, bytes.subarray(0, HINT_HEADER_BYTES));
207
+ if (hint)
208
+ hints.set(name, hint);
201
209
  }
202
210
  }
203
211
  // Rewrite filename arguments to workDir paths
204
- const rewrittenArgs = args.map((arg) => rewriteArg(arg, inputNames, workDir));
212
+ const rewrittenArgs = args.map((arg) => rewriteArg(arg, inputNames, workDir, hints));
205
213
  // Execute with output captured
206
214
  let exitCode;
207
215
  let stdout = "";
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,8EAA8E;AAC9E,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAAC;CACrC;AAED,8EAA8E;AAC9E,MAAM,MAAM,SAAS,GAAG,yBAAyB,GAAG,MAAM,CAAC;AAE3D,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,SAAS,EAAE,SAAS,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACnC;AAKD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAqExB"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,8EAA8E;AAC9E,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAAC;CACrC;AAED,8EAA8E;AAC9E,MAAM,MAAM,SAAS,GAAG,yBAAyB,GAAG,MAAM,CAAC;AAE3D,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,SAAS,EAAE,SAAS,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACnC;AAKD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CA2ExB"}
package/dist/files.js CHANGED
@@ -10,6 +10,7 @@
10
10
  * encoded inputs and outputs no longer sit in memory beside it.
11
11
  */
12
12
  import { captureOutput, parseCommand, rewriteArg } from "./cli.js";
13
+ import { HINT_HEADER_BYTES, inputFormatHint } from "./raw.js";
13
14
  import { loadWopfs } from "./wopfs.js";
14
15
  const HEADROOM = 8;
15
16
  let mountCounter = 0;
@@ -50,7 +51,14 @@ export async function executeFiles(module, command, inputs, options) {
50
51
  }
51
52
  const args = typeof command === "string" ? parseCommand(command) : command;
52
53
  const mountpoint = `/files_${++mountCounter}_${Date.now()}`;
53
- const rewritten = args.map((arg) => rewriteArg(arg, names, mountpoint));
54
+ const hints = new Map();
55
+ for (const input of inputs) {
56
+ const header = await readHeader(input.file);
57
+ const hint = header && inputFormatHint(input.name, header);
58
+ if (hint)
59
+ hints.set(input.name, hint);
60
+ }
61
+ const rewritten = args.map((arg) => rewriteArg(arg, names, mountpoint, hints));
54
62
  const outputs = args.filter((arg, i) => rewritten[i] !== arg && !names.has(stripPrefix(arg))).length;
55
63
  const wopfs = await loadWopfs(options.wopfsPath);
56
64
  const mount = await wopfs.mountFiles(module, mountpoint, {
@@ -106,6 +114,31 @@ export async function executeFiles(module, command, inputs, options) {
106
114
  written,
107
115
  };
108
116
  }
117
+ /**
118
+ * The first bytes of an input, for {@link inputFormatHint}, or `undefined` if
119
+ * they cannot be read; ImageMagick then reports the problem when it opens it.
120
+ */
121
+ async function readHeader(file) {
122
+ try {
123
+ if (typeof file === "string") {
124
+ const { open } = await import("node:fs/promises");
125
+ const handle = await open(file, "r");
126
+ try {
127
+ const buffer = new Uint8Array(HINT_HEADER_BYTES);
128
+ const { bytesRead } = await handle.read(buffer, 0, buffer.length, 0);
129
+ return buffer.subarray(0, bytesRead);
130
+ }
131
+ finally {
132
+ await handle.close();
133
+ }
134
+ }
135
+ const blob = await file.getFile();
136
+ return new Uint8Array(await blob.slice(0, HINT_HEADER_BYTES).arrayBuffer());
137
+ }
138
+ catch {
139
+ return undefined;
140
+ }
141
+ }
109
142
  /** `png:out.png` → `out.png`; anything without a format prefix is unchanged. */
110
143
  function stripPrefix(arg) {
111
144
  const m = /^[A-Za-z][A-Za-z0-9+-]*:(.+)$/.exec(arg);
package/dist/files.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../src/filesystem.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAIxD;AAED,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAgBlE;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,GAAG,WAAW,GAC7B,IAAI,CAGN;AAED,4CAA4C;AAC5C,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,GACX,UAAU,CAEZ;AAED,uCAAuC;AACvC,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAOT;AAED,gCAAgC;AAChC,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,GACX,IAAI,CAMN;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC,GAC3C,IAAI,CAIN;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAqBzB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,UAAU,CAIZ;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,UAAU,GAAG,WAAW,GAC7B,MAAM,CAKR;AAED,sCAAsC;AACtC,wBAAgB,MAAM,CACpB,IAAI,EAAE,UAAU,EAChB,QAAQ,GAAE,MAAmC,GAC5C,IAAI,CAEN;AAED,0CAA0C;AAC1C,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKpE;AAiBD,yCAAyC;AACzC,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD"}
1
+ {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../src/filesystem.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAIxD;AAED,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAgBlE;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,GAAG,WAAW,GAC7B,IAAI,CAGN;AAED,4CAA4C;AAC5C,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,GACX,UAAU,CAEZ;AAED,uCAAuC;AACvC,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAOT;AAED,gCAAgC;AAChC,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,GACX,IAAI,CAMN;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC,GAC3C,IAAI,CAIN;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAqBzB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,UAAU,CAIZ;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,UAAU,GAAG,WAAW,GAC7B,MAAM,CAKR;AAED,sCAAsC;AACtC,wBAAgB,MAAM,CACpB,IAAI,EAAE,UAAU,EAChB,QAAQ,GAAE,MAAmC,GAC5C,IAAI,CAEN;AAED,0CAA0C;AAC1C,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKpE;AAoCD,yCAAyC;AACzC,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD"}
@@ -121,6 +121,15 @@ export function toDataURL(data, mimeType) {
121
121
  return `data:${mimeType};base64,${btoa(binary)}`;
122
122
  }
123
123
  /** Map of common format names to MIME types. */
124
+ /**
125
+ * MIME types by ImageMagick format name.
126
+ *
127
+ * Since 7.1.2-30, `inline:` only accepts a data URI whose subtype, minus any
128
+ * `x-` and `+suffix`, names an explicit coder. So a `toDataURL()` result only
129
+ * reads back if its type does: `image/jp2` does, as do the short `x-` names
130
+ * used below where the IANA-style ones (`image/x-portable-anymap`,
131
+ * `image/vnd.adobe.photoshop`) do not.
132
+ */
124
133
  const FORMAT_MIME_MAP = {
125
134
  JPEG: "image/jpeg",
126
135
  JPG: "image/jpeg",
@@ -133,6 +142,16 @@ const FORMAT_MIME_MAP = {
133
142
  HEIC: "image/heic",
134
143
  JXL: "image/jxl",
135
144
  SVG: "image/svg+xml",
145
+ JP2: "image/jp2",
146
+ J2K: "image/x-j2k",
147
+ PNM: "image/x-pnm",
148
+ PPM: "image/x-ppm",
149
+ PGM: "image/x-pgm",
150
+ PBM: "image/x-pbm",
151
+ TGA: "image/x-tga",
152
+ ICO: "image/x-icon",
153
+ QOI: "image/qoi",
154
+ PSD: "image/x-psd",
136
155
  };
137
156
  /** Get MIME type for an image format. */
138
157
  export function getMimeType(format) {
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../src/filesystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../src/filesystem.ts"],"names":[],"mappings":"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"}
package/dist/image.d.ts CHANGED
@@ -22,12 +22,14 @@ export declare class WMagickImage {
22
22
  * Create a WMagickImage from a Uint8Array or ArrayBuffer.
23
23
  *
24
24
  * @param data - The encoded image
25
- * @param format - Format to read the data as, e.g. `'DNG'` or `'ARW'`.
26
- * Only the raw camera formats need it: their coder is registered with
27
- * `ExplicitFormatType` and does not accept blobs, so ImageMagick will not
28
- * reach LibRaw from a buffer alone. When omitted, the raw formats
29
- * {@link detectRawFormat} recognises (CR2, CR3, NEF, DNG, 3FR, IIQ) are
30
- * supplied automatically; pass it for any other raw.
25
+ * @param format - Format to read the data as, e.g. `'PEF'` or `'ARW'`.
26
+ * Mostly the raw camera formats need it: their coder is registered with
27
+ * `ExplicitFormatType` and does not accept blobs, so apart from DNG and a
28
+ * few fixed-header formats ImageMagick will not reach LibRaw from a buffer
29
+ * alone. When omitted, the raw formats {@link detectRawFormat} recognises
30
+ * are supplied automatically; pass it for any other raw. An explicit
31
+ * format wins, except that ImageMagick reads a DNG as DNG even when asked
32
+ * for TIFF.
31
33
  */
32
34
  static fromBuffer(data: Uint8Array | ArrayBuffer, format?: string): WMagickImage;
33
35
  /**
@@ -69,8 +71,14 @@ export declare class WMagickImage {
69
71
  crop(width: number, height: number, x?: number, y?: number): this;
70
72
  /** Extend the image canvas. */
71
73
  extent(width: number, height: number, x?: number, y?: number): this;
72
- /** Rotate the image by the specified degrees. */
73
- rotate(degrees: number): this;
74
+ /**
75
+ * Rotate the image clockwise by the specified degrees.
76
+ *
77
+ * @param background - Fill for the corners a rotation that is not a multiple
78
+ * of 90 uncovers, as any ImageMagick colour (`'white'`, `'#ff000080'`, …).
79
+ * Transparent by default; formats without alpha (JPEG) write that as black.
80
+ */
81
+ rotate(degrees: number, background?: string): this;
74
82
  /** Flip the image vertically. */
75
83
  flip(): this;
76
84
  /** Flop the image horizontally. */
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"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"}
package/dist/image.js CHANGED
@@ -62,12 +62,14 @@ export class WMagickImage {
62
62
  * Create a WMagickImage from a Uint8Array or ArrayBuffer.
63
63
  *
64
64
  * @param data - The encoded image
65
- * @param format - Format to read the data as, e.g. `'DNG'` or `'ARW'`.
66
- * Only the raw camera formats need it: their coder is registered with
67
- * `ExplicitFormatType` and does not accept blobs, so ImageMagick will not
68
- * reach LibRaw from a buffer alone. When omitted, the raw formats
69
- * {@link detectRawFormat} recognises (CR2, CR3, NEF, DNG, 3FR, IIQ) are
70
- * supplied automatically; pass it for any other raw.
65
+ * @param format - Format to read the data as, e.g. `'PEF'` or `'ARW'`.
66
+ * Mostly the raw camera formats need it: their coder is registered with
67
+ * `ExplicitFormatType` and does not accept blobs, so apart from DNG and a
68
+ * few fixed-header formats ImageMagick will not reach LibRaw from a buffer
69
+ * alone. When omitted, the raw formats {@link detectRawFormat} recognises
70
+ * are supplied automatically; pass it for any other raw. An explicit
71
+ * format wins, except that ImageMagick reads a DNG as DNG even when asked
72
+ * for TIFF.
71
73
  */
72
74
  static fromBuffer(data, format) {
73
75
  const api = getBindings();
@@ -227,12 +229,26 @@ export class WMagickImage {
227
229
  checkError(api, this._wand, "extent");
228
230
  return this;
229
231
  }
230
- /** Rotate the image by the specified degrees. */
231
- rotate(degrees) {
232
+ /**
233
+ * Rotate the image clockwise by the specified degrees.
234
+ *
235
+ * @param background - Fill for the corners a rotation that is not a multiple
236
+ * of 90 uncovers, as any ImageMagick colour (`'white'`, `'#ff000080'`, …).
237
+ * Transparent by default; formats without alpha (JPEG) write that as black.
238
+ */
239
+ rotate(degrees, background = "transparent") {
232
240
  this.ensureAlive();
233
241
  const api = getBindings();
234
- // Pass 0 as background pixel (transparent/black)
235
- api.MagickRotateImage(this._wand, 0, degrees);
242
+ const fill = api.NewPixelWand();
243
+ try {
244
+ if (!api.PixelSetColor(fill, background)) {
245
+ throw new Error(`rotate failed: unrecognised colour ${JSON.stringify(background)}`);
246
+ }
247
+ api.MagickRotateImage(this._wand, fill, degrees);
248
+ }
249
+ finally {
250
+ api.DestroyPixelWand(fill);
251
+ }
236
252
  checkError(api, this._wand, "rotate");
237
253
  return this;
238
254
  }
@@ -377,8 +393,18 @@ export class WMagickImage {
377
393
  const blobSize = module.getValue(sizePtr, "i32");
378
394
  module._free(sizePtr);
379
395
  if (!blobPtr || blobSize <= 0) {
380
- checkError(api, this._wand, "toBuffer");
381
- throw new Error("Failed to export image");
396
+ try {
397
+ checkError(api, this._wand, "toBuffer");
398
+ throw new Error("Failed to export image");
399
+ }
400
+ catch (e) {
401
+ // With no format, ImageMagick writes the image's own: for a raw
402
+ // camera image (and HEIC, EXR, ...) there is no encoder for it.
403
+ if (format)
404
+ throw e;
405
+ throw new Error(`${e.message} — ${this.format} cannot be written; ` +
406
+ `pass a format, e.g. toBuffer('PNG')`);
407
+ }
382
408
  }
383
409
  const result = copyFromHeap(module, blobPtr, blobSize);
384
410
  api.MagickRelinquishMemory(blobPtr);