getTarget.js 764 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. 'use strict'
  2. const browserslist = require('browserslist')
  3. function getBuildTargets(targ) {
  4. const SUPPORTED_BUILD_TARGETS = targ !== 'default' ?
  5. targ :
  6. [
  7. 'es',
  8. 'chrome',
  9. 'edge',
  10. 'firefox',
  11. 'ios',
  12. 'node',
  13. 'safari'
  14. ]
  15. const getEveryTar = browserslist().reverse()
  16. const sep = ' '
  17. const targets = []
  18. let singleTar = ''
  19. let i = 0
  20. for (const tar of getEveryTar) {
  21. for (const selTar of SUPPORTED_BUILD_TARGETS) {
  22. if (tar.startsWith(selTar + sep) && !singleTar.startsWith(selTar)) {
  23. i++
  24. singleTar = tar.replace(sep, '')
  25. targets[i] = singleTar
  26. }
  27. }
  28. }
  29. return targets.filter(Boolean)
  30. }
  31. module.exports.getTarget = targ => {
  32. return getBuildTargets(targ)
  33. }