user-option.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /**
  2. * @description 该脚本用来获取用户配置
  3. */
  4. const { program } = require('commander')
  5. const { createPromptModule } = require('inquirer')
  6. const { exec } = require('child_process')
  7. const prompt = createPromptModule()
  8. const packageMap = new Map([
  9. ['全部', 'all'],
  10. ['物联网', 'iot'],
  11. ['视联网', 'cvs'],
  12. ['数据中台', 'datacenter'],
  13. ['可视化', 'view'],
  14. ['用户权限', 'user']
  15. ])
  16. const routes = ['iot', 'cvs', 'datacenter', 'view', 'user']
  17. const promptList = [
  18. {
  19. type: 'list',
  20. message: '是否去掉logo',
  21. name: 'logo',
  22. choices: ['yes', 'no']
  23. },
  24. {
  25. type: 'checkbox',
  26. message: '请选择打包的模块',
  27. name: 'package',
  28. choices: ['全部', '物联网', '视联网', '数据中台', '可视化', '用户权限']
  29. },
  30. {
  31. type: 'list',
  32. message: '请选择打包的平台',
  33. name: 'platform',
  34. choices: ['web', 'mac', 'win']
  35. }
  36. ]
  37. prompt(promptList).then((res) => {
  38. const package = res.package.includes('全部') ? routes : res.package.map(item => packageMap.get(item))
  39. const userOPtions = JSON.stringify({
  40. logo: res.logo === 'yes',
  41. package: [(package.length === 0 ? routes : package).join('、')],
  42. platform: res.platform
  43. })
  44. console.log('重写配置项中......')
  45. exec('node plugins/build.js ' + userOPtions, (error, stdout, stderr) => {
  46. console.log(error)
  47. console.log(stdout)
  48. console.log(stderr)
  49. })
  50. })