@expo/image-utils 0.4.0 → 0.4.1
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/build/Image.d.ts +1 -0
- package/build/Image.js +31 -8
- package/build/Image.js.map +1 -1
- package/package.json +2 -4
package/build/Image.d.ts
CHANGED
package/build/Image.js
CHANGED
|
@@ -26,18 +26,17 @@ 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.getPngInfo = exports.compositeImagesAsync = exports.generateFaviconAsync = exports.generateImageAsync = void 0;
|
|
29
|
+
exports.getPngInfo = exports.compositeImagesAsync = exports.generateFaviconAsync = exports.generateImageAsync = exports.getMimeType = void 0;
|
|
30
30
|
const chalk_1 = __importDefault(require("chalk"));
|
|
31
31
|
const fs_1 = __importDefault(require("fs"));
|
|
32
|
-
const mime_1 = __importDefault(require("mime"));
|
|
33
32
|
const parse_png_1 = __importDefault(require("parse-png"));
|
|
33
|
+
const path_1 = __importDefault(require("path"));
|
|
34
34
|
const Cache = __importStar(require("./Cache"));
|
|
35
35
|
const Download = __importStar(require("./Download"));
|
|
36
36
|
const Ico = __importStar(require("./Ico"));
|
|
37
37
|
const env_1 = require("./env");
|
|
38
38
|
const Jimp = __importStar(require("./jimp"));
|
|
39
39
|
const Sharp = __importStar(require("./sharp"));
|
|
40
|
-
const supportedMimeTypes = ['image/png', 'image/jpeg', 'image/webp', 'image/gif'];
|
|
41
40
|
let hasWarned = false;
|
|
42
41
|
async function resizeImagesAsync(buffer, sizes) {
|
|
43
42
|
const sharp = await getSharpAsync();
|
|
@@ -124,6 +123,33 @@ async function maybeWarnAboutInstallingSharpAsync() {
|
|
|
124
123
|
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`));
|
|
125
124
|
}
|
|
126
125
|
}
|
|
126
|
+
const types = {
|
|
127
|
+
png: 'image/png',
|
|
128
|
+
jpeg: 'image/jpeg',
|
|
129
|
+
jpg: 'image/jpeg',
|
|
130
|
+
jpe: 'image/jpeg',
|
|
131
|
+
webp: 'image/webp',
|
|
132
|
+
gif: 'image/gif',
|
|
133
|
+
};
|
|
134
|
+
const inverseMimeTypes = {
|
|
135
|
+
'image/png': 'png',
|
|
136
|
+
'image/jpeg': 'jpg',
|
|
137
|
+
'image/webp': 'webp',
|
|
138
|
+
'image/gif': 'gif',
|
|
139
|
+
};
|
|
140
|
+
function getMimeType(srcPath) {
|
|
141
|
+
if (typeof srcPath !== 'string')
|
|
142
|
+
return null;
|
|
143
|
+
try {
|
|
144
|
+
// If the path is a URL, use the pathname
|
|
145
|
+
const url = new URL(srcPath);
|
|
146
|
+
srcPath = url.pathname;
|
|
147
|
+
}
|
|
148
|
+
catch { }
|
|
149
|
+
const ext = path_1.default.extname(srcPath).replace(/^\./, '');
|
|
150
|
+
return types[ext] ?? null;
|
|
151
|
+
}
|
|
152
|
+
exports.getMimeType = getMimeType;
|
|
127
153
|
async function ensureImageOptionsAsync(imageOptions) {
|
|
128
154
|
const icon = {
|
|
129
155
|
...imageOptions,
|
|
@@ -133,15 +159,12 @@ async function ensureImageOptionsAsync(imageOptions) {
|
|
|
133
159
|
if (!icon.resizeMode) {
|
|
134
160
|
icon.resizeMode = 'contain';
|
|
135
161
|
}
|
|
136
|
-
const mimeType =
|
|
162
|
+
const mimeType = getMimeType(icon.src);
|
|
137
163
|
if (!mimeType) {
|
|
138
164
|
throw new Error(`Invalid mimeType for image with source: ${icon.src}`);
|
|
139
165
|
}
|
|
140
|
-
if (!supportedMimeTypes.includes(mimeType)) {
|
|
141
|
-
throw new Error(`Supplied image is not a supported image type: ${imageOptions.src}`);
|
|
142
|
-
}
|
|
143
166
|
if (!icon.name) {
|
|
144
|
-
icon.name = `icon_${getDimensionsId(imageOptions)}.${
|
|
167
|
+
icon.name = `icon_${getDimensionsId(imageOptions)}.${inverseMimeTypes[mimeType]}`;
|
|
145
168
|
}
|
|
146
169
|
return icon;
|
|
147
170
|
}
|
package/build/Image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.js","sourceRoot":"","sources":["../src/Image.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,4CAAoB;AACpB,
|
|
1
|
+
{"version":3,"file":"Image.js","sourceRoot":"","sources":["../src/Image.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/image-utils",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "A package used by Expo CLI for processing images",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -36,7 +36,6 @@
|
|
|
36
36
|
"fs-extra": "9.0.0",
|
|
37
37
|
"getenv": "^1.0.0",
|
|
38
38
|
"jimp-compact": "0.16.1",
|
|
39
|
-
"mime": "^2.4.4",
|
|
40
39
|
"node-fetch": "^2.6.0",
|
|
41
40
|
"parse-png": "^2.1.0",
|
|
42
41
|
"resolve-from": "^5.0.0",
|
|
@@ -46,7 +45,6 @@
|
|
|
46
45
|
"devDependencies": {
|
|
47
46
|
"@types/fs-extra": "^9.0.1",
|
|
48
47
|
"@types/getenv": "^0.7.0",
|
|
49
|
-
"@types/mime": "^2.0.3",
|
|
50
48
|
"@types/node-fetch": "^2.6.5",
|
|
51
49
|
"@types/semver": "^6.0.0",
|
|
52
50
|
"expo-module-scripts": "^3.3.0"
|
|
@@ -54,5 +52,5 @@
|
|
|
54
52
|
"publishConfig": {
|
|
55
53
|
"access": "public"
|
|
56
54
|
},
|
|
57
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "43f1b4f8a5a9bca649e4e7ca6e4155482a162431"
|
|
58
56
|
}
|