@thi.ng/imago 1.4.9 → 1.4.13

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.
Files changed (2) hide show
  1. package/package.json +192 -192
  2. package/CHANGELOG.md +0 -176
package/package.json CHANGED
@@ -1,193 +1,193 @@
1
1
  {
2
- "name": "@thi.ng/imago",
3
- "version": "1.4.9",
4
- "description": "JSON & API-based declarative and extensible image processing trees/pipelines",
5
- "type": "module",
6
- "module": "./index.js",
7
- "typings": "./index.d.ts",
8
- "sideEffects": false,
9
- "repository": {
10
- "type": "git",
11
- "url": "https://github.com/thi-ng/umbrella.git"
12
- },
13
- "homepage": "https://thi.ng/imago",
14
- "funding": [
15
- {
16
- "type": "github",
17
- "url": "https://github.com/sponsors/postspectacular"
18
- },
19
- {
20
- "type": "patreon",
21
- "url": "https://patreon.com/thing_umbrella"
22
- },
23
- {
24
- "type": "liberapay",
25
- "url": "https://liberapay.com/thi.ng"
26
- }
27
- ],
28
- "author": "Karsten Schmidt (https://thi.ng)",
29
- "license": "Apache-2.0",
30
- "scripts": {
31
- "build": "yarn build:esbuild && yarn build:decl",
32
- "build:decl": "tsc --declaration --emitDeclarationOnly",
33
- "build:esbuild": "esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts",
34
- "clean": "bun ../../tools/src/clean-package.ts",
35
- "doc": "typedoc --options ../../typedoc.json --out doc src/index.ts",
36
- "doc:readme": "bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts",
37
- "pub": "yarn npm publish --access public",
38
- "test": "bun test",
39
- "tool:tangle": "../../node_modules/.bin/tangle src/**/*.ts"
40
- },
41
- "dependencies": {
42
- "@thi.ng/api": "^8.12.2",
43
- "@thi.ng/blurhash": "^1.0.23",
44
- "@thi.ng/checks": "^3.7.18",
45
- "@thi.ng/date": "^2.7.64",
46
- "@thi.ng/defmulti": "^3.0.78",
47
- "@thi.ng/errors": "^2.5.42",
48
- "@thi.ng/file-io": "^2.2.11",
49
- "@thi.ng/logger": "^3.2.1",
50
- "@thi.ng/object-utils": "^1.2.10",
51
- "@thi.ng/pixel": "^7.5.10",
52
- "@thi.ng/pixel-dither": "^1.1.178",
53
- "@thi.ng/prefixes": "^2.3.53",
54
- "sharp": "^0.34.3"
55
- },
56
- "devDependencies": {
57
- "@thi.ng/vectors": "^8.6.6",
58
- "@types/node": "^24.3.0",
59
- "esbuild": "^0.25.9",
60
- "typedoc": "^0.28.12",
61
- "typescript": "^5.9.2"
62
- },
63
- "keywords": [
64
- "avif",
65
- "batch",
66
- "bitmap",
67
- "blur",
68
- "color",
69
- "composition",
70
- "conversion",
71
- "crop",
72
- "dither",
73
- "exif",
74
- "fileformat",
75
- "gif",
76
- "grayscale",
77
- "icc",
78
- "image",
79
- "jpeg",
80
- "nested",
81
- "no-browser",
82
- "nodejs",
83
- "pipeline",
84
- "png",
85
- "process",
86
- "resize",
87
- "svg",
88
- "tiff",
89
- "tool",
90
- "transformation",
91
- "tree",
92
- "typescript",
93
- "webp"
94
- ],
95
- "publishConfig": {
96
- "access": "public"
97
- },
98
- "browser": {
99
- "process": false,
100
- "setTimeout": false
101
- },
102
- "engines": {
103
- "node": ">=18"
104
- },
105
- "files": [
106
- "./*.js",
107
- "./*.d.ts",
108
- "layers",
109
- "ops"
110
- ],
111
- "exports": {
112
- ".": {
113
- "default": "./index.js"
114
- },
115
- "./api": {
116
- "default": "./api.js"
117
- },
118
- "./layers/color": {
119
- "default": "./layers/color.js"
120
- },
121
- "./layers/image": {
122
- "default": "./layers/image.js"
123
- },
124
- "./layers/raw": {
125
- "default": "./layers/raw.js"
126
- },
127
- "./layers/svg": {
128
- "default": "./layers/svg.js"
129
- },
130
- "./layers/text": {
131
- "default": "./layers/text.js"
132
- },
133
- "./ops/blur": {
134
- "default": "./ops/blur.js"
135
- },
136
- "./ops/composite": {
137
- "default": "./ops/composite.js"
138
- },
139
- "./ops/crop": {
140
- "default": "./ops/crop.js"
141
- },
142
- "./ops/dither": {
143
- "default": "./ops/dither.js"
144
- },
145
- "./ops/exif": {
146
- "default": "./ops/exif.js"
147
- },
148
- "./ops/extend": {
149
- "default": "./ops/extend.js"
150
- },
151
- "./ops/gamma": {
152
- "default": "./ops/gamma.js"
153
- },
154
- "./ops/grayscale": {
155
- "default": "./ops/grayscale.js"
156
- },
157
- "./ops/hsbl": {
158
- "default": "./ops/hsbl.js"
159
- },
160
- "./ops/icc": {
161
- "default": "./ops/icc.js"
162
- },
163
- "./ops/nest": {
164
- "default": "./ops/nest.js"
165
- },
166
- "./ops/output": {
167
- "default": "./ops/output.js"
168
- },
169
- "./ops/resize": {
170
- "default": "./ops/resize.js"
171
- },
172
- "./ops/rotate": {
173
- "default": "./ops/rotate.js"
174
- },
175
- "./ops": {
176
- "default": "./ops.js"
177
- },
178
- "./path": {
179
- "default": "./path.js"
180
- },
181
- "./proc": {
182
- "default": "./proc.js"
183
- },
184
- "./utils": {
185
- "default": "./utils.js"
186
- }
187
- },
188
- "thi.ng": {
189
- "status": "alpha",
190
- "year": 2024
191
- },
192
- "gitHead": "fbf4b46ba8a5ecff8c5423f4c2d158d208d20fc8\n"
193
- }
2
+ "name": "@thi.ng/imago",
3
+ "version": "1.4.13",
4
+ "description": "JSON & API-based declarative and extensible image processing trees/pipelines",
5
+ "type": "module",
6
+ "module": "./index.js",
7
+ "typings": "./index.d.ts",
8
+ "sideEffects": false,
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/thi-ng/umbrella.git"
12
+ },
13
+ "homepage": "https://thi.ng/imago",
14
+ "funding": [
15
+ {
16
+ "type": "github",
17
+ "url": "https://github.com/sponsors/postspectacular"
18
+ },
19
+ {
20
+ "type": "patreon",
21
+ "url": "https://patreon.com/thing_umbrella"
22
+ },
23
+ {
24
+ "type": "liberapay",
25
+ "url": "https://liberapay.com/thi.ng"
26
+ }
27
+ ],
28
+ "author": "Karsten Schmidt (https://thi.ng)",
29
+ "license": "Apache-2.0",
30
+ "scripts": {
31
+ "build": "yarn build:esbuild && yarn build:decl",
32
+ "build:decl": "tsc --declaration --emitDeclarationOnly",
33
+ "build:esbuild": "esbuild --format=esm --platform=neutral --target=es2022 --tsconfig=tsconfig.json --outdir=. src/**/*.ts",
34
+ "clean": "bun ../../tools/src/clean-package.ts",
35
+ "doc": "typedoc --options ../../typedoc.json --out doc src/index.ts",
36
+ "doc:readme": "bun ../../tools/src/module-stats.ts && bun ../../tools/src/readme.ts",
37
+ "pub": "npm publish --access public",
38
+ "test": "bun test",
39
+ "tool:tangle": "../../node_modules/.bin/tangle src/**/*.ts"
40
+ },
41
+ "dependencies": {
42
+ "@thi.ng/api": "^8.12.6",
43
+ "@thi.ng/blurhash": "^1.0.27",
44
+ "@thi.ng/checks": "^3.7.22",
45
+ "@thi.ng/date": "^2.7.68",
46
+ "@thi.ng/defmulti": "^3.0.82",
47
+ "@thi.ng/errors": "^2.5.46",
48
+ "@thi.ng/file-io": "^2.2.15",
49
+ "@thi.ng/logger": "^3.2.5",
50
+ "@thi.ng/object-utils": "^1.2.14",
51
+ "@thi.ng/pixel": "^7.5.14",
52
+ "@thi.ng/pixel-dither": "^1.1.182",
53
+ "@thi.ng/prefixes": "^2.3.57",
54
+ "sharp": "^0.34.4"
55
+ },
56
+ "devDependencies": {
57
+ "@thi.ng/vectors": "^8.6.10",
58
+ "@types/node": "^24.9.1",
59
+ "esbuild": "^0.25.11",
60
+ "typedoc": "^0.28.14",
61
+ "typescript": "^5.9.3"
62
+ },
63
+ "keywords": [
64
+ "avif",
65
+ "batch",
66
+ "bitmap",
67
+ "blur",
68
+ "color",
69
+ "composition",
70
+ "conversion",
71
+ "crop",
72
+ "dither",
73
+ "exif",
74
+ "fileformat",
75
+ "gif",
76
+ "grayscale",
77
+ "icc",
78
+ "image",
79
+ "jpeg",
80
+ "nested",
81
+ "no-browser",
82
+ "nodejs",
83
+ "pipeline",
84
+ "png",
85
+ "process",
86
+ "resize",
87
+ "svg",
88
+ "tiff",
89
+ "tool",
90
+ "transformation",
91
+ "tree",
92
+ "typescript",
93
+ "webp"
94
+ ],
95
+ "publishConfig": {
96
+ "access": "public"
97
+ },
98
+ "browser": {
99
+ "process": false,
100
+ "setTimeout": false
101
+ },
102
+ "engines": {
103
+ "node": ">=18"
104
+ },
105
+ "files": [
106
+ "./*.js",
107
+ "./*.d.ts",
108
+ "layers",
109
+ "ops"
110
+ ],
111
+ "exports": {
112
+ ".": {
113
+ "default": "./index.js"
114
+ },
115
+ "./api": {
116
+ "default": "./api.js"
117
+ },
118
+ "./layers/color": {
119
+ "default": "./layers/color.js"
120
+ },
121
+ "./layers/image": {
122
+ "default": "./layers/image.js"
123
+ },
124
+ "./layers/raw": {
125
+ "default": "./layers/raw.js"
126
+ },
127
+ "./layers/svg": {
128
+ "default": "./layers/svg.js"
129
+ },
130
+ "./layers/text": {
131
+ "default": "./layers/text.js"
132
+ },
133
+ "./ops/blur": {
134
+ "default": "./ops/blur.js"
135
+ },
136
+ "./ops/composite": {
137
+ "default": "./ops/composite.js"
138
+ },
139
+ "./ops/crop": {
140
+ "default": "./ops/crop.js"
141
+ },
142
+ "./ops/dither": {
143
+ "default": "./ops/dither.js"
144
+ },
145
+ "./ops/exif": {
146
+ "default": "./ops/exif.js"
147
+ },
148
+ "./ops/extend": {
149
+ "default": "./ops/extend.js"
150
+ },
151
+ "./ops/gamma": {
152
+ "default": "./ops/gamma.js"
153
+ },
154
+ "./ops/grayscale": {
155
+ "default": "./ops/grayscale.js"
156
+ },
157
+ "./ops/hsbl": {
158
+ "default": "./ops/hsbl.js"
159
+ },
160
+ "./ops/icc": {
161
+ "default": "./ops/icc.js"
162
+ },
163
+ "./ops/nest": {
164
+ "default": "./ops/nest.js"
165
+ },
166
+ "./ops/output": {
167
+ "default": "./ops/output.js"
168
+ },
169
+ "./ops/resize": {
170
+ "default": "./ops/resize.js"
171
+ },
172
+ "./ops/rotate": {
173
+ "default": "./ops/rotate.js"
174
+ },
175
+ "./ops": {
176
+ "default": "./ops.js"
177
+ },
178
+ "./path": {
179
+ "default": "./path.js"
180
+ },
181
+ "./proc": {
182
+ "default": "./proc.js"
183
+ },
184
+ "./utils": {
185
+ "default": "./utils.js"
186
+ }
187
+ },
188
+ "thi.ng": {
189
+ "status": "alpha",
190
+ "year": 2024
191
+ },
192
+ "gitHead": "136a5e5ef0b69e82329db00d806c3c4e8f1aa063\n"
193
+ }
package/CHANGELOG.md DELETED
@@ -1,176 +0,0 @@
1
- # Change Log
2
-
3
- - **Last updated**: 2025-09-01T16:38:35Z
4
- - **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
5
-
6
- All notable changes to this project will be documented in this file.
7
- Only versions published since **2022-01-01** are listed here.
8
- Please consult the Git history for older version information.
9
- See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
10
-
11
- **Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes
12
- and/or version bumps of transitive dependencies.
13
-
14
- ## [1.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@1.4.0) (2025-07-25)
15
-
16
- #### 🚀 Features
17
-
18
- - add support for absolute output paths ([c440e25](https://github.com/thi-ng/umbrella/commit/c440e25))
19
- - update `formatPath()` to always return abs path
20
- - simplify `outputProc()` path handling
21
-
22
- ## [1.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@1.3.0) (2025-07-21)
23
-
24
- #### 🚀 Features
25
-
26
- - add `dataURL` output option ([eca0ee3](https://github.com/thi-ng/umbrella/commit/eca0ee3))
27
-
28
- ### [1.2.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@1.2.1) (2025-07-14)
29
-
30
- #### 🩹 Bug fixes
31
-
32
- - update `outputMeta` value type ([294afc8](https://github.com/thi-ng/umbrella/commit/294afc8))
33
-
34
- ## [1.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@1.2.0) (2025-07-14)
35
-
36
- #### 🚀 Features
37
-
38
- - add `outputMeta` for raw outputs ([37810d3](https://github.com/thi-ng/umbrella/commit/37810d3))
39
-
40
- ### [1.1.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@1.1.6) (2025-07-12)
41
-
42
- #### 🩹 Bug fixes
43
-
44
- - update raw output, remove alpha if needed ([c0559bf](https://github.com/thi-ng/umbrella/commit/c0559bf))
45
-
46
- ### [1.1.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@1.1.3) (2025-07-02)
47
-
48
- #### 🩹 Bug fixes
49
-
50
- - update non-file (in-memory) output handling ([cef4642](https://github.com/thi-ng/umbrella/commit/cef4642))
51
- - update `outputProc()` if no path is given
52
-
53
- ## [1.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@1.1.0) (2025-05-28)
54
-
55
- #### 🚀 Features
56
-
57
- - add support for [@thi.ng/pixel](https://github.com/thi-ng/umbrella/tree/main/packages/pixel) int buffers as input ([e0b6de6](https://github.com/thi-ng/umbrella/commit/e0b6de6))
58
- - update `processImage()`, update docs
59
- - add `isIntBufferLike()` helper
60
- - rename `src/units.ts` => `src/utils.ts`
61
-
62
- ## [0.8.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@0.8.0) (2024-07-06)
63
-
64
- #### 🚀 Features
65
-
66
- - make output path optional, record img buffer ([90258b2](https://github.com/thi-ng/umbrella/commit/90258b2))
67
- - update OutputSpec.path handling
68
- - if no path given, record encoded img buffer itself in outputs
69
- - update outputProc() & __outputRaw()
70
- - update docs
71
-
72
- ### [0.7.8](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@0.7.8) (2024-06-21)
73
-
74
- #### ♻️ Refactoring
75
-
76
- - enforce uniform naming convention of internal functions ([56992b2](https://github.com/thi-ng/umbrella/commit/56992b2))
77
-
78
- ### [0.7.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@0.7.3) (2024-04-20)
79
-
80
- #### ♻️ Refactoring
81
-
82
- - update type usage ([32b862a](https://github.com/thi-ng/umbrella/commit/32b862a))
83
-
84
- ## [0.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@0.7.0) (2024-04-01)
85
-
86
- #### 🚀 Features
87
-
88
- - add ICC profile assignment op ([5d022cb](https://github.com/thi-ng/umbrella/commit/5d022cb))
89
-
90
- ## [0.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@0.6.0) (2024-03-06)
91
-
92
- #### 🚀 Features
93
-
94
- - update ImgProcOpts/Ctx, add custom env object ([2b160e0](https://github.com/thi-ng/umbrella/commit/2b160e0))
95
- - update processImage() & result
96
-
97
- ## [0.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@0.5.0) (2024-03-01)
98
-
99
- #### 🚀 Features
100
-
101
- - update/improve/fix fluid position handling ([55284cd](https://github.com/thi-ng/umbrella/commit/55284cd))
102
- - update computeSize(), computMargins(), refSize(), positionOrGravity()
103
- - update CompLayerBase
104
- - add `ref`-side support for crop, resize, and all comp layer types
105
- - update imageLayer(), use "fill" mode for resizing
106
- - add tests
107
- - add docs
108
- - add defLayerSpec() and layer factory fns ([2fc4334](https://github.com/thi-ng/umbrella/commit/2fc4334))
109
- - add/update layer types, positioning, origin, gravity ([eae646f](https://github.com/thi-ng/umbrella/commit/eae646f))
110
- - add RawLayer, update other layer types ([ad59ce3](https://github.com/thi-ng/umbrella/commit/ad59ce3))
111
- - add rawLayer() & impl
112
- - update CompLayer types & impls
113
- - update imageLayer() to support buffer inputs
114
- - add docs
115
- - add suport for cropping with aspect ratio ([2b3db06](https://github.com/thi-ng/umbrella/commit/2b3db06))
116
- - add `aspect` format ID for formatPath() ([25d8377](https://github.com/thi-ng/umbrella/commit/25d8377))
117
- - update resize, add support for proportional resize ([6b13b0d](https://github.com/thi-ng/umbrella/commit/6b13b0d))
118
- - update resizeProc() to handle scalar `size` to scale proportionally
119
- with automatic aspect detection
120
-
121
- #### 🩹 Bug fixes
122
-
123
- - use transparent black as default `extend()` bg color ([d5a98ef](https://github.com/thi-ng/umbrella/commit/d5a98ef))
124
-
125
- #### ♻️ Refactoring
126
-
127
- - update defLayer() & CompLayerFn args ([294c6d0](https://github.com/thi-ng/umbrella/commit/294c6d0))
128
- - update types, add docs, minor changes ([e3de1e2](https://github.com/thi-ng/umbrella/commit/e3de1e2))
129
-
130
- ### [0.4.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@0.4.1) (2024-02-28)
131
-
132
- #### 🩹 Bug fixes
133
-
134
- - fix typedarray input handling in processImage() ([075ecaa](https://github.com/thi-ng/umbrella/commit/075ecaa))
135
-
136
- ## [0.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@0.4.0) (2024-02-27)
137
-
138
- #### 🚀 Features
139
-
140
- - add blurhash output option, update deps ([b7ffedd](https://github.com/thi-ng/umbrella/commit/b7ffedd))
141
-
142
- ## [0.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@0.3.0) (2024-02-23)
143
-
144
- #### 🚀 Features
145
-
146
- - major update ([f938d60](https://github.com/thi-ng/umbrella/commit/f938d60))
147
- - restructure package, split out all ops into separate files
148
- - update `ProcSpec`, rename `type` => `op`
149
- - add text layer support (via SVG)
150
- - add/update EXIF handling & opts
151
- - add ICC profile handling & opts
152
- - update output path collection to use object
153
- - update `OutputSpec` to require output `id`
154
- - update `NestSpec` to support multiple child pipelines
155
- - spawn children via Promise.all()
156
- - add/update docstrings
157
- - update deps & pkg exports
158
-
159
- ## [0.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@0.2.0) (2024-02-22)
160
-
161
- #### 🚀 Features
162
-
163
- - add support for custom path part replacements ([b0419e1](https://github.com/thi-ng/umbrella/commit/b0419e1))
164
- - add more path part replacements ([9f84a8a](https://github.com/thi-ng/umbrella/commit/9f84a8a))
165
- - collect all output paths, update processImage() result ([a3ca52f](https://github.com/thi-ng/umbrella/commit/a3ca52f))
166
-
167
- ## [0.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/imago@0.1.0) (2024-02-22)
168
-
169
- #### 🚀 Features
170
-
171
- - import as new pkg ([66b62ff](https://github.com/thi-ng/umbrella/commit/66b62ff))
172
- - add output path formatters, restructure pkg ([0b06527](https://github.com/thi-ng/umbrella/commit/0b06527))
173
-
174
- #### ♻️ Refactoring
175
-
176
- - update all `node:*` imports ([c71a526](https://github.com/thi-ng/umbrella/commit/c71a526))