// #! /usr/bin/env node import CliMgr from './lib/CliMgr'; import SocialMgr from './lib/mgr/SocialMgr'; import Util from './lib/util/Util'; import updateNotifier from 'update-notifier'; // tslint:disable-next-line:no-var-requires const pkg = require('../package.json'); import yargs from 'yargs'; const {uniqueNamesGenerator, starWars, adjectives, animals} = require('unique-names-generator'); /* get cli args */ const args = yargs .alias('u', 'url') .alias('m', 'module') .alias('n', 'nomodel') .help('help') .argv; /* cwd is reference to all commands */ args.folder = process.cwd(); /* handle command */ (async () => { // Checks for available update and returns an instance const notifier = updateNotifier({pkg}); // Notify using the built-in convenience method notifier.notify(); if (args._) { if (!args._.length) { await SocialMgr.showPrompt(); args._.unshift(uniqueNamesGenerator({ dictionaries: [[starWars], [adjectives, animals]][Math.floor(Math.random() * 2)] }).toLowerCase().replace(/[ -]/g, '_')); } await CliMgr.process(args); } else { Util.showHelp(args); process.exit(0) } })().catch(err => { console.error('\n\nThere was an error processing command:'); console.error(err); });