-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
43 lines (39 loc) · 1.92 KB
/
Copy pathCargo.toml
File metadata and controls
43 lines (39 loc) · 1.92 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
[workspace]
resolver = "2"
members = ["crates/evtx-worker", "crates/evtx-wasm"]
# evtx-wasm only makes sense for wasm32-unknown-emscripten (it is a staticlib
# whose ring ops are supplied by emcc's --js-library), so keep it out of the
# default set: bare `cargo build` / `test` / `clippy` stay native-only and
# unchanged. Build it explicitly with `wasm/build.sh` or `-p evtx-wasm`.
default-members = ["crates/evtx-worker"]
[workspace.package]
version = "0.1.1"
edition = "2021"
rust-version = "1.97"
license = "MIT"
authors = ["Query Farm LLC <hello@query.farm>"]
repository = "https://github.com/Query-farm/vgi-evtx"
[workspace.dependencies]
# VGI Rust SDK (worker side). 0.24 provides the wasm `vgi::wasm_worker!` macro
# used by evtx-wasm; requires rustc 1.97 (see rust-version above). Base
# (feature-less) so each target can opt in: the native build takes the SDK's
# real defaults (`sqlite` + `transport-http`) while the wasm build must NOT —
# tokio/mio/axum and bundled SQLite do not compile for wasm32, and the browser
# transport serves over a byte channel rather than HTTP. Features are additive
# and the two are behind mutually-exclusive target cfgs.
vgi = { version = "0.24", default-features = false }
vgi-rpc = { version = "0.16", default-features = false, features = ["macros"] }
arrow-array = "59"
arrow-buffer = "59"
arrow-schema = "59"
# Windows Event Log (.evtx) parser — pure Rust, dual MIT/Apache-2.0
# (omerbenamram/evtx). evtx 0.12.2 is edition 2024 / uses let-chains and needs
# rustc >= 1.87/1.88; the workspace MSRV of 1.90 (raised in lockstep with vgi
# 0.6.0) covers that. `default-features = false` drops the optional `simplelog`
# logging feature — we only need the parser. The JSON output is consumed via
# serde_json. Note: 0.12 switched its record timestamp from chrono to
# jiff::Timestamp (use `.as_microsecond()`).
evtx = { version = "0.12.2", default-features = false }
serde_json = "1"
[profile.release]
opt-level = 2