apeman-scff
Version:
Project scaffolding tool.
37 lines (31 loc) • 792 B
JavaScript
/**
* Ask configs for scaffold.
* @memberof module:apeman-scaffold/lib/scaffold
* @function askScaffold
*/
const evaljson = require('evaljson')
const gitconfig = require('gitconfig')
const co = require('co')
const path = require('path')
const askconfig = require('askconfig')
/** @lends askScaffold */
function askScaffold (type, dest, options = {}) {
return co(function * () {
let user = yield gitconfig.get('user')
let config = evaljson(type.ask, {
gitUser: Object.assign({
name: '__user_name__',
email: '__user_email__',
url: ''
}, user),
dirname: path.basename(dest)
})
if (options.straight) {
return config
} else {
return yield askconfig(config)
}
})
}
module.exports = askScaffold