@antelopejs/core 1.4.3 → 1.4.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/core/downloaders/git.ts"],"names":[],"mappings":";;AA0GA,sDAiDC;AA1JD,gEAA6D;AAE7D,4CAA4C;AAC5C,8DAA0D;AAC1D,8CAA+C;AAE/C,wDAAoD;AAGpD,mCAA6C;AAE7C,MAAM,MAAM,GAAG,IAAI,iBAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAOjD,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,MAAc,EACd,GAAW,EACX,IAAmB;IAEnB,IAAI,GAAqD,CAAC;IAC1D,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,kCAAe,CAAC,WAAW,CAC/B,iCAAiC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAC1D,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,kCAAe,CAAC,WAAW,CAC/B,iCAAiC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CACzD,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,IAAmB;IACxD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,2CAA2C,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7E,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC;AAOD,KAAK,UAAU,gBAAgB,CAC7B,KAAkB,EAClB,MAAuB,EACvB,IAAmB,EACnB,IAAY,EACZ,MAAc;IAEd,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;IAE9C,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,MAAM,kCAAe,CAAC,YAAY,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,gBAAgB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,kCAAe,CAAC,WAAW,CAAC,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7D,OAAO;YACL,UAAU,EAAE,OAAO,SAAS,IAAI,eAAe,EAAE;YACjD,yBAAyB,EAAE,IAAI;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,kCAAe,CAAC,YAAY,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,gBAAgB,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,UAAU,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACzE,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7D,MAAM,kCAAe,CAAC,WAAW,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO;QACL,UAAU,EAAE,OAAO,SAAS,IAAI,eAAe,EAAE;QACjD,yBAAyB,EAAE,IAAI;KAChC,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CACnC,QAA4B,EAC5B,OAA0B,EAAE;IAE5B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,2BAAc,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,oBAAU,CAAC;IAErC,QAAQ,CAAC,QAAQ,CACf,KAAK,EACL,QAAQ,EACR,KAAK,EAAE,KAAkB,EAAE,MAAuB,EAAE,EAAE;QACpD,MAAM,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CACzC,KAAK,EACL,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,MAAM,CACP,CAAC;QAEF,IAAI,YAAY,CAAC,yBAAyB,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,IAAA,0BAAkB,EACtB,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,MAAM,EACN,MAAM,CAAC,cAAc,CACtB,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;YAC5B,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,gCAAc,CAAC,MAAM,CAC1C,MAAM,EACN,MAAM,EACN,UAAU,EACV,EAAE,CACH,CAAC;QACF,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/core/downloaders/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmLA,sDAmDC;AAtOD,gDAAkC;AAElC,gEAA6D;AAE7D,4CAA4C;AAC5C,8DAA0D;AAC1D,8CAA+C;AAE/C,wDAAoD;AAGpD,mCAA6C;AAE7C,MAAM,MAAM,GAAG,IAAI,iBAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAEjD,MAAM,OAAO,GAAG,MAAM,CAAC;AACvB,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAOlD,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,KAAa;IACzD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,4BAA4B,KAAK,KAAK,KAAK,iDAAiD,CAC7F,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,MAAuB;IAC7C,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAY;IACnC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAAe,EACf,GAAW,EACX,IAAmB;IAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,kCAAe,CAAC,WAAW,CAAC,IAAI,OAAO,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,IAAI,OAAO,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,MAAc,EACd,GAAW,EACX,IAAmB;IAEnB,IAAI,GAAqD,CAAC;IAC1D,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,kCAAe,CAAC,WAAW,CAC/B,iCAAiC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAC1D,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,kCAAe,CAAC,WAAW,CAC/B,iCAAiC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CACzD,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,IAAmB;IACxD,MAAM,GAAG,GAAG,MAAM,aAAa,CAC7B,2CAA2C,EAC3C,GAAG,EACH,IAAI,CACL,CAAC;IACF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/D,OAAO,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC;AAOD,KAAK,UAAU,SAAS,CACtB,KAAkB,EAClB,MAAuB,EACvB,IAAmB,EACnB,IAAY,EACZ,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;IAC9C,MAAM,kCAAe,CAAC,YAAY,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/D,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,aAAa,CAAC,aAAa,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5E,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,aAAa,CAAC,gBAAgB,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,kCAAe,CAAC,WAAW,CAAC,UAAU,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,OAAO;QACL,UAAU,EAAE,OAAO,SAAS,IAAI,eAAe,EAAE;QACjD,yBAAyB,EAAE,IAAI;KAChC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,MAAuB,EACvB,IAAmB,EACnB,MAAc,EACd,YAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;IAC9C,MAAM,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,kCAAe,CAAC,YAAY,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAChE,eAAe,CAChB,CAAC;IACF,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,kCAAe,CAAC,WAAW,CAC/B,mBAAmB,MAAM,CAAC,MAAM,qBAAqB,CACtD,CAAC;QACF,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC;IAC9D,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,aAAa,CAAC,gBAAgB,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,UAAU,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACzE,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,aAAa,CAAC,2BAA2B,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7D,MAAM,kCAAe,CAAC,WAAW,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9D,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO;QACL,UAAU,EAAE,OAAO,SAAS,IAAI,eAAe,EAAE;QACjD,yBAAyB,EAAE,IAAI;KAChC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,KAAkB,EAClB,MAAuB,EACvB,IAAmB,EACnB,EAAe,EACf,IAAY,EACZ,MAAc;IAEd,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,qBAAqB,CACnC,QAA4B,EAC5B,OAA0B,EAAE;IAE5B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,2BAAc,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,oBAAU,CAAC;IAErC,QAAQ,CAAC,QAAQ,CACf,KAAK,EACL,QAAQ,EACR,KAAK,EAAE,KAAkB,EAAE,MAAuB,EAAE,EAAE;QACpD,MAAM,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACvD,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CACzC,KAAK,EACL,MAAM,EACN,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,MAAM,CACP,CAAC;QAEF,IAAI,YAAY,CAAC,yBAAyB,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,IAAA,0BAAkB,EACtB,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,MAAM,EACN,MAAM,CAAC,cAAc,CACtB,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;YAC5B,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,gCAAc,CAAC,MAAM,CAC1C,MAAM,EACN,MAAM,EACN,UAAU,EACV,EAAE,CACH,CAAC;QACF,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -40,12 +40,15 @@ exports.registerPackageDownloader = registerPackageDownloader;
40
40
  const path = __importStar(require("node:path"));
