const makeDir = require('make-dir'); const port = (defaultAnswer) => { return { type : 'input', message: 'Enter a PORT for your server to run on.', default: defaultAnswer, name : 'port', }; }; const title = (defaultAnswer) => { return { type : 'input', message: 'Enter a title for your site.', default: defaultAnswer, name : 'title', }; }; const host = (defaultAnswer) => { return { type : 'input', message: 'Enter your site\'s domain.', default: defaultAnswer, name : 'host', }; }; const uploadDirectory = (defaultAnswer) => { return { type : 'input', message: 'Enter a directory where uploads should be stored.', default: defaultAnswer, name : 'uploadDirectory', validate (input) { // make sure the directory exists return new Promise((resolve, reject) => { console.log('\n\nCreating directory', input, '...'); try { const dirPath = makeDir.sync(input); console.log('Successfully created directory at', dirPath, '\n'); } catch (error) { console.log('Failed to create directory, please create directory manually.\n'); } resolve(true); }); }, }; }; module.exports = (defaultPort, defaultTitle, defaultHost, defaultUploadDirectory) => { return [ port(defaultPort), title(defaultTitle), host(defaultHost), uploadDirectory(defaultUploadDirectory), ]; };