UNPKG

adp

Version:

Toolkit for interfacing with ADP Marketplace API's

97 lines (68 loc) 2.5 kB
#!/usr/bin/env node --harmony var co = require('co'); var prompt = require('co-prompt'); var program = require('commander'); var chalk = require('chalk'); var git = require('simple-git')( process.cwd() ); var canned = require('canned'); var http = require('http'); var sourceGenerator = { b2c : 'ssh://git@bitbucket.es.ad.adp.com:7999/am/adp-node-sdk-generator-b2c.git', b2b : 'ssh://git@bitbucket.es.ad.adp.com:7999/am/adp-node-sdk-generator-b2c.git' } var sourceMock = 'ssh://git@bitbucket.es.ad.adp.com:7999/am/adp-nodejs-sdk-mock.git'; program .command('generate [type]') .alias('g') .description('Generate boilerplate application for type: B2B or B2C') .action(function(type, actions) { co(function *() { if(!(type === 'b2b' || type === 'b2c')) { type = yield prompt('b2c or b2b: (b2c)') } var sourceDir = process.cwd() + '/' + type + '-boilerplate'; git.clone(sourceGenerator[type], sourceDir, function() { console.log(chalk.yellow('Boilerplate created at '), chalk.inverse.yellow(sourceDir) ); }); }); }); program .command('mock') .alias('m') .option('-p, --port <portnumber>', 'The port number to serve mock results from.') .description('Launch a simplified mock server of the Marketplace API') .action(function(type, actions) { console.log("Checking for latest mock data files..."); var sourceDir = process.cwd() + '/mockdata'; git.outputHandler(function() {}) .clone(sourceMock, sourceDir, function() { var git2 = require('simple-git')( sourceDir ); git2.pull(null, null, function() { type.port = type.port ? type.port : 5050; console.log("Launching mock server on port: " + chalk.yellow(type.port)); var opts = { cors: true, logger: process.stdout } can = canned('./mockdata', opts) http.createServer(can).listen(type.port) }) }); }); program .command('certificate') .alias('g') .description('Generate certificate signing request') .action(function(type, actions) { co(function *() { if(!(type === 'b2b' || type === 'b2c')) { type = yield prompt('b2c or b2b: (b2c)') } var sourceDir = process.cwd() + '/' + type + '-boilerplate'; git.clone(sourceGenerator[type], sourceDir, function() { console.log(chalk.yellow('Boilerplate created at '), chalk.inverse.yellow(sourceDir) ); }); }); }); program.parse(process.argv);