23 lines
800 B
JavaScript
Executable File
23 lines
800 B
JavaScript
Executable File
#! /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
|