Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Feat:(issue_10) Move providers into separate paths #11

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

dearchap
Copy link
Contributor

@dearchap dearchap commented Nov 17, 2024

Fixes #10

@dearchap dearchap requested a review from meatballhat November 17, 2024 13:22
@YvanDaSilva
Copy link

@dearchap This is awesome!
IMHO, it's going to make programs that depend on urface/cli lighter and better.

@meatballhat
Copy link
Member

Overall, I am in favor of this direction 🎉 That being said, I haven't worked with nested modules enough to know the trade-offs. I think that given we're in a prerelease phase anyway, I would advocate for each module being in its own repository.

This could also include addressing the awkwardness of namespace collisions so that instead of having to deal with package import aliases, the declared package names could be like altsrcyaml altsrcjson.

@abitrolly
Copy link
Contributor

This could also include addressing the awkwardness of namespace collisions so that instead of having to deal with package import aliases, the declared package names could be like altsrcyaml altsrcjson.

What kind of collision awkwardness is expected? I find import like altsrcyaml already awkward.

@dearchap
Copy link
Contributor Author

Here's a good example. https://github.com/knadh/koanf

@dearchap
Copy link
Contributor Author

In keeping with koanf example above I have raised a PR in cli

urfave/cli#2009

This allows map value sources to plugin easily without having to do custom lookups. Once that PR is approved the providers here neednt import the root urfave/cli-altsrc and then each provider can plugin to cli directly. How the provider retrieves its information and unmarshals can be left to its implementation

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feature: provider based packaging
4 participants