diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index b5837f273..43c69f74a 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -14,7 +14,7 @@ jobs:
- name: Setup Rust
uses: dtolnay/rust-toolchain@v1
with:
- toolchain: 1.76.0
+ toolchain: 1.77.1
components: rustfmt, clippy, llvm-tools-preview
- name: Rust Cache
uses: actions/cache@v4.0.1
diff --git a/Cargo.lock b/Cargo.lock
index 1f2ca8133..6e236fc06 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -130,9 +130,9 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.80"
+version = "1.0.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
+checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
[[package]]
name = "ascii"
@@ -340,18 +340,18 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.5.1"
+version = "4.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
+checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
dependencies = [
"clap_builder",
]
[[package]]
name = "clap_builder"
-version = "4.5.1"
+version = "4.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
dependencies = [
"anstream",
"anstyle",
@@ -1273,7 +1273,7 @@ version = "24.2.0"
dependencies = [
"accept-language",
"anyhow",
- "clap 4.5.1",
+ "clap 4.5.4",
"csv",
"derivative",
"flate2",
@@ -1500,9 +1500,9 @@ dependencies = [
[[package]]
name = "regex"
-version = "1.10.3"
+version = "1.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
dependencies = [
"aho-corasick",
"memchr",
@@ -1771,9 +1771,9 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.114"
+version = "1.0.115"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
+checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
dependencies = [
"itoa",
"ryu",
@@ -1791,9 +1791,9 @@ dependencies = [
[[package]]
name = "serde_yaml"
-version = "0.9.32"
+version = "0.9.34+deprecated"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fd075d994154d4a774f95b51fb96bdc2832b0ea48425c92546073816cda1f2f"
+checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
dependencies = [
"indexmap",
"itoa",
@@ -1827,9 +1827,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]]
name = "simplelog"
-version = "0.12.1"
+version = "0.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acee08041c5de3d5048c8b3f6f13fafb3026b24ba43c6a695a0c76179b844369"
+checksum = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0"
dependencies = [
"log",
"termcolor",
@@ -2049,9 +2049,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "toml"
-version = "0.8.10"
+version = "0.8.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
+checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
dependencies = [
"serde",
"serde_spanned",
@@ -2070,9 +2070,9 @@ dependencies = [
[[package]]
name = "toml_edit"
-version = "0.22.6"
+version = "0.22.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6"
+checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
dependencies = [
"indexmap",
"serde",
@@ -2195,9 +2195,9 @@ checksum = "402bb19d8e03f1d1a7450e2bd613980869438e0666331be3e073089124aa1adc"
[[package]]
name = "unsafe-libyaml"
-version = "0.2.10"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b"
+checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
[[package]]
name = "url"
diff --git a/Cargo.toml b/Cargo.toml
index 8832ca208..319149990 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -6,8 +6,8 @@ license = "MIT"
[dependencies]
accept-language = "3.1.0"
-anyhow = "1.0.80"
-clap = "4.5.1"
+anyhow = "1.0.81"
+clap = "4.5.4"
csv = "1.3.0"
derivative = "2.2.0"
gettext = "0.4.0"
@@ -18,18 +18,18 @@ isahc = "1.7.2"
lazy_static = "1.4.0"
log = "0.4.21"
once_cell = "1.19.0"
-regex = "1.10.3"
+regex = "1.10.4"
rouille = "3.6.2"
rusqlite = { version = "0.31.0", features = ["bundled"] }
rust_icu_ucol = { version = "5.0.0", optional = true }
rust_icu_unumberformatter = { version = "5.0.0", optional = true }
rust_icu_ustring = { version = "5.0.0", optional = true }
serde = { version = "1.0.197", features = ["derive"] }
-serde_json = "1.0.114"
-serde_yaml = "0.9.32"
-simplelog = "0.12.1"
+serde_json = "1.0.115"
+serde_yaml = "0.9.34"
+simplelog = "0.12.2"
time = { version = "0.3.34", features = ["formatting", "macros", "local-offset", "serde-well-known"] }
-toml = "0.8.10"
+toml = "0.8.12"
unidecode = "0.3.0"
url = "2.5.0"
diff --git a/package.json b/package.json
index a1f469945..094391965 100644
--- a/package.json
+++ b/package.json
@@ -1,9 +1,9 @@
{
"license": "MIT",
"dependencies": {
- "@types/node": "20.11.24",
- "@typescript-eslint/eslint-plugin": "7.1.0",
- "@typescript-eslint/parser": "7.1.0",
+ "@types/node": "20.12.2",
+ "@typescript-eslint/eslint-plugin": "7.4.0",
+ "@typescript-eslint/parser": "7.4.0",
"chart.js": "4.4.2",
"chartjs-plugin-datalabels": "2.2.0",
"chartjs-plugin-trendline": "2.1.0",
@@ -11,8 +11,8 @@
"eslint": "8.57.0",
"sorttable": "1.0.2",
"ts-loader": "9.5.1",
- "typescript": "5.3.3",
- "webpack": "5.90.3",
+ "typescript": "5.4.3",
+ "webpack": "5.91.0",
"webpack-cli": "5.1.4"
},
"sideEffects": false,
diff --git a/src/i18n.rs b/src/i18n.rs
index 78e8927cc..7a7a4c21c 100644
--- a/src/i18n.rs
+++ b/src/i18n.rs
@@ -13,8 +13,8 @@
use crate::context;
thread_local! {
- static TRANSLATIONS: std::cell::RefCell