Comments (1)
@apocas would it be wise for us to consider exposing this as a utility function for users of the lib to call so that they may explicitly pass this into the constructor rather than it being auto-populated? This can avoid some ambiguity with the options being passed in and how they're manipulated. Or if a null
or undefined
is passed as the constructor, it'll use the defaults, but an empty object {}
should be treated as user wants to supply their own configs and if any critical configs are missing, then we should throw an error from the constructor.
Examples
new Docker(); // uses the defaultOpts function
new Docker({}); // does not use defaultOpts function, will throw an error since neither socketPath nor host/port is defined
new Docker({ host: '10.0.0.123' }); // host is defined, defaultOpts should not be called, but will throw error for missing port parameter
This will result in a major revision since this is technical breaking changes as we're going to be modifying the default behavior. If we can come to a consensus here, I can start a PR with these changes.
I understand that defaultOpts
function does a few more things, we'll likely want to move those out of the function to set up the initial states.
Thanks for all the hard work! Let me know what you and other folks think is the best way forward.
Lines in question here for reference:
Lines 16 to 69 in 3e3bb24
from docker-modem.
Related Issues (20)
- Update ssh2 dependency HOT 2
- Bug: Building an image fails
- Why does followProgress require JSON output? HOT 1
- v3.0.1 causes error: "invalid character '/' looking for beginning of value" HOT 1
- Upgrade `ssh` to `1.8.0`. HOT 3
- dial() can call callback multiple times HOT 2
- Bug: followProgress throw an error on exporting images
- Wrong type on buffer response HOT 3
- [Proposal] add error event handler HOT 1
- Use the new Mac Docker socket default path, if present HOT 1
- incompatibility on Bun.js HOT 2
- Troubles with demuxStream called from docker.run HOT 1
- Bug: Vulnerability issue in ssh2 1.14.0 HOT 1
- Since v5 DOCKER_HOST is not resolved on macOS with OrbStack
- Q: Why HTTP?
- Restore exec output stream HOT 1
- Bug: pathPrefix or any host path is ignored
- ERR_STRING_TOO_LONG when getting a long list of images
- How does SSH connection works for user/password method? HOT 1
- 'image.push()' returns server error as 'Error: (HTTP code 500) server error - [object Object]'
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docker-modem.