Make `ssh2` an optional peer dependency
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- docker, node.js, typescript
- Domain
- tooling
Research direction
Start by tracing DockerClient.fromDockerHost and the package dependency declarations to see how ssh2 enters consumer dependency trees. Check the bundling and installation behavior for consumers that do not use SSH, and verify that ssh:// paths fail clearly when ssh2 is absent.
Written by the indexing model from the issue text.
Description
Currently, DockerClient can't be used without ssh2 (a very large dependency) being in the dependency tree, despite it only being used in one branch of DockerClient.fromDockerHost. If consumers don't connect over ssh, they shouldn't need that dependency.
I'd recommend:
- Moving the static members out of
DockerClientand into their own modules. That should solve the dependency tree problem (via tree-shaking) for anybody bundling their app - For everyone else (and just to minimise
node_modulesimpact), it'd be good to also makessh2an optional peer dependency and make thessh://-specific code paths fail if it's not present
- Dominant language
- TypeScript
- Stars
- 107
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
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.
More from docker/node-sdk
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 3/5 1-2 days Newbie friendliness 70/100
-
Podman compatibility Open
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
fullcalendar/fullcalendar#8106 ·