@atlaspack/transformer-image 3.1.5-canary.33 → 3.1.5-canary.331

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