DSC Feature Flags / Optional Units #5049
Labels
Command-Configure
Issue related to WinGet Configuration
Issue-Feature
This is a feature request for the Windows Package Manager client.
Description of the new feature / enhancement
When writing a DSC file, there may be both common workflows (the ideal use case for DSC) as well as optional workflows that may be necessary for various development areas. Take winget-dsc as an example - users working on any DSC resource in that repository will need some standard set of tools, which are currently installed by the
configuration.dsc.yaml
.If working on the
NpmDsc
resource, thenNode.js
should also be installed. However, not all contributors will be contributing to that resource and may not want Node.js installed if it is not necessary for their contributions. The same could be said about Python - users may already have a specific version installed and not want the latest, or may not want Python at all, if they are not working on that DSC resource.It would be beneficial if there were a way to specify steps in a DSC yaml file as
optional
. Inspiration could be taken from Rust'sfeatures
implementation, where the defaults can be set by the author of the resource, and consumers can use--no-default-features
to disable all optional configuration units, and/or--features [<feature>]
to enable specific optional modules if they are not specified as a default featureProposed technical implementation details
No response
The text was updated successfully, but these errors were encountered: