Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

@expo/image-utils

Package Overview
Dependencies
Maintainers
10
Versions
195
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.8.12-canary-20260128-67ce8d5
to
0.8.12
+7
build/resolveGlobal.d.ts
declare module 'module' {
namespace Module {
const globalPaths: readonly string[] | void;
}
}
/** Resolve a globally installed module before a locally installed one */
export declare const resolveGlobal: (id: string) => string;
"use strict";
// NOTE: This file is replicated to multiple packages! Keep these files in-sync:
// - packages/@expo/cli/src/utils/resolveGlobal.ts
// - packages/@expo/image-utils/src/resolveGlobal.ts
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveGlobal = void 0;
const child_process_1 = require("child_process");
const fs_1 = __importDefault(require("fs"));
const module_1 = __importDefault(require("module"));
const os_1 = __importDefault(require("os"));
const path_1 = __importDefault(require("path"));
const memoize = (fn) => {
let result;
return (...args) => {
if (result === undefined) {
result = { value: fn(...args) };
}
return result.value;
};
};
const isWindows = process.platform === 'win32';
const getDelimitedPaths = (delimited) => delimited
.split(path_1.default.delimiter)
.map((target) => {
try {
const normalized = path_1.default.normalize(target.trim());
if (!normalized) {
return null;
}
else if (!path_1.default.isAbsolute(normalized)) {
return path_1.default.resolve(process.cwd(), normalized);
}
else {
return normalized;
}
}
catch {
return null;
}
})
.filter((target) => !!target);
const execGetPaths = (cmd, args) => {
const result = (0, child_process_1.spawnSync)(cmd, args, { encoding: 'utf8' });
if (!result.error && result.status === 0 && result.stdout) {
const paths = getDelimitedPaths(result.stdout.replace(/[\r\n]+/g, path_1.default.delimiter));
return paths.filter((target) => fs_1.default.existsSync(target));
}
return [];
};
const getNativeNodePaths = () => {
if (Array.isArray(module_1.default.globalPaths)) {
return module_1.default.globalPaths;
}
else {
return [];
}
};
const getHomePath = memoize(() => {
try {
return os_1.default.homedir();
}
catch {
return isWindows ? (process.env.UserProfile ?? process.env.USERPROFILE) : process.env.HOME;
}
});
const getNpmDefaultPaths = () => {
const prefix = [];
const localAppData = process.env.LocalAppData || process.env.LOCALAPPDATA;
if (isWindows && localAppData) {
prefix.push(path_1.default.resolve(localAppData, 'npm'));
}
else if (!isWindows) {
prefix.push('/usr/local/lib/node_modules');
}
return prefix.filter((target) => fs_1.default.existsSync(target));
};
const getNpmPrefixPaths = memoize(() => {
const npmPrefix = execGetPaths(isWindows ? 'npm.cmd' : 'npm', ['config', '-g', 'get', 'prefix']);
return npmPrefix.map((prefix) => path_1.default.resolve(prefix, 'lib'));
});
const getYarnDefaultPaths = () => {
const prefix = [];
const homePath = getHomePath();
const localAppData = process.env.LocalAppData || process.env.LOCALAPPDATA;
const dataHomePath = process.env.XDG_DATA_HOME || (homePath && path_1.default.join(homePath, '.local', 'share'));
if (isWindows && localAppData) {
prefix.push(path_1.default.resolve(localAppData, 'Yarn', 'global'));
}
if (dataHomePath) {
prefix.push(path_1.default.resolve(dataHomePath, 'yarn', 'global'));
}
if (homePath) {
prefix.push(path_1.default.resolve(homePath, '.yarn', 'global'));
}
return prefix.filter((target) => fs_1.default.existsSync(target));
};
const getYarnPrefixPaths = memoize(() => {
return execGetPaths(isWindows ? 'yarn.cmd' : 'yarn', ['global', 'dir']);
});
const getPnpmPrefixPaths = memoize(() => {
return execGetPaths(isWindows ? 'pnpm.cmd' : 'pnpm', ['root', '-g']);
});
const getBunPrefixPaths = memoize(() => {
const prefix = [];
const bunPath = execGetPaths(isWindows ? 'bun.cmd' : 'bun', ['pm', 'bin', '-g'])[0];
if (!bunPath) {
return [];
}
prefix.push(path_1.default.resolve(bunPath, 'global'));
const moduleEntry = fs_1.default.readdirSync(bunPath, { withFileTypes: true }).find((entry) => {
return entry.isSymbolicLink() && entry.name !== 'global';
});
if (moduleEntry) {
try {
const moduleTarget = fs_1.default.realpathSync(path_1.default.resolve(bunPath, moduleEntry.name));
const splitIdx = moduleTarget.indexOf(path_1.default.sep + 'node_modules' + path_1.default.sep);
if (splitIdx > -1) {
const modulePath = moduleTarget.slice(0, splitIdx);
prefix.push(modulePath);
}
}
catch { }
}
return prefix.filter((target) => fs_1.default.existsSync(target));
});
const getPaths = () => [
...getNpmDefaultPaths(),
...getNpmPrefixPaths(),
...getYarnDefaultPaths(),
...getYarnPrefixPaths(),
...getPnpmPrefixPaths(),
...getBunPrefixPaths(),
...getNativeNodePaths(),
process.cwd(),
];
/** Resolve a globally installed module before a locally installed one */
const resolveGlobal = (id) => {
return require.resolve(id, { paths: getPaths() });
};
exports.resolveGlobal = resolveGlobal;
//# sourceMappingURL=resolveGlobal.js.map
{"version":3,"file":"resolveGlobal.js","sourceRoot":"","sources":["../src/resolveGlobal.ts"],"names":[],"mappings":"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"}
+8
-5

@@ -15,5 +15,5 @@ "use strict";

const resolve_from_1 = __importDefault(require("resolve-from"));
const resolve_global_1 = __importDefault(require("resolve-global"));
const semver_1 = __importDefault(require("semver"));
const env_1 = require("./env");
const resolveGlobal_1 = require("./resolveGlobal");
const SHARP_HELP_PATTERN = /\n\nSpecify --help for available options/g;

@@ -116,6 +116,9 @@ const SHARP_REQUIRED_VERSION = '^5.2.0';

try {
const sharpCliPackagePath = resolve_global_1.default.silent('sharp-cli/package.json') ??
require.resolve('sharp-cli/package.json', {
paths: require.resolve.paths('sharp-cli') ?? undefined,
});
let sharpCliPackagePath;
try {
sharpCliPackagePath = (0, resolveGlobal_1.resolveGlobal)('sharp-cli/package.json');
}
catch {
sharpCliPackagePath = require.resolve('sharp-cli/package.json');
}
const sharpCliPackage = require(sharpCliPackagePath);

@@ -122,0 +125,0 @@ const sharpInstance = sharpCliPackagePath

{
"name": "@expo/image-utils",
"version": "0.8.12-canary-20260128-67ce8d5",
"version": "0.8.12",
"description": "A package used by Expo CLI for processing images",

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

"resolve-from": "^5.0.0",
"resolve-global": "^1.0.0",
"semver": "^7.6.0"

@@ -52,3 +51,4 @@ },

"access": "public"
}
},
"gitHead": "436ffb4355d5207f4a03fbc3568cd33424a40f3e"
}

Sorry, the diff of this file is not supported yet