Socket
Socket
Sign inDemoInstall

@expo/image-utils

Package Overview
Dependencies
Maintainers
27
Versions
93
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@expo/image-utils - npm Package Compare versions

Comparing version 0.4.2 to 0.5.0

1

build/Cache.d.ts

@@ -1,2 +0,1 @@

/// <reference types="node" />
import { ImageOptions } from './Image.types';

@@ -3,0 +2,0 @@ export declare function createCacheKey(fileSource: string, properties: string[]): string;

13

build/Cache.js

@@ -6,3 +6,8 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.clearUnusedCachesAsync = exports.cacheImageAsync = exports.getImageFromCacheAsync = exports.ensureCacheDirectory = exports.createCacheKeyWithDirectoryAsync = exports.createCacheKey = void 0;
exports.createCacheKey = createCacheKey;
exports.createCacheKeyWithDirectoryAsync = createCacheKeyWithDirectoryAsync;
exports.ensureCacheDirectory = ensureCacheDirectory;
exports.getImageFromCacheAsync = getImageFromCacheAsync;
exports.cacheImageAsync = cacheImageAsync;
exports.clearUnusedCachesAsync = clearUnusedCachesAsync;
const crypto_1 = __importDefault(require("crypto"));

@@ -23,3 +28,2 @@ const fs_extra_1 = require("fs-extra");

}
exports.createCacheKey = createCacheKey;
async function createCacheKeyWithDirectoryAsync(projectRoot, type, icon) {

@@ -32,3 +36,2 @@ const cacheKey = `${type}-${createCacheKey(icon.src, [icon.resizeMode, icon.backgroundColor])}`;

}
exports.createCacheKeyWithDirectoryAsync = createCacheKeyWithDirectoryAsync;
async function ensureCacheDirectory(projectRoot, type, cacheKey) {

@@ -39,3 +42,2 @@ const cacheFolder = (0, path_1.join)(projectRoot, CACHE_LOCATION, type, cacheKey);

}
exports.ensureCacheDirectory = ensureCacheDirectory;
async function getImageFromCacheAsync(fileName, cacheKey) {

@@ -49,3 +51,2 @@ try {

}
exports.getImageFromCacheAsync = getImageFromCacheAsync;
async function cacheImageAsync(fileName, buffer, cacheKey) {

@@ -59,3 +60,2 @@ try {

}
exports.cacheImageAsync = cacheImageAsync;
async function clearUnusedCachesAsync(projectRoot, type) {

@@ -83,3 +83,2 @@ // Clean up any old caches

}
exports.clearUnusedCachesAsync = clearUnusedCachesAsync;
//# sourceMappingURL=Cache.js.map

@@ -6,3 +6,4 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.downloadImage = exports.downloadOrUseCachedImage = void 0;
exports.downloadOrUseCachedImage = downloadOrUseCachedImage;
exports.downloadImage = downloadImage;
const fs_extra_1 = __importDefault(require("fs-extra"));

@@ -33,3 +34,2 @@ // @ts-ignore

}
exports.downloadOrUseCachedImage = downloadOrUseCachedImage;
async function downloadImage(url) {

@@ -55,3 +55,2 @@ const outputPath = tempy_1.default.directory();

}
exports.downloadImage = downloadImage;
//# sourceMappingURL=Download.js.map

@@ -1,2 +0,1 @@

/// <reference types="node" />
export declare function generateAsync(buffers: Buffer[]): Promise<Buffer>;

@@ -6,3 +6,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.generateAsync = void 0;
exports.generateAsync = generateAsync;
// Inspired by https://github.com/kevva/to-ico but reuses existing packages to keep bundle size small.

@@ -98,3 +98,2 @@ const parse_png_1 = __importDefault(require("parse-png"));

}
exports.generateAsync = generateAsync;
//# sourceMappingURL=Ico.js.map

@@ -1,2 +0,1 @@

/// <reference types="node" />
import { ImageOptions } from './Image.types';

@@ -3,0 +2,0 @@ export declare function getMimeType(srcPath: string): string | null;

@@ -29,3 +29,7 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.getPngInfo = exports.compositeImagesAsync = exports.generateFaviconAsync = exports.generateImageAsync = exports.getMimeType = void 0;
exports.getMimeType = getMimeType;
exports.generateImageAsync = generateImageAsync;
exports.generateFaviconAsync = generateFaviconAsync;
exports.compositeImagesAsync = compositeImagesAsync;
exports.getPngInfo = getPngInfo;
const chalk_1 = __importDefault(require("chalk"));

