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

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,398 @@
1
1
  # @atlaspack/transformer-image
2
2
 
3
+ ## 12.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`47aa84e`](https://github.com/atlassian-labs/atlaspack/commit/47aa84e44c61066072a5bf3d57678565b9d2c5a3)]:
8
+ - @atlaspack/utils@3.3.0
9
+ - @atlaspack/core@2.31.2
10
+ - @atlaspack/workers@2.14.48
11
+ - @atlaspack/plugin@2.14.48
12
+
13
+ ## 12.0.1
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies [[`695339e`](https://github.com/atlassian-labs/atlaspack/commit/695339e4fd46df9590013c2ef4de74cb22225927)]:
18
+ - @atlaspack/core@2.31.1
19
+ - @atlaspack/utils@3.2.8
20
+ - @atlaspack/workers@2.14.47
21
+ - @atlaspack/plugin@2.14.47
22
+
23
+ ## 12.0.0
24
+
25
+ ### Patch Changes
26
+
27
+ - Updated dependencies [[`02cc8b3`](https://github.com/atlassian-labs/atlaspack/commit/02cc8b32c06ca6b51806b33f6f707ca06e55e957), [`02cc8b3`](https://github.com/atlassian-labs/atlaspack/commit/02cc8b32c06ca6b51806b33f6f707ca06e55e957)]:
28
+ - @atlaspack/core@2.31.0
29
+ - @atlaspack/utils@3.2.7
30
+ - @atlaspack/plugin@2.14.46
31
+ - @atlaspack/workers@2.14.46
32
+
33
+ ## 11.0.2
34
+
35
+ ### Patch Changes
36
+
37
+ - Updated dependencies []:
38
+ - @atlaspack/core@2.30.2
39
+ - @atlaspack/utils@3.2.6
40
+ - @atlaspack/plugin@2.14.45
41
+ - @atlaspack/workers@2.14.45
42
+
43
+ ## 11.0.1
44
+
45
+ ### Patch Changes
46
+
47
+ - Updated dependencies []:
48
+ - @atlaspack/core@2.30.1
49
+ - @atlaspack/utils@3.2.5
50
+ - @atlaspack/workers@2.14.44
51
+ - @atlaspack/plugin@2.14.44
52
+
53
+ ## 11.0.0
54
+
55
+ ### Patch Changes
56
+
57
+ - Updated dependencies [[`00fa643`](https://github.com/atlassian-labs/atlaspack/commit/00fa6433202bfd3311479f6314c9ec878a789f2c)]:
58
+ - @atlaspack/core@2.30.0
59
+ - @atlaspack/plugin@2.14.43
60
+ - @atlaspack/utils@3.2.4
61
+ - @atlaspack/workers@2.14.43
62
+
63
+ ## 10.0.2
64
+
65
+ ### Patch Changes
66
+
67
+ - Updated dependencies []:
68
+ - @atlaspack/core@2.29.2
69
+ - @atlaspack/utils@3.2.3
70
+ - @atlaspack/workers@2.14.42
71
+ - @atlaspack/plugin@2.14.42
72
+
73
+ ## 10.0.1
74
+
75
+ ### Patch Changes
76
+
77
+ - Updated dependencies [[`d98c992`](https://github.com/atlassian-labs/atlaspack/commit/d98c992a56121a4f9f6a011ced5e103f96fe3999)]:
78
+ - @atlaspack/core@2.29.1
79
+ - @atlaspack/utils@3.2.2
80
+ - @atlaspack/workers@2.14.41
81
+ - @atlaspack/plugin@2.14.41
82
+
83
+ ## 10.0.0
84
+
85
+ ### Patch Changes
86
+
87
+ - 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)]:
88
+ - @atlaspack/core@2.29.0
89
+ - @atlaspack/utils@3.2.1
90
+ - @atlaspack/workers@2.14.40
91
+ - @atlaspack/plugin@2.14.40
92
+
93
+ ## 9.0.0
94
+
95
+ ### Patch Changes
96
+
97
+ - 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)]:
98
+ - @atlaspack/core@2.28.0
99
+ - @atlaspack/utils@3.2.0
100
+ - @atlaspack/plugin@2.14.39
101
+ - @atlaspack/workers@2.14.39
102
+
103
+ ## 8.0.0
104
+
105
+ ### Patch Changes
106
+
107
+ - 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)]:
108
+ - @atlaspack/core@2.27.0
109
+ - @atlaspack/utils@3.1.2
110
+ - @atlaspack/workers@2.14.38
111
+ - @atlaspack/plugin@2.14.38
112
+
113
+ ## 7.0.2
114
+
115
+ ### Patch Changes
116
+
117
+ - Updated dependencies []:
118
+ - @atlaspack/core@2.26.2
119
+ - @atlaspack/utils@3.1.1
120
+ - @atlaspack/workers@2.14.37
121
+ - @atlaspack/plugin@2.14.37
122
+
123
+ ## 7.0.1
124
+
125
+ ### Patch Changes
126
+
127
+ - 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)]:
128
+ - @atlaspack/core@2.26.1
129
+ - @atlaspack/utils@3.1.0
130
+ - @atlaspack/workers@2.14.36
131
+ - @atlaspack/plugin@2.14.36
132
+
133
+ ## 7.0.0
134
+
135
+ ### Patch Changes
136
+
137
+ - 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)]:
138
+ - @atlaspack/core@2.26.0
139
+ - @atlaspack/utils@3.0.3
140
+ - @atlaspack/plugin@2.14.35
141
+ - @atlaspack/workers@2.14.35
142
+
143
+ ## 6.0.1
144
+
145
+ ### Patch Changes
146
+
147
+ - Updated dependencies [[`25cbee6`](https://github.com/atlassian-labs/atlaspack/commit/25cbee625fb47ac20423fe34ff37bc818a807245)]:
148
+ - @atlaspack/workers@2.14.34
149
+ - @atlaspack/core@2.25.1
150
+ - @atlaspack/utils@3.0.2
151
+ - @atlaspack/plugin@2.14.34
152
+
153
+ ## 6.0.0
154
+
155
+ ### Patch Changes
156
+
157
+ - Updated dependencies [[`236e546`](https://github.com/atlassian-labs/atlaspack/commit/236e5465863dca6044a7191e05260a5b924c342e), [`f07351a`](https://github.com/atlassian-labs/atlaspack/commit/f07351a2398b6a8e5155a2daad77e69b7dcb2b4b)]:
158
+ - @atlaspack/utils@3.0.1
159
+ - @atlaspack/core@2.25.0
160
+ - @atlaspack/workers@2.14.33
161
+ - @atlaspack/plugin@2.14.33
162
+
163
+ ## 5.0.2
164
+
165
+ ### Patch Changes
166
+
167
+ - Updated dependencies [[`10ee3fa`](https://github.com/atlassian-labs/atlaspack/commit/10ee3fa5b75a92acde8973673d9b3c5b6f3958e5), [`1180103`](https://github.com/atlassian-labs/atlaspack/commit/118010351ed444f8178988afb3f77807154dd933)]:
168
+ - @atlaspack/core@2.24.2
169
+ - @atlaspack/utils@3.0.0
170
+ - @atlaspack/workers@2.14.32
171
+ - @atlaspack/plugin@2.14.32
172
+
173
+ ## 5.0.1
174
+
175
+ ### Patch Changes
176
+
177
+ - [#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.
178
+
179
+ - Updated dependencies [[`0e7dd5e`](https://github.com/atlassian-labs/atlaspack/commit/0e7dd5ec6fbe05aa9e0bb5775a9d0975f206a922), [`686a398`](https://github.com/atlassian-labs/atlaspack/commit/686a398faa1f9e19cbf9274add2c46e246bafba8)]:
180
+ - @atlaspack/core@2.24.1
181
+ - @atlaspack/plugin@2.14.31
182
+ - @atlaspack/utils@2.19.3
183
+ - @atlaspack/workers@2.14.31
184
+
185
+ ## 5.0.0
186
+
187
+ ### Patch Changes
188
+
189
+ - 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)]:
190
+ - @atlaspack/core@2.24.0
191
+ - @atlaspack/utils@2.19.2
192
+ - @atlaspack/plugin@2.14.30
193
+ - @atlaspack/workers@2.14.30
194
+
195
+ ## 4.0.5
196
+
197
+ ### Patch Changes
198
+
199
+ - Updated dependencies []:
200
+ - @atlaspack/core@2.23.5
201
+ - @atlaspack/utils@2.19.1
202
+ - @atlaspack/plugin@2.14.29
203
+ - @atlaspack/workers@2.14.29
204
+
205
+ ## 4.0.4
206
+
207
+ ### Patch Changes
208
+
209
+ - Updated dependencies [[`f0349a6`](https://github.com/atlassian-labs/atlaspack/commit/f0349a6b9b04755088f121095ca6301a2ada3767)]:
210
+ - @atlaspack/utils@2.19.0
211
+ - @atlaspack/core@2.23.4
212
+ - @atlaspack/workers@2.14.28
213
+ - @atlaspack/plugin@2.14.28
214
+
215
+ ## 4.0.3
216
+
217
+ ### Patch Changes
218
+
219
+ - Updated dependencies []:
220
+ - @atlaspack/core@2.23.3
221
+ - @atlaspack/utils@2.18.4
222
+ - @atlaspack/plugin@2.14.27
223
+ - @atlaspack/workers@2.14.27
224
+
225
+ ## 4.0.2
226
+
227
+ ### Patch Changes
228
+
229
+ - [#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
230
+
231
+ - 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)]:
232
+ - @atlaspack/workers@2.14.26
233
+ - @atlaspack/plugin@2.14.26
234
+ - @atlaspack/utils@2.18.3
235
+ - @atlaspack/core@2.23.2
236
+
237
+ ## 4.0.1
238
+
239
+ ### Patch Changes
240
+
241
+ - Updated dependencies []:
242
+ - @atlaspack/core@2.23.1
243
+ - @atlaspack/utils@2.18.2
244
+ - @atlaspack/plugin@2.14.25
245
+ - @atlaspack/workers@2.14.25
246
+
247
+ ## 4.0.0
248
+
249
+ ### Patch Changes
250
+
251
+ - Updated dependencies [[`7f5841c`](https://github.com/atlassian-labs/atlaspack/commit/7f5841c39df049f9546cccbeea2a7337e0337b45)]:
252
+ - @atlaspack/core@2.23.0
253
+ - @atlaspack/utils@2.18.1
254
+ - @atlaspack/plugin@2.14.24
255
+ - @atlaspack/workers@2.14.24
256
+
257
+ ## 3.1.23
258
+
259
+ ### Patch Changes
260
+
261
+ - Updated dependencies [[`23d561e`](https://github.com/atlassian-labs/atlaspack/commit/23d561e51e68b0c38fd1ff4e4fb173e5e7b01cf2)]:
262
+ - @atlaspack/utils@2.18.0
263
+ - @atlaspack/workers@2.14.23
264
+ - @atlaspack/plugin@2.14.23
265
+
266
+ ## 3.1.22
267
+
268
+ ### Patch Changes
269
+
270
+ - [#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
271
+
272
+ - Updated dependencies [[`d2fd849`](https://github.com/atlassian-labs/atlaspack/commit/d2fd849770fe6305e9c694bd97b1bd905abd9d94)]:
273
+ - @atlaspack/workers@2.14.22
274
+ - @atlaspack/plugin@2.14.22
275
+ - @atlaspack/utils@2.17.4
276
+
277
+ ## 3.1.21
278
+
279
+ ### Patch Changes
280
+
281
+ - Updated dependencies []:
282
+ - @atlaspack/workers@2.14.21
283
+ - @atlaspack/utils@2.17.3
284
+ - @atlaspack/plugin@2.14.21
285
+
286
+ ## 3.1.20
287
+
288
+ ### Patch Changes
289
+
290
+ - [#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
291
+
292
+ - Updated dependencies [[`daaa768`](https://github.com/atlassian-labs/atlaspack/commit/daaa7688786772d7e3713b71c5bba6b89ec704aa)]:
293
+ - @atlaspack/plugin@2.14.20
294
+ - @atlaspack/utils@2.17.2
295
+ - @atlaspack/workers@2.14.20
296
+
297
+ ## 3.1.19
298
+
299
+ ### Patch Changes
300
+
301
+ - Updated dependencies []:
302
+ - @atlaspack/utils@2.17.1
303
+ - @atlaspack/workers@2.14.19
304
+ - @atlaspack/plugin@2.14.19
305
+
306
+ ## 3.1.18
307
+
308
+ ### Patch Changes
309
+
310
+ - 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)]:
311
+ - @atlaspack/utils@2.17.0
312
+ - @atlaspack/workers@2.14.18
313
+ - @atlaspack/plugin@2.14.18
314
+
315
+ ## 3.1.17
316
+
317
+ ### Patch Changes
318
+
319
+ - Updated dependencies []:
320
+ - @atlaspack/utils@2.16.1
321
+ - @atlaspack/workers@2.14.17
322
+ - @atlaspack/plugin@2.14.17
323
+
324
+ ## 3.1.16
325
+
326
+ ### Patch Changes
327
+
328
+ - Updated dependencies [[`30ee2cf`](https://github.com/atlassian-labs/atlaspack/commit/30ee2cfcd34cf2646ded0eda13fdb80a2a5de529)]:
329
+ - @atlaspack/utils@2.16.0
330
+ - @atlaspack/workers@2.14.16
331
+ - @atlaspack/plugin@2.14.16
332
+
333
+ ## 3.1.15
334
+
335
+ ### Patch Changes
336
+
337
+ - Updated dependencies []:
338
+ - @atlaspack/utils@2.15.3
339
+ - @atlaspack/workers@2.14.15
340
+ - @atlaspack/plugin@2.14.15
341
+
342
+ ## 3.1.14
343
+
344
+ ### Patch Changes
345
+
346
+ - Updated dependencies []:
347
+ - @atlaspack/utils@2.15.2
348
+ - @atlaspack/workers@2.14.14
349
+ - @atlaspack/plugin@2.14.14
350
+
351
+ ## 3.1.13
352
+
353
+ ### Patch Changes
354
+
355
+ - Updated dependencies [[`ef3d622`](https://github.com/atlassian-labs/atlaspack/commit/ef3d6228f4e006702198a19c61e051d194d325cb)]:
356
+ - @atlaspack/workers@2.14.13
357
+ - @atlaspack/utils@2.15.1
358
+ - @atlaspack/plugin@2.14.13
359
+
360
+ ## 3.1.12
361
+
362
+ ### Patch Changes
363
+
364
+ - Updated dependencies [[`e39c6cf`](https://github.com/atlassian-labs/atlaspack/commit/e39c6cf05f7e95ce5420dbcea66f401b1cbd397c)]:
365
+ - @atlaspack/utils@2.15.0
366
+ - @atlaspack/workers@2.14.12
367
+ - @atlaspack/plugin@2.14.12
368
+
369
+ ## 3.1.11
370
+
371
+ ### Patch Changes
372
+
373
+ - Updated dependencies []:
374
+ - @atlaspack/utils@2.14.11
375
+ - @atlaspack/workers@2.14.11
376
+ - @atlaspack/plugin@2.14.11
377
+
378
+ ## 3.1.10
379
+
380
+ ### Patch Changes
381
+
382
+ - Updated dependencies []:
383
+ - @atlaspack/workers@2.14.10
384
+ - @atlaspack/plugin@2.14.10
385
+ - @atlaspack/utils@2.14.10
386
+
387
+ ## 3.1.9
388
+
389
+ ### Patch Changes
390
+
391
+ - Updated dependencies []:
392
+ - @atlaspack/utils@2.14.9
393
+ - @atlaspack/workers@2.14.9
394
+ - @atlaspack/plugin@2.14.9
395
+
3
396
  ## 3.1.8
4
397
 
5
398
  ### 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
+ };