Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
fail_fast: false
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.3.0
rev: v5.0.0
hooks:
- id: check-byte-order-marker
- id: check-case-conflict
Expand All @@ -12,11 +12,11 @@ repos:
- id: mixed-line-ending
- id: trailing-whitespace
- repo: https://github.com/psf/black
rev: 19.3b0
rev: 25.1.0
hooks:
- id: black
- repo: https://github.com/crate-ci/typos
rev: v1.8.1
rev: v1.34.0
hooks:
- id: typos
- repo: local
Expand Down Expand Up @@ -52,7 +52,7 @@ repos:
- id: cargo-test
name: cargo test
description: unit test for the project
entry: bash -c 'cargo nextest run --all-features'
entry: bash -c 'cargo test --all-features'
language: rust
files: \.rs$
pass_filenames: false
36 changes: 21 additions & 15 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions cli-utils/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ pub fn get_config_file(s: &str) -> Result<PathBuf> {
pub fn get_default_config(name: &str) -> Result<PathBuf> {
let paths = [
format!("{}/.config/{}", std::env::var("HOME").unwrap(), name),
format!("./{}", name),
format!("/etc/{}", name),
format!("./{name}"),
format!("/etc/{name}"),
];

for path in paths.iter() {
Expand Down
113 changes: 31 additions & 82 deletions deny.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
# The values provided in this template are the default values that will be used
# when any section or field is not specified in your own configuration

# Root options

# The graph table configures how the dependency graph is constructed and thus
# which crates the checks are performed against
[graph]
# If 1 or more target triples (and optionally, target_features) are specified,
# only the specified targets will be checked when running `cargo deny check`.
# This means, if a particular package is only ever used as a target specific
Expand All @@ -20,7 +25,7 @@
targets = [
# The triple can be any string, but only the target triples built in to
# rustc (as of 1.40) can be checked against actual config expressions
#{ triple = "x86_64-unknown-linux-musl" },
#"x86_64-unknown-linux-musl",
# You can also specify which target_features you promise are enabled for a
# particular target. target_features are currently not validated against
# the actual valid features supported by the target architecture.
Expand All @@ -31,74 +36,34 @@ targets = [
# More documentation for the advisories section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html
[advisories]
# The path where the advisory database is cloned/fetched into
db-path = "~/.cargo/advisory-db"
# The path where the advisory databases are cloned/fetched into
#db-path = "$CARGO_HOME/advisory-dbs"
# The url(s) of the advisory databases to use
db-urls = ["https://github.com/rustsec/advisory-db"]
# The lint level for security vulnerabilities
vulnerability = "deny"
# The lint level for unmaintained crates
unmaintained = "warn"
# The lint level for crates that have been yanked from their source registry
yanked = "warn"
# The lint level for crates with security notices. Note that as of
# 2019-12-17 there are no security notice advisories in
# https://github.com/rustsec/advisory-db
notice = "warn"
#db-urls = ["https://github.com/rustsec/advisory-db"]
# A list of advisory IDs to ignore. Note that ignored advisories will still
# output a note when they are encountered.
ignore = [
#"RUSTSEC-0000-0000",
{ id = "RUSTSEC-2024-0375", reason = "atty unmaintained - using for terminal output only, no security impact" },
{ id = "RUSTSEC-2021-0145", reason = "atty unsound - using for terminal output only, no security impact" },
{ id = "RUSTSEC-2024-0320", reason = "yaml-rust unmaintained - used by syntect for syntax highlighting, no user input parsing" },
]
# Threshold for security vulnerabilities, any vulnerability with a CVSS score
# lower than the range specified will be ignored. Note that ignored advisories
# will still output a note when they are encountered.
# * None - CVSS Score 0.0
# * Low - CVSS Score 0.1 - 3.9
# * Medium - CVSS Score 4.0 - 6.9
# * High - CVSS Score 7.0 - 8.9
# * Critical - CVSS Score 9.0 - 10.0
#severity-threshold =

# This section is considered when running `cargo deny check licenses`
# More documentation for the licenses section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html
[licenses]
# The lint level for crates which do not have a detectable license
unlicensed = "allow"
# List of explicitly allowed licenses
# See https://spdx.org/licenses/ for list of possible licenses
# [possible values: any SPDX 3.7 short identifier (+ optional exception)].
# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
allow = [
"MIT",
"Apache-2.0",
"Apache-2.0 WITH LLVM-exception",
"BSD-3-Clause",
"MPL-2.0",
"ISC",
"Unicode-DFS-2016",
"Unicode-3.0",
]
# List of explicitly disallowed licenses
# See https://spdx.org/licenses/ for list of possible licenses
# [possible values: any SPDX 3.7 short identifier (+ optional exception)].
deny = [
#"Nokia",
]
# Lint level for licenses considered copyleft
copyleft = "warn"
# Blanket approval or denial for OSI-approved or FSF Free/Libre licenses
# * both - The license will be approved if it is both OSI-approved *AND* FSF
# * either - The license will be approved if it is either OSI-approved *OR* FSF
# * osi-only - The license will be approved if is OSI-approved *AND NOT* FSF
# * fsf-only - The license will be approved if is FSF *AND NOT* OSI-approved
# * neither - This predicate is ignored and the default lint level is used
allow-osi-fsf-free = "neither"
# Lint level used when no other predicates are matched
# 1. License isn't in the allow or deny lists
# 2. License isn't copyleft
# 3. License isn't OSI/FSF, or allow-osi-fsf-free = "neither"
default = "deny"
# The confidence threshold for detecting a license from license text.
# The higher the value, the more closely the license text must be to the
# canonical license text of a valid SPDX license file.
Expand All @@ -109,32 +74,14 @@ confidence-threshold = 0.8
exceptions = [
# Each entry is the crate and version constraint, and its specific allow
# list
#{ allow = ["Zlib"], name = "adler32", version = "*" },
#{ allow = ["Zlib"], crate = "adler32" },
]

# Some crates don't have (easily) machine readable licensing information,
# adding a clarification entry for it allows you to manually specify the
# licensing information
#[[licenses.clarify]]
# The name of the crate the clarification applies to
#name = "ring"
# The optional version constraint for the crate
#version = "*"
# The SPDX expression for the license requirements of the crate
#expression = "MIT AND ISC AND OpenSSL"
# One or more files in the crate's source used as the "source of truth" for
# the license expression. If the contents match, the clarification will be used
# when running the license check, otherwise the clarification will be ignored
# and the crate will be checked normally, which may produce warnings or errors
# depending on the rest of your configuration
#license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents
#{ path = "LICENSE", hash = 0xbd0eed23 }
#]

[licenses.private]
# If true, ignores workspace crates that aren't published, or are only
# published to private registries
# published to private registries.
# To see how to mark a crate as unpublished (to the official registry),
# visit https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field.
ignore = false
# One or more private registries that you might publish crates to, if a crate
# is only published to private registries, and ignore is true, the crate will
Expand All @@ -159,28 +106,30 @@ wildcards = "allow"
highlight = "all"
# List of crates that are allowed. Use with care!
allow = [
#{ name = "ansi_term", version = "=0.11.0" },
#"ansi_term@0.11.0",
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is allowed" },
]
# List of crates to deny
deny = [
# Each entry the name of a crate and a version range. If version is
# not specified, all versions will be matched.
#{ name = "ansi_term", version = "=0.11.0" },
#
#"ansi_term@0.11.0",
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is banned" },
# Wrapper crates can optionally be specified to allow the crate when it
# is a direct dependency of the otherwise banned crate
#{ name = "ansi_term", version = "=0.11.0", wrappers = [] },
#{ crate = "ansi_term@0.11.0", wrappers = ["this-crate-directly-depends-on-ansi_term"] },
]

# Certain crates/versions that will be skipped when doing duplicate detection.
skip = [
#{ name = "ansi_term", version = "=0.11.0" },
#"ansi_term@0.11.0",
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason why it can't be updated/removed" },
]
# Similarly to `skip` allows you to skip certain crates during duplicate
# detection. Unlike skip, it also includes the entire tree of transitive
# dependencies starting at the specified crate, up to a certain depth, which is
# by default infinite
# by default infinite.
skip-tree = [
#{ name = "ansi_term", version = "=0.11.0", depth = 20 },
#"ansi_term@0.11.0", # will be skipped along with _all_ of its direct and transitive dependencies
#{ crate = "ansi_term@0.11.0", depth = 20 },
]

# This section is considered when running `cargo deny check sources`.
Expand All @@ -200,9 +149,9 @@ allow-registry = ["https://github.com/rust-lang/crates.io-index"]
allow-git = []

[sources.allow-org]
# 1 or more github.com organizations to allow git sources for
# github.com organizations to allow git sources for
github = []
# 1 or more gitlab.com organizations to allow git sources for
# gitlab.com organizations to allow git sources for
gitlab = []
# 1 or more bitbucket.org organizations to allow git sources for
# bitbucket.org organizations to allow git sources for
bitbucket = []
2 changes: 2 additions & 0 deletions requester/fixtures/diff.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ rust:
- date
- via
- x-amz-cf-id
- report-to
- reporting-endpoints
todo:
request1:
url: https://jsonplaceholder.typicode.com/todos/1
Expand Down
8 changes: 4 additions & 4 deletions requester/src/diff.rs
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ impl DiffContext {
let text2 = self.request_to_string(res2).await?;

if text1 != text2 {
let headers = format!("--- a/{}\n+++ b/{}\n", url1, url2);
let headers = format!("--- a/{url1}\n+++ b/{url2}\n");
return Ok(DiffResult::Diff(build_diff(headers, text1, text2)?));
}

Expand All @@ -138,7 +138,7 @@ impl DiffContext {
if self.response.skip_headers.iter().any(|v| v == k.as_str()) {
return;
}
writeln!(&mut buf, "{}: {:?}", k, v).unwrap();
writeln!(&mut buf, "{k}: {v:?}").unwrap();
});
writeln!(&mut buf).unwrap();

Expand All @@ -148,7 +148,7 @@ impl DiffContext {
body = serde_json::to_string_pretty(&json)?;
}

writeln!(&mut buf, "{}", body).unwrap();
writeln!(&mut buf, "{body}").unwrap();

Ok(String::from_utf8(buf)?)
}
Expand All @@ -157,7 +157,7 @@ impl DiffContext {
fn build_diff(headers: String, old: String, new: String) -> Result<String> {
let diff = TextDiff::from_lines(&old, &new);
let mut buf = Vec::with_capacity(4096);
writeln!(&mut buf, "{}", headers).unwrap();
writeln!(&mut buf, "{headers}").unwrap();
for (idx, group) in diff.grouped_ops(3).iter().enumerate() {
if idx > 0 {
writeln!(&mut buf, "{:-^1$}", "-", 80)?;
Expand Down
2 changes: 1 addition & 1 deletion requester/src/req.rs
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ impl FromStr for RequestContext {
} else if val.is_array() {
val.as_array_mut().unwrap().push(v);
} else {
panic!("unexpected value: {:?}", val);
panic!("unexpected value: {val:?}");
}
}
None => {
Expand Down
2 changes: 1 addition & 1 deletion xdiff/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ async fn main() -> Result<()> {
let stdout = std::io::stdout();
let mut stdout = stdout.lock();
for line in output {
write!(stdout, "{}", line)?;
write!(stdout, "{line}")?;
}

Ok(())
Expand Down
Loading
Loading