@atlaspack/transformer-image 3.1.5-canary.36 → 3.1.5-canary.361

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
@@ -1,5 +1,408 @@
1
1
  # @atlaspack/transformer-image
2
2
 
3
+ ## 12.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies []:
8
+ - @atlaspack/core@2.31.3
9
+ - @atlaspack/utils@3.3.1
10
+ - @atlaspack/workers@2.14.49
11
+ - @atlaspack/plugin@2.14.49
12
+
13
+ ## 12.0.2
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies [[`47aa84e`](https://github.com/atlassian-labs/atlaspack/commit/47aa84e44c61066072a5bf3d57678565b9d2c5a3)]:
18
+ - @atlaspack/utils@3.3.0
19
+ - @atlaspack/core@2.31.2
20
+ - @atlaspack/workers@2.14.48
21
+ - @atlaspack/plugin@2.14.48
22
+
23
+ ## 12.0.1
24
+
25
+ ### Patch Changes
26
+
27
+ - Updated dependencies [[`695339e`](https://github.com/atlassian-labs/atlaspack/commit/695339e4fd46df9590013c2ef4de74cb22225927)]:
28
+ - @atlaspack/core@2.31.1
29
+ - @atlaspack/utils@3.2.8
30
+ - @atlaspack/workers@2.14.47
31
+ - @atlaspack/plugin@2.14.47
32
+
33
+ ## 12.0.0
34
+
35
+ ### Patch Changes
36
+
37
+ - Updated dependencies [[`02cc8b3`](https://github.com/atlassian-labs/atlaspack/commit/02cc8b32c06ca6b51806b33f6f707ca06e55e957), [`02cc8b3`](https://github.com/atlassian-labs/atlaspack/commit/02cc8b32c06ca6b51806b33f6f707ca06e55e957)]:
38
+ - @atlaspack/core@2.31.0
39
+ - @atlaspack/utils@3.2.7
40
+ - @atlaspack/plugin@2.14.46
41
+ - @atlaspack/workers@2.14.46
42
+
43
+ ## 11.0.2
44
+
45
+ ### Patch Changes
46
+
47
+ - Updated dependencies []:
48
+ - @atlaspack/core@2.30.2
49
+ - @atlaspack/utils@3.2.6
50
+ - @atlaspack/plugin@2.14.45
51
+ - @atlaspack/workers@2.14.45
52
+
53
+ ## 11.0.1
54
+
55
+ ### Patch Changes
56
+
57
+ - Updated dependencies []:
58
+ - @atlaspack/core@2.30.1
59
+ - @atlaspack/utils@3.2.5
60
+ - @atlaspack/workers@2.14.44
61
+ - @atlaspack/plugin@2.14.44
62
+
63
+ ## 11.0.0
64
+
65
+ ### Patch Changes
66
+
67
+ - Updated dependencies [[`00fa643`](https://github.com/atlassian-labs/atlaspack/commit/00fa6433202bfd3311479f6314c9ec878a789f2c)]:
68
+ - @atlaspack/core@2.30.0
69
+ - @atlaspack/plugin@2.14.43
70
+ - @atlaspack/utils@3.2.4
71
+ - @atlaspack/workers@2.14.43
72
+
73
+ ## 10.0.2
74
+
75
+ ### Patch Changes
76
+
77
+ - Updated dependencies []:
78
+ - @atlaspack/core@2.29.2
79
+ - @atlaspack/utils@3.2.3
80
+ - @atlaspack/workers@2.14.42
81
+ - @atlaspack/plugin@2.14.42
82
+
83
+ ## 10.0.1
84
+
85
+ ### Patch Changes
86
+
87
+ - Updated dependencies [[`d98c992`](https://github.com/atlassian-labs/atlaspack/commit/d98c992a56121a4f9f6a011ced5e103f96fe3999)]:
88
+ - @atlaspack/core@2.29.1
89
+ - @atlaspack/utils@3.2.2
90
+ - @atlaspack/workers@2.14.41
91
+ - @atlaspack/plugin@2.14.41
92
+
93
+ ## 10.0.0
94
+
95
+ ### Patch Changes
96
+
97
+ - Updated dependencies [[`a884bd2`](https://github.com/atlassian-labs/atlaspack/commit/a884bd2a6bd6f37d088fb886dd9b88e85328501b), [`5710532`](https://github.com/atlassian-labs/atlaspack/commit/57105322b26ce42af2cbfcc0506cff929e50b630), [`6fac01d`](https://github.com/atlassian-labs/atlaspack/commit/6fac01dbb1bfc5b971176c1a1c008297bf4b8f91), [`432d571`](https://github.com/atlassian-labs/atlaspack/commit/432d571ea4e9fc67be12304fcafe8c445e844174), [`5710532`](https://github.com/atlassian-labs/atlaspack/commit/57105322b26ce42af2cbfcc0506cff929e50b630)]:
98
+ - @atlaspack/core@2.29.0
99
+ - @atlaspack/utils@3.2.1
100
+ - @atlaspack/workers@2.14.40
101
+ - @atlaspack/plugin@2.14.40
102
+
103
+ ## 9.0.0
104
+
105
+ ### Patch Changes
106
+
107
+ - Updated dependencies [[`7dd5bd8`](https://github.com/atlassian-labs/atlaspack/commit/7dd5bd89ff60c7b324347d772729eb4c3314f01e), [`8eb84ee`](https://github.com/atlassian-labs/atlaspack/commit/8eb84ee61a42bfe87c58079b610802b07a6a13e4), [`73168c2`](https://github.com/atlassian-labs/atlaspack/commit/73168c275a5d9abff9907bcf536b340bca1ed5f0), [`617a318`](https://github.com/atlassian-labs/atlaspack/commit/617a318ddc9419b38360257353fec50b9051ee13)]:
108
+ - @atlaspack/core@2.28.0
109
+ - @atlaspack/utils@3.2.0
110
+ - @atlaspack/plugin@2.14.39
111
+ - @atlaspack/workers@2.14.39
112
+
113
+ ## 8.0.0
114
+
115
+ ### Patch Changes
116
+
117
+ - Updated dependencies [[`ec3abe4`](https://github.com/atlassian-labs/atlaspack/commit/ec3abe4dffc98560a850fd2f71fb566577e6c99c), [`cfb4707`](https://github.com/atlassian-labs/atlaspack/commit/cfb4707087498e4fa4dcf10753fe984a248d196b), [`33d4c26`](https://github.com/atlassian-labs/atlaspack/commit/33d4c261ceb8d585d56b0a446ed6e28cf7f1126d), [`f31b041`](https://github.com/atlassian-labs/atlaspack/commit/f31b04107e9077c9946aadb99f6f91bb69703bb7), [`8180981`](https://github.com/atlassian-labs/atlaspack/commit/8180981be14c00f9570adb70d3f350bd91d6ec0a), [`119210b`](https://github.com/atlassian-labs/atlaspack/commit/119210b597eb993c50445df87a36b70bd49cd414), [`7d7a55d`](https://github.com/atlassian-labs/atlaspack/commit/7d7a55dd6395ec391a2e4c33b3dec0d1ea477d4c)]:
118
+ - @atlaspack/core@2.27.0
119
+ - @atlaspack/utils@3.1.2
120
+ - @atlaspack/workers@2.14.38
121
+ - @atlaspack/plugin@2.14.38
122
+
123
+ ## 7.0.2
124
+
125
+ ### Patch Changes
126
+
127
+ - Updated dependencies []:
128
+ - @atlaspack/core@2.26.2
129
+ - @atlaspack/utils@3.1.1
130
+ - @atlaspack/workers@2.14.37
131
+ - @atlaspack/plugin@2.14.37
132
+
133
+ ## 7.0.1
134
+
135
+ ### Patch Changes
136
+
137
+ - Updated dependencies [[`9cd9521`](https://github.com/atlassian-labs/atlaspack/commit/9cd9521978f783046e2ae4ce78f2de7aeb07d073), [`d0c7bea`](https://github.com/atlassian-labs/atlaspack/commit/d0c7bea04458255b4c5d4299600e734b5f919fe1), [`1086c6a`](https://github.com/atlassian-labs/atlaspack/commit/1086c6a2c59271b63b3fb78e6acdb9d3a0dbf354), [`5776be2`](https://github.com/atlassian-labs/atlaspack/commit/5776be21f70a3f2b9471ba33da3ba1a883f21f1a)]:
138
+ - @atlaspack/core@2.26.1
139
+ - @atlaspack/utils@3.1.0
140
+ - @atlaspack/workers@2.14.36
141
+ - @atlaspack/plugin@2.14.36
142
+
143
+ ## 7.0.0
144
+
145
+ ### Patch Changes
146
+
147
+ - Updated dependencies [[`ff8ac84`](https://github.com/atlassian-labs/atlaspack/commit/ff8ac84bd0be15caa7c7af21bf5b6e47b6d36438), [`3da8e69`](https://github.com/atlassian-labs/atlaspack/commit/3da8e690605472d81c531366b65fa9844f8ca337), [`c372f3f`](https://github.com/atlassian-labs/atlaspack/commit/c372f3fd6fce8200d5cf47f41bc7895c6cbb5558), [`17dfea9`](https://github.com/atlassian-labs/atlaspack/commit/17dfea9e9f3169807808520df9c09ebf70dc8b10), [`27fd73f`](https://github.com/atlassian-labs/atlaspack/commit/27fd73fa07d358653f1be6f2d15d72dc5d8fc2fd), [`3091fa3`](https://github.com/atlassian-labs/atlaspack/commit/3091fa36425ecffe3938e55247a035b08cda37a2)]:
148
+ - @atlaspack/core@2.26.0
149
+ - @atlaspack/utils@3.0.3
150
+ - @atlaspack/plugin@2.14.35
151
+ - @atlaspack/workers@2.14.35
152
+
153
+ ## 6.0.1
154
+
155
+ ### Patch Changes
156
+
157
+ - Updated dependencies [[`25cbee6`](https://github.com/atlassian-labs/atlaspack/commit/25cbee625fb47ac20423fe34ff37bc818a807245)]:
158
+ - @atlaspack/workers@2.14.34
159
+ - @atlaspack/core@2.25.1
160
+ - @atlaspack/utils@3.0.2
161
+ - @atlaspack/plugin@2.14.34
162
+
163
+ ## 6.0.0
164
+
165
+ ### Patch Changes
166
+
167
+ - Updated dependencies [[`236e546`](https://github.com/atlassian-labs/atlaspack/commit/236e5465863dca6044a7191e05260a5b924c342e), [`f07351a`](https://github.com/atlassian-labs/atlaspack/commit/f07351a2398b6a8e5155a2daad77e69b7dcb2b4b)]:
168
+ - @atlaspack/utils@3.0.1
169
+ - @atlaspack/core@2.25.0
170
+ - @atlaspack/workers@2.14.33
171
+ - @atlaspack/plugin@2.14.33
172
+
173
+ ## 5.0.2
174
+
175
+ ### Patch Changes
176
+
177
+ - Updated dependencies [[`10ee3fa`](https://github.com/atlassian-labs/atlaspack/commit/10ee3fa5b75a92acde8973673d9b3c5b6f3958e5), [`1180103`](https://github.com/atlassian-labs/atlaspack/commit/118010351ed444f8178988afb3f77807154dd933)]:
178
+ - @atlaspack/core@2.24.2
179
+ - @atlaspack/utils@3.0.0
180
+ - @atlaspack/workers@2.14.32
181
+ - @atlaspack/plugin@2.14.32
182
+
183
+ ## 5.0.1
184
+
185
+ ### Patch Changes
186
+
187
+ - [#785](https://github.com/atlassian-labs/atlaspack/pull/785) [`0e7dd5e`](https://github.com/atlassian-labs/atlaspack/commit/0e7dd5ec6fbe05aa9e0bb5775a9d0975f206a922) Thanks [@matt-koko](https://github.com/matt-koko)! - We need to re-publish every package in Atlaspack with the corrected types field.
188
+
189
+ - Updated dependencies [[`0e7dd5e`](https://github.com/atlassian-labs/atlaspack/commit/0e7dd5ec6fbe05aa9e0bb5775a9d0975f206a922), [`686a398`](https://github.com/atlassian-labs/atlaspack/commit/686a398faa1f9e19cbf9274add2c46e246bafba8)]:
190
+ - @atlaspack/core@2.24.1
191
+ - @atlaspack/plugin@2.14.31
192
+ - @atlaspack/utils@2.19.3
193
+ - @atlaspack/workers@2.14.31
194
+
195
+ ## 5.0.0
196
+
197
+ ### Patch Changes
198
+
199
+ - Updated dependencies [[`eedcbc4`](https://github.com/atlassian-labs/atlaspack/commit/eedcbc408fc1e86a2a8e25f1a41c57146d8529e1), [`5a0363f`](https://github.com/atlassian-labs/atlaspack/commit/5a0363f1086e81068959b87e92064bed5a11a9b4), [`038e87a`](https://github.com/atlassian-labs/atlaspack/commit/038e87a7858d39556d59d3a2d17db534d45f62c6), [`f6532d7`](https://github.com/atlassian-labs/atlaspack/commit/f6532d7a4f7f007bd4e5e36af04dd466f0b9f572), [`8604d2a`](https://github.com/atlassian-labs/atlaspack/commit/8604d2a49ace5e9194ec4f76e71f06b93610f6b4)]:
200
+ - @atlaspack/core@2.24.0
201
+ - @atlaspack/utils@2.19.2
202
+ - @atlaspack/plugin@2.14.30
203
+ - @atlaspack/workers@2.14.30
204
+
205
+ ## 4.0.5
206
+
207
+ ### Patch Changes
208
+
209
+ - Updated dependencies []:
210
+ - @atlaspack/core@2.23.5
211
+ - @atlaspack/utils@2.19.1
212
+ - @atlaspack/plugin@2.14.29
213
+ - @atlaspack/workers@2.14.29
214
+
215
+ ## 4.0.4
216
+
217
+ ### Patch Changes
218
+
219
+ - Updated dependencies [[`f0349a6`](https://github.com/atlassian-labs/atlaspack/commit/f0349a6b9b04755088f121095ca6301a2ada3767)]:
220
+ - @atlaspack/utils@2.19.0
221
+ - @atlaspack/core@2.23.4
222
+ - @atlaspack/workers@2.14.28
223
+ - @atlaspack/plugin@2.14.28
224
+
225
+ ## 4.0.3
226
+
227
+ ### Patch Changes
228
+
229
+ - Updated dependencies []:
230
+ - @atlaspack/core@2.23.3
231
+ - @atlaspack/utils@2.18.4
232
+ - @atlaspack/plugin@2.14.27
233
+ - @atlaspack/workers@2.14.27
234
+
235
+ ## 4.0.2
236
+
237
+ ### Patch Changes
238
+
239
+ - [#742](https://github.com/atlassian-labs/atlaspack/pull/742) [`ee040bb`](https://github.com/atlassian-labs/atlaspack/commit/ee040bb6428f29b57d892ddd8107e29077d08ffd) Thanks [@yamadapc](https://github.com/yamadapc)! - Internal changes and bug fixes to environmentDeduplication flag
240
+
241
+ - Updated dependencies [[`ee040bb`](https://github.com/atlassian-labs/atlaspack/commit/ee040bb6428f29b57d892ddd8107e29077d08ffd), [`889c65c`](https://github.com/atlassian-labs/atlaspack/commit/889c65cd25b811045e26a117e7404f694dde77a2), [`b6e72b6`](https://github.com/atlassian-labs/atlaspack/commit/b6e72b6dd2b517cbb0e700fa69e63332d3eacb1e)]:
242
+ - @atlaspack/workers@2.14.26
243
+ - @atlaspack/plugin@2.14.26
244
+ - @atlaspack/utils@2.18.3
245
+ - @atlaspack/core@2.23.2
246
+
247
+ ## 4.0.1
248
+
249
+ ### Patch Changes
250
+
251
+ - Updated dependencies []:
252
+ - @atlaspack/core@2.23.1
253
+ - @atlaspack/utils@2.18.2
254
+ - @atlaspack/plugin@2.14.25
255
+ - @atlaspack/workers@2.14.25
256
+
257
+ ## 4.0.0
258
+
259
+ ### Patch Changes
260
+
261
+ - Updated dependencies [[`7f5841c`](https://github.com/atlassian-labs/atlaspack/commit/7f5841c39df049f9546cccbeea2a7337e0337b45)]:
262
+ - @atlaspack/core@2.23.0
263
+ - @atlaspack/utils@2.18.1
264
+ - @atlaspack/plugin@2.14.24
265
+ - @atlaspack/workers@2.14.24
266
+
267
+ ## 3.1.23
268
+
269
+ ### Patch Changes
270
+
271
+ - Updated dependencies [[`23d561e`](https://github.com/atlassian-labs/atlaspack/commit/23d561e51e68b0c38fd1ff4e4fb173e5e7b01cf2)]:
272
+ - @atlaspack/utils@2.18.0
273
+ - @atlaspack/workers@2.14.23
274
+ - @atlaspack/plugin@2.14.23
275
+
276
+ ## 3.1.22
277
+
278
+ ### Patch Changes
279
+
280
+ - [#720](https://github.com/atlassian-labs/atlaspack/pull/720) [`d2fd849`](https://github.com/atlassian-labs/atlaspack/commit/d2fd849770fe6305e9c694bd97b1bd905abd9d94) Thanks [@alshdavid](https://github.com/alshdavid)! - Migrate to TypeScript
281
+
282
+ - Updated dependencies [[`d2fd849`](https://github.com/atlassian-labs/atlaspack/commit/d2fd849770fe6305e9c694bd97b1bd905abd9d94)]:
283
+ - @atlaspack/workers@2.14.22
284
+ - @atlaspack/plugin@2.14.22
285
+ - @atlaspack/utils@2.17.4
286
+
287
+ ## 3.1.21
288
+
289
+ ### Patch Changes
290
+
291
+ - Updated dependencies []:
292
+ - @atlaspack/workers@2.14.21
293
+ - @atlaspack/utils@2.17.3
294
+ - @atlaspack/plugin@2.14.21
295
+
296
+ ## 3.1.20
297
+
298
+ ### Patch Changes
299
+
300
+ - [#702](https://github.com/atlassian-labs/atlaspack/pull/702) [`daaa768`](https://github.com/atlassian-labs/atlaspack/commit/daaa7688786772d7e3713b71c5bba6b89ec704aa) Thanks [@alshdavid](https://github.com/alshdavid)! - Fixes to Flow types
301
+
302
+ - Updated dependencies [[`daaa768`](https://github.com/atlassian-labs/atlaspack/commit/daaa7688786772d7e3713b71c5bba6b89ec704aa)]:
303
+ - @atlaspack/plugin@2.14.20
304
+ - @atlaspack/utils@2.17.2
305
+ - @atlaspack/workers@2.14.20
306
+
307
+ ## 3.1.19
308
+
309
+ ### Patch Changes
310
+
311
+ - Updated dependencies []:
312
+ - @atlaspack/utils@2.17.1
313
+ - @atlaspack/workers@2.14.19
314
+ - @atlaspack/plugin@2.14.19
315
+
316
+ ## 3.1.18
317
+
318
+ ### Patch Changes
319
+
320
+ - Updated dependencies [[`dbb4072`](https://github.com/atlassian-labs/atlaspack/commit/dbb40721ebeb45990a14ba04e6b44e7f836fb32d), [`de23e0c`](https://github.com/atlassian-labs/atlaspack/commit/de23e0ce49d5504fe3947ac26640a3d951087da3), [`18a57cf`](https://github.com/atlassian-labs/atlaspack/commit/18a57cf8a4789b2de5ad8e2676f317a26cc91417), [`a5ed1b4`](https://github.com/atlassian-labs/atlaspack/commit/a5ed1b414498560f393ff491af4da25b6e8dde56)]:
321
+ - @atlaspack/utils@2.17.0
322
+ - @atlaspack/workers@2.14.18
323
+ - @atlaspack/plugin@2.14.18
324
+
325
+ ## 3.1.17
326
+
327
+ ### Patch Changes
328
+
329
+ - Updated dependencies []:
330
+ - @atlaspack/utils@2.16.1
331
+ - @atlaspack/workers@2.14.17
332
+ - @atlaspack/plugin@2.14.17
333
+
334
+ ## 3.1.16
335
+
336
+ ### Patch Changes
337
+
338
+ - Updated dependencies [[`30ee2cf`](https://github.com/atlassian-labs/atlaspack/commit/30ee2cfcd34cf2646ded0eda13fdb80a2a5de529)]:
339
+ - @atlaspack/utils@2.16.0
340
+ - @atlaspack/workers@2.14.16
341
+ - @atlaspack/plugin@2.14.16
342
+
343
+ ## 3.1.15
344
+
345
+ ### Patch Changes
346
+
347
+ - Updated dependencies []:
348
+ - @atlaspack/utils@2.15.3
349
+ - @atlaspack/workers@2.14.15
350
+ - @atlaspack/plugin@2.14.15
351
+
352
+ ## 3.1.14
353
+
354
+ ### Patch Changes
355
+
356
+ - Updated dependencies []:
357
+ - @atlaspack/utils@2.15.2
358
+ - @atlaspack/workers@2.14.14
359
+ - @atlaspack/plugin@2.14.14
360
+
361
+ ## 3.1.13
362
+
363
+ ### Patch Changes
364
+
365
+ - Updated dependencies [[`ef3d622`](https://github.com/atlassian-labs/atlaspack/commit/ef3d6228f4e006702198a19c61e051d194d325cb)]:
366
+ - @atlaspack/workers@2.14.13
367
+ - @atlaspack/utils@2.15.1
368
+ - @atlaspack/plugin@2.14.13
369
+
370
+ ## 3.1.12
371
+
372
+ ### Patch Changes
373
+
374
+ - Updated dependencies [[`e39c6cf`](https://github.com/atlassian-labs/atlaspack/commit/e39c6cf05f7e95ce5420dbcea66f401b1cbd397c)]:
375
+ - @atlaspack/utils@2.15.0
376
+ - @atlaspack/workers@2.14.12
377
+ - @atlaspack/plugin@2.14.12
378
+
379
+ ## 3.1.11
380
+
381
+ ### Patch Changes
382
+
383
+ - Updated dependencies []:
384
+ - @atlaspack/utils@2.14.11
385
+ - @atlaspack/workers@2.14.11
386
+ - @atlaspack/plugin@2.14.11
387
+
388
+ ## 3.1.10
389
+
390
+ ### Patch Changes
391
+
392
+ - Updated dependencies []:
393
+ - @atlaspack/workers@2.14.10
394
+ - @atlaspack/plugin@2.14.10
395
+ - @atlaspack/utils@2.14.10
396
+
397
+ ## 3.1.9
398
+
399
+ ### Patch Changes
400
+
401
+ - Updated dependencies []:
402
+ - @atlaspack/utils@2.14.9
403
+ - @atlaspack/workers@2.14.9
404
+ - @atlaspack/plugin@2.14.9
405
+
3
406
  ## 3.1.8
4
407
 
5
408
  ### Patch Changes
@@ -0,0 +1,99 @@
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
+ const validateConfig_1 = require("./validateConfig");
7
+ const plugin_1 = require("@atlaspack/plugin");
8
+ const nullthrows_1 = __importDefault(require("nullthrows"));
9
+ const workers_1 = __importDefault(require("@atlaspack/workers"));
10
+ // @ts-expect-error TS1192
11
+ const loadSharp_1 = __importDefault(require("./loadSharp"));
12
+ // from https://github.com/lovell/sharp/blob/df7b8ba73808fc494be413e88cfb621b6279218c/lib/output.js#L6-L17
13
+ const FORMATS = new Map([
14
+ ['jpeg', 'jpeg'],
15
+ ['jpg', 'jpeg'],
16
+ ['png', 'png'],
17
+ ['webp', 'webp'],
18
+ ['gif', 'gif'],
19
+ ['tiff', 'tiff'],
20
+ ['avif', 'avif'],
21
+ ['heic', 'heif'],
22
+ ['heif', 'heif'],
23
+ ]);
24
+ let isSharpLoadedOnMainThread = false;
25
+ exports.default = new plugin_1.Transformer({
26
+ async loadConfig({ config }) {
27
+ let configFile = await config.getConfig(['sharp.config.json'], // '.sharprc', '.sharprc.json'
28
+ { packageKey: 'sharp' });
29
+ if (configFile?.contents) {
30
+ (0, validateConfig_1.validateConfig)(configFile.contents, configFile.filePath);
31
+ return configFile.contents;
32
+ }
33
+ else {
34
+ return {};
35
+ }
36
+ },
37
+ async transform({ config, asset, options }) {
38
+ asset.bundleBehavior = 'isolated';
39
+ const originalFormat = FORMATS.get(asset.type);
40
+ if (!originalFormat) {
41
+ throw new Error(`The image transformer does not support ${asset.type} images.`);
42
+ }
43
+ const width = asset.query.has('width')
44
+ ? // @ts-expect-error TS2345
45
+ parseInt(asset.query.get('width'), 10)
46
+ : null;
47
+ const height = asset.query.has('height')
48
+ ? // @ts-expect-error TS2345
49
+ parseInt(asset.query.get('height'), 10)
50
+ : null;
51
+ const quality = asset.query.has('quality')
52
+ ? // @ts-expect-error TS2345
53
+ parseInt(asset.query.get('quality'), 10)
54
+ : config.quality;
55
+ let targetFormat = asset.query.get('as')?.toLowerCase().trim();
56
+ if (targetFormat && !FORMATS.has(targetFormat)) {
57
+ throw new Error(`The image transformer does not support ${targetFormat} images.`);
58
+ }
59
+ const format = (0, nullthrows_1.default)(FORMATS.get(targetFormat || originalFormat));
60
+ const outputOptions = config[format];
61
+ if (width || height || quality || targetFormat || outputOptions) {
62
+ // Sharp must be required from the main thread as well to prevent errors when workers exit
63
+ // See https://sharp.pixelplumbing.com/install#worker-threads and https://github.com/lovell/sharp/issues/2263
64
+ if (workers_1.default.isWorker() && !isSharpLoadedOnMainThread) {
65
+ let api = workers_1.default.getWorkerApi();
66
+ await api.callMaster({
67
+ location: __dirname + '/loadSharp.js',
68
+ args: [
69
+ options.packageManager,
70
+ asset.filePath,
71
+ options.shouldAutoInstall,
72
+ ],
73
+ });
74
+ isSharpLoadedOnMainThread = true;
75
+ }
76
+ let inputBuffer = await asset.getBuffer();
77
+ let sharp = await (0, loadSharp_1.default)(options.packageManager, asset.filePath, options.shouldAutoInstall, true);
78
+ let imagePipeline = sharp(inputBuffer, { animated: true });
79
+ imagePipeline.withMetadata();
80
+ if (width || height) {
81
+ imagePipeline.resize(width, height);
82
+ }
83
+ imagePipeline.rotate();
84
+ const normalizedOutputOptions = outputOptions || {};
85
+ if (format === 'jpeg') {
86
+ normalizedOutputOptions.mozjpeg =
87
+ normalizedOutputOptions.mozjpeg ?? true;
88
+ }
89
+ imagePipeline[format]({
90
+ quality,
91
+ ...normalizedOutputOptions,
92
+ });
93
+ asset.type = format;
94
+ let buffer = await imagePipeline.toBuffer();
95
+ asset.setBuffer(buffer);
96
+ }
97
+ return [asset];
98
+ },
99
+ });
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const SHARP_RANGE = '^0.31.1';
4
+ // This is used to load sharp on the main thread, which prevents errors when worker threads exit
5
+ // See https://sharp.pixelplumbing.com/install#worker-threads and https://github.com/lovell/sharp/issues/2263
6
+ module.exports = async (packageManager, filePath, shouldAutoInstall, shouldReturn) => {
7
+ let sharp = await packageManager.require('sharp', filePath, {
8
+ range: SHARP_RANGE,
9
+ shouldAutoInstall: shouldAutoInstall,
10
+ });
11
+ if (shouldReturn) {
12
+ return sharp;
13
+ }
14
+ };