41
41
  const logging_1 = require("@antelopejs/interface-core/logging");
42
42
  const inly_1 = __importDefault(require("inly"));
43
+ const semver_1 = require("semver");
43
44
  const command_1 = require("../cli/command");
44
45
  const package_manager_1 = require("../cli/package-manager");
45
46
  const filesystem_1 = require("../filesystem");
46
47
  const module_cache_1 = require("../module-cache");
47
48
  const module_manifest_1 = require("../module-manifest");
48
49
  const Logger = new logging_1.Logging.Channel("loader.package");
50
+ const PACKAGE_JSON = "package.json";
51
+ const NODE_MODULES = "node_modules";
49
52
  function defaultExtract(from, to) {
50
53
  return new Promise((resolve, reject) => {
51
54
  const instance = (0, inly_1.default)(from, to);
@@ -53,46 +56,154 @@ function defaultExtract(from, to) {
53
56
  instance.on("end", resolve);
54
57
  });
55
58
  }
56
- function registerPackageDownloader(registry, deps = {}) {
57
- const fs = deps.fs ?? new filesystem_1.NodeFileSystem();
58
- const exec = deps.exec ?? command_1.ExecuteCMD;
59
- const extract = deps.extract ?? defaultExtract;
60
- const installCommand = deps.getInstallCommand ?? package_manager_1.getInstallCommand;
61
- const getTemp = deps.getTemp ?? (() => module_cache_1.ModuleCache.getTemp());
62
- registry.register("package", "package", async (cache, source) => {
63
- Logger.Debug(`Loading package: ${source.package}@${source.version}`);
64
- let folder;
65
- let manifest;
66
- if (!source.ignoreCache &&
67
- cache.hasVersion(source.package, source.version)) {
68
- Logger.Trace(`Using cached version of ${source.package}@${source.version}`);
69
- folder = await cache.getFolder(source.package, true, true);
70
- manifest = JSON.parse(await fs.readFileString(path.join(folder, "package.json")));
59
+ function isExactVersion(spec) {
60
+ return (0, semver_1.valid)(spec) !== null;
61
+ }
62
+ function pickBestVersion(versions, spec) {
63
+ const range = (0, semver_1.validRange)(spec);
64
+ if (range) {
65
+ return (0, semver_1.maxSatisfying)(versions, range) ?? undefined;
66
+ }
67
+ return versions[versions.length - 1];
68
+ }
69
+ async function fetchRegistryVersion(pkg, spec, exec) {
70
+ let output;
71
+ try {
72
+ const result = await exec(`npm view "${pkg}@${spec}" version --json`, {});
73
+ if (result.code !== 0) {
74
+ return undefined;
75
+ }
76
+ output = result.stdout.trim();
77
+ }
78
+ catch {
79
+ return undefined;
80
+ }
81
+ if (!output) {
82
+ return undefined;
83
+ }
84
+ try {
85
+ const parsed = JSON.parse(output);
86
+ const versions = Array.isArray(parsed) ? parsed : [parsed];
87
+ return pickBestVersion(versions, spec);
88
+ }
89
+ catch {
90
+ Logger.Debug(`Unexpected npm view output for ${pkg}@${spec}: ${output}`);
91
+ return undefined;
92
+ }
93
+ }
94
+ function memoizeVersionFetcher(exec) {
95
+ const pending = new Map();
96
+ return (pkg, spec) => {
97
+ const key = `${pkg}@${spec}`;
98
+ const existing = pending.get(key);
99
+ if (existing) {
100
+ return existing;
101
+ }
102
+ const created = fetchRegistryVersion(pkg, spec, exec);
103
+ pending.set(key, created);
104
+ return created;
105
+ };
106
+ }
107
+ function cacheSatisfiesSpec(cached, spec) {
108
+ const range = (0, semver_1.validRange)(spec);
109
+ return range === null || (0, semver_1.satisfies)(cached, range);
110
+ }
111
+ async function resolveTargetVersion(source, cache, fetchVersion) {
112
+ if (isExactVersion(source.version)) {
113
+ return source.version;
114
+ }
115
+ const resolved = await fetchVersion(source.package, source.version);
116
+ if (resolved) {
117
+ Logger.Debug(`Resolved ${source.package}@${source.version} to ${resolved}`);
118
+ return resolved;
119
+ }
120
+ const cached = cache.getVersion(source.package);
121
+ if (cached && cacheSatisfiesSpec(cached, source.version)) {
122
+ if ((0, semver_1.validRange)(source.version) === null) {
123
+ Logger.Warn(`Registry unreachable, serving last cached ${source.package}@${cached} for tag '${source.version}' (cannot verify it is current)`);
71
124
  }
72
125
  else {
73
- Logger.Trace(`Downloading package ${source.package}@${source.version}`);
74
- const tmp = await getTemp();
75
- const result = await exec(`npm pack ${source.package}@${source.version}`, { cwd: tmp });
76
- if (result.code !== 0) {
77
- throw new Error(`Failed to pack npm package: ${result.stderr}`);
78
- }
79
- const filename = result.stdout.trim();
80
- Logger.Debug(`Extracting ${filename} for ${source.package}@${source.version}`);
81
- await extract(path.join(tmp, filename), tmp);
82
- const tmpPackage = path.join(tmp, "package");
83
- manifest = JSON.parse(await fs.readFileString(path.join(tmpPackage, "package.json")));
84
- Logger.Trace(`Transferring ${source.package}@${source.version} to cache`);
85
- folder = await cache.transfer(tmpPackage, source.package, manifest.version);
86
- Logger.Debug(`Installing dependencies for ${source.package}@${source.version}`);
87
- const cmd = await installCommand(folder);
88
- const installResult = await exec(cmd, { cwd: folder });
89
- if (installResult.code !== 0) {
90
- throw new Error(`Failed to install dependencies: ${installResult.stderr}`);
91
- }
126
+ Logger.Debug(`Registry unreachable, keeping cached ${source.package}@${cached}`);
92
127
  }
128
+ return cached;
129
+ }
130
+ throw new Error(`Failed to resolve version '${source.version}' of package ${source.package} from the npm registry`);
131
+ }
132
+ async function findCachedFolder(cache, pkg, fs) {
133
+ const folder = await cache.getFolder(pkg, true, true);
134
+ const manifestPath = path.join(folder, PACKAGE_JSON);
135
+ if (!(await fs.exists(manifestPath))) {
136
+ return undefined;
137
+ }
138
+ try {
139
+ const manifest = JSON.parse(await fs.readFileString(manifestPath));
140
+ const hasDependencies = Object.keys(manifest.dependencies ?? {}).length > 0;
141
+ if (hasDependencies &&
142
+ !(await fs.exists(path.join(folder, NODE_MODULES)))) {
143
+ return undefined;
144
+ }
145
+ }
146
+ catch {
147
+ return undefined;
148
+ }
149
+ return folder;
150
+ }
151
+ async function downloadPackage(cache, source, version, ctx) {
152
+ Logger.Trace(`Downloading package ${source.package}@${version}`);
153
+ const tmp = await ctx.getTemp();
154
+ const result = await ctx.exec(`npm pack "${source.package}@${version}"`, {
155
+ cwd: tmp,
156
+ });
157
+ if (result.code !== 0) {
158
+ throw new Error(`Failed to pack npm package: ${result.stderr}`);
159
+ }
160
+ const packOutput = result.stdout.trim().split("\n");
161
+ const filename = packOutput[packOutput.length - 1].trim();
162
+ Logger.Debug(`Extracting ${filename} for ${source.package}@${version}`);
163
+ await ctx.extract(path.join(tmp, filename), tmp);
164
+ const tmpPackage = path.join(tmp, "package");
165
+ const manifest = JSON.parse(await ctx.fs.readFileString(path.join(tmpPackage, PACKAGE_JSON)));
166
+ Logger.Trace(`Transferring ${source.package}@${version} to cache`);
167
+ await cache.clearVersion(source.package);
168
+ const folder = await cache.transfer(tmpPackage, source.package);
169
+ Logger.Debug(`Installing dependencies for ${source.package}@${version}`);
170
+ const cmd = await ctx.getInstallCommand(folder);
171
+ const installResult = await ctx.exec(cmd, { cwd: folder });
172
+ if (installResult.code !== 0) {
173
+ throw new Error(`Failed to install dependencies: ${installResult.stderr}`);
174
+ }
175
+ await cache.commitVersion(source.package, manifest.version);
176
+ return folder;
177
+ }
178
+ async function loadPackage(cache, source, ctx, fetchVersion) {
179
+ if (source.ignoreCache) {
180
+ return downloadPackage(cache, source, source.version, ctx);
181
+ }
182
+ const target = await resolveTargetVersion(source, cache, fetchVersion);
183
+ if (cache.hasVersion(source.package, target)) {
184
+ const cachedFolder = await findCachedFolder(cache, source.package, ctx.fs);
185
+ if (cachedFolder) {
186
+ Logger.Trace(`Using cached version of ${source.package}@${target}`);
187
+ return cachedFolder;
188
+ }
189
+ }
190
+ return downloadPackage(cache, source, target, ctx);
191
+ }
192
+ function registerPackageDownloader(registry, deps = {}) {
193
+ const ctx = {
194
+ fs: deps.fs ?? new filesystem_1.NodeFileSystem(),
195
+ exec: deps.exec ?? command_1.ExecuteCMD,
196
+ extract: deps.extract ?? defaultExtract,
197
+ getInstallCommand: deps.getInstallCommand ?? package_manager_1.getInstallCommand,
198
+ getTemp: deps.getTemp ?? (() => module_cache_1.ModuleCache.getTemp()),
199
+ };
200
+ const fetchVersion = memoizeVersionFetcher(ctx.exec);
201
+ registry.register("package", "package", async (cache, source) => {
202
+ Logger.Debug(`Loading package: ${source.package}@${source.version}`);
203
+ const folder = await loadPackage(cache, source, ctx, fetchVersion);
93
204
  Logger.Debug(`Successfully loaded ${source.package}@${source.version}`);
94
205
  const name = source.id ?? source.package;
95
- const moduleManifest = await module_manifest_1.ModuleManifest.create(folder, source, name, fs);
206
+ const moduleManifest = await module_manifest_1.ModuleManifest.create(folder, source, name, ctx.fs);
96
207
  return [moduleManifest];
97
208
  });
98
209
  }
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/core/downloaders/package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/core/downloaders/package.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export declare class ModuleCache {
3
3
  readonly path: string;
4
4
  private fs;
5
5
  private manifest;
6
- private saving;
6
+ private pendingSave;
7
7
  constructor(path: string, fs?: IFileSystem);
8
8
  load(): Promise<void>;
9
9
  save(): Promise<void>;
@@ -12,7 +12,8 @@ export declare class ModuleCache {
12
12
  hasVersion(module: string, version: string): boolean;
13
13
  getFolder(module: string, noClean?: boolean, noCreate?: boolean): Promise<string>;
14
14
  static getTemp(): Promise<string>;
15
- transfer(source: string, module: string, version: string): Promise<string>;
15
+ transfer(source: string, module: string): Promise<string>;
16
+ commitVersion(module: string, version: string): Promise<void>;
17
+ clearVersion(module: string): Promise<void>;
16
18
  private copyDir;
17
- private queueSave;
18
19
  }
@@ -43,7 +43,7 @@ class ModuleCache {
43
43
  path;
44
44
  fs;
45
45
  manifest = {};
46
- saving = false;
46
+ pendingSave = Promise.resolve();
47
47
  constructor(path, fs = new filesystem_1.NodeFileSystem()) {
48
48
  this.path = path;
49
49
  this.fs = fs;
@@ -51,24 +51,27 @@ class ModuleCache {
51
51
  async load() {
52
52
  await this.fs.mkdir(this.path, { recursive: true });
53
53
  const manifestPath = path.join(this.path, "manifest.json");
54
+ this.manifest = {};
54
55
  if (await this.fs.exists(manifestPath)) {
55
- const data = await this.fs.readFileString(manifestPath);
56
- this.manifest = JSON.parse(data) || {};
57
- }
58
- else {
59
- this.manifest = {};
56
+ try {
57
+ const data = await this.fs.readFileString(manifestPath);
58
+ this.manifest = JSON.parse(data) || {};
59
+ }
60
+ catch {
61
+ this.manifest = {};
62
+ }
60
63
  }
61
64
  }
62
- async save() {
65
+ save() {
63
66
  const manifestPath = path.join(this.path, "manifest.json");
64
- await this.fs.writeFile(manifestPath, JSON.stringify(this.manifest, null, 2));
67
+ this.pendingSave = this.pendingSave.then(() => this.fs.writeFile(manifestPath, JSON.stringify(this.manifest, null, 2)));
68
+ return this.pendingSave;
65
69
  }
66
70
  getVersion(module) {
67
71
  return this.manifest[module];
68
72
  }
69
73
  setVersion(module, version) {
70
74
  this.manifest[module] = version;
71
- this.queueSave();
72
75
  }
73
76
  hasVersion(module, version) {
74
77
  return !!(this.manifest[module] && (0, semver_1.satisfies)(this.manifest[module], version));
@@ -86,13 +89,19 @@ class ModuleCache {
86
89
  static getTemp() {
87
90
  return fsNode.mkdtemp(path.join(os.tmpdir(), "ajs-"));
88
91
  }
89
- async transfer(source, module, version) {
92
+ async transfer(source, module) {
90
93
  const dest = await this.getFolder(module, false, false);
91
94
  await this.copyDir(source, dest);
92
95
  await this.fs.rm(source, { recursive: true, force: true });
96
+ return dest;
97
+ }
98
+ async commitVersion(module, version) {
93
99
  this.setVersion(module, version);
94
100
  await this.save();
95
- return dest;
101
+ }
102
+ async clearVersion(module) {
103
+ delete this.manifest[module];
104
+ await this.save();
96
105
  }
97
106
  async copyDir(source, dest) {
98
107
  await this.fs.mkdir(dest, { recursive: true });
@@ -109,16 +118,6 @@ class ModuleCache {
109
118
  }
110
119
  }
111
120
  }
112
- queueSave() {
113
- if (this.saving) {
114
- return;
115
- }
116
- this.saving = true;
117
- setTimeout(() => {
118
- this.saving = false;
119
- void this.save();
120
- }, 1);
121
- }
122
121
  }
123
122
  exports.ModuleCache = ModuleCache;
124
123
  //# sourceMappingURL=module-cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-cache.js","sourceRoot":"","sources":["../../src/core/module-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-cache.js","sourceRoot":"","sources":["../../src/core/module-cache.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,11 @@ export interface OutdatedModule {
4
4
  current: string;
5
5
  latest: string;
6
6
  }
7
+ export declare function isUpToDate(currentSpec: string, latest: string): boolean;
8
+ export declare function bumpVersionSpec(currentSpec: string, latest: string): string;
9
+ export declare function toFloatingSpec(version: string): string;
10
+ export declare function fetchDistTags(packageName: string): Promise<Record<string, string>>;
11
+ export declare function validateVersionSpec(packageName: string, spec: string): Promise<void>;
7
12
  export declare function fetchLatestVersion(packageName: string): Promise<string>;
8
13
  export declare function checkOutdatedModules(modules: Record<string, ExpandedModuleConfig>): Promise<OutdatedModule[]>;
9
14
  export declare function warnOutdatedModules(outdated: OutdatedModule[]): void;
@@ -1,18 +1,64 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isUpToDate = isUpToDate;
4
+ exports.bumpVersionSpec = bumpVersionSpec;
5
+ exports.toFloatingSpec = toFloatingSpec;
6
+ exports.fetchDistTags = fetchDistTags;
7
+ exports.validateVersionSpec = validateVersionSpec;
3
8
  exports.fetchLatestVersion = fetchLatestVersion;
4
9
  exports.checkOutdatedModules = checkOutdatedModules;
5
10
  exports.warnOutdatedModules = warnOutdatedModules;
11
+ const semver_1 = require("semver");
6
12
  const cli_ui_1 = require("./cli/cli-ui");
7
13
  const command_1 = require("./cli/command");
8
14
  const package_manager_1 = require("./cli/package-manager");
9
15
  const NPM_VIEW_COMMAND = "npm view";
10
16
  const VERSION_ARGUMENT = "version";
17
+ const DIST_TAGS_ARGUMENT = "dist-tags --json";
18
+ const CARET_PREFIX = "^";
11
19
  const UPDATE_COMMAND = "ajs project modules update";
12
20
  const SLOW_CHECK_THRESHOLD_MS = 15_000;
13
21
  const MAX_REASON_LENGTH = 200;
22
+ const RANGE_PREFIX_PATTERN = /^[\^~]/;
23
+ function isUpToDate(currentSpec, latest) {
24
+ if (currentSpec === latest) {
25
+ return true;
26
+ }
27
+ const range = (0, semver_1.validRange)(currentSpec);
28
+ if (range === null) {
29
+ return true;
30
+ }
31
+ return (0, semver_1.satisfies)(latest, range);
32
+ }
33
+ function bumpVersionSpec(currentSpec, latest) {
34
+ const prefix = currentSpec.match(RANGE_PREFIX_PATTERN)?.[0] ?? "";
35
+ return `${prefix}${latest}`;
36
+ }
37
+ function toFloatingSpec(version) {
38
+ return `${CARET_PREFIX}${version}`;
39
+ }
40
+ async function fetchDistTags(packageName) {
41
+ const result = await (0, command_1.ExecuteCMD)(`${NPM_VIEW_COMMAND} ${packageName} ${DIST_TAGS_ARGUMENT}`, {});
42
+ if (result.code !== 0) {
43
+ throw new Error(`Failed to fetch dist-tags of ${packageName}: ${result.stderr}`);
44
+ }
45
+ return JSON.parse(result.stdout);
46
+ }
47
+ async function validateVersionSpec(packageName, spec) {
48
+ if ((0, semver_1.validRange)(spec) !== null) {
49
+ return;
50
+ }
51
+ const distTags = await fetchDistTags(packageName);
52
+ if (spec in distTags) {
53
+ return;
54
+ }
55
+ throw new Error(`'${spec}' is neither a valid semver range nor a dist-tag of '${packageName}'`);
56
+ }
14
57
  async function fetchLatestVersion(packageName) {
15
58
  const result = await (0, command_1.ExecuteCMD)(`${NPM_VIEW_COMMAND} ${packageName} ${VERSION_ARGUMENT}`, {});
59
+ if (result.code !== 0) {
60
+ throw new Error(`Failed to fetch version of ${packageName}: ${result.stderr}`);
61
+ }
16
62
  return (0, package_manager_1.parsePackageInfoOutput)(result.stdout);
17
63
  }
18
64
  async function checkOutdatedModules(modules) {
@@ -48,7 +94,7 @@ async function checkOutdatedModules(modules) {
48
94
  }
49
95
  const current = info.source.version;
50
96
  const latest = result.value;
51
- if (current !== latest) {
97
+ if (!isUpToDate(current, latest)) {
52
98
  outdated.push({ name, current, latest });
53
99
  }
54
100
  return outdated;
@@ -1 +1 @@
1
- {"version":3,"file":"version-checker.js","sourceRoot":"","sources":["../../src/core/version-checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version-checker.js","sourceRoot":"","sources":["../../src/core/version-checker.ts"],"names":[],"mappings":"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"}
@@ -6,19 +6,30 @@ export declare class FileWatcher {
6
6
  private fs;
7
7
  private hasher;
8
8
  private filesHash;
9
+ private moduleFiles;
9
10
  private listeners;
10
11
  private excludedDirs;
11
12
  private watchers;
12
13
  private watchedDirs;
14
+ private dirModules;
13
15
  private watchedFiles;
16
+ private changeChains;
17
+ private stopped;
14
18
  constructor(fs: IFileSystem, hasher?: FileHasher);
15
19
  onModuleChanged(listener: ModuleChangeListener): void;
16
20
  scanModule(moduleId: string, rootDir: string, watchDirs?: string[]): Promise<void>;
17
21
  watchFile(filePath: string, listener: FileChangeListener): Promise<void>;
18
22
  startWatching(): void;
19
23
  stopWatching(): void;
24
+ private enqueueChange;
25
+ private setFileEntry;
26
+ private deleteFileEntry;
20
27
  handleFileChange(filePath: string): Promise<void>;
21
28
  private handleWatchedFileChange;
29
+ private handleNewPath;
30
+ private handleRemovedDir;
31
+ private pruneDir;
32
+ getModuleSignature(moduleId: string): string;
22
33
  private exploreDir;
23
34
  private notifyModuleChange;
24
35
  private isExcludedPath;