Skip to content

[QUESTION] - Dependencies? #397

@philocalyst

Description

@philocalyst

Was interested in some of the choices in the dependencies here?

  • lazy_static is part of the standard library now
  • lazy-regex is trivially replaced by wrapping a traditional regex call with a LazyLock
  • sysinfo is generally favored over whoami (See Btm)
  • argh instead of clap? Just features better ergonomics and this doesn't seem like a binary that's focusing on size.
  • simplelog instead of tracing? Again, better ergonomics and much better for consumers.
  • magic-crypt hasn't received updates in two years, and there's a whole family of Rust crypto crates built for this.
  • version-compare can be replaced by semver which Cargo itself uses
  • hostname could be dropped if we switched to sysinfo
  • keyring features aren't scoped, like:
[target.'cfg(target_os = "macos")'.dependencies]
keyring = { version = "3", features = ["apple-native"] }

[target.'cfg(target_os = "windows")'.dependencies]
keyring = { version = "3", features = ["windows-native"] }

[target.'cfg(target_os = "linux")'.dependencies]
keyring = { version = "3", features = ["linux-native"] }
  • dbus has the 'd' feature enabled for darwin targets
  • some solid rust alternatives worth considering
    • russh
    • using the crypto-rust feature in sync-secret-service

Happy to PR the migration for all of these, just was running into some confusing errors when building that I figure some rethinking of the graph could help. Let me know if you have any questions, or have any pushback here.

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions