Files
story-studio/remotion/node_modules/@remotion/cli/dist/print-error.js
2026-02-21 10:33:18 +01:00

51 lines
2.4 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.printError = void 0;
const renderer_1 = require("@remotion/renderer");
const chalk_1 = require("./chalk");
const code_frame_1 = require("./code-frame");
const log_1 = require("./log");
const progress_bar_1 = require("./progress-bar");
const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-logger");
const printError = async (err, logLevel) => {
if (err instanceof renderer_1.RenderInternals.SymbolicateableError) {
const updatesDoOverwrite = !(0, should_use_non_overlaying_logger_1.shouldUseNonOverlayingLogger)({ logLevel });
const output = (0, progress_bar_1.createOverwriteableCliOutput)({
quiet: false,
cancelSignal: null,
updatesDontOverwrite: !updatesDoOverwrite,
indent: false,
});
if (updatesDoOverwrite) {
output.update(chalk_1.chalk.red('Symbolicating minified error message...\n' + err.message), false);
}
try {
const symbolicated = await renderer_1.RenderInternals.symbolicateError(err);
if (symbolicated.frame !== null && symbolicated.chunk !== null) {
output.update(chalk_1.chalk.red(`An error occurred while rendering frame ${err.frame} on chunk ${err.chunk}:`), true);
}
else if (symbolicated.frame !== null) {
output.update(chalk_1.chalk.red(`An error occurred while rendering frame ${err.frame}:`), true);
}
else if (symbolicated.chunk !== null) {
output.update(chalk_1.chalk.red(`An error occurred on chunk ${err.chunk}:`), true);
}
else {
output.update(chalk_1.chalk.red('An error occurred:'), true);
}
(0, code_frame_1.printCodeFrameAndStack)({ symbolicated, logLevel });
renderer_1.RenderInternals.printUsefulErrorMessage(err, logLevel, false);
}
catch (e) {
output.update(chalk_1.chalk.red(''), true);
log_1.Log.error({ indent: false, logLevel });
log_1.Log.error({ indent: false, logLevel }, err.stack || err);
log_1.Log.verbose({ indent: false, logLevel }, 'Error symbolicating error');
log_1.Log.verbose({ indent: false, logLevel }, e);
}
return;
}
log_1.Log.error({ indent: false, logLevel }, err.stack || err);
};
exports.printError = printError;