Files
clawbot/skills/remotion-prompt-video/node_modules/@remotion/cli/dist/browser-download-bar.js

82 lines
3.5 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultBrowserDownloadProgress = void 0;
const renderer_1 = require("@remotion/renderer");
const chalk_1 = require("./chalk");
const log_1 = require("./log");
const make_progress_bar_1 = require("./make-progress-bar");
const progress_bar_1 = require("./progress-bar");
const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-logger");
const truthy_1 = require("./truthy");
const makeDownloadProgress = ({ bytesDownloaded, totalBytes, doneIn, chromeMode, }) => {
const progress = bytesDownloaded / totalBytes;
return [
`${doneIn ? 'Got' : 'Getting'} ${chromeMode === 'chrome-for-testing'
? 'Chrome for Testing'
: 'Headless Shell'}`.padEnd(progress_bar_1.LABEL_WIDTH, ' '),
(0, make_progress_bar_1.makeProgressBar)(progress, false),
doneIn === null
? (progress * 100).toFixed(0) + '%'
: chalk_1.chalk.gray(`${doneIn}ms`),
]
.filter(truthy_1.truthy)
.join(' ');
};
const defaultBrowserDownloadProgress = ({ indent, logLevel, quiet, onProgress, }) => {
return ({ chromeMode }) => {
if (chromeMode === 'chrome-for-testing') {
log_1.Log.info({ indent, logLevel }, 'Downloading Chrome for Testing https://www.remotion.dev/chrome-for-testing');
}
else {
log_1.Log.info({ indent, logLevel }, chalk_1.chalk.gray('Downloading Chrome Headless Shell https://www.remotion.dev/chrome-headless-shell'));
}
const updatesDontOverwrite = (0, should_use_non_overlaying_logger_1.shouldUseNonOverlayingLogger)({ logLevel });
const productName = chromeMode === 'chrome-for-testing'
? 'Chrome for Testing'
: 'Headless Shell';
if (updatesDontOverwrite) {
let lastProgress = 0;
return {
version: null,
onProgress: (progress) => {
if (progress.downloadedBytes > lastProgress + 10000000) {
lastProgress = progress.downloadedBytes;
log_1.Log.info({ indent, logLevel }, `Getting ${productName} - ${renderer_1.RenderInternals.toMegabytes(progress.downloadedBytes)}/${renderer_1.RenderInternals.toMegabytes(progress.totalSizeInBytes)}`);
}
if (progress.percent === 1) {
log_1.Log.info({ indent, logLevel }, `Got ${productName}`);
}
},
};
}
const cliOutput = (0, progress_bar_1.createOverwriteableCliOutput)({
quiet,
indent,
cancelSignal: null,
updatesDontOverwrite,
});
const startedAt = Date.now();
let doneIn = null;
return {
version: null,
onProgress: (progress) => {
if (progress.percent === 1) {
doneIn = Date.now() - startedAt;
}
onProgress({
alreadyAvailable: progress.alreadyAvailable,
progress: progress.percent,
doneIn,
});
cliOutput.update(makeDownloadProgress({
doneIn,
bytesDownloaded: progress.downloadedBytes,
totalBytes: progress.totalSizeInBytes,
chromeMode,
}), progress.percent === 1);
},
};
};
};
exports.defaultBrowserDownloadProgress = defaultBrowserDownloadProgress;