From c19916ff1c7fe195b099753ddd92e1bca4c664b0 Mon Sep 17 00:00:00 2001 From: Julien Fontanet Date: Fri, 17 Apr 2015 14:05:49 +0200 Subject: [PATCH] Add CLI. --- packages/xo-lib/cli.js | 46 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 packages/xo-lib/cli.js diff --git a/packages/xo-lib/cli.js b/packages/xo-lib/cli.js new file mode 100755 index 000000000..26f03d5b6 --- /dev/null +++ b/packages/xo-lib/cli.js @@ -0,0 +1,46 @@ +#!/usr/bin/env node + +'use strict' + +// =================================================================== + +var Bluebird = require('bluebird') +var createRepl = require('repl').start +var eventToPromise = require('event-to-promise') +var pw = require('pw') + +var Xo = require('./').Xo + +// =================================================================== + +var usage = '' + +function main (args) { + if (args[0] === '--help' || args[0] === 'h') { + return usage + } + + var xo = new Xo(args[0]) + + return new Bluebird(function (resolve) { + process.stdout.write('Password: ') + pw(resolve) + }).then(function (password) { + return xo.signIn({ + email: args[1], + password: password + }) + }).then(function () { + var repl = createRepl({}) + repl.context.xo = xo + + return eventToPromise(repl, 'exit') + }) +} +module.exports = main + +// =================================================================== + +if (!module.parent) { + require('exec-promise')(main) +}