google / google/wireit

Proposal: introduce Wireit plugins

Open
#888 4 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.