#! /usr/bin/env node const flags = require('minimist')( process.argv.slice(2) ) const params = flags._ delete flags._ const moduleStr = params.shift() const [ esmodule, exported ] = (moduleStr || '').split(':') const isCli = process.cwd() == __dirname flags.verbose || flags.v && console.log( params, flags, esmodule || require('./package.json').module, exported, __dirname, isCli ) module.exports = require('esm')( module, { await: true } ) ( `./${isCli && esmodule ? esmodule : require('./package.json').module}` ) let toCall = module.exports[ exported || 'default' ] let returned = typeof toCall == 'function' ? toCall( flags, ...params ) : toCall returned instanceof Promise ? returned.then( ret=> console.log(ret), e=>console.error(e) ) : console.log( returned ) // module.exports = mod