UNPKG

appc-cli-expressjs

Version:
56 lines (47 loc) 1.31 kB
var path = require('path'), exec = require('child_process').exec; var TYPE = require('../appc').TYPE, optsMap = require('../appc').OPTS_MAP; module.exports = { type: TYPE, subtype: 'server', name: 'Node Express Server', execute: execute, provisioned: provisioned }; function execute(appc, args, opts, callback) { appc.log.level(opts.logLevel || 'info'); callback(); } /** * called when a component has been provisioned */ function provisioned (appc, type, opts, config, callback) { appc.log.trace('express provisioned called',type); if (!config.acs || config.express_generated) { return callback(); } var obj = {}; Object.keys(config.acs.keys).forEach(function(env){ obj[env] = { key: config.acs.keys[env], baseurl: config.acs.acsbase[env], username: config.acs.usernames[env], password: config.acs.passwords[env] }; }); config.express_generated = true; var appDir = config.server._path; // generate templates var templateObj = { ACSConfig: JSON.stringify(obj,null,2) }; appc.generate.copyTemplates(path.join(__dirname,'..','templates'),appDir,opts.name,opts.id,opts.author,templateObj, function () { if (opts.workspace) { var manifest = {}; manifest.server = appDir; appc.core.writeManifest(opts.workspace, manifest); } callback(); }); }