- 
    Type:
Task
 - 
    Resolution: Done
 - 
    Priority:
Major - P3
 - 
    None
 - 
    Affects Version/s: None
 - 
    Component/s: None
 
We should investigate how optional vs peer dependencies are handled in the different package managers (npm, yarn, deno).
We need to outline the pros/cons of each way of specifying the dependency alongside a plug-in approach (more like we do with our own add-on packages, such as kerberos), and pick a consistent way to move forward for our credential auth.
- is depended on by
 - 
                    
NODE-4537 Support the Azure VM-assigned Managed Identity for Automatic KMS Credentials
-         
 - Closed
 
 -         
 
- is related to
 - 
                    
NODE-4898 Make @aws-sdk/credential-providers an optional peerDependency
-         
 - Closed
 
 -         
 - 
                    
NODE-4977 Import snappy dependency lazily when feature is used
-         
 - Closed
 
 -         
 - 
                    
NODE-4830 refactor aws import to import aws on demand
-         
 - Closed
 
 -         
 
- related to
 - 
                    
NODE-4736 Move AWS optional dependency to peerDependencies
-         
 - Closed
 
 -         
 
- split from
 - 
                    
NODE-3562 Codify optional dependency version support
-         
 - Closed
 
 -         
 
- links to