rushstack icon indicating copy to clipboard operation
rushstack copied to clipboard

[heft] Heft Plugin API should provide one-stop-shopping for common functionality

Open dmichon-msft opened this issue 10 months ago • 0 comments

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

dmichon-msft avatar Jan 31 '25 22:01 dmichon-msft