UNPKG

skyrocket-cli

Version:

Command line interface for rapid Skyrocket projects development.

71 lines (69 loc) 2.22 kB
const path = require('path') const user = require('./git-user') module.exports = { init_flow: { cli_projectName: { type: 'input', message: 'Project name: (e.g. Skyrocket Digital)', default: path.parse(process.cwd()).base }, cli_projectNameLower: { type: 'input', message: 'One word in lowercase to descript the project: (e.g. skyrocket) ', default: path.parse(process.cwd()).base, validate: answer => { if (!/^\b[a-z0-9_/-]+\b$/.test(answer)) { return 'Please input only one word in lowercase' } else { return true } } }, cli_projectDesc: { type: 'input', message: 'Project description: ' }, cli_author: { type: 'input', message: 'Author: ', default: user }, cli_domain: { type: 'input', message: 'Project domain (naked domain): ', default: 'e.g. skyrocket.com', validate: answer => { if (!/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/g.test(answer)) { return 'Please input valid domain.' } else if (!/^(?!(http:|https:|www\.)).*/g.test(answer)) { return 'Naked domain should not has http, https or www in the beginning.' } else { return true } } }, cli_prefix_or_not: { type: 'confirm', name: 'cli_prefix_or_not', message: 'Do you want class prefix? e.g. #sky-header (Not Recommand)', default: true }, cli_prefix: { type: 'input', message: 'Prefix: ', default: 'Three lowercase letters, like sky or sxh', when: answer => answer.cli_prefix_or_not, validate: answer => /^[a-z]{2}$/g.test(answer) ? true : 'Prefix has to be three lowercase letters' } // cli_installPackage: { // type: 'list', // message: 'Run `npm install` for you after the project has been created?', // choices: [ // {name: 'Yes, use NPM', value: 'npm'}, // {name: 'Yes, use Yarn (recommended)', value: 'yarn'}, // {name: 'No, thanks', value: undefined} // ], // default: 'yarn' // } } }