@@ -4,13 +4,25 @@ import reporter from 'measure-loop/reporter';
44import md_reporter from 'measure-loop/reporter/md' ;
55import json_reporter from 'measure-loop/reporter/json' ;
66import { env } from 'measure-loop' ;
7+ import { writeFileSync } from 'node:fs' ;
78
89export default < T extends Runnable > ( meta : ImportMeta , b : T ) : T => {
910 if ( meta . main ) {
10- const format = process . argv . at ( 2 ) ;
11- if ( format === 'md' ) b . run ( { env, reporter : md_reporter } ) . then ( console . log ) ;
12- else if ( format === 'json' ) b . run ( { env, reporter : json_reporter } ) . then ( console . log ) ;
13- else b . run ( { env, reporter } ) ;
11+ const file = process . argv . at ( 2 ) ;
12+ if ( file ) {
13+ if ( file . endsWith ( '.md' ) ) {
14+ b . run ( { env, reporter : md_reporter } ) . then ( ( content ) => {
15+ console . log ( content ) ;
16+ writeFileSync ( file , content ) ;
17+ } ) ;
18+ } else if ( file . endsWith ( '.json' ) ) {
19+ b . run ( { env, reporter : json_reporter } ) . then ( ( content ) => {
20+ let str = JSON . stringify ( content , null , 2 ) ;
21+ console . log ( JSON . stringify ( content , null , 2 ) ) ;
22+ writeFileSync ( file , str ) ;
23+ } ) ;
24+ } else throw new Error ( 'unknown extension' ) ;
25+ } else b . run ( { env, reporter } ) ;
1426 }
1527 return b ;
1628} ;
0 commit comments