adp
Version:
Toolkit for interfacing with ADP Marketplace API's
97 lines (68 loc) • 2.5 kB
JavaScript
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);