PowerShell / PowerShell/PSResourceGet

Enable dynamic install of cmdlets

Open
#925 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

feature_request Issue-Discussion
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.