PowerShell / PowerShell/PSResourceGet
Enable dynamic install of cmdlets
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 576
- Forks
- 114
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 7
Description
Summary of the new feature / enhancement
For large families of modules like Az, AWS, MSGraph, Office, etc... users do not want to download all the modules when they only use a subset of the cmdlets. Taking Az as an example, they may determine that the top 5 cmdlets in Az.Compute are implemented and the remaining cmdlets in that module are stubs. When a stub cmdlet is run, it either prompts to confirm installing the necessary sub-module or automatically installs based on some configuration setting. The arguments passed to the cmdlet are then passed to the installed cmdlet to execute.
Proposed technical implementation details (optional)
Need to consider:
- Can we avoid changes in PS7 engine to support this?
- How will stubs get registered so PSGet is aware of them (maybe something in PrivateData?)
- If stubs exist in their own module, but is an older version, then the real implementation will automatically be used as long as it has a newer version
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, tests, or entry points are named. Start by resolving the proposed questions around PS7 engine changes, PSGet registration, PrivateData, version selection, prompting, and argument forwarding; the work is complete only when the dynamic-install design and its implementation scope are defined.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- powershell
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100