mirror of
https://github.com/nushell/nushell
synced 2024-12-27 05:23:11 +00:00
Replace htmlescape with v_htmlescape (#11572)
# Description `htmlescape` is unmaintained: https://crates.io/crates/htmlescape while `v_htmlescape` is: https://crates.io/crates/v_htmlescape and is used by two popular crates (`actix-files` and `minijinja`) Let's use this instead - I'm packaging `nu` in Fedora and there is understandable reluctance in bringing in an unmaintained crate if we can avoid it. # User-Facing Changes Should not be any; drop-in replacement # Tests + Formatting Tested using: - `cargo build` in the root folder (needed by some `nu-command` tests) - `cargo test --features sqlite` in `crates/nu-command` (`tests/commands/database/into_sqlite.rs` needs `rusqlite`) - `cargo test` in `crates/nu-cmd-extra` # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> N/A Signed-off-by: Michel Lind <salimma@fedoraproject.org>
This commit is contained in:
parent
ee6547dbb7
commit
5d63f47c85
5 changed files with 16 additions and 14 deletions
16
Cargo.lock
generated
16
Cargo.lock
generated
|
@ -1701,12 +1701,6 @@ dependencies = [
|
|||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "htmlescape"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163"
|
||||
|
||||
[[package]]
|
||||
name = "http"
|
||||
version = "0.2.11"
|
||||
|
@ -2731,7 +2725,6 @@ dependencies = [
|
|||
"ahash",
|
||||
"fancy-regex",
|
||||
"heck",
|
||||
"htmlescape",
|
||||
"nu-ansi-term",
|
||||
"nu-cmd-base",
|
||||
"nu-cmd-lang",
|
||||
|
@ -2747,6 +2740,7 @@ dependencies = [
|
|||
"rust-embed",
|
||||
"serde",
|
||||
"serde_urlencoded",
|
||||
"v_htmlescape",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2801,7 +2795,6 @@ dependencies = [
|
|||
"filesize",
|
||||
"filetime",
|
||||
"fs_extra",
|
||||
"htmlescape",
|
||||
"human-date-parser",
|
||||
"indexmap",
|
||||
"indicatif",
|
||||
|
@ -2874,6 +2867,7 @@ dependencies = [
|
|||
"uu_mv",
|
||||
"uu_whoami",
|
||||
"uuid",
|
||||
"v_htmlescape",
|
||||
"wax",
|
||||
"which 5.0.0",
|
||||
"windows 0.52.0",
|
||||
|
@ -5878,6 +5872,12 @@ dependencies = [
|
|||
"getrandom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "v_htmlescape"
|
||||
version = "0.15.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c"
|
||||
|
||||
[[package]]
|
||||
name = "value-trait"
|
||||
version = "0.8.0"
|
||||
|
|
|
@ -30,7 +30,7 @@ serde = "1.0.164"
|
|||
nu-pretty-hex = { version = "0.89.1", path = "../nu-pretty-hex" }
|
||||
nu-json = { version = "0.89.1", path = "../nu-json" }
|
||||
serde_urlencoded = "0.7.1"
|
||||
htmlescape = "0.3.1"
|
||||
v_htmlescape = "0.15.0"
|
||||
|
||||
[features]
|
||||
extra = ["default"]
|
||||
|
|
|
@ -396,7 +396,7 @@ fn html_table(table: Vec<Value>, headers: Vec<String>, config: &Config) -> Strin
|
|||
output_string.push_str("<thead><tr>");
|
||||
for header in &headers {
|
||||
output_string.push_str("<th>");
|
||||
output_string.push_str(&htmlescape::encode_minimal(header));
|
||||
output_string.push_str(&v_htmlescape::escape(header).to_string());
|
||||
output_string.push_str("</th>");
|
||||
}
|
||||
output_string.push_str("</tr></thead><tbody>");
|
||||
|
@ -432,7 +432,8 @@ fn html_value(value: Value, config: &Config) -> String {
|
|||
output_string.push_str("</pre>");
|
||||
}
|
||||
other => output_string.push_str(
|
||||
&htmlescape::encode_minimal(&other.into_abbreviated_string(config))
|
||||
&v_htmlescape::escape(&other.into_abbreviated_string(config))
|
||||
.to_string()
|
||||
.replace('\n', "<br>"),
|
||||
),
|
||||
}
|
||||
|
|
|
@ -46,7 +46,6 @@ fancy-regex = "0.12"
|
|||
filesize = "0.2"
|
||||
filetime = "0.2"
|
||||
fs_extra = "1.3"
|
||||
htmlescape = "0.3"
|
||||
human-date-parser = "0.1.1"
|
||||
indexmap = "2.1"
|
||||
indicatif = "0.17"
|
||||
|
@ -94,6 +93,7 @@ uu_whoami = "0.0.23"
|
|||
uu_mkdir = "0.0.23"
|
||||
uu_mktemp = "0.0.23"
|
||||
uuid = { version = "1.6", features = ["v4"] }
|
||||
v_htmlescape = "0.15.0"
|
||||
wax = { version = "0.6" }
|
||||
which = { version = "5.0", optional = true }
|
||||
bracoxide = "0.1.2"
|
||||
|
|
|
@ -138,7 +138,7 @@ fn collect_headers(headers: &[String]) -> (Vec<String>, Vec<usize>) {
|
|||
|
||||
if !headers.is_empty() && (headers.len() > 1 || !headers[0].is_empty()) {
|
||||
for header in headers {
|
||||
let escaped_header_string = htmlescape::encode_minimal(header);
|
||||
let escaped_header_string = v_htmlescape::escape(header).to_string();
|
||||
column_widths.push(escaped_header_string.len());
|
||||
escaped_headers.push(escaped_header_string);
|
||||
}
|
||||
|
@ -179,7 +179,8 @@ fn table(input: PipelineData, pretty: bool, config: &Config) -> String {
|
|||
}
|
||||
}
|
||||
p => {
|
||||
let value_string = htmlescape::encode_minimal(&p.into_abbreviated_string(config));
|
||||
let value_string =
|
||||
v_htmlescape::escape(&p.into_abbreviated_string(config)).to_string();
|
||||
escaped_row.push(value_string);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue