UNPKG

4.37 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6const os_family_1 = require("os-family");
7const resolve_cwd_1 = __importDefault(require("resolve-cwd"));
8const promisified_functions_1 = require("./promisified-functions");
9const FFMPEG_MODULE_NAME = '@ffmpeg-installer/ffmpeg';
10const FFMPEG_SEARCH_COMMAND = os_family_1.isWin ? 'where' : 'which';
11const FFMPEG_BINARY_NAME = 'ffmpeg';
12async function findFFMPEGinPath() {
13 try {
14 const ffmpegPath = await promisified_functions_1.exec(`${FFMPEG_SEARCH_COMMAND} ${FFMPEG_BINARY_NAME}`);
15 return ffmpegPath.stdout.trim();
16 }
17 catch (e) {
18 return '';
19 }
20}
21async function requireFFMPEGModuleFromCwd() {
22 try {
23 const ffmpegModulePath = resolve_cwd_1.default(FFMPEG_MODULE_NAME);
24 return require(ffmpegModulePath).path;
25 }
26 catch (e) {
27 return '';
28 }
29}
30async function requireFFMPEGModule() {
31 try {
32 return require(FFMPEG_MODULE_NAME).path;
33 }
34 catch (e) {
35 return '';
36 }
37}
38async function default_1() {
39 return process.env.FFMPEG_PATH ||
40 await requireFFMPEGModuleFromCwd() ||
41 await requireFFMPEGModule() ||
42 await findFFMPEGinPath();
43}
44exports.default = default_1;
45module.exports = exports.default;
46//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZWN0LWZmbXBlZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9kZXRlY3QtZmZtcGVnLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUNBQWtDO0FBQ2xDLDhEQUFxQztBQUNyQyxtRUFBK0M7QUFFL0MsTUFBTSxrQkFBa0IsR0FBTSwwQkFBMEIsQ0FBQztBQUN6RCxNQUFNLHFCQUFxQixHQUFHLGlCQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3hELE1BQU0sa0JBQWtCLEdBQU0sUUFBUSxDQUFDO0FBRXZDLEtBQUssVUFBVSxnQkFBZ0I7SUFDM0IsSUFBSTtRQUNBLE1BQU0sVUFBVSxHQUFHLE1BQU0sNEJBQUksQ0FBQyxHQUFHLHFCQUFxQixJQUFJLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUVoRixPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDbkM7SUFDRCxPQUFPLENBQUMsRUFBRTtRQUNOLE9BQU8sRUFBRSxDQUFDO0tBQ2I7QUFDTCxDQUFDO0FBRUQsS0FBSyxVQUFVLDBCQUEwQjtJQUNyQyxJQUFJO1FBQ0EsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFeEQsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUM7S0FDekM7SUFDRCxPQUFPLENBQUMsRUFBRTtRQUNOLE9BQU8sRUFBRSxDQUFDO0tBQ2I7QUFDTCxDQUFDO0FBRUQsS0FBSyxVQUFVLG1CQUFtQjtJQUM5QixJQUFJO1FBQ0EsT0FBTyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUM7S0FDM0M7SUFDRCxPQUFPLENBQUMsRUFBRTtRQUNOLE9BQU8sRUFBRSxDQUFDO0tBQ2I7QUFDTCxDQUFDO0FBRWMsS0FBSztJQUNoQixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVztRQUMxQixNQUFNLDBCQUEwQixFQUFFO1FBQ2xDLE1BQU0sbUJBQW1CLEVBQUU7UUFDM0IsTUFBTSxnQkFBZ0IsRUFBRSxDQUFDO0FBQ2pDLENBQUM7QUFMRCw0QkFLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzV2luIH0gZnJvbSAnb3MtZmFtaWx5JztcbmltcG9ydCByZXNvbHZlQ3dkIGZyb20gJ3Jlc29sdmUtY3dkJztcbmltcG9ydCB7IGV4ZWMgfSBmcm9tICcuL3Byb21pc2lmaWVkLWZ1bmN0aW9ucyc7XG5cbmNvbnN0IEZGTVBFR19NT0RVTEVfTkFNRSAgICA9ICdAZmZtcGVnLWluc3RhbGxlci9mZm1wZWcnO1xuY29uc3QgRkZNUEVHX1NFQVJDSF9DT01NQU5EID0gaXNXaW4gPyAnd2hlcmUnIDogJ3doaWNoJztcbmNvbnN0IEZGTVBFR19CSU5BUllfTkFNRSAgICA9ICdmZm1wZWcnO1xuXG5hc3luYyBmdW5jdGlvbiBmaW5kRkZNUEVHaW5QYXRoICgpIHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBmZm1wZWdQYXRoID0gYXdhaXQgZXhlYyhgJHtGRk1QRUdfU0VBUkNIX0NPTU1BTkR9ICR7RkZNUEVHX0JJTkFSWV9OQU1FfWApO1xuXG4gICAgICAgIHJldHVybiBmZm1wZWdQYXRoLnN0ZG91dC50cmltKCk7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlcXVpcmVGRk1QRUdNb2R1bGVGcm9tQ3dkICgpIHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBmZm1wZWdNb2R1bGVQYXRoID0gcmVzb2x2ZUN3ZChGRk1QRUdfTU9EVUxFX05BTUUpO1xuXG4gICAgICAgIHJldHVybiByZXF1aXJlKGZmbXBlZ01vZHVsZVBhdGgpLnBhdGg7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlcXVpcmVGRk1QRUdNb2R1bGUgKCkge1xuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiByZXF1aXJlKEZGTVBFR19NT0RVTEVfTkFNRSkucGF0aDtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBwcm9jZXNzLmVudi5GRk1QRUdfUEFUSCB8fFxuICAgICAgICBhd2FpdCByZXF1aXJlRkZNUEVHTW9kdWxlRnJvbUN3ZCgpIHx8XG4gICAgICAgIGF3YWl0IHJlcXVpcmVGRk1QRUdNb2R1bGUoKSB8fFxuICAgICAgICBhd2FpdCBmaW5kRkZNUEVHaW5QYXRoKCk7XG59XG4iXX0=
\No newline at end of file