When all Subcommands are called with runAppT, it meant we always had
to initialize the App no matter the subcommand. This led to a
surprising scenario where even something trivial like stack version
requires a valid AWS connection. Oops.
Making Subcommand{run} call runAppT itself is no more complicated
(especially with the runAppSubcommand helper), in fact it makes the
constraints in the Commands module simpler, and it naturally allows
for some subcommands to not do that (like version) and so not incur
the AWS requirements.
One "actual commit" and one (well, now three) drive-by:
Push runAppT into Subcommand{run}
When all
Subcommand
s are called withrunAppT
, it meant we always had to initialize theApp
no matter the subcommand. This led to a surprising scenario where even something trivial likestack version
requires a valid AWS connection. Oops.Making
Subcommand{run}
callrunAppT
itself is no more complicated (especially with therunAppSubcommand
helper), in fact it makes the constraints in theCommands
module simpler, and it naturally allows for some subcommands to not do that (likeversion
) and so not incur the AWS requirements.Fix incorrect run-vs-parse naming