Proposal: introduce Wireit plugins
- Dominant language
- TypeScript
- Stars
- 6.4k
- Forks
- 128
- Avg merge
- 4d 10h
- Merged PRs (30d)
- 4
Description
One huge limitation to Wireit currently is configuring input and output files. It's pretty easy for glob patterns of file inputs and outputs and the actual tool configuration to get out of sync. It's also not uncommon slightly to over include or under include file inputs and outputs. And when you fix a misconfiguration in one package, you may not notice it or remember to do it in another.
The fortunate bit is TypeScript knows what files it processes and where it puts them based on my configuration, so does ES Lint and Rollup...you get the picture. It would be handy if you could optionally use Wireit plugins that read that your tool configuration and configure `files` and `outputs` so that you don't have to. They could also configure other reasonable defaults. For example, TypeScript could default to only clean if files are deleted when in `incremental` mode.
This could also improve fingerprinting for commands by not ignoring caches when the repo-wide lock file changes. An ES Lint plugin could re-run only if the exact version of eslint or it's plugins changes...rather anything in the lock file being updated.
Contributor guide
Assessment
This issue has not been assessed yet.