UNPKG

zoroaster

Version:

A Modern Testing Framework For Node.js With Support For Test Contexts Which Can Be Reused Across Test Suites And Packages. Zoroaster Improves Developer Productivity And Experience With IDE Hints, And Test Reliability.

62 lines (57 loc) 1.39 kB
#!/usr/bin/env node const { resolve } = require('path'); const run = require('../lib/run'); let argufy = require('argufy'); if (argufy && argufy.__esModule) argufy = argufy.default; const getUsage = require('./usage'); const { version } = require('../../package.json'); const { babel, alamode, watch: _watch, version: _version, help: _help, paths: _paths = [], timeout: _timeout = 2000, _argv, } = argufy({ paths: { command: true, multiple: true }, babel: { short: 'b', boolean: true }, alamode: { short: 'a', boolean: true }, watch: { short: 'w', boolean: true }, version: { short: 'v', boolean: true }, help: { short: 'h', boolean: true }, timeout: { short: 't', number: true }, }) if (_version) { console.log(version) process.exit() } if (_help) { const usage = getUsage() console.log(usage) process.exit() } if (babel) { try { require('@babel/register') } catch (err) { const p = resolve(process.cwd(), 'node_modules/@babel/register') require(p) } } if (alamode) { require('alamode')() } (async () => { try { await run({ paths: [..._paths, ..._argv], watch: _watch, timeout: _timeout, }) } catch ({ message, stack }) { if (process.env.DEBUG) console.log(stack) // eslint-disable-line no-console console.error(message) // eslint-disable-line no-console process.exit(1) } })()