Files

115 lines
4.1 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCompositionId = void 0;
const renderer_1 = require("@remotion/renderer");
const studio_server_1 = require("@remotion/studio-server");
const log_1 = require("./log");
const show_compositions_picker_1 = require("./show-compositions-picker");
const getCompName = ({ cliArgs, compositionIdFromUi, }) => {
if (compositionIdFromUi) {
return {
compName: compositionIdFromUi,
remainingArgs: [],
reason: 'via UI',
};
}
if (cliArgs.length === 0) {
return null;
}
const [compName, ...remainingArgs] = cliArgs;
return {
compName: String(compName),
remainingArgs,
reason: 'Passed as argument',
};
};
const getCompositionId = async ({ args, compositionIdFromUi, serializedInputPropsWithCustomSchema, puppeteerInstance, envVariables, timeoutInMilliseconds, chromiumOptions, port, browserExecutable, serveUrlOrWebpackUrl, logLevel, indent, server, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, binariesDirectory, onBrowserDownload, chromeMode, mediaCacheSizeInBytes, }) => {
const compNameResult = getCompName({
cliArgs: args,
compositionIdFromUi,
});
if (compNameResult) {
const { metadata: config, propsSize } = await renderer_1.RenderInternals.internalSelectComposition({
id: compNameResult.compName,
serializedInputPropsWithCustomSchema,
puppeteerInstance,
envVariables,
timeoutInMilliseconds,
serveUrl: serveUrlOrWebpackUrl,
browserExecutable,
chromiumOptions,
port,
logLevel,
server,
indent,
onBrowserLog: null,
offthreadVideoCacheSizeInBytes,
offthreadVideoThreads,
binariesDirectory,
onBrowserDownload,
onServeUrlVisited: () => undefined,
chromeMode,
mediaCacheSizeInBytes,
});
if (propsSize > 10000000) {
log_1.Log.warn({
indent,
logLevel,
}, `The props of your composition are large (${studio_server_1.StudioServerInternals.formatBytes(propsSize)}). This may cause slowdown.`);
}
if (!config) {
throw new Error(`Cannot find composition with ID "${compNameResult.compName}"`);
}
return {
compositionId: compNameResult.compName,
reason: compNameResult.reason,
config,
argsAfterComposition: compNameResult.remainingArgs,
};
}
const comps = await renderer_1.RenderInternals.internalGetCompositions({
puppeteerInstance,
envVariables,
timeoutInMilliseconds,
chromiumOptions,
port,
browserExecutable,
logLevel,
indent,
server,
serveUrlOrWebpackUrl,
onBrowserLog: null,
serializedInputPropsWithCustomSchema,
offthreadVideoCacheSizeInBytes,
offthreadVideoThreads,
binariesDirectory,
onBrowserDownload,
chromeMode,
mediaCacheSizeInBytes,
onLog: renderer_1.RenderInternals.defaultOnLog,
});
if (comps.length === 1) {
return {
compositionId: comps[0].id,
reason: 'Only composition',
config: comps[0],
argsAfterComposition: args,
};
}
if (!process.env.CI) {
const { compositionId, reason } = await (0, show_compositions_picker_1.showSingleCompositionsPicker)(comps, logLevel);
if (compositionId && typeof compositionId === 'string') {
return {
compositionId,
reason,
config: comps.find((c) => c.id === compositionId),
argsAfterComposition: args,
};
}
}
log_1.Log.error({ indent: false, logLevel }, 'Composition ID not passed.');
log_1.Log.error({ indent: false, logLevel }, 'Pass an extra argument <composition-id>.');
process.exit(1);
};
exports.getCompositionId = getCompositionId;