prompt.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. module.exports = {
  2. description: 'create a store',
  3. prompts: [
  4. {
  5. type: 'input',
  6. name: 'name',
  7. message: 'Please enter store name,such as "newStoreName" :',
  8. validate (value) {
  9. if (!value || value.trim === '') {
  10. return 'name is required';
  11. }
  12. return true;
  13. },
  14. }
  15. ],
  16. actions: (data) => {
  17. const dataName = data.name
  18. // 首字母大写
  19. const upperDataName = dataName.slice(0, 1).toUpperCase() + dataName.slice(1)
  20. const actions = [
  21. {
  22. type: 'add',
  23. path: `${process.cwd()}/src/store/modules/${dataName}Store/${dataName}Store.ts`, // 这里的name就是上面定义的键
  24. templateFile: './store-template/index.hbs',
  25. data: {
  26. name: data.name,
  27. upperDataName,
  28. }
  29. },
  30. {
  31. type: 'add',
  32. path: `${process.cwd()}/src/store/modules/${dataName}Store/${dataName}Store.d.ts`, // 这里的name就是上面定义的键
  33. templateFile: './store-template/index.d.hbs',
  34. data: {
  35. name: data.name,
  36. upperDataName,
  37. }
  38. },
  39. ]
  40. return actions
  41. }
  42. }