Support wireit
See original GitHub issuehttps://github.com/google/wireit
Wireit is a library that works with npm for making scripts smarter and more efficient. At a high level, for each script (which is like projen’s current tasks) you can specify input and output files, as well as scripts that it depends on. By doing so, the library provides automatic caching (locally and on GitHub), as well as the ability to run tasks in parallel. It’s fairly minimal so the task model feels like a strong fit for projen.
It’s open ended how we would integrate this. One direction could be to extend the existing task model (I started to work on this in a separate branch: https://github.com/projen/projen/tree/rybickic/wireit). A better direction might be to replace projen’s task system entirely with this one, and/or consume wireit programmatically within projen (suggested by @mmcculloh-dms).
As an aside, I think having a Project base class that doesn’t have Tasks
built-in (https://github.com/projen/projen/issues/1761) might make it easier to iterate on this kind of idea.
This feature probably needs a mini-RFC
Issue Analytics
- State:
- Created a year ago
- Reactions:6
- Comments:5 (3 by maintainers)
Top GitHub Comments
I agree. We need to make sure the contract for task runners is right. Then we can implement a default choice for the batteries-included projects based on that.
@andrestone If you are still looking to contribute, you know where to find me 😁 I’m working on a few solutions in this space, as a third-party component.