|
1 | 1 | [package] |
2 | 2 | name = "polyproto" |
3 | | -version = "0.9.0" |
4 | | -edition = "2021" |
| 3 | +version = "0.10.0" |
| 4 | +edition = "2024" |
5 | 5 | license = "MPL-2.0" |
6 | 6 | description = "(Generic) Rust types and traits to quickly get a polyproto implementation up and running" |
7 | 7 | repository = "https://github.com/polyphony-chat/polyproto" |
8 | | -rust-version = "1.71.1" |
| 8 | +rust-version = "1.85.0" |
9 | 9 |
|
10 | 10 | [lib] |
11 | | -crate-type = ["rlib", "cdylib", "staticlib"] |
| 11 | +crate-type = ["cdylib", "rlib"] |
12 | 12 |
|
13 | 13 | [features] |
14 | | -default = ["types"] |
15 | | -wasm = ["getrandom", "getrandom/js"] |
| 14 | +default = ["types", "serde", "gateway", "tokio/net"] |
| 15 | +wasm = ["getrandom", "getrandom/js", "dep:ws_stream_wasm"] |
16 | 16 | getrandom = ["dep:getrandom"] |
17 | 17 | types = ["dep:http"] |
18 | | -reqwest = ["dep:reqwest", "types", "serde", "dep:url"] |
19 | | -serde = [ |
20 | | - "dep:serde", |
21 | | - "dep:serde_json", |
22 | | - "dep:url", |
23 | | - "url/serde", |
24 | | - "dep:serde_with", |
25 | | -] |
| 18 | +reqwest = ["dep:reqwest", "types", "serde"] |
| 19 | +serde = ["dep:serde", "serde_json", "serde_with", "url/serde"] |
| 20 | +serde_with = ["dep:serde_with"] |
| 21 | +serde_json = ["dep:serde_json"] |
26 | 22 | gateway = ["serde", "types"] |
| 23 | +_wasm_bindgen = ["wasm", "dep:wasm-bindgen", "dep:js-sys", "dep:wee_alloc"] |
| 24 | +__no_wee_alloc = [] |
27 | 25 |
|
28 | 26 | [dependencies] |
29 | 27 | der = { version = "0.7.9", features = ["pem"] } |
30 | 28 | getrandom = { version = "0.2.15", optional = true } |
31 | 29 | regex = "1.11.1" |
32 | | -reqwest = { version = "0.12.12", features = ["json", "zstd"], optional = true } |
33 | | -serde = { version = "1.0.217", optional = true, features = ["derive"] } |
34 | | -serde_json = { version = "1.0.137", optional = true } |
| 30 | +reqwest = { version = "0.12.15", features = [ |
| 31 | + "json", |
| 32 | + "zstd", |
| 33 | + "rustls-tls-webpki-roots", |
| 34 | + "charset", |
| 35 | + "http2", |
| 36 | + "macos-system-configuration", |
| 37 | + "multipart", |
| 38 | +], optional = true, default-features = false } |
| 39 | +serde = { version = "1.0.219", optional = true, features = ["derive"] } |
| 40 | +serde_json = { version = "1.0.140", optional = true } |
35 | 41 | spki = { version = "0.7.3", features = ["pem"] } |
36 | | -thiserror = "2.0.11" |
| 42 | +thiserror = "2.0.12" |
37 | 43 | x509-cert = "0.2.5" |
38 | | -log = "0.4.25" |
39 | | -url = { version = "2.5.4", optional = true } |
40 | | -http = { version = "1.2.0", optional = true } |
| 44 | +log = "0.4.27" |
| 45 | +url = { version = "2.5.4" } |
| 46 | +http = { version = "1.3.1", optional = true } |
41 | 47 | serde_with = { version = "3.12.0", optional = true } |
| 48 | +hex = "0.4.3" |
| 49 | +tokio = { version = "1.44.1", features = ["macros", "sync", "time", "rt"] } |
| 50 | +webpki-roots = "0.26.8" |
| 51 | +futures-util = "0.3.31" |
| 52 | +urlencoding = "2.1.3" |
| 53 | +ws_stream_wasm = { version = "*", optional = true } |
| 54 | + |
| 55 | +[target.'cfg(target_arch = "wasm32")'.dependencies] |
| 56 | +wasm-bindgen = { version = "0.2.100", optional = true } |
| 57 | +js-sys = { version = "0.3.77", optional = true } |
| 58 | +wee_alloc = { version = "0.4.5", optional = true } |
| 59 | + |
| 60 | +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] |
| 61 | +rustls = "0.23.25" |
| 62 | +tokio-tungstenite = { version = "0.26.2", features = [ |
| 63 | + "rustls-tls-webpki-roots", |
| 64 | + "url", |
| 65 | +] } |
42 | 66 |
|
43 | 67 | [dev-dependencies] |
44 | 68 | ed25519-dalek = { version = "2.1.1", features = ["rand_core", "signature"] } |
45 | | -env_logger = "0.11.6" |
46 | | -httptest = "0.16.1" |
47 | 69 | rand = "0.8.5" |
48 | | -tokio = { version = "1.43.0", features = ["full"] } |
49 | | -serde = { version = "1.0.217", features = ["derive"] } |
50 | | -serde_json = { version = "1.0.137" } |
| 70 | +serde = { version = "1.0.219", features = ["derive"] } |
| 71 | +serde_json = { version = "1.0.140" } |
51 | 72 | serde_test = "1.0.177" |
52 | 73 | polyproto = { path = "./", features = ["types", "reqwest", "serde"] } |
| 74 | +env_logger = "0.11.7" |
| 75 | + |
| 76 | +[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] |
| 77 | +ws-mock = "0.3.0" |
| 78 | +httptest = "0.16.3" |
| 79 | + |
53 | 80 |
|
54 | 81 | [target.'cfg(target_arch = "wasm32")'.dev-dependencies] |
55 | 82 | wasm-bindgen-test = "0.3.50" |
56 | | -wasm-bindgen = "0.2.100" |
| 83 | +# The `console_error_panic_hook` crate provides better debugging of panics by |
| 84 | +# logging them with `console.error`. This is great for development, but requires |
| 85 | +# all the `std::fmt` and `std::panicking` infrastructure, so isn't great for |
| 86 | +# code size when deploying. |
| 87 | +console_error_panic_hook = { version = "0.1.7" } |
| 88 | + |
| 89 | +[target.'cfg(target_arch = "wasm32")'.release] |
| 90 | +# Tell `rustc` to optimize for small code size. |
| 91 | +opt-level = "s" |
| 92 | +lto = true |
| 93 | +codegen-units = 1 |
| 94 | +panic = "abort" |
57 | 95 |
|
58 | 96 | [lints.rust] |
59 | 97 | unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] } |
0 commit comments