Files
dealplustech/node_modules/astro/dist/cli/throw-and-exit.js
Kunthawat 77ac4d2d05 feat: Upgrade to Astro with full PDPA compliance
PDPA Features:
 Cookie consent banner
 Consent logging API
 Admin dashboard
 Privacy Policy
 Terms & Conditions

Technical:
 Astro 5.x + Tailwind v4
 Docker on port 80
 SQLite database
 15 pages built

Ready for Easypanel deployment.
2026-03-12 10:01:04 +07:00

26 lines
1.0 KiB
JavaScript

import { collectErrorMetadata } from "../core/errors/dev/index.js";
import { isAstroConfigZodError } from "../core/errors/errors.js";
import { createSafeError } from "../core/errors/index.js";
import { debug } from "../core/logger/core.js";
import { formatErrorMessage } from "../core/messages.js";
import { eventError, telemetry } from "../events/index.js";
async function throwAndExit(cmd, err) {
if (isAstroConfigZodError(err)) {
process.exit(1);
}
let telemetryPromise;
let errorMessage;
function exitWithErrorMessage() {
console.error(errorMessage);
process.exit(1);
}
const errorWithMetadata = collectErrorMetadata(createSafeError(err));
telemetryPromise = telemetry.record(eventError({ cmd, err: errorWithMetadata, isFatal: true }));
errorMessage = formatErrorMessage(errorWithMetadata, true);
setTimeout(exitWithErrorMessage, 400);
await telemetryPromise.catch((err2) => debug("telemetry", `record() error: ${err2.message}`)).then(exitWithErrorMessage);
}
export {
throwAndExit
};