# Cargo toml example
[package]
name = "example-component"
version = "0.1.0"
edition = "2021"
license = "MPL-2.0"

# Dependency tips:
#   * Try to match the version number from an existing component
#   * Be careful when adding new dependencies, since they will require an audit when vendoring the
#      code into moz-central.
[dependencies]
# UniFFI is a dependency for any shared Rust component, make the version match what the other
# components are using.
uniffi = { version = "0.29.0" }
# app-services support crates that you probably want to use.
error-support = { path = "../support/error" }
interrupt-support = { path = "../support/interrupt" }
sql-support = { path = "../support/sql" }
# parking_lot is for Mutex and other synchronization primitives.
parking_lot = "0.12"
# Rust bindings for SQLite
rusqlite = { version = "0.33.0", features = ["bundled"] }
# viaduct is our HTTP client, you'll probably also want serde + serde_json to handle
# serialization/deserialization and url to generate request URLs.
viaduct = { path = "../viaduct" }
serde = { version = "1", features=["derive"] }
serde_json = "1"
url = "2"
# Useful Rust crates
thiserror = "1.0"

[dev-dependencies]
