-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
113 lines (94 loc) · 3.5 KB
/
Cargo.toml
File metadata and controls
113 lines (94 loc) · 3.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
[workspace]
members = [
"crates/signalk-types",
"crates/signalk-store",
"crates/signalk-plugin-api",
"crates/signalk-server",
"crates/signalk-internal",
"crates/plugins/nmea0183-receive",
"crates/plugins/anchor-alarm",
"crates/plugins/sensor-data-simulator",
"crates/plugins/derived-data",
"crates/plugins/ais-status",
"crates/plugins/tracks",
"crates/plugins/system-info",
"crates/plugins/autopilot",
"crates/plugins/nmea2000-receive",
"crates/plugins/nmea0183-send",
"crates/plugins/nmea2000-send",
"crates/signalk-plugin-client",
"crates/signalk-sqlite",
]
resolver = "2"
[workspace.package]
version = "0.1.0"
edition = "2024"
authors = ["signalk-rs contributors"]
license = "Apache-2.0"
[workspace.dependencies]
# Async runtime
tokio = { version = "1", features = ["full"] }
# HTTP + WebSocket
axum = { version = "0.8", features = ["ws", "macros"] }
axum-extra = { version = "0.10", features = ["typed-header"] }
tower = { version = "0.5" }
tower-http = { version = "0.6", features = ["cors", "trace", "fs"] }
hyper = { version = "1" }
hyper-util = { version = "0.1", features = ["tokio"] }
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1" }
# JSON Schema generation
schemars = { version = "1" }
# Time
chrono = { version = "0.4", features = ["serde"] }
# JWT
jsonwebtoken = { version = "9" }
# TLS
rustls = { version = "0.23" }
# Logging / Tracing
tracing = { version = "0.1" }
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
# Config
config = { version = "0.14", features = ["toml"] }
# Errors
thiserror = { version = "2" }
anyhow = { version = "1" }
# Async trait
async-trait = { version = "0.1" }
# UUID
uuid = { version = "1", features = ["v4", "serde"] }
# NMEA parsing
nmea = { git = "https://github.com/herostrat/nmea0183-rs", features = ["sensor", "safety", "navigation"] }
# AIS decoding
ais = { version = "0.12" }
# NMEA 2000
nmea2000 = { git = "https://github.com/herostrat/nmea2000-rs", features = ["slcan", "actisense"] }
nmea2000-pgns = { git = "https://github.com/herostrat/nmea2000-rs" }
nmea2000-types = { git = "https://github.com/herostrat/nmea2000-rs" }
# Serial port (async, for NMEA 0183 via serial)
tokio-serial = { version = "5.4" }
# Internal crates
signalk-types = { path = "crates/signalk-types" }
signalk-plugin-api = { path = "crates/signalk-plugin-api" }
signalk-store = { path = "crates/signalk-store" }
signalk-internal = { path = "crates/signalk-internal" }
nmea0183-receive = { path = "crates/plugins/nmea0183-receive" }
anchor-alarm = { path = "crates/plugins/anchor-alarm" }
sensor-data-simulator = { path = "crates/plugins/sensor-data-simulator" }
derived-data = { path = "crates/plugins/derived-data" }
ais-status = { path = "crates/plugins/ais-status" }
tracks = { path = "crates/plugins/tracks" }
system-info = { path = "crates/plugins/system-info" }
autopilot = { path = "crates/plugins/autopilot" }
nmea2000-receive = { path = "crates/plugins/nmea2000-receive" }
nmea0183-send = { path = "crates/plugins/nmea0183-send" }
nmea2000-send = { path = "crates/plugins/nmea2000-send" }
signalk-plugin-client = { path = "crates/signalk-plugin-client" }
signalk-sqlite = { path = "crates/signalk-sqlite" }
# Testing & Benchmarking (dev only)
criterion = { version = "0.5", features = ["html_reports", "async_tokio"] }
reqwest = { version = "0.12", features = ["json"] }
jsonschema = { version = "0.29" }
tokio-tungstenite = { version = "0.26" }
futures-util = { version = "0.3" }