const { notEmpty } = require('../utils.js'); module.exports = { description: 'generate vue component', prompts: [ { type: 'input', name: 'name', message: 'component name please', validate: notEmpty('name'), }, { type: 'checkbox', name: 'blocks', message: 'Blocks:', choices: [ { name: '<wxTemplate>', value: 'template', checked: true, }, { name: '<script>', value: 'script', checked: true, }, { name: 'style', value: 'style', checked: true, }, ], validate(value) { if (value.indexOf('script') === -1 && value.indexOf('template') === -1) { return 'Components require at least a <script> or <wxTemplate> tag.'; } return true; }, }, ], actions: (data) => { const name = '{{properCase name}}'; const actions = [ { type: 'add', path: `src/components/${name}/index.vue`, templateFile: 'plop-templates/component/index.hbs', data: { name: name, template: data.blocks.includes('template'), script: data.blocks.includes('script'), style: data.blocks.includes('style'), }, }, ]; return actions; }, };