@proteinjs/reflection-build 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/src/build.js +30 -15
  3. package/dist/src/build.js.map +1 -1
  4. package/dist/src/codegen/writeGeneratedIndex.d.ts +7 -1
  5. package/dist/src/codegen/writeGeneratedIndex.js +13 -5
  6. package/dist/src/codegen/writeGeneratedIndex.js.map +1 -1
  7. package/dist/src/parser/createSourceGraph.d.ts +1 -1
  8. package/dist/src/parser/createSourceGraph.js +36 -22
  9. package/dist/src/parser/createSourceGraph.js.map +1 -1
  10. package/package.json +4 -4
  11. package/src/build.ts +45 -14
  12. package/src/codegen/writeGeneratedIndex.ts +23 -4
  13. package/src/parser/createSourceGraph.ts +21 -12
  14. package/test/examples/source-repository/a/dist/build.js +30 -15
  15. package/test/examples/source-repository/a/dist/build.js.map +1 -1
  16. package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.d.ts +7 -1
  17. package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.js +13 -5
  18. package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.js.map +1 -1
  19. package/test/examples/source-repository/a/dist/parser/createSourceGraph.d.ts +1 -1
  20. package/test/examples/source-repository/a/dist/parser/createSourceGraph.js +36 -22
  21. package/test/examples/source-repository/a/dist/parser/createSourceGraph.js.map +1 -1
  22. package/test/examples/source-repository/a/node_modules/.package-lock.json +6 -6
  23. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/CHANGELOG.md +13 -0
  24. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/Fs.d.ts +23 -0
  25. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/Fs.js +67 -0
  26. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/Fs.js.map +1 -1
  27. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/GitUtil.d.ts +297 -10
  28. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/GitUtil.js +349 -112
  29. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/GitUtil.js.map +1 -1
  30. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/cmd.d.ts +10 -1
  31. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/cmd.js +91 -48
  32. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/cmd.js.map +1 -1
  33. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/package.json +2 -2
  34. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/Fs.ts +75 -0
  35. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/GitUtil.ts +248 -110
  36. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/cmd.ts +84 -59
  37. package/test/examples/source-repository/a/package-lock.json +8 -8
  38. package/test/examples/source-repository/a/package.json +2 -2
  39. package/test/examples/source-repository/b/dist/build.js +30 -15
  40. package/test/examples/source-repository/b/dist/build.js.map +1 -1
  41. package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.d.ts +7 -1
  42. package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.js +13 -5
  43. package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.js.map +1 -1
  44. package/test/examples/source-repository/b/dist/parser/createSourceGraph.d.ts +1 -1
  45. package/test/examples/source-repository/b/dist/parser/createSourceGraph.js +36 -22
  46. package/test/examples/source-repository/b/dist/parser/createSourceGraph.js.map +1 -1
  47. package/test/examples/source-repository/b/node_modules/.package-lock.json +4 -4
  48. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/CHANGELOG.md +13 -0
  49. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.d.ts +23 -0
  50. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.js +67 -0
  51. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.js.map +1 -1
  52. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/GitUtil.d.ts +297 -10
  53. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/GitUtil.js +349 -112
  54. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/GitUtil.js.map +1 -1
  55. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/cmd.d.ts +10 -1
  56. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/cmd.js +91 -48
  57. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/cmd.js.map +1 -1
  58. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/package.json +2 -2
  59. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/Fs.ts +75 -0
  60. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/GitUtil.ts +248 -110
  61. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/cmd.ts +84 -59
  62. package/test/examples/source-repository/b/package-lock.json +6 -6
  63. package/test/examples/source-repository/b/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"GitUtil.js","sourceRoot":"","sources":["../../src/GitUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GitUtil.js","sourceRoot":"","sources":["../../src/GitUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA4B;AAK5B,IAAM,kBAAkB,GAAe;IACrC,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;QACtB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;KACvB;CACF,CAAC;AAEF;IAAA;IAwIA,CAAC;IAvIc,gCAAwB,GAArC,UAAsC,SAAiB,EAAE,IAAqB;;;;;;wBACtE,IAAI,GAAG,CAAC,OAAO,EAAE,+CAA+C,EAAE,SAAS,CAAC,CAAC;wBAC7E,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;;;;KACxC;IAEY,YAAI,GAAjB,UAAkB,SAAiB,EAAE,IAAqB;;;;;;wBAClD,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;wBAChB,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;;;;KACxC;IAEY,iBAAS,GAAtB,UAAuB,SAAiB,EAAE,MAAc,EAAE,IAAqB;;;;;;wBACvE,IAAI,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAC/C,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;;;;KACxC;IAEY,iBAAS,GAAtB,UAAuB,SAAiB,EAAE,MAAc,EAAE,IAAqB;;;;;;wBACvE,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAC3C,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;;;;KACxC;IAEY,cAAM,GAAnB,UAAoB,SAAiB,EAAE,OAAe,EAAE,IAAqB;;;;;;wBACrE,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;wBACjC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;;;;KACxC;IAEY,YAAI,GAAjB,UAAkB,SAAiB,EAAE,IAAqB;;;;;;wBAClD,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;wBAChB,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;;;;KACxC;IAEY,YAAI,GAAjB,UAAkB,SAAiB,EAAE,IAAqB;;;;;;wBAClD,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;wBAChB,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;;;;KACxC;IAEY,cAAM,GAAnB,UAAoB,SAAiB,EAAE,IAAqB;;;;;;wBACpD,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAClB,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;;;;KACxC;IAEY,cAAM,GAAnB,UAAoB,SAAiB,EAAE,IAAqB;;;;;;wBACpD,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBACrB,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;;;;KACxC;IAEY,YAAI,GAAjB,UAAkB,SAAiB,EAAE,IAAqB;;;;4BACxD,qBAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAA;;wBAAnC,SAAmC,CAAC;wBACpC,qBAAM,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAA;;wBAAnC,SAAmC,CAAC;;;;;KACrC;IAED,sCAAsC;IACzB,qBAAa,GAA1B,UAA2B,SAAiB,EAAE,IAAqB;;;;;;wBAC3D,IAAI,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;wBAC7C,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACpC,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,EAAA;;wBAAjD,MAAM,GAAK,CAAA,SAAsC,CAAA,OAA3C;wBACd,sBAAO,MAAM,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAC;;;;KACpC;IAED,mCAAmC;IACtB,eAAO,GAApB,UAAqB,SAAiB,EAAE,IAAqB;;;;;;wBACrD,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;wBAC7B,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACpC,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,EAAA;;wBAAjD,MAAM,GAAK,CAAA,SAAsC,CAAA,OAA3C;wBACd,sBAAO,MAAM,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAC;;;;KACpC;IAED,yCAAyC;IAC5B,oBAAY,GAAzB,UAA0B,SAAiB,EAAE,IAAY,EAAE,IAAqB;;;;;;wBACxE,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;wBAChC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;;;;KACxC;IAED,mCAAmC;IACtB,gBAAQ,GAArB,UAAsB,SAAiB,EAAE,IAAY,EAAE,IAAqB;;;;;;wBACpE,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;wBAC1B,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;;;;KACxC;IAED,sFAAsF;IACzE,iBAAS,GAAtB,UAAuB,SAAiB,EAAE,OAAe,EAAE,KAAa,EAAE,IAAqB;;;;;;;wBACvF,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,UAAG,OAAO,eAAK,KAAK,CAAE,CAAC,CAAC;wBACpD,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACjD,GAAG,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,mCAAI,kBAAkB,CAAC;wBACzB,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAA;;wBAA3C,MAAM,GAAK,CAAA,SAAgC,CAAA,OAArC;wBACd,sBAAO,MAAM,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,EAAC;;;;KAC7B;IAED;;;;OAIG;IACU,kBAAU,GAAvB,UACE,SAAiB,EACjB,KAAa,EACb,IAAoE;;QAApE,qBAAA,EAAA,SAAoE;;;;;;wBAE9D,IAAI,GAAG,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;wBAC9C,IAAI,IAAI,CAAC,OAAO,EAAE;4BAChB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;yBACxB;wBACD,IAAI,IAAI,CAAC,MAAM,EAAE;4BACf,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;yBACvB;wBACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAwB;wBAClC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACjD,OAAO,GAAG,MAAA,IAAI,CAAC,GAAG,mCAAI,kBAAkB,CAAC;wBAC/C,qBAAM,IAAA,SAAG,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,wBAAO,OAAO,KAAE,KAAK,EAAE,KAAK,IAAG,EAAA;;wBAAzD,SAAyD,CAAC;;;;;KAC3D;IAEY,wBAAgB,GAA7B,UAA8B,SAAiB,EAAE,IAAqB;;;;;;;;wBAGlE,qBAAM,IAAA,SAAG,EACP,KAAK,EACL,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAC/B,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EACnC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,mCAAI,kBAAkB,CAChC,EAAA;;wBALD,SAKC,CAAC;wBACF,sBAAO,KAAK,EAAC;;;wBAEb,sBAAO,IAAI,EAAC;;;;;KAEf;IACH,cAAC;AAAD,CAAC,AAxID,IAwIC;AAxIY,0BAAO;AA0IpB,6EAA6E;AAEhE,QAAA,oCAAoC,GAAG,0BAA0B,CAAC;AAClE,QAAA,gCAAgC,GAAG;IAC9C,UAAU,EAAE;QACV,IAAI,EAAE,4CAAoC;QAC1C,WAAW,EAAE,4DAA4D;QACzE,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE;aACrF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD,IAAI,EAAE,UAAO,MAA6B;;oBAAK,qBAAM,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAA;oBAAxD,sBAAA,SAAwD,EAAA;;aAAA;CACxG,CAAC;AAEW,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE;QACV,IAAI,EAAE,wBAAgB;QACtB,WAAW,EAAE,4DAA4D;QACzE,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;aAChG;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD,IAAI,EAAE,UAAO,MAA6B;;oBAAK,qBAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAA;oBAApC,sBAAA,SAAoC,EAAA;;aAAA;CACpF,CAAC;AAEW,QAAA,qBAAqB,GAAG,cAAc,CAAC;AACvC,QAAA,iBAAiB,GAAG;IAC/B,UAAU,EAAE;QACV,IAAI,EAAE,6BAAqB;QAC3B,WAAW,EAAE,iEAAiE;QAC9E,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;gBACjF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;aAC7D;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;SAClC;KACF;IACD,IAAI,EAAE,UAAO,MAA6C;;oBACxD,qBAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAA;oBAAxD,sBAAA,SAAwD,EAAA;;aAAA;CAC3D,CAAC;AAEW,QAAA,qBAAqB,GAAG,cAAc,CAAC;AACvC,QAAA,iBAAiB,GAAG;IAC/B,UAAU,EAAE;QACV,IAAI,EAAE,6BAAqB;QAC3B,WAAW,EAAE,+DAA+D;QAC5E,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;gBACjF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;aAC7D;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;SAClC;KACF;IACD,IAAI,EAAE,UAAO,MAA6C;;oBACxD,qBAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAA;oBAAxD,sBAAA,SAAwD,EAAA;;aAAA;CAC3D,CAAC;AAEW,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,cAAc,GAAG;IAC5B,UAAU,EAAE;QACV,IAAI,EAAE,0BAAkB;QACxB,WAAW,EAAE,iEAAiE;QAC9E,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;gBACjF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;aAC/D;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;SACnC;KACF;IACD,IAAI,EAAE,UAAO,MAA8C;;oBACzD,qBAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,EAAA;oBAAtD,sBAAA,SAAsD,EAAA;;aAAA;CACzD,CAAC;AAEW,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE;QACV,IAAI,EAAE,wBAAgB;QACtB,WAAW,EAAE,+EAA+E;QAC5F,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aAClF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD,IAAI,EAAE,UAAO,MAA6B;;oBAAK,qBAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAA;oBAApC,sBAAA,SAAoC,EAAA;;aAAA;CACpF,CAAC;AAEW,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE;QACV,IAAI,EAAE,wBAAgB;QACtB,WAAW,EAAE,6EAA6E;QAC1F,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aAClF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD,IAAI,EAAE,UAAO,MAA6B;;oBAAK,qBAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAA;oBAApC,sBAAA,SAAoC,EAAA;;aAAA;CACpF,CAAC;AAEW,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,cAAc,GAAG;IAC5B,UAAU,EAAE;QACV,IAAI,EAAE,0BAAkB;QACxB,WAAW,EAAE,iEAAiE;QAC9E,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aAClF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD,IAAI,EAAE,UAAO,MAA6B;;oBAAK,qBAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAA;oBAAtC,sBAAA,SAAsC,EAAA;;aAAA;CACtF,CAAC;AAEW,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,cAAc,GAAG;IAC5B,UAAU,EAAE;QACV,IAAI,EAAE,0BAAkB;QACxB,WAAW,EAAE,kEAAkE;QAC/E,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aAClF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD,IAAI,EAAE,UAAO,MAA6B;;oBAAK,qBAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAA;oBAAtC,sBAAA,SAAsC,EAAA;;aAAA;CACtF,CAAC;AAEW,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE;QACV,IAAI,EAAE,wBAAgB;QACtB,WAAW,EAAE,6EAA6E;QAC1F,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aAClF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD,IAAI,EAAE,UAAO,MAA6B;;oBAAK,qBAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAA;oBAApC,sBAAA,SAAoC,EAAA;;aAAA;CACpF,CAAC;AAEW,QAAA,yBAAyB,GAAG,kBAAkB,CAAC;AAC/C,QAAA,qBAAqB,GAAG;IACnC,UAAU,EAAE;QACV,IAAI,EAAE,iCAAyB;QAC/B,WAAW,EAAE,6BAA6B;QAC1C,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;aACnE;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD,IAAI,EAAE,UAAO,MAA6B;;oBAAK,qBAAM,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,EAAA;oBAA7C,sBAAA,SAA6C,EAAA;;aAAA;CAC7F,CAAC;AAEW,QAAA,mBAAmB,GAAG,YAAY,CAAC;AACnC,QAAA,eAAe,GAAG;IAC7B,UAAU,EAAE;QACV,IAAI,EAAE,2BAAmB;QACzB,WAAW,EAAE,qBAAqB;QAClC,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;aACnE;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD,IAAI,EAAE,UAAO,MAA6B;;oBAAK,qBAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAA;oBAAvC,sBAAA,SAAuC,EAAA;;aAAA;CACvF,CAAC;AAEW,QAAA,wBAAwB,GAAG,iBAAiB,CAAC;AAC7C,QAAA,oBAAoB,GAAG;IAClC,UAAU,EAAE;QACV,IAAI,EAAE,gCAAwB;QAC9B,WAAW,EAAE,mCAAmC;QAChD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBAClE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;aACrD;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;SAChC;KACF;IACD,IAAI,EAAE,UAAO,MAA2C;;oBACtD,qBAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAA;oBAAzD,sBAAA,SAAyD,EAAA;;aAAA;CAC5D,CAAC;AAEW,QAAA,oBAAoB,GAAG,aAAa,CAAC;AACrC,QAAA,gBAAgB,GAAG;IAC9B,UAAU,EAAE;QACV,IAAI,EAAE,4BAAoB;QAC1B,WAAW,EAAE,6BAA6B;QAC1C,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBAClE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;aACrD;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;SAChC;KACF;IACD,IAAI,EAAE,UAAO,MAA2C;;oBAAK,qBAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAA;oBAArD,sBAAA,SAAqD,EAAA;;aAAA;CACnH,CAAC;AAEW,QAAA,qBAAqB,GAAG,cAAc,CAAC;AACvC,QAAA,iBAAiB,GAAG;IAC/B,UAAU,EAAE;QACV,IAAI,EAAE,6BAAqB;QAC3B,WAAW,EAAE,wDAAwD;QACrE,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBAClE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;gBACjD,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;aAC9C;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC;SACtC;KACF;IACD,IAAI,EAAE,UAAO,MAAuD;;oBAClE,qBAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,EAAA;oBAAjE,sBAAA,SAAiE,EAAA;;aAAA;CACpE,CAAC;AAEW,QAAA,sBAAsB,GAAG,eAAe,CAAC;AACzC,QAAA,kBAAkB,GAAG;IAChC,UAAU,EAAE;QACV,IAAI,EAAE,8BAAsB;QAC5B,WAAW,EAAE,mCAAmC;QAChD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBAClE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;gBACvD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC7E,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,4BAA4B,EAAE,OAAO,EAAE,KAAK,EAAE;aACvF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC;SACjC;KACF;IACD,IAAI,EAAE,UAAO,MAAiF;;;wBAC5F,qBAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE;wBACvD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;wBACzB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM;qBACxB,CAAC,EAAA;wBAHF,sBAAA,SAGE,EAAA;;;SAAA;CACL,CAAC;AAEW,QAAA,YAAY,GAAG;IAC1B,wCAAgC;IAChC,oBAAY;IACZ,yBAAiB;IACjB,yBAAiB;IACjB,sBAAc;IACd,oBAAY;IACZ,oBAAY;IACZ,sBAAc;IACd,sBAAc;IACd,oBAAY;IACZ,6BAAqB;IACrB,uBAAe;IACf,4BAAoB;IACpB,wBAAgB;IAChB,yBAAiB;IACjB,0BAAkB;CACnB,CAAC"}
@@ -1,7 +1,11 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import * as ChildProcess from 'child_process';
3
4
  export type LogOptions = {
5
+ /** Prefix each printed line with this string (cosmetic only). */
4
6
  logPrefix?: string;
7
+ /** Optional data to write to the child process stdin, then end() it. */
8
+ stdin?: string | Buffer;
5
9
  omitLogs?: {
6
10
  stdout?: {
7
11
  omit?: boolean;
@@ -15,4 +19,9 @@ export type LogOptions = {
15
19
  };
16
20
  };
17
21
  };
18
- export declare function cmd(command: string, args?: readonly string[], options?: ChildProcess.SpawnOptionsWithoutStdio | ChildProcess.SpawnOptionsWithStdioTuple<ChildProcess.StdioPipe | ChildProcess.StdioNull, ChildProcess.StdioPipe | ChildProcess.StdioNull, ChildProcess.StdioPipe | ChildProcess.StdioNull>, logOptions?: LogOptions): Promise<unknown>;
22
+ export type CmdResult = {
23
+ code: number;
24
+ stdout: string;
25
+ stderr: string;
26
+ };
27
+ export declare function cmd(command: string, args?: readonly string[], options?: ChildProcess.SpawnOptionsWithoutStdio | ChildProcess.SpawnOptionsWithStdioTuple<ChildProcess.StdioPipe | ChildProcess.StdioNull, ChildProcess.StdioPipe | ChildProcess.StdioNull, ChildProcess.StdioPipe | ChildProcess.StdioNull>, logOptions?: LogOptions): Promise<CmdResult>;
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
14
  if (k2 === undefined) k2 = k;
4
15
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -58,68 +69,100 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
58
69
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
70
  }
60
71
  };
