workspace-util.js 445 B

1234567891011121314151617181920212223242526
  1. const exec = require('./shell')
  2. exports.getPkgNameToLocationHash = getPkgNameToLocationHash
  3. exports.getPkgObjs = getPkgObjs
  4. function getPkgNameToLocationHash() {
  5. let objs = getPkgObjs()
  6. let hash = {}
  7. for (let obj of objs) {
  8. hash[obj.name] = obj.location
  9. }
  10. return hash
  11. }
  12. function getPkgObjs() {
  13. return exec.sync('yarn workspaces list --json')
  14. .stdout
  15. .trim()
  16. .split('\n')
  17. .map((str) => JSON.parse(str))
  18. }