#!/usr/bin/env node 'use strict' var minimist = require('minimist') var update = require('update-notifier') var chalk = require('chalk') var isTaken = require('is-taken') var Spin = require('io-spin') var symbols = require('log-symbols') var pkg = require('./package') var argv = minimist(process.argv.slice(2)) /** * Update notify */ update({pkg: pkg}).notify() /** * Version */ if (argv.v || argv.version) { console.log(pkg.version) process.exit() } /** * Resolve name */ var name = argv._[0] var silent = argv.silent if (name) { if (!silent) { var spin = new Spin() spin.start() } isTaken(name) .then(function (taken) { var msg if (taken) { if (taken.author && taken.author.name) { msg = taken.name + ' is owned by ' + taken.author.name + (taken.author.email ? '<' + taken.author.email + '>' : '') if (taken.description) { msg += '\n' + chalk.gray(taken.description) + '\n' + chalk.gray('https://npmjs.com/package/' + taken.name) } } else { msg = taken.name + ' is taken ' + chalk.gray('https://npmjs.com/package/' + name) } msg = symbols.error + ' ' + msg } else { msg = symbols.success + ' ' + name + ' is yours! Let the hacking begin! 🎉' } !silent && spin.stop() console.log(msg) }) .catch(function (e) { !silent && spin.stop() throw e }) }