72
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
73
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
74
+ if (ar || !(i in from)) {
75
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
76
+ ar[i] = from[i];
77
+ }
78
+ }
79
+ return to.concat(ar || Array.prototype.slice.call(from));
80
+ };
61
81
  Object.defineProperty(exports, "__esModule", { value: true });
62
82
  exports.cmd = void 0;
63
83
  var ChildProcess = __importStar(require("child_process"));
64
84
  function cmd(command, args, options, logOptions) {
85
+ var _a, _b;
86
+ if (args === void 0) { args = []; }
65
87
  if (options === void 0) { options = {}; }
66
88
  return __awaiter(this, void 0, void 0, function () {
67
- var p;
68
- return __generator(this, function (_a) {
69
- p = ChildProcess.spawn(command, args ? args : [], Object.assign({
70
- cwd: process.cwd(),
71
- }, options));
72
- return [2 /*return*/, new Promise(function (resolve, reject) {
73
- var _a, _b;
74
- (_a = p.stdout) === null || _a === void 0 ? void 0 : _a.on('data', function (x) {
75
- var _a, _b, _c, _d, _e, _f;
76
- if (((_b = (_a = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _a === void 0 ? void 0 : _a.stdout) === null || _b === void 0 ? void 0 : _b.omit) ||
77
- (((_d = (_c = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _c === void 0 ? void 0 : _c.stdout) === null || _d === void 0 ? void 0 : _d.shouldOmit) && logOptions.omitLogs.stdout.shouldOmit())) {
78
- return;
79
- }
80
- var rawLog = x.toString();
81
- var filteredLog = ((_f = (_e = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _e === void 0 ? void 0 : _e.stdout) === null || _f === void 0 ? void 0 : _f.filter) ? logOptions.omitLogs.stdout.filter(rawLog) : rawLog;
82
- if (!filteredLog) {
83
- return;
84
- }
85
- process.stdout.write(prefixLog(filteredLog, logOptions === null || logOptions === void 0 ? void 0 : logOptions.logPrefix));
86
- });
87
- (_b = p.stderr) === null || _b === void 0 ? void 0 : _b.on('data', function (x) {
88
- var _a, _b, _c, _d, _e, _f;
89
- if (((_b = (_a = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _a === void 0 ? void 0 : _a.stderr) === null || _b === void 0 ? void 0 : _b.omit) ||
90
- (((_d = (_c = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _c === void 0 ? void 0 : _c.stderr) === null || _d === void 0 ? void 0 : _d.shouldOmit) && logOptions.omitLogs.stderr.shouldOmit())) {
89
+ var proc, stdoutChunks, stderrChunks, omitStdout, omitStderr;
90
+ return __generator(this, function (_c) {
91
+ switch (_c.label) {
92
+ case 0:
93
+ proc = ChildProcess.spawn(command, __spreadArray([], args, true), __assign({ cwd: process.cwd() }, options));
94
+ stdoutChunks = [];
95
+ stderrChunks = [];
96
+ omitStdout = function () {
97
+ var _a, _b, _c, _d;
98
+ return !!(((_b = (_a = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _a === void 0 ? void 0 : _a.stdout) === null || _b === void 0 ? void 0 : _b.omit) ||
99
+ (((_d = (_c = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _c === void 0 ? void 0 : _c.stdout) === null || _d === void 0 ? void 0 : _d.shouldOmit) && logOptions.omitLogs.stdout.shouldOmit()));
100
+ };
101
+ omitStderr = function () {
102
+ var _a, _b, _c, _d;
103
+ return !!(((_b = (_a = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _a === void 0 ? void 0 : _a.stderr) === null || _b === void 0 ? void 0 : _b.omit) ||
104
+ (((_d = (_c = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _c === void 0 ? void 0 : _c.stderr) === null || _d === void 0 ? void 0 : _d.shouldOmit) && logOptions.omitLogs.stderr.shouldOmit()));
105
+ };
106
+ // If caller provided stdin data, write it immediately then end().
107
+ if ((logOptions === null || logOptions === void 0 ? void 0 : logOptions.stdin) !== undefined && proc.stdin) {
108
+ proc.stdin.write(logOptions.stdin);
109
+ proc.stdin.end();
110
+ }
111
+ (_a = proc.stdout) === null || _a === void 0 ? void 0 : _a.on('data', function (chunk) {
112
+ var _a, _b;
113
+ stdoutChunks.push(chunk);
114
+ if (omitStdout()) {
91
115
  return;
92
116
  }
93
- var rawLog = x.toString();
94
- var filteredLog = ((_f = (_e = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _e === void 0 ? void 0 : _e.stderr) === null || _f === void 0 ? void 0 : _f.filter) ? logOptions.omitLogs.stderr.filter(rawLog) : rawLog;
95
- if (!filteredLog) {
96
- return;
117
+ var raw = Buffer.from(chunk).toString();
118
+ var filtered = ((_b = (_a = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _a === void 0 ? void 0 : _a.stdout) === null || _b === void 0 ? void 0 : _b.filter) ? logOptions.omitLogs.stdout.filter(raw) : raw;
119
+ if (filtered) {
120
+ process.stdout.write(prefixLog(filtered, logOptions === null || logOptions === void 0 ? void 0 : logOptions.logPrefix));
97
121
  }
98
- process.stderr.write(prefixLog(filteredLog, logOptions === null || logOptions === void 0 ? void 0 : logOptions.logPrefix));
99
122
  });
100
- p.on('error', function (error) {
101
- var _a, _b, _c, _d, _e, _f;
102
- if (((_b = (_a = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _a === void 0 ? void 0 : _a.stderr) === null || _b === void 0 ? void 0 : _b.omit) ||
103
- (((_d = (_c = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _c === void 0 ? void 0 : _c.stderr) === null || _d === void 0 ? void 0 : _d.shouldOmit) && logOptions.omitLogs.stderr.shouldOmit())) {
123
+ (_b = proc.stderr) === null || _b === void 0 ? void 0 : _b.on('data', function (chunk) {
124
+ var _a, _b;
125
+ stderrChunks.push(chunk);
126
+ if (omitStderr()) {
104
127
  return;
105
128
  }
106
- var rawLog = error.toString();
107
- var filteredLog = ((_f = (_e = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _e === void 0 ? void 0 : _e.stderr) === null || _f === void 0 ? void 0 : _f.filter) ? logOptions.omitLogs.stderr.filter(rawLog) : rawLog;
108
- if (!filteredLog) {
109
- return;
129
+ var raw = Buffer.from(chunk).toString();
130
+ var filtered = ((_b = (_a = logOptions === null || logOptions === void 0 ? void 0 : logOptions.omitLogs) === null || _a === void 0 ? void 0 : _a.stderr) === null || _b === void 0 ? void 0 : _b.filter) ? logOptions.omitLogs.stderr.filter(raw) : raw;
131
+ if (filtered) {
132
+ process.stderr.write(prefixLog(filtered, logOptions === null || logOptions === void 0 ? void 0 : logOptions.logPrefix));
110
133
  }
111
- process.stderr.write(prefixLog(filteredLog, logOptions === null || logOptions === void 0 ? void 0 : logOptions.logPrefix));
112
134
  });
113
- p.on('exit', function (code) {
114
- var logCode = "child process '".concat(command, " ").concat(args ? args.join(' ') : '', "' exited with code: ").concat(code);
115
- if (code === 0) {
116
- resolve(code);
117
- }
118
- else {
119
- reject(logCode);
120
- }
121
- });
122
- })];
135
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
136
+ proc.once('error', function (err) {
137
+ var stderr = Buffer.concat(stderrChunks).toString();
138
+ var stdout = Buffer.concat(stdoutChunks).toString();
139
+ var e = new Error("spawn error for '".concat(command, " ").concat(args.join(' '), "': ").concat(String(err)));
140
+ e.stdout = stdout;
141
+ e.stderr = stderr;
142
+ reject(e);
143
+ });
144
+ // Use 'close' to ensure stdio is flushed
145
+ proc.once('close', function (code, signal) {
146
+ var stdout = Buffer.concat(stdoutChunks).toString();
147
+ var stderr = Buffer.concat(stderrChunks).toString();
148
+ var exitCode = typeof code === 'number' ? code : -1;
149
+ if (exitCode === 0) {
150
+ resolve({ code: exitCode, stdout: stdout, stderr: stderr });
151
+ }
152
+ else {
153
+ var msg = signal
154
+ ? "process '".concat(command, " ").concat(args.join(' '), "' terminated by signal: ").concat(signal)
155
+ : "process '".concat(command, " ").concat(args.join(' '), "' exited with code: ").concat(exitCode);
156
+ var err = new Error(msg);
157
+ err.code = exitCode;
158
+ err.stdout = stdout;
159
+ err.stderr = stderr;
160
+ reject(err);
161
+ }
162
+ });
163
+ })];
164
+ case 1: return [2 /*return*/, _c.sent()];
165
+ }
123
166
  });
124
167
  });
125
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../../src/cmd.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteinjs/util-node",
3
- "version": "1.4.2",
3
+ "version": "1.5.0",
4
4
  "description": "Util libs for node",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -42,5 +42,5 @@
42
42
  "jest": "^29.6.4",
43
43
  "ts-jest": "^29.1.1"
44
44
  },
45
- "gitHead": "3b1ff320173f164081139d6a7ca982a6e6b8f455"
45
+ "gitHead": "c16bfabf2b026ea68509396accfe2e7563b3551b"
46
46
  }
@@ -2,6 +2,7 @@ import path from 'path';
2
2
  import fsExtra from 'fs-extra';
3
3
  import fs from 'fs/promises';
4
4
  import globby from 'globby';
5
+ import { cmd } from './cmd';
5
6
 
6
7
  export type File = {
7
8
  path: string;
@@ -19,6 +20,12 @@ export interface FileDescriptor {
19
20
  projectRelativePath: string;
20
21
  }
21
22
 
23
+ export type GrepMatch = {
24
+ path: string;
25
+ line: number;
26
+ excerpt: string;
27
+ };
28
+
22
29
  export class Fs {
23
30
  static async exists(path: string) {
24
31
  return await fsExtra.exists(path);
@@ -142,4 +149,72 @@ export class Fs {
142
149
  static async move(sourcePath: string, destinationPath: string) {
143
150
  await fsExtra.move(sourcePath, destinationPath);
144
151
  }
152
+
153
+ /**
154
+ * Minimal, robust grep wrapper.
155
+ * - Literal search (-F) to avoid regex surprises like "parentheses not balanced"
156
+ * - Recursive (-R), show file and line (-nH), no color, ignore binary (-I)
157
+ * - Excludes heavy dirs: node_modules, dist, .git, generated, protein
158
+ * - Optional maxColumns (default 500) truncates each output line via `cut -c1-N`
159
+ * - Returns { code, stdout, stderr } without throwing on non-zero exit codes.
160
+ */
161
+ static async grep(params: {
162
+ pattern: string;
163
+ dir?: string; // search root; defaults to process.cwd()
164
+ maxResults?: number; // passed as -m <N>
165
+ maxColumns?: number; // truncates each output line via cut -c1-N (default 500). Set <=0 to disable.
166
+ }): Promise<{ code: number; stdout: string; stderr: string }> {
167
+ const { pattern, dir, maxResults, maxColumns } = params || {};
168
+ if (!pattern || typeof pattern !== 'string') {
169
+ throw new Error('Fs.grep: "pattern" (string) is required.');
170
+ }
171
+ const cwd = dir || process.cwd();
172
+
173
+ const args: string[] = [
174
+ '-R', // recurse
175
+ '-n', // line numbers
176
+ '-H', // show filename
177
+ '-I', // ignore binary files
178
+ '--color=never',
179
+ '-F', // literal match (no regex surprises)
180
+ '--exclude-dir=node_modules',
181
+ '--exclude-dir=dist',
182
+ '--exclude-dir=.git',
183
+ '--exclude-dir=generated',
184
+ '--exclude-dir=protein',
185
+ '--exclude=CHANGELOG.md',
186
+ ];
187
+
188
+ if (typeof maxResults === 'number' && maxResults > 0) {
189
+ args.push('-m', String(maxResults));
190
+ }
191
+
192
+ // Use -e to ensure the pattern is treated as a single argument
193
+ args.push('-e', pattern, '.');
194
+
195
+ // Helper to shell-escape args when we build a pipeline string
196
+ const shEscape = (s: string) => `'${String(s).replace(/'/g, `'\\''`)}'`;
197
+
198
+ const cols = typeof maxColumns === 'number' ? maxColumns : 500;
199
+
200
+ try {
201
+ if (cols > 0) {
202
+ // Truncate with cut; preserve grep's exit code using pipefail
203
+ const grepCmd = ['grep', ...args].map(shEscape).join(' ');
204
+ const pipeline = `set -o pipefail; ${grepCmd} | cut -c1-${cols}`;
205
+ const res = await cmd('bash', ['-lc', pipeline], { cwd });
206
+ return res; // { code: 0, stdout, stderr: '' } on success
207
+ } else {
208
+ // No truncation requested
209
+ const res = await cmd('grep', args, { cwd });
210
+ return res;
211
+ }
212
+ } catch (e: any) {
213
+ // Translate rejection into a structured result (no throw)
214
+ const code = typeof e?.code === 'number' ? e.code : -1;
215
+ const stdout = typeof e?.stdout === 'string' ? e.stdout : '';
216
+ const stderr = typeof e?.stderr === 'string' ? e.stderr : String(e);
217
+ return { code, stdout, stderr };
218
+ }
219
+ }
145
220
  }