@remotion/cli
Version:
Control Remotion features using the `npx remotion` command
38 lines (37 loc) • 1.88 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.loadConfig = void 0;
const node_fs_1 = require("node:fs");
const node_path_1 = __importDefault(require("node:path"));
const client_1 = require("@remotion/renderer/client");
const load_config_1 = require("./load-config");
const log_1 = require("./log");
const parsed_cli_1 = require("./parsed-cli");
const { configOption } = client_1.BrowserSafeApis.options;
const defaultConfigFileJavascript = 'remotion.config.js';
const defaultConfigFileTypescript = 'remotion.config.ts';
const loadConfig = (remotionRoot) => {
const configFile = configOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
if (configFile) {
const fullPath = node_path_1.default.resolve(process.cwd(), configFile);
if (!(0, node_fs_1.existsSync)(fullPath)) {
log_1.Log.error({ indent: false, logLevel: 'error' }, `You specified a config file location of "${configFile}" but no file under ${fullPath} was found.`);
process.exit(1);
}
return (0, load_config_1.loadConfigFile)(remotionRoot, configFile, fullPath.endsWith('.js'));
}
if (remotionRoot === null) {
return Promise.resolve(null);
}
if ((0, node_fs_1.existsSync)(node_path_1.default.resolve(remotionRoot, defaultConfigFileTypescript))) {
return (0, load_config_1.loadConfigFile)(remotionRoot, defaultConfigFileTypescript, false);
}
if ((0, node_fs_1.existsSync)(node_path_1.default.resolve(remotionRoot, defaultConfigFileJavascript))) {
return (0, load_config_1.loadConfigFile)(remotionRoot, defaultConfigFileJavascript, true);
}
return Promise.resolve(null);
};
exports.loadConfig = loadConfig;