microsoft / microsoft/winget-cli
Support file composition for WinGet Configure
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 26.4k
- Forks
- 1.8k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 15
Description
Description of the new feature / enhancement
I'd like to be able to reference one file from another to use with winget configure. When WinGet's configure command processes a file with one or more references, it applies the union of all configurations described.
This would become even more powerful with #3554
This would support the following scenarios and possibly more:
- I want to break up my files for readability. For example, I have nodejs and several web tools in one file for the frontend, and the dotnet sdk and tools in another. This makes finding specific resources easier.
- I have a project based on a different project with additional requirements. For example, I have a project that uses electron - I can reference the electron project DSC and then add my additional requirements to my own repository without having to duplicate and maintain the base file. When the electron project changes its requirements, my configuration does not need to be updated.
- I have a multi-repository project and want to compartmentalize the configuration files but use a common core that can be updated independently.
- I can share configurations with people for specific scenarios and they can compose those into full machine setups (DevBox) or project setups without having to do partial compares if I publish changes. For example, I provide a config that will set up OhMyPosh and some related tools for great kubernetes visibility. Another person can download that and reference it rather than
Proposed technical implementation details
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start at the WinGet Configure command entry point and trace how configuration files are loaded and processed. Done means one configuration can reference another and the command applies the union of all referenced configurations, with coverage for the scenarios described in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli, devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100