1- #!/usr/bin/env ts-node
1+ #!/usr/bin/env tsx
22
3- import fs from 'fs' ;
4- import path from 'path' ;
5- import url from 'url' ;
3+ import fs from 'node: fs' ;
4+ import path from 'node: path' ;
5+ import url from 'node: url' ;
66import si from 'systeminformation' ;
7-
8- const dirname = url . fileURLToPath ( new URL ( '.' , import . meta. url ) ) ;
7+ import { benchesPath } from './utils/utils.js' ;
98
109async function main ( ) : Promise < void > {
11- await fs . promises . mkdir ( path . join ( dirname , 'results' ) , { recursive : true } ) ;
10+ await fs . promises . mkdir ( path . join ( benchesPath , 'results' ) , {
11+ recursive : true ,
12+ } ) ;
1213 const resultFilenames = await fs . promises . readdir (
13- path . join ( dirname , 'results' ) ,
14+ path . join ( benchesPath , 'results' ) ,
1415 ) ;
1516 const metricsFile = await fs . promises . open (
16- path . join ( dirname , 'results' , 'metrics.txt' ) ,
17+ path . join ( benchesPath , 'results' , 'metrics.txt' ) ,
1718 'w' ,
1819 ) ;
1920 let concatenating = false ;
2021 for ( const resultFilename of resultFilenames ) {
2122 if ( / .+ _ m e t r i c s \. t x t $ / . test ( resultFilename ) ) {
2223 const metricsData = await fs . promises . readFile (
23- path . join ( dirname , 'results' , resultFilename ) ,
24+ path . join ( benchesPath , 'results' , resultFilename ) ,
2425 ) ;
2526 if ( concatenating ) {
2627 await metricsFile . write ( '\n' ) ;
@@ -36,9 +37,16 @@ async function main(): Promise<void> {
3637 system : 'model, manufacturer' ,
3738 } ) ;
3839 await fs . promises . writeFile (
39- path . join ( dirname , 'results' , 'system.json' ) ,
40+ path . join ( benchesPath , 'results' , 'system.json' ) ,
4041 JSON . stringify ( systemData , null , 2 ) ,
4142 ) ;
4243}
4344
44- void main ( ) ;
45+ if ( import . meta. url . startsWith ( 'file:' ) ) {
46+ const modulePath = url . fileURLToPath ( import . meta. url ) ;
47+ if ( process . argv [ 1 ] === modulePath ) {
48+ void main ( ) ;
49+ }
50+ }
51+
52+ export default main ;
0 commit comments