prompt.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. const { notEmpty } = require('../utils.js')
  2. module.exports = {
  3. description: '创建curd',
  4. prompts: [
  5. {
  6. type: 'input',
  7. name: 'name',
  8. message: '请输入view名称,然后点击回车',
  9. validate: notEmpty('name'),
  10. },
  11. ],
  12. actions: () => {
  13. const pathCaseName = '{{ pathCase name }}'
  14. const properCaseName = '{{ properCase name }}'
  15. const camelCaseName = '{{ camelCase name }}'
  16. return [
  17. {
  18. type: 'add',
  19. path: `src/views/${pathCaseName}/index.vue`,
  20. templateFile: './plop-template/curd/index.hbs',
  21. },
  22. {
  23. type: 'add',
  24. path: `src/views/${pathCaseName}/vabAutoComponents/${properCaseName}Edit.vue`,
  25. templateFile: './plop-template/curd/edit.hbs',
  26. },
  27. {
  28. type: 'add',
  29. path: `mock/controller/${camelCaseName}.ts`,
  30. templateFile: './plop-template/curd/mock.hbs',
  31. },
  32. {
  33. type: 'add',
  34. path: `src/api/${camelCaseName}.ts`,
  35. templateFile: './plop-template/curd/api.hbs',
  36. },
  37. ]
  38. },
  39. }