vuesion/vuesion

View on GitHub
_templates/new/component/prompt.js

Summary

Maintainability
A
0 mins
Test Coverage
// eslint-disable-next-line @typescript-eslint/no-var-requires
const { startCase, camelCase, kebabCase } = require('lodash');

module.exports = [
  {
    type: 'input',
    name: 'name',
    message: 'Component name:',
    result(value) {
      return startCase(camelCase(value)).replace(/ /g, '');
    },
    validate(value) {
      if (!value.length) {
        return 'Components must have a name.';
      }
      return true;
    },
  },
  {
    type: 'input',
    name: 'folder',
    message: 'Component folder:',
    initial: 'common',
    result(value) {
      return kebabCase(value);
    },
  },
];