Few considerations that come to mind right away, but I have no opinions one
way or the other yet.

Pro's for Dumber CLI:
- Easier to support liberal dependency versioning (aka, don't need weekly
CLI releases as part of cordova-lib updates)
- ..as part of liberal deps, it may make it easier to supporting one global
CLI install support multiple cordova workspaces at different versions
(which has not been a terrible problem for us so far, but could be).
- Potentially easier for downstream CLI to be in-sync with their
functionality, if they hand off more args handling to cordova-lib
implementations

Pro's for Smarter CLI:
- cordova-lib API's can be more "formal".  Aka node style vs string arg
parsing / generic array/dict of args passing.
- ..and if cordova-lib API's are more node style, easier to build better
tools/tests for automation on top of them.
- Generic/Dumb arg parsing may be difficult (or impossible) (Mark
mentioned: especially with handling of optional positional arguments, but
may be more cases).
- ..thus current CLI interface may need to change if not all current
command formats can be handled generically (though, change may not be bad)



On Thu, Apr 17, 2014 at 5:11 PM, Brian LeRoux <[email protected]> wrote:

> In another thread Michal asks,
> "How much of CLI's stay in cli: is it a *really* dumb wrapper that parses
> input
> in a generic fashion and turns it into dumb require() calls with opt's?  Or
> does it understand the full spec and massage opts into the forms
> cordova-lib-*
> expect  (both options have value!)"
>
>
> I like the idea of really dumb wrapper but would like to better understand
> the ideas with more logic (maybe api style?) in the CLI.
>

Reply via email to