Skip to content
  • Blake Friedman's avatar
    CLI supports ordering of tasks · c754755c
    Blake Friedman authored
    Summary:
    This gives Frameworks more control in selecting specific tasks and integrating the return types data in their UI.  For example piping `stdout` to the user or using packages like [Listr2](https://www.npmjs.com/package/listr2) to run tasks in parallel and show progress.
    
    The ordering is suggestive (but also enforced by some assertions).  Frameworks are free to do what they want.
    
    The order was implicit in the previous data structure with lists of Tasks, but made it difficult to tap into each async task.
    
    I've also had to rework how we transpile the code if directly executed from the monorepo.  This keeps our:
    - flow types valid,
    - allows the core-cli-utils package to be built (to generate TypeScript types and a valid npm module), and
    - allows direct transpiled execution as a yarn script.
    
    Changelog: [Internal]
    
    Reviewed By: cipolleschi
    
    Differential Revision: D56242487
    
    fbshipit-source-id: a1a18f14a4aef53a98770462c8ebdef4111f0ab4
    c754755c