@expo/image-utils 0.3.22 → 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/README.md +0 -8
- package/build/Cache.js +2 -2
- package/build/Cache.js.map +1 -1
- package/build/Download.js.map +1 -1
- package/build/Ico.js +1 -1
- package/build/Ico.js.map +1 -1
- package/build/Image.d.ts +8 -0
- package/build/Image.js +15 -8
- package/build/Image.js.map +1 -1
- package/build/Image.types.d.ts +3 -3
- package/build/Image.types.js.map +1 -1
- package/build/env.d.ts +8 -0
- package/build/env.js +16 -0
- package/build/env.js.map +1 -0
- package/build/index.d.ts +2 -2
- package/build/index.js +2 -1
- package/build/index.js.map +1 -1
- package/build/jimp.d.ts +1 -1
- package/build/jimp.js +2 -2
- package/build/jimp.js.map +1 -1
- package/build/sharp.js +4 -5
- package/build/sharp.js.map +1 -1
- package/build/sharp.types.d.ts +7 -7
- package/build/sharp.types.js.map +1 -1
- package/package.json +20 -12
package/README.md
CHANGED
|
@@ -5,14 +5,6 @@
|
|
|
5
5
|
|
|
6
6
|
<p align="center">A library for image processing functionality in Expo CLI.</p>
|
|
7
7
|
|
|
8
|
-
<p align="center">
|
|
9
|
-
<img src="https://flat.badgen.net/packagephobia/install/@expo/image-utils">
|
|
10
|
-
|
|
11
|
-
<a href="https://www.npmjs.com/package/@expo/image-utils">
|
|
12
|
-
<img src="https://flat.badgen.net/npm/dw/@expo/image-utils" target="_blank" />
|
|
13
|
-
</a>
|
|
14
|
-
</p>
|
|
15
|
-
|
|
16
8
|
<!-- Body -->
|
|
17
9
|
|
|
18
10
|
It uses `sharp` for image processing if it's available through a global `sharp-cli` installation. Otherwise it uses `jimp`, a Node library with no native dependencies, and warns the user that they may want to install `sharp-cli` for faster image processing.
|
package/build/Cache.js
CHANGED
|
@@ -47,8 +47,8 @@ async function cacheImageAsync(fileName, buffer, cacheKey) {
|
|
|
47
47
|
try {
|
|
48
48
|
await (0, fs_extra_1.writeFile)((0, path_1.resolve)(cacheKeys[cacheKey], fileName), buffer);
|
|
49
49
|
}
|
|
50
|
-
catch (
|
|
51
|
-
console.warn(`Error caching image: "${fileName}". ${message}`);
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.warn(`Error caching image: "${fileName}". ${error.message}`);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
exports.cacheImageAsync = cacheImageAsync;
|
package/build/Cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../src/Cache.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,uCAA6F;AAC7F,+BAAqC;AAIrC,MAAM,cAAc,GAAG,mCAAmC,CAAC;AAE3D,MAAM,SAAS,GAA8B,EAAE,CAAC;AAEhD,kEAAkE;AAClE,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC;IACjF,OAAO,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,0DAA0D;AAC1D,SAAgB,cAAc,CAAC,UAAkB,EAAE,UAAoB;IACrE,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AAHD,wCAGC;AAEM,KAAK,UAAU,gCAAgC,CACpD,WAAmB,EACnB,IAAY,EACZ,IAAkB;IAElB,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;IAChG,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,EAAE;QAC5B,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;KAC/E;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAXD,4EAWC;AAEM,KAAK,UAAU,oBAAoB,CACxC,WAAmB,EACnB,IAAY,EACZ,QAAgB;IAEhB,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,IAAA,oBAAS,EAAC,WAAW,CAAC,CAAC;IAC7B,OAAO,WAAW,CAAC;AACrB,CAAC;AARD,oDAQC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,QAAgB;IAEhB,IAAI;QACF,OAAO,MAAM,IAAA,mBAAQ,EAAC,IAAA,cAAO,EAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;KAC/D;IAAC,MAAM;QACN,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AATD,wDASC;AAEM,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,MAAc,EACd,QAAgB;IAEhB,IAAI;QACF,MAAM,IAAA,oBAAS,EAAC,IAAA,cAAO,EAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;KACjE;IAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../src/Cache.ts"],"names":[],"mappings":"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"}
|
package/build/Download.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Download.js","sourceRoot":"","sources":["../src/Download.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,aAAa;AACb,gEAAgC;AAChC,4DAA+B;AAC/B,gDAAwB;AACxB,oDAA4B;AAC5B,kDAA8B;AAC9B,gDAAwB;AAExB,sCAAsC;AACtC,MAAM,mBAAmB,GAA2B,EAAE,CAAC;AAEvD,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAAC,GAAW;IACxD,IAAI,GAAG,IAAI,mBAAmB,EAAE;QAC9B,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;KACjC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAC1B,mBAAmB,CAAC,GAAG,CAAC,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;KACrD;SAAM;QACL,mBAAmB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;KAChC;IACD,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAVD,4DAUC;AAEM,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,MAAM,UAAU,GAAG,eAAS,CAAC,SAAS,EAAE,CAAC;IAEzC,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,GAAG,CAAC,CAAC;KACxE;IAED,yBAAyB;IACzB,MAAM,cAAc,GAAG,cAAI,CAAC,SAAS,CAAC,gBAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;IAErE,4EAA4E;IAC5E,MAAM,GAAG,GAAG,MAAM,sBAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC;IAC7C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC7B,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,kBAAE,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAvBD,sCAuBC"
|
|
1
|
+
{"version":3,"file":"Download.js","sourceRoot":"","sources":["../src/Download.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,aAAa;AACb,gEAAgC;AAChC,4DAA+B;AAC/B,gDAAwB;AACxB,oDAA4B;AAC5B,kDAA8B;AAC9B,gDAAwB;AAExB,sCAAsC;AACtC,MAAM,mBAAmB,GAA2B,EAAE,CAAC;AAEvD,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAAC,GAAW;IACxD,IAAI,GAAG,IAAI,mBAAmB,EAAE;QAC9B,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;KACjC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAC1B,mBAAmB,CAAC,GAAG,CAAC,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;KACrD;SAAM;QACL,mBAAmB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;KAChC;IACD,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAVD,4DAUC;AAEM,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,MAAM,UAAU,GAAG,eAAS,CAAC,SAAS,EAAE,CAAC;IAEzC,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,GAAG,CAAC,CAAC;KACxE;IAED,yBAAyB;IACzB,MAAM,cAAc,GAAG,cAAI,CAAC,SAAS,CAAC,gBAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;IAErE,4EAA4E;IAC5E,MAAM,GAAG,GAAG,MAAM,sBAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC;IAC7C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC7B,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,kBAAE,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAvBD,sCAuBC"}
|
package/build/Ico.js
CHANGED
|
@@ -91,7 +91,7 @@ function generateFromPNGs(pngs) {
|
|
|
91
91
|
return Buffer.concat(arr, len);
|
|
92
92
|
}
|
|
93
93
|
async function generateAsync(buffers) {
|
|
94
|
-
const pngs = await Promise.all(buffers.map(x => (0, parse_png_1.default)(x)));
|
|
94
|
+
const pngs = await Promise.all(buffers.map((x) => (0, parse_png_1.default)(x)));
|
|
95
95
|
return generateFromPNGs(pngs);
|
|
96
96
|
}
|
|
97
97
|
exports.generateAsync = generateAsync;
|
package/build/Ico.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ico.js","sourceRoot":"","sources":["../src/Ico.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Ico.js","sourceRoot":"","sources":["../src/Ico.ts"],"names":[],"mappings":"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"}
|
package/build/Image.d.ts
CHANGED
|
@@ -22,3 +22,11 @@ export declare function compositeImagesAsync({ foreground, background, x, y, }:
|
|
|
22
22
|
x?: number;
|
|
23
23
|
y?: number;
|
|
24
24
|
}): Promise<Buffer>;
|
|
25
|
+
type PNGInfo = {
|
|
26
|
+
data: Buffer;
|
|
27
|
+
width: number;
|
|
28
|
+
height: number;
|
|
29
|
+
bpp: number;
|
|
30
|
+
};
|
|
31
|
+
export declare function getPngInfo(src: string): Promise<PNGInfo>;
|
|
32
|
+
export {};
|
package/build/Image.js
CHANGED
|
@@ -26,12 +26,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.compositeImagesAsync = exports.generateFaviconAsync = exports.generateImageAsync = void 0;
|
|
29
|
+
exports.getPngInfo = exports.compositeImagesAsync = exports.generateFaviconAsync = exports.generateImageAsync = void 0;
|
|
30
30
|
const chalk_1 = __importDefault(require("chalk"));
|
|
31
|
+
const fs_1 = __importDefault(require("fs"));
|
|
31
32
|
const mime_1 = __importDefault(require("mime"));
|
|
33
|
+
const parse_png_1 = __importDefault(require("parse-png"));
|
|
32
34
|
const Cache = __importStar(require("./Cache"));
|
|
33
35
|
const Download = __importStar(require("./Download"));
|
|
34
36
|
const Ico = __importStar(require("./Ico"));
|
|
37
|
+
const env_1 = require("./env");
|
|
35
38
|
const Jimp = __importStar(require("./jimp"));
|
|
36
39
|
const Sharp = __importStar(require("./sharp"));
|
|
37
40
|
const supportedMimeTypes = ['image/png', 'image/jpeg', 'image/webp', 'image/gif'];
|
|
@@ -61,8 +64,8 @@ async function resizeAsync(imageOptions) {
|
|
|
61
64
|
// TODO: support setting border radius with Jimp. Currently only support making the image a circle
|
|
62
65
|
await Jimp.circleAsync(jimp);
|
|
63
66
|
}
|
|
64
|
-
|
|
65
|
-
return
|
|
67
|
+
// Convert to png buffer
|
|
68
|
+
return jimp.getBufferAsync('image/png');
|
|
66
69
|
}
|
|
67
70
|
try {
|
|
68
71
|
let sharpBuffer = sharp(imageOptions.src)
|
|
@@ -92,15 +95,15 @@ async function resizeAsync(imageOptions) {
|
|
|
92
95
|
sharpBuffer.flatten();
|
|
93
96
|
}
|
|
94
97
|
if (imageOptions.borderRadius) {
|
|
95
|
-
const mask = Buffer.from(`<svg><rect x="0" y="0" width="${width}" height="${height}"
|
|
96
|
-
rx="${imageOptions.borderRadius}" ry="${imageOptions.borderRadius}"
|
|
98
|
+
const mask = Buffer.from(`<svg><rect x="0" y="0" width="${width}" height="${height}"
|
|
99
|
+
rx="${imageOptions.borderRadius}" ry="${imageOptions.borderRadius}"
|
|
97
100
|
fill="${backgroundColor && backgroundColor !== 'transparent' ? backgroundColor : 'none'}" /></svg>`);
|
|
98
101
|
sharpBuffer.composite([{ input: mask, blend: 'dest-in' }]);
|
|
99
102
|
}
|
|
100
103
|
return await sharpBuffer.png().toBuffer();
|
|
101
104
|
}
|
|
102
|
-
catch (
|
|
103
|
-
throw new Error(`It was not possible to generate splash screen '${imageOptions.src}'. ${message}`);
|
|
105
|
+
catch (error) {
|
|
106
|
+
throw new Error(`It was not possible to generate splash screen '${imageOptions.src}'. ${error.message}`);
|
|
104
107
|
}
|
|
105
108
|
}
|
|
106
109
|
async function getSharpAsync() {
|
|
@@ -116,7 +119,7 @@ function getDimensionsId(imageOptions) {
|
|
|
116
119
|
}
|
|
117
120
|
async function maybeWarnAboutInstallingSharpAsync() {
|
|
118
121
|
// Putting the warning here will prevent the warning from showing if all images were reused from the cache
|
|
119
|
-
if (!hasWarned && !(await Sharp.isAvailableAsync())) {
|
|
122
|
+
if (env_1.env.EXPO_IMAGE_UTILS_DEBUG && !hasWarned && !(await Sharp.isAvailableAsync())) {
|
|
120
123
|
hasWarned = true;
|
|
121
124
|
console.warn(chalk_1.default.yellow(`Using node to generate images. This is much slower than using native packages.\n\u203A Optionally you can stop the process and try again after successfully running \`npm install -g sharp-cli\`.\n`));
|
|
122
125
|
}
|
|
@@ -183,4 +186,8 @@ async function compositeImagesAsync({ foreground, background, x = 0, y = 0, }) {
|
|
|
183
186
|
.toBuffer();
|
|
184
187
|
}
|
|
185
188
|
exports.compositeImagesAsync = compositeImagesAsync;
|
|
189
|
+
async function getPngInfo(src) {
|
|
190
|
+
return await (0, parse_png_1.default)(fs_1.default.readFileSync(src));
|
|
191
|
+
}
|
|
192
|
+
exports.getPngInfo = getPngInfo;
|
|
186
193
|
//# sourceMappingURL=Image.js.map
|
package/build/Image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.js","sourceRoot":"","sources":["../src/Image.ts"],"names":[],"mappings":"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","sourcesContent":["import chalk from 'chalk';\nimport mime from 'mime';\n\nimport * as Cache from './Cache';\nimport * as Download from './Download';\nimport * as Ico from './Ico';\nimport { ImageOptions } from './Image.types';\nimport * as Jimp from './jimp';\nimport * as Sharp from './sharp';\n\nconst supportedMimeTypes = ['image/png', 'image/jpeg', 'image/webp', 'image/gif'];\n\nlet hasWarned: boolean = false;\n\nasync function resizeImagesAsync(buffer: Buffer, sizes: number[]): Promise<Buffer[]> {\n const sharp = await getSharpAsync();\n if (!sharp) {\n return Jimp.resizeBufferAsync(buffer, sizes);\n }\n return Sharp.resizeBufferAsync(buffer, sizes);\n}\n\nasync function resizeAsync(imageOptions: ImageOptions): Promise<Buffer> {\n const sharp: any = await getSharpAsync();\n const { width, height, backgroundColor, resizeMode } = imageOptions;\n if (!sharp) {\n const inputOptions: any = { input: imageOptions.src, quality: 100 };\n const jimp = await Jimp.resize(inputOptions, {\n width,\n height,\n fit: resizeMode,\n background: backgroundColor,\n });\n\n if (imageOptions.removeTransparency) {\n jimp.colorType(2);\n }\n if (imageOptions.borderRadius) {\n // TODO: support setting border radius with Jimp. Currently only support making the image a circle\n await Jimp.circleAsync(jimp);\n }\n\n const imgBuffer = await jimp.getBufferAsync(jimp.getMIME());\n return imgBuffer;\n }\n try {\n let sharpBuffer = sharp(imageOptions.src)\n .ensureAlpha()\n .resize(width, height, { fit: resizeMode, background: 'transparent' });\n\n // Skip an extra step if the background is explicitly transparent.\n if (backgroundColor && backgroundColor !== 'transparent') {\n // Add the background color to the image\n sharpBuffer = sharpBuffer.composite([\n {\n // create a background color\n input: {\n create: {\n width,\n height,\n // allow alpha colors\n channels: imageOptions.removeTransparency ? 3 : 4,\n background: backgroundColor,\n },\n },\n // dest-over makes the first image (input) appear on top of the created image (background color)\n blend: 'dest-over',\n },\n ]);\n } else if (imageOptions.removeTransparency) {\n sharpBuffer.flatten();\n }\n\n if (imageOptions.borderRadius) {\n const mask = Buffer.from(\n `<svg><rect x=\"0\" y=\"0\" width=\"${width}\" height=\"${height}\" \n rx=\"${imageOptions.borderRadius}\" ry=\"${imageOptions.borderRadius}\" \n fill=\"${\n backgroundColor && backgroundColor !== 'transparent' ? backgroundColor : 'none'\n }\" /></svg>`\n );\n\n sharpBuffer.composite([{ input: mask, blend: 'dest-in' }]);\n }\n\n return await sharpBuffer.png().toBuffer();\n } catch ({ message }) {\n throw new Error(\n `It was not possible to generate splash screen '${imageOptions.src}'. ${message}`\n );\n }\n}\n\nasync function getSharpAsync(): Promise<any> {\n let sharp: any;\n if (await Sharp.isAvailableAsync()) sharp = await Sharp.findSharpInstanceAsync();\n return sharp;\n}\n\nfunction getDimensionsId(imageOptions: Pick<ImageOptions, 'width' | 'height'>): string {\n return imageOptions.width === imageOptions.height\n ? `${imageOptions.width}`\n : `${imageOptions.width}x${imageOptions.height}`;\n}\n\nasync function maybeWarnAboutInstallingSharpAsync() {\n // Putting the warning here will prevent the warning from showing if all images were reused from the cache\n if (!hasWarned && !(await Sharp.isAvailableAsync())) {\n hasWarned = true;\n console.warn(\n chalk.yellow(\n `Using node to generate images. This is much slower than using native packages.\\n\\u203A Optionally you can stop the process and try again after successfully running \\`npm install -g sharp-cli\\`.\\n`\n )\n );\n }\n}\n\nasync function ensureImageOptionsAsync(imageOptions: ImageOptions): Promise<ImageOptions> {\n const icon = {\n ...imageOptions,\n src: await Download.downloadOrUseCachedImage(imageOptions.src),\n };\n\n // Default to contain\n if (!icon.resizeMode) {\n icon.resizeMode = 'contain';\n }\n\n const mimeType = mime.getType(icon.src);\n\n if (!mimeType) {\n throw new Error(`Invalid mimeType for image with source: ${icon.src}`);\n }\n if (!supportedMimeTypes.includes(mimeType)) {\n throw new Error(`Supplied image is not a supported image type: ${imageOptions.src}`);\n }\n\n if (!icon.name) {\n icon.name = `icon_${getDimensionsId(imageOptions)}.${mime.getExtension(mimeType)}`;\n }\n\n return icon;\n}\n\nexport async function generateImageAsync(\n options: { projectRoot: string; cacheType?: string },\n imageOptions: ImageOptions\n): Promise<{ source: Buffer; name: string }> {\n const icon = await ensureImageOptionsAsync(imageOptions);\n\n if (!options.cacheType) {\n await maybeWarnAboutInstallingSharpAsync();\n return { name: icon.name!, source: await resizeAsync(icon) };\n }\n\n const cacheKey = await Cache.createCacheKeyWithDirectoryAsync(\n options.projectRoot,\n options.cacheType,\n icon\n );\n\n const name = icon.name!;\n let source: Buffer | null = await Cache.getImageFromCacheAsync(name, cacheKey);\n\n if (!source) {\n await maybeWarnAboutInstallingSharpAsync();\n source = await resizeAsync(icon);\n await Cache.cacheImageAsync(name, source, cacheKey);\n }\n\n return { name, source };\n}\n\nexport async function generateFaviconAsync(\n pngImageBuffer: Buffer,\n sizes: number[] = [16, 32, 48]\n): Promise<Buffer> {\n const buffers = await resizeImagesAsync(pngImageBuffer, sizes);\n return await Ico.generateAsync(buffers);\n}\n\n/**\n * Layers the provided foreground image over the provided background image.\n *\n * @param foregroundImageBuffer\n * @param foregroundImageBuffer\n * @param x pixel offset from the left edge, defaults to 0.\n * @param y pixel offset from the top edge, defaults to 0.\n */\nexport async function compositeImagesAsync({\n foreground,\n background,\n x = 0,\n y = 0,\n}: {\n foreground: Buffer;\n background: Buffer;\n x?: number;\n y?: number;\n}): Promise<Buffer> {\n const sharp: any = await getSharpAsync();\n if (!sharp) {\n const image = (await Jimp.getJimpImageAsync(background)).composite(\n await Jimp.getJimpImageAsync(foreground),\n x,\n y\n );\n return await image.getBufferAsync(image.getMIME());\n }\n return await sharp(background)\n .composite([{ input: foreground, left: x, top: y }])\n .toBuffer();\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Image.js","sourceRoot":"","sources":["../src/Image.ts"],"names":[],"mappings":"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"}
|
package/build/Image.types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
1
|
+
export type ResizeMode = 'contain' | 'cover' | 'fill' | 'inside' | 'outside';
|
|
2
|
+
export type ImageFormat = 'input' | 'jpeg' | 'jpg' | 'png' | 'raw' | 'tiff' | 'webp';
|
|
3
|
+
export type ImageOptions = {
|
|
4
4
|
src: string;
|
|
5
5
|
name?: string;
|
|
6
6
|
resizeMode: ResizeMode;
|
package/build/Image.types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.types.js","sourceRoot":"","sources":["../src/Image.types.ts"],"names":[],"mappings":""
|
|
1
|
+
{"version":3,"file":"Image.types.js","sourceRoot":"","sources":["../src/Image.types.ts"],"names":[],"mappings":""}
|
package/build/env.d.ts
ADDED
package/build/env.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.env = void 0;
|
|
4
|
+
const getenv_1 = require("getenv");
|
|
5
|
+
class Env {
|
|
6
|
+
/** Enable image utils related debugging messages */
|
|
7
|
+
get EXPO_IMAGE_UTILS_DEBUG() {
|
|
8
|
+
return (0, getenv_1.boolish)('EXPO_IMAGE_UTILS_DEBUG', false);
|
|
9
|
+
}
|
|
10
|
+
/** Disable all Sharp related functionality. */
|
|
11
|
+
get EXPO_IMAGE_UTILS_NO_SHARP() {
|
|
12
|
+
return (0, getenv_1.boolish)('EXPO_IMAGE_UTILS_NO_SHARP', false);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.env = new Env();
|
|
16
|
+
//# sourceMappingURL=env.js.map
|
package/build/env.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AAEjC,MAAM,GAAG;IACP,oDAAoD;IACpD,IAAI,sBAAsB;QACxB,OAAO,IAAA,gBAAO,EAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,+CAA+C;IAC/C,IAAI,yBAAyB;QAC3B,OAAO,IAAA,gBAAO,EAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;CACF;AAEY,QAAA,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as Cache from './Cache';
|
|
3
|
-
import { compositeImagesAsync, generateFaviconAsync, generateImageAsync } from './Image';
|
|
3
|
+
import { compositeImagesAsync, generateFaviconAsync, generateImageAsync, getPngInfo } from './Image';
|
|
4
4
|
import { ImageFormat, ImageOptions, ResizeMode } from './Image.types';
|
|
5
5
|
import { jimpAsync } from './jimp';
|
|
6
6
|
import { findSharpInstanceAsync, isAvailableAsync, sharpAsync } from './sharp';
|
|
7
7
|
import { SharpCommandOptions, SharpGlobalOptions } from './sharp.types';
|
|
8
8
|
export declare function imageAsync(options: SharpGlobalOptions, commands?: SharpCommandOptions[]): Promise<Buffer | string[]>;
|
|
9
|
-
export { jimpAsync, findSharpInstanceAsync, isAvailableAsync, sharpAsync, generateImageAsync, generateFaviconAsync, Cache, compositeImagesAsync, };
|
|
9
|
+
export { jimpAsync, findSharpInstanceAsync, isAvailableAsync, sharpAsync, generateImageAsync, generateFaviconAsync, Cache, compositeImagesAsync, getPngInfo, };
|
|
10
10
|
export { SharpGlobalOptions, SharpCommandOptions, ResizeMode, ImageFormat, ImageOptions };
|
package/build/index.js
CHANGED
|
@@ -23,13 +23,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.compositeImagesAsync = exports.Cache = exports.generateFaviconAsync = exports.generateImageAsync = exports.sharpAsync = exports.isAvailableAsync = exports.findSharpInstanceAsync = exports.jimpAsync = exports.imageAsync = void 0;
|
|
26
|
+
exports.getPngInfo = exports.compositeImagesAsync = exports.Cache = exports.generateFaviconAsync = exports.generateImageAsync = exports.sharpAsync = exports.isAvailableAsync = exports.findSharpInstanceAsync = exports.jimpAsync = exports.imageAsync = void 0;
|
|
27
27
|
const Cache = __importStar(require("./Cache"));
|
|
28
28
|
exports.Cache = Cache;
|
|
29
29
|
const Image_1 = require("./Image");
|
|
30
30
|
Object.defineProperty(exports, "compositeImagesAsync", { enumerable: true, get: function () { return Image_1.compositeImagesAsync; } });
|
|
31
31
|
Object.defineProperty(exports, "generateFaviconAsync", { enumerable: true, get: function () { return Image_1.generateFaviconAsync; } });
|
|
32
32
|
Object.defineProperty(exports, "generateImageAsync", { enumerable: true, get: function () { return Image_1.generateImageAsync; } });
|
|
33
|
+
Object.defineProperty(exports, "getPngInfo", { enumerable: true, get: function () { return Image_1.getPngInfo; } });
|
|
33
34
|
const jimp_1 = require("./jimp");
|
|
34
35
|
Object.defineProperty(exports, "jimpAsync", { enumerable: true, get: function () { return jimp_1.jimpAsync; } });
|
|
35
36
|
const sharp_1 = require("./sharp");
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAgC/B,sBAAK;AA/BP,mCAKiB;AA2Bf,qGA/BA,4BAAoB,OA+BA;AAFpB,qGA5BA,4BAAoB,OA4BA;AADpB,mGA1BA,0BAAkB,OA0BA;AAIlB,2FA7BA,kBAAU,OA6BA;AA1BZ,iCAAkD;AAkBhD,0FAlBsB,gBAAS,OAkBtB;AAjBX,mCAA+E;AAkB7E,uGAlBO,8BAAsB,OAkBP;AACtB,iGAnB+B,wBAAgB,OAmB/B;AAChB,2FApBiD,kBAAU,OAoBjD;AAjBL,KAAK,UAAU,UAAU,CAC9B,OAA2B,EAC3B,WAAkC,EAAE;IAEpC,IAAI,MAAM,IAAA,wBAAgB,GAAE,EAAE;QAC5B,OAAO,IAAA,kBAAU,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KACtC;IACD,OAAO,IAAA,gBAAS,EACd,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAA,oBAAa,EAAC,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,EACnF,QAAQ,CACT,CAAC;AACJ,CAAC;AAXD,gCAWC"}
|
package/build/jimp.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import Jimp from 'jimp-compact';
|
|
3
3
|
import { ResizeOptions, SharpCommandOptions, SharpGlobalOptions } from './sharp.types';
|
|
4
|
-
|
|
4
|
+
type JimpGlobalOptions = Omit<SharpGlobalOptions, 'input'> & {
|
|
5
5
|
input: string | Buffer | Jimp;
|
|
6
6
|
originalInput: string;
|
|
7
7
|
};
|
package/build/jimp.js
CHANGED
|
@@ -44,7 +44,7 @@ exports.resizeBufferAsync = resizeBufferAsync;
|
|
|
44
44
|
function convertFormat(format) {
|
|
45
45
|
if (typeof format === 'undefined')
|
|
46
46
|
return format;
|
|
47
|
-
const input = format
|
|
47
|
+
const input = format?.toLowerCase();
|
|
48
48
|
switch (input) {
|
|
49
49
|
case 'png':
|
|
50
50
|
case 'webp':
|
|
@@ -103,7 +103,7 @@ function circleAsync(jimp) {
|
|
|
103
103
|
x: jimp.bitmap.width / 2,
|
|
104
104
|
y: jimp.bitmap.height / 2,
|
|
105
105
|
};
|
|
106
|
-
return new Promise(resolve => {
|
|
106
|
+
return new Promise((resolve) => {
|
|
107
107
|
jimp.scanQuiet(0, 0, jimp.bitmap.width, jimp.bitmap.height, (x, y, idx) => {
|
|
108
108
|
const curR = Math.sqrt(Math.pow(x - center.x, 2) + Math.pow(y - center.y, 2));
|
|
109
109
|
if (radius - curR <= 0.0) {
|
package/build/jimp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jimp.js","sourceRoot":"","sources":["../src/jimp.ts"],"names":[],"mappings":"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","sourcesContent":["import fs from 'fs-extra';\n// @ts-ignore\nimport Jimp from 'jimp-compact';\nimport * as path from 'path';\n\nimport {\n FlattenOptions,\n Position,\n ResizeOptions,\n SharpCommandOptions,\n SharpGlobalOptions,\n} from './sharp.types';\n\ntype JimpGlobalOptions = Omit<SharpGlobalOptions, 'input'> & {\n input: string | Buffer | Jimp;\n originalInput: string;\n};\n\nexport async function resizeBufferAsync(buffer: Buffer, sizes: number[]): Promise<Buffer[]> {\n return Promise.all(\n sizes.map(async size => {\n // Parse the buffer each time to prevent mutable copies.\n // Parse the buffer each time to prevent mutable copies.\n const jimpImage = await Jimp.read(buffer);\n const mime = jimpImage.getMIME();\n\n return jimpImage.resize(size, size).getBufferAsync(mime);\n })\n );\n}\n\nexport function convertFormat(format?: string): string | undefined {\n if (typeof format === 'undefined') return format;\n\n const input = format?.toLowerCase();\n switch (input) {\n case 'png':\n case 'webp':\n case 'jpeg':\n return `image/${input}`;\n case 'jpg':\n return `image/jpeg`;\n }\n return undefined;\n}\n\nexport async function jimpAsync(\n options: JimpGlobalOptions,\n commands: SharpCommandOptions[] = []\n): Promise<Buffer> {\n if (commands.length) {\n const command = commands.shift();\n if (command) {\n let input: Jimp;\n if (command.operation === 'resize') {\n input = await resize(options, command);\n } else if (command.operation === 'flatten') {\n input = await flatten(options, command);\n } else {\n throw new Error(`The operation: '${command.operation}' is not supported with Jimp`);\n }\n // @ts-ignore\n return jimpAsync({ ...options, input }, commands);\n }\n }\n\n const image = await getJimpImageAsync(options.input);\n const mime = typeof options.format === 'string' ? options.format : image.getMIME();\n const imgBuffer = await image.getBufferAsync(mime);\n\n if (typeof options.output === 'string') {\n if (await isFolderAsync(options.output)) {\n await fs.writeFile(\n path.join(options.output, path.basename(options.originalInput)),\n imgBuffer\n );\n } else {\n await fs.writeFile(options.output, imgBuffer);\n }\n }\n return imgBuffer;\n}\n\nexport async function isFolderAsync(path: string): Promise<boolean> {\n try {\n return (await fs.stat(path)).isDirectory();\n } catch {\n return false;\n }\n}\n\nexport function circleAsync(jimp: Jimp): Promise<Jimp> {\n const radius = Math.min(jimp.bitmap.width, jimp.bitmap.height) / 2;\n\n const center = {\n x: jimp.bitmap.width / 2,\n y: jimp.bitmap.height / 2,\n };\n\n return new Promise(resolve => {\n jimp.scanQuiet(\n 0,\n 0,\n jimp.bitmap.width,\n jimp.bitmap.height,\n (x: number, y: number, idx: number) => {\n const curR = Math.sqrt(Math.pow(x - center.x, 2) + Math.pow(y - center.y, 2));\n\n if (radius - curR <= 0.0) {\n jimp.bitmap.data[idx + 3] = 0;\n } else if (radius - curR < 1.0) {\n jimp.bitmap.data[idx + 3] = 255 * (radius - curR);\n }\n resolve(jimp);\n }\n );\n });\n}\n\nexport async function getJimpImageAsync(input: string | Buffer | Jimp): Promise<Jimp> {\n // @ts-ignore: Jimp types are broken\n if (typeof input === 'string' || input instanceof Buffer) return await Jimp.read(input);\n\n return input;\n}\n\nexport async function resize(\n { input, quality = 100 }: JimpGlobalOptions,\n { background, position, fit, width, height }: Omit<ResizeOptions, 'operation'>\n): Promise<Jimp> {\n let initialImage = await getJimpImageAsync(input);\n\n if (width && !height) {\n height = Jimp.AUTO;\n } else if (!width && height) {\n width = Jimp.AUTO;\n } else if (!width && !height) {\n width = initialImage.bitmap.width;\n height = initialImage.bitmap.height;\n }\n\n const jimpPosition = convertPosition(position);\n const jimpQuality = typeof quality !== 'number' ? 100 : quality;\n if (fit === 'cover') {\n initialImage = initialImage.cover(width, height, jimpPosition);\n } else if (fit === 'contain') {\n initialImage = initialImage.contain(width, height, jimpPosition);\n } else {\n throw new Error(\n `Unsupported fit: ${fit}. Please choose either 'cover', or 'contain' when using Jimp`\n );\n }\n if (background) {\n initialImage = initialImage.composite(new Jimp(width, height, background), 0, 0, {\n mode: Jimp.BLEND_DESTINATION_OVER,\n opacitySource: 1,\n opacityDest: 1,\n });\n }\n\n return await initialImage.quality(jimpQuality);\n}\n\nasync function flatten(\n { input, quality = 100 }: JimpGlobalOptions,\n { background }: Omit<FlattenOptions, 'operation'>\n): Promise<Jimp> {\n const initialImage = await getJimpImageAsync(input);\n const jimpQuality = typeof quality !== 'number' ? 100 : quality;\n return initialImage.quality(jimpQuality).background(Jimp.cssColorToHex(background));\n}\n\n/**\n * Convert sharp position to Jimp position.\n *\n * @param position\n */\nfunction convertPosition(position?: Position): number {\n if (!position) return convertPosition('center');\n\n switch (position) {\n case 'center':\n case 'centre':\n return Jimp.VERTICAL_ALIGN_MIDDLE | Jimp.HORIZONTAL_ALIGN_CENTER;\n case 'north':\n case 'top':\n return Jimp.VERTICAL_ALIGN_TOP | Jimp.HORIZONTAL_ALIGN_CENTER;\n case 'east':\n case 'right':\n return Jimp.VERTICAL_ALIGN_MIDDLE | Jimp.HORIZONTAL_ALIGN_RIGHT;\n case 'south':\n case 'bottom':\n return Jimp.VERTICAL_ALIGN_BOTTOM | Jimp.HORIZONTAL_ALIGN_CENTER;\n case 'west':\n case 'left':\n return Jimp.VERTICAL_ALIGN_MIDDLE | Jimp.HORIZONTAL_ALIGN_LEFT;\n case 'northeast':\n case 'right top':\n return Jimp.VERTICAL_ALIGN_TOP | Jimp.HORIZONTAL_ALIGN_RIGHT;\n case 'southeast':\n case 'right bottom':\n return Jimp.VERTICAL_ALIGN_BOTTOM | Jimp.HORIZONTAL_ALIGN_RIGHT;\n case 'southwest':\n case 'left bottom':\n return Jimp.VERTICAL_ALIGN_BOTTOM | Jimp.HORIZONTAL_ALIGN_LEFT;\n case 'northwest':\n case 'left top':\n return Jimp.VERTICAL_ALIGN_TOP | Jimp.HORIZONTAL_ALIGN_LEFT;\n case 'entropy':\n case 'attention':\n throw new Error(`Position: '${position}' is not supported`);\n default:\n throw new Error(`Unknown position: '${position}'`);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"jimp.js","sourceRoot":"","sources":["../src/jimp.ts"],"names":[],"mappings":"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"}
|
package/build/sharp.js
CHANGED
|
@@ -5,17 +5,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.findSharpInstanceAsync = exports.sharpAsync = exports.isAvailableAsync = exports.resizeBufferAsync = void 0;
|
|
7
7
|
const spawn_async_1 = __importDefault(require("@expo/spawn-async"));
|
|
8
|
-
const getenv_1 = require("getenv");
|
|
9
8
|
const path_1 = __importDefault(require("path"));
|
|
10
9
|
const resolve_from_1 = __importDefault(require("resolve-from"));
|
|
11
10
|
const semver_1 = __importDefault(require("semver"));
|
|
11
|
+
const env_1 = require("./env");
|
|
12
12
|
const SHARP_HELP_PATTERN = /\n\nSpecify --help for available options/g;
|
|
13
13
|
const SHARP_REQUIRED_VERSION = '^2.1.0';
|
|
14
14
|
async function resizeBufferAsync(buffer, sizes) {
|
|
15
15
|
const sharp = await findSharpInstanceAsync();
|
|
16
16
|
const metadata = await sharp(buffer).metadata();
|
|
17
17
|
// Create buffer for each size
|
|
18
|
-
const resizedBuffers = await Promise.all(sizes.map(dimension => {
|
|
18
|
+
const resizedBuffers = await Promise.all(sizes.map((dimension) => {
|
|
19
19
|
const density = (dimension / Math.max(metadata.width, metadata.height)) * metadata.density;
|
|
20
20
|
return sharp(buffer, {
|
|
21
21
|
density: isNaN(density) ? undefined : Math.ceil(density),
|
|
@@ -26,13 +26,12 @@ async function resizeBufferAsync(buffer, sizes) {
|
|
|
26
26
|
return resizedBuffers;
|
|
27
27
|
}
|
|
28
28
|
exports.resizeBufferAsync = resizeBufferAsync;
|
|
29
|
-
const isSharpDisabled = (0, getenv_1.boolish)('EXPO_IMAGE_UTILS_NO_SHARP', false);
|
|
30
29
|
/**
|
|
31
30
|
* Returns `true` if a global sharp instance can be found.
|
|
32
31
|
* This functionality can be overridden with `process.env.EXPO_IMAGE_UTILS_NO_SHARP=1`.
|
|
33
32
|
*/
|
|
34
33
|
async function isAvailableAsync() {
|
|
35
|
-
if (
|
|
34
|
+
if (env_1.env.EXPO_IMAGE_UTILS_NO_SHARP) {
|
|
36
35
|
return false;
|
|
37
36
|
}
|
|
38
37
|
try {
|
|
@@ -136,7 +135,7 @@ async function findSharpBinAsync() {
|
|
|
136
135
|
* This method will throw errors if the `sharp` instance cannot be found, these errors can be circumvented by ensuring `isAvailableAsync()` resolves to `true`.
|
|
137
136
|
*/
|
|
138
137
|
async function findSharpInstanceAsync() {
|
|
139
|
-
if (
|
|
138
|
+
if (env_1.env.EXPO_IMAGE_UTILS_NO_SHARP) {
|
|
140
139
|
throw new Error('Global instance of sharp-cli cannot be retrieved because sharp-cli has been disabled with the environment variable `EXPO_IMAGE_UTILS_NO_SHARP`');
|
|
141
140
|
}
|
|
142
141
|
if (_sharpInstance) {
|
package/build/sharp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharp.js","sourceRoot":"","sources":["../src/sharp.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA2C;AAC3C,mCAAiC;AACjC,gDAAwB;AACxB,gEAAuC;AACvC,oDAA4B;AAI5B,MAAM,kBAAkB,GAAG,2CAA2C,CAAC;AACvE,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAEjC,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,KAAe;IACrE,MAAM,KAAK,GAAG,MAAM,sBAAsB,EAAE,CAAC;IAE7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChD,8BAA8B;IAC9B,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QACpB,MAAM,OAAO,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC3F,OAAO,KAAK,CAAC,MAAM,EAAE;YACnB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;SACzD,CAAC;aACC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;aAC3E,QAAQ,EAAE,CAAC;IAChB,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,cAAc,CAAC;AACxB,CAAC;AAjBD,8CAiBC;AAED,MAAM,eAAe,GAAG,IAAA,gBAAO,EAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;AAEpE;;;GAGG;AACI,KAAK,UAAU,gBAAgB;IACpC,IAAI,eAAe,EAAE;QACnB,OAAO,KAAK,CAAC;KACd;IACD,IAAI;QACF,OAAO,CAAC,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC;KACtC;IAAC,MAAM;QACN,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AATD,4CASC;AAEM,KAAK,UAAU,UAAU,CAC9B,OAA2B,EAC3B,WAAkC,EAAE;IAEpC,MAAM,GAAG,GAAG,MAAM,iBAAiB,EAAE,CAAC;IACtC,IAAI;QACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAU,EAAC,GAAG,EAAE;YACvC,GAAG,UAAU,CAAC,OAAO,CAAC;YACtB,GAAG,iBAAiB,CAAC,QAAQ,CAAC;SAC/B,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,eAAe,CAAC;KACxB;IAAC,OAAO,KAAU,EAAE;QACnB,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,8CAA8C;gBAC5C,KAAK,CAAC,OAAO;gBACb,YAAY;gBACZ,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAC/C,CAAC;SACH;aAAM;YACL,MAAM,KAAK,CAAC;SACb;KACF;AACH,CAAC;AAxBD,gCAwBC;AAED,SAAS,UAAU,CAAC,OAAgB;IAClC,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAClD,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE;YACpC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;gBAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;aACvB;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBACpC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aACxC;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;aAC9B;SACF;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA+B;IACxD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE;YAClC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;SACpE;aAAM;YACL,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;SACnD;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,IAAI,SAAS,GAAkB,IAAI,CAAC;AACpC,IAAI,cAAc,GAAe,IAAI,CAAC;AAEtC,KAAK,UAAU,iBAAiB;IAC9B,IAAI,SAAS,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IACD,IAAI;QACF,MAAM,eAAe,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtD,IACE,eAAe;YACf,gBAAM,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,sBAAsB,CAAC;YACjE,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ;YAC7C,OAAO,cAAc,KAAK,QAAQ,EAClC;YACA,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YACtE,OAAO,SAAS,CAAC;SAClB;KACF;IAAC,MAAM;QACN,gCAAgC;KACjC;IAED,IAAI,mBAAmB,CAAC;IACxB,IAAI;QACF,mBAAmB,GAAG,CAAC,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;KAC3F;IAAC,MAAM;QACN,MAAM,aAAa,CAAC,sBAAsB,CAAC,CAAC;KAC7C;IAED,IAAI,CAAC,gBAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,EAAE;QAClE,0BAA0B,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;KACzE;IACD,SAAS,GAAG,OAAO,CAAC;IACpB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,sBAAsB;IAC1C,IAAI,eAAe,EAAE;QACnB,MAAM,IAAI,KAAK,CACb,gJAAgJ,CACjJ,CAAC;KACH;IACD,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IACD,sCAAsC;IACtC,MAAM,iBAAiB,EAAE,CAAC;IAE1B,qCAAqC;IACrC,IAAI;QACF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,cAAc,GAAG,KAAK,CAAC;QACvB,OAAO,KAAK,CAAC;KACd;IAAC,MAAM,GAAE;IAEV,+DAA+D;IAC/D,IAAI,YAAY,CAAC;IACjB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,IAAI;YACF,YAAY,GAAG,CAAC,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;SAChF;QAAC,MAAM,GAAE;KACX;SAAM;QACL,qGAAqG;QACrG,2FAA2F;QAC3F,oDAAoD;QACpD,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI;YACF,cAAc,GAAG,cAAI,CAAC,IAAI,CACxB,CAAC,MAAM,IAAA,qBAAU,EAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EACtE,cAAc,CACf,CAAC;SACH;QAAC,MAAM,GAAE;QACV,IAAI;YACF,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE;gBACvD,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;aACzE,CAAC,CAAC;SACJ;QAAC,MAAM,GAAE;KACX;IAED,2CAA2C;IAC3C,MAAM,SAAS,GAAG,sBAAW,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAElE,IAAI,SAAS,EAAE;QACb,IAAI;YACF,8CAA8C;YAC9C,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;SACrC;QAAC,MAAM,GAAE;KACX;IAED,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;KAC/F;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AA1DD,wDA0DC;AAED,SAAS,aAAa,CAAC,kBAA0B;IAC/C,OAAO,IAAI,KAAK,CACd,iCAAiC,kBAAkB,uBAAuB;QACxE,uDAAuD,kBAAkB,QAAQ;QACjF,IAAI;QACJ,kFAAkF,CACrF,CAAC;AACJ,CAAC;AAED,IAAI,2BAA2B,GAAG,KAAK,CAAC;AAExC,SAAS,0BAA0B,CAAC,kBAA0B,EAAE,mBAA2B;IACzF,IAAI,2BAA2B,EAAE;QAC/B,OAAO;KACR;IACD,OAAO,CAAC,IAAI,CACV,0CAA0C,kBAAkB,uBAAuB;QACjF,iCAAiC,mBAAmB,MAAM;QAC1D,sBAAsB,kBAAkB,MAAM;QAC9C,uDAAuD,kBAAkB,QAAQ;QACjF,IAAI;QACJ,kFAAkF,CACrF,CAAC;IACF,2BAA2B,GAAG,IAAI,CAAC;AACrC,CAAC","sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport { boolish } from 'getenv';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\nimport semver from 'semver';\n\nimport { Options, SharpCommandOptions, SharpGlobalOptions } from './sharp.types';\n\nconst SHARP_HELP_PATTERN = /\\n\\nSpecify --help for available options/g;\nconst SHARP_REQUIRED_VERSION = '^2.1.0';\n\nexport async function resizeBufferAsync(buffer: Buffer, sizes: number[]): Promise<Buffer[]> {\n const sharp = await findSharpInstanceAsync();\n\n const metadata = await sharp(buffer).metadata();\n // Create buffer for each size\n const resizedBuffers = await Promise.all(\n sizes.map(dimension => {\n const density = (dimension / Math.max(metadata.width, metadata.height)) * metadata.density;\n return sharp(buffer, {\n density: isNaN(density) ? undefined : Math.ceil(density),\n })\n .resize(dimension, dimension, { fit: 'contain', background: 'transparent' })\n .toBuffer();\n })\n );\n\n return resizedBuffers;\n}\n\nconst isSharpDisabled = boolish('EXPO_IMAGE_UTILS_NO_SHARP', false);\n\n/**\n * Returns `true` if a global sharp instance can be found.\n * This functionality can be overridden with `process.env.EXPO_IMAGE_UTILS_NO_SHARP=1`.\n */\nexport async function isAvailableAsync(): Promise<boolean> {\n if (isSharpDisabled) {\n return false;\n }\n try {\n return !!(await findSharpBinAsync());\n } catch {\n return false;\n }\n}\n\nexport async function sharpAsync(\n options: SharpGlobalOptions,\n commands: SharpCommandOptions[] = []\n): Promise<string[]> {\n const bin = await findSharpBinAsync();\n try {\n const { stdout } = await spawnAsync(bin, [\n ...getOptions(options),\n ...getCommandOptions(commands),\n ]);\n const outputFilePaths = stdout.trim().split('\\n');\n return outputFilePaths;\n } catch (error: any) {\n if (error.stderr) {\n throw new Error(\n '\\nProcessing images using sharp-cli failed: ' +\n error.message +\n '\\nOutput: ' +\n error.stderr.replace(SHARP_HELP_PATTERN, '')\n );\n } else {\n throw error;\n }\n }\n}\n\nfunction getOptions(options: Options): string[] {\n const args = [];\n for (const [key, value] of Object.entries(options)) {\n if (value != null && value !== false) {\n if (typeof value === 'boolean') {\n args.push(`--${key}`);\n } else if (typeof value === 'number') {\n args.push(`--${key}`, value.toFixed());\n } else {\n args.push(`--${key}`, value);\n }\n }\n }\n return args;\n}\n\nfunction getCommandOptions(commands: SharpCommandOptions[]): string[] {\n const args: string[] = [];\n for (const command of commands) {\n if (command.operation === 'resize') {\n const { operation, width, ...namedOptions } = command;\n args.push(operation, width.toFixed(), ...getOptions(namedOptions));\n } else {\n const { operation, ...namedOptions } = command;\n args.push(operation, ...getOptions(namedOptions));\n }\n args.push('--');\n }\n return args;\n}\n\nlet _sharpBin: string | null = null;\nlet _sharpInstance: any | null = null;\n\nasync function findSharpBinAsync(): Promise<string> {\n if (_sharpBin) {\n return _sharpBin;\n }\n try {\n const sharpCliPackage = require('sharp-cli/package.json');\n const libVipsVersion = require('sharp').versions.vips;\n if (\n sharpCliPackage &&\n semver.satisfies(sharpCliPackage.version, SHARP_REQUIRED_VERSION) &&\n typeof sharpCliPackage.bin.sharp === 'string' &&\n typeof libVipsVersion === 'string'\n ) {\n _sharpBin = require.resolve(`sharp-cli/${sharpCliPackage.bin.sharp}`);\n return _sharpBin;\n }\n } catch {\n // fall back to global sharp-cli\n }\n\n let installedCliVersion;\n try {\n installedCliVersion = (await spawnAsync('sharp', ['--version'])).stdout.toString().trim();\n } catch {\n throw notFoundError(SHARP_REQUIRED_VERSION);\n }\n\n if (!semver.satisfies(installedCliVersion, SHARP_REQUIRED_VERSION)) {\n showVersionMismatchWarning(SHARP_REQUIRED_VERSION, installedCliVersion);\n }\n _sharpBin = 'sharp';\n return _sharpBin;\n}\n\n/**\n * Returns the instance of `sharp` installed by the global `sharp-cli` package.\n * This method will throw errors if the `sharp` instance cannot be found, these errors can be circumvented by ensuring `isAvailableAsync()` resolves to `true`.\n */\nexport async function findSharpInstanceAsync(): Promise<any | null> {\n if (isSharpDisabled) {\n throw new Error(\n 'Global instance of sharp-cli cannot be retrieved because sharp-cli has been disabled with the environment variable `EXPO_IMAGE_UTILS_NO_SHARP`'\n );\n }\n if (_sharpInstance) {\n return _sharpInstance;\n }\n // Ensure sharp-cli version is correct\n await findSharpBinAsync();\n\n // Attempt to use local sharp package\n try {\n const sharp = require('sharp');\n _sharpInstance = sharp;\n return sharp;\n } catch {}\n\n // Attempt to resolve the sharp instance used by the global CLI\n let sharpCliPath;\n if (process.platform !== 'win32') {\n try {\n sharpCliPath = (await spawnAsync('which', ['sharp'])).stdout.toString().trim();\n } catch {}\n } else {\n // On Windows systems, nested dependencies aren't linked to the paths within `require.resolve.paths`.\n // Yarn installs these modules in a different folder, let's add yarn to the other attempts.\n // See: https://github.com/expo/expo-cli/issues/2708\n let yarnGlobalPath = '';\n try {\n yarnGlobalPath = path.join(\n (await spawnAsync('yarn', ['global', 'dir'])).stdout.toString().trim(),\n 'node_modules'\n );\n } catch {}\n try {\n sharpCliPath = require.resolve('sharp-cli/package.json', {\n paths: (require.resolve.paths('sharp-cli') || []).concat(yarnGlobalPath),\n });\n } catch {}\n }\n\n // resolve sharp from the sharp-cli package\n const sharpPath = resolveFrom.silent(sharpCliPath || '', 'sharp');\n\n if (sharpPath) {\n try {\n // attempt to require the global sharp package\n _sharpInstance = require(sharpPath);\n } catch {}\n }\n\n if (!_sharpInstance) {\n throw new Error(`Failed to find the instance of sharp used by the global sharp-cli package.`);\n }\n\n return _sharpInstance;\n}\n\nfunction notFoundError(requiredCliVersion: string): Error {\n return new Error(\n `This command requires version ${requiredCliVersion} of \\`sharp-cli\\`. \\n` +\n `You can install it using \\`npm install -g sharp-cli@${requiredCliVersion}\\`. \\n` +\n '\\n' +\n 'For prerequisites, see: https://sharp.dimens.io/en/stable/install/#prerequisites'\n );\n}\n\nlet versionMismatchWarningShown = false;\n\nfunction showVersionMismatchWarning(requiredCliVersion: string, installedCliVersion: string) {\n if (versionMismatchWarningShown) {\n return;\n }\n console.warn(\n `Warning: This command requires version ${requiredCliVersion} of \\`sharp-cli\\`. \\n` +\n `Currently installed version: \"${installedCliVersion}\" \\n` +\n `Required version: \"${requiredCliVersion}\" \\n` +\n `You can install it using \\`npm install -g sharp-cli@${requiredCliVersion}\\`. \\n` +\n '\\n' +\n 'For prerequisites, see: https://sharp.dimens.io/en/stable/install/#prerequisites'\n );\n versionMismatchWarningShown = true;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"sharp.js","sourceRoot":"","sources":["../src/sharp.ts"],"names":[],"mappings":"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"}
|
package/build/sharp.types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ImageFormat, ResizeMode } from './Image.types';
|
|
2
|
-
export
|
|
2
|
+
export type SharpGlobalOptions = {
|
|
3
3
|
compressionLevel?: '';
|
|
4
4
|
format?: ImageFormat;
|
|
5
5
|
input: string;
|
|
@@ -10,16 +10,16 @@ export declare type SharpGlobalOptions = {
|
|
|
10
10
|
withMetadata?: boolean;
|
|
11
11
|
[key: string]: string | number | boolean | undefined | null;
|
|
12
12
|
};
|
|
13
|
-
export
|
|
14
|
-
export
|
|
13
|
+
export type SharpCommandOptions = RemoveAlphaOptions | ResizeOptions | FlattenOptions;
|
|
14
|
+
export type FlattenOptions = {
|
|
15
15
|
operation: 'flatten';
|
|
16
16
|
background: string;
|
|
17
17
|
};
|
|
18
|
-
export
|
|
18
|
+
export type RemoveAlphaOptions = {
|
|
19
19
|
operation: 'removeAlpha';
|
|
20
20
|
};
|
|
21
|
-
export
|
|
22
|
-
export
|
|
21
|
+
export type Position = 'center' | 'centre' | 'north' | 'east' | 'south' | 'west' | 'northeast' | 'southeast' | 'southwest' | 'northwest' | 'top' | 'right' | 'bottom' | 'left' | 'right top' | 'right bottom' | 'left bottom' | 'left top' | 'entropy' | 'attention';
|
|
22
|
+
export type ResizeOptions = {
|
|
23
23
|
operation: 'resize';
|
|
24
24
|
background?: string;
|
|
25
25
|
fastShrinkOnLoad?: boolean;
|
|
@@ -30,6 +30,6 @@ export declare type ResizeOptions = {
|
|
|
30
30
|
width: number;
|
|
31
31
|
withoutEnlargement?: boolean;
|
|
32
32
|
};
|
|
33
|
-
export
|
|
33
|
+
export type Options = object | {
|
|
34
34
|
[key: string]: boolean | number | string | undefined;
|
|
35
35
|
};
|
package/build/sharp.types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharp.types.js","sourceRoot":"","sources":["../src/sharp.types.ts"],"names":[],"mappings":""
|
|
1
|
+
{"version":3,"file":"sharp.types.js","sourceRoot":"","sources":["../src/sharp.types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,28 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/image-utils",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "A package used by Expo CLI for processing images",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"prepare": "
|
|
11
|
-
"
|
|
7
|
+
"build": "expo-module tsc",
|
|
8
|
+
"clean": "expo-module clean",
|
|
9
|
+
"lint": "expo-module lint",
|
|
10
|
+
"prepare": "expo-module clean && yarn run build",
|
|
11
|
+
"prepublishOnly": "expo-module prepublishOnly",
|
|
12
|
+
"test": "expo-module test",
|
|
13
|
+
"test:e2e": "yarn run prepare && expo-module test --config e2e/jest.config.js",
|
|
14
|
+
"typecheck": "expo-module typecheck",
|
|
15
|
+
"watch": "expo-module tsc --watch --preserveWatchOutput"
|
|
12
16
|
},
|
|
13
17
|
"repository": {
|
|
14
18
|
"type": "git",
|
|
15
|
-
"url": "https://github.com/expo/expo
|
|
16
|
-
"directory": "packages/image-utils"
|
|
19
|
+
"url": "https://github.com/expo/expo.git",
|
|
20
|
+
"directory": "packages/@expo/image-utils"
|
|
17
21
|
},
|
|
18
22
|
"keywords": [
|
|
19
23
|
"json"
|
|
20
24
|
],
|
|
21
25
|
"license": "MIT",
|
|
22
26
|
"bugs": {
|
|
23
|
-
"url": "https://github.com/expo/expo
|
|
27
|
+
"url": "https://github.com/expo/expo/issues"
|
|
24
28
|
},
|
|
25
|
-
"homepage": "https://github.com/expo/expo
|
|
29
|
+
"homepage": "https://github.com/expo/expo/tree/main/packages/%40expo/image-utils#readme",
|
|
26
30
|
"files": [
|
|
27
31
|
"build"
|
|
28
32
|
],
|
|
@@ -42,9 +46,13 @@
|
|
|
42
46
|
"devDependencies": {
|
|
43
47
|
"@types/fs-extra": "^9.0.1",
|
|
44
48
|
"@types/getenv": "^0.7.0",
|
|
45
|
-
"@types/
|
|
49
|
+
"@types/mime": "^2.0.3",
|
|
50
|
+
"@types/node-fetch": "^2.6.5",
|
|
51
|
+
"@types/semver": "^6.0.0",
|
|
52
|
+
"expo-module-scripts": "^3.3.0"
|
|
46
53
|
},
|
|
47
54
|
"publishConfig": {
|
|
48
55
|
"access": "public"
|
|
49
|
-
}
|
|
56
|
+
},
|
|
57
|
+
"gitHead": "2763e9cc6f2317b40da73382fe2595f8deebff46"
|
|
50
58
|
}
|