fix: more pleasant error message
This commit is contained in:
@@ -4,25 +4,11 @@ import { createMain } from "citty";
|
||||
import { initializeCompletion, main } from "./command/main";
|
||||
import { provideContext } from "./lib/context";
|
||||
import { extractConfigArgument } from "./lib/config";
|
||||
import z, { ZodError } from "zod";
|
||||
|
||||
function formatUnknownError(error: unknown): string {
|
||||
if (error instanceof ZodError) return z.prettifyError(error);
|
||||
|
||||
if (error instanceof Error) {
|
||||
const stack = error.stack?.split("\n").slice(0, 3).join("\n");
|
||||
return stack && stack.trim().length > 0 ? stack : error.message;
|
||||
}
|
||||
|
||||
try {
|
||||
return JSON.stringify(error, null, 2);
|
||||
} catch {
|
||||
return String(error);
|
||||
}
|
||||
}
|
||||
import { formatUnknownError, wrapCommandErrors } from "./lib/error";
|
||||
|
||||
async function run() {
|
||||
await initializeCompletion();
|
||||
wrapCommandErrors(main);
|
||||
const cli = createMain(main);
|
||||
const { configPath, rawArgs } = extractConfigArgument(process.argv.slice(2));
|
||||
await provideContext(() => cli({ rawArgs }), configPath);
|
||||
|
||||
Reference in New Issue
Block a user