depflow 3.0.0-dev.11 → 3.0.0-dev.13
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.
- package/README.md +494 -162
- package/dist/cli/Actions.d.ts +194 -0
- package/dist/cli/Actions.js +803 -0
- package/dist/cli/Actions.js.map +1 -0
- package/dist/cli/CLI.d.ts +70 -4
- package/dist/cli/CLI.js +70 -7
- package/dist/cli/CLI.js.map +1 -1
- package/dist/cli/DepflowCLI.d.ts +66 -0
- package/dist/cli/DepflowCLI.js +228 -0
- package/dist/cli/DepflowCLI.js.map +1 -0
- package/dist/cli/bin.d.ts +6 -0
- package/dist/cli/bin.js +8 -32
- package/dist/cli/bin.js.map +1 -1
- package/dist/config/Config.d.ts +1 -1
- package/dist/dependency/DepUtils.d.ts +35 -7
- package/dist/dependency/DepUtils.js +64 -13
- package/dist/dependency/DepUtils.js.map +1 -1
- package/dist/schema/Config/Config.d.ts +1 -1
- package/dist/schema/Config/Dependency.d.ts +3 -3
- package/dist/schema/Config/Dependency.js +3 -3
- package/dist/schema/Config/Dependency.js.map +1 -1
- package/package.json +3 -2
- package/dist/cli/DepFLowCLI.d.ts +0 -93
- package/dist/cli/DepFLowCLI.js +0 -413
- package/dist/cli/DepFLowCLI.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Actions.js","sourceRoot":"","sources":["../../src/cli/Actions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAK5C,MAAM,KAAW,OAAO,CAwyBvB;AAxyBD,WAAiB,OAAO;IAuFpB;;;;;;;;;;;;;OAaG;IACH,SAAgB,MAAM,CAAC,OAAO,GAAY,EAAE;QACxC,OAAO,IAAI,YAAY,CAAC;YACpB,MAAM,EAAE,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACnD,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;YACjC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;YAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;SACrC,CAAC,CAAC;IACP,CAAC;IARe,QAAA,MAAM,SAQrB,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,GAAG,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAE3E,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBAErC,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvE,MAAM,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC1E,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAEvE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvF,IAAI,KAAK;oBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,IAAI,sEAAsE,CAAC,CAAC;gBACvI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAEpB,GAAG,CAAC,IAAI,CAAC,yBAAyB,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;gBAChD,OAAO;YACX,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;YAExB,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAEjC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACjC,IAAI,CAAC,IAAI;gBAAE,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE7C,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAErH,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;YACpF,IAAI,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,IAAI,sEAAsE,CAAC,CAAC;YAClI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;QAChD,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IA7CqB,QAAA,GAAG,MA6CxB,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,MAAM,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAChF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAE,UAAU,CAAE,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAE1E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YAC9G,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YACtF,IAAI,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,cAAc,CAAC,CAAC;YAE1G,KAAK,MAAM,GAAG,IAAI,UAAU;gBAAE,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YACxH,KAAK,MAAM,GAAG,IAAI,UAAU;gBAAE,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YAExH,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YACtH,MAAM,CAAC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YACjG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,GAAG,CAAC,IAAI,CAAC,uBAAuB,UAAU,IAAI,CAAC,CAAC;QACpD,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAxBqB,QAAA,MAAM,SAwB3B,CAAA;IAED;;;;;;;;;;OAUG;IACI,KAAK,UAAU,OAAO,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QACjF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAE9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;YACjD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;YAEpD,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAE5C,IAAI,eAAe,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;YAElK,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1G,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1G,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAEzH,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC1C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACD,IAAI,KAAK;wBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC9C,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC;oBACxE,GAAG,CAAC,IAAI,EAAE,CAAC;oBAEX,MAAM,UAAU,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;oBACnG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;oBAE3B,GAAG,CAAC,IAAI,EAAE,CAAC;oBACX,GAAG,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC7C,CAAC;wBAAS,CAAC;oBAAC,IAAI,KAAK;wBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;gBAAC,CAAC;YACvC,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACD,IAAI,KAAK;wBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC9C,GAAG,CAAC,IAAI,CAAC,oCAAoC,GAAG,CAAC,IAAI,mBAAmB,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC;oBAC7F,GAAG,CAAC,IAAI,EAAE,CAAC;oBAEX,MAAM,UAAU,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;oBACnG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;oBAE3B,GAAG,CAAC,IAAI,EAAE,CAAC;oBACX,GAAG,CAAC,IAAI,CAAC,kCAAkC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC5D,CAAC;wBAAS,CAAC;oBAAC,IAAI,KAAK;wBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;gBAAC,CAAC;YACvC,CAAC;YAED,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IApDqB,QAAA,OAAO,UAoD5B,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,GAAG,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAE5D,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,wBAAwB,UAAU,QAAQ,CAAC,CAAC;YAErD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,+BAA+B,CAAC,CAAC;YAEnF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAE3D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;gBACxB,GAAG,EAAE,OAAO,CAAC,WAAW;gBACxB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ;gBACR,MAAM,EAAE,GAAG;gBACX,MAAM;aACT,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IA3BqB,QAAA,GAAG,MA2BxB,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,IAAI,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,KAAK;YAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACvC,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE;oBAChG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC;gBACxC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,IAAI,QAAQ,KAAK,MAAM,CAAC,CAAC;YACvE,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE;oBAChG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC;gBACxC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAtBqB,QAAA,IAAI,OAsBzB,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QACtF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,KAAK;YAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,IAAI,GAAsB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAEtD,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,IAAI,KAAK;gBAAE,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAE3C,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAErF,IAAI,KAAK;gBAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;gBACjC,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAnBqB,QAAA,YAAY,eAmBjC,CAAA;IAED;;;;;;;;;;;OAWG;IACI,KAAK,UAAU,IAAI,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE,EAAE,MAAqB;QACrG,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAE5C,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;YACxB,MAAM,IAAI,GAAsB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAErF,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAE5C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC1C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,IAAI,eAAe,CAAC,CAAC;YACrF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,IAAI,gBAAgB,CAAC,CAAC;YAExF,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpE,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1B,CAAC;;gBAAM,GAAG,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;YACnG,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvE,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAChD,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3B,CAAC;;gBAAM,GAAG,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;YAEvG,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC3D,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAnCqB,QAAA,IAAI,OAmCzB,CAAA;IAED;;;;;;;OAOG;IACI,KAAK,UAAU,OAAO,CAAC,OAAgB,EAAE,OAAe,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAClG,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAE9C,MAAM,EAAE,GAAG,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACxD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACnD,MAAM,WAAW,GAAG,QAAQ,KAAK,OAAO,CAAC;YACzC,MAAM,WAAW,GAAG,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,MAAM,CAAC;YAChE,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;YACpG,IAAI,WAAW,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;YAE/F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACjG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE3B,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC5H,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAvBqB,QAAA,OAAO,UAuB5B,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,QAAQ,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAClF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YAChG,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC;YAE1E,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,KAAK,EAAE,CAAC;oBACT,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;oBAC5B,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;oBACzJ,IAAI,KAAK,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,uBAAuB,KAAK,gCAAgC,CAAC,CAAC;oBAEhJ,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;wBACvE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;4BACpB,KAAK;4BACL,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC7D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACnE,CAAC;wBACF,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAEnC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,+BAA+B,KAAK,cAAc,KAAK,MAAM,CAAC,CAAC;oBACxE,OAAO;gBACX,CAAC;gBACD,KAAK,QAAQ,EAAE,CAAC;oBACZ,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBACjF,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,kBAAkB,KAAK,GAAG,CAAC,CAAC;oBAE7F,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;oBACtB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,iCAAiC,KAAK,gBAAgB,KAAK,MAAM,CAAC,CAAC;oBAC5E,OAAO;gBACX,CAAC;gBACD,KAAK,MAAM,EAAE,CAAC;oBACV,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,KAAK,GAAG,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBACzF,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO;wBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACjG,OAAO;gBACX,CAAC;gBACD,KAAK,OAAO,EAAE,CAAC;oBACX,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;wBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;oBAChE,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,yCAAyC,KAAK,MAAM,CAAC,CAAC;oBAC/D,OAAO;gBACX,CAAC;gBACD,SAAS,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YACzF,CAAC;QACL,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAvDqB,QAAA,QAAQ,WAuD7B,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,OAAO,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QACjF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAElG,IAAI,KAAqB,CAAC;YAC1B,IAAI,KAAa,CAAC;YAClB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;gBAClD,KAAK,GAAG,eAAe,OAAO,CAAC,GAAG,GAAG,CAAC;YAC1C,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,MAAM,wDAAwD,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChI,KAAK,GAAG,MAAM,CAAC;gBACf,KAAK,GAAG,WAAW,OAAO,CAAC,MAAM,GAAG,CAAC;YACzC,CAAC;;gBAAM,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAE1F,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,KAAK,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;oBAChC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAExG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC9B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,kBAAkB,KAAK,MAAM,CAAC,CAAC;oBAC3D,OAAO;gBACX,CAAC;gBACD,KAAK,QAAQ,EAAE,CAAC;oBACZ,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBACnB,IAAI,GAAG,KAAK,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;oBAE7G,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,sBAAsB,GAAG,eAAe,KAAK,MAAM,CAAC,CAAC;oBAC9D,OAAO;gBACX,CAAC;gBACD,KAAK,MAAM,EAAE,CAAC;oBACV,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;oBAC9B,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;oBAE1I,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACrD,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACjD,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACtC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC3B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,oBAAoB,OAAO,aAAa,KAAK,aAAa,KAAK,MAAM,CAAC,CAAC;oBAChF,OAAO;gBACX,CAAC;gBACD,KAAK,MAAM,EAAE,CAAC;oBACV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,KAAK,GAAG,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBAClF,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnF,OAAO;gBACX,CAAC;gBACD,KAAK,OAAO,EAAE,CAAC;oBACX,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC9B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,oCAAoC,KAAK,MAAM,CAAC,CAAC;oBAC1D,OAAO;gBACX,CAAC;gBACD,SAAS,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAClF,CAAC;QACL,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IArEqB,QAAA,OAAO,UAqE5B,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,MAAM,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAChF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YAEpC,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,QAAQ,EAAE,CAAC;oBACZ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,IAAI;wBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBAC9D,IAAI,IAAI,IAAI,OAAO;wBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC;oBAEzE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC3C,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,MAAM,CAAC,CAAC;oBAC7C,OAAO;gBACX,CAAC;gBACD,KAAK,QAAQ,EAAE,CAAC;oBACZ,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,IAAI;wBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBAC9D,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,cAAc,CAAC,CAAC;oBAEvE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;oBACrB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,MAAM,CAAC,CAAC;oBAC7C,OAAO;gBACX,CAAC;gBACD,KAAK,MAAM,EAAE,CAAC;oBACV,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC;oBAClE,KAAK,MAAM,IAAI,IAAI,KAAK;wBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC;oBACtF,OAAO;gBACX,CAAC;gBACD,SAAS,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACrE,CAAC;QACL,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IAzCqB,QAAA,MAAM,SAyC3B,CAAA;IAED;;;;;;OAMG;IACI,KAAK,UAAU,MAAM,CAAC,OAAgB,EAAE,IAAc,EAAE,OAAO,GAAY,EAAE;QAChF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC;QAEzC,IAAI,CAAC;YACD,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAErD,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,KAAK,EAAE,CAAC;oBACT,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,CAAE,CAAC,CAAC,CAAC,CAAE,GAAG,QAAQ,CAAE,CAAC;oBAC7C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;wBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC7G,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;oBAClE,CAAC;oBACD,OAAO;gBACX,CAAC;gBACD,KAAK,KAAK,EAAE,CAAC;oBACT,IAAI,CAAC,GAAG,IAAI,KAAK,KAAK,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;oBAC9G,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAE3G,IAAI,GAAG,KAAK,QAAQ;wBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;yBAC5C,IAAI,GAAG,KAAK,UAAU;wBAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;;wBAC/E,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;oBAE7D,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,KAAK,MAAM,CAAC,CAAC;oBACnD,OAAO;gBACX,CAAC;gBACD,KAAK,OAAO,EAAE,CAAC;oBACX,IAAI,CAAC,GAAG;wBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;oBAC1E,IAAI,GAAG,KAAK,QAAQ;wBAAE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;oBACpH,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,WAAW;wBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAErI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBACxB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC;oBACnC,OAAO;gBACX,CAAC;gBACD,SAAS,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;gBAAS,CAAC;YAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAAC,CAAC;IACvC,CAAC;IA5CqB,QAAA,MAAM,SA4C3B,CAAA;IAED,kEAAkE;IAClE,MAAM,QAAQ,GAAG,CAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAW,CAAC;IAEhE;;;;OAIG;IACH,SAAS,SAAS,CAAC,IAAY;QAC3B,OAAQ,QAA8B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACH,SAAS,YAAY,CAAC,MAAc,EAAE,IAAY;QAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClF,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACrF,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,cAAc,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,SAAS,cAAc,CAAC,MAAc;QAClC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAC9C,MAAM,KAAK,GAAG,CAAE,MAAM,CAAC,KAAK,CAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,SAAS,CAAC,IAAY,EAAE,OAAiB,EAAE,OAAgB;QAChE,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,KAAK,EAAE,CAAC;gBACT,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,wHAAwH,CAAC,CAAC;gBACpK,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAExD,IAAI,SAA6B,CAAC;gBAClC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAChC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrG,CAAC;gBAED,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC3B,GAAG;oBACH,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClF,CAAC,CAAC;YACP,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;gBACvB,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,qGAAqG,CAAC,CAAC;gBAE9J,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;oBAC/B,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;iBACtG,CAAC,CAAC;YACP,CAAC;YACD,KAAK,WAAW,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;gBACvB,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,8HAA8H,CAAC,CAAC;gBAE5N,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC;oBACjC,SAAS,EAAE;wBACP,IAAI;wBACJ,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACnE;iBACJ,CAAC,CAAC;YACP,CAAC;YACD,SAAS,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,8CAA8C,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,SAAS,CAAC,GAAW,EAAE,MAAc,EAAE,QAAiB;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,4CAA4C,KAAK,GAAG,CAAC,CAAC;QAC5J,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,SAAS,YAAY,CAAC,KAAmB;QACrC,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC;YAC3E,OAAO,QAAQ,GAAG,KAAK,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QAC9E,CAAC;QACD,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YACvG,OAAO,YAAY,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,CAAC;QACD,OAAO,cAAc,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;AACL,CAAC,EAxyBgB,OAAO,KAAP,OAAO,QAwyBvB;AACD,eAAe,OAAO,CAAC"}
|
package/dist/cli/CLI.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author NetFeez <netfeez.dev@gmail.com>.
|
|
3
3
|
* @description The console interface the CLI is built on: it reads a command, runs it and answers it,
|
|
4
|
-
* and it draws the help the global flags and the arguments of every command are told in.
|
|
4
|
+
* and it draws the help the global flags, and the arguments and flags of every command are told in.
|
|
5
5
|
* @license Apache-2.0
|
|
6
6
|
*/
|
|
7
7
|
import type { Engine, ConsoleTransport } from '@netfeez/vterm';
|
|
8
|
-
import
|
|
8
|
+
import Flags from './Flags.js';
|
|
9
9
|
export declare class CLI {
|
|
10
10
|
/** What reads the input of the console interface. */
|
|
11
11
|
protected dataHandleInstance: CLI.dataHandler;
|
|
@@ -49,6 +49,51 @@ export declare class CLI {
|
|
|
49
49
|
* @returns The command, or undefined when the map carries no command of that name.
|
|
50
50
|
*/
|
|
51
51
|
getCommand(command: string): CLI.Command | undefined;
|
|
52
|
+
/**
|
|
53
|
+
* The declaration of the flags a command line accepts: the global ones every command carries, plus the
|
|
54
|
+
* ones the named command owns.
|
|
55
|
+
* @param command - The name of the command, when the line named one.
|
|
56
|
+
* @returns The declaration the flags of that command line are parsed against.
|
|
57
|
+
*
|
|
58
|
+
* @remarks A name the map does not carry gets the global flags alone, which is what a caller that
|
|
59
|
+
* reads the declaration of a command before it exists needs; {@link CLI.parse} answers such a name
|
|
60
|
+
* before it ever gets here.
|
|
61
|
+
*/
|
|
62
|
+
declarationOf(command?: string): Flags.Declaration;
|
|
63
|
+
/**
|
|
64
|
+
* Splits an invocation into the command it names, its positional arguments and the values of the flags
|
|
65
|
+
* that command accepts.
|
|
66
|
+
* @param tokens - The tokens of the invocation, the command name first.
|
|
67
|
+
* @returns The command with what it was invoked with, or `undefined` when the map carries no command
|
|
68
|
+
* of that name.
|
|
69
|
+
* @throws { Error } When a token is a flag the named command does not accept.
|
|
70
|
+
*
|
|
71
|
+
* @remarks The command is read before the rest is parsed because the flags are declared per command:
|
|
72
|
+
* the global ones every command carries plus the ones the named command owns, so the declaration the
|
|
73
|
+
* arguments and the flags are read against is only known once the command is. A name the map does not
|
|
74
|
+
* carry leaves nothing to parse and is not an invocation: {@link CLI.invoke} answers it, help included.
|
|
75
|
+
*/
|
|
76
|
+
parse(tokens: readonly string[]): CLI.Invocation | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Reads an invocation and runs the command it names, the console interface owning the reading of the
|
|
79
|
+
* command, of its positional arguments and of the values of the flags it accepts.
|
|
80
|
+
* @param tokens - The tokens of the invocation, the command name first.
|
|
81
|
+
* @returns A promise resolving when the command is over.
|
|
82
|
+
* @throws { Error } When a token is a flag the named command does not accept.
|
|
83
|
+
*
|
|
84
|
+
* @remarks A name the map does not carry is answered here, help included, rather than by the command
|
|
85
|
+
* it names, because there is no command to hand the line to.
|
|
86
|
+
*/
|
|
87
|
+
invoke(tokens: readonly string[]): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Takes in the flags a parsed invocation carries, before the command that named them runs.
|
|
90
|
+
* @param flags - The values the invocation parsed.
|
|
91
|
+
*
|
|
92
|
+
* @remarks A subclass overrides this to react to the line before the command runs: `DepflowCLI` reads
|
|
93
|
+
* the configuration file the line asked for here, so the reading of the line and the state it sets
|
|
94
|
+
* stay apart.
|
|
95
|
+
*/
|
|
96
|
+
protected adopt(flags: CLI.Values): void;
|
|
52
97
|
/**
|
|
53
98
|
* Puts a command in the map.
|
|
54
99
|
* @param command - The name of the command.
|
|
@@ -69,7 +114,7 @@ export declare class CLI {
|
|
|
69
114
|
protected addDefaultCommands(): void;
|
|
70
115
|
/**
|
|
71
116
|
* Writes the banner, the global flags and every command of the map with its usage, its description
|
|
72
|
-
* and the arguments it accepts.
|
|
117
|
+
* and the arguments and flags it accepts.
|
|
73
118
|
*
|
|
74
119
|
* @remarks The help belongs to the terminal and not to a run, so it is written as it is composed
|
|
75
120
|
* and it is not announced through the engine: no timestamp, level or name is put in front of it,
|
|
@@ -115,7 +160,17 @@ export declare class CLI {
|
|
|
115
160
|
}
|
|
116
161
|
export declare namespace CLI {
|
|
117
162
|
type dataHandler = (data: Buffer) => void;
|
|
118
|
-
|
|
163
|
+
/**
|
|
164
|
+
* The values of the flags of a parsed command line.
|
|
165
|
+
*
|
|
166
|
+
* @remarks Which command owns which flag is not known at this type: the map dispatches by a name read
|
|
167
|
+
* at runtime, so it can only promise the flags of some declaration, not the ones of a named one. A
|
|
168
|
+
* command that needs its own flags read back with their declared type reaches them through
|
|
169
|
+
* {@link CLI.declarationOf} and `Flags`, where the declaration is known.
|
|
170
|
+
*/
|
|
171
|
+
type Values = Flags.Values<Flags.Declaration>;
|
|
172
|
+
/** What a command does when it is invoked, with its positional arguments and the flags it accepts. **/
|
|
173
|
+
type commandExec = (this: CLI, command: string, args: string[], flags: Values) => Promise<void> | void;
|
|
119
174
|
/** A positional argument a command accepts. **/
|
|
120
175
|
interface Argument {
|
|
121
176
|
/** What the argument is for. **/
|
|
@@ -134,12 +189,23 @@ export declare namespace CLI {
|
|
|
134
189
|
description?: string;
|
|
135
190
|
usage?: string;
|
|
136
191
|
args?: Arguments;
|
|
192
|
+
/** The flags the command owns, beside the global ones every command carries. **/
|
|
193
|
+
flags?: Flags.Declaration;
|
|
137
194
|
}
|
|
138
195
|
/** A command of the console interface, with what it does and what `help` tells about it. **/
|
|
139
196
|
interface Command extends CommandInfo {
|
|
140
197
|
name: string;
|
|
141
198
|
exec: commandExec;
|
|
142
199
|
}
|
|
200
|
+
/** A command line read apart: the command it named, with the arguments and the flags it was given. **/
|
|
201
|
+
interface Invocation {
|
|
202
|
+
/** The command the line named. **/
|
|
203
|
+
command: Command;
|
|
204
|
+
/** The positional arguments of the line, in order. **/
|
|
205
|
+
args: string[];
|
|
206
|
+
/** The values of the flags of the command the line named. **/
|
|
207
|
+
flags: Values;
|
|
208
|
+
}
|
|
143
209
|
/** The commands of the interface, keyed by the name each one is invoked with. **/
|
|
144
210
|
interface CommandMap {
|
|
145
211
|
[command: string]: Command;
|
package/dist/cli/CLI.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author NetFeez <netfeez.dev@gmail.com>.
|
|
3
3
|
* @description The console interface the CLI is built on: it reads a command, runs it and answers it,
|
|
4
|
-
* and it draws the help the global flags and the arguments of every command are told in.
|
|
4
|
+
* and it draws the help the global flags, and the arguments and flags of every command are told in.
|
|
5
5
|
* @license Apache-2.0
|
|
6
6
|
*/
|
|
7
7
|
import { Logger, ConsoleUI } from '@netfeez/vterm';
|
|
8
|
+
import Flags from './Flags.js';
|
|
8
9
|
/** The visible column the description of a flag or an argument starts at, in `help`. **/
|
|
9
10
|
const HELP_COLUMN = 26;
|
|
10
11
|
export class CLI {
|
|
@@ -61,11 +62,7 @@ export class CLI {
|
|
|
61
62
|
const [cmd, ...args] = data.toString('utf-8').trim().split(' ');
|
|
62
63
|
this.out.log(`&C(80,0,80)command received: &C3${cmd}`, args);
|
|
63
64
|
try {
|
|
64
|
-
|
|
65
|
-
if (command)
|
|
66
|
-
await command.exec.bind(this)(cmd, args);
|
|
67
|
-
else
|
|
68
|
-
this.out.error(`&C1Unknown command: &C3${cmd}`);
|
|
65
|
+
await this.invoke([cmd, ...args]);
|
|
69
66
|
}
|
|
70
67
|
catch (error) {
|
|
71
68
|
this.out.error(`&C1Error executing command: &C3${cmd}`, error);
|
|
@@ -79,6 +76,69 @@ export class CLI {
|
|
|
79
76
|
* @returns The command, or undefined when the map carries no command of that name.
|
|
80
77
|
*/
|
|
81
78
|
getCommand(command) { return this.commandMap[command]; }
|
|
79
|
+
/**
|
|
80
|
+
* The declaration of the flags a command line accepts: the global ones every command carries, plus the
|
|
81
|
+
* ones the named command owns.
|
|
82
|
+
* @param command - The name of the command, when the line named one.
|
|
83
|
+
* @returns The declaration the flags of that command line are parsed against.
|
|
84
|
+
*
|
|
85
|
+
* @remarks A name the map does not carry gets the global flags alone, which is what a caller that
|
|
86
|
+
* reads the declaration of a command before it exists needs; {@link CLI.parse} answers such a name
|
|
87
|
+
* before it ever gets here.
|
|
88
|
+
*/
|
|
89
|
+
declarationOf(command) {
|
|
90
|
+
const own = command === undefined ? undefined : this.commandMap[command]?.flags;
|
|
91
|
+
return own ? { ...this.globals, ...own } : this.globals;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Splits an invocation into the command it names, its positional arguments and the values of the flags
|
|
95
|
+
* that command accepts.
|
|
96
|
+
* @param tokens - The tokens of the invocation, the command name first.
|
|
97
|
+
* @returns The command with what it was invoked with, or `undefined` when the map carries no command
|
|
98
|
+
* of that name.
|
|
99
|
+
* @throws { Error } When a token is a flag the named command does not accept.
|
|
100
|
+
*
|
|
101
|
+
* @remarks The command is read before the rest is parsed because the flags are declared per command:
|
|
102
|
+
* the global ones every command carries plus the ones the named command owns, so the declaration the
|
|
103
|
+
* arguments and the flags are read against is only known once the command is. A name the map does not
|
|
104
|
+
* carry leaves nothing to parse and is not an invocation: {@link CLI.invoke} answers it, help included.
|
|
105
|
+
*/
|
|
106
|
+
parse(tokens) {
|
|
107
|
+
const [name, ...args] = tokens;
|
|
108
|
+
const command = name === undefined ? undefined : this.commandMap[name];
|
|
109
|
+
if (!command)
|
|
110
|
+
return undefined;
|
|
111
|
+
return { command, ...new Flags(this.declarationOf(name)).parse(args) };
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Reads an invocation and runs the command it names, the console interface owning the reading of the
|
|
115
|
+
* command, of its positional arguments and of the values of the flags it accepts.
|
|
116
|
+
* @param tokens - The tokens of the invocation, the command name first.
|
|
117
|
+
* @returns A promise resolving when the command is over.
|
|
118
|
+
* @throws { Error } When a token is a flag the named command does not accept.
|
|
119
|
+
*
|
|
120
|
+
* @remarks A name the map does not carry is answered here, help included, rather than by the command
|
|
121
|
+
* it names, because there is no command to hand the line to.
|
|
122
|
+
*/
|
|
123
|
+
async invoke(tokens) {
|
|
124
|
+
const invocation = this.parse(tokens);
|
|
125
|
+
if (!invocation) {
|
|
126
|
+
this.out.error(`&C1Unknown command: &C3${tokens[0]}`);
|
|
127
|
+
this.commandMap['help']?.exec.call(this, 'help', [], {});
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
this.adopt(invocation.flags);
|
|
131
|
+
await invocation.command.exec.call(this, invocation.command.name, invocation.args, invocation.flags);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Takes in the flags a parsed invocation carries, before the command that named them runs.
|
|
135
|
+
* @param flags - The values the invocation parsed.
|
|
136
|
+
*
|
|
137
|
+
* @remarks A subclass overrides this to react to the line before the command runs: `DepflowCLI` reads
|
|
138
|
+
* the configuration file the line asked for here, so the reading of the line and the state it sets
|
|
139
|
+
* stay apart.
|
|
140
|
+
*/
|
|
141
|
+
adopt(flags) { }
|
|
82
142
|
/**
|
|
83
143
|
* Puts a command in the map.
|
|
84
144
|
* @param command - The name of the command.
|
|
@@ -108,7 +168,7 @@ export class CLI {
|
|
|
108
168
|
}
|
|
109
169
|
/**
|
|
110
170
|
* Writes the banner, the global flags and every command of the map with its usage, its description
|
|
111
|
-
* and the arguments it accepts.
|
|
171
|
+
* and the arguments and flags it accepts.
|
|
112
172
|
*
|
|
113
173
|
* @remarks The help belongs to the terminal and not to a run, so it is written as it is composed
|
|
114
174
|
* and it is not announced through the engine: no timestamp, level or name is put in front of it,
|
|
@@ -132,6 +192,9 @@ export class CLI {
|
|
|
132
192
|
for (const [name, argument] of Object.entries(command.args ?? {})) {
|
|
133
193
|
lines.push(...CLI.describe(CLI.argumentKey(name, argument), argument.description, width, 5));
|
|
134
194
|
}
|
|
195
|
+
for (const [name, flag] of Object.entries(command.flags ?? {})) {
|
|
196
|
+
lines.push(...CLI.describe(CLI.flagKey(name, flag), flag.description ?? '', width, 5));
|
|
197
|
+
}
|
|
135
198
|
lines.push('');
|
|
136
199
|
}
|
|
137
200
|
const edge = `${box}╭${'─'.repeat(width - 2)}`;
|
package/dist/cli/CLI.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../src/cli/CLI.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../src/cli/CLI.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author NetFeez <netfeez.dev@gmail.com>.
|
|
3
|
+
* @description The console surface of DepFlow: it declares the project commands and wires each one to the
|
|
4
|
+
* action of `Actions` that carries it out.
|
|
5
|
+
* @license Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
import CLI from './CLI.js';
|
|
8
|
+
import Actions from './Actions.js';
|
|
9
|
+
import Flags from './Flags.js';
|
|
10
|
+
/** The flags accepted by every command of the CLI. **/
|
|
11
|
+
export declare const options: Flags<{
|
|
12
|
+
readonly flow: {
|
|
13
|
+
readonly type: "string";
|
|
14
|
+
readonly default: "depflow.yml";
|
|
15
|
+
readonly aliases: readonly ["p", "f"];
|
|
16
|
+
readonly description: "Path to the configuration file the command operates on.";
|
|
17
|
+
};
|
|
18
|
+
readonly watch: {
|
|
19
|
+
readonly type: "boolean";
|
|
20
|
+
readonly default: false;
|
|
21
|
+
readonly aliases: readonly ["w"];
|
|
22
|
+
readonly description: "Keeps watching the built files and rewrites their paths on every change.";
|
|
23
|
+
};
|
|
24
|
+
readonly cdn: {
|
|
25
|
+
readonly type: "boolean";
|
|
26
|
+
readonly default: false;
|
|
27
|
+
readonly description: "Resolves the dependency paths to their CDN target instead of their local one.";
|
|
28
|
+
};
|
|
29
|
+
readonly verbose: {
|
|
30
|
+
readonly type: "boolean";
|
|
31
|
+
readonly default: false;
|
|
32
|
+
readonly aliases: readonly ["v"];
|
|
33
|
+
readonly description: "Streams the output of every command as it runs, attributed to the command that wrote it, instead of only reporting how each of them ended. The indentation of that output is lost, and the complete buffer of every command reaches the evidence file whether this flag is given or not.";
|
|
34
|
+
};
|
|
35
|
+
readonly silent: {
|
|
36
|
+
readonly type: "boolean";
|
|
37
|
+
readonly default: false;
|
|
38
|
+
readonly description: "Says only what failed, one line per failed command. It silences the progress of DepFlow itself, such as \"Installing dependencies...\", and not the help, which belongs to the console interface. The exit status and the evidence file are the same as in any other mode.";
|
|
39
|
+
};
|
|
40
|
+
readonly decorate: {
|
|
41
|
+
readonly type: "boolean";
|
|
42
|
+
readonly default: true;
|
|
43
|
+
readonly description: "Draws boxes, indentation, timestamps, levels and names around what is reported. --decorate=false leaves the content alone and keeps the color of the markers and the diagnostics, which carry information and are not decoration.";
|
|
44
|
+
};
|
|
45
|
+
}>;
|
|
46
|
+
export declare class DepflowCLI extends CLI {
|
|
47
|
+
/** Path of the configuration file the commands operate on, as the command line gave it. **/
|
|
48
|
+
configPath: string;
|
|
49
|
+
constructor(configPath?: string);
|
|
50
|
+
/**
|
|
51
|
+
* Reads the configuration file the invocation asked for, before its command runs.
|
|
52
|
+
* @param flags - The values the invocation parsed.
|
|
53
|
+
**/
|
|
54
|
+
protected adopt(flags: DepflowCLI.Options): void;
|
|
55
|
+
/** Absolute path of the directory holding the configuration file, the project root. **/
|
|
56
|
+
get projectRoot(): string;
|
|
57
|
+
/** Absolute path of the flow directory (`.depflow`) under the project root. **/
|
|
58
|
+
protected get flowDirectory(): string;
|
|
59
|
+
/** The project the commands operate on: the context every action is driven with. **/
|
|
60
|
+
get context(): Actions.Context;
|
|
61
|
+
}
|
|
62
|
+
export declare namespace DepflowCLI {
|
|
63
|
+
/** The values of the global flags, the ones every command carries. **/
|
|
64
|
+
type Options = typeof options.infer;
|
|
65
|
+
}
|
|
66
|
+
export default DepflowCLI;
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author NetFeez <netfeez.dev@gmail.com>.
|
|
3
|
+
* @description The console surface of DepFlow: it declares the project commands and wires each one to the
|
|
4
|
+
* action of `Actions` that carries it out.
|
|
5
|
+
* @license Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
import { Path } from '@netfeez/common-node';
|
|
8
|
+
import CLI from './CLI.js';
|
|
9
|
+
import Actions from './Actions.js';
|
|
10
|
+
import Flags from './Flags.js';
|
|
11
|
+
/** The flags accepted by every command of the CLI. **/
|
|
12
|
+
export const options = new Flags({
|
|
13
|
+
flow: {
|
|
14
|
+
type: 'string',
|
|
15
|
+
default: 'depflow.yml',
|
|
16
|
+
aliases: ['p', 'f'],
|
|
17
|
+
description: 'Path to the configuration file the command operates on.'
|
|
18
|
+
},
|
|
19
|
+
watch: {
|
|
20
|
+
type: 'boolean',
|
|
21
|
+
default: false,
|
|
22
|
+
aliases: ['w'],
|
|
23
|
+
description: 'Keeps watching the built files and rewrites their paths on every change.'
|
|
24
|
+
},
|
|
25
|
+
cdn: {
|
|
26
|
+
type: 'boolean',
|
|
27
|
+
default: false,
|
|
28
|
+
description: 'Resolves the dependency paths to their CDN target instead of their local one.'
|
|
29
|
+
},
|
|
30
|
+
verbose: {
|
|
31
|
+
type: 'boolean',
|
|
32
|
+
default: false,
|
|
33
|
+
aliases: ['v'],
|
|
34
|
+
description: 'Streams the output of every command as it runs, attributed to the command that wrote it, instead of only reporting how each of them ended. The indentation of that output is lost, and the complete buffer of every command reaches the evidence file whether this flag is given or not.'
|
|
35
|
+
},
|
|
36
|
+
silent: {
|
|
37
|
+
type: 'boolean',
|
|
38
|
+
default: false,
|
|
39
|
+
description: 'Says only what failed, one line per failed command. It silences the progress of DepFlow itself, such as "Installing dependencies...", and not the help, which belongs to the console interface. The exit status and the evidence file are the same as in any other mode.'
|
|
40
|
+
},
|
|
41
|
+
decorate: {
|
|
42
|
+
type: 'boolean',
|
|
43
|
+
default: true,
|
|
44
|
+
description: 'Draws boxes, indentation, timestamps, levels and names around what is reported. --decorate=false leaves the content alone and keeps the color of the markers and the diagnostics, which carry information and are not decoration.'
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* The flags an editing command owns, defined once so every command that carries one shares its type
|
|
49
|
+
* and its description instead of restating them.
|
|
50
|
+
**/
|
|
51
|
+
const EDITING = {
|
|
52
|
+
dep: {
|
|
53
|
+
type: 'string',
|
|
54
|
+
description: 'Name of the dependency whose resolver or builder an editing command targets. Omitted, the command edits the project resolver.'
|
|
55
|
+
},
|
|
56
|
+
action: {
|
|
57
|
+
type: 'string',
|
|
58
|
+
description: 'Name of the named action whose builder an editing command targets.'
|
|
59
|
+
},
|
|
60
|
+
type: {
|
|
61
|
+
type: 'string',
|
|
62
|
+
description: 'Type identifier of a resolver target, set alongside its local path.'
|
|
63
|
+
},
|
|
64
|
+
cdnUrl: {
|
|
65
|
+
type: 'string',
|
|
66
|
+
aliases: ['cdn-url'],
|
|
67
|
+
description: 'CDN URL of a resolver target, set alongside its local path.'
|
|
68
|
+
},
|
|
69
|
+
to: {
|
|
70
|
+
type: 'string',
|
|
71
|
+
description: 'Destination folder of an extract build step.'
|
|
72
|
+
},
|
|
73
|
+
map: {
|
|
74
|
+
type: 'string',
|
|
75
|
+
description: 'Pattern applied to the destination path of an extract build step.'
|
|
76
|
+
},
|
|
77
|
+
search: {
|
|
78
|
+
type: 'string',
|
|
79
|
+
description: 'Regular expression a transform build step searches for.'
|
|
80
|
+
},
|
|
81
|
+
replace: {
|
|
82
|
+
type: 'string',
|
|
83
|
+
description: 'Replacement string of a transform build step.'
|
|
84
|
+
},
|
|
85
|
+
flags: {
|
|
86
|
+
type: 'string',
|
|
87
|
+
description: 'Flags of the regular expression of a transform build step. Defaults to "g".'
|
|
88
|
+
},
|
|
89
|
+
maxTime: {
|
|
90
|
+
type: 'string',
|
|
91
|
+
aliases: ['max-time'],
|
|
92
|
+
description: 'Maximum execution time in milliseconds of a run build step. A value of -1 disables the limit.'
|
|
93
|
+
},
|
|
94
|
+
allowFails: {
|
|
95
|
+
type: 'boolean',
|
|
96
|
+
aliases: ['allow-fails'],
|
|
97
|
+
description: 'Whether the commands of a run build step may fail. Defaults to false.'
|
|
98
|
+
},
|
|
99
|
+
index: {
|
|
100
|
+
type: 'string',
|
|
101
|
+
description: 'Position at which a build step is inserted. Omitted, it is appended at the end.'
|
|
102
|
+
},
|
|
103
|
+
force: {
|
|
104
|
+
type: 'boolean',
|
|
105
|
+
description: 'Overwrites an existing resolver alias instead of failing.'
|
|
106
|
+
},
|
|
107
|
+
npm: {
|
|
108
|
+
type: 'boolean',
|
|
109
|
+
description: 'Adds an npm dependency instead of a git one.'
|
|
110
|
+
},
|
|
111
|
+
tag: {
|
|
112
|
+
type: 'string',
|
|
113
|
+
description: 'Git tag, branch or commit an added git dependency is checked out at. Defaults to "main".'
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
/** The flags the `resolver` command owns, beside the global ones. **/
|
|
117
|
+
const resolverOwn = { dep: EDITING.dep, type: EDITING.type, cdnUrl: EDITING.cdnUrl, force: EDITING.force };
|
|
118
|
+
/** The flags the `builder` command owns, beside the global ones. **/
|
|
119
|
+
const builderOwn = {
|
|
120
|
+
dep: EDITING.dep,
|
|
121
|
+
action: EDITING.action,
|
|
122
|
+
to: EDITING.to,
|
|
123
|
+
map: EDITING.map,
|
|
124
|
+
search: EDITING.search,
|
|
125
|
+
replace: EDITING.replace,
|
|
126
|
+
flags: EDITING.flags,
|
|
127
|
+
maxTime: EDITING.maxTime,
|
|
128
|
+
allowFails: EDITING.allowFails,
|
|
129
|
+
index: EDITING.index
|
|
130
|
+
};
|
|
131
|
+
/** The flags the `add` command owns, beside the global ones. **/
|
|
132
|
+
const addOwn = { npm: EDITING.npm, tag: EDITING.tag };
|
|
133
|
+
export class DepflowCLI extends CLI {
|
|
134
|
+
/** Path of the configuration file the commands operate on, as the command line gave it. **/
|
|
135
|
+
configPath;
|
|
136
|
+
constructor(configPath = 'depFlow.yml') {
|
|
137
|
+
super(options.declaration, {
|
|
138
|
+
name: 'C-UI',
|
|
139
|
+
title: '&C1DepFlow &C5CLI &C6by NetFeez',
|
|
140
|
+
prompt: '&C5[DepFlow] << &C6&S'
|
|
141
|
+
});
|
|
142
|
+
this.configPath = configPath;
|
|
143
|
+
this.addCommand('add', (command, args, flags) => Actions.add(this.context, args, flags), {
|
|
144
|
+
usage: 'dep add <repo_url> [name] [--tag <ref>] | dep add --npm <name>[@<version>]',
|
|
145
|
+
description: 'Add a dependency to the configuration file.',
|
|
146
|
+
args: {
|
|
147
|
+
repo_url: { description: 'URL of the git repository to add.' },
|
|
148
|
+
name: { description: 'Name to register the dependency under; derived from the repository URL when it is omitted.', required: false }
|
|
149
|
+
},
|
|
150
|
+
flags: addOwn
|
|
151
|
+
});
|
|
152
|
+
this.addCommand('remove', (command, args, flags) => Actions.remove(this.context, args, flags), {
|
|
153
|
+
usage: 'dep remove <name> | <repo_url>',
|
|
154
|
+
description: 'Remove a dependency from the configuration file and uninstall its files.',
|
|
155
|
+
args: {
|
|
156
|
+
identifier: { description: 'Name or repository URL of the dependency to remove.' }
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
this.addCommand('install', (command, args, flags) => Actions.install(this.context, args, flags), {
|
|
160
|
+
usage: 'dep install [name1 name2 ...]',
|
|
161
|
+
description: 'Install dependencies. If names are provided, only those dependencies will be installed.',
|
|
162
|
+
args: {
|
|
163
|
+
names: { description: 'Names of the dependencies to install; every dependency when none is given.', required: false, variadic: true }
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
this.addCommand('run', (command, args, flags) => Actions.run(this.context, args, flags), {
|
|
167
|
+
usage: 'dep run <script>',
|
|
168
|
+
description: 'Run a custom action defined in the configuration file.',
|
|
169
|
+
args: {
|
|
170
|
+
script: { description: 'Name of the action declared in the configuration file.' }
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
this.addCommand('list', (command, args, flags) => Actions.list(this.context, args, flags), { usage: 'dep list', description: 'List all dependencies in the configuration file.' });
|
|
174
|
+
this.addCommand('resolver', (command, args, flags) => Actions.resolver(this.context, args, flags), {
|
|
175
|
+
usage: 'dep resolver add <alias> <local> [--type <t>] [--cdn-url <url>] | remove <alias> | list | clear [--dep <name>]',
|
|
176
|
+
description: 'Edits the resolver aliases of the project or of a named dependency.',
|
|
177
|
+
flags: resolverOwn
|
|
178
|
+
});
|
|
179
|
+
this.addCommand('builder', (command, args, flags) => Actions.builder(this.context, args, flags), {
|
|
180
|
+
usage: 'dep builder add <run|extract|transform> ... | remove <index> | move <from> <to> | list | clear [--dep <name> | --action <name>]',
|
|
181
|
+
description: 'Edits the build pipeline of a dependency or of a named action.',
|
|
182
|
+
flags: builderOwn
|
|
183
|
+
});
|
|
184
|
+
this.addCommand('action', (command, args, flags) => Actions.action(this.context, args, flags), {
|
|
185
|
+
usage: 'dep action create <name> | remove <name> | list',
|
|
186
|
+
description: 'Manages the named build actions of the configuration.'
|
|
187
|
+
});
|
|
188
|
+
this.addCommand('config', (command, args, flags) => Actions.config(this.context, args, flags), {
|
|
189
|
+
usage: 'dep config get [key] | set <key> <value> | unset <key>',
|
|
190
|
+
description: 'Reads and edits the top-level settings of the configuration (outDir, tsconfig, importmap).'
|
|
191
|
+
});
|
|
192
|
+
this.addCommand('rewrite-paths', (command, args, flags) => Actions.rewritePaths(this.context, args, flags), { usage: 'dep rewrite-paths [--watch] [--cdn]', description: 'Rewrite the paths of the built files of outDir according to the resolver entries of the configuration.' });
|
|
193
|
+
this.addCommand('sync', (command, args, flags) => Actions.sync(this.context, args, flags), { usage: 'dep sync', description: 'Write the resolver entries into the paths of the declared tsconfig and into the declared importmap.' });
|
|
194
|
+
this.addCommand('json-to-yaml', (command, args, flags) => Actions.convert(this.context, command, args, flags), {
|
|
195
|
+
usage: 'dep json-to-yaml [output.yaml]',
|
|
196
|
+
description: 'Convert the depflow config file from JSON to YAML.',
|
|
197
|
+
args: {
|
|
198
|
+
output: { description: 'Path of the YAML file to write; derived from the config file name when it is omitted.', required: false }
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
this.addCommand('yaml-to-json', (command, args, flags) => Actions.convert(this.context, command, args, flags), {
|
|
202
|
+
usage: 'dep yaml-to-json [output.json]',
|
|
203
|
+
description: 'Convert the depflow config file from YAML to JSON.',
|
|
204
|
+
args: {
|
|
205
|
+
output: { description: 'Path of the JSON file to write; derived from the config file name when it is omitted.', required: false }
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Reads the configuration file the invocation asked for, before its command runs.
|
|
211
|
+
* @param flags - The values the invocation parsed.
|
|
212
|
+
**/
|
|
213
|
+
adopt(flags) { this.configPath = flags.flow; }
|
|
214
|
+
/** Absolute path of the directory holding the configuration file, the project root. **/
|
|
215
|
+
get projectRoot() { return Path.dirname(Path.resolve(process.cwd(), this.configPath)); }
|
|
216
|
+
/** Absolute path of the flow directory (`.depflow`) under the project root. **/
|
|
217
|
+
get flowDirectory() { return Path.join(this.projectRoot, '.depflow'); }
|
|
218
|
+
/** The project the commands operate on: the context every action is driven with. **/
|
|
219
|
+
get context() {
|
|
220
|
+
return {
|
|
221
|
+
configPath: this.configPath,
|
|
222
|
+
projectRoot: this.projectRoot,
|
|
223
|
+
flowDirectory: this.flowDirectory
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
export default DepflowCLI;
|
|
228
|
+
//# sourceMappingURL=DepflowCLI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DepflowCLI.js","sourceRoot":"","sources":["../../src/cli/DepflowCLI.ts"],"names":[],"mappings":"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"}
|