utils.js 452 B

12345678910111213141516171819
  1. const fs = require('fs')
  2. const targets = exports.targets = fs.readdirSync('packages').filter(f => {
  3. return fs.statSync(`packages/${f}`).isDirectory()
  4. })
  5. exports.fuzzyMatchTarget = partialTarget => {
  6. const matched = []
  7. for (const target of targets) {
  8. if (target.match(partialTarget)) {
  9. matched.push(target)
  10. }
  11. }
  12. if (matched.length) {
  13. return matched
  14. } else {
  15. throw new Error(`Target ${partialTarget} not found!`)
  16. }
  17. }