create-nx-workspace
Version:
52 lines (51 loc) • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CreateNxWorkspaceError = exports.CnwError = void 0;
exports.mapErrorToBodyLines = mapErrorToBodyLines;
/**
* Custom error class for CNW errors.
* Used for structured error reporting and telemetry.
*/
class CnwError extends Error {
constructor(code, message, logFile, exitCode) {
super(message);
this.code = code;
this.logFile = logFile;
this.exitCode = exitCode;
this.name = 'CnwError';
}
}
exports.CnwError = CnwError;
/**
* @deprecated Use CnwError instead
*/
class CreateNxWorkspaceError extends Error {
constructor(logMessage, code, logFile) {
super(logMessage);
this.logMessage = logMessage;
this.code = code;
this.logFile = logFile;
this.name = 'CreateNxWorkspaceError';
}
}
exports.CreateNxWorkspaceError = CreateNxWorkspaceError;
function mapErrorToBodyLines(error) {
const errorLines = error.message?.split('\n').filter((line) => !!line.trim());
if (errorLines.length < 3) {
const lines = [`Error: ${error.message}`];
if (process.env.NX_VERBOSE_LOGGING === 'true') {
lines.push(`Stack: ${error.stack}`);
}
return lines;
}
const lines = error instanceof CreateNxWorkspaceError
? [`Exit code: ${error.code}`, `Log file: ${error.logFile}`]
: error instanceof CnwError && error.logFile
? [`Log file: ${error.logFile}`]
: [];
if (process.env.NX_VERBOSE_LOGGING === 'true') {
lines.push(`Error: ${error.message}`);
lines.push(`Stack: ${error.stack}`);
}
return lines;
}