user-option.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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 userOptionsStr = `--logo=${res.logo} --package=${package.length === 0 ? routes : package} --platform=${res.platform}`
  40. console.log('重写配置项中......')
  41. exec('node plugins/build.js ' + userOptionsStr, (error, stdout, stderr) => {
  42. console.log(error)
  43. console.log(stdout)
  44. console.log(stderr)
  45. })
  46. })