Files
wxt/src/cli/utils/defineCommand.ts
T
2023-06-25 10:53:35 -05:00

22 lines
565 B
TypeScript

import { consola } from 'consola';
import { printHeader } from './printHeader';
export function defineCommand(
cb: (...args: any[]) => void | boolean | Promise<void | boolean>,
) {
return async (...args: any[]) => {
const startTime = Date.now();
try {
printHeader();
const ongoing = await cb(...args);
if (!ongoing) consola.success(`Finished in ${Date.now() - startTime} ms`);
} catch (err) {
consola.fail(`Command failed after ${Date.now() - startTime} ms`);
consola.error(err);
process.exit(1);
}
};
}