Skip to content

chore: migrate to urfave/cli v3 #2501

New issue

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

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

Already on GitHub? Sign in to your account

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft

Conversation

ldez
Copy link
Member

@ldez ldez commented Apr 3, 2025

The migration guide is sparse https://cli.urfave.org/migrate-v2-to-v3/, but the migration is not complex.

@ldez ldez added this to the unreleased milestone Apr 3, 2025
@ldez ldez requested a review from dmke April 3, 2025 16:42
@ldez ldez force-pushed the feat/urfave-v3 branch from c808038 to 0bb5374 Compare April 3, 2025 16:46
@ldez

This comment was marked as outdated.

@dmke

This comment was marked as off-topic.

@ldez ldez changed the title chore: migrate to urfave v3 chore: migrate to urfave/cli v3 Apr 5, 2025
@ldez ldez mentioned this pull request Apr 11, 2025
Copy link
Member

@dmke dmke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dmke

This comment was marked as off-topic.

@ldez
Copy link
Member Author

ldez commented Apr 14, 2025

I have the feeling after playing a bit with urfave/cli v3 that not all things are stable, so we will wait a bit before the merge of this PR.

@ldez
Copy link
Member Author

ldez commented Apr 23, 2025

v3.2 of urfave/cli breaks things... I always appreciated the simplicity of this lib, but the current release flow is bad, very bad.

Copy link
Member

@dmke dmke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean... if upgrading urfave/cli to v3 is this tedious, we can stay on v2 for a while longer.

Have you looked into alternatives, yet? Personally, I found spf13/pflag sufficient most of the time, and spf13/cobra helpful for anything beyond.

@ldez
Copy link
Member Author

ldez commented Apr 23, 2025

I use spf13/cobra (+ spf13/viper) for other projects, IMHO it's overkill for lego.
It needs plumbing and has unwanted complexity, especially when using spf13/viper.
spf13/viper has some design problems (it creates "case insensitivity" by lower-casing everything, and this is a problem).

IMHO, spf13/pflag is not a huge improvement on the standard flags package, and it has the same problems as spf13/cobra (expected as spf13/cobra is based on spf13/pflag).

I'm looking at alecthomas/kong, I never tried.

I also created a configuration parser a few years ago: traefik/paerser

But I still like the simplicity of urfave/cli.

For now, we don't need to migrate, so we will wait.

@ldez ldez removed this from the unreleased milestone Apr 23, 2025
@ldez ldez marked this pull request as draft April 23, 2025 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants