Code Monkey home page Code Monkey logo

Comments (2)

mhamann avatar mhamann commented on July 22, 2024

That's an interesting find! I need to look at this a bit deeper to see if there's a way to alter this behavior. This might also be a bug in nconf...

In the meantime, if you happen to discover any new information, please let me know!

from nconf.

mhamann avatar mhamann commented on July 22, 2024

@jcoglan I finally got a few minutes to take a closer look at this.

I'm not sure what the original intent of nconf + yargs was, but it makes sense to me that someone might want to use some of the CLI features from yargs (like usage and help) as part of their nconf-enabled app. I would assume there are folks doing this today.

However, as you noted, some people may not want that behavior, which is why nconf supports a custom/external yargs instance being passed to the argv loader (as you showed in your final example).

You also observed that passing a custom yargs instance to nconf results in options like parseValues being ignored/unavailable. While the readme doesn't explicitly state that such a scenario is supported, I do agree that intuitively, someone would expect to be able to use both features in parallel. I've implemented a fix for this behavior and updated the readme to explicitly show its availability. I think this will launch as part of nconf v0.13 next week.

Finally, I investigated your assertion that parseValues: false is not the default for the argv loader, but I could not duplicate the behavior you indicated. When I don't specify that option in the args, values are not parsed (e.g., 'false' is a string, not a boolean). Fliping parseValues: true resulted in the expected behavior of 'false' becoming a boolean. If you still find that this is a problem, please provide a code sample so I can duplicate it.

from nconf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.