22 lines
490 B
JavaScript
22 lines
490 B
JavaScript
import { fileURLToPath } from 'node:url'
|
|
|
|
const isMain = (meta) => {
|
|
const path = fileURLToPath(meta.url)
|
|
|
|
return path.includes(process.argv[1])
|
|
}
|
|
|
|
import { errorreporter, summaryreporter } from '../index.js'
|
|
const runifmain = async (meta, fn, ...args) => {
|
|
if (!isMain(meta)) return
|
|
|
|
if (fn.name === 'runner' && fn.run) {
|
|
if (args.length == 0) args.push(summaryreporter(), errorreporter())
|
|
await fn.run(...args)
|
|
} else {
|
|
await fn(...args)
|
|
}
|
|
}
|
|
|
|
export { runifmain }
|