@@ -153,3 +157,2 @@ const fs_1 = __importDefault(require("fs"));

}
exports.getMimeType = getMimeType;
async function ensureImageOptionsAsync(imageOptions) {

@@ -189,3 +192,2 @@ const icon = {

}
exports.generateImageAsync = generateImageAsync;
async function generateFaviconAsync(pngImageBuffer, sizes = [16, 32, 48]) {

@@ -195,3 +197,2 @@ const buffers = await resizeImagesAsync(pngImageBuffer, sizes);

}
exports.generateFaviconAsync = generateFaviconAsync;
/**

@@ -215,7 +216,5 @@ * Layers the provided foreground image over the provided background image.

}
exports.compositeImagesAsync = compositeImagesAsync;
async function getPngInfo(src) {
return await (0, parse_png_1.default)(fs_1.default.readFileSync(src));
}
exports.getPngInfo = getPngInfo;
//# sourceMappingURL=Image.js.map

@@ -1,10 +0,9 @@

/// <reference types="node" />
import * as Cache from './Cache';
import { compositeImagesAsync, generateFaviconAsync, generateImageAsync, getPngInfo } from './Image';
import { ImageFormat, ImageOptions, ResizeMode } from './Image.types';
import { jimpAsync } from './jimp';
import { jimpAsync, createSquareAsync } from './jimp';
import { findSharpInstanceAsync, isAvailableAsync, sharpAsync } from './sharp';
import { SharpCommandOptions, SharpGlobalOptions } from './sharp.types';
export declare function imageAsync(options: SharpGlobalOptions, commands?: SharpCommandOptions[]): Promise<Buffer | string[]>;
export { jimpAsync, findSharpInstanceAsync, isAvailableAsync, sharpAsync, generateImageAsync, generateFaviconAsync, Cache, compositeImagesAsync, getPngInfo, };
export { jimpAsync, createSquareAsync, findSharpInstanceAsync, isAvailableAsync, sharpAsync, generateImageAsync, generateFaviconAsync, Cache, compositeImagesAsync, getPngInfo, };
export { SharpGlobalOptions, SharpCommandOptions, ResizeMode, ImageFormat, ImageOptions };

@@ -26,3 +26,4 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.getPngInfo = exports.compositeImagesAsync = exports.Cache = exports.generateFaviconAsync = exports.generateImageAsync = exports.sharpAsync = exports.isAvailableAsync = exports.findSharpInstanceAsync = exports.jimpAsync = exports.imageAsync = void 0;
exports.getPngInfo = exports.compositeImagesAsync = exports.Cache = exports.generateFaviconAsync = exports.generateImageAsync = exports.sharpAsync = exports.isAvailableAsync = exports.findSharpInstanceAsync = exports.createSquareAsync = exports.jimpAsync = void 0;
exports.imageAsync = imageAsync;
const Cache = __importStar(require("./Cache"));

@@ -37,2 +38,3 @@ exports.Cache = Cache;

Object.defineProperty(exports, "jimpAsync", { enumerable: true, get: function () { return jimp_1.jimpAsync; } });
Object.defineProperty(exports, "createSquareAsync", { enumerable: true, get: function () { return jimp_1.createSquareAsync; } });
const sharp_1 = require("./sharp");

@@ -48,3 +50,2 @@ Object.defineProperty(exports, "findSharpInstanceAsync", { enumerable: true, get: function () { return sharp_1.findSharpInstanceAsync; } });

}
exports.imageAsync = imageAsync;
//# sourceMappingURL=index.js.map

@@ -1,2 +0,1 @@

/// <reference types="node" />
import Jimp from 'jimp-compact';

@@ -13,4 +12,12 @@ import { ResizeOptions, SharpCommandOptions, SharpGlobalOptions } from './sharp.types';

export declare function circleAsync(jimp: Jimp): Promise<Jimp>;
/**
* Create a square image of a given size and color. Defaults to a white PNG.
*/
export declare function createSquareAsync({ size, color, mime, }: {
size: number;
color?: string;
mime?: any;
}): Promise<Buffer>;
export declare function getJimpImageAsync(input: string | Buffer | Jimp): Promise<Jimp>;
export declare function resize({ input, quality }: JimpGlobalOptions, { background, position, fit, width, height }: Omit<ResizeOptions, 'operation'>): Promise<Jimp>;
export {};

@@ -29,3 +29,10 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.resize = exports.getJimpImageAsync = exports.circleAsync = exports.isFolderAsync = exports.jimpAsync = exports.convertFormat = exports.resizeBufferAsync = void 0;
exports.resizeBufferAsync = resizeBufferAsync;
exports.convertFormat = convertFormat;
exports.jimpAsync = jimpAsync;
exports.isFolderAsync = isFolderAsync;
exports.circleAsync = circleAsync;
exports.createSquareAsync = createSquareAsync;
exports.getJimpImageAsync = getJimpImageAsync;
exports.resize = resize;
const fs_extra_1 = __importDefault(require("fs-extra"));

@@ -44,3 +51,2 @@ // @ts-ignore

}
exports.resizeBufferAsync = resizeBufferAsync;
function convertFormat(format) {

@@ -60,3 +66,2 @@ if (typeof format === 'undefined')

}
exports.convertFormat = convertFormat;
async function jimpAsync(options, commands = []) {

@@ -93,3 +98,2 @@ if (commands.length) {

}
exports.jimpAsync = jimpAsync;
async function isFolderAsync(path) {

@@ -103,3 +107,2 @@ try {

}
exports.isFolderAsync = isFolderAsync;
function circleAsync(jimp) {

@@ -124,3 +127,10 @@ const radius = Math.min(jimp.bitmap.width, jimp.bitmap.height) / 2;

}
exports.circleAsync = circleAsync;
/**
* Create a square image of a given size and color. Defaults to a white PNG.
*/
async function createSquareAsync({ size, color = '#FFFFFF', mime = jimp_compact_1.default.MIME_PNG, }) {
const image = await new jimp_compact_1.default(size, size, color);
// Convert Jimp image to a Buffer
return await image.getBufferAsync(mime);
}
async function getJimpImageAsync(input) {

@@ -132,3 +142,2 @@ // @ts-ignore: Jimp types are broken

}
exports.getJimpImageAsync = getJimpImageAsync;
async function resize({ input, quality = 100 }, { background, position, fit, width, height }) {

@@ -166,3 +175,2 @@ let initialImage = await getJimpImageAsync(input);

}
exports.resize = resize;
async function flatten({ input, quality = 100 }, { background }) {

@@ -169,0 +177,0 @@ const initialImage = await getJimpImageAsync(input);

@@ -1,2 +0,1 @@

/// <reference types="node" />
import { SharpCommandOptions, SharpGlobalOptions } from './sharp.types';

@@ -3,0 +2,0 @@ export declare function resizeBufferAsync(buffer: Buffer, sizes: number[]): Promise<Buffer[]>;

@@ -6,3 +6,6 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.findSharpInstanceAsync = exports.sharpAsync = exports.isAvailableAsync = exports.resizeBufferAsync = void 0;
exports.resizeBufferAsync = resizeBufferAsync;
exports.isAvailableAsync = isAvailableAsync;
exports.sharpAsync = sharpAsync;
exports.findSharpInstanceAsync = findSharpInstanceAsync;
const spawn_async_1 = __importDefault(require("@expo/spawn-async"));

@@ -29,3 +32,2 @@ const path_1 = __importDefault(require("path"));

}
exports.resizeBufferAsync = resizeBufferAsync;
/**

@@ -46,3 +48,2 @@ * Returns `true` if a global sharp instance can be found.

}
exports.isAvailableAsync = isAvailableAsync;
async function sharpAsync(options, commands = []) {

@@ -70,3 +71,2 @@ const bin = await findSharpBinAsync();

}
exports.sharpAsync = sharpAsync;
function getOptions(options) {

@@ -195,3 +195,2 @@ const args = [];

}
exports.findSharpInstanceAsync = findSharpInstanceAsync;
function notFoundError(requiredCliVersion) {

@@ -198,0 +197,0 @@ return new Error(`This command requires version ${requiredCliVersion} of \`sharp-cli\`. \n` +

{
"name": "@expo/image-utils",
"version": "0.4.2",
"version": "0.5.0",
"description": "A package used by Expo CLI for processing images",

@@ -34,3 +34,3 @@ "main": "build/index.js",

"dependencies": {
"@expo/spawn-async": "1.5.0",
"@expo/spawn-async": "^1.7.2",
"chalk": "^4.0.0",

@@ -43,3 +43,3 @@ "fs-extra": "9.0.0",

"resolve-from": "^5.0.0",
"semver": "7.3.2",
"semver": "^7.6.0",
"tempy": "0.3.0"

@@ -57,3 +57,3 @@ },

},
"gitHead": "88a8226609b870c0635c39da43ac8306c4dc7031"
"gitHead": "4165b8d72e1b9a1889c2767534cc619e21468110"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc