testcafe
Version:
Automated browser testing for the modern web development stack.
46 lines • 4.34 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const os_family_1 = require("os-family");
const resolve_cwd_1 = __importDefault(require("resolve-cwd"));
const promisified_functions_1 = require("./promisified-functions");
const FFMPEG_MODULE_NAME = '@ffmpeg-installer/ffmpeg';
const FFMPEG_SEARCH_COMMAND = os_family_1.isWin ? 'where' : 'which';
const FFMPEG_BINARY_NAME = 'ffmpeg';
async function findFFMPEGinPath() {
try {
const ffmpegPath = await promisified_functions_1.exec(`${FFMPEG_SEARCH_COMMAND} ${FFMPEG_BINARY_NAME}`);
return ffmpegPath.trim();
}
catch (e) {
return '';
}
}
async function requireFFMPEGModuleFromCwd() {
try {
const ffmpegModulePath = resolve_cwd_1.default(FFMPEG_MODULE_NAME);
return require(ffmpegModulePath).path;
}
catch (e) {
return '';
}
}
async function requireFFMPEGModule() {
try {
return require(FFMPEG_MODULE_NAME).path;
}
catch (e) {
return '';
}
}
async function default_1() {
return process.env.FFMPEG_PATH ||
await requireFFMPEGModuleFromCwd() ||
await requireFFMPEGModule() ||
await findFFMPEGinPath();
}
exports.default = default_1;
module.exports = exports.default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZWN0LWZmbXBlZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9kZXRlY3QtZmZtcGVnLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUNBQWtDO0FBQ2xDLDhEQUFxQztBQUNyQyxtRUFBK0M7QUFFL0MsTUFBTSxrQkFBa0IsR0FBTSwwQkFBMEIsQ0FBQztBQUN6RCxNQUFNLHFCQUFxQixHQUFHLGlCQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3hELE1BQU0sa0JBQWtCLEdBQU0sUUFBUSxDQUFDO0FBRXZDLEtBQUssVUFBVSxnQkFBZ0I7SUFDM0IsSUFBSTtRQUNBLE1BQU0sVUFBVSxHQUFHLE1BQU0sNEJBQUksQ0FBQyxHQUFHLHFCQUFxQixJQUFJLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUVoRixPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztLQUM1QjtJQUNELE9BQU8sQ0FBQyxFQUFFO1FBQ04sT0FBTyxFQUFFLENBQUM7S0FDYjtBQUNMLENBQUM7QUFFRCxLQUFLLFVBQVUsMEJBQTBCO0lBQ3JDLElBQUk7UUFDQSxNQUFNLGdCQUFnQixHQUFHLHFCQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUV4RCxPQUFPLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQztLQUN6QztJQUNELE9BQU8sQ0FBQyxFQUFFO1FBQ04sT0FBTyxFQUFFLENBQUM7S0FDYjtBQUNMLENBQUM7QUFFRCxLQUFLLFVBQVUsbUJBQW1CO0lBQzlCLElBQUk7UUFDQSxPQUFPLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQztLQUMzQztJQUNELE9BQU8sQ0FBQyxFQUFFO1FBQ04sT0FBTyxFQUFFLENBQUM7S0FDYjtBQUNMLENBQUM7QUFFYyxLQUFLO0lBQ2hCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXO1FBQzFCLE1BQU0sMEJBQTBCLEVBQUU7UUFDbEMsTUFBTSxtQkFBbUIsRUFBRTtRQUMzQixNQUFNLGdCQUFnQixFQUFFLENBQUM7QUFDakMsQ0FBQztBQUxELDRCQUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNXaW4gfSBmcm9tICdvcy1mYW1pbHknO1xuaW1wb3J0IHJlc29sdmVDd2QgZnJvbSAncmVzb2x2ZS1jd2QnO1xuaW1wb3J0IHsgZXhlYyB9IGZyb20gJy4vcHJvbWlzaWZpZWQtZnVuY3Rpb25zJztcblxuY29uc3QgRkZNUEVHX01PRFVMRV9OQU1FICAgID0gJ0BmZm1wZWctaW5zdGFsbGVyL2ZmbXBlZyc7XG5jb25zdCBGRk1QRUdfU0VBUkNIX0NPTU1BTkQgPSBpc1dpbiA/ICd3aGVyZScgOiAnd2hpY2gnO1xuY29uc3QgRkZNUEVHX0JJTkFSWV9OQU1FICAgID0gJ2ZmbXBlZyc7XG5cbmFzeW5jIGZ1bmN0aW9uIGZpbmRGRk1QRUdpblBhdGggKCkge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGZmbXBlZ1BhdGggPSBhd2FpdCBleGVjKGAke0ZGTVBFR19TRUFSQ0hfQ09NTUFORH0gJHtGRk1QRUdfQklOQVJZX05BTUV9YCk7XG5cbiAgICAgICAgcmV0dXJuIGZmbXBlZ1BhdGgudHJpbSgpO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiByZXF1aXJlRkZNUEVHTW9kdWxlRnJvbUN3ZCAoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZmZtcGVnTW9kdWxlUGF0aCA9IHJlc29sdmVDd2QoRkZNUEVHX01PRFVMRV9OQU1FKTtcblxuICAgICAgICByZXR1cm4gcmVxdWlyZShmZm1wZWdNb2R1bGVQYXRoKS5wYXRoO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiByZXF1aXJlRkZNUEVHTW9kdWxlICgpIHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZShGRk1QRUdfTU9EVUxFX05BTUUpLnBhdGg7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gcHJvY2Vzcy5lbnYuRkZNUEVHX1BBVEggfHxcbiAgICAgICAgYXdhaXQgcmVxdWlyZUZGTVBFR01vZHVsZUZyb21Dd2QoKSB8fFxuICAgICAgICBhd2FpdCByZXF1aXJlRkZNUEVHTW9kdWxlKCkgfHxcbiAgICAgICAgYXdhaXQgZmluZEZGTVBFR2luUGF0aCgpO1xufVxuIl19