fix: Print durations as ms/s based on total time
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { consola } from 'consola';
|
||||
import { printHeader } from './printHeader';
|
||||
import { formatDuration } from '../../utils/formatDuration';
|
||||
|
||||
export function defineCommand(
|
||||
cb: (...args: any[]) => void | boolean | Promise<void | boolean>,
|
||||
@@ -11,9 +12,14 @@ export function defineCommand(
|
||||
|
||||
const ongoing = await cb(...args);
|
||||
|
||||
if (!ongoing) consola.success(`Finished in ${Date.now() - startTime} ms`);
|
||||
if (!ongoing)
|
||||
consola.success(
|
||||
`Finished in ${formatDuration(Date.now() - startTime)}`,
|
||||
);
|
||||
} catch (err) {
|
||||
consola.fail(`Command failed after ${Date.now() - startTime} ms`);
|
||||
consola.fail(
|
||||
`Command failed after ${formatDuration(Date.now() - startTime)}`,
|
||||
);
|
||||
consola.error(err);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
+5
-1
@@ -15,6 +15,7 @@ import pc from 'picocolors';
|
||||
import * as vite from 'vite';
|
||||
import { findOpenPort } from './utils/findOpenPort';
|
||||
import { relative } from 'path';
|
||||
import { formatDuration } from './utils/formatDuration';
|
||||
|
||||
export { version } from '../package.json';
|
||||
export * from './types/external';
|
||||
@@ -79,6 +80,7 @@ async function buildInternal(config: InternalConfig): Promise<BuildOutput> {
|
||||
const verb = config.command === 'serve' ? 'Pre-rendering' : 'Building';
|
||||
const target = `${config.browser}-mv${config.manifestVersion}`;
|
||||
config.logger.info(`${verb} ${pc.cyan(target)} for ${pc.cyan(config.mode)}`);
|
||||
const startTime = Date.now();
|
||||
|
||||
// Cleanup
|
||||
await fs.rm(config.outDir, { recursive: true, force: true });
|
||||
@@ -94,7 +96,9 @@ async function buildInternal(config: InternalConfig): Promise<BuildOutput> {
|
||||
await writeManifest(manifest, output, config);
|
||||
|
||||
// Post-build
|
||||
config.logger.success('Entrypoints built');
|
||||
config.logger.success(
|
||||
`Built extension in ${formatDuration(Date.now() - startTime)}`,
|
||||
);
|
||||
await printBuildSummary(output, config);
|
||||
|
||||
return output;
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
export function formatDuration(duration: number): string {
|
||||
if (duration < 1e3) return `${duration} ms`;
|
||||
if (duration < 10e3) return `${(duration / 1e3).toFixed(3)} s`;
|
||||
if (duration < 60e3) return `${(duration / 1e3).toFixed(1)} s`;
|
||||
return `${(duration / 1e3).toFixed(0)} s`;
|
||||
}
|
||||
Reference in New Issue
Block a user