'use strict' const inquirer = require('inquirer') const isValidNpmName = require('is-valid-npm-name') const path = require('path') module.exports = async (defaults) => { const info = await inquirer.prompt([ { type: 'input', name: 'name', message: 'Package Name', validate: (name) => { return name && name.length && isValidNpmName(name) } }, { type: 'input', name: 'description', message: 'Package Description', default: '' }, { type: 'input', name: 'author', message: 'Author\'s GitHub Handle', default: defaults.author }, { type: 'input', name: 'repo', message: 'GitHub Repo Path', default: (info) => `${info.author}/${info.name}` }, { type: 'input', name: 'license', message: 'License', default: 'MIT' }, { type: 'list', name: 'manager', message: 'Package Manager', choices: [ 'npm', 'yarn' ], default: defaults.manager } ]) info.yarn = (info.manager === 'yarn') info.dest = path.join(process.cwd(), info.name) return info }