rushstack
rushstack copied to clipboard
[heft] Heft Plugin API should provide one-stop-shopping for common functionality
Summary
Heft plugin authors should be able to access commonly used functionality using only the arguments provided to the instantiation of their Plugin via the Heft runtime.
Details
Specific functionality gaps include:
- JSON Schema validation (prevent taking a direct dependency on @rushstack/node-core-library)
- Definition of a riggable
ConfigurationFile(prevent taking a direct dependency on @rushstack/heft-config-file)
For comparison, we already provide command line parameter configuration entirely via a combination of the heft-plugin manifest and the HeftSession object.
Similarly, Terminal capabilities are provided without need to import @rushstack/terminal (for any runtime code).
Doing so synergizes with bundling of @rushstack/heft into a single file and allows for reuse of library code without additional imports.
Standard questions
Please answer these questions to help us investigate your issue more quickly:
| Question | Answer |
|---|---|
@rushstack/heft version? |
@0.68.13 |
| Operating system? | Linux |
| Would you consider contributing a PR? | Yes |